/* Meddent: thema-CSS. Maten 1:1 overgenomen uit de Bricks-opbouw (breakpoints 991 / 767 / 478). */

/* ---------- fonts (zelf gehost; Google Fonts-links verdwijnen op Hostinger) ---------- */
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 200 800; font-display: swap; src: url("fonts/manrope-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 200 800; font-display: swap; src: url("fonts/manrope-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Special Gothic"; font-style: normal; font-weight: 400 500; font-display: swap; src: url("fonts/special-gothic-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Special Gothic"; font-style: normal; font-weight: 400 500; font-display: swap; src: url("fonts/special-gothic-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Stack sans"; font-weight: 400; font-display: swap; src: url("fonts/stacksanstext-regular.woff2") format("woff2"); }
@font-face { font-family: "Stack sans"; font-weight: 500; font-display: swap; src: url("fonts/stacksanstext-medium.woff2") format("woff2"); }
@font-face { font-family: "Stack sans"; font-weight: 600; font-display: swap; src: url("fonts/stacksanstext-semibold.woff2") format("woff2"); }
@font-face { font-family: "Stack sans"; font-weight: 700; font-display: swap; src: url("fonts/stacksanstext-bold.woff2") format("woff2"); }

/* ---------- tokens ---------- */
:root {
	--md-navy: #004976;
	--md-blauw: #00a1d3;
	--md-oranje: #e48524;
	--md-licht: #daf0fb;
	--md-tekst: #212121;
	--md-grijs: #989898;
	--md-footer: #f2f2f2;
	--md-f-body: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--md-f-kop: "Stack sans", "Manrope", -apple-system, sans-serif;
	--md-f-alt: "Special Gothic", "Manrope", -apple-system, sans-serif;
	--md-pad-x: 60px;
	--md-schaduw: 0 5.82px 14.55px rgba(0, 0, 0, .08);
}
@media (max-width: 991px) { :root { --md-pad-x: 34px; } }
@media (max-width: 767px) { :root { --md-pad-x: 25px; } }

/* ---------- basis ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; font-family: var(--md-f-body); font-size: 16px; line-height: 1.5; color: var(--md-tekst); background: #fff; -webkit-font-smoothing: antialiased; }
img, svg { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4, p, ul { margin: 0; }
ul { padding: 0; list-style: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
:focus-visible { outline: 2px solid var(--md-oranje); outline-offset: 2px; }
.md-sr, .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.md-skip { position: absolute; left: 12px; top: -60px; z-index: 1000; background: var(--md-navy); color: #fff; padding: 10px 16px; border-radius: 8px; }
.md-skip:focus { top: 12px; }
html.md-lock, html.md-lock body { overflow: hidden; }

.md-wrap { width: 100%; max-width: calc(1384px + 2 * var(--md-pad-x)); margin: 0 auto; padding-left: var(--md-pad-x); padding-right: var(--md-pad-x); }
.md-wrap--smal { max-width: calc(1242px + 2 * var(--md-pad-x)); }
.md-wrap--footer { max-width: calc(1408px + 2 * var(--md-pad-x)); }
.md-sectie { padding-top: 64px; padding-bottom: 64px; }
@media (max-width: 991px) { .md-sectie { padding-top: 40px; padding-bottom: 40px; } }
@media (max-width: 767px) { .md-sectie { padding-top: 30px; padding-bottom: 30px; } }
@media (max-width: 991px) { .md-desktop { display: none !important; } }

/* ---------- typografie ---------- */
.md-eyebrow { font-family: var(--md-f-body); font-size: 24px; font-weight: 400; line-height: 1.3; color: var(--md-blauw); }
.md-eyebrow--licht { color: var(--md-licht); }
.md-h1 { font-family: var(--md-f-kop); font-size: 52px; font-weight: 600; line-height: 1.3; color: var(--md-navy); }
.md-h2 { font-family: var(--md-f-kop); font-size: 40px; font-weight: 600; line-height: 1.4; color: var(--md-navy); }
.md-h2--zwaar { font-family: var(--md-f-body); font-weight: 800; }
.md-h2--wit { font-family: var(--md-f-body); font-weight: 700; color: #fff; }
.md-h2-alt { font-family: var(--md-f-alt); font-size: 32px; font-weight: 400; line-height: 1.3; color: #000; }
.md-tekst { font-size: 16px; line-height: 1.5; color: #000; }
.md-tekst--wit { color: #fff; }
@media (max-width: 991px) {
	.md-eyebrow { font-size: 22px; }
	.md-h1 { font-size: 40px; }
	.md-h2 { font-size: 36px; }
	.md-h2--wit { font-size: 32px; }
	.md-h2-alt { font-size: 28px; }
}
@media (max-width: 767px) {
	.md-eyebrow { font-size: 18px; }
	.md-h1 { font-size: 30px; }
	.md-h2, .md-h2--wit { font-size: 26px; }
	.md-h2-alt { font-size: 24px; }
}

/* ---------- knoppen ---------- */
.md-knoppen { display: flex; flex-wrap: wrap; gap: 16px; }
.md-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 24px; font-family: var(--md-f-body); font-size: 16px; font-weight: 500; line-height: 1.3; border-radius: 8px; border: 3px solid var(--md-oranje); background: var(--md-oranje); color: #fff; transition: background-color .3s, color .3s, border-color .3s; white-space: nowrap; }
.md-btn:hover { background: transparent; color: var(--md-oranje); }
.md-btn--omlijnd { background: transparent; color: var(--md-oranje); font-weight: 600; }
.md-btn--omlijnd:hover { background: var(--md-oranje); color: #fff; }
.md-btn--wit { background: #fff; border-color: #fff; color: var(--md-navy); font-weight: 600; box-shadow: var(--md-schaduw); border-width: 0; padding: 12px 16px; }
.md-btn--wit:hover { background: var(--md-blauw); color: #fff; }
.md-btn--wit-vol { background: #fff; border-color: #fff; color: var(--md-navy); font-weight: 600; }
.md-btn--wit-vol:hover { background: transparent; color: #fff; }
.md-link { display: inline-flex; align-items: center; gap: 8px; color: var(--md-blauw); font-size: 16px; line-height: 1.5; }
.md-link:hover { color: var(--md-navy); }
.md-midden { display: flex; justify-content: center; }

/* ---------- header ---------- */
.md-header { position: relative; z-index: 50; background: #fff; }
.md-topbar__in { display: flex; align-items: center; padding-top: 16px; padding-bottom: 16px; }
.md-topbar__logo { width: 25%; }
.md-logo { display: inline-block; }
.md-logo img { width: 188px; max-width: 100%; }
.md-logo--mnav img { width: 140px; }
.md-logo--footer img { width: 204px; }
.md-slider__pijl[hidden], .md-slider__dots[hidden] { display: none; }
.md-topbar__acties { width: 75%; display: flex; justify-content: flex-end; align-items: center; gap: 32px; }
.md-search { display: flex; flex-direction: row-reverse; align-items: center; background: #f2f2f2; border-radius: 8px; width: 461px; max-width: 100%; }
.md-search input { flex: 1; min-width: 0; height: 40px; border: 0; background: transparent; font-family: var(--md-f-body); font-size: 16px; color: var(--md-tekst); padding: 0 12px 0 0; outline: 0; }
.md-search input::placeholder { color: var(--md-grijs); }
.md-search input::-webkit-search-cancel-button { display: none; }
.md-search button { width: 50px; height: 40px; display: flex; align-items: center; justify-content: center; color: var(--md-grijs); }
.md-icoon { position: relative; display: inline-flex; align-items: center; justify-content: center; color: var(--md-navy); }
.md-cart__count { position: absolute; top: -9px; right: -10px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; background: var(--md-oranje); color: #fff; font-size: 11px; font-weight: 600; line-height: 18px; text-align: center; }
.md-login { padding: 12px 24px; line-height: 1; }
.md-msearch, .md-burger { display: none; }

.md-navbar { background: var(--md-blauw); }
.md-navbar__in { display: flex; justify-content: space-between; align-items: stretch; min-height: 54px; }
.md-navbar .md-menu { align-items: stretch; }
.md-menu { display: flex; align-items: center; gap: 30px; font-family: var(--md-f-body); font-size: 16px; color: #fff; }
.md-menu--links { gap: 0; }
.md-menu--rechts { gap: 0; }
/* Hover/open = oranje vlak met witte tekst over de volle hoogte van de balk, rechte hoeken (Jay 13-11). */
.md-menu > li { position: relative; display: flex; align-items: center; gap: 4px; padding: 0 14px; transition: background-color .15s; }
.md-menu > li > a { display: block; padding: 2px 0; border-bottom: 2px solid transparent; cursor: pointer; }
.md-menu > li:hover, .md-menu > li:focus-within, .md-menu > li.is-open { background: var(--md-oranje); }
.md-menu > li:hover > a, .md-menu > li:focus-within > a, .md-menu > li.is-open > a,
.md-menu > li:hover > .md-sub-toggle, .md-menu > li:focus-within > .md-sub-toggle, .md-menu > li.is-open > .md-sub-toggle { color: #fff; }
.md-menu > .current-menu-item > a, .md-menu > .current-menu-ancestor > a, .md-menu > .current-menu-parent > a { border-bottom-color: var(--md-licht); }
.md-menu > li:hover > a, .md-menu > li:focus-within > a { border-bottom-color: transparent; }
.md-sub-toggle { display: inline-flex; padding: 4px; color: inherit; }
.md-sub-toggle svg { width: 14px; height: 14px; transition: transform .2s; }

/* dropdowns: witte panelen, oranje hover, verder uitklappen naar rechts */
.md-menu .sub-menu { position: absolute; top: 100%; left: 0; z-index: 60; min-width: 219px; background: #fff; border-radius: 0; box-shadow: 0 18px 40px -20px rgba(0, 0, 0, .25); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .15s, transform .15s, visibility .15s; color: var(--md-tekst); }
.md-menu > li > .sub-menu { margin-top: 0; } /* sluit direct aan op het oranje vlak; alles hoekig (Jay 13-11) */
.md-menu .sub-menu .sub-menu { top: 0; left: 100%; }
.md-menu li:hover > .sub-menu, .md-menu li:focus-within > .sub-menu, .md-menu li.is-open > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.md-menu .sub-menu li { position: relative; display: flex; align-items: center; justify-content: space-between; border-radius: 0; }
.md-menu .sub-menu li > a { flex: 1; display: block; padding: 18px 20px; white-space: nowrap; }
.md-menu .sub-menu li > .md-sub-toggle { padding: 0 20px 0 0; }
.md-menu .sub-menu li > .md-sub-toggle svg { transform: rotate(-90deg); }
.md-menu .sub-menu li:hover { background: var(--md-oranje); color: #fff; }
/* Merken: 31 merken in kolommen in plaats van één lijst van 1800 px */
.md-menu > li.md-merken > .sub-menu { display: grid; grid-template-columns: repeat(3, minmax(170px, 1fr)); padding: 8px; }
.md-menu > li.md-merken > .sub-menu li > a { padding: 10px 14px; }

/* mobiel menu */
.md-mnav { position: fixed; inset: 0; z-index: 200; background: rgba(0, 0, 0, .4); opacity: 0; visibility: hidden; transition: opacity .2s, visibility .2s; }
.md-mnav.is-open { opacity: 1; visibility: visible; }
.md-mnav__paneel { position: absolute; top: 0; right: 0; bottom: 0; width: 350px; max-width: 90vw; background: #fff; overflow-y: auto; transform: translateX(100%); transition: transform .25s ease; }
.md-mnav.is-open .md-mnav__paneel { transform: none; }
.md-mnav__kop { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; border-bottom: 1px solid #eee; }
.md-mmenu { font-size: 16px; color: var(--md-tekst); }
.md-mmenu li { position: relative; display: flex; flex-wrap: wrap; align-items: center; border-bottom: 1px solid #f2f2f2; }
.md-mmenu li > a { flex: 1; padding: 14px 20px; cursor: pointer; }
.md-mmenu li > a:hover { color: #ff9800; }
.md-mmenu .md-sub-toggle { padding: 14px 20px; }
.md-mmenu li.is-open > .md-sub-toggle svg { transform: rotate(180deg); }
.md-mmenu .sub-menu { display: none; width: 100%; background: #fff; }
.md-mmenu li.is-open > .sub-menu { display: block; }
.md-mmenu .sub-menu li > a { padding-left: 45px; padding-right: 30px; }
.md-mmenu .sub-menu .sub-menu li > a { padding-left: 65px; }
.md-mmenu .sub-menu li { border-bottom: 0; }

@media (max-width: 991px) {
	.md-topbar__logo { width: auto; }
	.md-topbar__acties { width: auto; margin-left: auto; gap: 32px; }
	.md-search, .md-account, .md-login, .md-navbar { display: none; }
	.md-msearch, .md-burger { display: inline-flex; }
	.md-logo img { max-width: 160px; }
	.md-msearch, .md-burger { color: var(--md-tekst); }
}
@media (max-width: 478px) {
	.md-topbar__acties { gap: 20px; }
	.md-logo img { max-width: 140px; }
}

/* ---------- hero ---------- */
.md-hero { position: relative; display: flex; align-items: center; min-height: 85vh; padding: 100px 0; background: var(--md-licht); overflow: hidden; }
.md-hero__beeld { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; }
.md-hero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(100deg, var(--md-licht) 37%, rgba(66, 66, 66, 0)); pointer-events: none; }
.md-hero__in { position: relative; z-index: 2; }
.md-hero__in > * { max-width: 556px; }
.md-hero__kop { display: flex; flex-direction: column; gap: 16px; }
.md-hero__body { display: flex; flex-direction: column; gap: 32px; margin-top: 32px; }
@media (max-width: 991px) { .md-hero { min-height: 60vh; padding: 40px 0; } }
@media (max-width: 767px) {
	.md-hero { min-height: 0; padding: 30px 0 32px; }
	.md-hero::before { background: linear-gradient(100deg, rgba(218, 240, 251, .89) 75%, rgba(66, 66, 66, 0)); }
}

/* ---------- shop op categorie ---------- */
.md-cats__kop { display: flex; justify-content: space-between; align-items: center; gap: 40px; }
.md-cats__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-top: 32px; }
.md-cats__kolom { display: flex; flex-direction: column; gap: 32px; }
.md-tegel { position: relative; display: flex; flex-direction: column; justify-content: space-between; gap: 20px; padding: 32px; border-radius: 16px; background: var(--md-licht); overflow: hidden; }
.md-tegel__titel { position: relative; z-index: 1; font-family: var(--md-f-alt); font-size: 32px; font-weight: 400; line-height: 1.3; color: var(--md-navy); }
.md-tegel__knop { position: relative; z-index: 1; display: flex; justify-content: flex-end; }
.md-tegel__beeld { position: absolute; pointer-events: none; }
.md-tegel--hoog { min-height: 480px; }
.md-tegel--hoog .md-tegel__beeld { right: 25px; bottom: 14px; width: 100%; max-width: 380px; max-height: 360px; object-fit: contain; object-position: right bottom; }
.md-tegel--laag { min-height: 167px; }
.md-tegel--laag .md-tegel__titel { align-self: flex-end; text-align: right; }
.md-tegel--laag .md-tegel__beeld { left: 12px; top: 0; bottom: 0; width: 45%; max-width: 330px; height: 100%; object-fit: contain; object-position: left center; }
.md-tegel:hover .md-btn--wit { background: var(--md-blauw); color: #fff; }
@media (max-width: 991px) {
	.md-tegel__titel { font-size: 24px; }
	.md-tegel--hoog { min-height: 400px; }
	.md-tegel--hoog .md-tegel__beeld { max-width: 250px; max-height: 280px; }
	.md-tegel--laag .md-tegel__beeld { max-width: 250px; }
}
@media (max-width: 767px) {
	.md-cats__kop { flex-wrap: wrap; gap: 20px; }
	.md-cats__grid { grid-template-columns: 1fr; gap: 50px; }
	.md-cats__kolom { gap: 50px; }
	.md-tegel { padding: 20px; min-height: 0; }
	.md-tegel--laag .md-tegel__titel { align-self: flex-start; text-align: left; }
	.md-tegel__beeld, .md-tegel--hoog .md-tegel__beeld, .md-tegel--laag .md-tegel__beeld { position: static; width: auto; max-width: 250px; max-height: 260px; height: auto; margin: 0 auto; object-position: center; }
	.md-cats__kolom:first-child .md-tegel--laag .md-tegel__beeld { max-width: 180px; }
}

/* ---------- split (over / cta) ---------- */
.md-split { display: flex; gap: 64px; }
.md-split > * { width: 50%; }
.md-split__beeld { position: relative; min-height: 502px; border-radius: 16px; overflow: hidden; }
.md-split__beeld img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.md-split__tekst { position: relative; display: flex; flex-direction: column; justify-content: center; gap: 32px; }
.md-split__kop { display: flex; flex-direction: column; gap: 8px; }
.md-over { position: relative; background: var(--md-licht) url("img/patroon.webp") center / cover; }
.md-over::before { content: ""; position: absolute; inset: 0; background: linear-gradient(var(--md-licht), rgba(218, 240, 251, .39) 50%); pointer-events: none; }
.md-over > .md-wrap { position: relative; }
@media (max-width: 991px) { .md-split { gap: 30px; } .md-split__tekst { gap: 30px; } .md-split__beeld { min-height: 450px; } }
@media (max-width: 767px) {
	.md-split { flex-direction: column; }
	.md-split > * { width: 100%; }
	.md-split__tekst { gap: 20px; }
	.md-split__beeld { min-height: 350px; }
}

/* ---------- bestsellers ---------- */
.md-best { padding-top: 96px; }
.md-best__kop { display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; margin-bottom: 64px; }
.md-best__kop .md-tekst { max-width: 676px; }
.md-best__rij { display: flex; gap: 32px; margin-bottom: 32px; }
.md-kaart { width: calc(25% - 24px); display: flex; flex-direction: column; gap: 16px; padding: 12px; border-radius: 12px; background: #fff; box-shadow: 0 12px 24px rgba(0, 0, 0, .08); }
.md-kaart__beeld { display: flex; aspect-ratio: 1 / 1; border-radius: 16px; overflow: hidden; background: #fff; }
.md-kaart__beeld img { width: 100%; height: 100%; max-width: none; object-fit: contain; }
.md-kaart__body { display: flex; flex-direction: column; justify-content: space-between; gap: 24px; min-height: 140px; flex: 1; }
.md-kaart__kop { display: flex; flex-direction: column; gap: 8px; }
.md-kaart__cat { font-size: 18px; font-weight: 500; line-height: 1.3; color: var(--md-grijs); }
.md-kaart__titel { font-family: var(--md-f-alt); font-size: 24px; font-weight: 400; line-height: 1.3; color: #000; }
.md-kaart__titel a:hover { color: var(--md-navy); }
.md-kaart__voet { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.md-kaart__prijs { font-size: 18px; font-weight: 500; line-height: 1.3; color: var(--md-oranje); }
.md-kaart__prijs del { color: var(--md-grijs); font-weight: 400; margin-right: 6px; }
.md-kaart__prijs ins { text-decoration: none; }
.md-kaart__prijs small { font-size: 12px; color: var(--md-grijs); }
@media (max-width: 991px) {
	.md-best { padding-top: 40px; }
	.md-best__kop { margin-bottom: 30px; }
	.md-best__rij { flex-wrap: wrap; justify-content: center; }
	.md-kaart { width: calc(50% - 16px); }
}
@media (max-width: 767px) {
	.md-best { padding-top: 30px; }
	.md-best__rij { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 calc(-1 * var(--md-pad-x)) 20px; padding: 4px var(--md-pad-x) 24px; gap: 16px; }
	.md-kaart { flex: 0 0 82%; width: auto; scroll-snap-align: center; }
}

/* ---------- reviews ---------- */
.md-reviews { position: relative; padding-bottom: 120px; background: var(--md-licht) url("img/patroon.webp") center / cover; overflow: hidden; }
.md-reviews::before { content: ""; position: absolute; inset: 0; background: linear-gradient(var(--md-licht) 0%, rgba(218, 240, 251, 0)); pointer-events: none; }
.md-reviews > .md-wrap { position: relative; }
.md-reviews__kop { display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; margin-bottom: 44px; }
.md-slider { position: relative; }
.md-slider__baan { display: flex; gap: 32px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 8px 4px 16px; }
.md-slider__baan::-webkit-scrollbar { display: none; }
.md-review { flex: 0 0 calc((100% - 64px) / 3); scroll-snap-align: start; display: flex; flex-direction: column; gap: 16px; padding: 30px; border-radius: 16px; background: #fff; }
.md-review__wie { display: flex; align-items: center; gap: 16px; }
.md-review__foto { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; }
.md-review__naam { font-size: 14px; color: #000; }
.md-review__sterren { display: flex; gap: 5.33px; }
.md-review__sterren .aan { color: #f0a028; }
.md-review__sterren .uit { color: #d9d9d9; }
.md-review__kop { font-size: 16px; font-weight: 500; line-height: 1.3; color: #000; }
.md-review__tekst { font-size: 16px; line-height: 1.7; color: #000; }
.md-slider__pijl { position: absolute; top: 50%; z-index: 5; transform: translateY(-50%); display: flex; padding: 17px 20px; border-radius: 23px; background: #fff; color: var(--md-blauw); box-shadow: 0 5.82px 14px rgba(0, 0, 0, .08); }
.md-slider__pijl--vorige { left: -5.5%; }
.md-slider__pijl--volgende { right: -6%; }
.md-slider__pijl[disabled] { opacity: .4; cursor: default; }
.md-slider__dots { display: flex; justify-content: center; align-items: center; gap: 12px; margin-top: 56px; }
.md-slider__dots button { width: 8px; height: 8px; border-radius: 50%; background: var(--md-grijs); }
.md-slider__dots button[aria-current="true"] { width: 12px; height: 12px; background: var(--md-blauw); }
@media (max-width: 1300px) { .md-slider__pijl--vorige { left: -10px; } .md-slider__pijl--volgende { right: -10px; } }
@media (max-width: 991px) {
	.md-reviews { padding-bottom: 40px; }
	.md-reviews__kop { margin-bottom: 20px; }
	.md-review { flex-basis: calc((100% - 32px) / 2); }
}
@media (max-width: 767px) {
	.md-reviews { padding-bottom: 30px; }
	.md-review { flex-basis: 100%; }
	.md-slider__pijl { padding: 12px 14px; }
	.md-slider__dots { margin-top: 24px; }
}

/* ---------- cta praktijkinrichting ---------- */
.md-cta { background: var(--md-blauw); overflow: hidden; padding-bottom: 60px; }
.md-split--cta .md-split__beeld { min-height: 450px; }
.md-cta .md-split__tekst > :not(.md-cta__tand) { position: relative; z-index: 1; }
.md-cta__tand { position: absolute; right: -20%; bottom: -21%; width: 100%; max-width: 407px; opacity: 1; pointer-events: none; }
@media (max-width: 991px) { .md-cta { padding-bottom: 40px; } .md-split--cta .md-split__beeld { min-height: 250px; } .md-cta__tand { max-width: 350px; } }
@media (max-width: 767px) { .md-cta { padding-bottom: 30px; } .md-split--cta { flex-direction: column-reverse; } .md-cta__tand { max-width: 250px; right: 0; bottom: 0; } }

/* ---------- footer ---------- */
.md-footer { background: var(--md-footer); padding: 48px 0; overflow: hidden; }
.md-footer__in { display: flex; justify-content: space-between; gap: 32px; }
.md-footer__merk { width: 30%; display: flex; flex-direction: column; justify-content: space-between; gap: 20px; }
.md-footer__merktekst { display: flex; flex-direction: column; gap: 16px; }
.md-footer__merktekst p, .md-footer__copy { font-size: 14px; line-height: 1.5; color: #000; }
.md-logo--footer img { max-width: 204px; }
.md-footer__kolom { display: flex; flex-direction: column; gap: 16px; }
.md-footer__kop { font-family: var(--md-f-body); font-size: 18px; font-weight: 400; line-height: 1.3; color: var(--md-navy); }
.md-footer__lijst li { margin-bottom: 16px; }
.md-footer__lijst a, .md-footer__contactlijst a { font-size: 16px; color: var(--md-blauw); }
.md-footer__lijst a:hover, .md-footer__contactlijst a:hover { color: var(--md-navy); }
.md-footer__contact { gap: 42px; }
.md-footer__contactlijst { display: flex; flex-direction: column; gap: 20px; }
.md-footer__contactlijst a { display: inline-flex; align-items: center; gap: 8px; }
.md-footer__social { display: flex; flex-direction: column; gap: 16px; }
.md-footer__social p { font-size: 14px; line-height: 1.5; color: var(--md-navy); }
.md-social { align-self: flex-start; display: inline-flex; padding: 13px 15px; border-radius: 15px; background: #fff; color: var(--md-navy); box-shadow: 0 4px 10px rgba(0, 0, 0, .08); }
@media (max-width: 991px) { .md-footer { padding: 40px 0; } .md-footer__in { flex-wrap: wrap; gap: 30px; } .md-footer__merk { width: 100%; } .md-footer__merktekst p { max-width: 250px; } }
@media (max-width: 767px) { .md-footer { padding: 30px 0; } .md-footer__in { flex-direction: column; } }

/* === Categorie/shop === (archive-product.php; maten uit Bricks-template 450 + snippet 27) */
.md-archief-kop { background: var(--md-licht); }
.md-archief-kop__in { display: flex; flex-direction: column; gap: 32px; }
.md-archief-kop__intro > * + * { margin-top: 1em; }
.md-archief-kop__intro--smal { max-width: 902px; }
.md-terug { display: none; align-self: flex-start; align-items: center; gap: 8px; margin-bottom: -14px; font-size: 16px; color: #111; }
.md-terug svg { width: 18px; height: 18px; color: var(--md-blauw); }
@media (max-width: 991px) { .md-archief-kop__in { gap: 30px; } }
@media (max-width: 767px) { .md-terug { display: inline-flex; } }

.md-subcats { padding-top: 48px; }
.md-subcats__kop { margin-bottom: 24px; font-family: var(--md-f-alt); font-size: 24px; font-weight: 400; line-height: 1.3; color: var(--md-blauw); }
.md-subcats__rij { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 5.5 * 32px) / 6.5); gap: 32px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; scrollbar-width: thin; }
.md-subcats__rij > li { scroll-snap-align: start; }
.md-subcat { display: flex; flex-direction: column; gap: 16px; }
.md-subcat__beeld { display: flex; align-items: center; justify-content: center; padding: 20px; border-radius: 16px; background: #f2f2f2; }
.md-subcat__beeld img { width: 100%; max-width: 203px; height: 198px; object-fit: contain; }
.md-subcat__naam { font-size: 18px; font-weight: 500; line-height: 1.3; color: #000; }
.md-subcat:hover .md-subcat__naam { color: var(--md-navy); }
@media (max-width: 991px) { .md-subcats { padding-top: 40px; } .md-subcats__rij { grid-auto-columns: calc((100% - 3 * 20px) / 4); gap: 20px; } .md-subcat__beeld img { height: 150px; } }
@media (max-width: 767px) { .md-subcats { padding-top: 30px; } .md-subcats__rij { grid-auto-columns: calc((100% - 16px) / 2.2); gap: 16px; } .md-subcat__beeld { padding: 12px; } .md-subcat__beeld img { height: 120px; } .md-subcat__naam { font-size: 16px; } }

.md-winkel__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 4fr); grid-template-areas: "balk balk" "zij lijst"; column-gap: 64px; }
.md-winkel__balk { grid-area: balk; display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 32px; }
.md-winkel__zij { grid-area: zij; }
.md-winkel__lijst { grid-area: lijst; }
.md-winkel__aantal { font-size: 16px; color: #000; }
.md-winkel__sorteer { display: flex; align-items: center; justify-content: flex-end; gap: 16px; width: 50%; }
.md-winkel__sorteer label { font-size: 16px; font-weight: 600; color: #000; white-space: nowrap; }
.md-select { position: relative; display: inline-flex; width: 100%; max-width: 322px; }
.md-select select { width: 100%; height: 40px; padding: 0 36px 0 12px; border: 1px solid #d9d9d9; border-radius: 8px; background: #fff; font-family: var(--md-f-body); font-size: 14px; color: #000; -webkit-appearance: none; appearance: none; cursor: pointer; }
.md-select svg { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); pointer-events: none; }
.md-filters__zoek { position: relative; display: flex; align-items: center; color: var(--md-grijs); }
.md-filters__zoek svg { position: absolute; left: 14px; width: 16px; height: 16px; pointer-events: none; }
.md-filters__zoek input { width: 100%; height: 40px; padding: 0 12px 0 40px; border: 0; border-radius: 10px; background: #f2f2f2; font-family: var(--md-f-body); font-size: 16px; color: var(--md-tekst); outline-offset: 0; }
.md-filters__zoek input::placeholder { color: var(--md-grijs); opacity: 1; }
.md-filters__kop { display: flex; align-items: center; justify-content: space-between; width: 100%; margin: 32px 0 24px; font-family: var(--md-f-alt); font-size: 16px; color: #000; text-align: left; pointer-events: none; }
.md-filters__kop svg { display: none; transition: transform .2s; }
.md-filters__actief { display: flex; flex-wrap: wrap; gap: 8px; }
.md-filters__actief:not(:empty) { margin-bottom: 24px; }
.md-chip { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 30px; background: #d9d9d9; font-size: 14px; color: #000; }
.md-chip:hover { background: #c9c9c9; }
.md-chip--wis { background: none; padding-left: 4px; color: #c62828; }
.md-chip--wis:hover { background: none; text-decoration: underline; }
.md-filter { margin: 0; padding: 0 0 32px; border: 0; min-width: 0; }
.md-filter__titel { margin-bottom: 16px; padding: 0; font-size: 16px; font-weight: 600; color: #000; }
.md-filter__lijst { display: flex; flex-direction: column; gap: 5px; }
.md-filter__lijst.is-ingeklapt li:nth-child(n+6) { display: none; }
.md-filter__optie { display: flex; align-items: center; gap: 10px; font-size: 16px; line-height: 1.6; color: #555; cursor: pointer; }
.md-filter__optie input { flex: none; position: relative; width: 24px; height: 26px; margin: 0; border: 1px solid var(--md-grijs); border-radius: 6px; background: #fff; -webkit-appearance: none; appearance: none; cursor: pointer; }
.md-filter__optie input:checked { background: var(--md-blauw); border-color: var(--md-blauw); }
.md-filter__optie input:checked::after { content: ""; position: absolute; left: 8px; top: 4px; width: 6px; height: 12px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.md-filter__optie:hover { color: #000; }
.md-filter__meer { margin-top: 20px; font-size: 16px; color: var(--md-blauw); }
.md-filter__meer:hover { color: var(--md-navy); }
.md-js .md-filters__toepassen { display: none; }

.md-pgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.md-pkaart { display: flex; flex-direction: column; padding: 12px; border-radius: 16px; background: #fff; box-shadow: 0 12px 24px rgba(0, 0, 0, .08); }
.md-pkaart__beeld { display: flex; justify-content: center; }
.md-pkaart__beeld img { width: 100%; height: 324px; object-fit: contain; }
.md-pkaart__body { flex: 1; display: flex; flex-direction: column; gap: 8px; min-height: 218px; margin-top: 16px; }
.md-pkaart__merk { margin-bottom: 6px; font-size: 14px; font-weight: 500; line-height: 1.2; color: var(--md-blauw); }
.md-pkaart__titel { margin-bottom: 7px; font-family: var(--md-f-alt); font-size: 24px; font-weight: 400; line-height: 1.3; color: #000; }
.md-pkaart__titel a:hover { color: var(--md-navy); }
.md-pkaart__prijs { font-size: 18px; font-weight: 500; line-height: 1.3; color: var(--md-oranje); }
.md-pkaart__prijs del { margin-right: 6px; font-weight: 400; color: var(--md-grijs); }
.md-pkaart__prijs ins { text-decoration: none; }
.md-pkaart__prijs small { font-size: 13px; font-weight: 400; }
.md-pkaart__link { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; margin-top: auto; padding: 6px 0; font-size: 16px; color: var(--md-blauw); }
.md-pkaart__link:hover { color: var(--md-navy); }
.md-paginering ul { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin-top: 48px; }
.md-paginering .page-numbers { display: flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 6px; border: 1px solid #dcdcdc; border-radius: 20px; background: #fff; font-size: 14px; color: #000; }
.md-paginering a.page-numbers:hover { border-color: var(--md-blauw); color: var(--md-blauw); }
.md-paginering .current { border-color: var(--md-blauw); background: var(--md-blauw); color: #fff; }
.md-paginering .dots { border: 0; background: none; }
.md-winkel__leeg { font-size: 18px; color: #000; }
.md-winkel__leeg a { color: var(--md-blauw); text-decoration: underline; }
.md-winkel.is-laden .md-winkel__lijst { opacity: .5; transition: opacity .15s; }
@media (max-width: 1024px) {
	.md-pgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
	.md-pkaart__beeld img { height: 260px; }
	.md-pkaart__body { min-height: 200px; }
	.md-pkaart__merk { font-size: 13px; }
	.md-pkaart__titel { font-size: 18px; }
	.md-pkaart__prijs { font-size: 16px; }
}
@media (max-width: 991px) { .md-winkel__in { grid-template-columns: minmax(0, 3fr) minmax(0, 7fr); column-gap: 30px; } .md-winkel__sorteer { width: 65%; } }
@media (max-width: 767px) {
	.md-winkel__in { grid-template-columns: minmax(0, 1fr); grid-template-areas: "balk" "zij" "lijst"; }
	.md-winkel__balk { flex-direction: column; align-items: flex-start; margin-bottom: 20px; }
	.md-winkel__sorteer { flex-direction: column; align-items: flex-start; width: 100%; }
	.md-winkel__zij { margin-bottom: 24px; }
	.md-pgrid { grid-template-columns: minmax(0, 1fr); }
	.md-pkaart__body { min-height: 0; }
	.md-pkaart__link { margin-top: 0; }
	.md-pkaart__merk { font-size: 12px; }
	.md-filters.is-open .md-filters__inhoud { padding-top: 20px; }
	.md-filters__kop { margin: 20px 0 0; padding: 10px 18px; border: 1px solid #d9d9d9; border-radius: 8px; background: #fff; pointer-events: auto; cursor: pointer; }
	.md-filters__kop svg { display: block; }
	.md-filters.is-open .md-filters__kop svg { transform: rotate(180deg); }
	.md-filters__inhoud { display: none; }
	.md-filters.is-open .md-filters__inhoud { display: block; }
	.md-paginering ul { margin-top: 32px; }
}

.md-cta--archief .md-split__beeld { min-height: 488px; }
.md-cta__inhoud { font-size: 16px; line-height: 1.6; color: #fff; }
.md-cta__inhoud > * + * { margin-top: 8px; }
.md-cta__inhoud > * + h2, .md-cta__inhoud > * + h3 { margin-top: 1.2em; }
.md-cta__inhoud h2, .md-cta__inhoud h3 { font-family: var(--md-f-body); font-size: 24px; font-weight: 700; line-height: 1.3; color: #fff; }
.md-cta__inhoud h3 { font-size: 20px; }
.md-cta__inhoud a { color: #fff; text-decoration: underline; }
.md-cta__inhoud ul { padding-left: 1.2em; list-style: disc; }
@media (max-width: 991px) { .md-cta--archief .md-split__beeld { min-height: 250px; } }

/* ---------- terugval-pagina's (fase 2 krijgt eigen templates) ---------- */
.md-pagina { padding-top: 48px; padding-bottom: 64px; }
.md-pagina > h1 { margin-bottom: 24px; }
.md-inhoud > * + * { margin-top: 1em; }
.md-artikel + .md-artikel { margin-top: 24px; }
.md-artikel__titel { font-family: var(--md-f-alt); font-size: 24px; font-weight: 400; }
.md-woo .products { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 24px; margin: 24px 0; }
.md-woo .products::before, .md-woo .products::after { display: none; }
.md-woo ul.products li.product { width: auto; margin: 0; float: none; }
.md-woo .button { display: inline-flex; padding: 10px 18px; border-radius: 8px; background: var(--md-oranje); color: #fff; font-weight: 500; }

/* === Product === (single-product.php, inc/product.php; maten uit Bricks-template 486) */
.md-pdp { --md-pad-x: 40px; }
.md-pdp__kruimel { padding-top: 31px; padding-bottom: 31px; }
.md-kruimel ol { display: flex; flex-wrap: wrap; align-items: center; margin: 0; padding: 0; list-style: none; font-size: 15px; line-height: 1.7; color: #363636; }
.md-kruimel li { display: inline-flex; align-items: center; }
.md-kruimel li + li::before { content: ""; width: 7px; height: 12px; margin: 0 15px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='12' viewBox='0 0 7 12'%3E%3Cpath d='M.7 11.32 6.36 5.66.7 0 0 .71l4.95 4.95L0 10.61z' fill='%23989898'/%3E%3C/svg%3E") no-repeat center; }
.md-kruimel a { display: inline-flex; align-items: center; gap: 3px; color: var(--md-grijs); }
.md-kruimel a:hover { color: var(--md-navy); }
.md-kruimel li:first-child a::before { content: ""; width: 18px; height: 18px; margin-top: -1px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3 2 12h3v8h5v-6h4v6h5v-8h3z' fill='%23989898'/%3E%3C/svg%3E") no-repeat center / contain; }
.md-pdp__meldingen:has(.woocommerce-notices-wrapper:empty) { display: none; }
.md-pdp__meldingen .woocommerce-message, .md-pdp__meldingen .woocommerce-error, .md-pdp__meldingen .woocommerce-info { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin: 0 0 24px; padding: 14px 18px; border-radius: 8px; background: var(--md-licht); color: var(--md-navy); list-style: none; }
.md-pdp__meldingen .woocommerce-error { background: #fdecea; color: #b3261e; }
.md-pdp__meldingen .button { order: 2; color: var(--md-blauw); text-decoration: underline; }

.md-pdp__top { display: flex; gap: 64px; padding-bottom: 64px; }
.md-pdp__media, .md-pdp__info { width: 100%; max-width: 50%; min-width: 0; }
.md-pdp__info { display: flex; flex-direction: column; gap: 16px; }
.md-pdp__merk { align-self: flex-start; margin-bottom: -10px; font-size: 14px; font-weight: 500; line-height: 1.2; color: #00aeef; }
.md-pdp__merk:hover { color: var(--md-navy); }
.md-pdp__titel { font-family: var(--md-f-kop); font-size: 40px; font-weight: 600; line-height: 1.4; color: var(--md-navy); overflow-wrap: anywhere; }
.md-prijs { font-family: var(--md-f-alt); font-size: 24px; line-height: 1.6; letter-spacing: .1em; color: var(--md-oranje); }
.md-prijs .woocommerce-price-suffix { font-family: var(--md-f-body); font-size: 12px; color: #363636; }
.md-prijs del { font-size: 18px; color: var(--md-grijs); }
.md-prijs ins { text-decoration: none; }
.md-pdp__kort { font-size: 16px; line-height: 1.7; color: #000; }
.md-pdp__kort p + p { margin-top: 16px; }
.md-pdp__kort strong { font-size: 18px; font-weight: 500; }
.md-pdp__kort a { color: var(--md-blauw); text-decoration: underline; }
.md-voorraad { font-size: 16px; line-height: 1.7; }
.md-voorraad--op { color: #009681; }
.md-voorraad--na { color: var(--md-navy); }
.md-voorraad--uit { color: #f44336; text-transform: uppercase; }

/* galerij: scroll-snap, één beeld per breedte; duimnagels eronder */
.md-galerij__hoofd { position: relative; }
.md-galerij__baan { display: flex; aspect-ratio: 1; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.md-galerij__baan::-webkit-scrollbar { display: none; }
.md-galerij__dia { flex: 0 0 100%; display: flex; align-items: center; justify-content: center; scroll-snap-align: start; }
.md-galerij__dia img, .md-galerij--leeg img { width: 100%; height: 100%; object-fit: contain; }
.md-galerij__pijl { position: absolute; top: 50%; z-index: 2; display: flex; align-items: center; justify-content: center; width: 66px; height: 66px; border-radius: 24px; background: #fff; color: var(--md-blauw); box-shadow: 0 6px 15px rgba(0, 0, 0, .08); transform: translateY(-50%); }
.md-galerij__pijl svg { width: 18px; height: 18px; }
.md-galerij__pijl--vorige { left: 20px; }
.md-galerij__pijl--volgende { right: 20px; }
.md-galerij__pijl[disabled] { opacity: .4; cursor: default; }
.md-galerij__duimen { display: flex; gap: 8px; margin-top: 10px; overflow-x: auto; scrollbar-width: none; }
.md-galerij__duimen::-webkit-scrollbar { display: none; }
.md-galerij__duim { flex: 0 0 calc((100% - 24px) / 4); aspect-ratio: 1; border: 2px solid transparent; background: #fff; opacity: .55; transition: opacity .2s; }
.md-galerij__duim:hover, .md-galerij__duim[aria-current="true"] { opacity: 1; }
.md-galerij__duim[aria-current="true"] { border-color: var(--md-blauw); }
.md-galerij__duim img { width: 100%; height: 100%; object-fit: contain; }

/* koopblok */
.md-koop { display: flex; flex-direction: column; gap: 16px; }
.md-koop__var { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.md-koop__var label { font-size: 14px; line-height: 1.7; color: #111; }
.md-koop__var select { width: 100%; max-width: 300px; height: 42px; padding: 0 40px 0 12px; border: 1px solid #d9d9d9; border-radius: 8px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m2.5 4.5 3.5 3.5 3.5-3.5' stroke='%23212121' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 14px center; font: 15px/1.2 var(--md-f-body); color: #111; appearance: none; }
.md-koop__melding { font-size: 14px; color: #b3261e; }
.md-koop__rij { display: flex; gap: 32px; }
.md-aantal { flex: none; display: flex; align-items: center; justify-content: space-between; width: 115px; height: 52px; padding: 0 6px; border: 1px solid #d9d9d9; border-radius: 8px; }
.md-aantal button { width: 30px; height: 100%; font-size: 18px; color: #363636; }
.md-aantal input { width: 36px; padding: 0; border: 0; background: transparent; text-align: center; font: 600 15px var(--md-f-body); color: #111; -moz-appearance: textfield; }
.md-aantal input::-webkit-inner-spin-button, .md-aantal input::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }
.md-koop__knop { flex: 1; height: 52px; font-weight: 600; box-shadow: 0 4px 10px rgba(0, 0, 0, .08); }
.md-koop__knop:hover { background: #111; border-color: #111; color: #fff; }
.md-koop__knop[disabled] { opacity: .5; cursor: not-allowed; }
.md-koop__knop[disabled]:hover { background: var(--md-oranje); border-color: var(--md-oranje); }
.md-koop__knop.is-bezig { opacity: .7; pointer-events: none; }

.md-kenmerken { display: flex; flex-direction: column; gap: 16px; margin: 16px 0; padding: 16px; background: var(--md-licht); }
.md-kenmerken__kop { font-size: 18px; font-weight: 500; line-height: 1.7; color: #000; }
.md-kenmerken li { display: flex; align-items: center; gap: 5px; font-size: 15px; line-height: 1.7; color: #363636; }
.md-kenmerken svg { flex: none; color: #03a9f4; }

/* beschrijving + specificaties */
.md-pdp__tabs { padding: 64px 0; background: var(--md-licht); }
.md-tabs__menu { display: flex; gap: 32px; border-bottom: 3px solid var(--md-blauw); }
.md-tabs__menu button { flex: 1; padding: 16px 24px; border-radius: 16px 16px 0 0; background: #fff; font-family: var(--md-f-alt); font-size: 24px; line-height: 1; color: var(--md-blauw); }
.md-tabs__menu button[aria-selected="true"] { background: var(--md-blauw); color: #fff; }
.md-tabs__paneel { padding: 32px; border-radius: 0 0 16px 16px; background: #fff; }
.md-pdp__omschr { font-size: 15px; line-height: 1.7; color: #000; overflow-wrap: anywhere; }
.md-pdp__omschr h2, .md-pdp__omschr h3, .md-pdp__omschr h4 { font-family: var(--md-f-alt); font-size: 24px; font-weight: 400; line-height: 1.4; color: var(--md-navy); }
.md-pdp__omschr ul { padding-left: 20px; list-style: disc; }
.md-pdp__omschr ol { padding-left: 20px; }
.md-pdp__omschr hr { margin: 15px 0; border: 0; border-top: 1px solid #ddd; }
.md-pdp__omschr a { color: var(--md-blauw); text-decoration: underline; }
.md-pdp__omschr table { width: 100%; border-collapse: collapse; }
.md-pdp__omschr td, .md-pdp__omschr th { padding: 8px; border: 1px solid #e3e3e3; text-align: left; }
.md-pdp__specs { font-size: 16px; line-height: 1.5; color: #000; }
.md-pdp__specs p { padding: 12px 0; border-bottom: 1px solid #e6eef3; }
.md-pdp__specs p:first-child { padding-top: 0; }
.md-pdp__specs p:last-child { border-bottom: 0; }

/* gerelateerde producten (kaart = md_productkaart uit inc/archief.php) */
.md-pdp__rel { --md-pad-x: 60px; padding: 128px 0 64px; }
.md-pdp__rel > .md-wrap { display: flex; flex-direction: column; gap: 32px; }
.md-pdp__relkop { font-family: var(--md-f-body); font-size: 40px; font-weight: 800; line-height: 1.4; color: var(--md-navy); }
.md-pdp__relgrid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
@media (max-width: 1024px) { .md-pdp__relgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; } }

@media (max-width: 991px) {
	.md-pdp { --md-pad-x: 34px; }
	.md-pdp__kruimel { padding-top: 25px; padding-bottom: 25px; }
	.md-pdp__top { gap: 40px; padding-bottom: 32px; }
	.md-pdp__titel { font-size: 30px; }
	.md-kenmerken { margin: 10px 0; }
	.md-pdp__tabs { padding: 40px 0; }
	.md-pdp__rel { --md-pad-x: 34px; padding: 40px 0; }
	.md-pdp__rel > .md-wrap { gap: 30px; }
	.md-pdp__relkop { font-size: 36px; }
}
@media (max-width: 767px) {
	.md-pdp { --md-pad-x: 25px; }
	.md-pdp__kruimel { padding-top: 20px; padding-bottom: 20px; }
	.md-desktop-kruimel { display: none; }
	.md-pdp__top { flex-direction: column; gap: 30px; padding-bottom: 30px; }
	.md-pdp__media, .md-pdp__info { max-width: 100%; }
	.md-galerij__duimen { margin-top: 20px; }
	.md-koop__var { flex-direction: column; align-items: stretch; gap: 8px; }
	.md-koop__var select { max-width: none; }
	.md-koop__rij { flex-direction: column; gap: 20px; }
	.md-aantal { width: 100%; padding: 0 16px; }
	.md-pdp__tabs { padding: 30px 0; }
	.md-tabs__menu { flex-direction: column; gap: 10px; border-bottom: 0; }
	.md-tabs__menu button { padding: 10px 18px; border-radius: 8px; font-size: 18px; }
	.md-tabs__paneel { margin-top: 20px; padding: 24px 20px; border-radius: 16px; }
	.md-pdp__omschr { font-size: 16px; }
	.md-pdp__omschr h2, .md-pdp__omschr h3, .md-pdp__omschr h4 { font-size: 22px; }
	.md-pdp__rel { --md-pad-x: 25px; padding: 30px 0; }
	.md-pdp__relkop { font-size: 26px; text-align: center; }
	.md-pdp__relgrid { gap: 12px; }
	.md-pdp__relgrid .md-pkaart { padding: 8px; }
	.md-pdp__relgrid .md-pkaart__beeld img { height: auto; aspect-ratio: 1; }
	.md-pdp__relgrid .md-pkaart__titel { font-size: 16px; overflow-wrap: anywhere; }
	.md-pdp__relgrid .md-pkaart__prijs { font-size: 15px; }
	.md-pdp__relgrid .md-pkaart__prijs small { display: block; }
}
@media (max-width: 478px) { .md-pdp__titel { font-size: 26px; } }

/* === Zoeken === live zoeksuggesties (main.js "Zoeken", inc/zoeken.php; port van snippet 38). De resultatenpagina /?s=
   gebruikt de opmaak van Categorie/shop hierboven. */
html.mdls-lock, html.mdls-lock body { overflow: hidden; }
#mdls-backdrop { position: fixed; inset: 0; z-index: 99990; background: rgba(0, 73, 118, .42); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); opacity: 0; visibility: hidden; transition: opacity .22s ease, visibility .22s ease; }
#mdls-backdrop.open { opacity: 1; visibility: visible; }
#mdls-panel { position: fixed; top: 0; left: 0; right: 0; z-index: 99991; display: flex; flex-direction: column; max-height: 92vh; background: #fff; font-family: var(--md-f-body); color: var(--md-tekst); box-shadow: 0 34px 80px -30px rgba(0, 73, 118, .55); transform: translateY(-101%); transition: transform .3s cubic-bezier(.22, .61, .36, 1); }
#mdls-backdrop.open #mdls-panel { transform: translateY(0); }
.mdls-bar { flex: none; border-bottom: 1px solid #e2e6ea; }
.mdls-inner, .mdls-bodyinner { width: 100%; max-width: 1080px; margin: 0 auto; padding: 0 28px; }
.mdls-barrow { display: flex; align-items: center; gap: 14px; min-height: 84px; }
.mdls-mag { flex: none; display: flex; color: var(--md-navy); }
#mdls-panel .mdls-input { flex: 1; min-width: 0; height: auto; margin: 0; padding: 6px 0; border: 0; outline: 0; box-shadow: none; background: transparent; font: inherit; font-size: 21px; font-weight: 500; color: var(--md-tekst); }
#mdls-panel .mdls-input::placeholder { color: var(--md-grijs); font-weight: 400; opacity: 1; }
#mdls-panel .mdls-input::-webkit-search-cancel-button { display: none; }
.mdls-clear { flex: none; display: none; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: #f2f2f2; color: #5a6b7b; }
.mdls-clear:hover { background: #e2e8ee; }
.mdls-clear.show { display: flex; }
.mdls-close { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; margin-left: 6px; border: 1px solid #e7eaee; border-radius: 50%; background: #fff; color: #5a6b7b; transition: background .15s, color .15s, border-color .15s; }
.mdls-close:hover { border-color: var(--md-navy); background: var(--md-navy); color: #fff; }
.mdls-body { flex: 1; overflow-y: auto; overscroll-behavior: contain; }
.mdls-bodyinner { padding-top: 24px; padding-bottom: 30px; }
.mdls-h { margin: 0 0 13px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #5f6e7a; }
.mdls-sec + .mdls-sec { margin-top: 26px; }
.mdls-popgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.mdls-pop { display: flex; flex-direction: column; padding: 14px; border: 1px solid #e9edf1; border-radius: 16px; transition: border-color .15s, box-shadow .15s, transform .12s; }
.mdls-pop:hover, .mdls-pop.active { border-color: #cfe3ee; box-shadow: 0 18px 40px -30px rgba(0, 73, 118, .5); transform: translateY(-2px); }
.mdls-pop__img { display: flex; align-items: center; justify-content: center; aspect-ratio: 1 / 1; margin-bottom: 11px; overflow: hidden; border: 1px solid #eef1f4; border-radius: 11px; background: #fff; }
.mdls-pop__img img { max-width: 78%; max-height: 78%; object-fit: contain; }
.mdls-pop__name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: 7px; font-size: 13px; font-weight: 600; line-height: 1.35; }
.mdls-pop__price, .mdls-prod__price { margin-top: auto; font-size: 15px; font-weight: 700; color: var(--md-navy); }
.mdls-pop__price del, .mdls-prod__price del { margin-right: 4px; font-size: 12.5px; font-weight: 400; color: var(--md-grijs); }
.mdls-pop__price ins, .mdls-prod__price ins { text-decoration: none; }
.mdls-pop__price small, .mdls-prod__price small { font-size: 11px; font-weight: 500; color: #5f6e7a; }
.mdls-resgrid { display: grid; grid-template-columns: 248px minmax(0, 1fr); gap: 30px; }
.mdls-sug, .mdls-prodlist { display: flex; flex-direction: column; gap: 2px; }
.mdls-prodlist { gap: 4px; }
.mdls-sug a { display: flex; align-items: center; gap: 11px; padding: 10px 11px; border-radius: 10px; font-size: 14.5px; font-weight: 600; transition: background .13s; }
.mdls-sug a .si { flex: none; display: flex; color: var(--md-grijs); }
.mdls-sug a .st { padding: 2px 8px; border-radius: 999px; background: #f2f2f2; font-size: 11.5px; font-weight: 600; color: #5f6e7a; }
.mdls-sug a .sx { flex: none; margin-left: auto; color: #cdd5dc; }
.mdls-prod { display: flex; align-items: center; gap: 15px; padding: 11px 12px; border-radius: 13px; transition: background .13s; }
.mdls-prod__img { flex: none; display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; overflow: hidden; border: 1px solid #eef1f4; border-radius: 11px; background: #fff; }
.mdls-prod__img img { max-width: 84%; max-height: 48px; object-fit: contain; }
.mdls-prod__main { flex: 1; min-width: 0; }
.mdls-prod__name { font-size: 14.5px; font-weight: 600; line-height: 1.35; }
.mdls-prod__name mark { background: transparent; font-weight: 800; color: #b5600f; }
.mdls-prod__meta { margin-top: 2px; font-size: 12.5px; color: #5f6e7a; overflow-wrap: anywhere; }
.mdls-prod__price { margin-top: 0; text-align: right; white-space: nowrap; }
.mdls-prod.active, .mdls-prod:hover, .mdls-sug a.active, .mdls-sug a:hover { background: var(--md-licht); }
.mdls-all { display: flex; align-items: center; justify-content: center; gap: 9px; width: 100%; margin-top: 18px; padding: 14px; border-radius: 13px; background: var(--md-navy); font-size: 14.5px; font-weight: 600; color: #fff; transition: background .15s; }
.mdls-all .mdls-mag { color: #fff; }
.mdls-all:hover, .mdls-all.active { background: var(--md-oranje); }
.mdls-loading { display: flex; align-items: center; gap: 10px; padding: 12px 2px; font-size: 14px; color: #5f6e7a; }
.mdls-spin { flex: none; width: 18px; height: 18px; border: 2px solid #e2e6ea; border-top-color: var(--md-navy); border-radius: 50%; animation: mdlsspin .6s linear infinite; }
@keyframes mdlsspin { to { transform: rotate(360deg); } }
.mdls-skel { height: 158px; border: 1px solid #eef1f4; border-radius: 16px; background: linear-gradient(100deg, #f4f6f8 30%, #eef1f4 50%, #f4f6f8 70%); background-size: 200% 100%; animation: mdlsshim 1.1s linear infinite; }
@keyframes mdlsshim { to { background-position: -200% 0; } }
.mdls-empty { padding: 14px 0 6px; text-align: center; }
.mdls-empty .ee { display: flex; align-items: center; justify-content: center; width: 54px; height: 54px; margin: 0 auto 14px; border-radius: 50%; background: var(--md-licht); color: var(--md-navy); }
.mdls-empty__title { margin: 0 0 5px; font-size: 16px; font-weight: 700; }
.mdls-empty p { max-width: 380px; margin: 0 auto 20px; font-size: 14px; line-height: 1.5; color: #5f6e7a; }
@media (prefers-reduced-motion: reduce) { #mdls-backdrop, #mdls-panel, .mdls-pop { transition: none; } .mdls-spin, .mdls-skel { animation: none; } }
@media (max-width: 780px) {
	#mdls-panel { height: 100dvh; max-height: 100vh; box-shadow: none; }
	.mdls-barrow { min-height: 64px; }
	.mdls-inner, .mdls-bodyinner { padding-left: 16px; padding-right: 16px; }
	#mdls-panel .mdls-input { font-size: 18px; }
	.mdls-popgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mdls-resgrid { grid-template-columns: minmax(0, 1fr); gap: 22px; }
	.mdls-prod { gap: 12px; padding: 10px 8px; }
}

/* === Blog === (single.php, category.php, single-team.php, inc/blog.php; maten uit Bricks 18328, 18326, 18349, 18363) */
/* kop: lichtblauw met tandpatroon (zelfde beeld als .md-over), foto schuift er 30px in */
.md-art__kop { position: relative; padding: 64px 0 94px; background: var(--md-licht) url("img/patroon.webp") center / cover; text-align: center; }
.md-art__kop::before { content: ""; position: absolute; inset: 0; background: linear-gradient(var(--md-licht), rgba(218, 240, 251, .39) 50%); pointer-events: none; }
.md-art__kop--lijst { padding-bottom: 64px; }
.md-art__kopbinnen { position: relative; display: flex; flex-direction: column; align-items: center; gap: 20px; max-width: calc(1218px + 2 * var(--md-pad-x)); }
.md-art__titel { font-family: var(--md-f-kop); font-size: 52px; font-weight: 600; line-height: 1.3; color: var(--md-navy); }
.md-art__meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 40px; font-size: 15px; line-height: 1.5; color: #000; }
.md-art__meta li { display: inline-flex; align-items: center; gap: 6px; }
.md-art__meta a:hover { color: var(--md-blauw); }
.md-kruimel--blog ol { justify-content: center; color: var(--md-blauw); }
.md-kruimel--blog a { color: var(--md-blauw); }
.md-kruimel--blog li + li::before { margin: 0 10px; }
.md-blog__intro { max-width: 760px; font-size: 16px; line-height: 1.5; color: #000; }

.md-art__body { width: 100%; max-width: 1000px; margin: -30px auto 0; padding: 0 70px 70px; position: relative; display: flex; flex-direction: column; gap: 20px; }
.md-art__beeld { margin: 0; }
.md-art__beeld img { width: 100%; height: 600px; object-fit: cover; border-radius: 16px; }
.md-art__toc { padding: 20px; border-radius: 16px; background: #edf2f5; font-size: 16px; line-height: 1.5; color: #000; }
.md-art__tockop { font-weight: 700; margin-bottom: 6px; }
.md-art__toc ol { margin: 0; padding-left: 1.4em; }
.md-art__toc li + li { margin-top: 4px; }
.md-art__toc a:hover { color: var(--md-blauw); text-decoration: underline; }

/* artikeltekst (#brxe-1c8786); p kreeg in Bricks margin 0, hier 12px tussen alinea's voor de leesbaarheid */
.md-art__inhoud { font-size: 16px; line-height: 1.5; color: #000; overflow-wrap: break-word; }
.md-art__inhoud > * + * { margin-top: 12px; }
.md-art__inhoud h2 { margin-top: 32px; font-family: var(--md-f-body); font-size: 42px; font-weight: 500; line-height: 1.25; color: #001831; scroll-margin-top: 20px; }
.md-art__inhoud h3 { margin-top: 24px; margin-bottom: -4px; font-size: 18px; font-weight: 600; line-height: 1.4; color: #001831; }
.md-art__inhoud h4 { margin-top: 16px; font-size: 16px; font-weight: 600; color: #001831; }
.md-art__inhoud a { color: #c4621f; text-decoration: underline; text-underline-offset: 2px; }
.md-art__inhoud a:hover { color: #1e4d7b; }
.md-art__inhoud img { border-radius: 20px; }
.md-art__inhoud ul, .md-art__inhoud ol { padding-left: 22px; }
.md-art__inhoud ol { list-style: decimal; }
.md-art__inhoud li { margin: 8px 0; line-height: 24px; }
.md-art__inhoud ul > li { position: relative; list-style: none; }
.md-art__inhoud ul > li::before { content: ""; position: absolute; top: 5px; left: -22px; width: 14px; height: 14px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M1.5 7.5 5.2 11 12.5 3' fill='none' stroke='%23004976' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain; }
.md-art__inhoud table { width: 100%; border-collapse: collapse; }
.md-art__inhoud th, .md-art__inhoud td { padding: 8px 10px; border-bottom: 1px solid #dfe6ea; text-align: left; vertical-align: top; }

/* auteurblok (Bricks 18326) */
.md-auteur { display: flex; align-items: flex-start; gap: 30px; margin-top: 20px; padding: 20px; border-radius: 16px; background: var(--md-licht); }
.md-auteur__foto { flex: 0 0 200px; }
.md-auteur__foto img { width: 200px; height: 200px; object-fit: cover; border-radius: 16px; }
.md-auteur__tekst { flex: 1; min-width: 0; margin-top: 10px; font-size: 16px; line-height: 1.5; color: #000; }
.md-auteur__label { font-size: 16px; line-height: 20px; color: #b8620f; }
.md-auteur__naam { font-family: var(--md-f-kop); font-size: 32px; font-weight: 600; line-height: 1.5; color: #2f4157; }
.md-auteur__naam a:hover { color: var(--md-blauw); }
.md-auteur__bio > * + * { margin-top: 12px; }
.md-zorgkaart { display: inline-flex; align-items: center; gap: 6px; margin-top: 15px; padding: 5px 10px; border-radius: 6px; background: #fff; font-size: 15px; line-height: 1.5; color: #001831; }
.md-zorgkaart svg { color: var(--md-oranje); flex: none; }
.md-zorgkaart:hover { color: var(--md-blauw); }

/* artikelkaarten: lichtblauw (Bricks 18349) op overzicht en teampagina, blauw met witte tekst onder een artikel */
.md-agrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.md-agrid--twee { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.md-akaart { display: flex; flex-direction: column; border-radius: 16px; overflow: hidden; background: var(--md-licht); }
.md-akaart__beeld img { width: 100%; height: 250px; object-fit: cover; }
.md-akaart__body { flex: 1; display: flex; flex-direction: column; padding: 18px 25px 20px; }
.md-akaart__datum { font-size: 14px; color: #4d5b66; }
.md-akaart__titel { margin: 8px 0 16px; font-family: var(--md-f-kop); font-size: 26px; font-weight: 600; line-height: 1.3; color: var(--md-navy); }
.md-akaart__titel a:hover { color: var(--md-blauw); }
.md-akaart__tekst { font-size: 16px; line-height: 1.5; color: #000; }
.md-akaart__meer { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 20px; font-weight: 600; color: #b8620f; }
.md-akaart__meer:hover { color: var(--md-navy); }
.md-agrid--blauw .md-akaart { background: var(--md-blauw); }
.md-agrid--blauw .md-akaart__titel { font-family: var(--md-f-body); font-size: 22px; font-weight: 800; line-height: 1.35; color: #fff; }
.md-agrid--blauw .md-akaart__titel a:hover { color: var(--md-licht); }
.md-agrid--blauw .md-akaart__tekst, .md-agrid--blauw .md-akaart__datum { color: #fffdf5; }
.md-agrid--blauw .md-akaart__meer { color: #fff; }
.md-art__rel { margin-top: 30px; }
.md-art__relkop { padding: 10px 0; }

.md-blog__lijst { padding-top: 64px; padding-bottom: 64px; }
.md-blog__pag .nav-links { display: flex; justify-content: center; align-items: center; gap: 6px; margin-top: 40px; }
.md-blog__pag .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 8px; border-radius: 8px; color: var(--md-navy); font-weight: 600; }
.md-blog__pag .page-numbers.current { background: var(--md-navy); color: #fff; }
.md-blog__pag a.page-numbers:hover { background: var(--md-licht); }

/* teampagina (Bricks 18363) */
.md-team { padding: 64px 0; background: #edf2f5; }
.md-team__binnen { display: flex; align-items: center; gap: 10px; }
.md-team__tekst { width: 65%; }
.md-team__tekst .md-kruimel ol { color: #000; }
.md-team__tekst .md-kruimel a { color: #000; }
.md-team__tekst .md-kruimel [aria-current] { font-weight: 600; }
.md-team__naam { padding: 10px 0; }
.md-team__bio { padding-bottom: 10px; font-size: 16px; line-height: 1.5; color: #000; }
.md-team__bio > * + * { margin-top: 16px; }
.md-team__kaart { width: 35%; display: flex; flex-direction: column; align-items: flex-start; margin-left: auto; max-width: 250px; padding: 20px 25px; border-radius: 16px; background: #fff; }
.md-team__kaart img { width: 200px; height: 200px; object-fit: cover; border-radius: 16px; }
.md-team__label { margin-top: 10px; font-size: 20px; font-weight: 600; line-height: 30px; color: #001831; }
.md-team__rol { font-size: 16px; line-height: 20px; color: #001831; }
.md-team__arts .md-h2 { padding: 10px 0 20px; }

@media (max-width: 991px) {
	.md-art__kop { padding: 40px 0 100px; }
	.md-art__kop--lijst { padding-bottom: 40px; }
	.md-art__titel { font-size: 40px; }
	.md-art__body { margin-top: -60px; padding: 0 20px 40px; }
	.md-art__inhoud h2 { font-size: 34px; }
	.md-auteur__naam { font-size: 24px; line-height: 1.3; }
	.md-akaart__titel { font-size: 22px; }
	.md-agrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.md-blog__lijst { padding-top: 40px; padding-bottom: 40px; }
	.md-team { padding: 40px 0; }
}
@media (max-width: 767px) {
	.md-art__kop { padding: 30px 0 100px; }
	.md-art__kop--lijst { padding-bottom: 30px; }
	.md-art__titel { font-size: 30px; }
	.md-art__meta { gap: 6px 18px; font-size: 13px; }
	.md-art .md-kruimel--blog li:last-child { display: none; } /* = de H1; brak anders af met een losse pijl */
	.md-art__inhoud h2 { font-size: 28px; }
	.md-art__relkop, .md-team__arts .md-h2 { text-align: center; }
	.md-agrid, .md-agrid--twee { grid-template-columns: minmax(0, 1fr); }
	.md-akaart__beeld img { height: 220px; }
	.md-auteur { flex-direction: column; gap: 10px; }
	.md-auteur__foto, .md-auteur__foto img { flex-basis: auto; width: 200px; height: 142px; }
	.md-auteur__naam { font-size: 20px; line-height: 30px; }
	.md-blog__lijst { padding-top: 30px; padding-bottom: 30px; }
	.md-team { padding: 30px 0; }
	.md-team__tekst { width: 100%; }
	.md-team__kaart { display: none; }
}
@media (max-width: 478px) {
	.md-art__beeld img { height: 350px; }
	.md-kruimel--blog ol { font-size: 14px; }
}

/* === Infopagina's === (page.php, parts/sectie-*.php; maten uit de Bricks-pagina's 1248, 1258, 1210 en 3) */
.md-paginakop { background: var(--md-licht); }
.md-paginakop .md-hero__body { gap: 24px; margin-top: 10px; }
.md-paginakop__tekst { max-width: 902px; font-size: 18px; line-height: 28px; color: var(--md-tekst); }
.md-secties .md-inhoud { color: #000; overflow-wrap: break-word; }
.md-secties .md-inhoud a { color: var(--md-oranje); text-decoration: underline; text-underline-offset: 2px; }
.md-secties .md-inhoud a:hover { color: var(--md-navy); }
.md-secties .md-inhoud ul { list-style: disc; padding-left: 1.4em; }
.md-secties .md-inhoud ol { padding-left: 1.4em; }
.md-secties .md-inhoud li + li { margin-top: .25em; }
.md-secties .md-inhoud h2 { font-family: var(--md-f-kop); font-size: 28px; font-weight: 600; line-height: 1.3; color: var(--md-navy); }
.md-secties .md-inhoud h3 { font-family: var(--md-f-kop); font-size: 22px; font-weight: 600; line-height: 1.3; color: var(--md-navy); }
.md-secties .md-inhoud * + h2, .md-secties .md-inhoud * + h3 { margin-top: 1.5em; }
.md-secties .md-inhoud img { height: auto; }
.md-tekstsectie .md-h2 { margin-bottom: 24px; }
/* telefoon en mail met icoon (contact): <ul class="md-contactlijst"> in de tekst */
.md-secties .md-inhoud .md-contactlijst { display: grid; gap: 4px; margin: 10px 0; padding: 0; list-style: none; }
.md-secties .md-inhoud .md-contactlijst li { margin: 0; }
.md-secties .md-inhoud .md-contactlijst a { display: inline-flex; align-items: center; gap: 8px; color: var(--md-tekst); text-decoration: none; }
.md-secties .md-inhoud .md-contactlijst a:hover { color: var(--md-blauw); }
.md-contactlijst a::before { content: ""; flex: none; width: 16px; height: 16px; background: var(--md-blauw); -webkit-mask: var(--md-i) center / contain no-repeat; mask: var(--md-i) center / contain no-repeat; }
.md-contactlijst a[href^="tel:"] { --md-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.6a1 1 0 0 1-.25 1Z'/%3E%3C/svg%3E"); }
.md-contactlijst a[href^="mailto:"] { --md-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1Zm1.4 2L12 12.3 19.6 7H4.4ZM20 8.4l-7.4 5.2a1 1 0 0 1-1.2 0L4 8.4V17h16V8.4Z'/%3E%3C/svg%3E"); }
/* tekst + formulier (contact): Bricks-container 1258 txwaff */
.md-splitsectie--formulier .md-split { gap: 32px; align-items: center; }
.md-splitsectie--formulier .md-split__tekst { gap: 10px; }
.md-split__formulier { min-width: 0; }
/* WPForms (stijl "alleen basis"): velden zoals het Bricks-formulier */
.md-form .wpforms-container { margin: 0; }
.md-form .wpforms-form .wpforms-field-container { display: flex; flex-wrap: wrap; gap: 15px 12px; }
.md-form .wpforms-form .wpforms-field { width: 100%; margin: 0; padding: 0; }
.md-form .wpforms-form .wpforms-field.md-half { width: calc(50% - 6px); }
.md-form .wpforms-form input[type="text"], .md-form .wpforms-form input[type="email"], .md-form .wpforms-form textarea { width: 100%; max-width: none; height: 42px; margin: 0; padding: 8px 12px; border: 1px solid #ddd; border-radius: 0; background: #f2f2f2; font-family: var(--md-f-body); font-size: 16px; line-height: 1.5; color: var(--md-tekst); box-shadow: none; }
/* WPForms-basis laadt na het thema en zet textarea.wpforms-field-medium op 120px: daarom de extra class */
.md-form .wpforms-form textarea, .md-form .wpforms-form textarea.wpforms-field-medium { height: 90px; min-height: 90px; resize: vertical; }
.md-form .wpforms-form ::placeholder { color: rgba(33, 33, 33, .51); opacity: 1; }
.md-form .wpforms-form input:focus, .md-form .wpforms-form textarea:focus { border-color: var(--md-blauw); outline: 0; box-shadow: 0 0 0 1px var(--md-blauw); }
.md-form .wpforms-form .wpforms-submit-container { margin: 15px 0 0; padding: 0; }
.md-form .wpforms-form button.wpforms-submit { display: inline-flex; align-items: center; justify-content: center; height: auto; padding: 12px 24px; border: 3px solid var(--md-oranje); border-radius: 8px; background: var(--md-oranje); font-family: var(--md-f-body); font-size: 16px; font-weight: 500; line-height: 1.3; color: #fff; cursor: pointer; transition: background-color .3s, color .3s; }
.md-form .wpforms-form button.wpforms-submit:hover { background: transparent; color: var(--md-oranje); }
.md-form .wpforms-form .wpforms-error, .md-form .wpforms-form label.wpforms-error { display: block; margin-top: 4px; font-size: 14px; color: #b3261e; }
.md-form .wpforms-form input.wpforms-error, .md-form .wpforms-form textarea.wpforms-error { border-color: #b3261e; }
.md-form .wpforms-confirmation-container, .md-form .wpforms-confirmation-container-full { margin: 0; padding: 16px 20px; border: 0; border-radius: 8px; background: var(--md-licht); color: var(--md-navy); }
.md-kaart-sectie__kaart { display: block; width: 100%; height: 400px; border: 0; }
@media (max-width: 991px) {
	.md-paginakop__tekst { font-size: 16px; line-height: 24px; }
	.md-splitsectie--formulier .md-split { gap: 20px; }
	.md-kaart-sectie__kaart { height: 350px; }
}
@media (max-width: 767px) {
	.md-secties .md-inhoud h2 { font-size: 24px; }
	.md-kaart-sectie__kaart { height: 300px; }
}
@media (max-width: 478px) { .md-form .wpforms-form .wpforms-field.md-half { width: 100%; } }

/* === Randen === winkelwagen, mijn account, bedankpagina, 404 (rand.php, 404.php, inc/randen.php, woocommerce/*;
   maten uit Bricks 1081, 998, 997, 996, 13828). Geen WooCommerce-CSS op deze pagina's: alles hieronder. */
.md-rand { --md-rand-lijn: #e2ded8; --md-rand-veld: #cfcfcf; }
.md-rand__titel { font-family: var(--md-f-kop); font-size: 40px; font-weight: 600; line-height: 1.3; color: var(--md-navy); margin: 0 0 24px; }
.md-rand__kop { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 32px; }
.md-rand__kop .md-rand__titel { margin: 0; }
.md-rand__verder { display: inline-flex; align-items: center; gap: 6px; color: #111; white-space: nowrap; }
.md-rand__verder:hover { color: var(--md-oranje); }
:where(.md-rand a:not([class])) { color: var(--md-navy); text-decoration: underline; text-underline-offset: 2px; }
:where(.md-rand) p { margin: 0 0 14px; }
:where(.md-rand) :is(h2, h3) { font-family: var(--md-f-kop); font-weight: 600; color: var(--md-navy); line-height: 1.3; }
:where(.md-rand) h2 { font-size: 26px; margin: 0 0 16px; }
:where(.md-rand) h3 { font-size: 20px; margin: 0 0 12px; }
.md-rand mark { background: none; color: inherit; font-weight: 700; }

/* meldingen (WooCommerce-markup) */
.md-rand .woocommerce-notices-wrapper:empty { display: none; }
.md-rand .woocommerce-message, .md-rand .woocommerce-info, .md-rand .woocommerce-error, .md-rand .woocommerce-notice--error {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 24px;
	padding: 14px 18px; border-radius: 8px; background: var(--md-licht); color: var(--md-navy); list-style: none; }
.md-rand .woocommerce-error, .md-rand .woocommerce-notice--error { background: #fdecea; color: #b3261e; }
.md-rand .woocommerce-error li { margin: 0; }
.md-rand .woocommerce-message .button, .md-rand .woocommerce-info .button { order: 2; }

/* knoppen en velden (WooCommerce-markup krijgt de .md-btn-stijl) */
.md-rand .button, .md-rand button[type="submit"]:not(.md-btn) {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 24px; min-height: 48px;
	font-family: var(--md-f-body); font-size: 16px; font-weight: 500; line-height: 1.3; border-radius: 8px;
	border: 3px solid var(--md-oranje); background: var(--md-oranje); color: #fff; cursor: pointer; text-decoration: none;
	transition: background-color .3s, color .3s; }
.md-rand .button:hover, .md-rand button[type="submit"]:not(.md-btn):hover { background: transparent; color: var(--md-oranje); }
.md-rand .button:disabled, .md-rand .button[disabled] { opacity: .45; cursor: default; background: var(--md-oranje); color: #fff; }
.md-rand .form-row { display: flex; flex-direction: column; gap: 6px; margin: 0 0 16px; }
.md-rand label { font-size: 15px; font-weight: 500; color: var(--md-tekst); }
.md-rand .required { color: #b3261e; border: 0; text-decoration: none; }
.md-rand .optional { color: var(--md-grijs); font-weight: 400; }
.md-rand input.input-text, .md-rand input[type="text"], .md-rand input[type="email"], .md-rand input[type="password"],
.md-rand input[type="tel"], .md-rand input[type="number"], .md-rand select, .md-rand textarea {
	width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid var(--md-rand-veld); border-radius: 8px;
	background: #fff; font: inherit; font-size: 16px; color: var(--md-tekst); }
.md-rand input:focus, .md-rand select:focus, .md-rand textarea:focus { border-color: var(--md-blauw); outline: 2px solid rgba(0, 161, 211, .25); outline-offset: 0; }
.md-rand input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--md-navy); }
.md-rand .woocommerce-form__label-for-checkbox { display: inline-flex; align-items: center; gap: 8px; font-weight: 400; }
.md-rand .password-input { position: relative; display: block; }
.md-rand .password-input input { padding-right: 48px; }
.md-rand .show-password-input { position: absolute; top: 0; right: 0; width: 48px; height: 48px; border: 0; background: center / 20px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23004976' stroke-width='1.8'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); cursor: pointer; }
.md-rand .show-password-input.display-password { opacity: .5; }
.md-rand fieldset { margin: 8px 0 20px; padding: 20px; border: 2px solid var(--md-rand-lijn); border-radius: 8px; grid-column: 1 / -1; }
.md-rand legend { padding: 0 8px; font-weight: 600; color: var(--md-navy); }
.md-rand .select2-container .select2-selection--single { height: 48px; border-color: var(--md-rand-veld); border-radius: 8px; }
.md-rand .select2-container .select2-selection--single .select2-selection__rendered { line-height: 46px; padding-left: 14px; }
.md-rand .select2-container .select2-selection--single .select2-selection__arrow { height: 46px; right: 8px; }

/* tabellen (bestellingen, bestelregels, totalen) */
.md-rand table.shop_table { width: 100%; border-collapse: collapse; font-size: 15px; }
.md-rand table.shop_table th, .md-rand table.shop_table td { padding: 14px 12px; text-align: left; vertical-align: middle; border-bottom: 1px solid #e8e8e8; }
.md-rand table.shop_table thead th { font-weight: 600; color: var(--md-navy); border-bottom: 2px solid var(--md-rand-lijn); }
.md-rand table.shop_table tfoot th { font-weight: 500; }
.md-rand .woocommerce-orders-table .button, .md-rand .order-again .button { min-height: 0; padding: 6px 14px; font-size: 14px; border-width: 2px; }
.md-rand .woocommerce-orders-table__cell-order-actions { white-space: nowrap; }
.md-rand .woocommerce-pagination { display: flex; gap: 12px; margin-top: 20px; }
.md-rand .woocommerce-Price-amount { white-space: nowrap; }
.md-rand .wc-item-meta, .md-rand dl.variation { margin: 4px 0 0; padding: 0; list-style: none; font-size: 13px; color: #555; }
.md-rand dl.variation dt, .md-rand dl.variation dd, .md-rand .wc-item-meta p { display: inline; margin: 0; }
.md-rand .woocommerce-customer-details address { font-style: normal; line-height: 1.7; padding: 20px; border: 2px solid var(--md-rand-lijn); border-radius: 8px; }
.md-rand .woocommerce-columns--addresses, .md-rand .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.md-rand .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.md-rand .woocommerce-Address address { font-style: normal; line-height: 1.7; }
.md-rand .woocommerce-order-details, .md-rand .woocommerce-customer-details { margin-top: 40px; }

/* winkelwagen */
.md-rand__vak--leeg { padding: 64px max(40px, calc((100% - 1100px) / 2)); background: #f0efeb; }
.md-rand--cart .md-rand__titel { font-family: var(--md-f-body); font-weight: 400; color: #111; }
.md-leeg { display: flex; flex-direction: column; align-items: center; padding: 150px 100px; border: 2px solid var(--md-rand-lijn); text-align: center; }
.md-leeg__tekst { margin: 0 0 20px; font-size: 22px; font-weight: 500; color: #111; }
.md-leeg .md-btn svg { width: 20px; height: 20px; }
.md-rand--cart .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 40px; align-items: start; }
.md-rand--cart .woocommerce > :not(.woocommerce-cart-form):not(.cart-collaterals) { grid-column: 1 / -1; }
.md-rand__vak--leeg .woocommerce { display: block; }
.md-rand--cart table.cart thead th { font-size: 14px; }
.md-rand--cart .product-remove { width: 40px; }
.md-rand--cart a.remove { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; font-size: 22px; line-height: 1; color: #b3261e; }
.md-rand--cart a.remove:hover { background: #fdecea; }
.md-rand--cart .product-thumbnail { width: 96px; }
.md-rand--cart .product-thumbnail img { width: 80px; height: 80px; object-fit: contain; border-radius: 8px; background: #fff; }
.md-rand--cart .product-name a { font-weight: 600; text-decoration: none; }
.md-rand--cart .product-quantity .qty { width: 80px; text-align: center; }
.md-rand--cart .product-subtotal { font-weight: 600; }
.md-rand--cart td.actions { padding-top: 20px; border-bottom: 0; text-align: right; }
.md-rand--cart .coupon { display: inline-flex; gap: 8px; float: left; }
.md-rand--cart .coupon .input-text { width: 200px; }
.md-rand--cart .backorder_notification { margin: 4px 0 0; font-size: 13px; color: #555; }
.md-rand--cart .cart_totals { padding: 28px; border-radius: 8px; background: var(--md-licht); }
.md-rand--cart .cart_totals table { font-size: 16px; }
.md-rand--cart .cart_totals th { width: 40%; color: var(--md-navy); }
.md-rand--cart .cart_totals th, .md-rand--cart .cart_totals td { padding: 12px 0; border-bottom-color: rgba(0, 73, 118, .15); }
.md-rand--cart .cart_totals table td { text-align: right; }
.md-rand--cart .cart_totals .order-total th, .md-rand--cart .cart_totals .order-total td { border-bottom: 0; font-size: 18px; font-weight: 700; color: var(--md-navy); }
.md-rand--cart .cart_totals .includes_tax, .md-rand--cart .woocommerce-shipping-destination { display: block; font-size: 13px; font-weight: 400; color: #555; }
.md-rand--cart .cart_totals table tr.woocommerce-shipping-totals td { text-align: left; }
.md-rand--cart .woocommerce-shipping-methods { margin: 0 0 6px; }
.md-rand--cart .woocommerce-shipping-methods li { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 6px; }
.md-rand--cart .woocommerce-shipping-methods input { margin: 4px 0 0; flex: none; accent-color: var(--md-navy); }
.md-rand--cart .woocommerce-shipping-methods label { font-weight: 400; }
.md-rand--cart .wc-proceed-to-checkout { margin-top: 20px; }
.md-rand--cart .checkout-button { width: 100%; font-size: 17px; }
.md-rand__erbij { grid-column: 1 / -1; margin-top: 64px; }
.md-rand__erbijkop { font-family: var(--md-f-body); font-size: 32px; font-weight: 800; margin-bottom: 24px; }

/* mijn account */
.md-rand--account:not(.is-ingelogd) .md-rand__titel, .md-rand--account:not(.is-ingelogd) > .woocommerce { max-width: 1000px; margin-left: auto; margin-right: auto; }
.md-rand .u-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; align-items: start; }
.md-rand .woocommerce-form-login, .md-rand .woocommerce-form-register, .md-rand .woocommerce-ResetPassword { padding: 30px; border: 2px solid var(--md-rand-lijn); border-radius: 8px; }
.md-rand .woocommerce-ResetPassword { max-width: 560px; }
.md-rand .woocommerce-form-login__rememberme { margin-bottom: 16px; }
.md-rand .woocommerce-form-login .form-row:last-of-type { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 16px; }
.md-rand .lost_password { margin: 16px 0 0; }
.md-rand .woocommerce-privacy-policy-text { font-size: 14px; color: #555; }
.md-rand--account.is-ingelogd > .woocommerce { display: grid; grid-template-columns: minmax(260px, 30%) minmax(0, 1fr); min-height: 620px; }
.md-acc-nav { display: flex; flex-direction: column; justify-content: space-between; gap: 30px; padding: 30px; border-radius: 8px 0 0 8px; background: var(--md-licht); }
.md-acc-nav__boven { display: flex; flex-direction: column; gap: 25px; }
.md-acc-nav__logo img { width: 190px; }
.md-acc-nav__menu { display: flex; flex-direction: column; gap: 4px; }
.md-acc-nav svg { flex: none; }
.md-acc-nav__menu a, .md-acc-nav__uit { display: flex; align-items: center; gap: 10px; padding: 13px 15px; border-radius: 8px; font-weight: 500; color: var(--md-navy); transition: background-color .2s; }
.md-acc-nav__menu a:hover, .md-acc-nav__uit:hover { background: rgba(255, 255, 255, .6); }
.md-acc-nav__menu .is-active a { background: #fff; }
.md-acc-nav__onder { display: flex; flex-direction: column; gap: 16px; }
.md-acc-profiel { display: flex; align-items: center; gap: 12px; margin: 0; padding: 0 15px; color: var(--md-navy); }
.md-acc-profiel__letter { display: grid; place-items: center; flex: none; width: 48px; height: 48px; border-radius: 50%; background: var(--md-navy); color: #fff; font-size: 20px; font-weight: 700; }
.md-acc-profiel__wie { display: flex; flex-direction: column; min-width: 0; font-size: 14px; overflow-wrap: anywhere; }
.md-acc-profiel__wie strong { font-size: 16px; }
.md-rand .woocommerce-MyAccount-content { padding: 35px 50px 30px; min-width: 0; }
.md-rand .woocommerce-MyAccount-content > p:first-of-type { margin-top: 0; }
.md-rand .woocommerce-EditAccountForm, .md-rand .woocommerce-address-fields__field-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
.md-rand .woocommerce-EditAccountForm > *, .md-rand .woocommerce-address-fields__field-wrapper > * { grid-column: 1 / -1; }
.md-rand .woocommerce-EditAccountForm > .form-row-first, .md-rand .woocommerce-address-fields__field-wrapper > .form-row-first { grid-column: 1; }
.md-rand .woocommerce-EditAccountForm > .form-row-last, .md-rand .woocommerce-address-fields__field-wrapper > .form-row-last { grid-column: 2; }
.md-rand .woocommerce-EditAccountForm em { font-size: 13px; color: #555; }
.md-rand .woocommerce-password-strength { font-size: 14px; padding: 6px 10px; border-radius: 6px; background: #f2f2f2; }
.md-rand .woocommerce-password-strength.strong { background: #e6f4ea; } .md-rand .woocommerce-password-strength.bad, .md-rand .woocommerce-password-strength.short { background: #fdecea; }

/* bedankpagina */
.md-dank__kop { display: flex; align-items: center; min-height: 400px; padding: 64px var(--md-pad-x); background: var(--md-licht); }
.md-dank__in { display: flex; flex-direction: column; align-items: center; gap: 10px; width: 100%; max-width: 1384px; margin: 0 auto; text-align: center; }
.md-dank__nr { margin: 6px 0; padding: 12px 24px; border-radius: 34px; background: rgba(228, 133, 36, .15); color: var(--md-navy); font-weight: 500; line-height: 1.3; }
.md-dank__tekst { max-width: 640px; margin: 0 0 14px; font-size: 18px; line-height: 28px; }
.md-dank .md-knoppen { justify-content: center; }
.md-dank__details { max-width: calc(1000px + 2 * var(--md-pad-x)); padding-top: 48px; padding-bottom: 64px; }
.md-dank__overzicht { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 1px; margin: 0 0 32px; border: 2px solid var(--md-rand-lijn); border-radius: 8px; background: var(--md-rand-lijn); overflow: hidden; }
.md-dank__overzicht li { display: flex; flex-direction: column; gap: 4px; padding: 16px 20px; background: #fff; font-size: 14px; color: #555; }
.md-dank__overzicht strong { font-size: 16px; color: var(--md-navy); overflow-wrap: anywhere; }
.md-dank__details .woocommerce-order-details { margin-top: 0; }

/* 404 */
.md-404 { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; max-width: calc(860px + 2 * var(--md-pad-x)); min-height: 50vh; padding-top: 96px; padding-bottom: 96px; }
.md-404 .md-tekst { max-width: 620px; }
.md-404__zoek { display: flex; gap: 10px; width: 100%; max-width: 620px; margin-top: 8px; }
.md-404__zoek input { flex: 1; min-width: 0; height: 52px; padding: 0 16px; border: 1px solid #cfcfcf; border-radius: 8px; font: inherit; font-size: 16px; }
.md-404__zoek input:focus { border-color: var(--md-blauw); outline: 2px solid rgba(0, 161, 211, .25); outline-offset: 0; }
.md-404__cats { display: flex; flex-wrap: wrap; gap: 10px; margin: 8px 0 16px; }
.md-404__cats a { display: inline-block; padding: 8px 16px; border-radius: 34px; background: var(--md-licht); color: var(--md-navy); font-weight: 500; transition: background-color .2s, color .2s; }
.md-404__cats a:hover { background: var(--md-navy); color: #fff; }

@media (max-width: 991px) {
	.md-rand__titel { font-size: 36px; }
	.md-rand--cart .woocommerce { grid-template-columns: minmax(0, 1fr); }
	.md-rand--account.is-ingelogd > .woocommerce { grid-template-columns: minmax(220px, 32%) minmax(0, 1fr); }
	.md-rand .woocommerce-MyAccount-content { padding: 30px 0 30px 34px; }
	.md-dank__kop { min-height: 320px; padding-top: 40px; padding-bottom: 40px; }
	.md-404 { padding-top: 64px; padding-bottom: 64px; }
}
@media (max-width: 767px) {
	.md-rand__titel { font-size: 28px; }
	.md-rand__kop { flex-direction: column; align-items: flex-start; gap: 8px; margin-bottom: 24px; }
	.md-rand__vak--leeg { margin: 0 calc(-1 * var(--md-pad-x)); padding: 30px 25px; }
	.md-leeg { padding: 50px 20px; }
	.md-leeg__tekst { font-size: 18px; }
	.md-rand .u-columns, .md-rand .woocommerce-columns--addresses, .md-rand .woocommerce-Addresses { grid-template-columns: minmax(0, 1fr); gap: 30px; }
	.md-rand .woocommerce-form-login, .md-rand .woocommerce-form-register, .md-rand .woocommerce-ResetPassword { padding: 20px; }
	.md-rand .woocommerce-EditAccountForm, .md-rand .woocommerce-address-fields__field-wrapper { grid-template-columns: minmax(0, 1fr); }
	.md-rand .woocommerce-EditAccountForm > .form-row-last, .md-rand .woocommerce-address-fields__field-wrapper > .form-row-last { grid-column: 1; }
	/* tabellen worden kaarten: label uit data-title */
	.md-rand table.shop_table_responsive thead { display: none; }
	.md-rand table.shop_table_responsive, .md-rand table.shop_table_responsive tbody, .md-rand table.shop_table_responsive tr,
	.md-rand table.shop_table_responsive th, .md-rand table.shop_table_responsive td { display: block; }
	.md-rand table.shop_table_responsive tr { padding: 12px 0; border-bottom: 1px solid #e8e8e8; }
	.md-rand table.shop_table_responsive td, .md-rand table.shop_table_responsive tbody th { padding: 6px 0; border: 0; text-align: right; }
	.md-rand table.shop_table_responsive td[data-title]::before, .md-rand table.shop_table_responsive tbody th[data-title]::before { content: attr(data-title); float: left; margin-right: 12px; font-weight: 600; color: var(--md-navy); text-align: left; }
	.md-rand--cart table.cart tr.cart_item { display: grid; grid-template-columns: 80px minmax(0, 1fr) 32px; column-gap: 12px; align-items: center; }
	.md-rand--cart table.cart tr.cart_item > * { grid-column: 2; }
	.md-rand--cart table.cart tr.cart_item > .product-thumbnail { grid-column: 1; grid-row: 1 / span 4; align-self: start; width: auto; padding: 0; }
	.md-rand--cart table.cart tr.cart_item > .product-remove { grid-column: 3; grid-row: 1; width: auto; padding: 0; text-align: right; }
	.md-rand--cart table.cart tr.cart_item > .product-name { text-align: left; }
	.md-rand--cart table.cart tr.cart_item > .product-name::before { display: none; }
	.md-rand--cart table.cart tr.cart_item .qty { min-height: 40px; width: 72px; }
	.md-rand--cart td.actions { display: flex; flex-direction: column; gap: 10px; padding-top: 16px; }
	.md-rand--cart td.actions .button { width: 100%; }
	.md-rand--cart .coupon { float: none; }
	.md-rand--cart .cart_totals { padding: 20px; }
	.md-rand--cart .cart_totals table.shop_table_responsive tr { display: flex; justify-content: space-between; gap: 12px; padding: 0; }
	.md-rand--cart .cart_totals table.shop_table_responsive th { display: block; width: auto; padding: 12px 0; }
	.md-rand--cart .cart_totals table.shop_table_responsive td { padding: 12px 0; }
	.md-rand--cart .cart_totals table.shop_table_responsive td::before { display: none; }
	.md-rand--cart .cart_totals table.shop_table_responsive tr.woocommerce-shipping-totals { flex-direction: column; gap: 0; }
	.md-rand--cart .cart_totals table.shop_table_responsive tr.woocommerce-shipping-totals th { padding-bottom: 4px; text-align: left; }
	.md-rand--cart .cart_totals table.shop_table_responsive tr.woocommerce-shipping-totals td { padding-top: 0; text-align: left; }
	.md-rand__erbij { margin-top: 40px; }
	.md-rand__erbijkop { font-size: 24px; }
	/* account: menu bovenaan in twee kolommen, logo weg (staat al in de header) */
	.md-rand--account.is-ingelogd > .woocommerce { display: block; min-height: 0; }
	.md-acc-nav { padding: 16px; border-radius: 8px; gap: 12px; }
	.md-acc-nav__logo { display: none !important; }
	.md-acc-nav__menu { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; }
	.md-acc-nav__menu a { flex-direction: column; gap: 4px; padding: 10px 6px; font-size: 14px; text-align: center; }
	.md-acc-nav__uit { padding: 10px 12px; font-size: 15px; }
	.md-acc-nav__onder { flex-direction: row-reverse; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; }
	.md-acc-profiel { padding: 0 12px; }
	.md-acc-profiel__letter { width: 36px; height: 36px; font-size: 16px; }
	.md-rand .woocommerce-MyAccount-content { padding: 24px 0 0; }
	.md-dank__kop { min-height: 0; padding: 30px 25px; }
	.md-dank__tekst { font-size: 16px; line-height: 24px; }
	.md-dank__details { padding-top: 30px; padding-bottom: 40px; }
	.md-404 { padding-top: 40px; padding-bottom: 40px; }
	.md-404__zoek { flex-direction: column; }
}

/* ---------- megamenu "Shop op categorie" met foto's (inc/megamenu.php) ---------- */
.md-navbar { position: relative; }
.md-menu > li.md-heeft-mega { position: static; }
.md-mega { position: absolute; left: 0; right: 0; top: 100%; z-index: 60; background: #fff; color: var(--md-tekst); box-shadow: 0 24px 40px -24px rgba(0, 0, 0, .3); border-top: 3px solid var(--md-oranje); opacity: 0; visibility: hidden; transition: opacity .15s, visibility .15s; }
.md-heeft-mega:hover > .md-mega, .md-heeft-mega:focus-within > .md-mega, .md-heeft-mega.is-open > .md-mega { opacity: 1; visibility: visible; }
.md-mega__in { display: grid; grid-template-columns: 250px 1fr; min-height: 380px; padding-top: 0; padding-bottom: 0; }
.md-mega__groepen { border-right: 1px solid #e6edf2; padding: 12px 0; }
.md-mega__groep { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 20px; font-size: 16px; font-weight: 600; color: var(--md-tekst); }
.md-mega__groep svg { opacity: .5; }
.md-mega__groep.is-aan, .md-mega__groep:hover, .md-mega__groep:focus-visible { background: var(--md-oranje); color: #fff; }
.md-mega__groep.is-aan svg, .md-mega__groep:hover svg { opacity: 1; }
.md-mega__panelen { padding: 24px 0 28px 32px; min-width: 0; }
.md-mega__paneel { display: none; }
.md-mega__paneel.is-aan { display: block; }
.md-mega__kop { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin-bottom: 18px; }
.md-mega__titel { font-family: var(--md-f-kop); font-size: 22px; font-weight: 600; color: var(--md-navy); }
.md-mega__tegels { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.md-mega__tegel { display: flex; flex-direction: column; height: 100%; border: 1px solid #e6edf2; background: #fff; transition: border-color .15s, box-shadow .15s; }
.md-mega__tegel:hover, .md-mega__tegel:focus-visible { border-color: var(--md-oranje); box-shadow: 0 12px 24px -18px rgba(0, 0, 0, .35); }
.md-mega__foto { display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 3; background: #fff; padding: 12px; border-bottom: 1px solid #eef3f6; }
.md-mega__foto img { width: 100%; height: 100%; object-fit: contain; }
.md-mega__foto--leeg { background: var(--md-licht); }
.md-mega__naam { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; font-size: 15px; font-weight: 600; color: var(--md-navy); line-height: 1.3; }
.md-mega__naam small { font-size: 13px; font-weight: 400; color: var(--md-grijs); }
.md-mega__tegel:hover .md-mega__naam { color: var(--md-oranje); }
.md-mega__links { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 20px; padding-top: 16px; border-top: 1px solid #eef3f6; font-size: 14.5px; }
.md-mega__links a { color: var(--md-tekst); }
.md-mega__links a:hover { color: var(--md-oranje); }
.md-mega__knoppen { margin-top: 20px; display: flex; gap: 12px; }
/* De tab "Shop op categorie" staat precies boven de groepenkolom: zelfde breedte, tekst op dezelfde 20px (Jay 13-11). */
.md-menu > li.md-heeft-mega--cat { width: 250px; justify-content: space-between; padding: 0 20px; }
/* Merken: logo-raster, grijs tot je erover gaat */
.md-mega__merkin { padding-top: 24px; padding-bottom: 28px; }
.md-mega__sub { font-size: 14px; color: var(--md-grijs); }
.md-mega__merken { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 12px; }
.md-merk { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; height: 100%; min-height: 96px; padding: 14px 10px; border: 1px solid #e6edf2; background: #fff; text-align: center; transition: border-color .15s, box-shadow .15s; }
.md-merk:hover, .md-merk:focus-visible { border-color: var(--md-oranje); box-shadow: 0 12px 24px -18px rgba(0, 0, 0, .35); }
.md-merk__logo, .md-mm-merk__logo { display: flex; align-items: center; justify-content: center; width: 100%; height: 44px; }
.md-merk__logo img, .md-mm-merk__logo img { width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; filter: grayscale(1); opacity: .8; transition: filter .15s, opacity .15s; }
.md-merk:hover img, .md-merk:focus-visible img { filter: none; opacity: 1; }
.md-merk__logo--naam, .md-mm-merk__logo--naam { font-family: var(--md-f-kop); font-size: 17px; font-weight: 700; line-height: 1.15; color: var(--md-navy); }
.md-merk:hover .md-merk__logo--naam { color: var(--md-oranje); }
.md-merk__aantal, .md-mm-merk__aantal { font-size: 12.5px; color: var(--md-grijs); }
@media (max-width: 1200px) {
	.md-mega__tegels { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.md-mega__in { grid-template-columns: 220px 1fr; }
	.md-menu > li.md-heeft-mega--cat { width: 220px; }
	.md-mega__merken { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
@media (max-width: 991px) { .md-mega { display: none; } }

/* Mobiele lade (header.php + md_mega_mobiel_html): zoeken, groepen met foto, tegels per groep, merklogo's, vaste knoppen onderaan */
.md-mnav__paneel { display: flex; flex-direction: column; width: 420px; max-width: 92vw; overflow: hidden; overflow: clip; }
html.md-lock .joinchat { display: none; } /* WhatsApp-knop viel over de knoppen onderin de lade */
.md-mnav__paneel > .md-mmenu { flex: 1; overflow-y: auto; }
.md-mnav__body { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 16px 0 24px; }
.md-mnav__zoek { display: flex; align-items: center; gap: 10px; width: calc(100% - 40px); height: 46px; margin: 0 20px 6px; padding: 0 14px; background: #f2f2f2; border-radius: 8px; color: var(--md-grijs); font-size: 15px; text-align: left; }
.md-mnav__zoek svg { flex: none; }
.md-mm__kop { padding: 18px 20px 8px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--md-grijs); }
.md-mm__groepen { border-top: 1px solid #eef3f6; }
.md-mm__groep { border-bottom: 1px solid #eef3f6; }
.md-mm__open { display: flex; align-items: center; gap: 14px; width: 100%; min-height: 64px; padding: 10px 20px; text-align: left; font-size: 16px; font-weight: 600; color: var(--md-navy); }
.md-mm__titel { flex: 1; }
.md-mm__open > svg { flex: none; width: 14px; height: 14px; color: var(--md-grijs); transition: transform .2s; }
.md-mm__open[aria-expanded="true"] { color: var(--md-oranje); }
.md-mm__open[aria-expanded="true"] > svg { transform: rotate(180deg); color: var(--md-oranje); }
.md-mm__foto { flex: none; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 4px; border: 1px solid #e6edf2; background: #fff; }
.md-mm__foto img { width: 100%; height: 100%; object-fit: contain; }
.md-mm__foto--leeg { background: var(--md-licht); }
.md-mm__inhoud { padding: 4px 20px 20px; background: #f6f9fb; }
.md-mm__rijen { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding-top: 12px; }
.md-mm__rij { display: flex; flex-direction: column; height: 100%; border: 1px solid #e6edf2; background: #fff; }
.md-mm__rij .md-mm__foto { width: 100%; height: auto; aspect-ratio: 4 / 3; padding: 8px; border: 0; border-bottom: 1px solid #eef3f6; }
.md-mm__naam { display: flex; flex-direction: column; gap: 2px; padding: 8px 10px 10px; font-size: 14px; font-weight: 600; line-height: 1.3; color: var(--md-navy); }
.md-mm__naam small { font-size: 12px; font-weight: 400; color: var(--md-grijs); }
.md-mm__links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.md-mm__links a { display: inline-block; padding: 7px 12px; border: 1px solid #e6edf2; background: #fff; font-size: 14px; }
.md-mm__knop { width: 100%; margin-top: 14px; }
.md-mm__alles { margin-top: 14px; font-weight: 600; }
.md-mm__merken { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 4px 20px 8px; }
.md-mm-merk { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; height: 100%; min-height: 76px; padding: 10px 6px; border: 1px solid #e6edf2; background: #fff; text-align: center; }
.md-mm-merk__logo { height: 32px; }
.md-mm-merk__logo img { filter: none; opacity: 1; }
.md-mm-merk__logo--naam { font-size: 14px; }
.md-mm-merk__aantal { font-size: 11.5px; }
.md-mm__info { margin-top: 18px; border-top: 1px solid #eef3f6; }
.md-mm__info li { border-bottom: 1px solid #eef3f6; }
.md-mm__info a { display: block; padding: 14px 20px; font-size: 16px; color: var(--md-tekst); }
.md-mm__open:hover, .md-mm__info a:hover, .md-mm__rij:hover .md-mm__naam, .md-mm__links a:hover { color: var(--md-oranje); }
.md-mnav__voet { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 14px 20px calc(14px + env(safe-area-inset-bottom)); border-top: 1px solid #eee; background: #fff; }
.md-mnav__voet .md-btn { padding: 12px 10px; font-size: 15px; }
.md-mnav__voet svg { width: 18px; height: 18px; }
