/*
Theme Name: Prijsvriend
Description: Licht, snel en mobiel-eerst thema voor Prijsvriend (BE + NL). Werkt samen met de plugin Prijsvriend Core.
Version: 1.0.0
Author: Dieter Maes
Requires PHP: 8.0
Text Domain: prijsvriend
*/

/* ---------- Basis ---------- */
:root{
	--pv-primary:#0b7285;--pv-accent:#f08c00;
	--pv-ink:#14213d;--pv-text:#1f2937;--pv-muted:#5b6472;--pv-line:#e3e7ec;--pv-bg:#f4f6f8;--pv-card:#fff;
	--pv-ok:#2b8a3e;--pv-warn:#b35c00;--pv-bad:#c92a2a;
	--pv-r:14px;--pv-r-sm:10px;--pv-shadow:0 1px 2px rgba(20,33,61,.06),0 4px 14px rgba(20,33,61,.06);
	--pv-max:1180px;--pv-gap:16px;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-padding-top:16px}
body{margin:0;background:var(--pv-bg);color:var(--pv-text);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;overflow-x:hidden}
img,svg{max-width:100%;height:auto}
a{color:var(--pv-primary);text-underline-offset:2px}
a:hover{text-decoration-thickness:2px}
h1,h2,h3{color:var(--pv-ink);line-height:1.25;margin:0 0 .5em}
h1{font-size:1.6rem}
h2{font-size:1.3rem}
h3{font-size:1.1rem}
p{margin:0 0 1em}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--pv-accent);outline-offset:2px;border-radius:4px}
.screen-reader-text,.pv-hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0;margin:-1px}
.pv-skip{position:absolute;left:-999px;top:8px;background:#fff;padding:12px 16px;z-index:100;border-radius:8px}
.pv-skip:focus{left:8px}
.pv-container{width:100%;max-width:var(--pv-max);margin:0 auto;padding:0 16px}
.pv-muted{color:var(--pv-muted)}
.pv-small{font-size:.875rem;color:var(--pv-muted)}
.pv-h2{font-size:1.25rem;margin:0 0 12px}
.pv-h3{font-size:1.05rem;margin:0 0 8px}
.pv-section{margin:32px 0}
.pv-page{padding-top:16px;padding-bottom:48px}
.pv-page--narrow{max-width:780px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ---------- Header ---------- */
.pv-header{background:#fff;border-bottom:1px solid var(--pv-line);position:relative;z-index:20}
.pv-header__bar{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:60px}
.pv-logo{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--pv-ink);font-weight:800;font-size:1.25rem;min-height:44px}
.pv-logo__mark{color:var(--pv-primary);display:flex}
.pv-logo img{max-height:44px;width:auto}
.pv-header__actions{display:flex;align-items:center;gap:4px}
.pv-iconlink{display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--pv-ink);border-radius:50%}
.pv-iconlink:hover{background:var(--pv-bg)}
.pv-nav{position:static}
.pv-nav summary{list-style:none;display:flex;align-items:center;gap:8px;min-width:44px;min-height:44px;padding:0 10px;cursor:pointer;border-radius:10px;font-weight:600;color:var(--pv-ink)}
.pv-nav summary::-webkit-details-marker{display:none}
.pv-burger,.pv-burger::before,.pv-burger::after{display:block;width:20px;height:2px;background:currentColor;border-radius:2px;position:relative}
.pv-burger::before,.pv-burger::after{content:"";position:absolute;left:0}
.pv-burger::before{top:-6px}.pv-burger::after{top:6px}
.pv-nav[open] .pv-burger{background:transparent}
.pv-nav[open] .pv-burger::before{top:0;transform:rotate(45deg)}
.pv-nav[open] .pv-burger::after{top:0;transform:rotate(-45deg)}
.pv-nav__label{display:none}
.pv-nav__panel{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--pv-line);box-shadow:var(--pv-shadow);padding:8px 16px 16px}
.pv-menu{list-style:none;margin:0;padding:0}
.pv-menu a{display:flex;align-items:center;min-height:48px;padding:0 8px;text-decoration:none;color:var(--pv-ink);font-weight:600;border-bottom:1px solid var(--pv-line)}
.pv-header__search{padding-bottom:12px}
.pv-desknav{display:none}

/* ---------- Zoeken ---------- */
.pv-search{position:relative;display:flex;background:#fff;border:2px solid var(--pv-line);border-radius:999px;overflow:visible}
.pv-search:focus-within{border-color:var(--pv-primary)}
.pv-search input{flex:1;min-width:0;border:0;background:transparent;padding:10px 16px;min-height:44px;border-radius:999px;font-size:16px}
.pv-search input:focus{outline:none}
.pv-search button{border:0;background:var(--pv-primary);color:#fff;width:44px;height:44px;margin:0;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none}
.pv-search button svg{fill:currentColor}
.pv-suggest{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid var(--pv-line);border-radius:var(--pv-r-sm);box-shadow:var(--pv-shadow);list-style:none;margin:0;padding:6px 0;z-index:30;max-height:70vh;overflow:auto}
.pv-suggest__group{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--pv-muted);padding:8px 14px 2px}
.pv-suggest a{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;min-height:44px;align-items:center;text-decoration:none;color:var(--pv-text)}
.pv-suggest .is-active a,.pv-suggest a:hover{background:var(--pv-bg)}

/* ---------- Knoppen en formulieren ---------- */
.pv-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:10px 16px;border-radius:10px;border:2px solid var(--pv-line);background:#fff;color:var(--pv-ink);font-weight:700;text-decoration:none;cursor:pointer;line-height:1.2;text-align:center}
.pv-btn:hover{border-color:var(--pv-primary)}
.pv-btn--primary{background:var(--pv-primary);border-color:var(--pv-primary);color:#fff}
.pv-btn--primary:hover{filter:brightness(.92)}
.pv-btn--shop{background:var(--pv-ink);border-color:var(--pv-ink);color:#fff}
.pv-btn--ghost{background:transparent}
.pv-btn--danger{background:#fff;border-color:var(--pv-bad);color:var(--pv-bad)}
.pv-btn--social{width:100%;margin-bottom:8px}
.pv-btn--social span{font-weight:900;width:22px}
.pv-linkbtn{background:none;border:0;color:var(--pv-primary);text-decoration:underline;cursor:pointer;padding:8px 4px;min-height:44px}
.pv-inline{display:inline}
.pv-form{display:grid;gap:14px;margin:0}
.pv-form label{display:grid;gap:6px;font-weight:600}
.pv-form input[type=text],.pv-form input[type=email],.pv-form input[type=password],.pv-form input[type=url],.pv-form input[type=number],.pv-form input:not([type]),.pv-form select,.pv-form textarea,.pv-filters select{width:100%;min-height:44px;padding:10px 12px;border:2px solid var(--pv-line);border-radius:10px;background:#fff;font-weight:400}
.pv-form input:focus,.pv-form select:focus,.pv-form textarea:focus{border-color:var(--pv-primary);outline:none}
.pv-form input[type=color]{height:44px;padding:2px;border:2px solid var(--pv-line);border-radius:10px;width:100%}
.pv-form .pv-check,.pv-check{display:flex;gap:10px;align-items:flex-start;font-weight:400;min-height:44px;padding:8px 0}
.pv-check input{width:22px;height:22px;flex:none;margin:1px 0 0;accent-color:var(--pv-primary)}
.pv-form fieldset{border:0;padding:0;margin:0;display:grid;gap:4px}
.pv-form legend{font-weight:700;margin-bottom:6px}
.pv-form--inline{grid-template-columns:1fr;margin-top:8px}
.pv-row2{display:grid;gap:14px}
.pv-strength{height:auto;font-size:.85rem;color:var(--pv-muted)}
.pv-strength span{display:block;height:6px;width:0;background:var(--pv-bad);border-radius:3px;font-size:0;margin-bottom:4px;transition:width .2s}
.pv-strength span[data-level="3"]{background:var(--pv-warn)}
.pv-strength span[data-level="4"],.pv-strength span[data-level="5"]{background:var(--pv-ok)}
.pv-notice{padding:12px 16px;border-radius:10px;margin:12px 0;font-weight:600}
.pv-notice--ok{background:#e6f4ea;color:#1e5e2c}
.pv-notice--err{background:#fdecec;color:#8a1c1c}
.pv-details{background:#fff;border:1px solid var(--pv-line);border-radius:var(--pv-r-sm);margin:12px 0}
.pv-details>summary{cursor:pointer;min-height:48px;display:flex;align-items:center;gap:8px;padding:8px 14px;font-weight:700;list-style:none}
.pv-details>summary::-webkit-details-marker{display:none}
.pv-details>summary::after{content:"";margin-left:auto;width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .15s}
.pv-details[open]>summary::after{transform:rotate(-135deg)}
.pv-details>form,.pv-details>.pv-form,.pv-details>div,.pv-details>p{padding:0 14px 14px}
.pv-details--sm>summary{min-height:44px;font-weight:600;font-size:.9rem}
.pv-chips{display:flex;flex-wrap:wrap;gap:8px}
.pv-chip{position:relative;display:inline-flex}
.pv-chip input{position:absolute;opacity:0}
.pv-chip span,button.pv-chip{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:2px solid var(--pv-line);border-radius:999px;background:#fff;font-weight:600;cursor:pointer}
.pv-chip input:checked+span{border-color:var(--pv-primary);background:color-mix(in srgb,var(--pv-primary) 10%,#fff)}
.pv-chip input:focus-visible+span{outline:3px solid var(--pv-accent)}
.pv-or{display:flex;align-items:center;gap:10px;color:var(--pv-muted);font-size:.9rem}
.pv-or::before,.pv-or::after{content:"";flex:1;border-top:1px solid var(--pv-line)}
.pv-auth{max-width:440px;margin:0 auto;background:#fff;border-radius:var(--pv-r);padding:20px;box-shadow:var(--pv-shadow)}

/* ---------- Labels ---------- */
.pv-pill{display:inline-block;background:var(--pv-accent);color:#fff;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:3px 10px;border-radius:6px;margin-bottom:6px;color:#1a1a1a;background:color-mix(in srgb,var(--pv-accent) 22%,#fff)}
.pv-tag{display:inline-block;font-size:.8rem;font-weight:700;padding:2px 8px;border-radius:6px;background:var(--pv-bg);color:var(--pv-ink)}
.pv-tag--deal{background:#e6f4ea;color:#1e5e2c}
.pv-status,.pv-origin{display:inline-block;font-size:.78rem;font-weight:800;padding:3px 9px;border-radius:6px}
.pv-status--beantwoord{background:#e6f4ea;color:#1e5e2c}
.pv-status--deels{background:#fff4e0;color:#7a4100}
.pv-status--geen_info{background:#eef0f3;color:#3b4350}
.pv-status--open{background:#e7f1fb;color:#164f86}
.pv-origin{background:transparent;border:1px solid var(--pv-line);color:var(--pv-muted)}
.pv-origin--redactie{border-color:var(--pv-primary);color:var(--pv-primary)}
.pv-origin--bot{border-style:dashed}

/* ---------- Kaarten en rasters ---------- */
.pv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pv-grid--posts{grid-template-columns:1fr}
.pv-grid--scroll{grid-auto-flow:column;grid-auto-columns:46%;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;overscroll-behavior-x:contain}
.pv-grid--scroll>*{scroll-snap-align:start}
.pv-card{position:relative;background:var(--pv-card);border-radius:var(--pv-r);box-shadow:var(--pv-shadow);overflow:hidden;display:flex;flex-direction:column}
.pv-card__link{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}
.pv-card__img{aspect-ratio:1/1;background:#fff;display:flex;align-items:center;justify-content:center;padding:12px}
.pv-card__img img{width:100%;height:100%;object-fit:contain}
.pv-card__img--wide{aspect-ratio:16/9;padding:0;background:var(--pv-line)}
.pv-card__img--wide img{object-fit:cover}
.pv-card__ph{display:block;width:100%;height:100%;background:linear-gradient(135deg,color-mix(in srgb,var(--pv-primary) 20%,#fff),color-mix(in srgb,var(--pv-accent) 20%,#fff))}
.pv-card__body{padding:10px 12px 14px;display:flex;flex-direction:column;gap:4px;flex:1}
.pv-card__title{font-size:.95rem;margin:0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pv-card--post .pv-card__title{font-size:1.1rem}
.pv-card__excerpt{font-size:.9rem;color:var(--pv-muted);margin:4px 0 0}
.pv-card__price{margin:auto 0 0;font-size:.9rem}
.pv-card__price strong{font-size:1.1rem;color:var(--pv-ink)}
.pv-card__price span{color:var(--pv-muted);font-size:.8rem}
.pv-card__q{font-size:.8rem;color:var(--pv-muted);margin:0}
.pv-card .pv-heart{position:absolute;top:6px;right:6px;z-index:2}
.pv-card--soon{padding:16px}
.pv-inline-card{max-width:320px;margin:16px 0}
.pv-thumb--empty{display:block;background:var(--pv-bg);border-radius:8px;max-width:100%}
.pv-heart{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.92);cursor:pointer;color:var(--pv-muted)}
.pv-heart svg{fill:none;stroke:currentColor;stroke-width:2}
.pv-heart.is-on{color:#d6336c}
.pv-heart.is-on svg{fill:currentColor}
.pv-cats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pv-cats a{display:flex;flex-direction:column;justify-content:center;min-height:64px;padding:12px 14px;background:#fff;border-radius:var(--pv-r-sm);box-shadow:var(--pv-shadow);text-decoration:none;color:var(--pv-ink);font-weight:700}
.pv-cats small{color:var(--pv-muted);font-weight:400}
.pv-cats--small a{min-height:48px}
.pv-qlist,.pv-rows{list-style:none;margin:0;padding:0;background:#fff;border-radius:var(--pv-r);box-shadow:var(--pv-shadow)}
.pv-qlist li+li,.pv-rows li+li{border-top:1px solid var(--pv-line)}
.pv-qlist a{display:flex;flex-direction:column;padding:12px 16px;min-height:56px;text-decoration:none}
.pv-qlist__q{font-weight:700;color:var(--pv-ink)}
.pv-qlist__p{font-size:.85rem;color:var(--pv-muted)}
.pv-rows li{padding:12px 16px;min-height:48px}

/* ---------- Home ---------- */
.pv-hero{background:linear-gradient(180deg,#fff,var(--pv-bg));padding:28px 0 12px}
.pv-hero__title{font-size:1.75rem;margin-bottom:8px}
.pv-hero__lead{color:var(--pv-muted);max-width:60ch}
.pv-hero .pv-search{max-width:640px}
.home .pv-header__search{display:none}

/* ---------- Product ---------- */
.pv-product{padding-top:12px;padding-bottom:40px}
.pv-product__top{display:grid;gap:16px;background:#fff;border-radius:var(--pv-r);box-shadow:var(--pv-shadow);padding:16px}
.pv-product__top>*,.pv-product__cols>*{min-width:0}
.pv-product__media .pv-thumb--empty{width:100%!important;height:auto!important;aspect-ratio:1/1}
.pv-product__media{display:flex;justify-content:center;align-items:center;aspect-ratio:1/1;max-height:340px;margin:0 auto;width:100%}
.pv-product__media img{width:100%;height:100%;object-fit:contain;max-height:340px}
.pv-product__title{font-size:1.45rem;margin-bottom:8px}
.pv-product__summary{font-size:1.05rem}
.pv-product__tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}
.pv-product__tools .pv-heart{background:var(--pv-bg)}
.pv-product__cols{display:grid;gap:24px;margin-top:20px}
.pv-product__main>section{margin-bottom:28px}
.pv-side-box{background:#fff;border-radius:var(--pv-r);box-shadow:var(--pv-shadow);padding:16px}
.pv-pricebox,.pv-history,.pv-specs,.pv-ask{background:#fff;border-radius:var(--pv-r);box-shadow:var(--pv-shadow);padding:16px}
.pv-pricebox__low{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}
.pv-pricebox__amount{font-size:2rem;font-weight:800;color:var(--pv-ink)}
.pv-shops{list-style:none;margin:12px 0;padding:0}
.pv-shop{display:grid;grid-template-columns:1fr;gap:8px;padding:12px 0;border-top:1px solid var(--pv-line)}
.pv-shop__name{font-weight:800}
.pv-shop__info{display:flex;flex-direction:column}
.pv-shop__info strong{font-size:1.2rem}
.pv-shop__info span,.pv-shop__info small{color:var(--pv-muted);font-size:.875rem}
.pv-shop .pv-btn{width:100%}
.pv-alert summary svg{fill:currentColor}
.pv-verdict{padding:10px 14px;border-radius:10px;background:var(--pv-bg)}
.pv-verdict--echt{background:#e6f4ea}
.pv-verdict--nep{background:#fdecec}
.pv-verdict strong{display:block}
.pv-hist-tabs{display:flex;flex-wrap:wrap;gap:8px}
.pv-hist-tabs input{position:absolute;opacity:0}
.pv-hist-tabs label{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:2px solid var(--pv-line);border-radius:999px;cursor:pointer;font-weight:600}
.pv-hist-tabs input:checked+label{border-color:var(--pv-primary);color:var(--pv-primary)}
.pv-hist-tabs input:focus-visible+label{outline:3px solid var(--pv-accent)}
.pv-hist-panel{display:none;width:100%}
.pv-hist-tabs input:nth-of-type(1):checked~.pv-hist-panel--30,.pv-hist-tabs input:nth-of-type(2):checked~.pv-hist-panel--90,.pv-hist-tabs input:nth-of-type(3):checked~.pv-hist-panel--365{display:block}
.pv-chart{width:100%;height:200px;display:block;margin-top:8px}
.pv-chart__grid{stroke:var(--pv-line);stroke-width:1}
.pv-chart__line{fill:none;stroke:var(--pv-primary);stroke-width:2.5;vector-effect:non-scaling-stroke}
.pv-chart__low30{stroke:var(--pv-ok);stroke-width:1.5;stroke-dasharray:6 5;vector-effect:non-scaling-stroke}
.pv-chart__lbl{font-size:11px;fill:var(--pv-muted)}
.pv-legend{display:inline-block;width:20px;vertical-align:middle;border-top:3px solid var(--pv-primary)}
.pv-legend--dash{border-top:2px dashed var(--pv-ok)}
.pv-question{background:#fff;border-radius:var(--pv-r);box-shadow:var(--pv-shadow);padding:16px;margin-bottom:12px}
.pv-question__head{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.pv-question__head .pv-heart{margin-left:auto;width:44px;height:44px}
.pv-question__title{font-size:1.1rem;margin:8px 0}
.pv-question__title a{color:var(--pv-ink);text-decoration:none}
.pv-question__title a:hover{text-decoration:underline}
.pv-question__answer p:last-child{margin-bottom:8px}
.pv-question__ask{color:var(--pv-muted)}
.pv-question__more{margin:8px 0 0}
.pv-question__more a{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
.pv-noinfo{background:var(--pv-bg);padding:10px 14px;border-radius:10px}
.pv-sources{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.875rem;color:var(--pv-muted)}
.pv-sources ul{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.pv-sources a{display:inline-flex;align-items:center;min-height:44px;padding:2px 10px;border:1px solid var(--pv-line);border-radius:999px;text-decoration:none;background:#fff}
.pv-answers{list-style:none;margin:12px 0 0;padding:0}
.pv-answer{border-top:1px solid var(--pv-line);padding:12px 0}
.pv-answer__head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.85rem;color:var(--pv-muted)}
.pv-answer__name{font-weight:700;color:var(--pv-text)}
.pv-answer__body{margin-top:6px}
.pv-answer__foot{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pv-vote{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border:2px solid var(--pv-line);border-radius:999px;background:#fff;cursor:pointer;font-weight:600}
.pv-vote.is-on{border-color:var(--pv-ok);color:var(--pv-ok)}
.pv-report summary{min-height:44px;display:inline-flex;align-items:center;cursor:pointer;color:var(--pv-muted);font-size:.875rem;list-style:none;padding:0 8px}
.pv-report form{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin-top:6px}
.pv-report input{min-height:44px;border:2px solid var(--pv-line);border-radius:10px;padding:8px}
.pv-dl{margin:0;display:grid}
.pv-dl div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:12px;padding:10px 0;border-top:1px solid var(--pv-line)}
.pv-dl dt{color:var(--pv-muted)}
.pv-dl dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.pv-share{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}
.pv-share__links{display:flex;flex-wrap:wrap;gap:8px}
.pv-share__links.is-secondary{display:none}
.pv-share__btn{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border:1px solid var(--pv-line);border-radius:10px;background:#fff;text-decoration:none;color:var(--pv-ink);font-size:.9rem;font-weight:600;cursor:pointer}
.pv-back a{display:inline-flex;min-height:44px;align-items:center;font-weight:600}

/* Vaste prijsbalk onderaan (gsm) */
.pv-pricebar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;gap:8px;background:#fff;border-top:1px solid var(--pv-line);box-shadow:0 -4px 16px rgba(20,33,61,.08);padding:8px 12px calc(8px + env(safe-area-inset-bottom))}
.pv-pricebar__price{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.2}
.pv-pricebar__price strong{font-size:1.15rem;color:var(--pv-ink)}
.pv-pricebar__price span{font-size:.78rem;color:var(--pv-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-pricebar__noprice{font-size:.85rem!important;white-space:normal!important}
.pv-pricebar__icon{display:flex;flex-direction:column;align-items:center;justify-content:center;width:48px;height:48px;border:0;background:var(--pv-bg);border-radius:12px;cursor:pointer;color:var(--pv-ink);font-size:.65rem;font-weight:700;flex:none}
.pv-pricebar__icon svg{fill:currentColor;width:22px;height:22px}
.pv-pricebar__go{flex:none;min-height:48px;padding:0 14px}
body.has-pricebar{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
body.has-pricebar .pv-cmpbar{bottom:calc(76px + env(safe-area-inset-bottom))}

/* Paneel dat van onderen openschuift */
.pv-sheet{position:fixed;inset:0;z-index:60;background:rgba(20,33,61,.45);display:flex;align-items:flex-end}
.pv-sheet__panel{background:#fff;width:100%;max-height:80vh;overflow:auto;border-radius:18px 18px 0 0;padding:12px 16px calc(20px + env(safe-area-inset-bottom));transform:translateY(100%);transition:transform .2s ease}
.pv-sheet.is-open .pv-sheet__panel{transform:none}
.pv-sheet__head{display:flex;align-items:center;justify-content:space-between}
.pv-sheet__close{width:44px;height:44px;border:0;background:var(--pv-bg);border-radius:50%;font-size:1.5rem;cursor:pointer}
.pv-sheet__lists{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}
.pv-sheet__item{width:100%;text-align:left;min-height:52px;padding:10px 14px;border:2px solid var(--pv-line);border-left:6px solid var(--pv-list,var(--pv-primary));border-radius:12px;background:#fff;font-weight:700;cursor:pointer}
.pv-sheet__sub{font-weight:700;margin:12px 0 8px}
.pv-toast{position:fixed;left:12px;right:12px;bottom:calc(88px + env(safe-area-inset-bottom));z-index:70;background:var(--pv-ink);color:#fff;padding:12px 16px;border-radius:12px;opacity:0;transform:translateY(10px);transition:all .2s;pointer-events:none;max-width:480px;margin:0 auto}
.pv-toast.is-on{opacity:1;transform:none;pointer-events:auto}
.pv-toast a{color:#fff;font-weight:700}
.pv-cmpbar{position:fixed;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:35}

/* ---------- Lijstjes en account ---------- */
.pv-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;margin-bottom:12px;scrollbar-width:thin}
.pv-tabs a{flex:none;display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:999px;background:#fff;border:2px solid var(--pv-line);text-decoration:none;color:var(--pv-ink);font-weight:600;white-space:nowrap}
.pv-tabs a[aria-current]{border-color:var(--pv-primary);color:var(--pv-primary)}
.pv-tabpanel{background:#fff;border-radius:var(--pv-r);box-shadow:var(--pv-shadow);padding:16px}
.pv-lists{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:10px}
.pv-lists a{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:12px 14px;border:2px solid var(--pv-line);border-left:6px solid var(--pv-list);border-radius:12px;text-decoration:none;color:var(--pv-ink);min-height:60px}
.pv-lists__emoji{grid-row:span 2;font-size:1.6rem}
.pv-lists small{color:var(--pv-muted)}
.pv-list__head{display:flex;align-items:center;gap:10px;border-bottom:4px solid var(--pv-list);padding-bottom:8px;margin-bottom:12px}
.pv-list__head h2{margin:0}
.pv-list__emoji{font-size:2rem}
.pv-list__share{background:var(--pv-bg);border-radius:12px;padding:12px;margin-bottom:12px}
.pv-list__share input{width:100%;min-height:44px;border:2px solid var(--pv-line);border-radius:10px;padding:8px}
.pv-list__items{list-style:none;margin:0;padding:0}
.pv-item{display:grid;grid-template-columns:72px 1fr;gap:12px;padding:12px 0;border-top:1px solid var(--pv-line)}
.pv-item img,.pv-item .pv-thumb{width:72px;height:72px;object-fit:contain;background:#fff;border-radius:8px}
.pv-item__title{font-weight:700;color:var(--pv-ink);text-decoration:none}
.pv-item__meta{display:flex;flex-wrap:wrap;gap:6px;font-size:.85rem;color:var(--pv-muted)}
.pv-item__bought{color:var(--pv-ok);font-weight:700;margin:4px 0}
.pv-item.is-bought .pv-item__title{text-decoration:line-through;color:var(--pv-muted)}
.pv-list__total{font-size:1.1rem;text-align:right;border-top:2px solid var(--pv-line);padding-top:12px}
.pv-account__hi{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.pv-list .pv-page{padding:0}

/* ---------- Filters, tabellen, paginering ---------- */
.pv-filters{background:#fff;border-radius:var(--pv-r-sm);margin:12px 0;border:1px solid var(--pv-line)}
.pv-filters>summary{min-height:48px;display:flex;align-items:center;padding:0 14px;font-weight:700;cursor:pointer}
.pv-filters__form{padding:0 14px 14px}
.pv-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;background:#fff;border-radius:var(--pv-r);box-shadow:var(--pv-shadow)}
.pv-table{border-collapse:collapse;width:100%;min-width:520px}
.pv-table th,.pv-table td{padding:10px 12px;border-bottom:1px solid var(--pv-line);text-align:left;vertical-align:top}
.pv-table thead th{vertical-align:bottom}
.pv-table thead img{width:72px;height:72px;object-fit:contain;display:block}
.pv-table thead a{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--pv-ink)}
.pv-pager{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
.pv-pager a,.nav-links a,.nav-links span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 12px;border-radius:10px;background:#fff;border:2px solid var(--pv-line);text-decoration:none;font-weight:700}
.pv-pager a[aria-current],.nav-links .current{border-color:var(--pv-primary);color:var(--pv-primary)}
.nav-links{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}

/* ---------- Artikels (gidsen) ---------- */
.pv-article{background:#fff;border-radius:var(--pv-r);box-shadow:var(--pv-shadow);padding:20px 16px}
.pv-article__meta{display:flex;align-items:center;gap:8px;color:var(--pv-muted);font-size:.9rem}
.pv-article__img{margin:0 0 16px}
.pv-article__img img{border-radius:var(--pv-r-sm);width:100%;height:auto}
.pv-prose{font-size:1.0625rem;line-height:1.65;overflow-wrap:break-word}
.pv-prose h2{margin-top:1.6em;font-size:1.35rem}
.pv-prose h3{margin-top:1.3em}
.pv-prose img{border-radius:10px;height:auto}
.pv-prose table{display:block;overflow-x:auto;max-width:100%;border-collapse:collapse}
.pv-prose td,.pv-prose th{border:1px solid var(--pv-line);padding:8px}
.pv-prose ul,.pv-prose ol{padding-left:1.3em}
.pv-prose li{margin:.3em 0}
.pv-toc{background:var(--pv-bg);border-radius:12px;padding:4px 16px;margin:0 0 20px}
.pv-toc summary{min-height:44px;display:flex;align-items:center;font-weight:700;cursor:pointer}
.pv-toc ol{margin:0 0 12px;padding-left:1.2em}
.pv-toc a{display:inline-block;padding:6px 0}
.pv-crumbs{font-size:.85rem;color:var(--pv-muted);margin:4px 0 12px;overflow-wrap:anywhere}
.pv-crumbs a{display:inline-block;padding:10px 0}

/* ---------- Footer ---------- */
.pv-footer{background:var(--pv-ink);color:#d7dce4;margin-top:40px;padding:32px 0 20px}
.pv-footer a{color:#fff}
.pv-footer__grid{display:grid;gap:24px}
.pv-footer__brand{color:#fff;font-weight:800;font-size:1.2rem}
.pv-footer__menu{list-style:none;margin:0;padding:0}
.pv-footer__menu a{display:inline-flex;align-items:center;min-height:44px}
.pv-footer__aff{font-size:.9rem}
.pv-footer__sister{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
.pv-footer__copy{font-size:.85rem;color:#aab3c0;margin-top:16px}

/* ---------- Tablet ---------- */
@media (min-width:600px){
	h1{font-size:1.9rem}
	.pv-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
	.pv-grid--posts{grid-template-columns:repeat(2,minmax(0,1fr))}
	.pv-grid--scroll{grid-auto-columns:31%}
	.pv-cats{grid-template-columns:repeat(3,minmax(0,1fr))}
	.pv-row2{grid-template-columns:1fr 1fr}
	.pv-shop{grid-template-columns:120px 1fr auto;align-items:center}
	.pv-shop .pv-btn{width:auto}
	.pv-form--inline{grid-template-columns:repeat(3,1fr) auto auto;align-items:end}
	.pv-footer__grid{grid-template-columns:2fr 1fr 1.6fr 2fr}
	.pv-toast{left:auto;right:16px;bottom:24px}
	.pv-sheet{align-items:center;justify-content:center}
	.pv-sheet__panel{max-width:480px;border-radius:18px;transform:translateY(20px);opacity:0;transition:all .2s}
	.pv-sheet.is-open .pv-sheet__panel{opacity:1}
	.pv-hero__title{font-size:2.2rem}
	.pv-product__top{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);padding:24px}
	.pv-nav__label{display:inline}
}

/* ---------- Desktop ---------- */
@media (min-width:960px){
	.pv-header__bar{display:grid;grid-template-columns:auto 1fr auto;gap:24px}
	.pv-nav{display:none}
	.pv-desknav{display:block}
	.pv-desknav .pv-menu{display:flex;gap:4px}
	.pv-desknav .pv-menu a{border:0;padding:0 12px;border-radius:8px}
	.pv-desknav .pv-menu a:hover{background:var(--pv-bg)}
	.pv-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
	.pv-grid--posts{grid-template-columns:repeat(3,minmax(0,1fr))}
	.pv-grid--scroll{grid-auto-flow:row;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible}
	.pv-cats{grid-template-columns:repeat(4,minmax(0,1fr))}
	.pv-product__cols{grid-template-columns:minmax(0,1fr) 300px}
	.pv-product__side{position:sticky;top:16px;align-self:start}
	.pv-pricebar{display:none}
	body.has-pricebar{padding-bottom:0}
	body.has-pricebar .pv-cmpbar{bottom:16px}
	.pv-article{padding:32px 40px}
	h1{font-size:2.1rem}
}
/* Desktop: zoekbalk in de header tonen naast het menu */
@media (min-width:960px){
	.pv-header__search{display:block;padding:0 16px 12px}
	.home .pv-header__search{display:none}
}

/* ---------- Voorpagina als dealfeed ---------- */
.pv-hero--compact{padding:20px 0 8px}
.pv-hero--compact .pv-hero__title{font-size:1.45rem}
.pv-chips{position:sticky;top:0;z-index:15;background:rgba(244,246,248,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--pv-line)}
.pv-chips__row{display:flex;gap:8px;overflow-x:auto;padding-top:8px;padding-bottom:8px;scrollbar-width:none}
.pv-chips__row::-webkit-scrollbar{display:none}
.pv-chip{flex:0 0 auto;display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;background:#fff;border:1px solid var(--pv-line);color:var(--pv-ink);font-weight:600;text-decoration:none;white-space:nowrap}
.pv-chip.is-on{background:var(--pv-ink);border-color:var(--pv-ink);color:#fff}
.pv-home__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;padding-top:12px;padding-bottom:32px}
.pv-tabs{display:flex;gap:4px;background:#fff;border-radius:var(--pv-r);box-shadow:var(--pv-shadow);padding:4px;margin-bottom:12px}
.pv-tab{flex:1;text-align:center;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:10px;font-weight:700;color:var(--pv-muted);text-decoration:none}
.pv-tab.is-on{background:color-mix(in srgb,var(--pv-primary) 12%,#fff);color:var(--pv-primary)}
.pv-feed__list{display:flex;flex-direction:column;gap:12px}
.pv-deal{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;background:#fff;border-radius:var(--pv-r);box-shadow:var(--pv-shadow);padding:12px}
.pv-deal__img{display:flex;align-items:flex-start;justify-content:center}
.pv-deal__img img,.pv-deal__img .pv-thumb{width:88px!important;height:88px!important;object-fit:contain;border-radius:8px}
.pv-deal__main{min-width:0}
.pv-deal__top{display:flex;align-items:center;gap:8px;justify-content:space-between;margin-bottom:4px}
.pv-deal__age{font-size:.8rem;color:var(--pv-muted)}
.pv-deal__title{font-size:1.02rem;margin:0 0 4px}
.pv-deal__title a{color:var(--pv-ink);text-decoration:none}
.pv-deal__title a:hover{text-decoration:underline}
.pv-deal__price{margin:0 0 4px;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}
.pv-deal__price strong{font-size:1.2rem;color:var(--pv-bad)}
.pv-deal__price s{color:var(--pv-muted)}
.pv-deal__pct{font-weight:800;color:var(--pv-ok)}
.pv-deal__shop{font-size:.9rem;color:var(--pv-muted)}
.pv-deal__ex{margin:0 0 8px;font-size:.92rem;color:var(--pv-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pv-deal__foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pv-deal__foot .pv-pill{margin:0;text-decoration:none}
.pv-deal__q{display:inline-flex;align-items:center;min-height:44px;font-size:.9rem;font-weight:600;text-decoration:none}
.pv-deal__foot .pv-heart{background:var(--pv-bg);margin-left:auto}
.pv-deal__go{min-height:44px}
.pv-tag--nep{background:#fdecea;color:#8a1c1c}
.pv-temp{display:inline-flex;align-items:center;border:1px solid var(--pv-line);border-radius:999px;overflow:hidden;background:#fff}
.pv-temp button{width:44px;height:44px;border:0;background:transparent;cursor:pointer;font-size:1.05rem}
.pv-temp button:hover{background:var(--pv-bg)}
.pv-temp button:disabled{cursor:default}
.pv-temp__val{min-width:44px;text-align:center;font-weight:800;color:var(--pv-ink)}
.pv-temp.is-hot .pv-temp__val{color:#d9480f}
.pv-temp.is-cold .pv-temp__val{color:#1c7ed6}
.pv-temp.voted-hot button[data-dir="1"]{background:#fff4e6}
.pv-temp.voted-cold button[data-dir="-1"]{background:#e7f5ff}
.pv-feed__nav{display:flex;justify-content:center;gap:8px;margin-top:16px}
.pv-empty{background:#fff;border-radius:var(--pv-r);box-shadow:var(--pv-shadow);padding:20px;color:var(--pv-muted)}
.pv-side{display:flex;flex-direction:column;gap:16px}
.pv-box{background:#fff;border-radius:var(--pv-r);box-shadow:var(--pv-shadow);padding:16px}
.pv-box .pv-qlist{box-shadow:none;margin:0 -16px -16px}
.pv-box--how ul,.pv-guidelist{list-style:none;margin:0;padding:0}
.pv-box--how li{padding:6px 0;font-size:.95rem}
.pv-guidelist li+li{border-top:1px solid var(--pv-line)}
.pv-guidelist a{display:flex;align-items:center;min-height:44px;font-weight:600;text-decoration:none}
@media (min-width:600px){
	.pv-deal{grid-template-columns:120px minmax(0,1fr);padding:16px}
	.pv-deal__img img,.pv-deal__img .pv-thumb{width:120px!important;height:120px!important}
	.pv-hero--compact .pv-hero__title{font-size:1.8rem}
}
@media (min-width:960px){
	.pv-home__grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start}
	.pv-side{position:sticky;top:72px}
}
.pv-tipbox{background:#fff;border-radius:var(--pv-r);box-shadow:var(--pv-shadow);margin-bottom:12px}
.pv-tipbox>summary{display:flex;align-items:center;min-height:48px;padding:0 16px;font-weight:700;cursor:pointer;color:var(--pv-ink)}
.pv-tipbox>.pv-form,.pv-tipbox>.pv-small{padding:0 16px 16px;margin:0}

/* Tabs en rubrieken: horizontaal schuiven zonder zichtbare schuifbalk; compacter op gsm */
.pv-tabs,.pv-chips__row{scrollbar-width:none;-ms-overflow-style:none;overflow-x:auto}
.pv-tabs::-webkit-scrollbar,.pv-chips__row::-webkit-scrollbar{display:none;height:0}
@media(max-width:600px){.pv-tabs{gap:6px;flex-wrap:nowrap}.pv-tab{padding:8px 12px;font-size:.95rem;white-space:nowrap}}

.pv-footer__title{color:#fff;font-weight:800;margin:0 0 4px}
.pv-footer__menu--gidsen a{min-height:36px;line-height:1.3;padding:4px 0}
.pv-footer__all{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
