/* Voordeelkoopwijzer v6 – fris, vriendelijk, foto's centraal */
@font-face{font-family:Poppins;src:url(/assets/fonts/poppins-regular.woff) format("woff");font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url(/assets/fonts/poppins-medium.woff) format("woff");font-weight:500;font-display:swap}
@font-face{font-family:Poppins;src:url(/assets/fonts/poppins-bold.woff) format("woff");font-weight:700;font-display:swap}

:root{
 --bg:#f4f8f5;        /* mintwit */
 --surface:#ffffff;
 --ink:#17241d;       /* donkergroen-zwart */
 --muted:#5a6b62;
 --line:#dfe9e2;
 --green:#0f6b4a;     /* hoofdkleur */
 --green-dark:#0b5139;
 --mint:#e4f3ea;
 --photo:#eef3ef;     /* achtergrond achter productfoto's */
 --sun:#ffd23f;       /* prijssticker */
 --orange:#d4580a;    /* logo */
 --red:#b42318;
 --r-sm:10px;--r:16px;--r-lg:24px;--r-xl:32px;
 --wrap:1200px;--gut:clamp(16px,4vw,28px);
 --shadow:0 1px 2px rgba(23,36,29,.06),0 8px 24px rgba(23,36,29,.06);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:120px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.6 Poppins,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{line-height:1.15;letter-spacing:-.015em;margin:0;font-weight:700}
p{margin:0}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--green);outline-offset:2px;border-radius:6px}
.i{width:1.15em;height:1.15em;flex:none}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:var(--r-sm);z-index:50}
.skip:focus{left:8px}
main{display:block;padding-bottom:24px}

/* ---------- Header ---------- */
.site-head{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.bar{max-width:var(--wrap);margin:auto;padding:14px var(--gut);display:flex;align-items:center;gap:28px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;font-size:21px;letter-spacing:-.02em;color:var(--green);white-space:nowrap}
.brand em{font-style:normal;color:var(--orange)}
.mark{width:36px;height:36px;border-radius:12px;background:var(--green);color:#fff;display:grid;place-items:center;font-size:22px;line-height:1;padding-bottom:3px;position:relative}
.mark::after{content:"";position:absolute;right:-4px;top:-4px;width:13px;height:13px;border-radius:50%;background:var(--sun);border:2px solid #fff}
.search{flex:1;min-width:0;max-width:620px;margin-left:auto;display:flex;align-items:center;background:var(--bg);border:1.5px solid var(--line);border-radius:999px;padding:4px 4px 4px 16px;transition:border-color .15s,background .15s}
.search:focus-within{border-color:var(--green);background:#fff}
.search .i{color:var(--muted)}
.search input{flex:1;min-width:0;width:100%;border:0;background:none;padding:9px 10px;outline:none}
.search input::-webkit-search-cancel-button{display:none}
.search button{border:0;background:var(--green);color:#fff;font-weight:500;border-radius:999px;padding:9px 20px;cursor:pointer}
.search button:hover{background:var(--green-dark)}
.menu{max-width:var(--wrap);margin:auto;padding:0 var(--gut) 12px}
.menu-inner{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 calc(var(--gut) * -1);padding:0 var(--gut)}
.menu-inner::-webkit-scrollbar{display:none}
.menu a{flex:none;text-decoration:none;font-size:14.5px;font-weight:500;padding:7px 14px;border-radius:999px;color:var(--ink)}
.menu a:hover{background:var(--mint)}
.menu a[aria-current]{background:var(--green);color:#fff}
.menu a:first-child:not([aria-current]){background:#fff4c7}

/* ---------- Gedeelde bouwstenen ---------- */
.section,.intro,.crumb,.text,.landing{max-width:var(--wrap);margin-left:auto;margin-right:auto;padding-left:var(--gut);padding-right:var(--gut)}
.section{margin-top:56px}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.section-head h2,.section>h2{font-size:clamp(1.35rem,2.4vw,1.75rem)}
.section-links{display:flex;gap:18px;flex-wrap:wrap}
.section-links a,.intro p a,.seo-copy a,.text a{color:var(--green);font-weight:500;text-underline-offset:3px}
.cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--green);color:#fff;text-decoration:none;font-weight:700;padding:14px 24px;border-radius:999px;border:0;cursor:pointer;transition:background .15s,transform .15s}
.cta:hover{background:var(--green-dark)}
.cta:active{transform:translateY(1px)}
.cta.big{width:100%;padding:17px 24px;font-size:17px}
.ghost{display:inline-flex;align-items:center;padding:13px 22px;border-radius:999px;border:1.5px solid var(--green);color:var(--green);font-weight:500;text-decoration:none;background:#fff}
.ghost:hover{background:var(--mint)}

/* Prijssticker: het herkenbare element van de site */
.sticker{position:absolute;top:12px;right:12px;z-index:2;width:58px;height:58px;border-radius:50%;background:var(--sun);color:var(--ink);display:grid;place-items:center;transform:rotate(-10deg);font-weight:700;font-size:15px;letter-spacing:-.02em;box-shadow:0 3px 0 rgba(23,36,29,.12);outline:1.5px dashed rgba(23,36,29,.28);outline-offset:-6px}
.sticker.big{width:86px;height:86px;font-size:22px;top:18px;right:18px;outline-offset:-8px}

/* ---------- Hero ---------- */
.hero{max-width:var(--wrap);margin:28px auto 0;padding:0 var(--gut)}
.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:28px;align-items:center}
.hero>*{min-width:0}
.hero-text{background:var(--mint);border-radius:var(--r-xl);padding:clamp(28px,5vw,56px)}
.hero h1{font-size:clamp(2rem,4.4vw,3.2rem);line-height:1.1;letter-spacing:-.03em;max-width:15ch}
.hero-text>p{margin-top:18px;font-size:clamp(1rem,1.5vw,1.125rem);color:#33443b;max-width:46ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.facts{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14.5px;font-weight:500}
.facts li{display:inline-flex;align-items:center;gap:6px}
.facts .i{color:var(--green)}
.hero-deals{position:relative;height:370px}
.hd{position:absolute;width:37%;background:var(--surface);border-radius:var(--r-lg);padding:10px 10px 14px;box-shadow:var(--shadow);text-decoration:none;transition:transform .2s}
.hd:hover{z-index:5}
.hd-1{left:0;top:56px;transform:rotate(-6deg);z-index:2}
.hd-2{left:31.5%;top:12px;transform:rotate(1.5deg);z-index:3}
.hd-3{right:0;top:70px;transform:rotate(6deg);z-index:1}
.hd:hover{transform:rotate(0) translateY(-4px)}
.hd-media{display:block;aspect-ratio:1;background:var(--photo);border-radius:var(--r);overflow:hidden;position:relative}
.hd-media img{width:100%;height:100%;object-fit:contain;padding:9%;mix-blend-mode:multiply}
.hd .sticker{top:-10px;right:-10px}
.hd-1 .sticker{right:auto;left:-10px}
.hd-meta{display:flex;justify-content:space-between;gap:10px;align-items:baseline;padding:10px 6px 0}
.hd-title{min-width:0;font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hd-meta strong{font-size:17px;white-space:nowrap}

/* ---------- Productkaarten ---------- */
.grid{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.section+.grid,.intro+.grid{margin-top:4px}
.card{background:var(--surface);border-radius:20px;border:1px solid var(--line);transition:border-color .15s,box-shadow .2s}
.card:hover{border-color:#c7d9cd;box-shadow:var(--shadow)}
.card>a{display:flex;flex-direction:column;height:100%;text-decoration:none;padding:8px}
.card-media{position:relative;aspect-ratio:1;background:var(--photo);border-radius:14px;overflow:hidden}
.card-media .pic{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:10%;mix-blend-mode:multiply;transition:opacity .25s,transform .35s}
.card-media .alt{opacity:0}
@media (hover:hover){.card:hover .has-alt .alt{opacity:1}.card:hover .has-alt .pic:not(.alt){opacity:0}.card:hover .card-media:not(.has-alt) .pic{transform:scale(1.04)}}
.count{position:absolute;left:10px;bottom:10px;display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;background:rgba(255,255,255,.9);padding:3px 8px;border-radius:999px;color:var(--muted)}
.count .i{width:14px;height:14px}
.card-body{padding:12px 8px 6px;display:flex;flex-direction:column;gap:4px;flex:1}
.brand-name{font-size:13px;color:var(--muted)}
.card h3{font-size:15px;font-weight:500;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em}
.price-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:6px}
.price-row strong{font-size:19px;letter-spacing:-.02em}
.price-row s{font-size:14px;color:var(--muted)}

/* ---------- Tegels en linkkaarten ---------- */
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.tiles.wide{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.tile{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:10px;text-decoration:none;transition:border-color .15s,background .15s}
.tile:hover{border-color:var(--green);background:#fbfdfb}
.tile-media{flex:none;width:72px;height:72px;border-radius:12px;background:var(--photo);overflow:hidden}
.tile-media img{width:100%;height:100%;object-fit:contain;padding:8%;mix-blend-mode:multiply}
.tile-text{display:flex;flex-direction:column;min-width:0}
.tile b{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tile small{color:var(--muted);font-size:13.5px}
.linkgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.linkgrid a{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;text-decoration:none;transition:border-color .15s}
.linkgrid a:hover{border-color:var(--green)}
.linkgrid b{display:block;font-weight:700}
.linkgrid span{display:block;color:var(--muted);font-size:14.5px;margin-top:4px}

/* Zo werkt het */
.how{margin-top:64px}
.how>h2{margin-bottom:18px}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;counter-reset:s}
.steps li{counter-increment:s;background:var(--surface);border-radius:var(--r-lg);padding:22px;display:flex;flex-direction:column;gap:6px;border:1px solid var(--line)}
.steps li::before{content:counter(s);width:34px;height:34px;border-radius:50%;background:var(--sun);display:grid;place-items:center;font-weight:700;margin-bottom:6px}
.steps span{color:var(--muted);font-size:15px}

/* ---------- Paginakop, kruimelpad, teksten ---------- */
.crumb{margin-top:18px;font-size:14px}
.crumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}
.crumb li{display:flex;align-items:center;gap:4px;min-width:0}
.crumb li+li::before{content:"";width:6px;height:6px;border-right:1.5px solid var(--muted);border-top:1.5px solid var(--muted);transform:rotate(45deg);margin:0 6px 0 2px}
.crumb a{color:var(--muted);text-decoration:none}
.crumb a:hover{color:var(--green);text-decoration:underline}
.crumb span{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40ch}
.intro{margin-top:22px;margin-bottom:24px}
.intro h1{font-size:clamp(1.8rem,3.6vw,2.5rem);letter-spacing:-.025em}
.intro h2{font-size:1.5rem}
.intro .lead{font-size:1.1rem;margin-top:12px;max-width:68ch}
.intro>p{margin-top:10px;color:#33443b;max-width:68ch}
.summary{margin-top:16px;max-width:68ch;color:var(--muted);font-size:15px;padding-left:14px;border-left:3px solid var(--sun)}
.seo-copy{max-width:var(--wrap);margin:0 auto 28px;padding:0 var(--gut)}
.seo-copy>*{max-width:760px}
.seo-copy h2{font-size:1.2rem;margin:26px 0 8px}
.seo-copy h2:first-child{margin-top:0}
.seo-copy p{color:#33443b}
.seo-copy .compare-wrap{max-width:760px}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tags a{text-decoration:none;font-weight:500;padding:6px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--ink)}
.tags a:hover{border-color:var(--green)}
.tags small{color:var(--muted);font-weight:400}
.text{max-width:760px;margin-top:40px;margin-bottom:40px}
.text h1{font-size:2.25rem;margin-bottom:14px}

/* ---------- Filters en paginering ---------- */
.filters{max-width:var(--wrap);margin:0 auto 22px;padding:0 var(--gut);display:flex;flex-wrap:wrap;gap:10px}
.filters input,.filters select{background:var(--surface);border:1.5px solid var(--line);border-radius:999px;padding:10px 16px;min-width:0}
.filters input[name=q]{flex:2 1 220px}
.filters select,.filters input[type=number]{flex:1 1 150px}
.filters button{border:0;background:var(--ink);color:#fff;font-weight:500;border-radius:999px;padding:10px 22px;cursor:pointer}
.pager{max-width:var(--wrap);margin:32px auto 0;padding:0 var(--gut);display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}
.pager a,.pager span{min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;border-radius:999px;background:var(--surface);border:1px solid var(--line);text-decoration:none;font-weight:500}
.pager a:hover{border-color:var(--green)}
.pager span[aria-current]{background:var(--green);border-color:var(--green);color:#fff}
.pager .gap{border:0;background:none;min-width:auto;padding:0 4px}
.empty{max-width:640px;margin:10px auto 40px;padding:36px var(--gut);text-align:center;background:var(--surface);border-radius:var(--r-lg);border:1px dashed #c7d9cd}
.empty p+p{margin-top:16px}

/* ---------- Productpagina ---------- */
.product{max-width:var(--wrap);margin:16px auto 0;padding:0 var(--gut);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;align-items:start}
.gallery{position:sticky;top:124px;min-width:0}
.g-stage{position:relative;aspect-ratio:1;background:var(--photo);border-radius:var(--r-xl);overflow:hidden}
.g-track{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.g-track::-webkit-scrollbar{display:none}
.g-track:focus-visible{outline-offset:-4px}
.g-slide{flex:0 0 100%;margin:0;scroll-snap-align:start;height:100%}
.g-zoom{all:unset;display:block;width:100%;height:100%;cursor:zoom-in}
.g-zoom:focus-visible{outline:3px solid var(--green);outline-offset:-6px;border-radius:var(--r-xl)}
.g-slide img{width:100%;height:100%;object-fit:contain;padding:7%;mix-blend-mode:multiply}
.g-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:#fff;box-shadow:var(--shadow);display:grid;place-items:center;cursor:pointer;z-index:3}
.g-nav.prev{left:14px}.g-nav.next{right:14px}
.g-nav:disabled{opacity:0;pointer-events:none}
.g-nav:hover{background:var(--mint)}
.g-counter{position:absolute;left:16px;bottom:16px;background:rgba(255,255,255,.92);padding:4px 12px;border-radius:999px;font-size:13.5px;font-weight:500;z-index:3}
.g-thumbs{display:flex;gap:10px;margin-top:12px;overflow-x:auto;scrollbar-width:thin;padding:3px}
.g-thumb{flex:none;width:76px;height:76px;border-radius:14px;background:var(--photo);border:2px solid transparent;overflow:hidden;transition:border-color .15s}
.g-thumb img{width:100%;height:100%;object-fit:contain;padding:8%;mix-blend-mode:multiply}
.g-thumb:hover{border-color:#b9cfc0}
.g-thumb.is-active,.g-thumb[aria-selected=true]{border-color:var(--green)}
.lightbox{border:0;padding:0;width:min(1100px,96vw);height:min(92vh,1100px);max-width:none;max-height:none;border-radius:var(--r-lg);background:#fff;overflow:hidden}
.lightbox::backdrop{background:rgba(16,30,22,.72)}
.lightbox img{width:100%;height:100%;object-fit:contain;padding:3%}
.lb-close,.lb-nav{position:absolute;width:48px;height:48px;border-radius:50%;border:0;background:var(--bg);display:grid;place-items:center;cursor:pointer}
.lb-close{top:14px;right:14px}
.lb-nav{top:50%;transform:translateY(-50%)}
.lb-nav.prev{left:14px}.lb-nav.next{right:14px}
.lb-close:hover,.lb-nav:hover{background:var(--mint)}
.info{display:flex;flex-direction:column;gap:16px;min-width:0}
.buy-box{background:var(--surface);border-radius:var(--r-xl);padding:clamp(22px,3vw,32px);border:1px solid var(--line)}
.brand-link{display:inline-block;font-weight:500;color:var(--green);text-decoration:none;margin-bottom:6px}
.brand-link:hover{text-decoration:underline}
.buy-box h1{font-size:clamp(1.55rem,2.8vw,2.1rem);letter-spacing:-.025em}
.price-block{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:18px 0 22px}
.now{font-size:2.4rem;letter-spacing:-.03em;line-height:1}
.was{color:var(--muted)}
.save{flex-basis:100%;display:inline-flex;width:max-content;font-weight:500;font-size:14.5px;background:#fff4c7;padding:3px 10px;border-radius:999px}
.note{font-size:13.5px;color:var(--muted);margin-top:10px}
.buy-box .note{text-align:center}
.expired{padding:14px 16px;background:#fff4c7;border-radius:var(--r);margin-bottom:6px}
.history,.about{background:var(--surface);border-radius:var(--r-lg);padding:22px 24px;border:1px solid var(--line)}
.history h2,.about h2{font-size:1.1rem;display:flex;align-items:center;gap:8px;margin-bottom:10px}
.history h2 .i{color:var(--green)}
.lowest{display:inline-flex;align-items:center;gap:6px;font-weight:500;color:var(--green);background:var(--mint);padding:4px 12px;border-radius:999px;font-size:14.5px;margin-bottom:10px}
.spark{width:100%;height:72px;color:var(--green)}
.spark circle{fill:var(--sun);stroke:var(--ink);stroke-width:1.5}
.spark-axis{display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted);margin-top:2px}
.hist-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0 0}
.hist-stats div{background:var(--bg);border-radius:12px;padding:10px 12px}
.hist-stats dt{font-size:13px;color:var(--muted)}
.hist-stats dd{margin:0;font-weight:700}
.about>p{color:#33443b}
.specs{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:16px 0 0;padding-top:16px;border-top:1px solid var(--line);font-size:15px}
.specs dt{color:var(--muted)}
.specs dd{margin:0;font-weight:500}
.specs a{color:var(--green)}
.ok{color:var(--green)}
.ok::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;margin-right:7px;vertical-align:1px}

/* Vergelijkingstabel */
.compare-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);margin-bottom:22px}
.section .compare-wrap,.seo-copy .compare-wrap{margin-left:0;margin-right:0}
.compare{width:100%;border-collapse:collapse;font-size:15px;min-width:560px}
.compare th,.compare td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line)}
.compare tr:last-child>*{border-bottom:0}
.compare thead th{font-size:13.5px;color:var(--muted);font-weight:500;background:var(--bg)}
.compare td a:not(.mini){color:var(--ink);text-decoration:none;font-weight:500}
.compare td a:not(.mini):hover{color:var(--green);text-decoration:underline}
.mini{display:inline-block;background:var(--green);color:#fff;text-decoration:none;font-weight:500;font-size:14px;padding:7px 14px;border-radius:999px;white-space:nowrap}
.mini:hover{background:var(--green-dark)}
/* Matrix staat los op lijstpagina's */
main>.compare-wrap{max-width:calc(var(--wrap) - 2 * var(--gut));margin:0 auto 22px}

/* FAQ */
.faq{max-width:760px;margin:48px auto 0;padding:0 var(--gut)}
.faq h2{font-size:1.4rem;margin-bottom:12px}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:0 18px;margin:8px 0}
.faq summary{cursor:pointer;font-weight:500;padding:15px 0;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-weight:700;color:var(--green);font-size:20px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 0 16px;color:#33443b}

/* 404 */
.notfound{max-width:var(--wrap);margin:48px auto;padding:0 var(--gut);text-align:center}
.notfound h1{font-size:2.2rem}
.notfound>p{margin:12px auto 26px;color:var(--muted);max-width:52ch}
.notfound .linkgrid{text-align:left;margin-bottom:28px}

/* ---------- Footer ---------- */
.site-foot{margin-top:80px;background:var(--mint);border-top:1px solid var(--line)}
.foot-inner{max-width:var(--wrap);margin:auto;padding:44px var(--gut) 28px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:28px}
.foot-about p{margin-top:12px;color:#33443b;max-width:34ch;font-size:15px}
.site-foot h2{font-size:15px;margin-bottom:10px}
.site-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:15px}
.site-foot li a{text-decoration:none;color:#33443b}
.site-foot li a:hover{color:var(--green);text-decoration:underline}
.foot-note{max-width:var(--wrap);margin:auto;padding:18px var(--gut) 32px;border-top:1px solid #cfe3d6;font-size:13.5px;color:var(--muted)}

/* ---------- Responsief ---------- */
@media (max-width:1020px){
 .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hero{grid-template-columns:minmax(0,1fr)}
 .hero-deals{height:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
 .hd{position:relative;width:auto;min-width:0;inset:auto;transform:none!important}
 .hd .sticker{width:48px;height:48px;font-size:13px;top:-6px;right:-6px}
 .foot-inner{grid-template-columns:1fr 1fr}
 .foot-about{grid-column:1/-1}
}
@media (max-width:820px){
 .bar{flex-wrap:wrap;gap:12px}
 .search{order:2;flex-basis:100%;max-width:none;margin:0}
 .product{grid-template-columns:1fr;gap:20px}
 .gallery{position:static}
 .g-stage{border-radius:var(--r-lg)}
 .linkgrid,.steps{grid-template-columns:1fr}
 .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}
@media (max-width:520px){
 .brand{font-size:19px}
 .mark{width:32px;height:32px;font-size:19px;border-radius:10px}
 .hero{margin-top:16px}
 .hero-deals{display:none}
 .tiles{grid-template-columns:1fr}
 .card>a{padding:6px}
 .card-body{padding:10px 4px 4px}
 .card h3{font-size:14px}
 .price-row strong{font-size:17px}
 .sticker{width:48px;height:48px;font-size:13px;top:8px;right:8px;outline-offset:-5px}
 .sticker.big{width:70px;height:70px;font-size:18px}
 .count{left:6px;bottom:6px}
 .g-nav{display:none}
 .g-thumb{width:62px;height:62px}
 .now{font-size:2rem}
 .foot-inner{grid-template-columns:1fr}
 .hist-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

/* v8: meerdere webshops */
.ship{text-align:center;font-size:14px;margin-top:6px;color:#33443b}
.offers{background:var(--surface);border-radius:var(--r-lg);padding:22px 24px;border:1px solid var(--line)}
.offers h2{font-size:1.1rem;margin-bottom:8px}
.offers ul{list-style:none;margin:0;padding:0}
.offers li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.offers li:last-child{border-bottom:0}
.o-shop{flex:1;min-width:0;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.o-price{font-weight:700}
.o-price.cheaper{background:#fff4c7;padding:1px 8px;border-radius:999px}

/* v10: soorten en maten */
.facets{max-width:var(--wrap);margin:0 auto 18px;padding:0 var(--gut);display:grid;gap:10px}
.facet{display:flex;gap:12px;align-items:flex-start}
.facet-label{flex:none;width:52px;padding-top:7px;font-size:14px;font-weight:700;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:6px;min-width:0}
.chips.sizes{max-height:96px;overflow:auto}
.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--line);text-decoration:none;font-size:14px;font-weight:500;white-space:nowrap}
.chip small{color:var(--muted);font-weight:400}
.chip:hover{border-color:var(--green)}
.chip.on{background:var(--green);border-color:var(--green);color:#fff}
.chip.on small{color:#d6eadf}
.chip.size{min-width:46px;justify-content:center}
.sizes-line{font-size:13px;color:var(--muted)}
.size-pick{margin:4px 0 18px}
.size-title{font-weight:700;margin-bottom:8px}
.size-title small{font-weight:400;color:var(--muted);margin-left:6px}
.size-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:6px}
.size-btn{display:flex;align-items:center;justify-content:center;height:44px;border-radius:12px;border:1.5px solid var(--line);background:#fff;text-decoration:none;font-weight:500;color:var(--ink)}
.size-btn:hover{border-color:var(--green);background:var(--mint)}
.size-btn.out{color:#a2aea7;background:var(--bg);text-decoration:line-through;cursor:not-allowed}
.size-pick .note{text-align:left;margin-top:8px}
.section.tight{margin-top:28px}
.section.tight h2{font-size:1.2rem;margin-bottom:12px}
@media (max-width:520px){.facet{flex-direction:column;gap:6px}.facet-label{padding-top:0}.chips{flex-wrap:nowrap;overflow-x:auto;max-height:none;padding-bottom:4px}.chips.sizes{flex-wrap:nowrap}}
.tile b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.25}

/* v11: content, landings, cookiemelding */
.link-block{max-width:var(--wrap);margin:28px auto 0;padding:0 var(--gut)}
.link-block h2{font-size:1.1rem;margin-bottom:10px}
.link-block ul.tags{list-style:none;margin:0;padding:0}
.guide{max-width:var(--wrap);margin:48px auto 0;padding:0 var(--gut)}
.guide h2{font-size:1.4rem;margin-bottom:14px}
.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.guide-grid>div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px}
.guide-grid h3{font-size:1rem;margin-bottom:6px}
.guide-grid p{color:#33443b;font-size:15px}
.page-text{max-width:760px;margin:24px auto 0;padding:0 var(--gut)}
.page-text p,.page-text li{color:#33443b;margin-bottom:10px}
.page-text h2{font-size:1.3rem;margin:28px 0 10px}
.page-text a,.text a{color:var(--green)}
.text h2{font-size:1.3rem;margin:28px 0 10px}.text p,.text li{color:#33443b;margin-bottom:10px}
.summary-product{margin-top:12px;color:#33443b}
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:40;max-width:560px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 12px 40px rgba(23,36,29,.18);padding:18px 20px;display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center}
.consent[hidden]{display:none}
.consent p{flex:1 1 260px;font-size:14.5px}
.consent a{color:var(--green)}
.consent-actions{display:flex;gap:8px}
.consent .cta,.consent .ghost{padding:10px 18px}
@media (max-width:820px){.guide-grid{grid-template-columns:1fr}}
.foot-inner{grid-template-columns:1.4fr repeat(4,minmax(0,1fr))}
@media (max-width:1020px){.foot-inner{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-inner{grid-template-columns:1fr}}
.link-block.top{margin-top:0;margin-bottom:18px}.link-block.top h2{font-size:.95rem;color:var(--muted);font-weight:500}
.text table a,.page-text table a{color:var(--green)}
.facets{grid-template-columns:minmax(0,1fr)}.facet{min-width:0}.facet>.chips{min-width:0;max-width:100%}

/* ---------- v12: sorteren, filterpaneel en mobiel ---------- */
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.card-media .pic,.g-slide img,.tile-media img,.hd-media img{color:transparent} /* geen alt-tekst over de kaart als een foto niet laadt */
.toolbar{max-width:var(--wrap);margin:0 auto 16px;padding:0 var(--gut)}
.tb-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tb-count{color:var(--muted);font-size:15px;white-space:nowrap}
.tb-count b{color:var(--ink);font-weight:700}
.tb-actions{display:flex;gap:8px;align-items:center;min-width:0}
.tb-btn{position:relative;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px;border-radius:999px;background:var(--surface);border:1.5px solid var(--line);font-weight:500;font-size:15px;text-decoration:none;color:var(--ink);cursor:pointer;white-space:nowrap;min-width:0}
.tb-btn:hover,.tb-btn:focus-within{border-color:var(--green)}
.tb-btn .i{color:var(--green)}
.sort{margin:0;min-width:0;display:flex}
.sort .tb-btn{padding-right:10px}
.sort select{appearance:none;-webkit-appearance:none;border:0;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a6b62' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 2px center/16px;font-size:16px;font-weight:500;height:100%;padding:0 24px 0 0;cursor:pointer;outline:none;min-width:0;max-width:100%;text-overflow:ellipsis}
.tb-filter{display:none}
.badge{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--green);color:#fff;font-size:12.5px;font-weight:700;line-height:1}
.active-filters{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;align-items:center}
.af{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:4px 10px 4px 14px;border-radius:999px;background:var(--mint);border:1px solid #cfe3d6;font-size:14px;font-weight:500;text-decoration:none;color:var(--green-dark)}
.af .i{width:16px;height:16px}
.af:hover{border-color:var(--green)}
.af-clear{font-size:14px;font-weight:500;color:var(--green);padding:8px 6px;text-underline-offset:3px}
.fp-head,.fp-foot{display:none}
.filter-panel .facets{margin-bottom:14px}
/* Omschrijving inklappen ("Lees meer") */
.desc{margin-top:10px;color:#33443b}
.desc p+p,.desc ul{margin-top:8px}
.desc ul{padding-left:20px}
.desc h3{font-size:1rem;margin:14px 0 4px;color:var(--ink)}
.desc h3:first-child{margin-top:0}
.js .clamp:not(.open){max-height:calc(var(--lines,8) * 1.6em);overflow:hidden;-webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent)}
.more{display:inline-flex;align-items:center;gap:4px;margin-top:6px;padding:8px 0;border:0;background:none;color:var(--green);font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
/* Vaste koopbalk: alleen op mobiel */
.buybar{display:none}

@media (max-width:820px){
 html{scroll-padding-top:80px}
 .site-head{position:relative;backdrop-filter:none;background:#fff}
 .bar{padding:10px var(--gut);gap:10px}
 .menu{padding-bottom:10px}
 .menu a{padding:9px 14px}
 .section{margin-top:40px}
 .intro{margin-top:16px;margin-bottom:16px}
 .js .intro [data-clamp]:not(.open){--lines:3;max-height:calc(3 * 1.6em);overflow:hidden;-webkit-mask-image:linear-gradient(#000 45%,transparent);mask-image:linear-gradient(#000 45%,transparent)}
 .summary{font-size:14px;margin-top:12px}
 .js .intro .clamped:not(.open)~.summary{display:none}
 /* Balk met filter + sorteren blijft bovenaan staan tijdens het scrollen */
 .toolbar{position:sticky;top:0;z-index:15;margin-bottom:12px;padding-top:10px;padding-bottom:10px;background:rgba(244,248,245,.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
 .tb-filter{display:inline-flex}
 /* Filterpaneel als scherm dat van onderen opent */
 .filter-panel{display:none}
 .filter-panel:target,.filter-panel.open{display:flex;flex-direction:column;position:fixed;left:0;right:0;bottom:0;top:max(48px,env(safe-area-inset-top));z-index:60;background:var(--bg);border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:0 0 0 100vmax rgba(16,30,22,.45);animation:sheet .22s ease-out}
 @keyframes sheet{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
 .fp-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px var(--gut);border-bottom:1px solid var(--line);font-size:18px}
 .fp-head b{display:inline-flex;align-items:center;gap:8px}
 .fp-close{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--surface);border:1px solid var(--line);color:var(--ink)}
 .fp-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:16px 0 8px;-webkit-overflow-scrolling:touch}
 .fp-foot{display:flex;gap:10px;padding:12px var(--gut) calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface)}
 .fp-foot .cta{flex:1}
 .fp-foot .ghost{justify-content:center}
 .filter-panel .facets{gap:18px}
 .filter-panel .facet{flex-direction:column;gap:8px}
 .filter-panel .facet-label{width:auto;padding:0;font-size:15px;color:var(--ink)}
 .filter-panel .chips{flex-wrap:wrap;overflow:visible;max-height:none;padding:0}
 .filter-panel .chips.sizes{display:grid;grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:6px}
 .filter-panel .chip{min-height:42px;padding:8px 14px;font-size:15px}
 .filter-panel .chip.size{min-width:0}
 .filter-panel .filters{flex-direction:column;align-items:stretch;margin-bottom:0}
 .filter-panel .filters>*{flex:none!important;width:100%;height:48px}
 html.fp-open,html.fp-open body{overflow:hidden}
 /* Productpagina */
 .buybar{display:flex;align-items:center;gap:12px;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px var(--gut) calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(23,36,29,.08);transition:transform .25s ease}
 .js .buybar:not(.show){transform:translateY(110%);box-shadow:none}
 .bb-price{display:flex;flex-direction:column;line-height:1.15;flex:none}
 .bb-price strong{font-size:20px;letter-spacing:-.02em}
 .bb-price s{font-size:13px;color:var(--muted)}
 .buybar .cta{flex:1;min-width:0;padding:13px 16px}
 .buybar .cta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 body:has(.buybar) .site-foot{padding-bottom:84px}
 .buy-box{border-radius:var(--r-lg)}
 .history,.about,.offers{padding:18px}
 .linkgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
}
@media (max-width:520px){
 .sort .tb-btn{padding-left:12px}
 .tb-count{display:none}
 .tb-actions{flex:1}
 .tb-actions>*{flex:1 1 auto}
 .tb-filter{justify-content:center;flex:0 0 auto;padding:0 18px}
 .sort{flex:1 1 0}
 .sort .tb-btn{width:100%}
 .sort select{flex:1}
 .toolbar:not(:has(.tb-filter)) .tb-count{display:block}
 .toolbar:not(:has(.tb-filter)) .tb-actions{flex:0 1 auto}
 /* Home: compactere tegels en thema's */
 .hero-text{padding:24px 22px;border-radius:var(--r-lg)}
 .hero h1{font-size:1.85rem}
 .hero-actions .cta,.hero-actions .ghost{flex:1 1 auto;justify-content:center}
 .tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .tile{gap:10px;padding:8px}
 .tile-media{width:48px;height:48px;border-radius:10px}
 .tile b{font-size:14px}
 .tile small{font-size:12.5px}
 .linkgrid a{padding:14px}
 .linkgrid b{font-size:15px;line-height:1.3}
 .linkgrid span{font-size:13px}
 .steps li{display:grid;grid-template-columns:34px 1fr;column-gap:12px;padding:16px}
 .steps li::before{grid-row:span 2;margin:0}
 .tags a{padding:8px 13px}
 .link-block.top .tags{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 calc(var(--gut) * -1);padding:0 var(--gut) 2px}
 .link-block.top .tags::-webkit-scrollbar{display:none}
 .link-block.top li{flex:none}
 .guide-grid>div{padding:16px}
 /* Footer: twee kolommen, ruimere tikdoelen */
 .site-foot{margin-top:56px}
 .foot-inner{grid-template-columns:1fr 1fr;gap:24px 16px;padding-top:32px}
 .foot-about{grid-column:1/-1}
 .site-foot ul{gap:0}
 .site-foot li a{display:block;padding:6px 0}
 /* Cookiemelding compact onderaan */
 .consent{left:8px;right:8px;bottom:8px;padding:14px 16px;border-radius:var(--r)}
 .consent p{font-size:13.5px}
 .consent-actions{width:100%}
 .consent-actions>*{flex:1;justify-content:center}
 .compare{font-size:14px}
 .compare th,.compare td{padding:11px 12px}
}
h1,h2,h3{overflow-wrap:break-word;hyphens:auto}
.text h1{font-size:clamp(1.6rem,7.4vw,2.25rem)}
.intro h1,.buy-box h1{hyphens:manual}
