/* PF-SHOP-20261007 — webshop pandfix.nl (fase 1: offertelijst). Bouwt op de tokens van de site (--rood = PandFix-blauw). */
.pfs{--pfs-o:#F5A623;--pfs-od:#d98a0c;--pfs-r:14px;--pfs-sh:0 10px 30px rgba(16,30,50,.07);display:block}
.pfs section{padding:0}
.pfs .wrap{max-width:1240px}
.pfs-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pfs h1,.pfs h2,.pfs h3{line-height:1.2;letter-spacing:-.01em}
.pfs a{color:inherit}
.pfs img{transform:none!important;box-shadow:none!important;border-radius:0}

/* knoppen */
.pfs-btn,.pfs-drawer .pfs-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:10px;font:inherit;font-weight:700;font-size:.95rem;line-height:1.2;border:2px solid transparent;cursor:pointer;text-decoration:none;transition:background .15s,transform .15s,box-shadow .15s;white-space:nowrap;min-height:46px}
.pfs-btn:focus-visible,.pfs-add:focus-visible,.pfs-hl:focus-visible,.pfs-cat:focus-visible{outline:3px solid #13A89A;outline-offset:2px}
.pfs-btn-oranje{background:var(--pfs-o,#F5A623);color:#16202B!important;box-shadow:0 8px 20px rgba(245,166,35,.28)}
.pfs-btn-oranje:hover{background:#f0a020;transform:translateY(-1px)}
.pfs-btn-blauw{background:var(--rood,#0E5F8F);color:#fff!important;box-shadow:0 8px 20px rgba(14,95,143,.25)}
.pfs-btn-blauw:hover{background:var(--rood-d,#0A4567)}
.pfs-btn-licht{background:#fff;color:var(--ink,#16202B)!important;border-color:var(--lijn,#e2e9f0)}
.pfs-btn-licht:hover{border-color:var(--rood,#0E5F8F);color:var(--rood,#0E5F8F)!important}
.pfs-btn-ghost{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.45)}
.pfs-btn-ghost:hover{background:#fff;color:var(--rood,#0E5F8F)!important}
.pfs-btn-vol{width:100%}

/* kopknop offertelijst */
.pfs-hl{position:relative;display:inline-flex;align-items:center;gap:7px;margin-left:14px;padding:8px 12px;border-radius:10px;border:1px solid var(--lijn,#e2e9f0);color:var(--ink,#16202B);font-weight:700;font-size:.88rem;background:#fff;white-space:nowrap;min-height:44px}
.pfs-hl:hover{border-color:var(--rood,#0E5F8F);color:var(--rood,#0E5F8F)}
.pfs-cnt{position:absolute;top:-7px;right:-7px;min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:#E8502E;color:#fff;font-size:.72rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #fff}
.pfs-cnt[hidden]{display:none}
.pfs-cnt.pfs-pop{animation:pfsPop .35s ease}
@keyframes pfsPop{50%{transform:scale(1.35)}}
@media(max-width:1100px){.pfs-hl{margin-left:auto;margin-right:0}.pfs-hl-t{display:none}.pfs-hl{padding:8px 10px}header .wrap.nav:has(.pfs-hl){column-gap:10px}}
@media(min-width:1101px) and (max-width:1439px){.pfs-hl-t{display:none}}

/* hero */
.pfs-hero{background:linear-gradient(125deg,#16202B 0%,#1d2b3a 45%,var(--rood-d,#0A4567) 120%);color:#fff;padding:22px 0 46px!important;position:relative;overflow:hidden}
.pfs-hero::after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(closest-side,rgba(19,168,154,.22),transparent);pointer-events:none}
.pfs-hero-cat{background:linear-gradient(125deg,#16202B 0%,#1d2b3a 50%,color-mix(in srgb,var(--c,#0E5F8F) 70%,#0A4567) 130%)}
.pfs-hero-in{display:grid;grid-template-columns:1.25fr .9fr;gap:40px;align-items:center;position:relative;z-index:1;margin-top:18px}
.pfs-eyebrow{display:inline-block;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);padding:6px 14px;border-radius:999px;font-size:.78rem;font-weight:600;margin-bottom:14px}
.pfs-hero h1{font-size:2.5rem;color:#fff;margin:0 0 14px;max-width:780px}
.pfs-hero h1 span{color:#7fd8cf}
.pfs-lead{font-size:1.06rem;color:rgba(255,255,255,.88);max-width:680px;margin:0 0 22px;line-height:1.65}
.pfs-hero-cta{display:flex;flex-wrap:wrap;gap:12px}
.pfs-hero-kaart{background:#fff;color:var(--ink,#16202B);border-radius:18px;padding:24px 24px 10px;box-shadow:0 30px 70px rgba(0,0,0,.28)}
.pfs-hero-kaart h2{font-size:1.15rem;margin:0 0 12px;color:var(--rood,#0E5F8F)}
.pfs-hero-ic{justify-self:center;width:200px;height:200px;border-radius:40px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;color:#fff}
.pfs-kruimel ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px 0;margin:0;padding:0;font-size:.84rem}
.pfs-kruimel li{display:inline-flex;align-items:center}
.pfs-kruimel li+li::before{content:"›";margin:0 8px;opacity:.6}
.pfs-kruimel a{text-decoration:underline;text-underline-offset:2px}
.pfs-hero .pfs-kruimel{color:rgba(255,255,255,.85)}
.pfs-pd-kop{padding:16px 0 4px!important;color:var(--grijs,#566273)}
.pfs-pd-kop .pfs-kruimel span[aria-current]{color:var(--ink,#16202B);font-weight:600}

/* stappen */
.pfs-stappen{list-style:none;margin:0;padding:0}
.pfs-stappen li{display:flex;gap:14px;align-items:flex-start;margin:0 0 14px}
.pfs-stap-n{flex:0 0 32px;height:32px;border-radius:10px;background:var(--licht,#F2F7FA);color:var(--rood,#0E5F8F);font-weight:800;display:flex;align-items:center;justify-content:center}
.pfs-stappen b{display:block;font-size:.98rem;margin-bottom:2px}
.pfs-stappen p{margin:0;color:var(--grijs,#566273);font-size:.9rem;line-height:1.5}

/* secties */
.pfs-sec{padding:52px 0!important}
.pfs-sec-alt{background:var(--licht,#F2F7FA)}
.pfs-sec-kop{text-align:center;max-width:760px;margin:0 auto 26px}
.pfs-sec-kop h2{font-size:1.9rem;margin:0 0 6px}
.pfs-sec-kop p{color:var(--grijs,#566273);margin:0}
.pfs-sec-kop-l{text-align:left;max-width:none;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px}
.pfs-sec-kop-l h2{margin:0}
.pfs-sec-cats{padding-bottom:20px!important}
.pfs-sec-shop{padding-top:30px!important}
.pfs-mini{font-size:.86rem;color:var(--grijs,#566273);margin:12px 0 0;line-height:1.55}
.pfs-mini a,.pfs-noot a,.pfs-pd-bel a,.pfs-leeg a:not(.pfs-btn){color:var(--rood,#0E5F8F);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.pfs-c{text-align:center}
.pfs-meer{display:inline-flex;align-items:center;gap:6px;color:var(--rood,#0E5F8F);font-weight:700}

/* categorietegels */
.pfs-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.pfs-cat{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--lijn,#e2e9f0);border-radius:var(--pfs-r);padding:18px;transition:transform .15s,box-shadow .15s,border-color .15s;min-height:100%}
.pfs-cat:hover{transform:translateY(-3px);box-shadow:var(--pfs-sh);border-color:color-mix(in srgb,var(--c) 40%,#fff)}
.pfs-cat-ic{width:50px;height:50px;border-radius:13px;display:flex;align-items:center;justify-content:center;color:var(--c);background:color-mix(in srgb,var(--c) 11%,#fff);margin-bottom:8px}
.pfs-cat-t{font-weight:700;font-size:1.02rem;color:var(--ink,#16202B)}
.pfs-cat-n{font-size:.8rem;font-weight:600;color:var(--c)}
.pfs-cat-s{font-size:.8rem;color:var(--grijs,#566273);line-height:1.45}

/* zoekbalk + filters */
.pfs-shop{display:block}
.pfs-bar{display:flex;gap:12px;align-items:center;margin-bottom:18px;flex-wrap:wrap}
.pfs-zoek{flex:1 1 360px;display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--lijn,#e2e9f0);border-radius:12px;padding:0 14px;min-height:50px;color:var(--grijs,#566273);transition:border-color .15s,box-shadow .15s}
.pfs-zoek:focus-within{border-color:var(--rood,#0E5F8F);box-shadow:0 0 0 4px rgba(14,95,143,.1)}
.pfs-zoek input{flex:1;border:0;outline:0;font:inherit;font-size:16px;background:transparent;color:var(--ink,#16202B);min-width:0;padding:12px 0}
.pfs-bar-r{display:flex;gap:10px;align-items:center}
.pfs-sort select{font:inherit;font-size:.93rem;border:1.5px solid var(--lijn,#e2e9f0);border-radius:12px;padding:0 36px 0 14px;min-height:50px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23566273' stroke-width='2.4'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;-webkit-appearance:none;appearance:none;color:var(--ink,#16202B);cursor:pointer}
.pfs-fknop{display:none;min-height:50px}
.pfs-fteller{background:var(--rood,#0E5F8F);color:#fff;border-radius:999px;font-size:.72rem;min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}
.pfs-fteller[hidden]{display:none}
.pfs-shop-in{display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:start}
.pfs-fp{position:sticky;top:96px;max-height:calc(100vh - 110px);overflow:auto;background:#fff;border:1px solid var(--lijn,#e2e9f0);border-radius:var(--pfs-r);padding:6px 16px 16px;scrollbar-width:thin}
.pfs-fp-kop{display:none}
.pfs-fs{border:0;margin:0;padding:12px 0;border-bottom:1px solid var(--lijn,#e2e9f0)}
.pfs-fs:last-of-type{border-bottom:0}
.pfs-fs legend{font-weight:700;font-size:.9rem;padding:0;margin-bottom:6px;float:left;width:100%}
.pfs-fs legend small{color:var(--grijs,#566273);font-weight:500}
.pfs-ch{display:flex;align-items:center;gap:9px;padding:5px 0;font-size:.88rem;cursor:pointer;line-height:1.3;clear:both}
.pfs-ch input{width:18px;height:18px;flex:0 0 18px;accent-color:var(--rood,#0E5F8F);margin:0}
.pfs-ch span{flex:1}
.pfs-ch em{font-style:normal;font-size:.76rem;color:var(--grijs,#566273);background:var(--licht,#F2F7FA);border-radius:999px;padding:1px 8px}
.pfs-ch:hover span{color:var(--rood,#0E5F8F)}
.pfs-merkzoek{width:100%;font:inherit;font-size:16px;border:1px solid var(--lijn,#e2e9f0);border-radius:9px;padding:8px 10px;margin:2px 0 8px;clear:both}
.pfs-merken{max-height:260px;overflow:auto;padding-right:4px;scrollbar-width:thin}
.pfs-fp-acties{display:flex;flex-direction:column;gap:8px;padding-top:10px}
.pfs-fp-toon{display:none}
.pfs-fp-wis{font-size:.86rem;color:var(--rood,#0E5F8F);font-weight:600;text-align:center;text-decoration:underline}
.pfs-aantal{margin:0 0 12px;color:var(--grijs,#566273);font-size:.92rem}
.pfs-aantal b{color:var(--ink,#16202B)}
.pfs-res{min-width:0}
[data-pfs-res]{transition:opacity .15s}
.pfs-bezig [data-pfs-res]{opacity:.45}
.pfs-chips{display:flex;flex-wrap:wrap;gap:8px}
.pfs-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--lijn,#e2e9f0);background:#fff;border-radius:999px;padding:7px 13px;font-size:.84rem;font-weight:600;color:var(--ink,#16202B);min-height:38px}
.pfs-chip em{font-style:normal;color:var(--grijs,#566273);font-weight:500;font-size:.76rem}
.pfs-chip:hover,.pfs-chip.is-actief{border-color:var(--rood,#0E5F8F);color:var(--rood,#0E5F8F);background:#f3f8fb}

/* productkaarten */
.pfs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:16px}
.pfs-grid-4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.pfs-kaart{display:flex;flex-direction:column;background:#fff;border:1px solid var(--lijn,#e2e9f0);border-radius:var(--pfs-r);overflow:hidden;transition:box-shadow .18s,transform .18s,border-color .18s}
.pfs-kaart:hover{box-shadow:var(--pfs-sh);transform:translateY(-2px);border-color:#cfdbe6}
.pfs-kaart-link{display:block}
.pfs-kaart-media{aspect-ratio:4/3;width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}
.pfs-foto{background:#fff;border-bottom:1px solid #eef2f6}
.pfs-foto img{width:100%!important;height:100%!important;object-fit:contain!important;padding:12px;display:block}
.pfs-tegel{flex-direction:column;gap:10px;color:var(--c);background:linear-gradient(150deg,color-mix(in srgb,var(--c) 9%,#fff),color-mix(in srgb,var(--c) 17%,#fff));border-bottom:1px solid #eef2f6}
.pfs-tegel-merk{font-weight:800;font-size:.95rem;color:color-mix(in srgb,var(--c) 75%,#16202B);letter-spacing:.01em;text-align:center;padding:0 10px}
.pfs-kaart-body{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1}
.pfs-merk{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--rood,#0E5F8F)}
.pfs-kaart-t{font-size:1.02rem;margin:3px 0 8px;line-height:1.3}
.pfs-kaart-t a:hover{color:var(--rood,#0E5F8F)}
.pfs-kaart-t a::after{content:""}
.pfs-specs-k{list-style:none;margin:0 0 12px;padding:0;font-size:.8rem;color:var(--grijs,#566273);display:grid;gap:4px;line-height:1.4}
.pfs-specs-k li{display:block;overflow-wrap:anywhere}
.pfs-specs-k span{font-weight:700;color:var(--ink,#16202B)}
.pfs-specs-k span::after{content:": "}
.pfs-kaart-voet{margin-top:auto;display:flex;flex-direction:column;align-items:stretch;gap:8px;padding-top:10px;border-top:1px dashed var(--lijn,#e2e9f0)}
.pfs-prijs b{display:inline;font-size:.95rem;margin-right:6px;color:var(--ink,#16202B)}
.pfs-prijs small{display:inline;font-size:.72rem;color:var(--grijs,#566273)}
.pfs-add{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;background:var(--rood,#0E5F8F);color:#fff;font:inherit;font-weight:700;font-size:.8rem;border-radius:9px;padding:0 12px;min-height:40px;cursor:pointer;white-space:nowrap;transition:background .15s}
.pfs-add:hover{background:var(--rood-d,#0A4567)}
.pfs-add.is-op{background:#13A89A}
.pfs-leeg{text-align:center;background:#fff;border:1px dashed #cfd9e3;border-radius:var(--pfs-r);padding:40px 22px}
.pfs-leeg h3,.pfs-leeg h1{margin:8px 0 6px}
.pfs-leeg p{color:var(--grijs,#566273);max-width:560px;margin:0 auto 16px}
.pfs-leeg-ic{width:60px;height:60px;border-radius:50%;background:var(--licht,#F2F7FA);color:var(--rood,#0E5F8F);display:inline-flex;align-items:center;justify-content:center}
.pfs-pag{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:26px}
.pfs-pag a,.pfs-pag span{min-width:42px;min-height:42px;padding:0 12px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;border:1px solid var(--lijn,#e2e9f0);background:#fff}
.pfs-pag a:hover{border-color:var(--rood,#0E5F8F);color:var(--rood,#0E5F8F)}
.pfs-pag .pfs-pag-cur{background:var(--rood,#0E5F8F);color:#fff;border-color:var(--rood,#0E5F8F)}
.pfs-pag .pfs-pag-dots{border:0;background:none;min-width:20px}

/* info / faq */
.pfs-info{display:grid;grid-template-columns:1.4fr 1fr;gap:34px;align-items:start}
.pfs-info h2{font-size:1.6rem;margin:0 0 16px}
.pfs-faq{border:1px solid var(--lijn,#e2e9f0);border-radius:12px;padding:14px 16px;margin:0 0 10px;background:#fff}
.pfs-faq summary{font-weight:700;cursor:pointer}
.pfs-faq p{margin:10px 0 0;color:var(--grijs,#566273);line-height:1.6}
.pfs-info-kaart{background:var(--licht,#F2F7FA);border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:10px}
.pfs-info-kaart h3{margin:0;font-size:1.2rem}
.pfs-info-kaart p{margin:0 0 4px;color:var(--grijs,#566273)}
.pfs-cat-onder{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.pfs-cat-onder h2,.pfs-pd-onder h2{font-size:1.45rem;margin:0 0 16px}
.pfs-andere{display:flex;flex-wrap:wrap;gap:8px}
.pfs-andere a{background:#fff;border:1px solid var(--lijn,#e2e9f0);border-radius:999px;padding:8px 14px;font-weight:600;font-size:.86rem;min-height:40px;display:inline-flex;align-items:center}
.pfs-andere a:hover{border-color:var(--rood,#0E5F8F);color:var(--rood,#0E5F8F)}

/* productpagina */
.pfs-pd{padding-top:18px!important}
.pfs-pd-in{display:grid;grid-template-columns:1.05fr 1fr;gap:44px;align-items:start}
.pfs-pd-media{position:sticky;top:100px}
.pfs-pd-beeld{aspect-ratio:1/1;border-radius:20px;border:1px solid var(--lijn,#e2e9f0);overflow:hidden;display:flex;align-items:center;justify-content:center}
.pfs-pd-beeld.pfs-foto img{padding:28px}
.pfs-pd-beeld.pfs-tegel .pfs-tegel-merk{font-size:1.4rem}
.pfs-pd-fotobron{font-size:.78rem;color:var(--grijs,#566273);margin:8px 2px 0}
.pfs-merk-link{display:inline-block}
.pfs-merk-link:hover{text-decoration:underline}
.pfs-pd-info h1{font-size:2.1rem;margin:6px 0 4px}
.pfs-pd-type{color:var(--grijs,#566273);font-weight:600;margin:0 0 14px}
.pfs-pd-oms{color:var(--ink,#16202B);line-height:1.65;margin:0 0 20px}
.pfs-pd-koop{background:#fff;border:1px solid var(--lijn,#e2e9f0);border-radius:18px;padding:20px;box-shadow:var(--pfs-sh);display:flex;flex-direction:column;gap:12px}
.pfs-prijs-xl b{font-size:1.5rem;display:block}
.pfs-prijs-xl small{font-size:.84rem;display:block}
.pfs-pd-acties{display:flex;gap:10px;flex-wrap:wrap}
.pfs-pd-acties .pfs-btn{flex:1 1 180px}
.pfs-aantal-k{display:inline-flex;align-items:center;border:1.5px solid var(--lijn,#e2e9f0);border-radius:10px;overflow:hidden;min-height:46px}
.pfs-aantal-k button{width:42px;height:46px;border:0;background:#f6f8fa;font-size:1.2rem;font-weight:700;cursor:pointer;color:var(--ink,#16202B)}
.pfs-aantal-k button:hover{background:#eaf1f7}
.pfs-aantal-k input{width:46px;height:46px;border:0;text-align:center;font:inherit;font-size:16px;font-weight:700;-moz-appearance:textfield;appearance:textfield}
.pfs-aantal-k input::-webkit-outer-spin-button,.pfs-aantal-k input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pfs-usp{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:6px;font-size:.88rem;color:var(--grijs,#566273)}
.pfs-usp li{display:flex;gap:8px;align-items:center}
.pfs-usp svg{color:#13A89A;flex:0 0 auto}
.pfs-pd-bel{margin:14px 0 0;font-size:.92rem;color:var(--grijs,#566273)}
.pfs-pd-onder{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:start}
.pfs-spectabel{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden;border:1px solid var(--lijn,#e2e9f0);font-size:.92rem}
.pfs-spectabel th,.pfs-spectabel td{text-align:left;vertical-align:top;padding:11px 14px;border-bottom:1px solid #edf1f5;line-height:1.5}
.pfs-spectabel tr:last-child th,.pfs-spectabel tr:last-child td{border-bottom:0}
.pfs-spectabel th{width:34%;font-weight:700;background:#fafcfd}
.pfs-spectabel td{overflow-wrap:anywhere}
.pfs-spectabel a{color:var(--rood,#0E5F8F);font-weight:600;text-decoration:underline}
.pfs-noot{font-size:.84rem;color:var(--grijs,#566273);margin:12px 0 0;line-height:1.55}
.pfs-bron{display:inline-flex;align-items:center;gap:7px;margin-top:12px;font-weight:700;color:var(--rood,#0E5F8F);text-decoration:underline;text-underline-offset:2px}
.pfs-pd-hoe{background:#fff;border-radius:18px;padding:24px;border:1px solid var(--lijn,#e2e9f0)}

/* offertelijst-pagina */
.pfs-ol{padding-top:14px!important}
.pfs-ol-in{display:grid;grid-template-columns:1.35fr 1fr;gap:36px;align-items:start}
.pfs-ol h1{font-size:2rem;margin:0 0 6px}
.pfs-lead-d{color:var(--grijs,#566273);margin:0 0 20px}
.pfs-laden{color:var(--grijs,#566273)}
.pfs-olrij{display:grid;grid-template-columns:72px 1fr auto auto;gap:14px;align-items:center;padding:12px;border:1px solid var(--lijn,#e2e9f0);border-radius:14px;background:#fff;margin-bottom:10px}
.pfs-olrij-m{width:72px;height:72px;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--licht,#F2F7FA);color:var(--rood,#0E5F8F)}
.pfs-olrij-m img{width:100%!important;height:100%!important;object-fit:contain!important;background:#fff;padding:4px}
.pfs-olrij-t{min-width:0}
.pfs-olrij-t small{display:block;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--rood,#0E5F8F)}
.pfs-olrij-t a{font-weight:700;line-height:1.3;display:block}
.pfs-olrij-t a:hover{color:var(--rood,#0E5F8F)}
.pfs-olrij-t span{font-size:.8rem;color:var(--grijs,#566273)}
.pfs-x{border:0;background:none;color:var(--grijs,#566273);width:40px;height:40px;border-radius:9px;cursor:pointer;font-size:1rem}
.pfs-x:hover{background:#fdecea;color:#c0392b}
.pfs-ol-som{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px;font-size:.9rem;color:var(--grijs,#566273)}
.pfs-ol-som button{border:0;background:none;color:var(--grijs,#566273);text-decoration:underline;cursor:pointer;font:inherit;font-size:.86rem;min-height:40px}
.pfs-ol-form{position:sticky;top:96px}
.pfs-form,.pfs-ok{background:#fff;border:1px solid var(--lijn,#e2e9f0);border-radius:18px;padding:24px;box-shadow:var(--pfs-sh);display:flex;flex-direction:column;gap:12px}
.pfs-form h2,.pfs-ok h2{font-size:1.35rem;margin:0}
.pfs-lbl{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:.88rem}
.pfs-in{font:inherit;font-size:16px;font-weight:400;padding:12px;border:1.5px solid #d8dce3;border-radius:10px;width:100%;background:#fff;color:var(--ink,#16202B)}
.pfs-in:focus{outline:0;border-color:var(--rood,#0E5F8F);box-shadow:0 0 0 4px rgba(14,95,143,.1)}
.pfs-in[aria-invalid="true"]{border-color:#c0392b}
.pfs-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px}
.pfs-fout{background:#fdecea;color:#8e2a1f;border-radius:10px;padding:10px 12px;font-size:.88rem;margin:0}
.pfs-fout[hidden],.pfs-ok[hidden],.pfs-form[hidden]{display:none}
.pfs-ok{align-items:center;text-align:center}
.pfs-ok p{color:var(--grijs,#566273);margin:0}
.pfs-ok-ic{width:64px;height:64px;border-radius:50%;background:#13A89A;color:#fff;display:flex;align-items:center;justify-content:center}

/* zijbalk */
.pfs-drawer-bg{position:fixed;inset:0;background:rgba(16,24,34,.45);z-index:2147483600;opacity:0;transition:opacity .2s}
.pfs-drawer-bg.is-open{opacity:1}
.pfs-drawer-bg[hidden],.pfs-drawer[hidden]{display:none}
.pfs-drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:#fff;z-index:2147483601;display:flex;flex-direction:column;box-shadow:-20px 0 60px rgba(0,0,0,.2);transform:translateX(100%);transition:transform .25s ease;font-family:'Poppins',system-ui,sans-serif;color:var(--ink,#16202B)}
.pfs-drawer.is-open{transform:none}
.pfs-drawer-kop{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--lijn,#e2e9f0)}
.pfs-drawer-kop h2{font-size:1.15rem;margin:0;display:flex;align-items:center;gap:8px;color:var(--ink,#16202B)}
.pfs-drawer-x{border:0;background:var(--licht,#F2F7FA);width:44px;height:44px;border-radius:10px;cursor:pointer;font-size:1rem;color:var(--ink,#16202B)}
.pfs-drawer-msg{margin:0;padding:10px 18px;background:#e8f7f5;color:#0d6e65;font-weight:600;font-size:.88rem}
.pfs-drawer-msg:empty{display:none}
.pfs-drawer-lijst{list-style:none;margin:0;padding:10px 18px;overflow:auto;flex:1}
.pfs-drawer-lijst li{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #eef2f6}
.pfs-drawer-lijst .pfs-olrij-m{width:52px;height:52px}
.pfs-drawer-lijst a{font-weight:700;font-size:.9rem;line-height:1.3}
.pfs-drawer-lijst small{display:block;color:var(--grijs,#566273);font-size:.74rem}
.pfs-drawer-leeg{color:var(--grijs,#566273);padding:24px 0!important;display:block!important;border:0!important;text-align:center}
.pfs-drawer-voet{padding:16px 18px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--lijn,#e2e9f0);display:flex;flex-direction:column;gap:10px}
.pfs-drawer-note{margin:0;font-size:.78rem;color:var(--grijs,#566273);text-align:center}
.pfs-qty-s{display:inline-flex;align-items:center;border:1px solid var(--lijn,#e2e9f0);border-radius:9px;overflow:hidden}
.pfs-qty-s button{width:34px;height:36px;border:0;background:#f6f8fa;cursor:pointer;font-weight:700;font-size:1rem;color:var(--ink,#16202B)}
.pfs-qty-s span{min-width:30px;text-align:center;font-weight:700;font-size:.9rem}
html.pfs-lock,html.pfs-lock body{overflow:hidden}

/* responsief */
@media(max-width:1100px){
  .pfs-shop-in{grid-template-columns:1fr}
  .pfs-fknop{display:inline-flex}
  .pfs-fp{display:none;position:fixed;inset:0 0 0 auto;top:0;width:min(380px,100%);max-height:none;height:100%;z-index:2147483601;border-radius:0;padding:0 18px;box-shadow:-20px 0 60px rgba(0,0,0,.2)}
  .pfs-fp.is-open{display:block}
  .pfs-fp-kop{display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:#fff;padding:16px 0 10px;z-index:1;border-bottom:1px solid var(--lijn,#e2e9f0)}
  .pfs-fp-sluit{border:0;background:var(--licht,#F2F7FA);width:44px;height:44px;border-radius:10px;cursor:pointer;color:var(--ink,#16202B)}
  .pfs-fp-toon{display:inline-flex}
  .pfs-fp-acties{position:sticky;bottom:0;background:#fff;padding:12px 0 calc(6px + env(safe-area-inset-bottom))}
  .pfs-merken{max-height:none}
}
@media(max-width:960px){
  .pfs-hero-in,.pfs-info,.pfs-cat-onder,.pfs-pd-in,.pfs-pd-onder,.pfs-ol-in{grid-template-columns:1fr;gap:26px}
  .pfs-hero-ic{display:none}
  .pfs-pd-media,.pfs-ol-form{position:static}
  .pfs-pd-beeld{aspect-ratio:4/3}
}
@media(max-width:620px){
  .pfs .wrap{padding-left:16px;padding-right:16px}
  .pfs-hero{padding:16px 0 32px!important}
  .pfs-hero h1{font-size:1.75rem}
  .pfs-lead{font-size:.98rem}
  .pfs-hero-cta .pfs-btn{flex:1 1 100%}
  .pfs-hero-kaart{padding:20px 18px 6px}
  .pfs-sec{padding:36px 0!important}
  .pfs-sec-kop h2{font-size:1.5rem}
  .pfs-cats{grid-template-columns:1fr 1fr;gap:10px}
  .pfs-cat{padding:14px}
  .pfs-cat-s{display:none}
  .pfs-cat-ic{width:42px;height:42px}
  .pfs-bar{gap:10px}
  .pfs-zoek{flex:1 1 100%}
  .pfs-bar-r{width:100%}
  .pfs-bar-r>*{flex:1}
  .pfs-sort select{width:100%}
  .pfs-grid,.pfs-grid-4{grid-template-columns:1fr 1fr;gap:10px}
  .pfs-kaart-body{padding:10px 11px 12px}
  .pfs-kaart-t{font-size:.92rem}
  .pfs-specs-k{display:none}
  .pfs-prijs small{display:block}
  .pfs-add{justify-content:center;font-size:.78rem;padding:0 8px}
  .pfs-tegel svg{width:40px;height:40px}
  .pfs-tegel-merk{font-size:.82rem}
  .pfs-pd-info h1{font-size:1.6rem}
  .pfs-pd-acties .pfs-btn{flex:1 1 100%}
  .pfs-aantal-k{width:100%;justify-content:space-between}
  .pfs-aantal-k input{flex:1}
  .pfs-spectabel th{width:40%}
  .pfs-olrij{grid-template-columns:56px 1fr auto;gap:10px}
  .pfs-olrij-m{width:56px;height:56px}
  .pfs-olrij .pfs-qty-s{grid-column:2/3;justify-self:start}
  .pfs-olrij .pfs-x{grid-row:1;grid-column:3}
  .pfs-ol h1{font-size:1.6rem}
}
@media(prefers-reduced-motion:reduce){.pfs *,.pfs-drawer{transition:none!important;animation:none!important}}
