/*
 * Voordeelacties publieke UI — canonieke stylesheet.
 * Eén runtime-bron, zonder aparte legacy-, responsive-, width- of fix-lagen.
 * Breakpoints en componentstijlen staan direct bij hun definitieve regels.
 */
:root {
  --color-primary: #087b9b;
  --color-primary-dark: #315260;
  --color-accent: #9ac63d;
  --color-accent-hover: #7da72f;
  --color-accent-soft: #f3f8e9;
  --color-accent-soft-2: #e5f0cb;
  --color-text: #344651;
  --color-text-muted: #6f7f87;
  --color-background: #ffffff;
  --color-background-soft: #f4f7f8;
  --color-background-warm: #f3f8e9;
  --color-border: #dce6e9;
  --color-success: #6f9f2d;
  --color-warning: #f2a31a;
  --color-danger: #d83232;
  --color-exclusive: #6d3bd6;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --shadow-card: 0 1px 2px rgba(23, 23, 23, 0.05), 0 6px 20px rgba(23, 23, 23, 0.05);
  --shadow-modal: 0 24px 60px rgba(23, 23, 23, 0.25);
  --kp-band: linear-gradient(105deg, var(--color-primary-dark) 0%, var(--color-primary) 55%, #57b2e6 100%);
  --kp-ink-band: #123145;
  --radius-card: 18px;
  --radius-lg: 26px;
  --radius-button: 12px;
  --font-sans: ui-rounded, "Avenir Next", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --va-wordmark-red: #e20b17;
  --va-container: var(--va-site-width);
  --container: var(--va-site-width);
  --va-section-gap: clamp(28px, 4vw, 48px);
  --va-content-width: 940px;
  --va-card-radius: 20px;
  --va-gutter: var(--va-page-gutter);
  --va-section-y: clamp(30px, 4.5vw, 54px);
  --va-blue: #087b9b;
  --va-blue-dark: #315260;
  --va-blue-soft: #edf6f8;
  --va-green: #9ac63d;
  --va-green-dark: #7da72f;
  --va-green-soft: #f3f8e9;
  --va-ink: #344651;
  --va-muted: #70828b;
  --va-line: #dbe6e9;
  --va-page: #f6f8f9;
  --va-surface: #fff;
  --va-radius: 18px;
  --va-radius-lg: 24px;
  --va-shadow: 0 8px 28px rgba(49, 82, 96, .06);
  --va-shadow-hover: 0 14px 34px rgba(49, 82, 96, .10);
  --va-action: #087b9b;
  --va-action-hover: #066982;
  --va-deal: #52751b;
  --va-deal-hover: #466416;
  --va-focus: #0b5f78;
  --va-readable: 72ch;
  --va-site-width: 1240px;
  --va-page-gutter: 28px;
  --va-shell-width: min(calc(100% - (2 * var(--va-page-gutter))), var(--va-site-width));
  --va-layout-width: var(--va-shell-width);
}/* Layout foundation: één breedtebron voor alle publieke pagina's. */
*, *::before, *::after {
  box-sizing: border-box;
}
html, body {
  width: 100%;
}
body {
  max-width: 100%;
}
.kp-container,
.kp-promobar__inner,
.kp-disclosurebar__inner,
.kp-mobilemenu__inner,
.kp-businesssubmit,
.kp-formwrap,
.kp-footerstack .kp-newsletter__inner,
.kp-footerstack .kp-footer > .kp-container {
  width: var(--va-shell-width);
  max-width: var(--va-site-width);
  min-width: 0;
  margin-inline: auto;
  padding-inline: 0;
}
.kp-container .kp-container,
.kp-container .kp-businesssubmit,
.kp-container .kp-formwrap {
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
  padding-inline: 0;
}
.kp-main :where(section, article, aside, header, footer, nav, div), .kp-supermarkets-page, .kp-offerlisting, .kp-deals, .kp-azdirectory, .kp-azgroups, .kp-shopsdirectory, .kp-shopslist, .kp-contentlayout, .kp-companyshell, .kp-comparepage, .kp-productgrid, .kp-merchantgrid, .kp-salespage, .kp-salesrequest, .kp-packagegrid, .kp-servicegrid, .kp-usps, .kp-legal-layout, .kp-footer__columns, .kp-footer__bottom, .kp-newsletter__inner, .kp-paid-slot__inner {
  min-width: 0;
}
.kp-main :where(img, svg, video, iframe, canvas, table, form, input, select, textarea) {
  max-width: 100%;
}
.kp-supermarkets-page > :where(.kp-supermarkets-directory, .kp-supermarkets-latest),
.kp-supermarkets-directory,
.kp-supermarkets-latest,
.kp-supermarket-list,
.kp-supermarket-offers,
.kp-supermarkets-sectionhead,
.kp-supermarket-offer {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-inline: 0;
}
@media (max-width: 1023px) {
  :root { --va-page-gutter: 20px; }
}
@media (max-width: 767px) {
  :root { --va-page-gutter: 16px; }
}
@media (max-width: 380px) {
  :root { --va-page-gutter: 14px; }
}
.kp-header-sticky .kp-band {
  position: sticky;
  top: 0;
  z-index: 60;
}

/* KortingPro design system — Pepper-desktop + Acties-mobiel. */

body {
	margin: 0;
	font-family: var(--font-sans);
	-webkit-font-smoothing: antialiased;
}

a {
	color: inherit;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

h1,
h2,
h3 {
	font-weight: 800;
	line-height: 1.15;
	margin: 0 0 var(--space-3);
}

:focus-visible {
	outline: 3px solid var(--color-accent);
	outline-offset: 2px;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

.kp-skip-link {
	position: absolute;
	left: -9999px;
}

.kp-skip-link:focus {
	left: var(--space-4);
	top: var(--space-4);
	z-index: 100;
	background: #fff;
	padding: var(--space-3);
	border-radius: var(--radius-card);
}

/* ---------- Promobar ---------- */

.kp-promobar {
	text-align: center;
	font-weight: 700;
	padding: var(--space-3) var(--space-4);
}

.kp-promobar a {
	color: inherit;
}

/* ---------- Header ---------- */

.kp-header {
	background: #fff;
	position: sticky;
	top: 0;
	z-index: 40;
}

.kp-header--desktop {
	display: none;
	border-bottom: 1px solid var(--color-border);
}

.kp-header__inner {
	display: flex;
	align-items: center;
	gap: var(--space-5);
	min-height: 76px;
}

.kp-brand {
	font-size: 26px;
	font-weight: 800;
	letter-spacing: -0.03em;
	white-space: nowrap;
}

.kp-brand:hover {
	text-decoration: none;
}

.kp-menupill {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	border: 2px solid var(--color-text);
	background: #fff;
	border-radius: var(--radius-button);
	padding: 10px 20px;
	font-weight: 800;
	font-size: 16px;
	cursor: pointer;
	font-family: inherit;
}

.kp-nav ul {
	display: flex;
	align-items: center;
	gap: var(--space-6);
	list-style: none;
	margin: 0;
	padding: 0;
}

.kp-nav a {
	font-weight: 700;
	font-size: 16px;
	padding: var(--space-2) 0;
	display: inline-block;
}

.kp-header__actions {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: var(--space-3);
}

.kp-search input {
	border: 1px solid var(--color-border);
	background: #fff;
	border-radius: var(--radius-button);
	padding: 12px 18px;
	min-width: 240px;
	font: inherit;
	box-shadow: var(--shadow-card);
}

.kp-subnav {
	display: none;
}

.kp-subnav__inner a {
	white-space: nowrap;
}

/* Mobiel (Acties-stijl: simpel, blauw) */

.kp-header--mobile {
	background: var(--color-primary);
	color: #fff;
}

.kp-header--mobile .kp-header__inner {
	min-height: 56px;
	gap: var(--space-3);
	justify-content: space-between;
}

.kp-header--mobile .kp-brand {
	font-size: 20px;
	color: #fff;
}

.kp-iconbutton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	border: 0;
	background: transparent;
	color: inherit;
	border-radius: 12px;
	cursor: pointer;
}

@media (min-width: 1024px) {
	.kp-header--mobile {
		display: none;
	}

	.kp-header--desktop,
	.kp-subnav {
		display: block;
	}
}

/* ---------- Drawer ---------- */

.kp-drawer__overlay {
	position: fixed;
	inset: 0;
}

.kp-drawer {
	position: fixed;
	overflow-y: auto;
}

.kp-drawer ul {
	list-style: none;
	margin: var(--space-5) 0 0;
	padding: 0;
	display: grid;
	gap: var(--space-1);
}

.kp-drawer a {
	display: block;
	padding: 14px var(--space-3);
	font-weight: 700;
	border-radius: 12px;
	min-height: 44px;
}

.kp-drawer a:hover {
	background: var(--color-background-soft);
	text-decoration: none;
}

/* ---------- Buttons ---------- */

.kp-button {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	font: inherit;
	cursor: pointer;
}

.kp-button--block {
	width: 100%;
}

.kp-button--code {
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	letter-spacing: 0.08em;
	font-size: 17px;
	min-width: 200px;
}

/* ---------- Sections ---------- */

.kp-section {
	padding: var(--space-7) 0;
}

.kp-section__title {
	font-size: clamp(28px, 4vw, 44px);
}

.kp-section__subtitle {
	color: var(--color-text-muted);
	font-size: 17px;
	margin: 0 0 var(--space-6);
}

/* ---------- Hero (cream card, Pepper) ---------- */

.kp-hero {
	background: var(--color-accent-soft);
	border-radius: var(--radius-lg);
	padding: var(--space-6);
	margin: var(--space-6) 0;
}

.kp-hero__title {
	font-size: clamp(22px, 3vw, 34px);
	color: #3d2412;
	margin-bottom: var(--space-5);
}

.kp-hero__card {
	background: #fff;
	border-radius: var(--radius-card);
	padding: var(--space-6);
	display: grid;
	gap: var(--space-5);
	align-items: center;
}

.kp-hero__media img {
	width: 100%;
	border-radius: var(--radius-card);
	object-fit: cover;
	aspect-ratio: 16 / 10;
}

.kp-hero__merchant {
	color: var(--color-text-muted);
	font-weight: 600;
	margin: 0 0 var(--space-2);
}

.kp-hero__deal {
	font-size: clamp(26px, 3vw, 36px);
	margin-bottom: var(--space-3);
}

.kp-hero__text {
	color: var(--color-text-muted);
	margin: 0 0 var(--space-6);
}

.kp-hero__search {
	display: flex;
	gap: var(--space-3);
	max-width: 620px;
	margin: var(--space-5) 0;
}

.kp-hero__search input {
	flex: 1;
	min-width: 0;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-button);
	padding: 14px 20px;
	font: inherit;
	background: #fff;
}

@media (min-width: 900px) {
	.kp-hero {
		padding: var(--space-7);
	}

	.kp-hero__card {
		grid-template-columns: 1fr 1.1fr;
		gap: var(--space-7);
	}
}

/* ---------- Grids & deal cards ---------- */

.kp-grid {
	display: grid;
	gap: var(--space-5);
	grid-template-columns: 1fr;
}

@media (min-width: 640px) {
	.kp-grid--coupons,
	.kp-grid--merchants {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1100px) {
	.kp-grid--coupons {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.kp-grid--merchants {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}
}

.kp-card {
	border: 1px solid var(--color-border);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: box-shadow 0.18s ease, transform 0.18s ease;
}

.kp-card:hover {
	transform: translateY(-2px);
}

.kp-card__media {
	display: block;
	background: var(--color-background-soft);
}

.kp-card__media img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	display: block;
}

.kp-card__body {
	display: flex;
	gap: var(--space-4);
	padding: var(--space-4);
}

.kp-card__title {
	font-size: 17px;
	font-weight: 800;
	margin: 0;
}

.kp-card__merchant {
	font-size: 14px;
	color: var(--color-text-muted);
	margin: 0 0 var(--space-1);
}

.kp-card__footer {
	margin-top: auto;
	padding: 0 var(--space-4) var(--space-4);
}

.kp-logo {
	width: 56px;
	height: 56px;
	flex: 0 0 56px;
	object-fit: contain;
	background: #fff;
	border: 1px solid var(--color-border);
	border-radius: 12px;
	padding: 6px;
}

.kp-logo--placeholder {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	color: var(--color-text-muted);
	text-transform: uppercase;
}

/* ---------- Coupon list rows (merchant page) ---------- */

.kp-couponlist {
	display: grid;
	gap: var(--space-4);
}

.kp-couponlist--best {
	background: var(--color-accent-soft);
	border-radius: var(--radius-lg);
	padding: var(--space-4);
}

.kp-couponlist__label {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	font-weight: 800;
	padding: var(--space-2) 0 var(--space-4);
}

.kp-coupon {
	background: #fff;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-card);
	padding: var(--space-5);
	display: grid;
	gap: var(--space-4);
	grid-template-columns: 1fr;
	align-items: center;
}

.kp-coupon__value {
	font-size: 26px;
	font-weight: 800;
	line-height: 1.1;
	text-align: center;
}

.kp-coupon__meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-4);
	font-size: 14px;
	color: var(--color-text-muted);
	margin-bottom: var(--space-2);
}

.kp-coupon__title {
	font-size: 19px;
	font-weight: 800;
	margin: 0 0 var(--space-3);
}

.kp-coupon__expiry {
	font-size: 13px;
	color: var(--color-text-muted);
	text-align: center;
	margin: var(--space-2) 0 0;
}

@media (min-width: 820px) {
	.kp-coupon {
		grid-template-columns: 140px 1fr 260px;
		gap: var(--space-5);
	}
}

.kp-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 6px 12px;
	border-radius: var(--radius-button);
	background: var(--color-background-soft);
	color: var(--color-text-muted);
}

.kp-badge--code {
	background: var(--color-accent-soft-2);
	color: var(--color-accent-hover);
}

/* ---------- Modal (Toon code) ---------- */

.kp-modal[hidden] {
	display: none;
}

.kp-modal {
	position: fixed;
	inset: 0;
	z-index: 80;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--space-4);
	background: rgba(23, 23, 23, 0.55);
}

.kp-modal__dialog {
	position: relative;
	border-radius: var(--radius-lg);
}

.kp-modal__inner {
	background: var(--color-accent-soft);
	border-radius: var(--radius-card);
	padding: var(--space-7) var(--space-5);
	text-align: center;
}

.kp-modal__tag {
	position: absolute;
	top: var(--space-4);
	left: var(--space-5);
}

.kp-modal__close {
	position: absolute;
	top: var(--space-3);
	right: var(--space-3);
	min-width: 44px;
	min-height: 44px;
	border: 0;
	background: transparent;
	color: var(--color-accent);
	line-height: 1;
	cursor: pointer;
	border-radius: 50%;
}

.kp-modal__logo {
	display: grid;
	place-items: center;
	padding: 10px;
}

.kp-modal__logo img {
	max-height: 100%;
	object-fit: contain;
}

.kp-modal__title {
	margin-bottom: var(--space-6);
}

.kp-codebox {
	display: inline-flex;
	align-items: center;
	gap: var(--space-3);
	border: 2px dashed #c8a887;
	border-radius: var(--radius-button);
	background: #fff;
	padding: 6px 6px 6px var(--space-6);
	max-width: 100%;
}

.kp-codebox__code {
	font-weight: 800;
}

.kp-modal__hint {
	margin: var(--space-4) 0 0;
	color: var(--color-text-muted);
}

.kp-modal__hint a {
	color: var(--color-accent-hover);
	text-decoration: underline;
}

.kp-modal__terms {
	margin-top: var(--space-5);
	text-align: left;
	font-size: 15px;
}

.kp-modal__terms summary {
	cursor: pointer;
	font-weight: 700;
}

/* ---------- Prose / entry ---------- */

.kp-prose h2 {
	font-size: 24px;
	margin-top: var(--space-6);
}

.kp-sidebar-card {
	background: #fff;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-card);
	padding: var(--space-5);
	margin-bottom: var(--space-5);
}

.kp-layout--merchant {
	display: grid;
	gap: var(--space-6);
	grid-template-columns: 1fr;
	padding: var(--space-6) 0 var(--space-8);
}

@media (min-width: 1024px) {
	.kp-layout--merchant {
		grid-template-columns: 360px 1fr;
	}
}

.kp-disclosure {
	font-size: 14px;
	color: var(--color-text-muted);
}

/* ---------- Footer ---------- */

.kp-footer {
	margin-top: var(--space-8);
	padding: var(--space-7) 0 var(--space-6);
}

.kp-footer h2 {
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.kp-footer ul {
	font-weight: 600;
}

.kp-footer__bottom {
	margin-top: var(--space-6);
	padding-top: var(--space-5);
}

/* ---------- Toast ---------- */

.kp-toast {
	position: fixed;
	left: 50%;
	bottom: 24px;
	transform: translateX(-50%);
	color: #fff;
	padding: 12px 20px;
	border-radius: var(--radius-button);
	font-weight: 700;
	z-index: 90;
}

/* --- Blauwe zoekbalk-band (Acties) --- */

.kp-band__inner {
	flex-wrap: wrap;
}

.kp-band .kp-brand {
	font-size: 30px;
	font-weight: 800;
	letter-spacing: -0.03em;
	text-decoration: none;
	flex: 0 0 auto;
}

.kp-bandsearch {
	flex: 1 1 420px;
}

.kp-bandsearch button {
	inset-inline-end: 6px;
	inset-block: 6px;
}

.kp-band__cta {
	flex: 0 0 auto;
}

/* --- Donkere subnav (Acties) --- */
.kp-subnav {
	border: 0;
}

.kp-subnav__inner {
	font-weight: 700;
	font-size: 15px;
}

.kp-subnav a:hover {
	opacity: 1;
}

.kp-disclosurebar a {
	text-decoration: underline;
}

/* --- Hero (Pepper-ruimte, eigen mix) --- */

.kp-herowrap p.kp-lead {
	font-size: clamp(16px, 1.5vw, 20px);
	margin: 0 0 var(--space-6);
	max-width: 60ch;
}

/* --- Chips --- */
.kp-chips {
	display: flex;
	gap: var(--space-3);
	flex-wrap: wrap;
	margin-bottom: var(--space-6);
}

.kp-chip {
	border: 1.5px solid var(--color-border);
	border-radius: var(--radius-button);
	padding: 10px 20px;
	font-weight: 700;
	font-size: 15px;
	background: #fff;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
}

.kp-chip:hover,
.kp-chip.is-active {
	text-decoration: none;
}

/* --- Merkenstrip / merkengrid --- */
.kp-brandstrip {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: var(--space-4);
}

.kp-brandtile {
	display: flex;
	align-items: center;
	gap: var(--space-4);
	padding: 8px;
	border-radius: 12px;
}

.kp-brandtile:hover {
	text-decoration: none;
}

.kp-brandtile__logo {
	width: 76px;
	height: 76px;
	flex: 0 0 76px;
	border: 1px solid var(--color-border);
	border-radius: 10px;
	display: grid;
	place-items: center;
	overflow: hidden;
	font-weight: 800;
	color: var(--color-text-muted);
}

.kp-brandtile__logo img {
	max-width: 82%;
	max-height: 82%;
	object-fit: contain;
}

.kp-brandtile__name {
	color: var(--color-text-muted);
	font-size: 15px;
}

.kp-brandtile__value {
	font-weight: 800;
	font-size: 18px;
}

.kp-brandpills {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
}

.kp-brandpill {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 18px 10px 10px;
	background: #fff;
	border: 1px solid var(--color-border);
	border-radius: 12px;
	font-weight: 600;
}

.kp-brandpill img {
	width: 34px;
	height: 34px;
	object-fit: contain;
}

.kp-brandpill:hover {
	text-decoration: none;
}

/* --- Carousel favorieten --- */
.kp-carousel {
	position: relative;
}

.kp-carousel__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(240px, 1fr);
	gap: var(--space-5);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding-bottom: var(--space-3);
}

.kp-carousel__track::-webkit-scrollbar {
	display: none;
}

.kp-carousel__track > * {
	scroll-snap-align: start;
}

.kp-carousel__nav {
	position: absolute;
	top: 40%;
	width: 52px;
	height: 52px;
	border-radius: 999px;
	border: 0;
	background: var(--color-accent);
	color: #fff;
	font-size: 22px;
	cursor: pointer;
	box-shadow: var(--shadow-card);
	display: none;
}

@media (min-width: 1100px) {
	.kp-carousel__nav {
		display: grid;
		place-items: center;
	}
}

.kp-carousel__nav--prev {
	inset-inline-start: -26px;
}

.kp-carousel__nav--next {
	inset-inline-end: -26px;
}

/* --- Deal-kaart (Acties-lijst × Pepper-ruimte) --- */

@media (min-width: 900px) {
}

.kp-deal {
	border: 1px solid var(--color-border);
	padding: var(--space-5);
	display: grid;
	grid-template-columns: 1fr 96px;
	gap: var(--space-4);
	align-items: start;
	transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.kp-deal:hover {
	transform: translateY(-2px);
}

.kp-deal__title {
	font-size: 19px;
	line-height: 1.3;
	margin: 0 0 8px;
}

.kp-deal__meta {
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--color-text-muted);
	font-weight: 700;
	margin: 0 0 var(--space-4);
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	align-items: center;
}

.kp-deal__meta .kp-exclusive {
	color: var(--color-accent);
}

.kp-deal__logo {
	grid-row: span 3;
	width: 96px;
	height: 96px;
	border: 1px solid var(--color-border);
	background: #fff;
	display: grid;
	place-items: center;
	overflow: hidden;
	font-weight: 800;
	color: var(--color-text-muted);
}

.kp-deal__logo img {
	max-width: 80%;
	max-height: 80%;
	object-fit: contain;
}

.kp-deal__actions {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	gap: var(--space-4);
	flex-wrap: wrap;
}

/* Ticket-knop met peel-hoek en code-teaser */
.kp-ticket {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 48px;
	padding: 0 62px 0 26px;
	border: 0;
	font: inherit;
	font-weight: 800;
	cursor: pointer;
	overflow: hidden;
}

.kp-ticket:hover {
	text-decoration: none;
}

.kp-ticket__peek {
	position: absolute;
	inset-block: 0;
	inset-inline-end: 0;
	width: 60px;
	display: grid;
	place-items: center;
	font-size: 13px;
	letter-spacing: 0.08em;
	border: 2px dashed var(--color-accent);
	border-radius: 0 6px 6px 0;
}

.kp-ticket--deal {
	padding: 0 26px;
}

.kp-verified {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	color: var(--color-text-muted);
	font-weight: 600;
}

.kp-vote {
	margin-inline-start: auto;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: transparent;
	border: 0;
	font: inherit;
	font-weight: 700;
	color: var(--color-text-muted);
	cursor: pointer;
	min-height: 44px;
}

/* --- USP-rij --- */
.kp-usps {
	display: grid;
	gap: var(--space-6);
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	text-align: center;
}

.kp-usp__icon {
	width: 64px;
	height: 64px;
	margin: 0 auto var(--space-4);
	border-radius: 999px;
	background: var(--color-accent);
	color: #fff;
	display: grid;
	place-items: center;
	font-size: 26px;
}

.kp-usp h3 {
	font-size: 18px;
}

.kp-usp p {
	color: var(--color-text-muted);
	margin: 0;
}

/* --- Modal-mix --- */
.kp-modal__actions {
	display: flex;
	gap: var(--space-3);
	flex-wrap: wrap;
}

.kp-button--blue {
	color: #fff;
}

@media (max-width: 899px) {

	.kp-band .kp-brand {
		font-size: 24px;
	}

	.kp-deal {
		grid-template-columns: 1fr 72px;
		padding: var(--space-4);
	}

	.kp-deal__logo {
		width: 72px;
		height: 72px;
	}
}

/* ============================================================
   Commerce header + platformpagina’s
   ============================================================ */

/* De standaardheader is bewust licht. De Customizer kan optioneel terug naar blauw. */

.kp-band .custom-logo {
	display: block;
}

.kp-band__cta {
	align-items: center;
	gap: var(--space-3);
}

.kp-headerlink {
	font-size: 14px;
	font-weight: 800;
	white-space: nowrap;
}

.kp-subnav {
	color: var(--color-text);
}

.kp-subnav__inner {
	padding: 11px var(--space-5);
}

.kp-subnav a {
	opacity: 1;
}

.kp-heroactions {
	display: flex;
	gap: var(--space-3);
	flex-wrap: wrap;
	margin: 0 0 var(--space-6);
}

.kp-servicegrid > a {
	column-gap: var(--space-3);
}

.kp-serviceicon {
	display: grid;
	place-items: center;
	font-size: 20px;
	font-weight: 800;
}

.kp-servicegrid strong {
	font-size: 15px;
}

.kp-servicegrid small {
	color: var(--color-text-muted);
}

/* Landing page heroes */

.kp-eyebrow {
	display: inline-flex;
	align-items: center;
	text-transform: uppercase;
}

.kp-filterbar {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: var(--space-6);
}

.kp-integration-note {
	padding: var(--space-5);
}

.kp-integration-note {
	margin-bottom: var(--space-6);
	border-color: #f5d2b7;
}

.kp-integration-note--ok {
	background: #f2fbf6;
	border-color: #bfe4ce;
}

/* Store profiles */

.kp-merchantcard {
	transition: .15s ease;
}

.kp-merchantcard:hover {
	text-decoration: none;
}

.kp-merchantcard__logo {
	flex: 0 0 68px;
}

.kp-merchantcard h2 {
	font-size: 17px;
	margin-bottom: 4px;
}

.kp-merchantcard span {
	font-size: 13px;
	color: var(--color-text-muted);
}

.kp-storehero__inner {
	display: grid;
	grid-template-columns: 120px 1fr auto;
	align-items: center;
	gap: var(--space-6);
}

.kp-storehero__logo,
.kp-storehero__logo .kp-logo {
	width: 120px;
	height: 120px;
}

.kp-storehero__logo .kp-logo {
	border-radius: 22px;
}

/* Profiles */
.kp-profilegrid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: var(--space-5);
}

.kp-profilecard {
	display: flex;
	gap: var(--space-5);
	padding: var(--space-5);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-card);
}

.kp-profilecard__avatar img,
.kp-authorhero > img {
	border-radius: 999px;
}

.kp-profilecard h2 {
	font-size: 20px;
}

.kp-profilecard p {
	color: var(--color-text-muted);
}

.kp-authorhero {
	display: flex;
	align-items: center;
	gap: var(--space-6);
}

.kp-textlink {
	font-weight: 800;
}

/* Price comparison cards */

.kp-comparecard {
	overflow: hidden;
}

.kp-comparecard img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	display: block;
}

.kp-comparecard__body {
	padding: var(--space-5);
}

.kp-comparecard__body h3 {
	font-size: 19px;
}

.kp-comparecard__body p {
	color: var(--color-text-muted);
}

.kp-pricebox {
	margin-top: var(--space-7);
	padding: var(--space-6);
	border: 1px solid var(--color-border);
}

.kp-ce-search {
	margin-top: var(--space-5);
}

/* Front-end submit form */

.kp-submitform {
	display: grid;
	gap: var(--space-5);
}

.kp-submitform label {
	display: grid;
	gap: 8px;
	font-weight: 800;
}

.kp-submitform input,
.kp-submitform textarea {
	width: 100%;
	border: 1px solid var(--color-border);
	padding: 13px 14px;
	font: inherit;
	font-weight: 500;
	background: #fff;
}

.kp-formgrid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-4);
}

.kp-expiry {
	font-size: 13px;
	color: var(--color-text-muted);
}

/* WordPress pagination */
.page-numbers {
	margin-top: var(--space-6);
}

ul.page-numbers a,
ul.page-numbers span {
	display: grid;
	place-items: center;
	min-width: 42px;
	height: 42px;
	border: 1px solid var(--color-border);
	border-radius: 10px;
}

ul.page-numbers .current {
	background: var(--color-text);
	color: #fff;
}

@media (max-width: 1023px) {

	.kp-band__inner {
		flex-wrap: wrap;
	}

	.kp-bandsearch {
		flex-basis: 100%;
	}

	.kp-headerlink {
		display: none;
	}
}

@media (max-width: 680px) {

	.kp-storehero__inner {
		grid-template-columns: 82px 1fr;
		gap: var(--space-4);
	}

	.kp-storehero__logo,
	.kp-storehero__logo .kp-logo {
		width: 82px;
		height: 82px;
	}

	.kp-storehero__inner > .kp-button {
		grid-column: 1 / -1;
	}

	.kp-profilecard,
	.kp-authorhero {
		align-items: flex-start;
		flex-direction: column;
	}
}

.kp-offerhero {
	display: grid;
	grid-template-columns: 120px 1fr auto;
	gap: var(--space-6);
	align-items: start;
	padding: var(--space-6);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	background: #fff;
}
.kp-offerhero__logo .kp-logo { width:120px; height:120px; border-radius:20px; }
.kp-offerhero__action { align-self:center; }
@media (min-width:1024px){}
@media (max-width:760px){.kp-offerhero{grid-template-columns:80px 1fr}.kp-offerhero__logo .kp-logo{width:80px;height:80px}.kp-offerhero__action{grid-column:1/-1}}

.kp-companyhero {
	padding: 34px 0 28px;
}

.kp-companyhero__inner {
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr) auto;
	align-items: center;
	gap: 26px;
}

.kp-companyhero__logo,
.kp-companyhero__logo .kp-logo {
	width: 112px;
	height: 112px;
}

.kp-companyhero__logo .kp-logo {
	border-radius: 18px;
	padding: 10px;
	box-shadow: 0 5px 20px rgba(23, 23, 23, .06);
}

.kp-companyhero__titleline {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.kp-companyhero__titleline h1 {
	font-size: clamp(30px, 4vw, 48px);
	margin: 0;
}

.kp-companyverified {
	display: inline-grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 999px;
	color: #fff;
	font-size: 16px;
	font-weight: 900;
}

.kp-companyverified--small {
	width: 18px;
	height: 18px;
	font-size: 11px;
	vertical-align: 2px;
}

.kp-companyhero__copy > p {
	max-width: 760px;
	margin: 8px 0 11px;
	color: var(--color-text-muted);
	font-size: 16px;
}

.kp-companyhero__facts {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	font-size: 14px;
}

.kp-companyhero__actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

.kp-favorite {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 44px;
	padding: 10px 16px;
	border: 1px solid var(--color-border);
	background: #fff;
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}

.kp-profiletabs {
	position: sticky;
	top: 0;
	z-index: 25;
	background: rgba(255,255,255,.97);
	border-bottom: 1px solid var(--color-border);
	backdrop-filter: blur(10px);
}

.admin-bar .kp-profiletabs { top: 32px; }

.kp-profiletabs__inner {
	display: flex;
	gap: 26px;
	overflow-x: auto;
	scrollbar-width: none;
}

.kp-profiletabs__inner::-webkit-scrollbar { display: none; }

.kp-profiletabs a {
	position: relative;
	padding: 18px 0 15px;
	font-weight: 800;
	white-space: nowrap;
	color: #4c4c4c;
}

.kp-profiletabs a:hover { text-decoration: none; color: var(--color-text); }
.kp-profiletabs a.is-active::after,
.kp-profiletabs a:hover::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 3px;
	border-radius: 3px 3px 0 0;
}
.kp-profiletabs a span {
	display: inline-grid;
	place-items: center;
	min-width: 23px;
	height: 23px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--color-background-soft);
	font-size: 12px;
}

.kp-companylayout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 42px;
	align-items: start;
	padding-top: 42px;
	padding-bottom: 52px;
}

.kp-companysection {
	scroll-margin-top: 86px;
}

.kp-companysection__head {
	display: flex;
	justify-content: space-between;
	gap: 18px;
}

.kp-companyabout > h2, .kp-companysection#faq > h2 {
	font-size: clamp(24px, 3vw, 34px);
}

.kp-companysection__head h2, .kp-companyabout > h2, .kp-companysection#faq > h2 {
	margin-bottom: 0;
}

.kp-sectioncount {
	display: grid;
	place-items: center;
	border-radius: 999px;
	background: var(--color-background-soft);
	font-weight: 900;
	color: var(--color-text-muted);
}

.kp-profileoffers {
	display: grid;
}

.kp-profileoffer {
	display: grid;
	align-items: center;
}

.kp-profileoffer__value {
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	border-radius: 12px;
}

.kp-profileoffer__value strong {
	word-break: break-word;
}

.kp-profileoffer__value span {
	margin-top: 7px;
	font-weight: 900;
	color: var(--color-text-muted);
}

.kp-profileoffer__content h3 {
	margin: 0 0 8px;
}

.kp-profileoffer__content p {
	margin: 0 0 9px;
	color: var(--color-text-muted);
}

.kp-profileoffer__meta {
	display: flex;
	flex-wrap: wrap;
	color: var(--color-text-muted);
}

.kp-profileoffer__meta a { text-decoration: underline; }

.kp-revealcode {
	position: relative;
	width: 100%;
	padding: 0 58px 0 18px;
	border: 0;
	font: inherit;
	font-weight: 900;
	cursor: pointer;
	overflow: hidden;
}
.kp-revealcode em {
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	display: grid;
	place-items: center;
	font-style: normal;
	letter-spacing: .08em;
	border-radius: 0 8px 8px 0;
}

.kp-companyaside {
	position: sticky;
	top: 86px;
	display: grid;
	gap: 16px;
}
.admin-bar .kp-companyaside { top: 118px; }

.kp-companycard {
	padding: 22px;
	border: 1px solid var(--color-border);
	border-radius: 16px;
	background: #fff;
}

.kp-companycard h2 { font-size: 19px; }
.kp-companycard p { color: var(--color-text-muted); font-size: 14px; }
.kp-companycard ul { list-style: none; padding: 0; margin: 0 0 18px; display: grid; gap: 9px; font-size: 14px; }

.kp-companyabout {
	padding-top: 6px;
}

.kp-companyfacts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 12px;
	margin-top: 24px;
}

.kp-companyfacts > div {
	padding: 15px 16px;
	border: 1px solid var(--color-border);
	border-radius: 12px;
}

.kp-companyfacts span {
	display: block;
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--color-text-muted);
	margin-bottom: 3px;
}

.kp-faq { display: grid; gap: 10px; margin-top: 18px; }
.kp-faq details { border: 1px solid var(--color-border); background: #fff; padding: 0 18px; }
.kp-faq summary { cursor: pointer; padding: 16px 28px 16px 0; font-weight: 800; }
.kp-faq p { color: var(--color-text-muted); margin: 0 0 17px; }

.kp-relatedcompanies {
	display: grid;
	grid-template-columns: repeat(6, minmax(0,1fr));
	gap: 14px;
	margin-top: 22px;
}

.kp-relatedcompanies > a {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 8px;
	padding: 16px 10px;
	border: 1px solid var(--color-border);
	border-radius: 14px;
	background: #fff;
}
.kp-relatedcompanies > a:hover { text-decoration: none; box-shadow: var(--shadow-card); }
.kp-relatedcompanies strong { font-size: 14px; }
.kp-relatedcompanies small { color: var(--color-text-muted); font-size: 11px; }

/* Voor bedrijven */
.kp-businessmodel { display: grid; gap: 8px; padding: 28px; }
.kp-businessmodel strong { font-size: 20px; }
.kp-businessmodel span { font-size: 17px; font-weight: 700; }
.kp-businessmodel small { color: var(--color-text-muted); }
.kp-submitform select { width: 100%; border: 1px solid var(--color-border); padding: 13px 14px; font: inherit; background: #fff; }
.kp-submitform h2 { font-size: 21px; margin: 6px 0 -4px; }
.kp-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
.kp-featuredchoice { grid-template-columns: 22px 1fr !important; align-items: start; padding: 18px; border: 1px solid #f0c5a7; border-radius: 12px; }
.kp-featuredchoice input { width: auto; margin-top: 4px; }
.kp-featuredchoice span { display: grid; gap: 4px; }
.kp-featuredchoice small { font-weight: 500; color: var(--color-text-muted); }
.kp-businessconditions { display: grid; gap: 11px; padding-top: 6px; }
.kp-businessconditions label { grid-template-columns: 22px 1fr; align-items: start; font-weight: 500; font-size: 14px; color: #4e4e4e; }
.kp-businessconditions input { width: auto; margin-top: 3px; }
.kp-businesswhy { display: grid; gap: 14px; position: sticky; top: 90px; }
.kp-businesswhy > div { border: 1px solid var(--color-border); border-radius: 14px; padding: 20px; background: #fff; }
.kp-businesswhy > div > span { display: grid; place-items: center; width: 34px; height: 34px; margin-bottom: 10px; border-radius: 999px; font-weight: 900; }
.kp-businesswhy h3 { font-size: 17px; margin-bottom: 6px; }
.kp-businesswhy p { margin: 0; color: var(--color-text-muted); font-size: 14px; }
.kp-successbox { margin-bottom: 28px; padding: 24px; border: 1px solid #b8e2c8; border-radius: 16px; }

@media (max-width: 1050px) {
	.kp-companylayout { grid-template-columns: 1fr; }
	.kp-companyaside { position: static; grid-template-columns: 1fr 1fr; }
	.kp-relatedcompanies { grid-template-columns: repeat(3, minmax(0,1fr)); }
	.kp-businesswhy { position: static; grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 780px) {
	.admin-bar .kp-profiletabs { top: 46px; }
	.kp-companyhero__inner { grid-template-columns: 82px minmax(0,1fr); gap: 16px; }
	.kp-companyhero__logo, .kp-companyhero__logo .kp-logo { width: 82px; height: 82px; }
	.kp-companyhero__actions { grid-column: 1 / -1; }
	.kp-companyhero__actions .kp-button { flex: 1; }
	.kp-profiletabs__inner { gap: 20px; }
	.kp-companyaside { grid-template-columns: 1fr; }
	.kp-companyfacts { grid-template-columns: 1fr; }
	.kp-relatedcompanies { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.kp-businesswhy { grid-template-columns: 1fr; }
}

/* SEO/UX breadcrumbs */
.kp-breadcrumbs { border-bottom: 1px solid var(--color-border); background: #fff; }
.kp-breadcrumbs .kp-container { display:flex; gap:8px; align-items:center; font-size:12px; color:var(--color-text-muted); white-space:nowrap; overflow:hidden; }
.kp-breadcrumbs a { color:var(--color-text-muted); }
.kp-breadcrumbs [aria-current="page"] { overflow:hidden; text-overflow:ellipsis; }

h1, h2, h3, h4, .kp-brandword {
	letter-spacing: -.025em;
}

.kp-main { background: var(--va-page); }

/* Brand header */
.kp-band .custom-logo-link { display:flex; align-items:center; flex:0 0 auto; }
.kp-band .custom-logo { max-width: 238px; max-height: 52px; width:auto; height:auto; }
.kp-brand--lockup { display:inline-flex; align-items:center; gap:11px; color:var(--va-ink) !important; }
.kp-brandmark { display:inline-grid; place-items:center; width:48px; color:var(--va-blue); }
.kp-brandmark svg { display:block; width:48px; height:auto; }
.kp-brandword { font-size:25px; font-weight:800; color:var(--va-ink); }
.kp-bandsearch input[type="search"]:focus {
	box-shadow: 0 0 0 4px rgba(8,123,155,.11);
}
.kp-headerlink { color:var(--va-ink); }
.kp-headerlink:hover { color:var(--va-blue); text-decoration:none; }
.kp-subnav__inner { padding-top:0; padding-bottom:0; }
.kp-subnav .is-active, .kp-subnav .current-menu-item>a { color:var(--va-blue); }
.kp-subnav a:hover::after,.kp-subnav .is-active::after,.kp-subnav .current-menu-item>a::after {
	content:""; position:absolute; left:0; right:0; bottom:-1px; height:3px; border-radius:3px 3px 0 0; background:linear-gradient(90deg,var(--va-blue),var(--va-green));
}

.kp-promobar {
	background: linear-gradient(90deg,var(--va-blue-dark),var(--va-blue)) !important;
	color:#fff !important;
	font-size:14px;
}

/* Buttons */
.kp-ticket {
	border-radius:12px;
}
.kp-ticket, .kp-revealcode {
	box-shadow:none;
}
.kp-button, .kp-ticket, .kp-revealcode {
	transition: transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
}
.kp-button:hover, .kp-button--accent:hover {
	box-shadow:0 8px 20px rgba(125,167,47,.18);
}
.kp-button--accent:hover {
	transform:translateY(-1px);
	text-decoration:none;
}
.kp-button--blue { background:var(--va-blue); border-color:var(--va-blue); }
.kp-button--blue:hover { background:#066982; border-color:#066982; }
.kp-button--ghost {
	border:1px solid var(--va-line);
}

/* Home + page heroes */
.kp-herowrap {
	position:relative;
	overflow:hidden;
	background:linear-gradient(135deg,#fff 0%,var(--va-blue-soft) 56%,var(--va-green-soft) 100%);
	padding:clamp(52px,7vw,86px) 0 54px;
}
.kp-herowrap::after {
	content:"%";
	position:absolute;
	right:max(3vw,20px);
	top:22px;
	font-size:clamp(120px,18vw,250px);
	font-weight:900;
	line-height:1;
	color:rgba(8,123,155,.055);
	transform:rotate(-10deg);
	pointer-events:none;
}
.kp-herowrap h1 { color:var(--va-ink); }
.kp-herowrap h1 { max-width:17ch; font-size:clamp(38px,5vw,64px); }
.kp-herowrap p.kp-lead { color:var(--va-muted); }
.kp-pagehero--compare { background:linear-gradient(135deg,#fff 0%,var(--va-blue-soft) 70%,var(--va-green-soft) 100%); }
.kp-eyebrow { border-color:#cfe1e6; }

/* Service + category navigation */
.kp-servicegrid > a {
	border-color:var(--va-line);
}
.kp-servicegrid > a:hover { box-shadow:var(--va-shadow); transform:translateY(-2px); }
.kp-servicegrid > a:nth-child(2n) .kp-serviceicon { background:var(--va-green-soft); color:var(--va-green-dark); }
.kp-chip { border-color:var(--va-line); color:var(--va-ink); }
.kp-chip:hover,.kp-chip.is-active { border-color:var(--va-blue); background:var(--va-blue-soft); color:var(--va-blue-dark); }

/* Generic cards */
.kp-companycard, .kp-relatedcompanies>a, .kp-companyfacts>div {
	border-color:var(--va-line);
}
.kp-card, .kp-companycard, .kp-pricebox, .kp-relatedcompanies>a, .kp-companyfacts>div {
	box-shadow:0 4px 18px rgba(49,82,96,.035);
}
.kp-card:hover, .kp-deal:hover, .kp-relatedcompanies>a:hover {
	box-shadow:var(--va-shadow-hover);
}

/* Coupon/deal UI */
.kp-deal { position:relative; overflow:hidden; }
.kp-deal::before {
	content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--va-blue);
}
.kp-deal--highlight { background:var(--va-green-soft); border-color:#d4e7ad; }
.kp-deal--highlight::before { background:var(--va-green); }
.kp-deal__title a:hover { color:var(--va-blue); text-decoration:none; }
.kp-deal__logo { border-color:var(--va-line); border-radius:14px; }
.kp-ticket,.kp-revealcode {
	text-transform:none;
	letter-spacing:-.01em;
}
.kp-ticket__peek {
	background:#fff;
	color:var(--va-blue-dark);
}
.kp-ticket__peek, .kp-revealcode em {
	border-color:var(--va-blue);
}
.kp-verified svg { color:var(--va-green-dark); }
.kp-vote:hover,.kp-textlink { color:var(--va-blue); }
.kp-profileoffer--featured { border-color:#cfe0ad; box-shadow:inset 4px 0 0 var(--va-green),0 4px 18px rgba(49,82,96,.04); }
.kp-profileoffer__value { border-color:#d5e6ea; }
.kp-badge--verified { background:var(--va-green-soft) !important; color:#628c26 !important; }
.kp-badge--exclusive { background:var(--va-blue-soft) !important; color:var(--va-blue-dark) !important; }

/* Company profiles */
.kp-companyhero {
	background:linear-gradient(135deg,#fff 0%,var(--va-blue-soft) 100%);
	border-bottom:1px solid var(--va-line);
}
.kp-companyhero__logo .kp-logo { border:1px solid var(--va-line); background:#fff; }
.kp-companyverified { background:var(--va-blue); box-shadow:0 0 0 4px rgba(8,123,155,.11); }
.kp-companyhero__facts { color:var(--va-muted); }
.kp-favorite { border-color:var(--va-line); color:var(--va-ink); border-radius:12px; }
.kp-favorite[aria-pressed="true"] { border-color:#b9d786; color:#628c26; background:var(--va-green-soft); }
.kp-profiletabs { border-bottom-color:var(--va-line); }
.kp-profiletabs a.is-active::after,.kp-profiletabs a:hover::after { background:linear-gradient(90deg,var(--va-blue),var(--va-green)); }
.kp-profiletabs a.is-active { color:var(--va-blue-dark); }
.kp-companycard--business { background:var(--va-green-soft); border-color:#d7e7b8; }
.kp-relatedcompanies>a:hover { border-color:#bad8df; }

/* Merchant list */
.kp-relatedcompanies .kp-logo, .kp-brandtile__logo { background:#fff; }
.kp-merchantcard__logo .kp-logo, .kp-relatedcompanies .kp-logo, .kp-brandtile__logo { border-color:var(--va-line); }
.kp-brandtile:hover { background:var(--va-blue-soft); }
.kp-brandtile__value { color:var(--va-blue-dark); }
.kp-brandpill { border-color:var(--va-line); box-shadow:none; }
.kp-brandpill:hover { border-color:#bdd9e0; background:var(--va-blue-soft); }

/* Forms */
.kp-submitform input,.kp-submitform textarea,.kp-submitform select {
	border-color:var(--va-line);
	border-radius:12px;
	min-height:46px;
}
.kp-submitform input:focus,.kp-submitform textarea:focus,.kp-submitform select:focus {
	border-color:var(--va-blue);
	outline:0;
	box-shadow:0 0 0 4px rgba(8,123,155,.1);
}
.kp-featuredchoice { border-color:#cfe2a9; background:var(--va-green-soft); }
.kp-businessmodel { border-color:var(--va-line); }
.kp-businesswhy > div > span { background:var(--va-blue-soft); color:var(--va-blue); }
.kp-successbox { border-color:#cfe2a9; background:var(--va-green-soft); }
.kp-successbox h2 { color:#628c26; }

/* Footer */
.kp-footer a { opacity:.9; }
.kp-footer a:hover { opacity:1; }
.kp-footer__bottom { border-top-color:rgba(255,255,255,.14); }

/* Modal/toast */
.kp-toast { background:var(--va-blue-dark); }

@media (max-width: 1023px) {
	.kp-band { border-top-width:3px; }
}

@media (max-width: 680px) {
	.kp-herowrap { padding-top:38px; }
	.kp-herowrap::after { display:none; }
}

html {
	max-width: 100%;
	-webkit-text-size-adjust: 100%;
}

.kp-companymain, .kp-companyaside, .kp-deal > div, .kp-card__body > div, .kp-submitform, .entry-content, .wp-site-blocks {
	min-width: 0;
}

.kp-companyhero, .kp-herowrap {
	max-width: 100%;
}

.kp-main img,
.kp-main svg,
.kp-main video,
.kp-main canvas,
.kp-main iframe {
	max-width: 100%;
}

.kp-main iframe {
	width: 100%;
}

.kp-prose,
.entry-content,
.kp-companyabout,
.kp-profileoffer__content,
.kp-deal__title,
.kp-deal__meta,
.kp-companyhero__copy,
.kp-companycard,
.kp-businessmodel {
	overflow-wrap: anywhere;
	word-break: normal;
}

.kp-submitform input,
.kp-submitform select,
.kp-submitform textarea,
.kp-bandsearch input,
.kp-pricebox input,
.kp-pricebox select,
.kp-pricebox button {
	min-width: 0;
	max-width: 100%;
}

.kp-pricebox,
.kp-ce-search,
.kp-pricebox > div,
.kp-pricebox form,
.kp-pricebox table,
.kp-pricebox .cegg5-container,
.kp-pricebox [class*="cegg"] {
	max-width: 100%;
}

.kp-pricebox table,
.entry-content table {
	width: 100%;
}

.wp-block-table,
.kp-pricebox .table-responsive,
.kp-pricebox [class*="table"] {
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

body.kp-drawer-open {
	overflow: hidden;
}

/* Tablet/mobile header: één heldere merkrij + volledige zoekbalk. */
@media (max-width: 1023px) {

	.kp-band .custom-logo-link,
	.kp-band .kp-brand {
		grid-column: 2;
		grid-row: 1;
		justify-self: start;
		min-width: 0;
		max-width: 100%;
	}

	.kp-band .custom-logo {
		max-width: min(205px, 100%);
		max-height: 44px;
	}

	.kp-brand--lockup {
		gap: 8px;
		max-width: 100%;
	}

	.kp-brandword {
		display: block;
		min-width: 0;
		max-width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		font-size: 21px;
	}

	.kp-band__cta {
		grid-column: 3;
		grid-row: 1;
		justify-self: end;
		min-width: 0;
	}

	.kp-band__cta .kp-button {
		min-height: 42px;
		padding: 9px 14px;
		font-size: 13px;
		white-space: nowrap;
	}

	.kp-bandsearch {
		order: initial;
		flex: none;
	}

	.kp-bandsearch button {
		inset-block: 4px;
		inset-inline-end: 4px;
	}

	/* De brede desktop-subnav hoort niet op tablet/mobiel. */

	.kp-disclosurebar {
		line-height: 1.4;
	}

	.kp-section {
		padding: 40px 0;
	}

	.kp-section__subtitle {
		margin-bottom: 22px;
	}

	.kp-herowrap {
		padding: 44px 0 38px;
	}

	.kp-herowrap h1 {
		font-size: clamp(34px, 6.2vw, 50px);
	}

	.kp-profilegrid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.kp-profiletabs {
		top: 118px;
	}

	.admin-bar .kp-profiletabs {
		top: 150px;
	}

	.kp-companylayout {
		gap: 30px;
		padding-top: 30px;
	}

	.kp-companyaside {
		position: static;
	}

	.kp-businesswhy {
		position: static;
	}
}

/* Nieuwe drawer: compact, merkgericht en zonder desktop-menu proppen. */
.kp-drawer__overlay {
	background: rgba(34, 51, 61, .48);
	backdrop-filter: blur(2px);
	z-index: 80;
}

.kp-drawer {
	inset: 0 auto 0 0;
	width: min(88vw, 390px);
	min-width: 0;
	max-width: 100%;
	padding: 0;
	background: #fff;
	color: var(--va-ink);
	z-index: 81;
	box-shadow: 22px 0 60px rgba(32,54,64,.22);
	border-radius: 0 22px 22px 0;
	overscroll-behavior: contain;
}

.kp-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 72px;
	padding: 12px 16px 12px 20px;
	border-bottom: 1px solid var(--va-line);
	background: linear-gradient(135deg, #fff 0%, var(--va-blue-soft) 100%);
}

.kp-drawer__brand {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	font-size: 19px;
	font-weight: 850;
	letter-spacing: -.035em;
	color: var(--va-ink);
}

.kp-drawer__brand:hover {
	text-decoration: none;
}

.kp-drawer__brand .kp-brandmark,
.kp-drawer__brand .kp-brandmark svg {
	width: 38px;
	flex: 0 0 38px;
}

.kp-drawer__brand > span:last-child {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.kp-drawer__close {
	flex: 0 0 44px;
	border: 1px solid var(--va-line);
	background: #fff;
	color: var(--va-blue-dark);
}

.kp-drawer__body {
	display: flex;
	min-height: calc(100dvh - 72px);
	flex-direction: column;
	padding: 22px 18px max(24px, env(safe-area-inset-bottom));
}

.kp-drawer__label {
	margin: 0 8px 8px;
	font-size: 11px;
	font-weight: 850;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--va-muted);
}

.kp-drawer nav > ul,
.kp-drawer nav .menu {
	display: grid;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.kp-drawer nav li {
	margin: 0;
	padding: 0;
}

.kp-drawer nav a {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 50px;
	padding: 11px 12px;
	border-radius: 12px;
	font-size: 16px;
	font-weight: 800;
	color: var(--va-ink);
}

.kp-drawer nav a > span[aria-hidden="true"] {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	flex: 0 0 30px;
	border-radius: 9px;
	background: var(--va-blue-soft);
	color: var(--va-blue-dark);
	font-size: 15px;
}

.kp-drawer nav li:nth-child(2n) a > span[aria-hidden="true"] {
	background: var(--va-green-soft);
	color: var(--va-green-dark);
}

.kp-drawer nav a:hover,
.kp-drawer nav a:focus-visible {
	background: #f4f8f9;
	text-decoration: none;
}

.kp-drawer .sub-menu {
	margin: 2px 0 6px 18px;
	padding-left: 10px;
	border-left: 2px solid var(--va-line);
}

.kp-drawer .sub-menu a {
	min-height: 42px;
	padding-block: 8px;
	font-size: 14px;
	font-weight: 700;
}

.kp-drawer__actions {
	display: grid;
	gap: 12px;
	margin-top: auto;
	padding-top: 24px;
}

.kp-drawer__secondary {
	padding: 10px 4px;
	text-align: center;
	font-size: 13px;
	font-weight: 750;
	color: var(--va-blue-dark);
}

/* Tablet-kaarten: geef content genoeg echte breedte. */
@media (min-width: 681px) and (max-width: 1023px) {

	.kp-companyhero__inner {
		grid-template-columns: 92px minmax(0, 1fr);
		gap: 18px;
	}

	.kp-companyhero__logo,
	.kp-companyhero__logo .kp-logo {
		width: 92px;
		height: 92px;
	}

	.kp-companyhero__actions {
		grid-column: 1 / -1;
		justify-content: flex-start;
	}

	.kp-companyaside {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Mobiel: alles binnen het viewport, grotere touchdoelen, minder visuele drukte. */
@media (max-width: 680px) {

	.admin-bar .kp-band {
		top: 46px;
	}

	.kp-promobar {
		padding: 8px 12px;
		font-size: 12px;
		line-height: 1.35;
	}

	.kp-band .custom-logo {
		max-width: min(178px, 100%);
		max-height: 40px;
	}

	.kp-brandmark,
	.kp-brandmark svg {
		width: 36px;
	}

	.kp-brandword {
		font-size: 18px;
	}

	.kp-band__cta .kp-button {
		padding-inline: 11px;
		font-size: 12px;
	}

	.kp-bandsearch input[type="search"] {
		padding-left: 13px;
	}

	.kp-disclosurebar {
		padding-inline: 16px;
	}

	.kp-section {
		padding: 30px 0;
	}

	.kp-section__title {
		font-size: clamp(25px, 8vw, 34px);
	}

	.kp-section__subtitle {
		font-size: 15px;
		line-height: 1.5;
	}

	.kp-herowrap {
		padding: 32px 0 28px;
	}

	.kp-herowrap h1 {
		font-size: clamp(30px, 9vw, 40px);
		max-width: 14ch;
	}

	.kp-herowrap p.kp-lead {
		font-size: 16px;
	}

	.kp-companyhero {
		padding: 30px 0;
	}

	.kp-heroactions {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
		margin-bottom: 22px;
	}

	.kp-heroactions .kp-button {
		width: 100%;
		padding-inline: 12px;
		font-size: 14px;
	}

	.kp-chips {
		flex-wrap: nowrap;
		gap: 8px;
		margin-inline: -16px;
		padding: 0 16px 6px;
		overflow-x: auto;
		scroll-snap-type: x proximity;
		scrollbar-width: none;
	}

	.kp-chips::-webkit-scrollbar {
		display: none;
	}

	.kp-chip {
		flex: 0 0 auto;
		min-height: 40px;
		padding: 8px 14px;
		font-size: 13px;
		scroll-snap-align: start;
	}

	.kp-brandstrip {
		display: flex;
		gap: 10px;
		margin-inline: -16px;
		padding: 2px 16px 8px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	.kp-brandstrip::-webkit-scrollbar {
		display: none;
	}

	.kp-brandtile {
		flex: 0 0 min(76vw, 250px);
		padding: 10px;
		border: 1px solid var(--va-line);
		background: #fff;
		scroll-snap-align: start;
	}

	.kp-brandtile__logo {
		width: 60px;
		height: 60px;
		flex-basis: 60px;
	}

	.kp-brandtile__value {
		font-size: 16px;
	}

	.kp-carousel__track {
		grid-auto-columns: min(84vw, 330px);
		gap: 14px;
		margin-inline: -16px;
		padding-inline: 16px;
		scroll-padding-inline: 16px;
	}

	.kp-card__body {
		gap: 12px;
		padding: 14px;
	}

	.kp-card__footer {
		padding: 0 14px 14px;
	}

	.kp-deal {
		grid-template-columns: minmax(0, 1fr) 64px;
		gap: 12px;
		padding: 14px;
	}

	.kp-deal__title {
		font-size: 17px;
	}

	.kp-deal__logo {
		width: 64px;
		height: 64px;
	}

	.kp-deal__actions {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 8px 12px;
		width: 100%;
	}

	.kp-ticket, .kp-ticket--deal {
		grid-column: 1 / -1;
		width: 100%;
		min-width: 0;
		padding-left: 18px;
	}

	.kp-ticket--deal {
		justify-content: center;
	}

	.kp-expiry {
		grid-column: 1 / -1;
	}

	.kp-vote {
		margin-inline-start: 0;
		justify-self: end;
	}

	.kp-profilegrid {
		grid-template-columns: 1fr;
	}

	.kp-companyhero__inner {
		grid-template-columns: 72px minmax(0, 1fr);
		gap: 14px;
		align-items: start;
	}

	.kp-companyhero__logo,
	.kp-companyhero__logo .kp-logo {
		width: 72px;
		height: 72px;
	}

	.kp-companyhero__titleline h1 {
		font-size: clamp(28px, 8vw, 36px);
	}

	.kp-companyhero__copy > p {
		font-size: 14px;
		line-height: 1.5;
	}

	.kp-companyhero__facts {
		gap: 6px 12px;
		font-size: 12px;
	}

	.kp-companyhero__actions {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: 100%;
	}

	.kp-companyhero__actions .kp-button,
	.kp-companyhero__actions .kp-favorite {
		width: 100%;
		min-width: 0;
		padding-inline: 10px;
		font-size: 13px;
	}

	.kp-profiletabs {
		top: 113px;
	}

	.admin-bar .kp-profiletabs {
		top: 159px;
	}

	.kp-profiletabs__inner {
		gap: 18px;
		margin-inline: -16px;
		padding: 0 16px;
		scroll-padding-inline: 16px;
	}

	.kp-profiletabs a {
		padding: 13px 0 11px;
		font-size: 13px;
	}

	.kp-companylayout {
		padding-top: 24px;
		padding-bottom: 32px;
	}

	.kp-companysection {
		scroll-margin-top: 176px;
	}

	.kp-companysection__head {
		gap: 10px;
	}

	.kp-companyabout > h2, .kp-companysection#faq > h2 {
		font-size: 25px;
	}

	.kp-profileoffer__badges .kp-badge {
		padding: 4px 7px;
		font-size: 9px;
	}

	.kp-profileoffer__action {
		grid-column: 1 / -1;
	}

	.kp-companyaside {
		grid-template-columns: 1fr;
	}

	.kp-companycard {
		padding: 18px;
	}

	.kp-companyfacts {
		grid-template-columns: 1fr;
	}

	.kp-relatedcompanies {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.kp-relatedcompanies > a {
		min-width: 0;
		padding: 12px 8px;
	}

	.kp-formgrid {
		grid-template-columns: 1fr;
	}

	.kp-submitform {
		gap: 18px;
	}

	.kp-businessmodel {
		padding: 20px;
	}

	.kp-businesswhy {
		grid-template-columns: 1fr;
	}

	.kp-codebox {
		display: grid;
		grid-template-columns: 1fr;
		gap: 10px;
		width: 100%;
		padding: 12px;
		border-radius: 14px;
	}

	.kp-codebox__code {
		text-align: center;
	}

	.kp-codebox .kp-button {
		width: 100%;
	}

	.kp-modal {
		align-items: flex-end;
		padding: 0;
	}

	.kp-modal__dialog {
		overflow-y: auto;
		border-radius: 22px 22px 0 0;
	}

	.kp-modal__inner {
		padding: 42px 14px 20px;
		border-radius: 16px;
	}

	.kp-modal__tag {
		top: 14px;
		left: 16px;
	}

	.kp-modal__close {
		top: 8px;
		right: 8px;
	}

	.kp-modal__actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.kp-modal__actions .kp-button {
		width: 100%;
	}

	.kp-footer {
		margin-top: 42px;
		padding: 34px 0 24px;
	}

	.kp-toast {
		left: 16px;
		right: 16px;
		bottom: max(16px, env(safe-area-inset-bottom));
		width: auto;
		transform: none;
		text-align: center;
	}
}

@media (max-width: 520px) {

	.kp-band .custom-logo-link,
	.kp-band .kp-brand {
		justify-self: center;
	}

	.kp-band .custom-logo {
		max-width: min(172px, calc(100vw - 96px));
	}

	.kp-brandword {
		max-width: calc(100vw - 112px);
	}

	.kp-heroactions {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 380px) {

	.kp-brandword {
		font-size: 16px;
	}

	.kp-companyhero__inner {
		grid-template-columns: 62px minmax(0, 1fr);
	}

	.kp-companyhero__logo,
	.kp-companyhero__logo .kp-logo {
		width: 62px;
		height: 62px;
	}

	.kp-companyhero__actions {
		grid-template-columns: 1fr;
	}

	.kp-relatedcompanies {
		grid-template-columns: 1fr;
	}
}

@media (hover: none) {
	.kp-card:hover, .kp-deal:hover, .kp-relatedcompanies > a:hover {
		transform: none;
	}
}

/* Eén buitenbreedte voor alle hoofdonderdelen. */
.kp-prose {
	width: 100%;
	margin-inline: auto;
}

/* Het compacte font-logo wordt op elk scherm hetzelfde opgebouwd. */
.kp-wordmark {
	display: inline-flex !important;
	align-items: baseline;
	gap: 0 !important;
	min-width: 0;
	max-width: 100%;
	color: #101216 !important;
	font-family: var(--font-sans);
	font-size: 22px !important;
	font-weight: 900 !important;
	line-height: 1;
	letter-spacing: -.055em !important;
	white-space: nowrap;
	text-decoration: none !important;
}

.kp-wordmark__main {
	display: inline-block;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
}

.kp-wordmark__suffix {
	flex: 0 0 auto;
	margin-left: .06em;
	color: var(--va-wordmark-red);
	font-size: .68em;
	font-weight: 900;
	letter-spacing: -.035em;
}

.kp-band__burger {
	flex: 0 0 44px;
}

/* De nieuwe dropdown bestaat alleen voor tablet en mobiel. */
.kp-mobilemenu {
	display: none !important;
}

.kp-mobilemenu[hidden] {
	display: none !important;
}

/* Het bliksem-icoon gebruikt een SVG in plaats van een geel emoji-teken. */
.kp-usp__icon .kp-usp__bolt {
	display: block;
	width: 28px;
	height: 28px;
	color: #fff;
}

@media (max-width: 1023px) {

	.kp-band {
		padding-bottom: 10px;
	}

	.kp-band .kp-wordmark {
		grid-column: 2;
		grid-row: 1;
		justify-self: start;
		font-size: 22px !important;
	}

	.kp-mobilemenu:not([hidden]) {
		animation: kp-dropdown-in .16s ease-out both;
	}

	.kp-mobilemenu__inner {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 250px;
		gap: 22px;
	}

	.kp-mobilemenu__nav > ul,
	.kp-mobilemenu__nav .menu {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.kp-mobilemenu__nav li {
		min-width: 0;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.kp-mobilemenu__nav a:hover,
	.kp-mobilemenu__nav a:focus-visible {
		border-color: var(--va-line);
		background: #f5f8f9;
		text-decoration: none;
	}

	.kp-mobilemenu__nav a > span[aria-hidden="true"] {
		display: grid;
		place-items: center;
		width: 28px;
		height: 28px;
		flex: 0 0 28px;
		border-radius: 8px;
		background: var(--va-blue-soft);
		color: var(--va-blue-dark);
		font-size: 14px;
	}

	.kp-mobilemenu__nav .sub-menu {
		grid-column: 1 / -1;
		margin: 2px 0 4px 16px;
		padding-left: 10px;
		border-left: 2px solid var(--va-line);
	}

	.kp-mobilemenu__actions {
		display: grid;
		align-content: start;
		gap: 10px;
		padding-left: 20px;
		border-left: 1px solid var(--va-line);
	}

	.kp-mobilemenu__actions .kp-button {
		width: 100%;
	}

	.kp-mobilemenu__secondary {
		padding: 8px 4px;
		text-align: center;
		font-size: 12px;
	}
}

@media (max-width: 680px) {
	.kp-band .kp-wordmark {
		font-size: 20px !important;
	}

	.kp-mobilemenu__inner {
		grid-template-columns: 1fr;
		gap: 14px;
		padding-top: 12px;
		padding-bottom: 16px;
	}

	.kp-mobilemenu__nav > ul,
	.kp-mobilemenu__nav .menu {
		grid-template-columns: 1fr;
		gap: 5px;
	}

	.kp-mobilemenu__nav a {
		min-height: 44px;
		padding: 9px 10px;
	}

	.kp-mobilemenu__actions {
		gap: 8px;
		padding: 12px 0 0;
		border-top: 1px solid var(--va-line);
		border-left: 0;
	}
}

@media (max-width: 520px) {
	.kp-band .kp-wordmark {
		justify-self: center;
		font-size: 19px !important;
	}
}

@keyframes kp-dropdown-in {
	from { opacity: 0; transform: translateY(-5px); }
	to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
	.kp-mobilemenu:not([hidden]) {
		animation: none;
	}
}
.kp-siteidentity {
	display: flex;
	align-items: center;
	max-width: 100%;
	flex: 0 1 auto;
}

.kp-siteidentity .custom-logo-link {
	min-width: 0;
	line-height: 0;
}

@media (max-width: 1023px) {
	.kp-band .kp-siteidentity {
		grid-column: 2;
		grid-row: 1;
		justify-self: start;
	}
}

@media (max-width: 680px) {
}

@media (max-width: 520px) {
	.kp-band .kp-siteidentity {
		justify-self: center;
	}
}
@media (max-width: 1023px) {
	/* De menuknop is bewust geen kader/tegel: alleen hamburger + label. */
	.kp-band__burger {
		border-radius: 8px;
		box-shadow: none;
		line-height: 1;
	}

	.kp-band__burger:hover,
	.kp-band__burger:focus-visible {
		background: #f3f7f8;
		color: var(--va-blue-dark);
	}

	.kp-band__burger-icon {
		display: grid;
		place-items: center;
		width: 28px;
		height: 27px;
	}

	.kp-band__burger-icon svg {
		display: block;
		width: 26px;
		height: 26px;
	}

	.kp-band__burger-label {
		line-height: 1;
		letter-spacing: .01em;
	}

	/* Het menu hangt echt onder de complete headerbalk en vergroot de header niet. */
	.kp-band {
		position: sticky !important;
	}

	.kp-mobilemenu:not([hidden]) {
		width: 100%;
		-webkit-overflow-scrolling: touch;
	}

	.kp-mobilemenu__inner {
		padding-top: 16px;
		padding-bottom: max(18px, env(safe-area-inset-bottom));
	}
}

@media (max-width: 680px) {

	.kp-mobilemenu:not([hidden]) {
		max-height: calc(100dvh - 104px);
	}
}

@media (max-width: 520px) {
}
.kp-headerlink{position:relative}
.kp-headerlink.is-active,.kp-headerlink[aria-current="page"]{color:var(--va-blue);font-weight:800}
.kp-headerlink.is-active::after,.kp-headerlink[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--va-blue),var(--va-green))}
.kp-mobilemenu__nav a.is-active,.kp-mobilemenu__nav a[aria-current="page"]{background:#edf7f9;color:var(--va-blue);font-weight:800}
@media(max-width:1100px){.kp-headerlink.is-active::after,.kp-headerlink[aria-current="page"]::after{display:none}}
.kp-shopsdirectory .kp-sectionhead{margin-bottom:18px}
.kp-shopsdirectory .kp-sectionhead h2{margin:.2rem 0 0}
.kp-merchantcard__copy h3{color:var(--va-ink)}
.kp-merchantcard__copy span{display:block}
.kp-merchantgrid--featured .kp-merchantcard{border-color:#c6dfe4;background:linear-gradient(145deg,#fff 0%,#f5fbfc 100%)}
.kp-ce-product-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;max-width:780px;margin-top:20px;padding:8px;border:1px solid var(--va-line);border-radius:14px;background:#fff;box-shadow:0 10px 28px rgba(49,82,96,.07)}
.kp-ce-product-search input{width:100%;min-width:0;border:0!important;box-shadow:none!important;background:transparent!important;padding:10px 12px!important;font:inherit}
.kp-ce-product-search .kp-button{white-space:nowrap}
.kp-ce-results{overflow:hidden}
@media(max-width:620px){.kp-ce-product-search{grid-template-columns:1fr}.kp-ce-product-search .kp-button{width:100%}}
.kp-pagehero--search{padding-block:clamp(38px,6vw,74px)}
.kp-pagehero--search h1{font-size:clamp(32px,5vw,58px);max-width:900px}
.kp-pagehero--search p{max-width:760px}
.kp-searchgroup+.kp-searchgroup{padding-top:8px}
.kp-searchpage__form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;max-width:760px;margin-top:24px;padding:8px;border:1px solid var(--va-line,var(--color-border));border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(49,82,96,.07)}
.kp-searchpage__form input{width:100%;min-width:0;border:0;background:transparent;padding:11px 12px;font:inherit;color:var(--va-ink,var(--color-text));outline:0}
.kp-searchpage__form .kp-button{white-space:nowrap}
.kp-searchpage .kp-merchantcard__copy{min-width:0}
.kp-searchpage .kp-merchantcard__copy h3{overflow-wrap:anywhere}
@media(max-width:680px){.kp-searchpage__form{grid-template-columns:1fr}.kp-searchpage__form .kp-button{width:100%}.kp-pagehero--search h1{font-size:clamp(30px,10vw,42px)}}
.kp-pricebox :where(.cegg-container,.cegg5-container,.egg-container,[class*="cegg"],[id^="content-egg"]),
.kp-ce-results :where(.cegg-container,.cegg5-container,.egg-container,[class*="cegg"],[id^="content-egg"]){max-width:100%!important;box-sizing:border-box}
.kp-pricebox :where(table),.kp-ce-results :where(table){max-width:100%;width:100%}
.kp-pricebox :where(img),.kp-ce-results :where(img){max-width:100%;height:auto}
.kp-pricebox :where(.btn,.btn-primary,a[class*="btn"]),.kp-ce-results :where(.btn,.btn-primary,a[class*="btn"]){border-radius:999px!important}
.kp-pricebox,.kp-ce-results{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* Verouderde menu-highlightclasses uit oudere installaties krijgen geen vaste actieve status. */
.kp-subnav .is-highlight:not(.is-active):not(.current-menu-item){color:var(--va-ink,var(--color-text))!important}
.kp-subnav .is-highlight:not(.is-active):not(.current-menu-item)::after{content:none!important}
.kp-companyshell {
	padding: 28px 0 56px;
}

.kp-companysummary h1 {
	margin-bottom: 10px;
}

.kp-companysummary__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	color: var(--va-muted);
}

.kp-companysummary__editor::before, .kp-companysummary__verified::before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 999px;
	margin-right: 8px;
	vertical-align: 1px;
}

.kp-companysummary__editor::before {
	background: var(--va-blue);
}

.kp-companysummary__verified::before {
	background: var(--va-green);
}

.kp-companyscore h2,
.kp-companyinfo h2,
.kp-companyrelatedpanel h2,
.kp-companysection--white h2 {
	margin-bottom: 12px;
}

.kp-companyscore__highlight {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 14px;
	align-items: center;
	background: #eef6dd;
}

.kp-companyscore__highlight strong {
	line-height: 1;
	color: var(--va-ink);
}

.kp-companyscore__highlight span {
	display: block;
	font-weight: 800;
}

.kp-companyscore__highlight small {
	display: block;
	margin-top: 4px;
	font-size: 13px;
	color: var(--va-muted);
}

.kp-companyscore__list {
	list-style: none;
	padding: 0;
	margin: 0 0 16px;
	display: grid;
}

.kp-companyscore__list li {
	display: flex;
	gap: 10px;
	align-items: flex-start;
}

.kp-companyscore__list span {
	width: 22px;
	height: 22px;
	border-radius: 999px;
	display: inline-grid;
	place-items: center;
	background: var(--va-blue-soft);
	color: var(--va-blue);
	font-weight: 900;
	flex: 0 0 auto;
}

.kp-relatedcompanies--panel {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 10px;
}

.kp-relatedcompanies--panel > a {
	padding: 12px 10px;
	gap: 8px;
	min-height: 116px;
	justify-content: center;
}

.kp-relatedcompanies--panel .kp-logo {
	width: 58px;
	height: 58px;
}

.kp-companyoffershero {
	gap: 12px;
}

.kp-companyoffershero__stats span::before {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: var(--va-blue);
	margin-right: 8px;
	vertical-align: 2px;
}

.kp-companyoffershero__headline {
	font-weight: 800;
}

.kp-bestsavings {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.kp-bestsavings::before {
	content: "★";
	font-size: 14px;
	line-height: 1;
}

.kp-companyshell .kp-profiletabs {
	top: 0;
	border: 1px solid var(--va-line);
	background: rgba(255,255,255,.96);
	overflow: hidden;
}

.kp-companyshell .kp-profiletabs__inner {
	padding: 0 18px;
}

.kp-profileoffer {
	position: relative;
}

.kp-profileoffer__ribbon {
	position: absolute;
	top: -1px;
	left: -1px;
	right: -1px;
	font-weight: 800;
}

.kp-profileoffer__value {
	background: transparent;
	border: 0;
	padding: 4px;
}

.kp-profileoffer__value strong {
	line-height: .96;
	color: var(--va-ink);
}

.kp-profileoffer__value span {
	font-size: 12px;
	letter-spacing: .05em;
}

.kp-badge--ghost {
	background: #f1f5f6;
	color: var(--va-muted);
}

.kp-profileoffer__content h3 {
	line-height: 1.15;
	margin-bottom: 10px;
}

.kp-profileoffer__content p {
	line-height: 1.55;
	margin-bottom: 8px;
}

.kp-profileoffer__meta {
	gap: 10px;
}

.kp-inlineconditions {
	background: transparent;
	border: 0;
	padding: 0;
	font: inherit;
	color: var(--va-ink);
	font-weight: 700;
	text-decoration: underline;
	cursor: pointer;
}

.kp-profileoffer__action {
	display: grid;
	justify-items: stretch;
	align-content: center;
	gap: 10px;
}

.kp-revealcode {
	min-height: 56px;
}

.kp-revealcode, .kp-button--dealcta {
	border-radius: 999px;
	font-size: 18px;
}

.kp-revealcode {
	padding-left: 24px;
	padding-right: 86px;
}

.kp-revealcode em {
	width: 78px;
	border: 0;
	font-size: 13px;
	font-weight: 900;
}

.kp-profileoffer__expiry {
	font-size: 14px;
	color: var(--va-muted);
	text-align: right;
}

.kp-companyaboutpanel .kp-prose {
	max-width: 100%;
}

.kp-companyfacts > div {
	border-color: var(--va-line);
	background: #f9fbfb;
}

.kp-faq details {
	border-color: var(--va-line);
	border-radius: 16px;
}

.kp-modal__dialog {
	padding: 0;
	background: transparent;
	box-shadow: none;
	max-width: 980px;
}

.kp-modal__chip {
	position: absolute;
	top: 22px;
	left: 26px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	border-radius: 14px;
	background: #eef1f4;
	font-size: 14px;
	font-weight: 800;
}

.kp-modal__chip::before {
	content: "⊙";
	font-size: 12px;
}

.kp-modal__panel {
	background: #fff;
	border-radius: 28px;
	padding: 70px 28px 28px;
	box-shadow: var(--shadow-modal);
}

.kp-modal__inner { display:none; }

.kp-modal__logo {
	width: 96px;
	height: 96px;
	margin: 0 auto 20px;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 4px 12px rgba(49,82,96,.08);
}

.kp-modal__title {
	max-width: 760px;
	margin: 0 auto 24px;
	line-height: 1.15;
	text-align: center;
}

.kp-modal__couponbar {
	margin: 0 auto;
	padding: 22px;
	border-radius: 24px;
	text-align: center;
}

.kp-modal__merchant {
	display: block;
	margin-bottom: 16px;
	font-size: 15px;
	font-weight: 800;
}

.kp-modal__copywrap {
	display: inline-grid;
	grid-template-columns: minmax(0,1fr) auto;
	align-items: center;
	gap: 0;
	border: 2px dashed #bca07d;
	border-radius: 999px;
	background: #fff;
	overflow: hidden;
	min-width: min(100%, 420px);
}

.kp-modal .kp-codebox__code {
	padding: 0 24px;
	font-size: 24px;
	font-weight: 900;
	letter-spacing: .08em;
}

.kp-modal .kp-button[data-kp-code-copy] {
	border-radius: 999px;
	min-height: 58px;
	padding-inline: 28px;
}

.kp-modal__actions {
	justify-content: center;
	margin-top: 20px;
}

.kp-modal__actions .kp-button {
	min-height: 54px;
	min-width: 240px;
	border-radius: 999px;
}

.kp-modal__hint {
	margin-top: 14px;
	text-align: center;
}

@media (max-width: 1180px) {
}

@media (max-width: 1024px) {
	.kp-companyshell__aside {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.kp-companysummary,
	.kp-companyinfo,
	.kp-companyscore,
	.kp-companyrelatedpanel {
		height: 100%;
	}
}

@media (max-width: 780px) {
	.kp-companyshell {
		padding-top: 18px;
	}
	.kp-companyshell__aside {
		grid-template-columns: 1fr;
	}
	.kp-companyscore__highlight {
		grid-template-columns: 1fr;
	}
	.kp-companyshell .kp-profiletabs {
		top: 8px;
	}
	.kp-profileoffer__action {
		grid-column: 1 / -1;
	}
	.kp-profileoffer__expiry {
		text-align: left;
	}
	.kp-relatedcompanies--panel {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.kp-modal {
		padding: 14px;
	}
	.kp-modal__panel {
		padding: 66px 18px 22px;
		border-radius: 22px;
	}
	.kp-modal__chip {
		left: 16px;
		top: 16px;
	}
	.kp-modal__copywrap {
		display: flex;
		flex-direction: column;
		border-radius: 18px;
		min-width: 0;
		width: 100%;
	}
	.kp-modal .kp-codebox__code {
		padding: 18px 14px 8px;
		font-size: 22px;
	}
	.kp-modal .kp-button[data-kp-code-copy] {
		width: calc(100% - 12px);
		margin: 0 6px 6px;
	}
}
.kp-companysummary__logo .kp-logo--placeholder {
	font-size: clamp(40px, 8vw, 64px);
	letter-spacing: .04em;
}

.kp-merchantcard__logo .kp-logo--placeholder,
.kp-relatedcompanies .kp-logo--placeholder,
.kp-deal__logo .kp-logo--placeholder {
	width: 100%;
	height: 100%;
	border-radius: 16px;
	border: 1px solid var(--va-line);
	background: linear-gradient(180deg, #fbfcfd 0%, #f3f7f8 100%);
}

.kp-filterbar .kp-chip span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding: 0 7px;
	border-radius: 999px;
	background: rgba(0, 128, 174, .08);
	font-size: 12px;
	font-weight: 800;
}

.kp-empty {
	padding: 26px;
}

.kp-searchgroup {
	display: grid;
}

.kp-searchpage__empty {
	max-width: 720px;
	margin-inline: auto;
	text-align: center;
}

.kp-searchpage__actions {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 18px;
}

.kp-shopsdirectory {
	display: grid;
}

.kp-shopsdirectory__popular,
.kp-shopsdirectory__all {
	display: grid;
	gap: 18px;
}

.kp-shopsdirectory__popular {
	border: 1px solid var(--va-line);
	background: linear-gradient(180deg, #fff 0%, #f8fcfd 100%);
}

.kp-pagehero--shops,
.kp-pagehero--search {
	background: linear-gradient(180deg, #f6fafb 0%, #fff 100%);
}

@media (min-width: 980px) {
}

@media (max-width: 780px) {
	.kp-searchpage__actions {
		flex-direction: column;
	}
}
.kp-companyoffershero__headline,
.kp-profileoffer__ribbon {
	background: var(--va-green-soft);
	color: var(--va-green-dark);
}

.kp-profileoffer--top {
	border-color: #d8e7b7;
	background: linear-gradient(180deg, #fbfdf7 0%, #fff 100%);
}

.kp-revealcode em {
	background: rgba(255,255,255,.18);
	color: #fff;
}

.kp-modal__couponbar {
	background: linear-gradient(135deg, var(--va-blue-soft) 0%, var(--va-green-soft) 100%);
}

.kp-offercard {
	transition: transform .18s ease, box-shadow .18s ease, opacity .25s ease;
}

.kp-offercard.is-moderated,
.kp-profileoffer.is-moderated {
	opacity: 0;
	transform: scale(.98);
}

.kp-offercard__logo .kp-logo {
	display: grid;
	place-items: center;
}

.kp-offercard__merchant:hover {
	color: var(--va-blue);
	text-decoration: none;
}

.kp-offercard .kp-deal__title a {
	color: var(--va-ink);
}

.kp-offercard__saving {
	display: inline-flex;
	align-items: center;
	padding: 7px 12px;
	border-radius: 11px;
	background: var(--va-green-soft);
	font-weight: 900;
}

.kp-offercard__details:hover {
	color: var(--va-blue);
	text-decoration: none;
}

.kp-votegroup__label {
	margin-right: 3px;
	font-weight: 700;
}

.kp-votebutton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	font: inherit;
	font-size: 13px;
	font-weight: 800;
	transition: .16s ease;
}

.kp-votebutton:hover:not(:disabled) {
	transform: translateY(-1px);
}

.kp-votebutton--up:hover:not(:disabled) {
	border-color: #b9d783;
	background: var(--va-green-soft);
	color: var(--va-green-dark);
}

.kp-votebutton--down:hover:not(:disabled) {
	border-color: #efb6b6;
	background: #fff1f1;
	color: #b74343;
}

.kp-votebutton.is-loading {
	animation: kpVotePulse .8s ease-in-out infinite alternate;
}

@keyframes kpVotePulse {
	from { opacity: .45; }
	to { opacity: 1; }
}

.kp-votegroup--compact {
	margin-top: 10px;
}

.kp-votegroup--compact .kp-votebutton {
	height: 32px;
	min-width: 46px;
	padding-inline: 9px;
}

@media (max-width: 1050px) {
}

@media (max-width: 760px) {
}

.kp-band__submit {
	padding-inline: 20px;
	box-shadow: none;
}
@media (max-width: 1099px) { .kp-band__submit { display:none; } }

html { scroll-behavior: smooth; }

/* Header: dezelfde maatvoering en minder visuele ruis op elk scherm. */
.kp-band { padding-block: 10px; }
.kp-band__submit { font-size: 15px; }
.kp-subnav a { padding-block: 13px; }

/* Hero's waren te hoog: compacter, zelfde huisstijl. */
.kp-section { padding-top: var(--va-section-gap); padding-bottom: var(--va-section-gap); }

/* Algemene kaarten. */
.kp-shopsdirectory__popular, .kp-offercard {
	border-color: var(--va-line);
}
.kp-shopsdirectory__popular {
	border-radius: var(--va-card-radius);
}
.kp-empty h2 { margin-bottom: 8px; font-size: clamp(22px, 2.4vw, 30px); }
.kp-empty p { margin: 0; color: var(--va-muted); }

/* Filters voelen als onderdeel van de pagina in plaats van losse knoppen. */
.kp-filterbar {
	gap: 8px;
	padding: 7px;
	width: fit-content;
	max-width: 100%;
	border: 1px solid var(--va-line);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 5px 18px rgba(49,82,96,.04);
}
.kp-filterbar .kp-chip {
	min-height: 42px;
	padding: 9px 15px;
	border-color: transparent;
	border-radius: 11px;
	background: transparent;
}
.kp-filterbar .kp-chip.is-active {
	border-color: #bedde5;
	background: var(--va-blue-soft);
}

/* Aanbiedinglijsten: één duidelijke verticale stroom zoals op winkelprofielen. */
.kp-offercard .kp-deal__title { margin-bottom: 9px; }
.kp-offercard__saving { min-height: 34px; }
.kp-offercard__details { padding: 3px 0; }

/* Stemmen zijn nuttig, maar visueel secundair. */
.kp-votebutton {
	padding-inline: 9px;
	box-shadow: none;
}
.kp-votebutton[aria-pressed="true"] { opacity: 1; }
.kp-votebutton:disabled:not([aria-pressed="true"]) { opacity: .48; }

/* Zoekresultaten: geen grote lege witte vlakken meer. */
.kp-searchgroup {
	box-shadow: none;
}
.kp-searchgroup .kp-sectionhead {
	display: flex;
	justify-content: space-between;
	gap: 16px;
}
.kp-searchpage .kp-merchantcard {
	padding: 14px;
}
.kp-searchpage .kp-comparegrid { grid-template-columns: repeat(auto-fit, minmax(260px, 360px)); justify-content: start; }

/* Winkels: kaarten rustiger, logo centraal en aantallen beter leesbaar. */
.kp-merchantcard__logo,
.kp-merchantcard__logo .kp-logo { flex-basis: 72px; }
.kp-shopsdirectory { gap: 30px; }
.kp-shopsdirectory__popular { padding: 20px; }

/* Winkelprofiel: minder verticale gaten en betere verhouding zijbalk / aanbiedingen. */
.kp-companyshell .kp-profiletabs__inner { padding-inline: 14px; }
.kp-profileoffer__value strong { font-size: clamp(22px, 2.4vw, 33px); }
.kp-profileoffer__ribbon { padding: 9px 16px; border-radius: 18px 18px 0 0; }
.kp-profileoffer--top .kp-profileoffer__value,
.kp-profileoffer--top .kp-profileoffer__content,
.kp-profileoffer--top .kp-profileoffer__action { margin-top: 29px; }

/* Code-modal: in dezelfde blauw/groene stijl, minder groot op desktop. */
.kp-modal { backdrop-filter: blur(3px); }
.kp-modal__dialog { width: min(820px, 100%); }
.kp-modal__panel { border: 1px solid rgba(255,255,255,.45); }
.kp-modal__title { font-size: clamp(24px, 3vw, 34px); }
.kp-modal__couponbar { max-width: 650px; }
.kp-modal .kp-codebox__code { color: var(--va-ink); }

/* Tablet */
@media (max-width: 1100px) {
	.kp-profileoffer__action { grid-template-columns: minmax(0, 260px) auto; justify-content: end; align-items: center; }
	.kp-profileoffer__expiry { text-align: left; }
}

@media (max-width: 1023px) {
}

/* Mobiel */
@media (max-width: 760px) {
	.kp-filterbar { width: 100%; overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; }
	.kp-filterbar::-webkit-scrollbar { display: none; }
	.kp-filterbar .kp-chip { white-space: nowrap; }
	.kp-offercard__logo { border-radius: 13px; }
	.kp-votegroup { padding-top: 3px; }
	.kp-votegroup__label { width: auto; margin-right: 2px; }
	.kp-searchpage .kp-comparegrid { grid-template-columns: 1fr; }
	.kp-profileoffer__value strong { font-size: 19px; }
	.kp-profileoffer__action { grid-column: 1 / -1; grid-template-columns: 1fr; justify-content: stretch; }
	.kp-profileoffer__action .kp-revealcode,
	.kp-profileoffer__action .kp-button { width: 100%; }
	.kp-profileoffer--top .kp-profileoffer__value,
	.kp-profileoffer--top .kp-profileoffer__content,
	.kp-profileoffer--top .kp-profileoffer__action { margin-top: 24px; }
	.kp-relatedcompanies--panel { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 420px) {
	.kp-votegroup__label { width: 100%; }
	.kp-relatedcompanies--panel { grid-template-columns: 1fr 1fr; }
	.kp-modal__couponbar { padding: 16px; }
}

@media (prefers-reduced-motion: reduce) {
}
.kp-searchsummary{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px}.kp-searchsummary span{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:7px 11px;border:1px solid var(--va-line);border-radius:999px;background:rgba(255,255,255,.82);color:var(--va-muted);font-size:12px}.kp-searchsummary strong{color:var(--va-ink);font-size:13px}

html { background: var(--va-page); }
.kp-main { min-height: 52vh; }
.kp-band {
	background: #fff !important;
	color: var(--va-ink) !important;
}
.kp-band .kp-brand,.kp-band .custom-logo-link,.kp-band__burger { color: var(--va-ink) !important; }

/* Algemene pagina's gebruiken exact dezelfde hero/card-taal als de commercepagina's. */
.kp-contenthero {
	padding: clamp(40px,6vw,76px) 0;
}
.kp-contenthero--center { text-align: center; }
.kp-contenthero--center h1 { margin-inline: auto; }
.kp-contenthero--center p { margin-inline: auto; }
.kp-contentlayout { justify-items: center; }
.kp-contentcard__media { margin: -14px -14px 28px; overflow: hidden; border-radius: 18px; }
.kp-contentcard__media img { width: 100%; max-height: 520px; object-fit: cover; display: block; }

.kp-currentgrid {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 20px;
}
.kp-currentcard {
	display: flex;
	min-width: 0;
	flex-direction: column;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--va-line);
	border-radius: var(--va-card-radius);
	box-shadow: 0 5px 20px rgba(49,82,96,.04);
}
.kp-currentcard__media img { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; }
.kp-currentcard__body { padding: 22px; }
.kp-currentcard__body h2 { margin: 0 0 10px; font-size: 22px; line-height: 1.2; }
.kp-currentcard__body p { color: var(--va-muted); }

.kp-notfound__links { display:flex; gap:10px; flex-wrap:wrap; justify-content:center; margin-top:18px; }

/* Alle landingshero's delen dezelfde maatvoering en breedte. */
.kp-pagehero,.kp-storehero,.kp-businesshero {
	padding: clamp(42px,6vw,74px) 0;
}

/* Alle kaarten blijven in dezelfde visuele familie. */
.kp-card, .kp-deal, .kp-merchantcard, .kp-comparecard, .kp-profileoffer, .kp-companysummary, .kp-companyscore, .kp-companyinfo, .kp-companyrelatedpanel, .kp-companysection--white, .kp-searchgroup, .kp-empty, .kp-pricebox, .kp-submitform {
	border-color: var(--va-line) !important;
}
.kp-card, .kp-deal, .kp-pricebox {
	border-radius: var(--va-card-radius);
	background: #fff;
}
.kp-empty { color: var(--va-muted); }
.kp-empty h2 { color: var(--va-ink); }

/* Voorkom oude twee-koloms deal-layouts uit eerdere releases. */
.kp-deal {
	min-width: 0;
	box-shadow: 0 4px 18px rgba(49,82,96,.035);
}

/* Footer is altijd de nieuwe vaste navigatie. */
.kp-footer a:hover { color: var(--va-blue); }

/* Paginering in de nieuwe stijl. */
.nav-links,.page-numbers { font-weight: 700; }
ul.page-numbers,.nav-links { display:flex; gap:8px; flex-wrap:wrap; justify-content:center; margin-top:30px; }
ul.page-numbers { list-style:none; padding:0; }
.page-numbers a,.page-numbers span {
	display:grid;
	place-items:center;
	min-width:42px;
	height:42px;
	padding:0 12px;
	border:1px solid var(--va-line);
	border-radius:12px;
	background:#fff;
}
.page-numbers .current { background:var(--va-blue); border-color:var(--va-blue); color:#fff; }

@media (max-width: 980px) {
	.kp-currentgrid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 680px) {
	.kp-contenthero { padding: 34px 0; }
	.kp-currentgrid { grid-template-columns: 1fr; }
	.kp-pagehero,.kp-storehero,.kp-businesshero { padding: 34px 0; }
}
.kp-homehero {
	padding: clamp(48px,7vw,86px) 0 26px;
}
.kp-homehero__inner { grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); gap:48px; align-items:center; }
.kp-homefinder { padding:26px; border:1px solid var(--va-line); border-radius:24px; background:#fff; box-shadow:var(--va-shadow); }
.kp-homefinder strong { display:block; font-size:22px; }
.kp-homefinder p { margin:6px 0 18px; font-size:15px; }
.kp-homefinder__field { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; }
.kp-homefinder input { min-width:0; width:100%; min-height:50px; padding:0 15px; border:1px solid var(--va-line); border-radius:12px; font:inherit; }
.kp-homehero__chips { margin-top:28px; }
.kp-sectionhead .kp-eyebrow { margin-bottom:8px; }
@media(max-width:900px){.kp-homehero__inner{grid-template-columns:1fr;gap:28px}.kp-homefinder{max-width:680px}}
@media(max-width:600px){.kp-homehero{padding:36px 0 20px}.kp-homefinder{padding:18px;border-radius:18px}.kp-homefinder__field{grid-template-columns:1fr}.kp-homefinder__field .kp-button{width:100%}.kp-sectionhead{flex-direction:column}}
.kp-band__cta .kp-headerlink { display: none !important; }

/* Minder verticale chrome boven de inhoud. */
.kp-subnav__inner { padding-block: 7px; }
.kp-disclosurebar { min-height: 34px; padding-block: 7px; }
.kp-breadcrumbs .kp-container { min-height: 36px; }

/* Zoekpagina: de header is de enige zoekinterface. */
.kp-searchresults {
	padding-top: 28px;
	padding-bottom: 52px;
}
.kp-searchcontext {
	min-height: 42px;
}
.kp-searchcontext span {
	position: relative;
	padding-left: 14px;
}
.kp-searchcontext span::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 5px;
	height: 5px;
	border-radius: 999px;
	background: var(--va-blue);
	transform: translateY(-50%);
}
.kp-searchgroup .kp-sectionhead { margin-bottom: 14px; }
.kp-searchgroup .kp-sectionhead h2 {
	margin: 0;
	letter-spacing: -.015em;
}
.kp-searchpage .kp-merchantgrid {
	gap: 12px;
}
.kp-searchpage .kp-merchantcard { min-height: 96px; }

/* Winkelprofielen: minder labels, compactere identiteit en duidelijke hiërarchie. */
.kp-companysummary__logo { margin-bottom: 13px; }
.kp-companysummary h1 {
	letter-spacing: -.02em;
}
.kp-companysummary p { line-height: 1.55; }
.kp-companysummary__meta { margin-top: 12px; gap: 9px 13px; }
.kp-companyscore > p { font-size: 14px; line-height: 1.5; }
.kp-companyscore__highlight {
	margin-block: 11px;
}
.kp-companyscore__list { gap: 7px; margin-bottom: 14px; }
.kp-companyscore__list li { font-size: 13px; }

.kp-companyoffershero {
	margin: 0 0 4px;
	padding: 0 2px 12px;
	border-bottom: 1px solid var(--va-line);
}
.kp-companyoffershero__stats {
	align-items: center;
}
.kp-companyoffershero__stats strong { color: var(--va-ink); }
.kp-companyoffershero__stats span { color: var(--va-muted); }
.kp-companyoffershero__stats strong::before,
.kp-companyoffershero__stats span::before {
	content: none;
}
.kp-companyoffershero__headline { display: none; }

.kp-companyshell .kp-profiletabs {
	position: static;
	box-shadow: none;
	border-radius: 14px;
}
.kp-companyshell .kp-profiletabs__inner { gap: 18px; }
.kp-companyshell .kp-profiletabs a {
	padding-block: 13px 11px;
	font-size: 14px;
}
.kp-companysection__head {
	align-items: center;
}
.kp-companysection__head .kp-eyebrow { display: none; }
.kp-companysection__head h2 {
	letter-spacing: -.018em;
}
.kp-sectioncount {
	min-width: 31px;
	height: 31px;
	font-size: 12px;
}
.kp-profileoffers { gap: 9px; }
.kp-profileoffer {
	grid-template-columns: 94px minmax(0, 1fr) 176px;
	gap: 15px;
}
.kp-profileoffer__value { width: 94px; min-height: 86px; }
.kp-profileoffer__content h3 { font-size: clamp(17px, 1.55vw, 21px); }
.kp-profileoffer__content p { font-size: 13px; }
.kp-profileoffer__badges { margin-bottom: 6px; }
.kp-profileoffer__action .kp-revealcode,
.kp-profileoffer__action .kp-button { min-height: 48px; font-size: 15px; }

/* Globaal iets minder zware kaartschaduwen. */

@media (max-width: 1100px) {
	.kp-profileoffer { grid-template-columns: 82px minmax(0,1fr); }
	.kp-profileoffer__value { width: 82px; }
	.kp-profileoffer__action { grid-column: 1 / -1; }
}

@media (max-width: 1023px) {
	.kp-companysummary { grid-column: 1 / -1; }
	.kp-companysummary__logo { max-width: 280px; }
}

@media (max-width: 760px) {
	.kp-searchresults { padding-top: 20px; padding-bottom: 36px; }
	.kp-searchcontext strong { width: 100%; }
	.kp-searchcontext span:first-of-type { padding-left: 0; }
	.kp-searchcontext span:first-of-type::before { display: none; }
	.kp-companysummary { grid-column: auto; }
	.kp-companysummary__logo { max-width: none; }
	.kp-profileoffer { grid-template-columns: 68px minmax(0,1fr); }
	.kp-profileoffer__value { width: 68px; min-height: 68px; }
}
.search .kp-pagehero--search,
.search .kp-searchpage__form,
.search .kp-searchsummary { display: none !important; }
.kp-homehero--simple {
	padding: clamp(42px, 6vw, 72px) 0;
	background: linear-gradient(180deg, #f7fbfc 0%, #ffffff 100%);
	border-bottom: 1px solid var(--va-line);
}

.kp-homehero--simple .kp-homehero__inner {
	display: block;
}

.kp-homehero--simple .kp-homehero__copy {
	max-width: 820px;
}

.kp-homehero--simple h1 {
	max-width: 14ch;
	font-size: clamp(40px, 5.4vw, 66px);
	line-height: 1.02;
}

.kp-homehero--simple p {
	max-width: 680px;
	font-size: 17px;
}

.kp-homehero--simple .kp-homehero__actions {
	margin-top: 22px;
}

.kp-search-hint {
	margin: 0;
	padding: 12px 14px;
	border: 1px solid var(--va-line);
	border-radius: 14px;
	background: #f8fbfc;
	color: var(--va-muted);
	font-size: 14px;
}
.kp-homefinder,
.kp-homehero__chips,
.kp-notfound > .kp-searchpage__form,
.kp-pagehero .kp-ce-search {
	display: none !important;
}

@media (max-width: 700px) {
	.kp-homehero--simple {
		padding: 34px 0;
	}
	.kp-homehero--simple h1 {
		font-size: clamp(36px, 11vw, 48px);
	}
	.kp-homehero--simple .kp-homehero__actions {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 460px) {
	.kp-homehero--simple .kp-homehero__actions {
		grid-template-columns: 1fr;
	}
}
.kp-pagehero--compact {
	padding-block: clamp(34px, 5vw, 58px);
}

.kp-aznav {
	grid-template-columns: repeat(27, minmax(34px, 1fr));
	box-shadow: 0 4px 18px rgba(49, 82, 96, .04);
}

.kp-aznav a,
.kp-aznav span {
	min-width: 34px;
}

.kp-aznav a {
	border: 1px solid transparent;
}

.kp-aznav a:focus-visible {
	text-decoration: none;
	color: var(--va-blue-dark);
	background: var(--va-blue-soft);
}

.kp-aznav a:hover, .kp-aznav a:focus-visible {
	border-color: #bddde4;
}

.kp-aznav span {
	background: transparent;
}

.kp-azgroup__letter {
	color: var(--va-ink);
}

.kp-azshop {
	transition: border-color .15s ease, background .15s ease, transform .15s ease;
}

.kp-azshop:hover {
	transform: translateY(-1px);
}

.kp-azshop__copy strong {
	margin-bottom: 3px;
	color: var(--va-ink);
}

.kp-offertab {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	border: 1px solid transparent;
	background: transparent;
	color: var(--va-muted);
	font: inherit;
	font-weight: 850;
	cursor: pointer;
}

.kp-offertab strong {
	display: inline-grid;
	place-items: center;
	min-width: 28px;
	height: 28px;
	padding-inline: 7px;
	border-radius: 999px;
	background: #edf2f4;
	color: var(--va-ink);
	font-size: 12px;
}

.kp-offertab:hover {
	color: var(--va-ink);
	background: #f7fafa;
}

.kp-offertab.is-active[data-kp-offer-tab="kortingscodes"] {
	color: var(--va-blue-dark);
	border-color: #b9dce5;
	background: var(--va-blue-soft);
}

.kp-offertab.is-active[data-kp-offer-tab="deals"] {
	color: #5a7620;
	border-color: #d3e6ae;
	background: var(--va-green-soft);
}

.kp-offertab.is-active[data-kp-offer-tab="kortingscodes"] strong {
	background: var(--va-blue);
	color: #fff;
}

.kp-offerpanel[hidden] {
	display: none !important;
}

.kp-companyjumpnav {
	display: flex;
	gap: 18px;
	flex-wrap: wrap;
	padding: 2px 2px 18px;
	margin-top: -2px;
}

.kp-companyjumpnav a {
	font-size: 14px;
	font-weight: 800;
	color: var(--va-blue-dark);
}

@media (max-width: 1120px) {
}

@media (max-width: 720px) {
	.kp-offertab { padding-inline: 10px; }
	.kp-companyjumpnav { gap: 12px; }
}

.kp-productcard {
	display: flex;
	min-width: 0;
	flex-direction: column;
	transition: border-color .16s ease, transform .16s ease, box-shadow .16s ease;
}

.kp-productcard__image {
	display: grid;
	place-items: center;
}

.kp-productcard__image:hover { text-decoration: none; }

.kp-productcard__placeholder {
	display: grid;
	place-items: center;
	width: 88px;
	height: 88px;
	border-radius: 18px;
	background: #fff;
	border: 1px solid var(--va-line);
	font-size: 26px;
	font-weight: 900;
	color: var(--va-muted);
}

.kp-productcard__body {
	display: flex;
	flex: 1;
	flex-direction: column;
}

.kp-productcard__merchant {
	display: inline-block;
	align-self: flex-start;
	font-weight: 800;
	letter-spacing: .035em;
	text-transform: uppercase;
	color: var(--va-blue);
}

.kp-productcard a.kp-productcard__merchant:hover { text-decoration: underline; }

.kp-productcard h3 {
	line-height: 1.3;
	margin: 0;
	overflow-wrap: anywhere;
}

.kp-productcard h3 a { color: var(--va-ink); }
.kp-productcard h3 a:hover { color: var(--va-blue); text-decoration: none; }

.kp-productcard__price {
	display: flex;
	align-items: baseline;
	gap: 9px;
	margin-top: auto;
}

.kp-productcard__price strong {
	line-height: 1;
	color: var(--va-ink);
}

.kp-productcard__price del {
	font-size: 13px;
	color: var(--va-muted);
}

.kp-productcard__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;
	font-size: 12px;
	color: var(--va-muted);
}

.kp-productcard__meta span + span::before {
	content: "·";
	margin-right: 8px;
}

.kp-productcard__cta {
	border-radius: 12px;
}

.kp-comparepage__products,
.kp-comparepage__guides {
	display: grid;
	gap: 18px;
}

.kp-comparepage__products + .kp-comparepage__guides {
	margin-top: 42px;
}

@media (max-width: 1160px) {
}

@media (max-width: 820px) {
}

@media (max-width: 540px) {
	.kp-productcard {
		display: grid;
		grid-template-columns: 112px minmax(0, 1fr);
		align-items: stretch;
	}
	.kp-productcard__image {
		border-right: 1px solid var(--va-line);
	}
	.kp-productcard__cta { grid-column: auto; }
}

html {
	overflow-x: clip;
}

body {
	background: var(--va-page);
	color: var(--va-ink);
}

/* Full-bleed buitenlagen; de inhoudsbreedte wordt uitsluitend door .kp-container bepaald. */

.kp-main,
.kp-pagehero,
.kp-storehero,
.kp-businesshero,
.kp-homehero,
.kp-servicebar {
	width: 100%;
	max-width: none;
}

.kp-main :where(img, svg, video, iframe, table) {
	max-width: 100%;
}

.kp-prose,
.entry-content {
	max-width: 78ch !important;
}

/* Header */
.kp-band {
	position: relative;
	z-index: 60;
	padding: 10px 0;
	border-top: 4px solid transparent;
	border-image: linear-gradient(90deg, var(--va-blue) 0 50%, var(--va-green) 50% 100%) 1;
	border-bottom: 1px solid var(--va-line);
	box-shadow: none;
}

.kp-band__inner {
	display: grid;
	grid-template-columns: minmax(220px, 270px) minmax(300px, 1fr) auto;
	gap: 22px;
	align-items: center;
	min-height: 66px;
}

.kp-siteidentity {
	min-width: 0;
}

.kp-siteidentity .custom-logo-link,
.kp-siteidentity .kp-wordmark {
	display: inline-flex !important;
	align-items: center;
	max-width: 100%;
}

.kp-siteidentity .custom-logo {
	display: block;
	width: auto !important;
	height: auto !important;
	max-width: 250px !important;
	max-height: 48px !important;
	object-fit: contain;
}

.kp-bandsearch {
	position: relative;
	width: 100%;
	max-width: none !important;
	min-width: 0;
}

.kp-bandsearch input[type="search"] {
	width: 100%;
	min-width: 0;
	padding: 11px 54px 11px 17px;
	border: 1px solid var(--va-line);
	border-radius: 15px;
	font: inherit;
	font-size: 16px;
	box-shadow: none;
}

.kp-bandsearch input[type="search"]:focus {
	background: #fff;
	border-color: #9bcbd5;
	outline: 3px solid rgba(8,123,155,.10);
}

.kp-bandsearch button {
	position: absolute;
	top: 5px;
	right: 5px;
	bottom: 5px;
	width: 42px;
	border: 0;
	border-radius: 11px;
	background: transparent;
	color: var(--va-blue);
	cursor: pointer;
}

.kp-band__cta {
	display: flex;
	justify-content: flex-end;
}

.kp-band__submit {
	border-radius: 14px;
	white-space: nowrap;
}

.kp-band__submit:hover {
	text-decoration: none;
}

.kp-band__burger {
	display: none;
}

.kp-subnav {
	background: #fff;
	border-bottom: 1px solid var(--va-line);
}

.kp-subnav__inner {
	display: flex;
	align-items: center;
	gap: 30px;
	min-height: 49px;
	overflow-x: auto;
	scrollbar-width: none;
}

.kp-subnav__inner::-webkit-scrollbar { display: none; }

.kp-subnav a {
	position: relative;
	padding: 14px 0 12px;
	font-weight: 800;
	white-space: nowrap;
	color: var(--va-ink);
}

.kp-subnav a:hover,
.kp-subnav a.is-active,
.kp-subnav a[aria-current="page"] {
	color: var(--va-blue);
	text-decoration: none;
}

.kp-subnav a.is-active::after,
.kp-subnav a[aria-current="page"]::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--va-blue), var(--va-green));
}

.kp-disclosurebar {
	padding: 8px var(--va-gutter);
	background: var(--va-blue-soft);
	border-bottom: 1px solid #e2ecef;
	color: var(--va-muted);
	font-size: 12px;
	text-align: center;
}

.kp-disclosurebar a { font-weight: 800; color: var(--va-blue-dark); }

/* Sections and heroes */
.kp-section {
	padding-block: var(--va-section-y);
}

.kp-section--soft {
	background: #f0f4f5;
}

.kp-homehero,
.kp-pagehero,
.kp-storehero,
.kp-businesshero,
.kp-contenthero {
	padding-block: clamp(34px, 5vw, 62px) !important;
	background: linear-gradient(135deg, #fff 0%, #f5fafb 100%) !important;
	border-bottom: 1px solid var(--va-line);
}

.kp-homehero__inner {
	display: block !important;
}

.kp-homehero h1,
.kp-pagehero h1,
.kp-storehero h1,
.kp-businesshero h1,
.kp-contenthero h1 {
	max-width: 18ch !important;
	margin: 0;
	font-size: clamp(36px, 4.7vw, 60px) !important;
	line-height: 1.04;
	letter-spacing: -.035em;
	color: var(--va-ink);
}

.kp-homehero p,
.kp-pagehero p,
.kp-storehero p,
.kp-businesshero p,
.kp-contenthero p,
.kp-contenthero__description {
	max-width: 70ch;
	margin: 14px 0 0;
	font-size: clamp(16px, 1.4vw, 18px);
	line-height: 1.6;
	color: var(--va-muted);
}

.kp-homehero__actions {
	display: flex;
	margin-top: 22px;
}

.kp-eyebrow {
	min-height: 29px;
	padding: 5px 10px;
	margin-bottom: 12px;
	border: 1px solid #cfe1e5;
	border-radius: 999px;
	background: #fff;
	color: var(--va-blue-dark);
	font-weight: 850;
}

.kp-sectionhead {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 20px;
}

.kp-sectionhead h2 {
	margin: 0;
	font-size: clamp(26px, 3vw, 38px);
	line-height: 1.08;
}

/* Primary buttons */
.kp-button {
	border: 1px solid transparent;
	border-radius: 13px;
	box-shadow: none;
}

.kp-button:hover {
	text-decoration: none;
	transform: none;
}

/* Home service links */
.kp-servicebar {
	padding: 18px 0;
	background: #fff;
	border-bottom: 1px solid var(--va-line);
}

.kp-servicegrid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0,1fr));
	gap: 12px;
}

.kp-servicegrid > a {
	display: grid;
	grid-template-columns: 44px minmax(0,1fr);
	grid-template-rows: auto auto;
	gap: 1px 11px;
	align-items: center;
	min-width: 0;
	padding: 13px;
	border: 1px solid var(--va-line);
	border-radius: 15px;
	background: #fff;
	box-shadow: none;
}

.kp-servicegrid > a:hover {
	border-color: #bdd9df;
	background: #fbfdfd;
	text-decoration: none;
}

.kp-serviceicon {
	grid-row: 1 / 3;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--va-blue-soft);
	color: var(--va-blue);
}

/* Generic cards */
.kp-empty, .kp-integration-note, .kp-merchantcard, .kp-comparecard, .kp-productcard, .kp-contentcard, .kp-companysummary, .kp-companyscore, .kp-companyinfo, .kp-companyrelatedpanel, .kp-companysection--white, .kp-submitform, .kp-businessmodel {
	border: 1px solid var(--va-line) !important;
	border-radius: var(--va-radius) !important;
	background: #fff;
	box-shadow: none !important;
}

.kp-merchantcard:hover, .kp-comparecard:hover, .kp-productcard:hover, .kp-offercard:hover {
	border-color: #bcd9df !important;
	transform: translateY(-1px);
}

.kp-merchantcard:hover, .kp-comparecard:hover, .kp-productcard:hover {
	box-shadow: var(--va-shadow-hover) !important;
}

/* Merchant grids */
.kp-merchantgrid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0,1fr));
	gap: 14px;
}

.kp-merchantcard {
	display: grid;
	grid-template-columns: 68px minmax(0,1fr);
	gap: 14px;
	align-items: center;
	min-height: 104px;
	padding: 14px;
}

.kp-merchantcard__logo,
.kp-merchantcard__logo .kp-logo {
	width: 68px;
	height: 68px;
}

.kp-merchantcard__logo .kp-logo {
	object-fit: contain;
	padding: 7px;
	border: 1px solid var(--va-line);
	border-radius: 14px;
	background: #fff;
}

.kp-merchantcard__copy { min-width: 0; }
.kp-merchantcard__copy h3 { margin: 0 0 5px; font-size: 16px; line-height: 1.25; overflow-wrap: anywhere; }
.kp-merchantcard__copy span { color: var(--va-muted); font-size: 13px; }

/* A-Z directory */
.kp-azdirectory { display: grid; gap: 26px; }

.kp-aznav {
	display: flex;
	gap: 6px;
	overflow-x: auto;
	padding: 10px;
	border: 1px solid var(--va-line);
	border-radius: 16px;
	background: #fff;
	scrollbar-width: none;
}
.kp-aznav::-webkit-scrollbar { display:none; }
.kp-aznav a,
.kp-aznav span {
	flex: 0 0 36px;
	display: grid;
	place-items: center;
	height: 36px;
	border-radius: 9px;
	font-size: 13px;
	font-weight: 850;
}
.kp-aznav a { background: #f5f8f9; color: var(--va-ink); }
.kp-aznav a:hover { background: var(--va-blue-soft); color: var(--va-blue); text-decoration:none; }
.kp-aznav span { color: #b7c2c7; }

.kp-azgroups { display:grid; gap:16px; }
.kp-azgroup {
	display:grid;
	grid-template-columns: 52px minmax(0,1fr);
	gap:16px;
	align-items:start;
	padding:18px;
	border:1px solid var(--va-line);
	border-radius:18px;
	background:#fff;
	scroll-margin-top:90px;
}
.kp-azgroup__letter {
	display:grid;
	place-items:center;
	width:52px;
	height:52px;
	border-radius:14px;
	background:linear-gradient(145deg,var(--va-blue-soft),var(--va-green-soft));
	font-size:25px;
	font-weight:900;
}
.kp-azgroup__shops { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.kp-azshop {
	display:grid;
	grid-template-columns:48px minmax(0,1fr) auto;
	gap:11px;
	align-items:center;
	min-width:0;
	min-height:72px;
	padding:10px 11px;
	border:1px solid #e6edef;
	border-radius:14px;
	background:#fbfcfc;
}
.kp-azshop:hover { border-color:#bdd9df; background:#fff; text-decoration:none; }
.kp-azshop__logo,
.kp-azshop__logo .kp-logo { width:48px; height:48px; }
.kp-azshop__logo .kp-logo { object-fit:contain; padding:5px; border:1px solid var(--va-line); border-radius:11px; background:#fff; }
.kp-azshop__copy { min-width:0; }
.kp-azshop__copy strong { display:block; font-size:14px; line-height:1.25; overflow-wrap:anywhere; }
.kp-azshop__copy span { display:block; margin-top:3px; font-size:12px; color:var(--va-muted); }
.kp-azshop__arrow { color:#9aabb2; font-size:20px; }

/* Offer lists */
.kp-deals,
.kp-deals--stacked,
.kp-searchpage .kp-deals {
	display: grid;
	grid-template-columns: 1fr !important;
	gap: 12px;
}

.kp-offercard {
	display: grid;
	grid-template-columns: 72px minmax(0,1fr) 190px !important;
	gap: 18px;
	align-items: center;
	min-height: 132px;
	padding: 16px 18px;
}
.kp-offercard__logo,
.kp-offercard__logo .kp-logo { width:72px; height:72px; }
.kp-offercard__logo .kp-logo { object-fit:contain; padding:6px; border:1px solid var(--va-line); border-radius:14px; background:#fff; }
.kp-offercard__topline { margin-bottom:7px; }
.kp-offercard__merchant { font-size:12px; color:var(--va-blue); }
.kp-offercard .kp-deal__title { margin:0 0 8px; }
.kp-offercard__meta { display:flex; gap:7px 12px; flex-wrap:wrap; align-items:center; color:var(--va-muted); }
.kp-offercard__saving { color:var(--va-green-dark); font-size:14px; }
.kp-offercard__action { display:grid; gap:8px; align-content:center; }
.kp-offercard__action .kp-revealcode,
.kp-offercard__action .kp-button { width:100%; min-height:48px; border-radius:999px; }
.kp-offercard__details { text-align:center; font-size:12px; font-weight:750; color:var(--va-muted); }

.kp-votegroup { display:flex; align-items:center; flex-wrap:wrap; margin-top:9px; }
.kp-votegroup__label { color:var(--va-muted); }
.kp-votebutton { height:32px; padding:0 8px; border:1px solid var(--va-line); border-radius:9px; color:var(--va-muted); }
.kp-votebutton--up[aria-pressed="true"] { border-color:#bcdca0; background:var(--va-green-soft); color:#5d7e1f; }
.kp-votebutton--down[aria-pressed="true"] { border-color:#edb6b6; background:#fff1f1; color:#b53d3d; }

/* Search results */
.kp-searchcontext {
	display:flex;
	gap:8px;
	align-items:center;
	flex-wrap:wrap;
	margin:0 0 24px;
	padding:0;
	background:transparent;
	border:0;
	color:var(--va-muted);
	font-size:13px;
}
.kp-searchcontext strong { color:var(--va-ink); font-size:15px; }
.kp-searchcontext span { padding:5px 9px; border:1px solid var(--va-line); border-radius:999px; background:#fff; }
.kp-searchpage { display:grid; }
.kp-searchgroup { padding:0; border:0 !important; border-radius:0 !important; background:transparent !important; }
.kp-searchgroup + .kp-searchgroup { border-top:1px solid var(--va-line) !important; }

/* Company profile */
.kp-companyshell { padding-block: 24px 52px; }
.kp-companyshell__grid { display:grid; grid-template-columns:340px minmax(0,1fr); gap:22px; align-items:start; }
.kp-companyshell__aside,
.kp-companyshell__main { display:grid; gap:14px; }
.kp-companysummary,
.kp-companyscore,
.kp-companyinfo,
.kp-companyrelatedpanel,
.kp-companysection--white { padding:16px; }
.kp-companysummary__logo .kp-logo,
.kp-companysummary__logo .kp-logo--placeholder { width:100%; height:150px; object-fit:contain; padding:12px; border:1px solid var(--va-line); border-radius:15px; background:#fafcfc; }
.kp-companysummary h1 { margin:14px 0 8px; font-size:clamp(25px,2.8vw,34px); line-height:1.08; }
.kp-companysummary p,
.kp-companyscore p,
.kp-companyinfo p { color:var(--va-muted); font-size:14px; }
.kp-companyscore h2,
.kp-companyinfo h2,
.kp-companyrelatedpanel h2,
.kp-companysection--white h2 { font-size:22px; }
.kp-companyscore__highlight { padding:13px; margin:12px 0; border-radius:14px; }
.kp-companyscore__highlight strong { font-size:36px; }
.kp-companyoffershero { display:block; margin-bottom:10px; }
.kp-companyoffershero__stats { display:flex; gap:10px; flex-wrap:wrap; color:var(--va-muted); font-size:13px; }
.kp-companyoffershero__headline { margin-top:10px; padding:8px 11px; border-radius:13px; }
.kp-offertabs { margin:0 0 14px; }
.kp-offertabs__list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; padding:6px; border:1px solid var(--va-line); border-radius:15px; background:#fff; }
.kp-offertab { min-height:48px; padding:8px 12px; border-radius:11px; }
.kp-companysection { margin-bottom:18px; }
.kp-companysection__head { margin-bottom:12px; }
.kp-companysection__head h2 { font-size:clamp(24px,2.6vw,31px); }
.kp-profileoffer { padding:17px; }
.kp-companyjumpnav { padding-bottom:10px; }

/* Products / comparison */
.kp-comparepage { display:grid; gap:32px; }
.kp-productgrid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.kp-productcard { overflow:hidden; }
.kp-productcard__image { aspect-ratio:4/3; padding:12px; background:#f8fafb; border-bottom:1px solid var(--va-line); }
.kp-productcard__image img { width:100%; height:100%; max-height:200px; object-fit:contain; }
.kp-productcard__body { gap:8px; padding:14px; }
.kp-productcard h3 { font-size:16px; }
.kp-productcard__price strong { font-size:21px; }
.kp-productcard__cta { min-height:42px; margin-top:4px; }
.kp-comparegrid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }

/* Content, business and forms */
.kp-contentlayout { display:block; }
.kp-contentcard {
	width:100% !important;
	max-width:none !important;
	padding:clamp(22px,4vw,40px);
}
.kp-contentcard > .kp-prose,
.kp-contentcard.kp-prose { max-width:none !important; }
.kp-contentcard :where(p,ul,ol,blockquote,h2,h3,h4) { max-width:78ch; }
.kp-businesshero__grid { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:30px; align-items:center; }
.kp-businesssubmit__grid { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:24px; align-items:start; }
.kp-submitform { padding:22px; }
.kp-submitform :where(input,select,textarea) { width:100%; max-width:100%; min-width:0; }

/* Footer */
.kp-footer { background:#2f434d; color:#fff; border-top:4px solid var(--va-green); }
.kp-footer__columns { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px; padding-block:36px 28px; }
.kp-footer h2 { font-size:15px; color:#fff; }
.kp-footer ul { margin:0; padding:0; list-style:none; display:grid; gap:7px; }
.kp-footer a { color:#dce7ea; font-size:13px; }
.kp-footer__bottom { padding:16px 0 24px; border-top:1px solid rgba(255,255,255,.12); color:#bcd0d6; font-size:12px; }

/* Responsive */
@media (max-width: 1100px) {
	.kp-band__inner { grid-template-columns:minmax(190px,230px) minmax(0,1fr); gap:16px; }
	.kp-band__cta { display:none; }
	.kp-merchantgrid { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.kp-productgrid { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.kp-companyshell__grid { grid-template-columns:300px minmax(0,1fr); }
	.kp-azgroup__shops { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 1023px) {
	.kp-band {
		box-shadow:0 6px 20px rgba(49,82,96,.07);
	}
	.kp-band__burger {
		flex-direction:column;
		align-items:center;
		justify-content:center;
		gap:1px;
		border:0;
		background:transparent;
		color:var(--va-ink);
	}
	.kp-band__burger-label { display:block; font-size:10px; font-weight:850; }
	.kp-mobilemenu:not([hidden]) {
		margin:0;
	}
	.kp-companyshell__grid { grid-template-columns:1fr; }
	.kp-companyshell__aside { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.kp-companysummary { grid-row:span 2; }
	.kp-servicegrid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.kp-comparegrid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.kp-businesshero__grid,
	.kp-businesssubmit__grid { grid-template-columns:1fr; }
	.kp-footer__columns { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 760px) {
	.kp-homehero,
	.kp-pagehero,
	.kp-storehero,
	.kp-businesshero,
	.kp-contenthero { padding-block:30px !important; }
	.kp-homehero h1,
	.kp-pagehero h1,
	.kp-storehero h1,
	.kp-businesshero h1,
	.kp-contenthero h1 { max-width:none !important; font-size:clamp(31px,9vw,42px) !important; }
	.kp-section { padding-block:32px; }
	.kp-sectionhead { align-items:flex-start; flex-direction:column; gap:7px; }
	.kp-servicegrid { grid-template-columns:1fr 1fr; gap:8px; }
	.kp-servicegrid > a { grid-template-columns:38px minmax(0,1fr); padding:10px; }
	.kp-serviceicon { width:38px; height:38px; }
	.kp-merchantgrid { grid-template-columns:1fr; }
	.kp-merchantcard { min-height:88px; }
	.kp-offercard { grid-template-columns:58px minmax(0,1fr) !important; gap:12px; padding:14px; }
	.kp-offercard__logo,
	.kp-offercard__logo .kp-logo { width:58px; height:58px; }
	.kp-offercard__action { grid-column:1/-1; }
	.kp-offercard__action .kp-revealcode,
	.kp-offercard__action .kp-button { min-height:46px; }
	.kp-companyshell__aside { grid-template-columns:1fr; }
	.kp-companysummary { grid-row:auto; }
	.kp-companysummary__logo .kp-logo,
	.kp-companysummary__logo .kp-logo--placeholder { height:140px; }
	.kp-azgroup { grid-template-columns:1fr; padding:14px; }
	.kp-azgroup__letter { width:44px; height:44px; font-size:22px; }
	.kp-azgroup__shops { grid-template-columns:1fr; }
	.kp-offertabs__list { grid-template-columns:1fr 1fr; }
	.kp-productgrid { grid-template-columns:1fr; }
	.kp-productcard { display:grid; grid-template-columns:105px minmax(0,1fr); }
	.kp-productcard__image { aspect-ratio:auto; border-right:1px solid var(--va-line); border-bottom:0; }
	.kp-productcard__body { padding:12px; }
	.kp-comparegrid { grid-template-columns:1fr; }
	.kp-footer__columns { grid-template-columns:1fr 1fr; gap:22px 16px; }
}

@media (max-width: 480px) {
	.kp-siteidentity .custom-logo { max-width:min(190px,62vw) !important; max-height:39px !important; }
	.kp-servicegrid { grid-template-columns:1fr; }
	.kp-homehero__actions { flex-direction:column; }
	.kp-homehero__actions .kp-button { width:100%; }
	.kp-searchcontext { align-items:flex-start; }
	.kp-offertab { font-size:13px; }
	.kp-footer__columns { grid-template-columns:1fr; }
}

/* ============================================================
   Zoekresultaten en feedtitels
   ============================================================ */
.kp-searchpage,
.kp-searchgroup {
	width: 100%;
	min-width: 0;
	justify-self: stretch;
	align-self: stretch;
}

.kp-searchresults {
	min-width: 0;
	justify-self: stretch;
	align-self: stretch;
}

.kp-searchresults {
	padding-block: 26px 46px;
}

.kp-searchcontext {
	margin-bottom: 20px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--va-line);
}

.kp-searchpage {
	gap: 24px;
}

.kp-searchgroup {
	gap: 14px;
}

.kp-searchgroup + .kp-searchgroup {
	padding-top: 24px;
}

.kp-searchgroup .kp-sectionhead {
	width: 100%;
	min-width: 0;
	margin: 0;
	align-items: center;
}

.kp-searchgroup .kp-sectionhead h2 {
	font-size: clamp(24px, 2.2vw, 30px);
}

.kp-searchmerchant {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr) auto;
	gap: 16px;
	align-items: center;
	width: 100%;
	min-width: 0;
	min-height: 102px;
	padding: 14px 18px;
	border: 1px solid var(--va-line);
	border-radius: 18px;
	background: #fff;
	color: var(--va-ink);
}

.kp-searchmerchant:hover {
	border-color: #bcd9df;
	box-shadow: var(--va-shadow);
	text-decoration: none;
}

.kp-searchmerchant__logo,
.kp-searchmerchant__logo .kp-logo {
	width: 72px;
	height: 72px;
}

.kp-searchmerchant__logo .kp-logo {
	object-fit: contain;
	padding: 7px;
	border: 1px solid var(--va-line);
	border-radius: 14px;
	background: #fbfcfc;
}

.kp-searchmerchant__copy {
	min-width: 0;
}

.kp-searchmerchant__copy strong {
	display: block;
	margin-bottom: 4px;
	font-size: 18px;
	line-height: 1.25;
}

.kp-searchmerchant__copy span {
	color: var(--va-muted);
	font-size: 13px;
}

.kp-searchmerchant__cta {
	align-self: center;
	padding: 10px 14px;
	border-radius: 999px;
	background: var(--va-blue-soft);
	color: var(--va-blue-dark);
	font-size: 13px;
	font-weight: 850;
	white-space: nowrap;
}

.kp-searchpage .kp-merchantgrid {
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
	justify-content: start !important;
	justify-items: stretch;
	width: 100%;
}

.kp-offercard__action {
	min-width: 0;
}

.kp-offercard .kp-deal__title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	font-size: clamp(18px, 1.55vw, 22px);
	line-height: 1.22;
}

.kp-offercard__meta, .kp-votegroup {
	row-gap: 6px;
}

.kp-offercard__action {
	width: 100%;
	max-width: 190px;
	justify-self: end;
}

@media (max-width: 1180px) {
	.kp-searchresults {
		padding-block: 22px 40px;
	}

	.kp-offercard {
		grid-template-columns: 66px minmax(0, 1fr) 168px !important;
		gap: 14px;
		padding: 15px;
	}

	.kp-offercard__logo,
	.kp-offercard__logo .kp-logo {
		width: 66px;
		height: 66px;
	}

	.kp-offercard__action {
		max-width: 168px;
	}
}

@media (max-width: 860px) {
	.kp-searchmerchant {
		grid-template-columns: 64px minmax(0,1fr);
		padding: 13px;
	}

	.kp-searchmerchant__logo,
	.kp-searchmerchant__logo .kp-logo {
		width: 64px;
		height: 64px;
	}

	.kp-searchmerchant__cta {
		grid-column: 1 / -1;
		justify-self: start;
	}

	.kp-offercard {
		grid-template-columns: 62px minmax(0,1fr) !important;
	}

	.kp-offercard__action {
		grid-column: 1 / -1;
		max-width: none;
		justify-self: stretch;
	}
}

@media (max-width: 560px) {
	.kp-searchcontext {
		gap: 7px 11px;
	}

	.kp-searchcontext strong {
		width: 100%;
	}

	.kp-searchmerchant__cta {
		width: 100%;
		text-align: center;
	}

	.kp-offercard .kp-deal__title {
		font-size: 18px;
	}
}
.kp-paid-slot {
	padding: 14px 0;
	background: transparent;
}
.kp-paid-slot--sitewide {
	padding: 10px 0;
	background: #f8fbfb;
	border-bottom: 1px solid var(--va-line);
}
.kp-paid-slot--footer_top {
	padding-block: 24px;
	background: #eef4f5;
}
.kp-paidcard {
	display: grid;
	grid-template-columns: auto minmax(0,1fr) auto;
	gap: 18px;
	align-items: center;
	padding: 18px;
	border: 1px solid #cfe0e4;
	border-radius: 20px;
	background: linear-gradient(135deg,#fff 0%,#f7fbfc 100%);
	box-shadow: 0 8px 24px rgba(49,82,96,.05);
}
.kp-paidcard__media {
	width: 88px;
	height: 68px;
	border: 1px solid var(--va-line);
	border-radius: 14px;
	background: #fff;
	overflow: hidden;
}
.kp-paidcard__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 8px;
}
.kp-paidcard__copy { min-width: 0; }
.kp-paidcard__copy small {
	display: inline-block;
	margin-left: 8px;
	color: var(--va-muted);
	font-size: 12px;
}
.kp-paidcard__copy h2 {
	font-size: clamp(18px,2vw,24px);
	margin: 6px 0 4px;
}
.kp-paidcard__copy p {
	margin: 0;
	color: var(--va-muted);
	font-size: 14px;
}
.kp-paidcard__action .kp-button { white-space: nowrap; }
.kp-sponsored-label {
	display: inline-flex;
	align-items: center;
	min-height: 25px;
	padding: 4px 9px;
	border-radius: 999px;
	background: #fff2d9;
	color: #73541c;
	border: 1px solid #edd6a7;
	font-weight: 900;
	letter-spacing: .07em;
	text-transform: uppercase;
}
.kp-merchantcard--sponsored {
	position: relative;
	border-color: #c6dfe4 !important;
	background: linear-gradient(145deg,#fff 0%,#f3fafb 100%) !important;
}
.kp-sponsoredshops {
	display: grid;
	gap: 16px;
	margin-bottom: 28px;
	padding: 20px;
	border: 1px solid var(--va-line);
	border-radius: 22px;
	background: #fff;
}

.kp-saleshero__note {
	padding: 24px;
	border: 1px solid var(--va-line);
	border-radius: 20px;
	background: #fff;
	box-shadow: var(--va-shadow);
}
.kp-saleshero__note strong {
	display: block;
	margin-bottom: 7px;
	font-size: 20px;
}
.kp-saleshero__note p { margin: 0; color: var(--va-muted); }
.kp-salespage { display: grid; gap: 44px; }
.kp-salessection { display: grid; gap: 18px; }
.kp-packagegrid {
	display: grid;
	grid-template-columns: repeat(4,minmax(0,1fr));
	gap: 16px;
}
.kp-packagecard {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 22px;
	border: 1px solid var(--va-line);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 6px 24px rgba(49,82,96,.04);
}
.kp-packagecard--best {
	border-color: #c9de95;
	background: linear-gradient(180deg,#fbfdf6 0%,#fff 100%);
}
.kp-packagecard__badge {
	align-self: flex-start;
	margin-bottom: 12px;
	padding: 5px 9px;
	border-radius: 999px;
	background: var(--va-green-soft);
	color: var(--va-green-dark);
	font-size: 10px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .06em;
}
.kp-packagecard h3 { font-size: 20px; margin-bottom: 12px; }
.kp-packagecard__price {
	display: flex;
	align-items: baseline;
	gap: 6px;
	margin-bottom: 12px;
}
.kp-packagecard__price strong { font-size: 30px; color: var(--va-blue-dark); }
.kp-packagecard__price span { color: var(--va-muted); font-size: 13px; }
.kp-packagecard p { flex: 1; color: var(--va-muted); font-size: 14px; }
.kp-salesrequest {
	display: grid;
	grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr);
	gap: 32px;
	align-items: start;
	padding: 26px;
	border: 1px solid var(--va-line);
	border-radius: 24px;
	background: #fff;
}
.kp-salesrequest__intro ul {
	padding-left: 20px;
	color: var(--va-muted);
}
.kp-salesrequest .kp-submitform {
	margin: 0;
	box-shadow: none;
	border-radius: 18px;
	background: #f8fafb;
}
.kp-packagechoice {
	display: grid;
	gap: 12px;
	margin-block: 10px 4px;
}
.kp-packagechoice > p { margin: -4px 0 4px; color: var(--va-muted); }
.kp-packagechoice__grid {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 10px;
}
.kp-packageoption {
	display: grid !important;
	grid-template-columns: 22px minmax(0,1fr) !important;
	gap: 10px;
	align-items: start !important;
	padding: 14px !important;
	border: 1px solid var(--va-line);
	border-radius: 14px;
	background: #fff;
	cursor: pointer;
}
.kp-packageoption:has(input:checked) {
	border-color: #9bcbd5;
	background: var(--va-blue-soft);
	box-shadow: inset 0 0 0 1px #9bcbd5;
}
.kp-packageoption input { width: auto !important; margin-top: 3px; }
.kp-packageoption span { display: grid; gap: 4px; }
.kp-packageoption strong { color: var(--va-ink); }
.kp-packageoption em { font-style: normal; font-weight: 800; color: var(--va-blue); }
.kp-packageoption small { color: var(--va-muted); font-weight: 500; line-height: 1.4; }

.kp-searchtoggle,
.kp-disclosurebar__mobile {
	display: none;
}

@media (max-width: 1023px) {
	:root {
		--va-touch: 46px;
		--va-section-y: 30px;
	}

	body {
		-webkit-text-size-adjust: 100%;
	}

	.kp-band {
		top: 0;
		z-index: 100;
		padding: 7px 0;
	}

	.admin-bar .kp-band { top: 32px; }

	.kp-band__inner {
		display: grid;
		grid-template-columns: 48px minmax(150px, 210px) minmax(220px, 1fr);
		grid-template-rows: 52px;
		gap: 10px;
		align-items: center;
		min-height: 0;
	}

	.kp-band__burger {
		display: none;
		grid-column: 1;
		grid-row: 1;
		width: 48px;
		height: 48px;
		min-width: 48px;
		min-height: 48px;
		padding: 0;
	}

	.js .kp-band__burger { display: inline-flex; }

	.kp-siteidentity {
		grid-column: 2;
		grid-row: 1;
		min-width: 0;
	}

	.kp-siteidentity .custom-logo {
		max-width: 200px !important;
		max-height: 40px !important;
	}

	.kp-bandsearch {
		grid-column: 3;
		grid-row: 1;
		min-width: 0;
	}

	.kp-bandsearch input[type="search"] {
		font-size: 16px;
	}

	.kp-band__cta { display: none !important; }
	.kp-subnav { display: block !important; }
	.js .kp-subnav { display: none !important; }

	.kp-mobilemenu:not([hidden]) {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		z-index: 120;
		display: block !important;
		max-height: min(72svh, 620px);
		overflow-y: auto;
		border-top: 1px solid var(--va-line);
		border-bottom: 1px solid var(--va-line);
		background: #fff;
		box-shadow: 0 18px 38px rgba(49,82,96,.14);
	}

	.kp-mobilemenu__inner {
		padding-block: 12px 16px !important;
	}

	.kp-mobilemenu__nav ul {
		display: grid;
		grid-template-columns: repeat(2, minmax(0,1fr));
		gap: 8px;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.kp-mobilemenu__nav a {
		display: flex;
		align-items: center;
		gap: 10px;
		min-height: 52px;
		padding: 11px 13px;
		border: 1px solid var(--va-line);
		border-radius: 14px;
		background: #fff;
		font-weight: 800;
		color: var(--va-ink);
	}

	.kp-mobilemenu__nav a.is-active,
	.kp-mobilemenu__nav a[aria-current="page"] {
		border-color: #bcd9df;
		background: var(--va-blue-soft);
		color: var(--va-blue-dark);
	}

	.kp-mobilemenu__nav a span[aria-hidden="true"] {
		display: grid;
		place-items: center;
		width: 30px;
		height: 30px;
		border-radius: 9px;
		background: #f4f7f8;
		font-size: 15px;
		flex: 0 0 auto;
	}

	.kp-mobilemenu__actions {
		margin-top: 10px;
	}

	.kp-mobilemenu__secondary {
		font-weight: 750;
		color: var(--va-blue);
	}

	html:not(.js) .kp-subnav__inner { overflow-x:auto; flex-wrap:nowrap; }

	.kp-disclosurebar {
		min-height: 34px;
		padding: 7px var(--va-gutter);
		font-size: 11px;
	}

	.kp-breadcrumbs .kp-container {
		min-height: 36px;
		font-size: 11px;
	}

	.kp-homehero,
	.kp-pagehero,
	.kp-storehero,
	.kp-businesshero,
	.kp-contenthero {
		padding-block: 28px !important;
	}

	.kp-homehero h1,
	.kp-pagehero h1,
	.kp-storehero h1,
	.kp-businesshero h1,
	.kp-contenthero h1 {
		font-size: clamp(32px, 5.2vw, 46px) !important;
		line-height: 1.05;
	}

	.kp-section {
		padding-block: 30px;
	}

	.kp-sectionhead {
		margin-bottom: 15px;
	}

	.kp-filterbar,
	.kp-offertabs__list,
	.kp-aznav {
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;
	}

	.kp-filterbar {
		flex-wrap: nowrap;
		overflow-x: auto;
		padding-bottom: 4px;
		scrollbar-width: none;
	}
	.kp-filterbar::-webkit-scrollbar { display: none; }
	.kp-filterbar .kp-chip { flex: 0 0 auto; scroll-snap-align: start; }

	/* On phone/tablet the useful content comes before editorial/supporting panels. */
	.kp-companyshell__grid {
		display: flex !important;
		flex-direction: column;
		gap: 14px;
	}

	.kp-companyshell__aside {
		display: contents !important;
	}

	.kp-companysummary { order: 1; width: 100%; }
	.kp-companyshell__main { order: 2; width: 100%; }
	.kp-companyscore { order: 3; width: 100%; }
	.kp-companyinfo { order: 4; width: 100%; }
	.kp-companyrelatedpanel { order: 5; width: 100%; }

	.kp-companysummary {
		display: grid;
		grid-template-columns: 120px minmax(0,1fr);
		gap: 14px;
		align-items: center;
		padding: 14px;
	}

	.kp-companysummary__logo {
		grid-row: 1 / span 3;
		margin: 0;
	}

	.kp-companysummary__logo .kp-logo,
	.kp-companysummary__logo .kp-logo--placeholder {
		height: 110px;
		width: 110px;
	}

	.kp-companysummary h1 {
		margin: 0;
		font-size: clamp(25px, 4vw, 34px);
	}

	.kp-companysummary p {
		margin: 0;
	}

	.kp-companysummary__meta {
		grid-column: 2;
		margin-top: 2px;
	}

	.kp-companyoffershero {
		margin-bottom: 8px;
	}

	.kp-companyoffershero__stats {
		overflow-x: auto;
		flex-wrap: nowrap;
		padding-bottom: 2px;
		white-space: nowrap;
		scrollbar-width: none;
	}
	.kp-companyoffershero__stats::-webkit-scrollbar { display:none; }

	.kp-offertabs {
		position: sticky;
		top: 70px;
		z-index: 28;
		margin-bottom: 12px;
		background: var(--va-page);
		padding-block: 4px;
	}

	.admin-bar .kp-offertabs { top: 102px; }

	.kp-offertabs__list {
		grid-template-columns: repeat(2, minmax(145px,1fr));
		overflow-x: auto;
	}

	.kp-profileoffer {
		grid-template-columns: 84px minmax(0,1fr) !important;
		gap: 12px !important;
		padding: 14px !important;
	}

	.kp-profileoffer__value {
		width: 84px !important;
		min-height: 76px !important;
	}

	.kp-profileoffer__value strong {
		font-size: 22px !important;
	}

	.kp-profileoffer__content h3 {
		font-size: 19px !important;
	}

	.kp-profileoffer__action {
		grid-column: 1 / -1;
		width: 100%;
	}

	.kp-profileoffer__action .kp-revealcode,
	.kp-profileoffer__action .kp-button {
		min-height: var(--va-touch);
	}

	.kp-aznav {
		position: sticky;
		top: 70px;
		z-index: 24;
		padding: 8px;
	}

	.admin-bar .kp-aznav { top: 102px; }

	.kp-azgroup {
		scroll-margin-top: 132px;
	}

	.kp-productgrid {
		grid-template-columns: repeat(2,minmax(0,1fr));
	}

	.kp-footer__columns {
		gap: 22px;
	}
}

@media (max-width: 782px) {
	.admin-bar .kp-band { top: 46px; }
	.admin-bar .kp-offertabs,
	.admin-bar .kp-aznav { top: 116px; }
}

@media (max-width: 640px) {
	:root {
		--va-section-y: 24px;
	}

	.kp-band {
		padding: 6px 0;
	}

	.kp-band__inner {
		gap: 6px 8px;
	}

	.kp-band__burger {
		grid-row: 1;
		width: 46px;
		height: 46px;
	}

	.kp-band__burger-icon svg {
		width: 23px;
		height: 23px;
	}

	.kp-band__burger-label {
		font-size: 9px;
	}

	.kp-siteidentity {
		grid-row: 1;
		display: flex;
		justify-content: center;
	}

	.kp-siteidentity .custom-logo {
		max-width: min(190px, 58vw) !important;
		max-height: 37px !important;
	}

	.kp-wordmark {
		font-size: clamp(19px, 6.2vw, 27px) !important;
	}

	.kp-bandsearch input[type="search"] {
		border-radius: 13px;
	}

	.kp-mobilemenu__nav ul {
		grid-template-columns: 1fr;
	}

	.kp-mobilemenu__nav a {
		min-height: 48px;
	}

	.kp-disclosurebar {
		min-height: 30px;
		padding-block: 5px;
	}

	.kp-disclosurebar__text,
	.kp-disclosurebar__more {
		display: none;
	}

	.kp-disclosurebar__mobile {
		display: inline;
	}

	.kp-breadcrumbs {
		display: none;
	}

	.kp-homehero,
	.kp-pagehero,
	.kp-storehero,
	.kp-businesshero,
	.kp-contenthero {
		padding-block: 22px !important;
	}

	.kp-homehero h1,
	.kp-pagehero h1,
	.kp-storehero h1,
	.kp-businesshero h1,
	.kp-contenthero h1 {
		letter-spacing: -.025em;
	}

	.kp-homehero p, .kp-pagehero p, .kp-storehero p, .kp-businesshero p, .kp-contenthero p, .kp-contenthero__description {
		margin-top: 9px;
		line-height: 1.5;
	}

	.kp-homehero p {
		font-size: 15px;
	}

	.kp-section {
		padding-block: 24px;
	}

	.kp-sectionhead {
		gap: 5px;
		margin-bottom: 13px;
	}

	.kp-eyebrow {
		min-height: 26px;
		margin-bottom: 8px;
	}

	.kp-button,
	.kp-chip,
	.kp-revealcode,
	.kp-ticket {
		touch-action: manipulation;
	}

	.kp-servicegrid {
		overflow-x: auto;
		scrollbar-width: none;
	}
	.kp-servicegrid::-webkit-scrollbar { display: none; }
	.kp-servicegrid > a {
		flex: 0 0 min(78vw, 270px);
		scroll-snap-align: start;
	}

	.kp-merchantcard,
	.kp-searchmerchant {
		grid-template-columns: 56px minmax(0,1fr);
		gap: 11px;
		min-height: 78px;
		padding: 11px;
	}

	.kp-merchantcard__logo,
	.kp-merchantcard__logo .kp-logo,
	.kp-searchmerchant__logo,
	.kp-searchmerchant__logo .kp-logo {
		width: 56px;
		height: 56px;
	}

	.kp-searchmerchant__cta {
		grid-column: 2;
		justify-self: start;
		width: auto;
		padding: 7px 10px;
	}

	.kp-searchcontext {
		margin-bottom: 14px;
		padding-bottom: 12px;
		gap: 6px;
	}

	.kp-searchcontext strong {
		width: auto;
	}

	.kp-searchcontext span {
		padding: 4px 7px;
		font-size: 11px;
	}

	.kp-searchgroup + .kp-searchgroup {
		padding-top: 19px;
	}

	.kp-offercard {
		grid-template-columns: 50px minmax(0,1fr) !important;
		gap: 10px;
		padding: 12px;
	}

	.kp-offercard__logo,
	.kp-offercard__logo .kp-logo {
		width: 50px;
		height: 50px;
	}

	.kp-offercard .kp-deal__title {
		font-size: 17px;
		line-height: 1.2;
		margin-bottom: 6px;
	}

	.kp-offercard__topline {
		margin-bottom: 5px;
	}

	.kp-offercard__action {
		grid-column: 1 / -1;
		gap: 6px;
	}

	.kp-offercard__action .kp-revealcode,
	.kp-offercard__action .kp-button {
		min-height: 46px;
	}

	.kp-offercard__details {
		justify-content: center;
	}

	.kp-votegroup {
		grid-column: 1 / -1;
		margin-top: 5px;
	}

	.kp-companyshell {
		padding-block: 14px 28px;
	}

	.kp-companysummary {
		grid-template-columns: 82px minmax(0,1fr);
		padding: 12px;
	}

	.kp-companysummary__logo .kp-logo,
	.kp-companysummary__logo .kp-logo--placeholder {
		width: 82px;
		height: 82px;
		padding: 8px;
	}

	.kp-companysummary h1 {
		font-size: 24px;
	}

	.kp-companysummary p {
		grid-column: 1 / -1;
		font-size: 13px;
	}

	.kp-companysummary__meta {
		grid-column: 1 / -1;
	}

	.kp-companyscore,
	.kp-companyinfo,
	.kp-companyrelatedpanel,
	.kp-companysection--white {
		padding: 14px;
	}

	/* Keep the phone flow short: the canonical Over-section already covers this copy. */
	.kp-companyinfo,
	.kp-companyjumpnav {
		display: none !important;
	}

	.kp-companyscore h2,
	.kp-companyinfo h2,
	.kp-companyrelatedpanel h2,
	.kp-companysection--white h2 {
		font-size: 20px;
	}

	.kp-companyoffershero__headline {
		display: none;
	}

	.kp-companyoffershero__stats span:nth-child(n+2) {
		display: none;
	}
	.admin-bar .kp-offertabs { top: 106px; }

	.kp-offertabs__list {
		grid-template-columns: repeat(2,minmax(135px,1fr));
		padding: 5px;
	}

	.kp-offertab {
		min-height: 43px;
		font-size: 13px;
	}

	.kp-profileoffer {
		grid-template-columns: 70px minmax(0,1fr) !important;
		padding: 12px !important;
	}

	.kp-profileoffer__value {
		width: 70px !important;
		min-height: 66px !important;
	}

	.kp-profileoffer__value strong {
		font-size: 19px !important;
	}

	.kp-profileoffer__value span {
		font-size: 9px !important;
	}

	.kp-profileoffer__content h3 {
		font-size: 17px !important;
		line-height: 1.25;
	}

	.kp-profileoffer__badges .kp-badge--ghost {
		display: none;
	}

	.kp-relatedcompanies--panel {
		display: flex;
		overflow-x: auto;
		gap: 8px;
		padding-bottom: 3px;
		scrollbar-width: none;
	}
	.kp-relatedcompanies--panel::-webkit-scrollbar { display:none; }
	.kp-relatedcompanies--panel > a {
		flex: 0 0 132px;
	}

	.kp-aznav {
		margin-inline: calc(-1 * var(--va-gutter));
		padding-inline: var(--va-gutter);
		border-left: 0;
		border-right: 0;
		border-radius: 0;
	}
	.admin-bar .kp-aznav { top: 106px; }

	.kp-aznav a,
	.kp-aznav span {
		flex-basis: 34px;
		height: 34px;
	}

	.kp-azgroup {
		gap: 10px;
		padding: 12px;
	}

	.kp-azgroup__letter {
		width: 38px;
		height: 38px;
		font-size: 19px;
	}

	.kp-azshop {
		grid-template-columns: 44px minmax(0,1fr) auto;
		min-height: 64px;
		padding: 8px;
	}

	.kp-azshop__logo,
	.kp-azshop__logo .kp-logo {
		width: 44px;
		height: 44px;
	}

	.kp-productgrid {
		grid-template-columns: 1fr;
	}

	.kp-productcard {
		display: grid;
		grid-template-columns: 96px minmax(0,1fr);
	}

	.kp-productcard__image {
		border-right: 1px solid var(--va-line);
		border-bottom: 0;
		padding: 8px;
	}

	.kp-productcard__body {
		padding: 11px;
	}

	.kp-productcard h3 {
		font-size: 15px;
	}

	.kp-productcard__price strong {
		font-size: 19px;
	}

	.kp-businesssubmit__grid,
	.kp-businesshero__grid,
	.kp-formgrid {
		grid-template-columns: 1fr !important;
	}

	.kp-submitform {
		padding: 14px;
	}

	.kp-submitform :where(input, select, textarea),
	.kp-bandsearch input[type="search"] {
		font-size: 16px !important;
	}

	.kp-modal {
		align-items: flex-end;
		padding: 0;
	}

	.kp-modal__dialog {
		width: 100%;
		max-width: none;
		overflow-y: auto;
		border-radius: 24px 24px 0 0;
	}

	.kp-modal__panel {
		border-radius: 24px 24px 0 0;
		padding: 62px 14px 18px;
	}

	.kp-modal__title {
		font-size: 22px;
		margin-bottom: 16px;
	}

	.kp-modal__couponbar {
		padding: 14px;
		border-radius: 18px;
	}

	.kp-modal__actions .kp-button {
		width: 100%;
		min-width: 0;
	}

	.kp-footer__columns {
		grid-template-columns: 1fr;
		gap: 20px;
		padding-block: 28px 22px;
	}
}

@media (max-width: 390px) {
	.kp-siteidentity .custom-logo {
		max-width: 170px !important;
	}

	.kp-wordmark {
		font-size: 20px !important;
	}

	.kp-profileoffer__value {
		width: 62px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.kp-mobilemenu, .kp-searchtoggle, .kp-offercard, .kp-merchantcard, .kp-button {
		scroll-behavior: auto !important;
	}
	.kp-mobilemenu, .kp-searchtoggle, .kp-merchantcard, .kp-button {
		transition: none !important;
	}
}


/* Mobiele zoekbalk */
@media (max-width: 640px) {
	.kp-searchtoggle { display: none !important; }
	.kp-bandsearch, .js .kp-bandsearch, .js .kp-bandsearch[data-open="true"] {
		display: block !important;
		width: 100%;
		padding-top: 2px;
	}
	.js .kp-bandsearch, .js .kp-bandsearch[data-open="true"] {
		grid-row: 2;
	}
	.kp-bandsearch input[type="search"] {
		width: 100%;
	}
}

/* Commerciële UX */
@media (max-width: 1023px) {
	.kp-packagegrid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.kp-salesrequest { grid-template-columns: 1fr; }
	.kp-paidcard { grid-template-columns: 72px minmax(0,1fr); }
	.kp-paidcard__media { width:72px;height:62px; }
	.kp-paidcard__action { grid-column: 1 / -1; }
	.kp-paidcard__action .kp-button { width:100%; }
}
@media (max-width: 680px) {
	.kp-packagegrid,
	.kp-packagechoice__grid { grid-template-columns: 1fr; }
	.kp-paid-slot { padding-block: 8px; }
	.kp-paidcard { grid-template-columns: 58px minmax(0,1fr); gap:12px; padding:14px; border-radius:16px; }
	.kp-paidcard__media { width:58px;height:54px;border-radius:12px; }
	.kp-paidcard__copy h2 { font-size:18px; }
	.kp-paidcard__copy p { display:none; }
	.kp-sponsoredshops { padding:14px;border-radius:18px; }
	.kp-salesrequest { padding:16px;border-radius:18px; }
}
.kp-newsletter {
	position: relative;
	border-top: 1px solid var(--va-line);
	border-bottom: 1px solid var(--va-line);
	background: linear-gradient(115deg, #edf7f9 0%, #f7faee 100%);
}

.kp-newsletter__inner {
	display: grid;
	grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
	gap: clamp(28px,5vw,68px);
	align-items: center;
	padding-top: clamp(34px,5vw,58px);
	padding-bottom: clamp(34px,5vw,58px);
}

.kp-newsletter__eyebrow {
	display: inline-flex;
	align-items: center;
	margin-bottom: 10px;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--va-blue);
}

.kp-newsletter__copy h2 {
	margin: 0 0 10px;
	font-size: clamp(27px,3.4vw,42px);
	line-height: 1.08;
	color: var(--va-ink);
}

.kp-newsletter__copy p {
	max-width: 620px;
	margin: 0;
	color: var(--va-muted);
	font-size: 16px;
	line-height: 1.6;
}

.kp-newsletter__formwrap {
	padding: 20px;
	border: 1px solid rgba(49,82,96,.12);
	border-radius: 20px;
	background: rgba(255,255,255,.9);
	box-shadow: 0 10px 30px rgba(49,82,96,.06);
}

.kp-newsletterform__row {
	display: grid;
	grid-template-columns: minmax(0,1fr) auto;
	gap: 10px;
}

.kp-newsletterform input[type="email"] {
	width: 100%;
	min-width: 0;
	min-height: 52px;
	padding: 0 16px;
	border: 1px solid var(--va-line);
	border-radius: 12px;
	background: #fff;
	color: var(--va-ink);
	font: inherit;
	font-size: 16px;
}

.kp-newsletterform input[type="email"]:focus {
	outline: 3px solid rgba(8,123,155,.13);
	border-color: var(--va-blue);
}

.kp-newsletterform__row .kp-button {
	min-height: 52px;
	white-space: nowrap;
}

.kp-newsletterform__consent {
	display: grid;
	grid-template-columns: 20px minmax(0,1fr);
	gap: 10px;
	align-items: start;
	margin-top: 12px;
	font-size: 12px;
	line-height: 1.5;
	color: var(--va-muted);
}

.kp-newsletterform__consent input {
	width: 18px;
	height: 18px;
	margin: 1px 0 0;
	accent-color: var(--va-blue);
}

.kp-newsletterform__consent a {
	font-weight: 800;
	text-decoration: underline;
}

.kp-newsletter__notice {
	margin-bottom: 12px;
	padding: 10px 12px;
	border: 1px solid var(--va-line);
	border-radius: 12px;
	background: #f8fafb;
	font-size: 13px;
}
.kp-newsletter__notice.is-success { border-color:#c9dfa0; background:#f7faef; color:#55752a; }
.kp-newsletter__notice.is-error { border-color:#efc7c7; background:#fff7f7; color:#8d3333; }

.kp-footer__cookiebutton {
	appearance: none;
	border: 0;
	padding: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	font-size: 13px;
	font-weight: 800;
	text-decoration: underline;
	cursor: pointer;
	white-space: nowrap;
}

.kp-cookie[hidden] { display:none !important; }
.kp-cookie {
	position: fixed;
	inset: auto 0 0;
	z-index: 99990;
	padding: 18px;
	pointer-events: none;
}

.kp-cookie__card {
	width: min(920px, calc(100vw - 36px));
	margin: 0 auto;
	padding: 20px;
	border: 1px solid rgba(49,82,96,.16);
	border-radius: 22px;
	background: rgba(255,255,255,.98);
	box-shadow: 0 24px 70px rgba(28,54,66,.22);
	backdrop-filter: blur(16px);
	pointer-events: auto;
}

.kp-cookie__copy {
	display: grid;
	grid-template-columns: 48px minmax(0,1fr);
	gap: 14px;
	align-items: start;
}

.kp-cookie__icon {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 15px;
	background: linear-gradient(135deg,var(--va-blue) 0 52%,var(--va-green) 52% 100%);
	color: #fff;
	font-size: 22px;
	font-weight: 900;
}

.kp-cookie__copy h2 {
	margin: 0 0 5px;
	font-size: 22px;
	line-height: 1.2;
	color: var(--va-ink);
}

.kp-cookie__copy p {
	margin: 0;
	color: var(--va-muted);
	font-size: 14px;
	line-height: 1.55;
}

.kp-cookie__copy a { font-weight:800; text-decoration:underline; }

.kp-cookie__preferences {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 10px;
	margin-top: 16px;
}

.kp-cookie__preferences[hidden] { display:none; }

.kp-cookie__preferences label {
	display: grid;
	grid-template-columns: minmax(0,1fr) auto;
	gap: 10px;
	align-items: center;
	padding: 13px;
	border: 1px solid var(--va-line);
	border-radius: 14px;
	background: #f8fafb;
}

.kp-cookie__preferences span { display:grid; gap:3px; }
.kp-cookie__preferences strong { color:var(--va-ink); font-size:14px; }
.kp-cookie__preferences small { color:var(--va-muted); font-size:11px; line-height:1.35; }
.kp-cookie__preferences input { width:20px; height:20px; accent-color:var(--va-blue); }

.kp-cookie__actions {
	display: flex;
	justify-content: flex-end;
	gap: 9px;
	flex-wrap: wrap;
	margin-top: 16px;
}

.kp-cookie__button {
	min-height: 44px;
	padding: 0 16px;
	border-radius: 11px;
	border: 1px solid var(--va-line);
	font: inherit;
	font-size: 13px;
	font-weight: 850;
	cursor: pointer;
}

.kp-cookie__button--secondary {
	background: #fff;
	color: var(--va-ink);
}

.kp-cookie__button--secondary:hover { border-color:#a9cbd3; background:#f6fafb; }

@media (max-width: 820px) {
	.kp-newsletter__inner { grid-template-columns:1fr; gap:22px; }
	.kp-cookie__preferences { grid-template-columns:1fr; }
}

@media (max-width: 640px) {
	.kp-newsletter__inner { padding-top:30px; padding-bottom:30px; }
	.kp-newsletter__formwrap { padding:14px; border-radius:16px; }
	.kp-newsletterform__row { grid-template-columns:1fr; }
	.kp-newsletterform__row .kp-button { width:100%; }
	.kp-cookie { padding:0; }
	.kp-cookie__card {
		width:100%;
		max-height:88svh;
		overflow:auto;
		padding:16px;
		border-radius:22px 22px 0 0;
		border-bottom:0;
	}
	.kp-cookie__copy { grid-template-columns:42px minmax(0,1fr); gap:11px; }
	.kp-cookie__icon { width:42px; height:42px; border-radius:13px; font-size:19px; }
	.kp-cookie__copy h2 { font-size:20px; }
	.kp-cookie__actions { display:grid; grid-template-columns:1fr; }
	.kp-cookie__button { width:100%; min-height:46px; }
	.kp-footer__bottom { flex-direction:column; }
}

@media (prefers-reduced-motion: reduce) {
	.kp-cookie__card,
	.kp-newsletterform input { transition:none !important; }
}

.kp-footer__bottom {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
}
.kp-footer__bottom p { margin:0; }
@media (max-width:640px) {
	.kp-footer__bottom { align-items:flex-start; flex-direction:column; }
}

/* Gedeelde basis */
.kp-offercard--code,
.kp-offercard--deal {
	position: relative;
	width: 100%;
	min-width: 0;
	border: 1px solid var(--va-line) !important;
	border-radius: 20px !important;
	box-shadow: none !important;
	overflow: hidden;
	transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.kp-offercard--code:hover,
.kp-offercard--deal:hover {
	transform: translateY(-1px);
	box-shadow: 0 10px 28px rgba(49,82,96,.08) !important;
}

.kp-offertype {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 26px;
	padding: 4px 9px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: .04em;
	text-transform: uppercase;
}

/* Kortingscode: blauw, ticket/copy-first */
.kp-offercard--code {
	grid-template-columns: 74px minmax(0,1fr) 220px !important;
	gap: 18px;
	align-items: center;
	min-height: 136px;
	padding: 18px;
	border-left: 4px solid var(--va-blue) !important;
	background: linear-gradient(90deg, #f8fcfd 0%, #fff 20%, #fff 100%) !important;
}

.kp-offercard--code:hover {
	border-color: #a9d4dd !important;
	border-left-color: var(--va-blue) !important;
}

.kp-codecard__logo .kp-logo {
	width: 74px;
	height: 74px;
}

.kp-codecard__logo .kp-logo {
	object-fit: contain;
	padding: 7px;
	border: 1px solid #d8e8eb;
	border-radius: 16px;
	background: #fff;
}

.kp-offertype--code {
	min-width: 28px;
	padding-inline: 8px;
	background: var(--va-blue-soft);
	color: var(--va-blue-dark);
	border: 1px solid #c9e1e6;
}

.kp-offercard--code .kp-offercard__merchant {
	color: var(--va-blue-dark);
}

.kp-offercard--code .kp-offercard__saving {
	color: var(--va-blue-dark);
	font-size: 14px;
}

.kp-codecard__action {
	max-width: 220px !important;
}

.kp-code-ticket {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0,1fr) auto;
	align-items: center;
	width: 100%;
	min-height: 54px;
	padding: 0;
	border: 0;
	border-radius: 14px;
	background: var(--va-blue);
	color: #fff;
	font: inherit;
	cursor: pointer;
	overflow: hidden;
}

.kp-code-ticket:hover,
.kp-code-ticket:focus-visible {
	background: #066c88;
}

.kp-code-ticket__label {
	padding: 14px 12px 14px 18px;
	text-align: left;
}

.kp-code-ticket__peek {
	align-self: stretch;
	display: grid;
	place-items: center;
	min-width: 76px;
	padding: 0 12px;
	border-left: 2px dashed rgba(255,255,255,.55);
	background: rgba(255,255,255,.1);
	font-size: 12px;
	letter-spacing: .07em;
}

/* Deal: groen, value/shop-first */
.kp-offercard--deal {
	grid-template-columns: 126px minmax(0,1fr) 190px !important;
	gap: 20px;
	align-items: center;
	min-height: 154px;
	padding: 16px 18px 16px 16px;
	background: #fff !important;
}

.kp-offercard--deal:hover {
	border-color: #c9dd9e !important;
}

.kp-dealcard__visual {
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 9px;
}

.kp-dealcard__logo .kp-logo {
	width: 66px;
	height: 54px;
}

.kp-dealcard__logo .kp-logo {
	object-fit: contain;
	padding: 5px;
	border: 0;
	border-radius: 10px;
	background: #fff;
}

.kp-dealcard__saving {
	text-align: center;
	overflow-wrap: anywhere;
}

.kp-offertype--deal {
	background: var(--va-green-soft);
	border: 1px solid #d1e2aa;
	color: #5f7d23;
}

.kp-dealcard__excerpt {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	margin: -1px 0 9px;
	color: var(--va-muted);
	font-size: 13px;
	line-height: 1.48;
}

.kp-dealcard__action {
	max-width: 190px !important;
}

.kp-deal-cta, .kp-profile-dealcta {
	display: flex !important;
	align-items: center;
	gap: 10px;
	width: 100%;
	padding: 11px 17px;
	border: 0 !important;
	border-radius: 999px !important;
	text-decoration: none !important;
}

.kp-profile-dealcta {
	justify-content: center;
	min-height: 52px;
	background: var(--va-green) !important;
	color: #20320f !important;
	text-align: center;
}

.kp-profile-dealcta:hover {
	background: #8eb734 !important;
	color: #17250b !important;
}

/* Profielrijen volgen hetzelfde onderscheid */
.kp-profileoffer--code {
	border-left: 4px solid var(--va-blue) !important;
	background: linear-gradient(90deg,#f8fcfd 0%,#fff 22%) !important;
}

.kp-profileoffer--deal {
	border-left: 4px solid var(--va-green) !important;
	background: linear-gradient(90deg,#fbfdf7 0%,#fff 22%) !important;
}

.kp-profileoffer--code .kp-profileoffer__value {
	border: 1px dashed #a8d3dc !important;
	background: var(--va-blue-soft) !important;
}

.kp-profileoffer--code .kp-profileoffer__value strong {
	color: var(--va-blue-dark) !important;
}

.kp-profileoffer--deal .kp-profileoffer__value {
	border: 1px solid #d7e7b5 !important;
	background: var(--va-green-soft) !important;
}

.kp-profileoffer--deal .kp-profileoffer__value strong {
	color: #58751f !important;
}

.kp-profile-codecta {
	background: var(--va-blue) !important;
	border-radius: 14px !important;
}

.kp-profile-codecta:hover {
	background: #066c88 !important;
}

.kp-profileoffer--code.kp-profileoffer--top .kp-profileoffer__ribbon {
	background: var(--va-blue-soft) !important;
	color: var(--va-blue-dark) !important;
}

.kp-profileoffer--deal.kp-profileoffer--top .kp-profileoffer__ribbon {
	background: var(--va-green-soft) !important;
	color: #58751f !important;
}

/* Landingspagina's */
.kp-pagehero--codes {
	background: linear-gradient(180deg, var(--va-blue-soft) 0%, #fff 100%) !important;
}

.kp-pagehero--deals {
	background: linear-gradient(180deg, var(--va-green-soft) 0%, #fff 100%) !important;
}

.kp-offerlisting--codes .kp-chip.is-active {
	border-color: var(--va-blue) !important;
	background: var(--va-blue-soft) !important;
	color: var(--va-blue-dark) !important;
}

.kp-offerlisting--deals .kp-chip.is-active {
	border-color: var(--va-green-dark) !important;
	background: var(--va-green-soft) !important;
	color: #58751f !important;
}

/* Detailpagina */
.kp-offerdetail {
	padding-block: 28px 48px;
}

.kp-offerdetail__card {
	display: grid;
	grid-template-columns: 120px minmax(0,1fr) 230px;
	gap: 24px;
	align-items: center;
	padding: 24px;
	border: 1px solid var(--va-line);
	border-radius: 22px;
	background: #fff;
}

.kp-offerdetail--code .kp-offerdetail__card {
	border-left: 5px solid var(--va-blue);
}

.kp-offerdetail--deal .kp-offerdetail__card {
	border-left: 5px solid var(--va-green);
}

.kp-offerdetail__logo .kp-logo {
	width: 120px;
	height: 100px;
	padding: 10px;
	border: 1px solid var(--va-line);
	border-radius: 16px;
	background: #fff;
}
.kp-offerdetail__copy .kp-prose { max-width: 72ch; }
.kp-offerdetail__action { display:grid; gap:10px; }
.kp-offerdetail__action .kp-code-ticket,
.kp-offerdetail__action .kp-deal-cta { min-height: 58px; }

/* Tablet */
@media (max-width: 980px) {
	.kp-offercard--code,
	.kp-offercard--deal {
		grid-template-columns: 70px minmax(0,1fr) !important;
		gap: 14px;
	}

	.kp-offercard--deal .kp-dealcard__visual {
		grid-row: 1;
		grid-column: 1;
		min-height: 88px;
		padding: 8px 5px;
	}

	.kp-offercard--deal .kp-dealcard__logo,
	.kp-offercard--deal .kp-dealcard__logo .kp-logo {
		width: 58px;
		height: 48px;
	}

	.kp-codecard__action,
	.kp-dealcard__action {
		grid-column: 1 / -1;
		max-width: none !important;
		display: grid;
		grid-template-columns: minmax(0,1fr) auto;
		align-items: center;
	}

	.kp-offerdetail__card {
		grid-template-columns: 94px minmax(0,1fr);
	}
	.kp-offerdetail__logo .kp-logo { width:94px; height:84px; }
	.kp-offerdetail__action { grid-column:1/-1; }
}

/* Telefoon */
@media (max-width: 640px) {
	.kp-offercard--code,
	.kp-offercard--deal {
		grid-template-columns: 54px minmax(0,1fr) !important;
		gap: 11px;
		min-height: 0;
		padding: 13px !important;
		border-radius: 17px !important;
	}

	.kp-offercard--code {
		border-left-width: 3px !important;
		background: #fff !important;
	}

	.kp-codecard__logo .kp-logo {
		width: 54px;
		height: 54px;
		border-radius: 12px;
	}

	.kp-offercard--deal .kp-dealcard__visual {
		width: 54px;
		min-height: 78px;
		padding: 6px 3px;
		border-radius: 12px;
	}

	.kp-offercard--deal .kp-dealcard__logo,
	.kp-offercard--deal .kp-dealcard__logo .kp-logo {
		width: 46px;
		height: 38px;
	}

	.kp-offercard--code .kp-deal__title,
	.kp-offercard--deal .kp-deal__title {
		font-size: 17px !important;
	}

	.kp-dealcard__excerpt { display: none; }
	.kp-offercard__topline .kp-badge--verified { display:none; }

	.kp-codecard__action,
	.kp-dealcard__action {
		grid-template-columns: 1fr;
		gap: 7px;
	}

	.kp-offercard__details { text-align:left; padding-left:2px; }

	.kp-profileoffer--code,
	.kp-profileoffer--deal {
		border-left-width: 3px !important;
	}

	.kp-profile-codecta,
	.kp-profile-dealcta {
		min-height: 48px !important;
	}

	.kp-offerdetail { padding-block: 18px 36px; }
	.kp-offerdetail__card {
		grid-template-columns: 66px minmax(0,1fr);
		gap: 13px;
		padding: 15px;
		border-radius: 18px;
	}
	.kp-offerdetail__logo .kp-logo { width:66px; height:62px; padding:6px; }
	.kp-offerdetail__action { grid-column:1/-1; }
}

/* ---------- Gedeelde stabiliteit ---------- */
.kp-offercard,
.kp-profileoffer,
.kp-offerdetail__card {
	box-sizing: border-box;
	max-width: 100%;
	min-width: 0;
}

.kp-offercard :where(a, button),
.kp-profileoffer :where(a, button),
.kp-offerdetail :where(a, button) {
	-webkit-tap-highlight-color: transparent;
}

.kp-offercard__content,
.kp-profileoffer__content,
.kp-offerdetail__copy {
	min-width: 0;
}

.kp-offercard .kp-deal__title,
.kp-profileoffer__content h3 {
	overflow-wrap: anywhere;
}

.kp-offercard__topline {
	row-gap: 6px;
}

.kp-offercard__meta > span,
.kp-profileoffer__meta > span,
.kp-profileoffer__expiry {
	white-space: normal;
}

.kp-votebutton {
	cursor: pointer;
	touch-action: manipulation;
}

/* ============================================================
   DESKTOP — 1100px en breder
   Meer informatie naast elkaar, maar met rustige hiërarchie.
   ============================================================ */
@media (min-width: 1100px) {
	.kp-deals,
	.kp-deals--stacked,
	.kp-searchpage .kp-deals {
		gap: 16px !important;
	}

	.kp-codecard__logo .kp-logo {
		width: 86px;
		height: 86px;
	}

	.kp-dealcard__logo .kp-logo {
		width: 78px;
		height: 62px;
	}

	.kp-offercard .kp-deal__title {
		margin-bottom: 9px;
	}

	.kp-dealcard__excerpt {
		font-size: 14px;
	}

	.kp-codecard__action,
	.kp-dealcard__action {
		max-width: none !important;
		width: 100%;
		gap: 10px;
	}

	.kp-code-ticket {
		min-height: 56px;
	}

	.kp-offercard__details {
		justify-content: center;
	}

	.kp-votegroup {
		margin-top: 11px;
	}

	/* Winkelprofiel: drie duidelijke kolommen. */

	.kp-profileoffer__value {
		width: 118px !important;
		min-height: 104px !important;
	}

	.kp-profileoffer__action {
		min-width: 0;
	}

	.kp-profileoffer__action :where(.kp-profile-codecta, .kp-profile-dealcta) {
		min-height: 54px !important;
	}

	/* Detailpagina: CTA blijft rechts zichtbaar. */
	.kp-offerdetail__card {
		grid-template-columns: 122px minmax(0, 1fr) 250px !important;
		gap: 26px;
		padding: 26px;
	}
}

/* ============================================================
   TABLET — 768px t/m 1099px
   Eén compacte rij; CTA blijft bereikbaar zonder veel scrollen.
   ============================================================ */
@media (min-width: 768px) and (max-width: 1099px) {
	.kp-deals,
	.kp-deals--stacked,
	.kp-searchpage .kp-deals {
		gap: 14px !important;
	}

	.kp-offercard--deal .kp-dealcard__visual {
		grid-column: 1;
		grid-row: 1;
	}

	.kp-dealcard__excerpt {
		-webkit-line-clamp: 1;
		font-size: 12px;
		margin-bottom: 7px;
	}

	.kp-codecard__action,
	.kp-dealcard__action {
		max-width: none !important;
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 7px;
	}

	.kp-code-ticket__peek {
		min-width: 60px;
		padding-inline: 9px;
	}

	.kp-offercard__details {
		justify-content: center;
	}

	.kp-votegroup {
		margin-top: 7px;
	}

	.kp-votebutton {
		height: 34px;
	}

	/* Winkelprofielen: hetzelfde drie-kolomsritme. */

	.kp-profileoffer__value {
		width: 92px !important;
		min-height: 86px !important;
	}

	.kp-profileoffer__value strong {
		font-size: 22px !important;
	}

	.kp-profileoffer__content p {
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 1;
		overflow: hidden;
	}

	.kp-profileoffer__action {
		align-self: center;
	}

	.kp-profileoffer__action :where(.kp-profile-codecta, .kp-profile-dealcta) {
		min-height: 50px !important;
	}

	.kp-profileoffer__expiry {
		font-size: 12px;
		text-align: center;
	}

	/* Detailpagina: inhoud boven, CTA volle rij onder. */
	.kp-offerdetail__card {
		grid-template-columns: 98px minmax(0, 1fr) !important;
		gap: 18px;
		padding: 20px;
	}

	.kp-offerdetail__action {
		grid-column: 1 / -1 !important;
		width: 100%;
	}
}

/* ============================================================
   MOBILE — t/m 767px
   Verticale flow: context → titel → actie → stemmen. Geen gepriegel.
   ============================================================ */
@media (max-width: 767px) {
	.kp-deals,
	.kp-deals--stacked,
	.kp-searchpage .kp-deals {
		gap: 12px !important;
	}

	.kp-offercard--code,
	.kp-offercard--deal {
		min-height: 0;
		border-radius: 18px !important;
	}

	/* Code: compact logo links van merchant/titel. */

	/* Deal: voordeelvlak wordt een klein, stevig mobiel label. */
	.kp-offercard--deal .kp-dealcard__visual {
		grid-column: 1;
		grid-row: 1;
	}

	.kp-offercard__topline {
		margin-bottom: 5px;
	}

	.kp-offercard__meta {
		gap: 4px 8px;
	}

	.kp-offercard__meta .kp-offercard__saving {
		font-size: 12px;
	}

	/* Mobiel: secundaire verificatie-info mag weg; vervaldatum blijft. */
	.kp-offercard__meta > span:last-child:not(:first-child) {
		display: none;
	}

	/* CTA heeft een eigen volle rij, meteen goed te raken. */
	.kp-codecard__action,
	.kp-dealcard__action {
		grid-template-columns: minmax(0, 1fr) auto !important;
		align-items: center;
	}

	.kp-code-ticket,
	.kp-deal-cta {
		grid-column: 1 / -1;
	}

	.kp-code-ticket__peek {
		min-width: 72px;
	}

	.kp-offercard__details {
		grid-column: 1;
		justify-content: flex-start;
		padding: 0 2px;
	}

	/* Stemmen blijven zichtbaar, maar nemen op mobiel nauwelijks hoogte in. */
	.kp-offercard .kp-votegroup {
		margin-top: 7px;
		gap: 5px;
	}

	.kp-offercard .kp-votegroup__label {
		font-size: 10px;
		margin-right: 2px;
	}

	.kp-offercard .kp-votebutton {
		min-width: 44px;
		height: 38px;
		padding-inline: 8px;
		border-radius: 11px;
	}

	/* Profielkaarten: geen mini-desktop; één verticale kaart. */

	.kp-profileoffer__ribbon {
		position: static !important;
		border-radius: 17px 17px 0 0 !important;
		font-size: 12px;
	}

	.kp-profileoffer--top .kp-profileoffer__value {
		margin-top: 0 !important;
	}

	.kp-profileoffer__value {
		width: fit-content !important;
		max-width: 100%;
		min-height: 0 !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 7px;
		padding: 7px 10px !important;
		border-radius: 999px !important;
	}

	.kp-profileoffer__value strong {
		font-size: 16px !important;
		line-height: 1.1;
	}

	.kp-profileoffer__value span {
		margin: 0 !important;
		font-size: 9px !important;
	}

	.kp-profileoffer__badges {
		margin-bottom: 5px;
	}

	.kp-profileoffer__content h3 {
		margin-bottom: 6px;
	}

	.kp-profileoffer__content p {
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
		font-size: 13px;
	}

	.kp-profileoffer__content .kp-votegroup {
		margin-top: 8px;
	}

	.kp-profileoffer__content .kp-votegroup__label {
		font-size: 11px;
	}

	.kp-profileoffer__content .kp-votebutton {
		min-width: 44px;
		height: 38px;
	}

	.kp-profileoffer__action :where(.kp-profile-codecta, .kp-profile-dealcta) {
		width: 100%;
		min-height: 50px !important;
		border-radius: 14px !important;
	}

	/* Detailpagina: logo klein, content en CTA onder elkaar. */
	.kp-offerdetail {
		padding-block: 16px 32px;
	}

	.kp-offerdetail__card {
		display: grid !important;
		grid-template-columns: 72px minmax(0, 1fr) !important;
		gap: 12px !important;
		padding: 14px !important;
		border-radius: 18px;
	}

	.kp-offerdetail__copy .kp-prose {
		font-size: 14px;
	}

	.kp-offerdetail__copy .kp-prose p {
		margin-bottom: 10px;
	}

	.kp-offerdetail__copy .kp-votegroup {
		margin-top: 9px;
	}

	.kp-offerdetail__action {
		grid-column: 1 / -1 !important;
		width: 100%;
	}

	.kp-offerdetail__action :where(.kp-code-ticket, .kp-deal-cta) {
		width: 100%;
		min-height: 52px;
		border-radius: 14px !important;
	}
}

/* Zeer smalle telefoons: tekst wint ruimte van logo. */
@media (max-width: 390px) {

	.kp-codecard__logo .kp-logo {
		width: 50px;
		height: 50px;
	}

	.kp-offercard--deal .kp-dealcard__visual {
		width: 50px;
		min-height: 76px;
	}

	.kp-offercard--deal .kp-dealcard__logo,
	.kp-offercard--deal .kp-dealcard__logo .kp-logo {
		width: 42px;
		height: 35px;
	}

	.kp-code-ticket__label {
		padding-left: 14px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.kp-offercard,
	.kp-profileoffer,
	.kp-code-ticket,
	.kp-deal-cta,
	.kp-votebutton {
		transition: none !important;
	}
}

/* Desktop: volledig woordmerk, ruim maar niet dominant. */
@media (min-width: 1024px) {
	.wp-custom-logo .kp-siteidentity {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		width: auto !important;
		height: auto !important;
		min-width: 0 !important;
		max-width: 100% !important;
		overflow: visible !important;
	}

	.wp-custom-logo .kp-siteidentity .custom-logo-link {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		width: auto !important;
		height: auto !important;
		min-width: 0 !important;
		max-width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
		border-radius: 0 !important;
		overflow: visible !important;
	}

	.wp-custom-logo .kp-siteidentity .custom-logo {
		display: block !important;
		width: auto !important;
		height: auto !important;
		max-width: 285px !important;
		max-height: 58px !important;
		min-width: 0 !important;
		object-fit: contain !important;
		object-position: left center !important;
		margin: 0 !important;
	}
}

/* Tablet: breed woordmerk naast menu en zoekveld. */
@media (min-width: 641px) and (max-width: 1023px) {
	.kp-band__inner {
		grid-template-columns: 48px minmax(180px, 245px) minmax(220px, 1fr) !important;
		column-gap: 12px !important;
	}

	.wp-custom-logo .kp-siteidentity {
		width: auto !important;
		height: auto !important;
		min-width: 0 !important;
		max-width: 245px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		justify-self: stretch !important;
		overflow: visible !important;
	}

	.wp-custom-logo .kp-siteidentity .custom-logo-link {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		width: auto !important;
		height: auto !important;
		min-width: 0 !important;
		max-width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
		border-radius: 0 !important;
		overflow: visible !important;
	}

	.wp-custom-logo .kp-siteidentity .custom-logo {
		display: block !important;
		width: auto !important;
		height: auto !important;
		max-width: 235px !important;
		max-height: 50px !important;
		min-width: 0 !important;
		object-fit: contain !important;
		object-position: left center !important;
		margin: 0 !important;
	}

	.kp-siteidentity .kp-wordmark {
		width: auto !important;
		max-width: 235px !important;
		white-space: nowrap;
	}
}

/* Mobiel: groot leesbaar woordmerk in de bovenste headerregel. */
@media (max-width: 640px) {
	.kp-band__inner {
		column-gap: 10px !important;
	}

	.wp-custom-logo .kp-siteidentity {
		grid-column: 2 !important;
		grid-row: 1 !important;
		width: 100% !important;
		height: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		justify-self: stretch !important;
		align-self: center !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		overflow: visible !important;
	}

	.wp-custom-logo .kp-siteidentity .custom-logo-link {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: auto !important;
		height: auto !important;
		min-width: 0 !important;
		max-width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
		border-radius: 0 !important;
		overflow: visible !important;
	}

	.wp-custom-logo .kp-siteidentity .custom-logo {
		display: block !important;
		width: auto !important;
		height: auto !important;
		max-width: min(230px, 72vw) !important;
		max-height: 46px !important;
		min-width: 0 !important;
		object-fit: contain !important;
		object-position: center !important;
		margin: 0 !important;
	}

	.kp-siteidentity .kp-wordmark {
		width: auto !important;
		max-width: min(230px, 72vw) !important;
		white-space: nowrap;
	}

	.kp-bandsearch {
		grid-row: 2 !important;
	}
}

/* Zeer smalle toestellen: behoud het woordmerk, alleen iets compacter. */
@media (max-width: 380px) {
	.wp-custom-logo .kp-siteidentity .custom-logo {
		max-width: min(205px, 68vw) !important;
		max-height: 42px !important;
	}
}

/* Afbeeldingen mogen nooit uitrekken. */
.kp-offercard :where(.kp-codecard__logo, .kp-dealcard__logo) .kp-logo,
.kp-offerdetail__logo .kp-logo {
	display: block !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: contain !important;
	object-position: center !important;
	max-width: 100% !important;
	max-height: 100% !important;
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1099px) {

	.kp-codecard__logo > a, .kp-codecard__logo .kp-logo {
		width: 72px !important;
		height: 72px !important;
		min-width: 72px !important;
		min-height: 72px !important;
		max-width: 72px !important;
		max-height: 72px !important;
	}

	.kp-codecard__logo > a {
		display: grid !important;
		place-items: center !important;
	}

	.kp-codecard__logo, .kp-codecard__logo > a {
		justify-self: center;
	}

	.kp-codecard__logo .kp-logo {
		padding: 8px !important;
		border-radius: 15px !important;
	}

	/* De hele dealvisual is nu vierkant, niet meer een lang verticaal blok. */
	.kp-offercard--deal .kp-dealcard__visual {
		position: relative;
		width: 84px !important;
		height: 84px !important;
		min-width: 84px !important;
		min-height: 84px !important;
		max-width: 84px !important;
		max-height: 84px !important;
		aspect-ratio: 1 / 1 !important;
		padding: 7px !important;
		gap: 4px !important;
		justify-content: center !important;
		border-radius: 16px !important;
	}

	.kp-offercard--deal .kp-dealcard__logo,
	.kp-offercard--deal .kp-dealcard__logo > a,
	.kp-offercard--deal .kp-dealcard__logo .kp-logo {
		width: 54px !important;
		height: 54px !important;
		min-width: 54px !important;
		min-height: 54px !important;
		max-width: 54px !important;
		max-height: 54px !important;
	}

	.kp-offercard--deal .kp-dealcard__logo,
	.kp-offercard--deal .kp-dealcard__logo > a {
		display: grid !important;
		place-items: center !important;
	}

	.kp-offercard--deal .kp-dealcard__logo .kp-logo {
		padding: 5px !important;
		border-radius: 12px !important;
	}

	.kp-offercard--deal .kp-dealcard__saving {
		font-size: 10px !important;
		line-height: 1 !important;
		max-width: 70px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.kp-offerdetail__logo,
	.kp-offerdetail__logo .kp-logo {
		width: 88px !important;
		height: 88px !important;
		min-width: 88px !important;
		min-height: 88px !important;
	}
}

/* Mobiel */
@media (max-width: 767px) {

	.kp-codecard__logo > a, .kp-codecard__logo .kp-logo {
		width: 62px !important;
		height: 62px !important;
		min-width: 62px !important;
		min-height: 62px !important;
		max-width: 62px !important;
		max-height: 62px !important;
	}

	.kp-codecard__logo > a {
		display: grid !important;
		place-items: center !important;
		align-self: start;
	}

	.kp-codecard__logo .kp-logo {
		padding: 7px !important;
		border-radius: 14px !important;
	}

	.kp-offercard--deal .kp-dealcard__visual {
		width: 62px !important;
		height: 62px !important;
		min-width: 62px !important;
		min-height: 62px !important;
		max-width: 62px !important;
		max-height: 62px !important;
		aspect-ratio: 1 / 1 !important;
		padding: 5px !important;
		gap: 2px !important;
		justify-content: center !important;
		border-radius: 14px !important;
	}

	.kp-offercard--deal .kp-dealcard__logo,
	.kp-offercard--deal .kp-dealcard__logo > a,
	.kp-offercard--deal .kp-dealcard__logo .kp-logo {
		width: 40px !important;
		height: 40px !important;
		min-width: 40px !important;
		min-height: 40px !important;
		max-width: 40px !important;
		max-height: 40px !important;
	}

	.kp-offercard--deal .kp-dealcard__logo,
	.kp-offercard--deal .kp-dealcard__logo > a {
		display: grid !important;
		place-items: center !important;
	}

	.kp-offercard--deal .kp-dealcard__logo .kp-logo {
		padding: 4px !important;
		border-radius: 10px !important;
	}

	.kp-offercard--deal .kp-dealcard__saving {
		font-size: 9px !important;
		line-height: 1 !important;
		max-width: 52px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.kp-offerdetail__logo,
	.kp-offerdetail__logo .kp-logo {
		width: 66px !important;
		height: 66px !important;
		min-width: 66px !important;
		min-height: 66px !important;
		max-width: 66px !important;
		max-height: 66px !important;
		aspect-ratio: 1 / 1 !important;
	}
}

/* Zeer smalle telefoons */
@media (max-width: 380px) {
	.kp-offercard--code,
	.kp-offercard--deal {
		grid-template-columns: 60px minmax(0, 1fr) !important;
		gap: 9px 10px !important;
	}

	.kp-codecard__logo > a, .kp-codecard__logo .kp-logo, .kp-offercard--deal .kp-dealcard__visual {
		width: 56px !important;
		height: 56px !important;
		min-width: 56px !important;
		min-height: 56px !important;
		max-width: 56px !important;
		max-height: 56px !important;
	}

	.kp-offercard--deal .kp-dealcard__logo,
	.kp-offercard--deal .kp-dealcard__logo > a,
	.kp-offercard--deal .kp-dealcard__logo .kp-logo {
		width: 36px !important;
		height: 36px !important;
		min-width: 36px !important;
		min-height: 36px !important;
		max-width: 36px !important;
		max-height: 36px !important;
	}
}

/* Shared card rhythm */
.kp-offercard,
.kp-profileoffer {
	--offer-logo-size: 88px;
	--offer-gap: 20px;
	background: #fff !important;
	border: 1px solid var(--va-line) !important;
	border-radius: 20px !important;
	box-shadow: 0 3px 14px rgba(49, 82, 96, .045) !important;
}

.kp-offercard:hover,
.kp-profileoffer:hover {
	box-shadow: 0 9px 24px rgba(49, 82, 96, .075) !important;
}

/* The visual is a logo tile only. Savings live beside the type badge. */
.kp-codecard__logo, .kp-dealcard__visual, .kp-profileoffer__visual {
	width: var(--offer-logo-size) !important;
	height: var(--offer-logo-size) !important;
	min-width: var(--offer-logo-size) !important;
	min-height: var(--offer-logo-size) !important;
	max-width: var(--offer-logo-size) !important;
	max-height: var(--offer-logo-size) !important;
	aspect-ratio: 1 / 1 !important;
	align-self: start;
	border-radius: 17px !important;
	border: 1px solid var(--va-line) !important;
	padding: 8px !important;
	display: grid !important;
	place-items: center !important;
	overflow: hidden;
}
.kp-codecard__logo, .kp-profileoffer__visual {
	background: #fff !important;
}

.kp-dealcard__visual {
	background: linear-gradient(180deg, #fbfdf6 0%, #f5fae9 100%) !important;
	border-color: #d9e7b8 !important;
}

.kp-offercard :where(.kp-codecard__logo, .kp-dealcard__visual) a,
.kp-profileoffer__visual a {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
}

.kp-offercard :where(.kp-codecard__logo, .kp-dealcard__visual) .kp-logo,
.kp-profileoffer__visual .kp-logo {
	width: 100% !important;
	height: 100% !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: 100% !important;
	max-height: 100% !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: contain !important;
	object-position: center !important;
	padding: 4px !important;
	border: 0 !important;
	border-radius: 11px !important;
	background: #fff !important;
}

.kp-offercard .kp-logo--placeholder,
.kp-profileoffer__visual .kp-logo--placeholder {
	display: grid !important;
	place-items: center !important;
	font-size: 22px;
	letter-spacing: .03em;
	color: var(--va-muted);
	background: linear-gradient(180deg, #fff 0%, #f5f8f9 100%) !important;
}

/* Type/saving chips are concise and readable. */
.kp-offercard__topline,
.kp-profileoffer__badges {
	display: flex;
	align-items: center;
	gap: 7px;
	flex-wrap: wrap;
}

.kp-dealcard__saving,
.kp-profileoffer__valuechip {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 26px;
	max-width: 100%;
	padding: 4px 9px;
	border-radius: 999px;
	font-size: 12px !important;
	font-weight: 900;
	line-height: 1.1 !important;
	white-space: normal !important;
	overflow: visible !important;
	text-overflow: clip !important;
}

.kp-dealcard__saving,
.kp-profileoffer__valuechip--deal {
	color: #58751f !important;
	background: var(--va-green-soft);
	border: 1px solid #d7e7b5;
}

.kp-profileoffer__valuechip--code {
	color: var(--va-blue-dark);
	background: var(--va-blue-soft);
	border: 1px dashed #afd6de;
}

.kp-offercard__merchant {
	font-weight: 800;
}

.kp-offercard .kp-deal__title,
.kp-profileoffer__content h3 {
	margin-top: 7px;
	letter-spacing: -.015em;
}

.kp-offercard__meta {
	margin-top: 8px;
}

.kp-votegroup {
	gap: 6px !important;
}

.kp-votebutton {
	border-color: var(--va-line) !important;
	background: #fff !important;
}

.kp-votebutton:hover,
.kp-votebutton[aria-pressed="true"] {
	border-color: #b7d9df !important;
	background: var(--va-blue-soft) !important;
	color: var(--va-blue-dark) !important;
}

.kp-code-ticket,
.kp-deal-cta,
.kp-profile-codecta,
.kp-profile-dealcta {
	box-shadow: none !important;
	font-weight: 900 !important;
}

/* Profile rows now use the merchant logo rather than a large discount block. */
.kp-profileoffer__value {
	display: none !important;
}

.kp-profileoffer__visual {
	grid-column: 1;
}

/* Desktop */
@media (min-width: 1100px) {
	.kp-offercard {
		--offer-logo-size: 92px;
	}

	.kp-offercard--code,
	.kp-offercard--deal {
		gap: 22px !important;
		align-items: center;
		min-height: 148px;
		padding: 20px !important;
	}

	.kp-profileoffer {
		--offer-logo-size: 92px;
		grid-template-columns: 92px minmax(0, 1fr) 210px !important;
		gap: 20px !important;
		align-items: center;
		padding: 20px !important;
	}

	.kp-offercard .kp-deal__title,
	.kp-profileoffer__content h3 {
		font-size: 21px !important;
		line-height: 1.22;
	}

	.kp-dealcard__excerpt {
		-webkit-line-clamp: 2;
		margin-top: 5px;
	}
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1099px) {
	.kp-offercard,
	.kp-profileoffer {
		--offer-logo-size: 72px;
	}

	.kp-offercard--code,
	.kp-offercard--deal {
		gap: 14px !important;
		align-items: center;
		min-height: 122px;
		padding: 15px !important;
	}

	.kp-profileoffer {
		grid-template-columns: 72px minmax(0, 1fr) 172px !important;
		gap: 14px !important;
		align-items: center;
		padding: 15px !important;
	}

	.kp-offercard .kp-deal__title,
	.kp-profileoffer__content h3 {
		font-size: 17px !important;
		line-height: 1.23;
		margin-bottom: 4px;
	}

	.kp-dealcard__excerpt,
	.kp-profileoffer__content p {
		display: none !important;
	}

	.kp-offercard__topline .kp-badge--verified,
	.kp-profileoffer__badges .kp-badge--ghost {
		display: none !important;
	}

	.kp-codecard__action,
	.kp-dealcard__action,
	.kp-profileoffer__action {
		grid-column: 3 !important;
		grid-row: 1 !important;
		width: 100%;
	}

	.kp-code-ticket,
	.kp-deal-cta,
	.kp-profile-codecta,
	.kp-profile-dealcta {
		min-height: 48px !important;
		font-size: 14px !important;
	}

	.kp-offercard__details {
		font-size: 11px;
	}
}

/* Mobile */
@media (max-width: 767px) {
	.kp-offercard,
	.kp-profileoffer {
		--offer-logo-size: 60px;
		border-radius: 17px !important;
	}

	.kp-offercard--code, .kp-offercard--deal, .kp-profileoffer {
		display: grid !important;
		grid-template-rows: auto auto !important;
		gap: 10px 12px !important;
		align-items: start;
		padding: 13px !important;
	}

	.kp-profileoffer {
		grid-template-columns: 60px minmax(0, 1fr) !important;
	}

	.kp-offercard__content,
	.kp-profileoffer__content {
		grid-column: 2 !important;
		grid-row: 1 !important;
	}

	.kp-codecard__action,
	.kp-dealcard__action,
	.kp-profileoffer__action {
		grid-column: 1 / -1 !important;
		grid-row: 2 !important;
		width: 100% !important;
		max-width: none !important;
		display: grid !important;
		gap: 6px !important;
	}

	.kp-offercard .kp-deal__title,
	.kp-profileoffer__content h3 {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
		font-size: 16px !important;
		line-height: 1.22;
		margin: 5px 0 4px;
	}

	.kp-offercard__topline,
	.kp-profileoffer__badges {
		gap: 5px;
	}

	.kp-offertype, .kp-dealcard__saving, .kp-profileoffer__valuechip, .kp-badge {
		min-height: 22px !important;
		padding: 3px 7px !important;
	}

	.kp-offertype, .kp-dealcard__saving, .kp-profileoffer__valuechip {
		font-size: 9px !important;
	}

	.kp-offercard__merchant {
		font-size: 11px !important;
	}

	.kp-offercard__topline .kp-badge--verified,
	.kp-offercard__topline .kp-badge--exclusive,
	.kp-profileoffer__badges .kp-badge--ghost,
	.kp-profileoffer__badges .kp-badge--verified {
		display: none !important;
	}

	.kp-dealcard__excerpt,
	.kp-profileoffer__content p {
		display: none !important;
	}

	.kp-offercard__meta {
		margin-top: 4px;
	}

	.kp-offercard__meta > span:nth-child(n+2) {
		display: none;
	}

	.kp-votegroup {
		margin-top: 6px !important;
	}

	.kp-votebutton {
		min-width: 39px !important;
		height: 34px !important;
		padding-inline: 7px !important;
		border-radius: 10px !important;
	}

	.kp-code-ticket,
	.kp-deal-cta,
	.kp-profile-codecta,
	.kp-profile-dealcta {
		width: 100% !important;
		min-height: 48px !important;
		border-radius: 13px !important;
		font-size: 15px !important;
	}

	.kp-offercard__details,
	.kp-inlineconditions {
		font-size: 11px !important;
		justify-self: start;
	}

	.kp-profileoffer__expiry {
		font-size: 10px !important;
		text-align: left !important;
	}

	.kp-profileoffer__ribbon {
		grid-column: 1 / -1;
		margin: -13px -13px 0 !important;
		padding: 8px 13px !important;
	}

	.kp-profileoffer--top .kp-profileoffer__visual,
	.kp-profileoffer--top .kp-profileoffer__content,
	.kp-profileoffer--top .kp-profileoffer__action {
		margin-top: 0 !important;
	}
}

@media (max-width: 390px) {
	.kp-offercard,
	.kp-profileoffer {
		--offer-logo-size: 54px;
	}

	.kp-profileoffer {
		grid-template-columns: 54px minmax(0, 1fr) !important;
	}

	.kp-offercard--code, .kp-offercard--deal, .kp-profileoffer {
		gap: 9px 10px !important;
		padding: 11px !important;
	}

	.kp-offercard .kp-deal__title,
	.kp-profileoffer__content h3 {
		font-size: 15px !important;
	}

	.kp-votegroup__label {
		display: none;
	}
}

/* Inner deal logo fills the square visual instead of inheriting old tiny sizes. */
.kp-dealcard__logo,
.kp-dealcard__logo > a {
	width: 100% !important;
	height: 100% !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: 100% !important;
	max-height: 100% !important;
	display: grid !important;
	place-items: center !important;
}

@media (max-width: 767px) {
	.kp-profileoffer--top {
		grid-template-rows: auto auto auto !important;
	}
	.kp-profileoffer--top .kp-profileoffer__ribbon {
		grid-column: 1 / -1 !important;
		grid-row: 1 !important;
	}
	.kp-profileoffer--top .kp-profileoffer__visual {
		grid-column: 1 !important;
		grid-row: 2 !important;
	}
	.kp-profileoffer--top .kp-profileoffer__content {
		grid-column: 2 !important;
		grid-row: 2 !important;
	}
	.kp-profileoffer--top .kp-profileoffer__action {
		grid-column: 1 / -1 !important;
		grid-row: 3 !important;
	}
}

/* Logo-tegels bevatten uitsluitend het merkbeeld. */
.kp-offercard .kp-dealcard__visual, .kp-offercard .kp-codecard__logo, .kp-profileoffer .kp-profileoffer__visual {
	display: grid !important;
	place-items: center !important;
	align-content: center !important;
	justify-content: center !important;
	aspect-ratio: 1 / 1 !important;
	overflow: hidden !important;
}
.kp-offercard .kp-dealcard__visual, .kp-profileoffer .kp-profileoffer__visual {
	padding: 8px !important;
	background: #fff !important;
	border: 1px solid var(--va-line) !important;
}
.kp-offercard .kp-dealcard__visual > :not(.kp-dealcard__logo) {
	display: none !important;
}

.kp-offercard .kp-dealcard__logo,
.kp-offercard .kp-dealcard__logo > a,
.kp-offercard .kp-dealcard__logo .kp-logo,
.kp-offercard .kp-codecard__logo,
.kp-offercard .kp-codecard__logo > a,
.kp-offercard .kp-codecard__logo .kp-logo,
.kp-profileoffer .kp-profileoffer__visual .kp-logo {
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	min-width: 0 !important;
	min-height: 0 !important;
	object-fit: contain !important;
	object-position: center !important;
	border: 0 !important;
	background: #fff !important;
	padding: 4px !important;
}

/* Dealvoordeel staat in de content, onder de titel. */
.kp-dealcard__benefit {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	max-width: 100%;
	margin: 6px 0 7px;
	padding: 5px 9px;
	border: 1px solid #d7e7b5;
	border-radius: 10px;
	background: var(--va-green-soft);
	color: #58751f;
	line-height: 1.2;
}

.kp-dealcard__benefit span {
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--va-muted);
}

.kp-dealcard__benefit strong {
	font-size: 14px;
	font-weight: 900;
	overflow-wrap: anywhere;
}
.kp-offercard--deal .kp-dealcard__saving {
	display: none !important;
}

/* Profielrij: voordeelchip blijft bij inhoud, nooit bij logo. */
.kp-profileoffer__badges .kp-profileoffer__valuechip {
	order: 0;
	position: static !important;
	max-width: 100%;
}

/* Desktop: rustige vaste vierkante logo-kolom. */
@media (min-width: 1100px) {
	.kp-offercard--deal,
	.kp-offercard--code {
		grid-template-columns: 92px minmax(0, 1fr) 220px !important;
	}
	.kp-offercard .kp-dealcard__visual,
	.kp-offercard .kp-codecard__logo {
		width: 92px !important;
		height: 92px !important;
		min-width: 92px !important;
		min-height: 92px !important;
		max-width: 92px !important;
		max-height: 92px !important;
	}
}

/* Tablet: logo blijft vierkant; voordeel blijft in tekstkolom. */
@media (min-width: 768px) and (max-width: 1099px) {
	.kp-offercard--deal,
	.kp-offercard--code {
		grid-template-columns: 72px minmax(0, 1fr) 172px !important;
	}
	.kp-offercard .kp-dealcard__visual,
	.kp-offercard .kp-codecard__logo {
		width: 72px !important;
		height: 72px !important;
		min-width: 72px !important;
		min-height: 72px !important;
		max-width: 72px !important;
		max-height: 72px !important;
		padding: 6px !important;
	}
	.kp-dealcard__benefit {
		margin-top: 4px;
		padding: 4px 8px;
	}
	.kp-dealcard__benefit strong {
		font-size: 12px;
	}
}

/* Mobiel: logo linksboven, alle informatie uitsluitend rechts. */
@media (max-width: 767px) {
	.kp-offercard--deal,
	.kp-offercard--code {
		grid-template-columns: 62px minmax(0, 1fr) !important;
	}
	.kp-offercard .kp-dealcard__visual,
	.kp-offercard .kp-codecard__logo {
		grid-column: 1 !important;
		grid-row: 1 !important;
		width: 62px !important;
		height: 62px !important;
		min-width: 62px !important;
		min-height: 62px !important;
		max-width: 62px !important;
		max-height: 62px !important;
		padding: 5px !important;
		align-self: start !important;
	}
	.kp-dealcard__benefit {
		display: flex;
		width: fit-content;
		margin: 4px 0 5px;
		padding: 4px 7px;
		border-radius: 8px;
	}
	.kp-dealcard__benefit span {
		display: none;
	}
	.kp-dealcard__benefit strong {
		font-size: 11px;
	}
}

@media (max-width: 390px) {
	.kp-offercard--deal,
	.kp-offercard--code {
		grid-template-columns: 56px minmax(0, 1fr) !important;
	}
	.kp-offercard .kp-dealcard__visual,
	.kp-offercard .kp-codecard__logo {
		width: 56px !important;
		height: 56px !important;
		min-width: 56px !important;
		min-height: 56px !important;
		max-width: 56px !important;
		max-height: 56px !important;
	}
}
.kp-footerstack {
	width: 100%;
	margin: 0;
	padding: 0;
	background: #2f434d;
}

.kp-footerstack .kp-newsletter {
	width: 100% !important;
	margin: 0 !important;
	border-top: 1px solid var(--va-line) !important;
	border-bottom: 0 !important;
	background: linear-gradient(112deg, #edf7f9 0%, #f3f8e9 100%) !important;
}

.kp-footerstack .kp-newsletter__inner {
	padding: 32px 0 30px !important;
	display: grid !important;
	grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr) !important;
	gap: clamp(24px, 4vw, 48px) !important;
	align-items: center !important;
}

.kp-footerstack .kp-newsletter__copy {
	min-width: 0;
}

.kp-footerstack .kp-newsletter__eyebrow {
	margin: 0 0 7px !important;
	font-size: 11px !important;
	letter-spacing: .07em !important;
}

.kp-footerstack .kp-newsletter__copy h2 {
	margin: 0 0 7px !important;
	font-size: clamp(25px, 2.5vw, 34px) !important;
	line-height: 1.12 !important;
}

.kp-footerstack .kp-newsletter__copy p {
	max-width: 56ch !important;
	margin: 0 !important;
	font-size: 14px !important;
	line-height: 1.55 !important;
}

/* The form is part of the band rather than a card floating above the footer. */
.kp-footerstack .kp-newsletter__formwrap {
	min-width: 0;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.kp-footerstack .kp-newsletter__notice {
	margin: 0 0 10px !important;
	border-radius: 10px !important;
}

.kp-footerstack .kp-newsletterform__row {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	gap: 8px !important;
	padding: 5px !important;
	border: 1px solid rgba(49, 82, 96, .14) !important;
	border-radius: 14px !important;
	background: rgba(255, 255, 255, .92) !important;
	box-shadow: 0 5px 18px rgba(49, 82, 96, .05) !important;
}

.kp-footerstack .kp-newsletterform input[type="email"] {
	min-height: 46px !important;
	padding-inline: 13px !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: transparent !important;
	box-shadow: none !important;
}

.kp-footerstack .kp-newsletterform input[type="email"]:focus {
	outline: 2px solid rgba(8, 123, 155, .16) !important;
	outline-offset: -2px !important;
}

.kp-footerstack .kp-newsletterform__row .kp-button {
	min-height: 46px !important;
	padding-inline: 20px !important;
	border-radius: 10px !important;
	white-space: nowrap !important;
}

.kp-footerstack .kp-newsletterform__consent {
	margin-top: 9px !important;
	font-size: 11.5px !important;
	line-height: 1.45 !important;
}

/* The green rule is the only visual seam between signup and footer. */
.kp-footerstack .kp-footer {
	width: 100% !important;
	margin: 0 !important;
	border-top: 3px solid var(--va-green) !important;
	background: #2f434d !important;
}

@media (max-width: 1023px) {
	.kp-footerstack .kp-newsletter__inner {
		grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
		gap: 22px !important;
		padding-block: 26px !important;
	}

	.kp-footerstack .kp-newsletter__copy h2 {
		font-size: 26px !important;
	}
}

@media (max-width: 767px) {
	.kp-footerstack .kp-newsletter__inner {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
		padding-block: 24px !important;
	}

	.kp-footerstack .kp-newsletter__copy h2 {
		font-size: 24px !important;
	}

	.kp-footerstack .kp-newsletter__copy p {
		font-size: 13.5px !important;
	}

	.kp-footerstack .kp-newsletterform__row {
		grid-template-columns: 1fr !important;
		gap: 5px !important;
		padding: 5px !important;
	}

	.kp-footerstack .kp-newsletterform__row .kp-button {
		width: 100% !important;
	}
}

@media (max-width: 420px) {
	.kp-footerstack .kp-newsletter__inner {
		padding-block: 21px !important;
	}

	.kp-footerstack .kp-newsletterform__consent {
		grid-template-columns: 18px minmax(0, 1fr) !important;
		gap: 8px !important;
	}
}
.kp-shopslisthero {
	padding-block: 30px 18px;
	border-bottom: 1px solid var(--va-line, #dce6e9);
	background: #fff;
	text-align: left;
}

.kp-shopslisthero .kp-container,
.kp-shopslist {
	text-align: left;
}

.kp-shopslisthero h1 {
	margin: 0;
	font-size: clamp(32px, 4vw, 46px);
	line-height: 1.05;
	letter-spacing: -.035em;
	color: var(--va-ink, #344651);
	text-align: left;
}

.kp-shopslisthero p {
	max-width: 760px;
	margin: 10px 0 0;
	color: var(--va-muted, #7d909a);
	font-size: 16px;
	text-align: left;
}

/* Forceer één volledige, links uitgelijnde directorykolom. */
.kp-shopslist {
	display: block;
	margin-inline: auto;
}

.kp-shopslist__jump {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 8px 12px;
	flex-wrap: wrap;
	width: 100%;
	margin: 0 0 26px;
	padding: 0 0 14px;
	border-bottom: 1px solid var(--va-line, #dce6e9);
	font-size: 14px;
	text-align: left;
}

.kp-shopslist__jump > span {
	color: var(--va-muted, #7d909a);
	font-weight: 600;
}

.kp-shopslist__jump a {
	color: var(--va-blue, #087b9b);
	font-weight: 800;
	text-decoration: none;
}

.kp-shopslist__jump a:hover,
.kp-shopslist__jump a:focus-visible {
	color: var(--va-green-dark, #6f9727);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.kp-shopslist__head {
	display: none !important;
}

.kp-shopslist__groups {
	display: block;
	width: 100%;
	max-width: none;
	margin: 0;
}

.kp-shopslist__group {
	display: block;
	width: 100%;
	max-width: none !important;
	margin: 0 0 30px !important;
	padding: 0;
	scroll-margin-top: 90px;
	text-align: left;
}

/* Duidelijke scheiding tussen A, B, C, D ... */
.kp-shopslist__group h2 {
	display: block;
	width: 100%;
	margin: 0;
	padding: 9px 12px;
	border-top: 1px solid var(--va-line, #dce6e9);
	border-bottom: 1px solid var(--va-line, #dce6e9);
	background: #f5f8f8;
	color: var(--va-blue-dark, #315260);
	font-size: 20px;
	font-weight: 850;
	line-height: 1.15;
	text-align: left;
}

.kp-shopslist__items {
	list-style: none;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	border: 0;
}

.kp-shopslist__items li {
	width: 100%;
	margin: 0;
	border: 0;
	border-bottom: 1px solid var(--va-line, #dce6e9);
}

.kp-shopslist__items a {
	display: grid;
	grid-template-columns: minmax(220px, 1fr) auto 18px;
	gap: 18px;
	align-items: center;
	width: 100%;
	min-height: 52px;
	margin: 0;
	padding: 11px 10px 11px 12px;
	color: var(--va-ink, #344651);
	background: #fff;
	text-align: left;
	text-decoration: none;
	transition: background-color .15s ease, color .15s ease;
}

.kp-shopslist__items a:hover,
.kp-shopslist__items a:focus-visible {
	background: #f8fbfa;
	color: var(--va-blue, #087b9b);
	text-decoration: none;
}

.kp-shopslist__name {
	min-width: 0;
	font-size: 16px;
	font-weight: 750;
	line-height: 1.35;
	text-align: left;
	overflow-wrap: anywhere;
}

.kp-shopslist__counts {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 7px;
	min-width: 0;
	color: #5f737d;
	font-size: 14px;
	font-weight: 650;
	line-height: 1.35;
	text-align: left;
	white-space: nowrap;
}

.kp-shopslist__counts .is-zero {
	color: #a0adb3;
	font-weight: 550;
}

.kp-shopslist__dot {
	color: #b6c0c5;
}

.kp-shopslist__arrow {
	justify-self: end;
	color: #9aa8ae;
	transition: transform .15s ease, color .15s ease;
}

.kp-shopslist__items a:hover .kp-shopslist__arrow,
.kp-shopslist__items a:focus-visible .kp-shopslist__arrow {
	color: var(--va-green-dark, #6f9727);
	transform: translateX(2px);
}

@media (max-width: 1099px) {
	.kp-shopslist__group {
		margin-bottom: 26px !important;
	}

	.kp-shopslist__items a {
		grid-template-columns: minmax(190px, 1fr) auto 18px;
		gap: 14px;
	}
}

@media (max-width: 767px) {
	.kp-shopslisthero {
		padding-block: 22px 14px;
	}

	.kp-shopslisthero h1 {
		font-size: 30px;
	}

	.kp-shopslisthero p {
		margin-top: 7px;
		font-size: 14px;
		line-height: 1.5;
	}

	.kp-shopslist__jump {
		gap: 8px 11px;
		margin-bottom: 20px;
		padding-bottom: 12px;
	}

	.kp-shopslist__group {
		margin-bottom: 22px !important;
	}

	.kp-shopslist__group h2 {
		padding: 8px 9px;
		font-size: 18px;
	}

	.kp-shopslist__items a {
		grid-template-columns: minmax(0, 1fr) 18px;
		grid-template-areas:
			"name arrow"
			"counts arrow";
		gap: 3px 10px;
		min-height: 58px;
		padding: 9px 4px 9px 8px;
	}

	.kp-shopslist__name {
		grid-area: name;
		font-size: 15px;
	}

	.kp-shopslist__counts {
		grid-area: counts;
		gap: 6px;
		font-size: 12.5px;
		white-space: normal;
	}

	.kp-shopslist__arrow {
		grid-area: arrow;
		align-self: center;
	}
}

@media (max-width: 360px) {
	.kp-shopslist__counts {
		align-items: flex-start;
		flex-direction: column;
		gap: 1px;
	}

	.kp-shopslist__dot {
		display: none;
	}
}

/* Supermarktlabel in Ontdek winkels */
.kp-shopslist__namewrap{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}
.kp-shopslist__tag{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;background:#eff7df;color:#5e8226;font-size:10px;font-weight:850;line-height:1.2;text-transform:uppercase;letter-spacing:.035em;white-space:nowrap}
@media(max-width:767px){.kp-shopslist__namewrap{grid-area:name}.kp-shopslist__name{grid-area:auto}.kp-shopslist__tag{font-size:9px;padding:3px 6px}}
/* Voordeelacties juridische pagina's — consistente, rustige leeslayout. */
.kp-legalhero p {
	max-width: 760px;
}

.kp-legal-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 20px;
}

.kp-legal-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.kp-legal-nav a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 8px 13px;
	border: 1px solid var(--kp-border, #dce6ee);
	border-radius: 999px;
	background: #fff;
	color: var(--kp-text, #173047);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.kp-legal-nav a:hover,
.kp-legal-nav a:focus-visible,
.kp-legal-nav a.is-current {
	border-color: var(--kp-primary, #19a9d7);
	background: color-mix(in srgb, var(--kp-primary, #19a9d7) 8%, #fff);
	color: var(--kp-primary-dark, #087ca4);
}

.kp-legal-card {
	max-width: none;
	padding: clamp(22px, 3vw, 40px);
}

.kp-legal-meta {
	display: flex;
	gap: 8px;
	align-items: baseline;
	padding-bottom: 18px;
	margin-bottom: 26px;
	border-bottom: 1px solid var(--kp-border, #dce6ee);
	font-size: 13px;
	color: var(--kp-muted, #60758a);
}

.kp-legal-meta strong {
	color: var(--kp-text, #173047);
}

.kp-legal-card h2 {
	margin-top: 2em;
	scroll-margin-top: 110px;
}

.kp-legal-card h2:first-of-type {
	margin-top: 0;
}

.kp-legal-card ul,
.kp-legal-card ol {
	padding-left: 1.25rem;
}

.kp-legal-card li + li {
	margin-top: 7px;
}

.kp-legal-card a {
	overflow-wrap: anywhere;
}

@media (max-width: 767px) {
	.kp-legal-layout {
		gap: 14px;
	}

	.kp-legal-nav {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 7px;
	}

	.kp-legal-nav a {
		justify-content: center;
		min-width: 0;
		padding-inline: 8px;
		text-align: center;
	}

	.kp-legal-card {
		padding: 20px 18px;
	}

	.kp-legal-meta {
		flex-wrap: wrap;
		margin-bottom: 22px;
	}
}

@media (max-width: 420px) {
	.kp-legal-nav {
		grid-template-columns: minmax(0, 1fr);
	}
}
.kp-supermarkets-hero{padding:38px 0 34px;border-bottom:1px solid #dce7e9;background:linear-gradient(135deg,#f3f9fa 0%,#f7faef 100%)}
.kp-supermarkets-hero__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px;align-items:end}.kp-supermarkets-hero__copy{min-width:0}.kp-supermarkets-hero h1{max-width:820px;margin:7px 0 11px;color:#344651;font-size:clamp(34px,4vw,50px);line-height:1.03;letter-spacing:-.035em}.kp-supermarkets-hero p{max-width:720px;margin:0;color:#657982;font-size:16px;line-height:1.6}.kp-supermarkets-hero__actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:20px}.kp-supermarkets-hero__link{color:#087b9b;font-weight:800;text-decoration:none}.kp-supermarkets-hero__stats{display:grid;grid-template-columns:repeat(2,minmax(112px,1fr));gap:10px}.kp-supermarkets-hero__stats>div{display:grid;gap:2px;padding:15px 17px;border:1px solid #d9e5e7;border-radius:15px;background:rgba(255,255,255,.82);box-shadow:0 5px 18px rgba(49,82,96,.04)}.kp-supermarkets-hero__stats strong{color:#315260;font-size:26px;line-height:1}.kp-supermarkets-hero__stats span{color:#71828a;font-size:12px;font-weight:750}
.kp-supermarkets-page{display:grid;gap:48px}.kp-supermarkets-sectionhead{margin-bottom:17px}.kp-supermarkets-sectionhead p{max-width:760px;margin:7px 0 0;color:#71828a;line-height:1.55}
.kp-supermarket-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.kp-supermarket-profilecard{display:flex;min-width:0;flex-direction:column;border:1px solid #dce7e9;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 6px 20px rgba(49,82,96,.04);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.kp-supermarket-profilecard:hover{transform:translateY(-1px);border-color:#bfd7dc;box-shadow:0 9px 24px rgba(49,82,96,.07)}.kp-supermarket-profilecard__main{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:14px;align-items:center;min-width:0;flex:1;padding:17px;color:#344651;text-decoration:none}.kp-supermarket-profilecard__logo{width:72px;height:72px;display:grid;place-items:center;border:1px solid #e0e8e9;border-radius:15px;overflow:hidden}.kp-supermarket-profilecard__logo .kp-logo{display:block;width:100%;height:100%;max-width:none;max-height:none;box-sizing:border-box;object-fit:contain;padding:5px;border:0;border-radius:14px}.kp-supermarket-profilecard__copy{display:grid;gap:4px;min-width:0}.kp-supermarket-tag{width:max-content;padding:4px 7px;border-radius:999px;background:#eff7df;color:#5e8226;font-size:10px;font-weight:850;line-height:1;text-transform:uppercase;letter-spacing:.035em}.kp-supermarket-profilecard__copy strong{font-size:17px;line-height:1.25}.kp-supermarket-profilecard__copy small{color:#71828a;font-size:13px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kp-supermarket-profilecard__copy em{color:#668828;font-size:12px;font-style:normal;font-weight:800}.kp-supermarket-profilecard__arrow{align-self:center;color:#087b9b;font-size:20px}.kp-supermarket-profilecard__actions{display:flex;align-items:center;gap:0;border-top:1px solid #e4eaec;background:#fafcfc}.kp-supermarket-profilecard__actions a{flex:1;padding:10px 12px;color:#087b9b;font-size:12px;font-weight:800;text-align:center;text-decoration:none}.kp-supermarket-profilecard__actions a+a{border-left:1px solid #e4eaec}
.kp-supermarket-offers{display:grid;gap:12px}.kp-supermarket-offer{display:grid;grid-template-columns:74px minmax(0,1fr) 190px;gap:16px;align-items:center;padding:16px 18px;border:1px solid #dce7e9;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(49,82,96,.035)}.kp-supermarket-offer__logo{width:68px;height:68px;display:grid;place-items:center;border:1px solid #e1e9e5;border-radius:13px;overflow:hidden}.kp-supermarket-offer__logo .kp-logo{display:block;width:100%;height:100%;max-width:none;max-height:none;box-sizing:border-box;object-fit:contain;padding:5px;border:0;border-radius:12px}.kp-supermarket-offer__content{min-width:0}.kp-supermarket-offer__meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:5px;color:#82929a;font-size:11.5px;font-weight:750}.kp-supermarket-offer__meta a{color:#087b9b;text-decoration:none}.kp-supermarket-offer__meta span+span:before{content:'·';margin-right:8px;color:#b0bcc1}.kp-supermarket-offer h3{margin:0;color:#344651;font-size:18px;line-height:1.28}.kp-supermarket-offer h3 a{color:inherit;text-decoration:none}.kp-supermarket-offer__benefit{display:inline-flex;margin-top:8px;padding:5px 9px;border-radius:999px;background:#eff7df;color:#5f861f;font-size:12.5px}.kp-supermarket-offer p{margin:7px 0 0;color:#70828b;font-size:14px;line-height:1.45}.kp-supermarket-offer__actions{display:grid;gap:8px}.kp-supermarket-offer__actions .kp-button{width:100%;justify-content:center;text-align:center}.kp-supermarket-offer__source{text-align:center;color:#657982;font-size:12px;font-weight:750;text-decoration:none}
.kp-companysummary__supermarket{display:inline-flex;align-items:center;gap:6px;margin:0 0 10px;padding:5px 9px;border-radius:999px;background:#eff7df;color:#5f861f;font-size:12px;font-weight:800}.kp-supermarket-profileactions{display:grid;gap:8px;margin-top:10px}.kp-supermarket-profileactions .kp-button--folder{background:#fff;border:1px solid #9ac63d;color:#5d7f22}.kp-supermarket-profileactions .kp-button--folder:hover{background:#f5f9ec}.kp-supermarket-profileactions .kp-button--secondary{background:#edf7f9;border:1px solid #c7e2e8;color:#087b9b}
@media(max-width:1099px){.kp-supermarkets-hero__inner{grid-template-columns:1fr}.kp-supermarkets-hero__stats{max-width:360px}.kp-supermarket-list{grid-template-columns:repeat(2,minmax(0,1fr))}.kp-supermarket-offer{grid-template-columns:68px minmax(0,1fr)}.kp-supermarket-offer__actions{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:center}}
@media(max-width:767px){.kp-supermarkets-hero{padding:28px 0 25px}.kp-supermarkets-hero h1{font-size:34px}.kp-supermarkets-hero p{font-size:14.5px}.kp-supermarkets-hero__actions{margin-top:16px}.kp-supermarkets-hero__stats{width:100%;max-width:none}.kp-supermarkets-page{gap:36px}.kp-supermarket-list{grid-template-columns:1fr}.kp-supermarket-profilecard__main{grid-template-columns:62px minmax(0,1fr) auto;padding:14px}.kp-supermarket-profilecard__logo{width:60px;height:60px}.kp-supermarket-offer{grid-template-columns:56px minmax(0,1fr);gap:11px;padding:13px;border-radius:14px}.kp-supermarket-offer__logo{width:54px;height:54px}.kp-supermarket-offer h3{font-size:16.5px}.kp-supermarket-offer p{font-size:13.5px}.kp-supermarket-offer__actions{grid-template-columns:1fr}.kp-supermarket-offer__source{text-align:left}}
/* Vierkante kaartlogo's gebruiken voortaan echt het hele beschikbare vlak. */
.kp-merchantcard__logo>.kp-logo,
.kp-searchmerchant__logo>.kp-logo,
.kp-azshop__logo>.kp-logo,
.kp-offercard__logo>.kp-logo,
.kp-offercard__logo>a>.kp-logo,
.kp-dealcard__logo>.kp-logo,
.kp-dealcard__logo>a>.kp-logo,
.kp-relatedcompanies .kp-logo,
.kp-supermarket-offer__logo>.kp-logo,
.kp-supermarket-profilecard__logo>.kp-logo{
	display:block;
	width:100%;
	height:100%;
	max-width:none;
	max-height:none;
	box-sizing:border-box;
	object-fit:contain;
	padding:4px;
}

/* Het brede profielvlak behoudt de logoverhouding, maar de ingestelde
   winkelkleur vult het complete rechthoekige vlak. */
.kp-companysummary__logo>.kp-logo,
.kp-companysummary__logo>.kp-logo--placeholder{
	display:block;
	width:100%;
	max-width:none;
	box-sizing:border-box;
	object-fit:contain;
	padding:12px;
}

html {
	scroll-padding-top: 118px;
}

body {
	font-size: clamp(16px, calc(15.5px + .12vw), 17px);
	line-height: 1.62;
}

:where(button, input, select, textarea) {
	font: inherit;
}

:where(p, li) {
	overflow-wrap: break-word;
}

:where(.kp-prose, .kp-contentbody) {
	max-width: var(--va-readable) !important;
}

:where(.kp-prose, .kp-contentbody, .entry-content) a:not(.kp-button) {
	color: var(--va-blue-dark);
	text-decoration: underline;
	text-decoration-thickness: .09em;
	text-underline-offset: .16em;
}

:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid var(--va-focus) !important;
	outline-offset: 3px !important;
}

::selection {
	background: #dceff3;
	color: var(--va-ink);
}

/* Clearer buttons: the former green + white combination did not meet AA contrast. */
.kp-button,
.kp-button--accent,
.kp-band__submit {
	min-height: 48px;
	padding: 12px 19px;
	border-color: var(--va-action);
	background: var(--va-action);
	color: #fff;
	font-weight: 800;
	letter-spacing: .005em;
}

.kp-button:hover,
.kp-button--accent:hover,
.kp-band__submit:hover {
	border-color: var(--va-action-hover);
	background: var(--va-action-hover);
	color: #fff;
}

.kp-button--ghost {
	border-color: #c8d7dc;
	background: #fff;
	color: var(--va-ink);
}

.kp-button--ghost:hover {
	border-color: #9fc2ca;
	background: var(--va-blue-soft);
	color: var(--va-blue-dark);
}

.kp-deal-cta, .kp-button--dealcta, .kp-button--folder {
	min-height: 48px;
	background: var(--va-deal) !important;
	border-color: var(--va-deal) !important;
	color: #fff !important;
}

.kp-button--dealcta, .kp-button--folder {
	font-weight: 800;
}

.kp-deal-cta:hover,
.kp-button--dealcta:hover,
.kp-button--folder:hover {
	background: var(--va-deal-hover) !important;
	border-color: var(--va-deal-hover) !important;
	color: #fff !important;
}

/* Reliable 44px+ targets for touch and motor accessibility. */
:where(
	.kp-iconbutton,
	.kp-code-ticket,
	.kp-revealcode,
	.kp-ticket,
	.kp-votebutton,
	.kp-offertab,
	.kp-footer__cookiebutton,
	.kp-searchtoggle
) {
	min-height: 44px;
}

.kp-votebutton {
	min-width: 44px;
}

.kp-textlink, .kp-mobilemenu__secondary {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

/* Search: readable input plus an optional JS-injected clear control. */
.kp-bandsearch input[type="search"] {
	min-height: 50px;
	background: #fff;
	border-color: #cbdade;
	color: var(--va-ink);
}

.kp-bandsearch input[type="search"]::placeholder {
	color: #647780;
	opacity: 1;
}

.kp-searchclear {
	position: absolute;
	top: 50%;
	right: 51px;
	bottom: auto;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	min-height: 44px;
	padding: 0;
	transform: translateY(-50%);
	border: 0;
	background: transparent;
	color: var(--va-muted);
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}

.kp-searchclear:hover {
	background: #eaf1f3;
	color: var(--va-ink);
}

.kp-searchclear[hidden] {
	display: none !important;
}

/* Navigation is calm, obvious and not dependent on hover. */
.kp-subnav a {
	min-height: 48px;
}

.kp-mobilemenu__nav a {
	font-size: 16px;
	line-height: 1.3;
}

.kp-mobilemenu__nav a.is-active,
.kp-mobilemenu__nav a[aria-current="page"] {
	box-shadow: inset 4px 0 0 var(--va-blue);
}

/* Homepage: more scannable hierarchy and trust cues. */
.kp-homehero__copy {
	max-width: 820px;
}

.kp-homehero__copy > p {
	max-width: 62ch;
	font-size: clamp(16px, 1.3vw, 19px);
	line-height: 1.55;
}

.kp-homehero__actions {
	gap: 10px;
	flex-wrap: wrap;
}

.kp-heroassurance {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
	color: #536871;
	font-size: 14px;
	font-weight: 700;
}

.kp-heroassurance li {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.kp-heroassurance li::before {
	content: "✓";
	display: grid;
	place-items: center;
	width: 21px;
	height: 21px;
	border-radius: 50%;
	background: var(--va-green-soft);
	color: #55771d;
	font-size: 13px;
	font-weight: 900;
}

/* Cards: stronger hierarchy without adding visual noise. */
:where(
	.kp-merchantcard,
	.kp-offercard,
	.kp-profileoffer,
	.kp-productcard,
	.kp-usp,
	.kp-supermarket-card,
	.kp-supermarket-offer
) {
	border-color: #d1dfe3 !important;
	box-shadow: 0 4px 18px rgba(49, 82, 96, .055);
}

.kp-offercard .kp-deal__title,
.kp-profileoffer__content h3,
.kp-productcard h3,
.kp-merchantcard h3 {
	color: #293b44;
}

.kp-offercard__meta,
.kp-votegroup__label,
.kp-profileoffer__meta,
.kp-companysummary__meta,
.kp-productcard__merchant,
.kp-badge,
.kp-sponsored-label {
	font-size: max(12.5px, .78rem) !important;
	line-height: 1.4;
}

.kp-eyebrow {
	font-size: max(11.5px, .72rem) !important;
	letter-spacing: .055em;
}

.kp-votebutton:disabled {
	cursor: default;
	opacity: .78;
}

.kp-votebutton.is-loading {
	cursor: progress;
}

/* Forms: larger fields, visible errors and predictable autofill. */
:where(.kp-submitform, .kp-formwrap, .kp-businesssubmit, .kp-newsletter) :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
	min-height: 48px;
	border-color: #bdcfd5;
	background: #fff;
	color: var(--va-ink);
}

:where(.kp-submitform, .kp-formwrap, .kp-businesssubmit) label {
	font-weight: 700;
}

:where(.kp-submitform, .kp-formwrap, .kp-businesssubmit) small {
	display: block;
	margin-top: 5px;
	color: #5f737c;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.45;
}

:where(input, select, textarea):user-invalid {
	border-color: #a92d2d !important;
}

/* Modal: clearer close control and readable code. */
.kp-modal__close {
	width: 46px;
	height: 46px;
	font-size: 30px;
}

.kp-codebox__code {
	font-size: clamp(20px, 4vw, 28px);
	letter-spacing: .08em;
	overflow-wrap: anywhere;
	word-break: normal;
}

.kp-modal__hint {
	font-size: 14px;
	line-height: 1.55;
}

.kp-toast {
	max-width: min(420px, calc(100vw - 28px));
	font-size: 15px;
	line-height: 1.4;
}

/* Footer links remain easy to tap, especially on phones. */
.kp-footer li a {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding-block: 4px;
}

@media (hover: hover) and (pointer: fine) {
	:where(.kp-merchantcard, .kp-offercard, .kp-profileoffer, .kp-productcard, .kp-servicegrid > a):hover {
		box-shadow: 0 10px 28px rgba(49, 82, 96, .10);
	}
}

@media (max-width: 640px) {
	html {
		scroll-padding-top: 126px;
	}

	body {
		font-size: 16px;
	}

	.kp-bandsearch input[type="search"] {
		min-height: 48px;
		padding-left: 15px;
	}

	.kp-homehero h1,
	.kp-pagehero h1,
	.kp-storehero h1,
	.kp-businesshero h1,
	.kp-contenthero h1 {
		font-size: clamp(28px, 8vw, 35px) !important;
		line-height: 1.08;
	}

	.kp-homehero__copy > p,
	.kp-pagehero p,
	.kp-storehero p,
	.kp-businesshero p,
	.kp-contenthero p,
	.kp-contenthero__description {
		font-size: 16px !important;
	}

	.kp-homehero__actions .kp-button {
		flex: 1 1 150px;
		justify-content: center;
		text-align: center;
	}

	.kp-heroassurance {
		display: grid;
		grid-template-columns: 1fr;
		gap: 8px;
		font-size: 13px;
	}

	/* Replace the swipe-only service strip with a discoverable 2x2 grid. */
	.kp-servicegrid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		overflow: visible;
		gap: 8px;
		padding-bottom: 0;
		scroll-snap-type: none;
	}

	.kp-servicegrid > a {
		min-width: 0;
		padding: 11px;
		grid-template-columns: 38px minmax(0, 1fr);
		border-radius: 14px;
	}

	.kp-serviceicon {
		width: 38px;
		height: 38px;
		border-radius: 10px;
	}

	.kp-servicegrid strong {
		font-size: 14px;
		line-height: 1.25;
	}

	.kp-servicegrid small {
		font-size: 12.5px;
		line-height: 1.3;
	}

	.kp-sectionhead h2 {
		font-size: clamp(23px, 7vw, 28px);
	}

	.kp-profileoffer__meta {
		font-size: 12.5px !important;
	}

	/* Important offer context should not disappear entirely on small screens. */
	.kp-profileoffer__content p {
		display: -webkit-box !important;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
		margin-top: 5px;
		font-size: 13.5px;
		line-height: 1.45;
	}

	.kp-footer__columns h2 {
		font-size: 18px;
	}
}

@media (max-width: 390px) {
	.kp-servicegrid {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto !important;
	}

	*,
	*::before,
	*::after {
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .001ms !important;
		scroll-behavior: auto !important;
	}
}

@media (prefers-contrast: more) {
	:root {
		--va-line: #8ba0a8;
	}

	:where(.kp-merchantcard, .kp-offercard, .kp-profileoffer, .kp-productcard, .kp-servicegrid > a) {
		border-width: 2px !important;
	}
}

@media (forced-colors: active) {
	.kp-button,
	.kp-button--accent,
	.kp-deal-cta,
	.kp-button--dealcta,
	.kp-band__submit {
		forced-color-adjust: auto;
	}
}

/* Remaining interactive elements that previously used low-contrast green + white. */
.kp-revealcode,
.kp-ticket,
.kp-cookie__button--primary {
	background: var(--va-action) !important;
	border-color: var(--va-action) !important;
	color: #fff !important;
}

.kp-revealcode:hover,
.kp-ticket:hover,
.kp-cookie__button--primary:hover {
	background: var(--va-action-hover) !important;
	border-color: var(--va-action-hover) !important;
	color: #fff !important;
}

.kp-offertab.is-active[data-kp-offer-tab="deals"] strong {
	background: var(--va-deal) !important;
	color: #fff !important;
}

html, body, .kp-main, .kp-band__inner, .kp-section, .kp-sectionhead, .kp-companyshell__grid, .kp-companyshell__main, .kp-companyshell__aside {
	min-width: 0;
}

body {
	overflow-x: clip;
}

img {
	max-width: 100%;
	height: auto;
}

.kp-button,
.kp-deal-cta,
.kp-revealcode,
.kp-code-ticket,
.kp-ticket {
	max-width: 100%;
	white-space: normal;
	text-align: center;
	justify-content: center;
}

/* Avoid a duplicate browser-native X next to our accessible clear button. */
.kp-bandsearch input[type="search"]::-webkit-search-cancel-button,
.kp-bandsearch input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
	appearance: none;
}

.kp-bandsearch input[type="search"] {
	padding-right: 102px;
}

.kp-searchclear {
	border-radius: 11px;
}

.kp-searchclear:active {
	transform: translateY(-50%) scale(.96);
}

/* Long titles, shop names and codes may never force horizontal scrolling. */
:where(
	.kp-offercard__content,
	.kp-profileoffer__content,
	.kp-merchantcard__copy,
	.kp-productcard__body,
	.kp-companysummary,
	.kp-modal__panel
) {
	min-width: 0;
}

:where(
	.kp-deal__title,
	.kp-profileoffer__content h3,
	.kp-merchantcard__copy h3,
	.kp-productcard h3,
	.kp-companysummary h1,
	.kp-codebox__code
) {
	overflow-wrap: anywhere;
}

/* Secondary links are still real touch targets on cards. */
.kp-inlineconditions,
.kp-offercard__details {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

/* A modal should fit even on short phones and respect safe areas. */
.kp-modal {
	overscroll-behavior: contain;
}

.kp-modal__dialog {
	max-height: calc(100svh - 24px);
}

.kp-modal__close {
	z-index: 4;
	display: grid;
	place-items: center;
}

.kp-modal__copywrap,
.kp-modal__actions,
.kp-modal__actions .kp-button {
	max-width: 100%;
}

/* Better empty/error readability without turning alerts into giant banners. */
:where(.kp-empty, .kp-integration-note, .kp-formerror, .kp-notice) {
	line-height: 1.5;
}

@media (max-width: 1023px) {
	/* Keep menu and search above sticky page controls. */
	.kp-mobilemenu:not([hidden]) {
		overscroll-behavior: contain;
	}
}

@media (max-width: 640px) {
	/* True visual centering: reserve equal space left and right of the logo. */
	.kp-band__inner {
		grid-template-columns: 46px minmax(0, 1fr) 46px !important;
		grid-template-rows: 48px auto !important;
	}

	.kp-band__burger {
		grid-column: 1 !important;
	}

	.kp-siteidentity {
		grid-column: 2 !important;
		justify-self: center;
		max-width: 100%;
	}

	.kp-bandsearch,
	.js .kp-bandsearch,
	.js .kp-bandsearch[data-open="true"] {
		grid-column: 1 / -1 !important;
	}

	/* The phone header is two rows high. Old 60px sticky offsets caused overlap. */
	.kp-offertabs,
	.kp-aznav {
		position: relative !important;
		top: auto !important;
	}

	.kp-azgroup {
		scroll-margin-top: 128px;
	}

	.kp-bandsearch input[type="search"] {
		padding-right: 102px;
	}

	.kp-sectionhead {
		align-items: flex-start;
		flex-direction: column;
	}

	.kp-sectionhead .kp-textlink {
		margin-top: 2px;
	}
	.kp-offercard__details,
	.kp-inlineconditions,
	.kp-profileoffer__action :where(.kp-profile-codecta, .kp-profile-dealcta),
	.kp-code-ticket,
	.kp-deal-cta {
		min-height: 48px !important;
	}

	.kp-offercard__details,
	.kp-inlineconditions {
		padding-inline: 4px;
	}
	.kp-offertype,
	.kp-dealcard__benefit,
	.kp-profileoffer__valuechip,
	.kp-badge,
	.kp-sponsored-label {
		font-size: 12px !important;
		line-height: 1.3 !important;
	}

	.kp-votegroup__label,
	.kp-profileoffer__expiry,
	.kp-offercard__meta {
		font-size: 12.5px !important;
	}

	.kp-votebutton {
		min-width: 44px !important;
		height: 44px !important;
	}

	/* Mobile bottom-sheet: no clipped code/button on short screens. */
	.kp-modal__dialog {
		max-height: 92svh;
		padding-bottom: env(safe-area-inset-bottom);
	}

	.kp-modal__panel {
		padding-bottom: max(18px, env(safe-area-inset-bottom));
	}

	.kp-modal__couponbar {
		min-width: 0;
	}

	.kp-modal .kp-codebox__code {
		width: 100%;
		padding-inline: 12px;
		text-align: center;
	}
}

@media (max-width: 360px) {
	.kp-band__inner {
		grid-template-columns: 44px minmax(0, 1fr) 44px !important;
		gap-inline: 6px !important;
	}

	.kp-wordmark {
		font-size: 19px !important;
	}

	.kp-homehero__actions .kp-button {
		flex-basis: 100%;
	}
}

/* Prijsvergelijkingen: publieke lege status zonder demo/templatecards. */
.kp-comparepage__empty {
	max-width: 760px;
	padding: clamp(24px, 4vw, 36px);
}
.kp-comparepage__empty h3 {
	margin: 0 0 8px;
	font-size: clamp(20px, 2.2vw, 26px);
	line-height: 1.2;
}
.kp-comparepage__empty p {
	max-width: 62ch;
	margin: 0;
}
.kp-empty__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 20px;
}
@media (max-width: 540px) {
	.kp-empty__actions { display: grid; }
	.kp-empty__actions .kp-button { width: 100%; justify-content: center; }
}
