:root{--bg:#F6F7F8;--bg2:#FFFFFF;--panel:#fff;--panel2:#F0F2F3;--tile:#EDEFF1;--ink:#15171C;--ink-soft:#3A3F45;--muted:#6B7178;--gold:#B4862B;--gold-deep:#8A6414;--gold-soft:#F7EFD9;--accent:#8A6414;--line:#E7E9EC;--line2:#DDE0E4;--good:#2F9E44;--radius:16px;--maxw:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:'Plus Jakarta Sans',system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{margin:0;font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;letter-spacing:-.02em;line-height:1.06}
a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:8px}
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:24px;padding-right:24px}
.eyebrow{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-deep);font-weight:800}
.btn{border:none;border-radius:12px;padding:14px 24px;font-weight:700;font-size:15.5px;display:inline-flex;align-items:center;gap:9px;justify-content:center;transition:.14s;line-height:1}
.btn.primary{background:var(--gold-deep);color:#fff;box-shadow:0 6px 16px rgba(138,100,20,.22)}
.btn.primary:hover{background:#6f5010;transform:translateY(-1px)}
.btn.ghost{background:#fff;border:1px solid var(--line2);color:var(--ink)}.btn.ghost:hover{border-color:var(--ink);transform:translateY(-1px)}
.btn.big{padding:16px 30px;font-size:16.5px;border-radius:13px}
header.top{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:22px;height:72px}
.logo{display:flex;align-items:center;gap:9px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:29px;letter-spacing:-.02em}.logo b{color:var(--gold)}
.crown{width:37px;height:31px}
.mainnav{display:flex;gap:4px;margin-left:8px;flex-wrap:nowrap;min-width:0}
.mainnav a{padding:9px 14px;border-radius:10px;font-size:var(--navfs,15.5px);font-weight:600;color:var(--muted);white-space:nowrap}
.mainnav a:hover{background:var(--panel2);color:var(--ink)}
.top .btn{margin-left:auto}
main{min-height:60vh}
.hero{position:relative;border-bottom:1px solid var(--line);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 90% at 82% 8%,var(--gold-soft),transparent 60%)}
.herogrid{position:relative;display:grid;grid-template-columns:1.18fr .82fr;column-gap:44px;align-items:center;padding:44px 24px;grid-template-areas:"head stage" "cta stage" "trust stage"}
.herogrid .hero-head{grid-area:head}.herogrid .stage{grid-area:stage}.herogrid .cta-row{grid-area:cta;margin-top:26px}.herogrid .trust{grid-area:trust}
.hero h1{font-size:clamp(34px,4.7vw,52px);font-weight:800;line-height:1.06;letter-spacing:-.03em}.hero h1 em{font-style:normal;color:var(--gold-deep);font-weight:800}
.hero h1 .hl2{color:var(--gold-deep)}
@media(min-width:861px){.hero h1 .hl1,.hero h1 .hl2{display:block;white-space:nowrap}}
.lead{font-size:18px;color:var(--ink-soft);max-width:40ch;margin:24px 0 28px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap}
.trust{display:flex;gap:12px 24px;margin-top:30px;flex-wrap:wrap;color:var(--ink-soft);font-weight:500;font-size:13.5px}
.stage{aspect-ratio:1/1;width:90%;margin:0 auto;display:grid;place-items:center;border-radius:24px;background:radial-gradient(circle at 50% 40%,var(--gold-soft),transparent 60%),var(--panel2);border:1px solid var(--line)}
.stage .shirt{width:94%;filter:drop-shadow(0 18px 30px rgba(0,0,0,.12))}
.sec{padding-top:66px;padding-bottom:66px}
.sechead{margin-bottom:30px}.sechead h2{font-size:clamp(26px,3.6vw,40px);font-weight:800;letter-spacing:-.025em}.sechead p{color:var(--muted);margin:10px 0 0;max-width:56ch}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:24px;transition:.2s}
.catcard{display:flex;flex-direction:column;min-height:200px}
.catcard .arrow{margin-top:auto}
.catcard-h{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.catico{width:46px;height:46px;border-radius:13px;background:var(--gold-soft);color:var(--gold-deep);display:grid;place-items:center;flex:none}
.catico .ico{width:25px;height:25px}
.catcard:hover,.prodcard:hover{border-color:var(--line2);transform:translateY(-4px);box-shadow:0 16px 36px rgba(21,23,28,.09)}
.catcard h3,.prodcard h3{font-size:19px;font-weight:700;letter-spacing:-.01em}.catcard p{font-size:13.5px;color:var(--muted);margin:6px 0 14px}
.arrow{font-size:13px;color:var(--gold-deep);font-weight:600}
.prodcard{position:relative;display:flex;flex-direction:column}
.tier{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 9px;border-radius:999px;margin-bottom:10px}
.tier-budget{background:#eef3f0;color:#3a6d55}.tier-basic{background:#eef1fb;color:#3a55c9}.tier-premium{background:var(--gold-soft);color:var(--gold-deep)}
.brand{font-size:12.5px;color:var(--muted)}
.cardfoot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:14px}
.price b{font-family:'Plus Jakarta Sans';font-weight:800;font-size:19px;color:var(--ink)}.price.big{font-size:16px;margin:14px 0}.price.big b{font-size:27px;color:var(--gold-deep)}.ex{font-size:12px;color:var(--muted)}
.band{background:linear-gradient(180deg,var(--bg2),#fff);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.uspgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.usp{display:flex;align-items:center;gap:14px;padding:30px 26px;position:relative}
.usp:not(:last-child)::after{content:"";position:absolute;right:0;top:26px;bottom:26px;width:1px;background:var(--line)}
.usp-ic{display:inline-flex;width:44px;height:44px;flex:none;align-items:center;justify-content:center;background:var(--gold-soft);color:var(--gold-deep);border-radius:12px}
.usp-t{display:flex;flex-direction:column;gap:3px;min-width:0}
.usp-t b{font-family:'Plus Jakarta Sans';font-size:16px;font-weight:800;line-height:1.2;display:block}
.usp-t span{font-size:12.5px;color:var(--muted);line-height:1.45}
.crumbs{font-size:13px;color:var(--muted);margin-bottom:20px}.crumbs a{color:var(--gold-deep)}
.mt{margin-top:26px}
.modelgrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:center}
.swatches{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0}.sw{width:22px;height:22px;border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.thero{border-radius:22px;padding:52px;background:radial-gradient(90% 120% at 85% 0%,var(--gold-soft),transparent 55%),var(--bg2);border:1px solid var(--line)}
.thero h1{font-size:clamp(28px,4vw,46px);font-weight:800;letter-spacing:-.025em}.thero h1 em{font-style:normal;color:var(--gold-deep);font-weight:800}
.formcard{border:1px solid var(--line);border-radius:var(--radius);padding:24px;max-width:520px;display:flex;flex-direction:column;gap:12px}
.formcard input,.formcard textarea{border:1px solid var(--line2);border-radius:10px;padding:10px 12px;font:inherit}
.foot{background:var(--bg2);border-top:1px solid var(--line);padding:52px 0 30px;margin-top:40px}
.footgrid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr 1fr;gap:30px}
.footbrand{display:flex;align-items:center;gap:9px;font-family:'Plus Jakarta Sans';font-weight:800;font-size:30px;letter-spacing:-.02em;color:var(--ink)}
.footbrand b{color:var(--gold)}
.foot h5{font-size:16.5px;margin:9px 0 14px}.foot a{display:block;font-size:15px;padding:4px 0;color:var(--muted)}.foot a:hover{color:var(--gold-deep)}
.foot p{color:var(--muted);font-size:13.5px;max-width:34ch}
.footnote{border-top:1px solid var(--line);margin-top:26px;padding-top:18px;font-size:12.5px;color:var(--muted)}
/* wizard */
.wizhead h1{font-size:clamp(30px,4vw,48px);font-weight:400}.wizhead p{color:var(--muted);margin:8px 0 0}
.wizrail{display:flex;gap:8px;margin:24px 0 28px;flex-wrap:wrap}
.railstep{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:9px 15px 9px 9px;font-size:13.5px;font-weight:500;color:var(--muted)}
.railstep .rn{width:26px;height:26px;border-radius:50%;background:var(--panel2);display:grid;place-items:center;font-size:13px;font-family:'JetBrains Mono'}
.railstep.active{border-color:var(--gold);color:var(--ink)}.railstep.active .rn{background:var(--ink);color:#fff}
.railstep.done{color:var(--ink-soft)}.railstep.done .rn{background:var(--good);color:#fff}
.wizgrid{display:grid;grid-template-columns:1fr 360px;gap:34px;align-items:start;padding-bottom:120px}
.wizmain{min-height:340px}
.stephead{margin-bottom:20px}.stephead h3{font-size:25px;font-weight:500}.stephead p{color:var(--muted);margin:6px 0 0}
.pickgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.pick{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:16px;text-align:left;transition:.15s;display:flex;flex-direction:column;gap:4px}
.pick:hover{border-color:var(--line2);transform:translateY(-3px);box-shadow:0 12px 26px rgba(0,0,0,.06)}
.pick.on{border-color:var(--gold);background:var(--gold-soft)}
.pick b{font-size:15.5px}.pick span{font-size:12.5px;color:var(--muted)}.pick em{font-style:normal;font-family:'Plus Jakarta Sans';color:var(--gold-deep);margin-top:6px}
.colorgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.colorpick{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-weight:500;background:var(--panel)}
.colorpick.on{border-color:var(--gold);background:var(--gold-soft)}.colorpick .cs{width:26px;height:26px;border-radius:8px;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.sizegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:11px}
.sizecell{border:1px solid var(--line);border-radius:12px;padding:10px;text-align:center;background:var(--panel)}
.sizecell .lbl{font-size:13px;font-weight:700}.sizecell .sur{font-size:10px;color:var(--muted);height:12px}
.sizecell input{width:100%;border:none;border-top:1px solid var(--line);margin-top:8px;padding-top:8px;text-align:center;font-family:'JetBrains Mono';font-weight:700;font-size:16px;background:none}
.sizecell input:focus{outline:none;color:var(--gold-deep)}.sizecell.has{border-color:var(--gold);background:var(--gold-soft)}
.staffel-bar{display:flex;gap:5px;margin-top:18px}.staffel-bar .s{flex:1;text-align:center;font-size:10.5px;padding:7px 2px;border-radius:8px;background:var(--panel2);color:var(--muted);font-family:'JetBrains Mono';font-weight:700}.staffel-bar .s.on{background:var(--ink);color:#fff}
.qtytotal{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:16px;border-top:1px dashed var(--line2);font-weight:600}.qtytotal b{font-size:20px;color:var(--gold-deep)}
.side-toggle{display:flex;gap:6px;justify-content:center;margin-bottom:14px}
.side-toggle button{border:1px solid var(--line2);background:#fff;border-radius:999px;padding:7px 18px;font-weight:600;font-size:13px}.side-toggle button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.poslist{display:flex;flex-direction:column;gap:11px}
.posrow{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:13px;padding:14px 16px;background:var(--panel);text-align:left}
.posrow.on{border-color:var(--good)}.posrow .dot{width:9px;height:9px;border-radius:50%;background:var(--line2)}.posrow.on .dot{background:var(--good)}
.posrow .nm{font-weight:600;font-size:15px}.posrow .nm small{display:block;font-size:11px;color:var(--muted);font-weight:400}
.posrow .selbox{margin-left:auto;width:28px;height:28px;border-radius:50%;border:1px solid var(--line2);display:grid;place-items:center;color:var(--muted)}
.posrow.on .selbox{background:var(--good);border-color:var(--good);color:#fff}
.ovz{border:1px solid var(--line);border-radius:16px;background:var(--panel)}.ovz .obody{padding:22px}
.oline{display:flex;justify-content:space-between;gap:18px;padding:7px 0;color:var(--ink-soft)}.oline b{color:var(--ink)}
.oline.tot{border-top:1px solid var(--line);margin-top:10px;padding-top:14px;font-size:17px;font-weight:700}.oline.tot b{font-family:'Plus Jakarta Sans';font-size:22px;color:var(--gold-deep)}
.perpiece{text-align:right;color:var(--muted);font-size:13px;margin-top:4px}
.savebox{background:var(--gold-soft);border-radius:12px;padding:14px 16px;font-size:13.5px;margin-top:16px}
.filenote{background:var(--panel2);border-radius:12px;padding:14px 16px;font-size:13px;color:var(--ink-soft);margin-top:14px}
.wizaside{position:sticky;top:88px}
.asidecard{border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:20px;box-shadow:0 18px 44px rgba(0,0,0,.08)}
.asidetitle{font-family:'JetBrains Mono';font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.sumrow{display:flex;justify-content:space-between;gap:10px;padding:6px 0;font-size:13.5px;color:var(--ink-soft)}.sumrow b{color:var(--ink)}
.sumtotal{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);margin-top:12px;padding-top:14px}.sumtotal .amt{font-family:'Plus Jakarta Sans';font-size:26px;color:var(--gold-deep)}
.sumper{text-align:right;font-size:12px;color:var(--muted)}.asidenote{font-size:11.5px;color:var(--muted);text-align:center;margin-top:12px}
.wizbar{position:fixed;left:0;right:0;bottom:0;z-index:55;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-top:1px solid var(--line);box-shadow:0 -8px 26px rgba(0,0,0,.05)}
.wizbar .inner{display:flex;align-items:center;gap:16px;padding:14px 26px}.wizbar .grow{flex:1}
.wizbar-total b{font-family:'Plus Jakarta Sans';font-size:22px;color:var(--gold-deep);display:block}.wizbar-total span{font-size:11.5px;color:var(--muted)}
@media(max-width:980px){.herogrid,.modelgrid{grid-template-columns:1fr}.cards,.uspgrid,.pickgrid{grid-template-columns:repeat(2,1fr)}.footgrid{grid-template-columns:1fr 1fr}.wizgrid{grid-template-columns:1fr}.wizaside{display:none}.mainnav{display:none}}
@media(max-width:980px){.herogrid{grid-template-areas:"head" "stage" "trust" "cta";row-gap:0}.herogrid .stage{margin-top:14px;width:100%;max-width:none}.herogrid .trust{margin-top:22px;justify-content:center;text-align:center}.herogrid .cta-row{margin-top:18px}}
@media(max-width:640px){.herogrid{padding-top:20px}.herogrid .stage{width:100%;max-width:none;margin-top:10px}}

/* ===== CMS: categorie-kaarten + productpagina ===== */
.pcimg{aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:var(--panel2);margin-bottom:12px}
.pcimg img{width:100%;height:100%;object-fit:cover}
.prose{max-width:70ch;line-height:1.7}.prose p{margin:0 0 14px}.prose h2,.prose h3{margin:24px 0 10px}
.pdp{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:start;margin-top:8px}
.pdp-main{border-radius:16px;overflow:hidden;background:var(--panel2);border:1px solid var(--line);aspect-ratio:1/1;display:grid;place-items:center}
.pdp-main img{width:100%;height:100%;object-fit:cover}
.pdp-ph{color:var(--muted);font-size:14px}
.pdp-thumbs{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.pdp-thumb{width:64px;height:64px;border-radius:10px;overflow:hidden;border:2px solid var(--line);background:none;padding:0;cursor:pointer}
.pdp-thumb.on{border-color:var(--gold-deep)}
.pdp-thumb img{width:100%;height:100%;object-fit:cover}
.pdp-title{font-size:clamp(26px,3.4vw,40px);font-weight:800;letter-spacing:-.02em;margin:6px 0}
.pdp-price{font-size:16px;margin:6px 0 18px}.pdp-price b{font-size:30px;color:var(--gold-deep);font-weight:800}
.pdp-block{margin:16px 0}
.pdp-lbl{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);margin-bottom:8px}
.pdp-block .req{color:#c0392b}
.pdp .swatches .cswatch{width:34px;height:34px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line2);cursor:pointer;padding:0}
.pdp .swatches .cswatch.on{box-shadow:0 0 0 2px var(--gold-deep)}
.pdp-colname{margin-left:8px;font-weight:600}
.optswatches{display:flex;gap:10px;flex-wrap:wrap}
.optsw{display:flex;flex-direction:column;align-items:center;gap:5px;border:2px solid var(--line2);border-radius:12px;padding:8px;background:#fff;cursor:pointer;min-width:78px}
.optsw.on{border-color:var(--gold-deep)}
.optsw img{width:56px;height:56px;object-fit:cover;border-radius:8px}
.optsw span{font-size:12px;font-weight:600}
.chkbig{display:inline-flex;align-items:center;gap:8px;font-weight:600}
.optctl{max-width:340px}
.tiertbl{border-collapse:collapse;font-size:14px}.tiertbl th,.tiertbl td{border:1px solid var(--line2);padding:7px 12px;text-align:center}
.tiertbl th{background:var(--panel2);font-weight:700;font-size:12px;color:var(--muted)}
.tiertbl td{font-weight:800;color:var(--gold-deep);font-family:'JetBrains Mono',monospace}
.pdp-desc{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}
@media(max-width:820px){.pdp{grid-template-columns:1fr;gap:24px}}

/* ===== winkelwagen + checkout ===== */
.topcta{margin-left:auto;display:flex;align-items:center;gap:12px}
.cartbtn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line2);border-radius:11px;color:var(--gold-deep);background:#fff}
.cartbtn:hover{border-color:var(--ink)}
.cartcount{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--gold-deep);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;border:2px solid #fff}
.tk-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);background:var(--ink);color:#fff;padding:13px 18px;border-radius:12px;font-weight:600;font-size:14px;box-shadow:0 14px 34px rgba(0,0,0,.25);opacity:0;transition:.28s;z-index:200;display:flex;gap:12px;align-items:center}
.tk-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.tk-toast a{color:var(--gold-hi,#e6c27a);font-weight:700}
/* winkelwagen-regels */
.cartlist{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}
.cartline{display:grid;grid-template-columns:64px 1fr auto auto 32px;align-items:center;gap:14px;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:#fff}
.cl-img{width:64px;height:64px;border-radius:9px;overflow:hidden;background:var(--panel2)}
.cl-img img{width:100%;height:100%;object-fit:cover}
.cl-info{display:flex;flex-direction:column;gap:3px}.cl-info b{font-weight:700}.cl-info .muted{font-size:13px}
.cl-qty{display:inline-flex;align-items:center;border:1px solid var(--line2);border-radius:9px;overflow:hidden}
.cl-qty button{width:32px;height:34px;border:none;background:#fff;font-size:16px;cursor:pointer;color:var(--ink)}
.cl-qty button:hover{background:var(--panel2)}
.cl-qty input{width:44px;border:none;text-align:center;font-weight:700;font-family:'JetBrains Mono',monospace;height:34px}
.cl-price{font-weight:800;font-family:'JetBrains Mono',monospace;min-width:80px;text-align:right}
.cl-rm{width:30px;height:30px;border:none;background:none;color:var(--muted);font-size:20px;cursor:pointer;border-radius:7px}
.cl-rm:hover{background:#f7e9e6;color:#c0392b}
.cartsum{border:1px solid var(--line);border-radius:14px;padding:20px;max-width:420px;margin-left:auto}
.cs-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;font-size:14.5px}
.cs-row.tot{border-top:1px solid var(--line);margin-top:8px;padding-top:12px;font-size:18px}
.cs-row b{font-family:'JetBrains Mono',monospace}
.cartsum .btn{width:100%;margin-top:14px}
/* checkout stappen */
.costeps{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.costep{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px;color:var(--muted);padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:#fff}
.costep .cn{width:22px;height:22px;border-radius:50%;background:var(--panel2);display:grid;place-items:center;font-size:12px;font-weight:800}
.costep.on{color:var(--gold-deep);border-color:var(--gold-deep)}.costep.on .cn{background:var(--gold-deep);color:#fff}
.costep.done{color:var(--good)}.costep.done .cn{background:var(--good);color:#fff}
.cocols{display:grid;grid-template-columns:1fr 340px;gap:26px;align-items:start}
.comain{min-width:0}
.cogrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cofield{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600}
.cofield .in{font-weight:400}
.cofield .req{color:#c0392b}
.coradios{display:flex;flex-direction:column;gap:10px}
.coradio{display:flex;align-items:center;gap:12px;border:1.5px solid var(--line2);border-radius:12px;padding:14px 16px;cursor:pointer}
.coradio.on{border-color:var(--gold-deep);background:var(--gold-soft)}
.coradio input{width:18px;height:18px;flex:none}
.coradio b{display:block}.coradio .muted{font-size:13px}
.conav{display:flex;justify-content:space-between;gap:12px;margin-top:22px}
.coerr,.req{color:#c0392b;font-size:13.5px;font-weight:600}
.coaside{position:sticky;top:90px}
.cosum h3{font-size:16px;margin:0 0 12px}
/* single col fields */
.cogrid .cofield:nth-child(3),.cogrid .cofield:nth-child(6),.cogrid .cofield:nth-child(12){grid-column:1/-1}
@media(max-width:820px){.cocols{grid-template-columns:1fr}.cogrid{grid-template-columns:1fr}.coaside{position:static}.cartline{grid-template-columns:52px 1fr auto;grid-row-gap:8px}.cl-price{grid-column:2/4;text-align:left}.cl-rm{grid-column:3}}
/* bevestiging */
.confirm{max-width:640px;margin:0 auto;text-align:center}
.confirm-ic{width:64px;height:64px;border-radius:50%;background:var(--good);color:#fff;display:grid;place-items:center;margin:0 auto 16px}
.confirm h1{font-size:clamp(26px,3.4vw,38px)}
.confirm-card{text-align:left;margin:24px 0}
.cc-h{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:10px}
.cc-line{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:14.5px}
.cc-line.tot{border-top:1px solid var(--line);margin-top:8px;padding-top:10px;font-size:17px}

/* ===== configurator: soepele overgangen ===== */
#stepBody.stepin{animation:stepIn .17s ease}
@keyframes stepIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.pick,.colorpick,.posrow,.sizecell,.railstep,.side-toggle button{transition:transform .12s ease,border-color .12s ease,background .12s ease,box-shadow .12s ease,color .12s ease}
.pick:hover,.colorpick:hover,.posrow:hover{transform:translateY(-2px)}
.pick:active,.colorpick:active,.posrow:active,.side-toggle button:active{transform:scale(.985)}
.pick.on,.colorpick.on,.posrow.on{box-shadow:0 0 0 2px var(--gold-deep) inset}
.railstep{cursor:pointer}

/* ===================================================================
   CHECKOUT — 1:1 overgenomen uit Drukpromo (dk-*), TextielKoning-goud
   =================================================================== */
.dk{--surface:#fff;--ink:#15171C;--muted:#6B7178;--line:#E7E9EC;--line-2:#DDE0E4;--soft:#F0F2F3;
  --accent:#8A6414;--accent-dk:#6f5010;--accent-soft:#F7EFD9;--danger:#B23A2E;--warm:#F7EFD9;
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;color:var(--ink)}
.dk *{box-sizing:border-box}
.dk-checkout-page{max-width:640px;margin:0 auto;padding:8px 0 40px}
.dk-checkout-page.co1{max-width:1200px}
.dk-co-top{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.dk-co-back{display:inline-flex;align-items:center;gap:7px;background:none;border:none;color:var(--muted);font-weight:600;font-size:14px;cursor:pointer;padding:7px 10px;border-radius:9px;flex:none;text-decoration:none}
.dk-co-back:hover{color:var(--ink);background:var(--soft)}
.dk-co-title{margin:0;font-size:22px;font-weight:800;letter-spacing:-.3px}
.dk-co-grid{display:grid;grid-template-columns:1fr 360px;gap:22px;align-items:start}
.dk-co-main{display:flex;flex-direction:column;gap:16px;min-width:0}
.dk-co-sec{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px 22px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.dk-co-sech{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:15px;font-weight:800;letter-spacing:-.2px}
.dk-co-sech-split{justify-content:space-between;flex-wrap:wrap}
.dk-co-sech-l{display:flex;align-items:center;gap:10px}
.dk-co-deadline{font-size:13.5px;font-weight:600;color:var(--accent-dk)}.dk-co-deadline b{font-weight:800}
.dk-step-n{width:22px;height:22px;border-radius:50%;background:var(--accent-soft);color:var(--accent-dk);font-size:12px;font-weight:800;display:grid;place-items:center;flex:none}
.dk-co-aside{position:sticky;top:88px}
.dk-co-summary{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px 22px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.dk-co-sumh{margin:0 0 12px;font-size:15px;font-weight:800}
.dk-co-items{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.dk-co-item{display:flex;justify-content:space-between;gap:12px;font-size:13.5px}
.dk-co-item span{color:var(--muted)}.dk-co-item b{white-space:nowrap}
.dk .dk-sum{display:flex;flex-direction:column}
.dk-sumrow{display:flex;justify-content:space-between;font-size:13.5px;color:var(--muted);padding:5px 0}
.dk-sumrow.tot{color:var(--ink);font-weight:700;font-size:18px;border-top:1px solid var(--line);margin-top:8px;padding-top:12px}
/* velden */
.dk-field{margin-bottom:13px}
.dk-field label{display:block;font-size:13px;font-weight:600;margin-bottom:5px}
.dk-field input,.dk-field textarea,.dk-field select{width:100%;border:1px solid var(--line-2);border-radius:11px;padding:12px 13px;font-family:inherit;font-size:15px;background:var(--surface);color:var(--ink)}
.dk-field input:focus,.dk-field textarea:focus,.dk-field select:focus{outline:none;border-color:var(--accent)}
.dk-fieldrow{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dk-fieldrow.thin{grid-template-columns:1fr 90px 90px}
/* radio-kaarten (verzending/betaling) */
.dk-radio{display:flex;flex-direction:column;gap:10px}
.dk-rc{display:flex;align-items:center;gap:12px;border:1px solid var(--line-2);border-radius:12px;padding:13px 14px;text-align:left;background:var(--surface);width:100%;cursor:pointer;font-family:inherit}
.dk-rc:hover{border-color:var(--ink)}
.dk-rc.on{border-color:var(--accent);background:var(--accent-soft)}
.dk-rc-ic{width:38px;height:38px;border-radius:10px;background:var(--soft);display:grid;place-items:center;color:var(--ink);flex:none}
.dk-rc.on .dk-rc-ic{background:#fff;color:var(--accent-dk)}
.dk-rc-t{flex:1;min-width:0}.dk-rc-t b{display:block;font-size:14.5px;font-weight:700}.dk-rc-t span{font-size:12.5px;color:var(--muted)}
.dk-rc-r{font-size:13px;font-weight:700;flex:none}
.dk-dot{width:18px;height:18px;border-radius:50%;border:2px solid var(--line-2);flex:none}
.dk-rc.on .dk-dot{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 3px #fff}
/* knoppen / notities */
.dk-btn{border:none;border-radius:12px;padding:14px 24px;font-weight:700;font-size:15.5px;transition:.14s;display:inline-flex;align-items:center;gap:9px;cursor:pointer;font-family:inherit}
.dk-btn-primary{background:var(--accent);color:#fff}
.dk-btn-primary:hover{background:var(--accent-dk);transform:translateY(-1px)}
.dk-btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line-2)}
.dk-full{width:100%;justify-content:center;display:flex}
.dk-note{font-size:12.5px;font-weight:600;margin-top:7px}
.dk-note.ok{color:var(--accent-dk)}.dk-note.err{color:var(--danger)}
.dk-empty{text-align:center;color:var(--muted);padding:42px 10px;font-size:14px}
.dk-pay-hint{margin:12px 2px 0;font-size:12.5px;line-height:1.55;color:var(--muted)}
.dk-terms-agree{margin:10px 0 0;font-size:12px;line-height:1.5;color:var(--muted);text-align:center}
.dk-coupon{display:flex;gap:8px;margin-top:16px}
.dk-coupon input{flex:1;border:1px solid var(--line-2);border-radius:10px;padding:11px 12px;font-family:inherit;font-size:14px;text-transform:uppercase;letter-spacing:.5px}
.dk-coupon input:focus{outline:none;border-color:var(--accent)}
.dk-coupon button{border:1px solid var(--line-2);background:var(--surface);border-radius:10px;padding:0 16px;font-weight:700;font-size:14px;cursor:pointer}
.dk-coupon button:hover{border-color:var(--ink)}
/* winkelwagenregel in checkout */
.dk-cl{display:grid;grid-template-columns:60px 1fr auto auto 28px;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.dk-cl:first-of-type{border-top:none}
.dk-cl-img{width:60px;height:60px;border-radius:9px;overflow:hidden;background:var(--soft)}
.dk-cl-img img{width:100%;height:100%;object-fit:cover}
.dk-cl-info b{font-size:14.5px;font-weight:700;display:block}.dk-cl-info span{font-size:12.5px;color:var(--muted);display:block;margin-top:1px}
.dk-cl-sz{font-size:14px!important;color:var(--ink)!important;font-weight:600;margin-top:4px!important;letter-spacing:.01em}
.dk-stepper{display:inline-flex;align-items:center;border:1px solid var(--line-2);border-radius:9px;overflow:hidden}
.dk-stepper button{width:30px;height:32px;background:var(--surface);border:none;font-size:17px;color:var(--ink);display:grid;place-items:center;cursor:pointer}
.dk-stepper button:hover{background:var(--soft)}
.dk-stepper input{width:40px;height:32px;border:none;text-align:center;font-weight:700;font-family:'JetBrains Mono',monospace}
.dk-cl-price{font-weight:800;font-family:'Plus Jakarta Sans',sans-serif;min-width:78px;text-align:right}
.dk-cl-rm{width:28px;height:28px;border:none;background:none;color:var(--muted);font-size:19px;cursor:pointer;border-radius:7px}
.dk-cl-rm:hover{background:#f7e9e6;color:var(--danger)}
@media(max-width:860px){.dk-co-grid{grid-template-columns:1fr}.dk-co-aside{position:static}.dk-fieldrow{grid-template-columns:1fr}.dk-cl{grid-template-columns:52px 1fr auto;grid-row-gap:8px}.dk-cl-price{grid-column:2/4;text-align:left}.dk-cl-rm{grid-column:3;grid-row:1}}

/* ===== header inlog/account-module + auth-formulieren ===== */
.authbtn{display:inline-flex;align-items:center;gap:7px;height:44px;padding:0 14px;border:1px solid var(--line2);border-radius:11px;color:var(--ink);background:#fff;font-weight:700;font-size:14px}
.authbtn svg{color:var(--gold-deep)}
.authbtn:hover{border-color:var(--ink)}
.authname{white-space:nowrap}
.authlogout button{border:none;background:none;color:var(--muted);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;padding:6px 4px}
.authlogout button:hover{color:var(--gold-deep)}
@media(max-width:560px){.authname{display:none}.authbtn{padding:0 12px}.authlogout{display:none}}
.authcard{max-width:440px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px 30px 26px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.authcard h1{font-size:26px;margin:0 0 6px;font-weight:800;letter-spacing:-.02em}
.authcard form{margin-top:16px;display:flex;flex-direction:column;gap:12px}
.authcard label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600}
.authcard label .in{font-weight:400}
.authrow{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.authfull{width:100%;margin-top:6px}
.autherr{background:#fbecea;border:1px solid #f2c7c1;color:#a2352a;border-radius:10px;padding:10px 12px;font-size:13.5px;font-weight:600;margin-top:14px}
.authswitch{margin-top:16px;font-size:14px;color:var(--muted)}.authswitch a{color:var(--gold-deep);font-weight:700}
.accountgrid{display:grid;grid-template-columns:320px 1fr;gap:20px;align-items:start}
.acctbl td,.acctbl th{padding:9px 8px}
@media(max-width:760px){.authrow{grid-template-columns:1fr}.accountgrid{grid-template-columns:1fr}}

/* ===== titel-icoon assortiment + footer-contact ===== */
.sechead h2 .headico{display:inline-flex;vertical-align:-4px;margin-right:11px;color:var(--gold-deep)}
.sechead h2 .headico .ico{width:26px;height:26px}
.footcontact{display:flex;flex-direction:column;gap:13px;margin-top:20px}
.footcontact .fc{display:flex;gap:11px;align-items:flex-start}
.footcontact .fc-ic{width:32px;height:32px;border-radius:9px;background:var(--gold-soft);color:var(--gold-deep);display:grid;place-items:center;flex:none}
.footcontact .fc-ic .ico{width:17px;height:17px}
.footcontact .fc b{display:block;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);font-weight:800;margin-bottom:1px}
.footcontact .fc span{font-size:13.5px;color:var(--muted);line-height:1.45}
.footcontact .fc a{display:inline!important;padding:0!important;font-size:13.5px;color:var(--muted);line-height:1.45}
.footcontact .fc a:hover{color:var(--gold-deep)}

/* ===== hoofdmenu met dropdowns ===== */
.mainnav{align-items:center}
.navitem{position:relative;display:inline-flex}
.navitem .navlink{display:inline-flex;align-items:center;gap:5px;cursor:pointer}
.navitem .chev{transition:transform .15s ease;margin-top:1px;opacity:.7}
.navitem.hasdrop:hover .chev{transform:rotate(180deg)}
.navitem.hasdrop:hover>.dropdown{display:block}
.dropdown{display:none;position:absolute;top:100%;left:0;margin-top:6px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 44px rgba(21,23,28,.14);padding:8px;min-width:210px;z-index:70}
.dropdown::before{content:"";position:absolute;top:-8px;left:0;right:0;height:8px}
.dropdown a{display:block;padding:9px 12px;border-radius:9px;font-size:14.5px;font-weight:600;color:var(--ink);white-space:nowrap}
.dropdown a:hover{background:var(--gold-soft);color:var(--gold-deep)}
/* Multi-kolom dropdown: precies 15 items per kolom, achtergrond dekt alle kolommen */
.dropdown.multicol{padding:10px;width:max-content;max-width:92vw}
.dropdown.multicol .drop-cols{display:grid;grid-auto-flow:column;grid-template-rows:repeat(15,auto);grid-auto-columns:200px;column-gap:10px}
.dropdown.multicol .drop-cols>a{font-size:14px}
.dropdown.multicol .drop-cols .drop-cta{margin:8px 0 0}

/* ===== merk-wissel: Transfer op de transfers-pagina ===== */
.b-transfer{display:none}
body.brand-transfer .b-textiel{display:none}
body.brand-transfer .b-transfer{display:inline}

/* ===================== Loondruk-pagina ===================== */
.ld-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--gold-soft) 0%,#FCFBF8 55%,#fff 100%);border-bottom:1px solid var(--line)}
.ld-hero::after{content:"";position:absolute;top:-120px;right:-90px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(138,100,20,.14),transparent 70%);pointer-events:none}
.ld-hero-in{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding:52px 24px 56px}
.thero-wide{grid-template-columns:1.4fr .6fr}
.ld-hero-top{align-items:start}
.ld-hero-txt h1{font-size:clamp(32px,4.6vw,52px);font-weight:800;line-height:1.04;letter-spacing:-.03em;margin:8px 0 14px;text-wrap:balance}
.ld-hero-txt h1.thero-h1{font-size:clamp(29px,4.6vw,48px)}
.thero-h1 .nw{white-space:nowrap}
@media(max-width:600px){.thero-h1 .nw{white-space:normal}}
.ld-hero-txt h1 em{font-style:normal;color:var(--gold-deep)}
.ld-hero-txt .lead{margin:0 0 24px;max-width:48ch}
.ld-trust{display:flex;gap:22px;flex-wrap:wrap;margin-top:26px}
.ld-trust span{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:var(--ink)}
.ld-trust span .ico{color:var(--gold-deep)}
.ld-hero-art{display:grid;place-items:center}
.ld-hero-art svg{width:88%;max-width:420px;filter:drop-shadow(0 20px 34px rgba(0,0,0,.12))}
/* feature-cards */
.ld-features{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ld-feat{border:1px solid var(--line);border-radius:16px;background:#fff;padding:22px;transition:.2s}
.ld-feat:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(21,23,28,.08);border-color:var(--line2)}
.ld-ic{width:48px;height:48px;border-radius:14px;background:var(--gold-soft);color:var(--gold-deep);display:grid;place-items:center;margin-bottom:14px}
.ld-ic .ico{width:24px;height:24px}
.ld-feat b{display:block;font-size:16px;font-weight:800;margin-bottom:5px}
.ld-feat p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.5}
/* stappen */
.ld-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ld-step{position:relative;border:1px solid var(--line);border-radius:16px;background:#fff;padding:24px 22px}
.ld-step .ld-num{position:absolute;top:16px;right:18px;font-family:'Plus Jakarta Sans';font-size:34px;font-weight:800;color:var(--gold-soft);line-height:1}
.ld-step b{display:block;font-size:17px;font-weight:800;margin-bottom:5px}
.ld-step p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.5}
/* prijstabel */
.ld-price{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.ld-price-grid{display:grid;grid-template-columns:1fr 1fr}
.ld-price-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;border-bottom:1px solid var(--line)}
.ld-price-grid .ld-price-row:nth-child(odd){border-right:1px solid var(--line)}
.ld-qty{font-weight:700;font-size:15px}.ld-qty small{color:var(--muted);font-weight:600;font-size:12.5px}
.ld-amt{font-family:'JetBrains Mono',monospace;font-weight:800;font-size:19px;color:var(--gold-deep)}
.ld-price-note{display:flex;flex-wrap:wrap;gap:10px 26px;padding:16px 22px;background:var(--gold-soft)}
.ld-price-note span{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink-soft);font-weight:600}
.ld-price-note .ico{color:var(--gold-deep);flex:none}
.ld-price-note a{color:var(--gold-deep);font-weight:800}
/* CTA-band */
.ld-cta{background:var(--ink);border-radius:24px;padding:46px 30px;text-align:center;color:#fff;background-image:radial-gradient(80% 120% at 85% 0%,rgba(180,134,43,.28),transparent 55%)}
.ld-cta h2{font-size:clamp(24px,3vw,34px);font-weight:800;letter-spacing:-.02em;margin:0 0 10px}
.ld-cta p{color:#C7CBD1;font-size:16px;margin:0 0 22px}
.btn.ghostlight{background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff}
.btn.ghostlight:hover{border-color:#fff;background:rgba(255,255,255,.08)}
@media(max-width:980px){.ld-hero-in{grid-template-columns:1fr;gap:22px}.ld-hero-art{order:-1}.ld-features{grid-template-columns:1fr 1fr}.ld-steps{grid-template-columns:1fr}}
@media(max-width:560px){.ld-features{grid-template-columns:1fr}.ld-price-grid{grid-template-columns:1fr}.ld-price-grid .ld-price-row:nth-child(odd){border-right:none}}

/* ===================== Mobiele finetuning (randen & fit) ===================== */
@media(max-width:640px){
  .sec{padding-top:46px;padding-bottom:46px}
  .top .wrap{gap:12px;height:64px}
  .logo{font-size:20px}
  .crown{width:26px;height:22px}
  .topcta{gap:8px}
  .authbtn{height:40px;padding:0 11px}
  .cartbtn{width:40px;height:40px}
  .lead{font-size:16.5px}
  .thero{padding:30px 22px;border-radius:18px}
  .ld-hero-in{padding:36px 24px 42px}
  .ld-cta{padding:32px 22px;border-radius:18px}
  .sechead{margin-bottom:22px}
  .cta-row .btn.big,.ld-cta .btn.big{flex:1 1 auto;justify-content:center}
}
@media(max-width:560px){
  .cards{grid-template-columns:1fr}
  .uspgrid{grid-template-columns:1fr}
  .footgrid{grid-template-columns:1fr}
  .uspgrid>div{padding:16px 0}
  .usp:not(:last-child)::after{display:none}
  .usp:not(:last-child){border-bottom:1px solid var(--line)}
  .footcontact{margin-top:16px}
}
@media(max-width:400px){
  .wrap{padding-left:16px;padding-right:16px}
  .logo{font-size:17px}
  .crown{width:22px;height:19px}
  .btn.big{padding:15px 20px;font-size:15.5px}
}

/* ===================== Mobiel menu (hamburger) ===================== */
.navtoggle{display:none;width:42px;height:42px;border:1px solid var(--line2);border-radius:11px;background:#fff;color:var(--gold-deep);align-items:center;justify-content:center;cursor:pointer;flex:none}
@media(max-width:980px){.navtoggle{display:inline-flex}}
.mobnav{position:fixed;inset:0;z-index:120;visibility:hidden;opacity:0;transition:opacity .2s}
.mobnav.open{visibility:visible;opacity:1}
.mobnav-bd{position:absolute;inset:0;background:rgba(20,23,28,.45)}
.mobnav-panel{position:absolute;top:0;right:0;height:100%;width:min(86vw,340px);background:#fff;box-shadow:-16px 0 44px rgba(0,0,0,.2);transform:translateX(100%);transition:transform .24s ease;display:flex;flex-direction:column;padding:14px 16px 24px;overflow-y:auto}
.mobnav.open .mobnav-panel{transform:none}
.mobnav-top{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 12px;border-bottom:1px solid var(--line);margin-bottom:6px}
.mobnav-title{font-weight:800;font-size:15px;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}
.mobnav-x{border:none;background:none;color:var(--ink);cursor:pointer;padding:6px;border-radius:8px}
.mobnav-x:hover{background:var(--panel2)}
.mobnav-list{display:flex;flex-direction:column}
.mobnav-list>a,.mobacc{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 6px;font-size:16px;font-weight:700;color:var(--ink);border:none;background:none;text-align:left;cursor:pointer;border-bottom:1px solid var(--line);font-family:inherit}
.mobnav-list>a:hover,.mobacc:hover{color:var(--gold-deep)}
.mobacc .chev{transition:transform .18s ease;opacity:.7;color:var(--gold-deep)}
.mobacc.open .chev{transform:rotate(180deg)}
.mobsub{display:none;flex-direction:column;padding:4px 0 10px 6px}
.mobsub.open{display:flex}
.mobsub a{padding:10px 12px;font-size:14.5px;font-weight:600;color:var(--muted);border-radius:9px}
.mobsub a:hover{background:var(--gold-soft);color:var(--gold-deep)}

/* ===================== Juridische / info-pagina's ===================== */
.legal-version{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;color:var(--gold-deep);background:var(--gold-soft);padding:6px 12px;border-radius:999px;margin-top:6px}
.legal-version .ico{width:15px;height:15px}
.legal{max-width:820px}
.legal-art{padding:20px 0;border-top:1px solid var(--line)}
.legal-art:first-child{border-top:none;padding-top:0}
.legal-art h2{font-size:19px;font-weight:800;letter-spacing:-.01em;margin:0 0 12px;display:flex;align-items:center;gap:12px}
.legal-n{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:9px;background:var(--gold-soft);color:var(--gold-deep);font-size:14px;font-weight:800}
.legal-art p{color:var(--ink-soft);font-size:14.5px;line-height:1.6;margin:0 0 10px}
.legal-art ul{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:9px}
.legal-art li{position:relative;padding-left:26px;color:var(--ink-soft);font-size:14.5px;line-height:1.55}
.legal-art li::before{content:"";position:absolute;left:6px;top:9px;width:6px;height:6px;border-radius:50%;background:var(--gold-deep)}
.legal-art a{color:var(--gold-deep);font-weight:700}
.legal-closing{margin-top:22px;padding:16px 18px;border-radius:12px;background:var(--gold-soft);color:var(--ink-soft);font-size:13.5px;line-height:1.55}

/* FAQ */
.faq{max-width:820px;display:flex;flex-direction:column;gap:12px}
.faq-item{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;font-size:16px;font-weight:700;color:var(--ink)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary .chev{color:var(--gold-deep);transition:transform .18s ease;flex:none}
.faq-item[open] summary .chev{transform:rotate(180deg)}
.faq-item[open] summary{color:var(--gold-deep)}
.faq-a{padding:0 20px 18px}
.faq-a p{margin:0;color:var(--ink-soft);font-size:14.5px;line-height:1.6}
.faq-a a{color:var(--gold-deep);font-weight:700}

/* Cookievoorkeuren */
.cookieprefs{max-width:720px;border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}
.cookie-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border-bottom:1px solid var(--line)}
.cookie-row b{font-size:16px}.cookie-row p{margin:4px 0 0;font-size:13.5px;color:var(--muted);line-height:1.5;max-width:52ch}
.cookie-on{font-size:13px;font-weight:800;color:var(--gold-deep);background:var(--gold-soft);padding:7px 13px;border-radius:999px;white-space:nowrap}
.cookie-actions{display:flex;align-items:center;gap:14px;padding:18px 22px}
.cookie-saved{opacity:0;transition:.2s;color:var(--gold-deep);font-weight:700;font-size:13.5px}
.cookie-saved.show{opacity:1}
.switch{position:relative;display:inline-block;width:46px;height:26px;flex:none}
.switch input{opacity:0;width:0;height:0}
.slider{position:absolute;inset:0;background:#d7d3ca;border-radius:999px;transition:.2s;cursor:pointer}
.slider::before{content:"";position:absolute;height:20px;width:20px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.switch input:checked+.slider{background:var(--gold-deep)}
.switch input:checked+.slider::before{transform:translateX(20px)}

/* ===================== Footer-onderbalk ===================== */
.footbar{border-top:1px solid var(--line);margin-top:26px;padding-top:18px;display:flex;justify-content:space-between;align-items:center;gap:16px 24px;flex-wrap:wrap}
.footbar-l{font-size:12.5px;color:var(--muted)}
.footbar-r{display:flex;align-items:center;gap:6px 16px;flex-wrap:wrap;justify-content:flex-end}
.footbar-r a{font-size:12.5px;color:var(--muted);padding:0}
.footbar-r a:hover{color:var(--gold-deep)}
.footbar-kvk{font-size:12.5px;color:var(--muted);font-weight:600}
@media(max-width:720px){.footbar{flex-direction:column;align-items:flex-start}.footbar-r{justify-content:flex-start}}

/* ===================== Inloggen / Registreren ===================== */
.auth .sechead p{max-width:56ch}
.authgrid{display:grid;grid-template-columns:1fr 1.15fr;gap:26px;align-items:start;max-width:1140px;margin:0 auto}
.authcard{border:1px solid var(--line);border-radius:20px;background:#fff;padding:32px;box-shadow:0 1px 3px rgba(0,0,0,.04);max-width:none;width:100%;margin:0}
.authcard-reg{background:radial-gradient(120% 80% at 100% 0%,var(--gold-soft),transparent 60%),#fff;border-color:var(--line2)}
.authcard-head{display:flex;gap:13px;align-items:flex-start;margin-bottom:20px}
.auth-ic{width:46px;height:46px;flex:none;border-radius:13px;background:var(--gold-soft);color:var(--gold-deep);display:grid;place-items:center}
.authcard-head h3{margin:0;font-size:19px;font-weight:800;letter-spacing:-.01em}
.authcard-head p{margin:3px 0 0;font-size:13.5px;color:var(--muted)}
.authform{display:flex;flex-direction:column;gap:13px}
.authform label{display:flex;flex-direction:column;gap:6px;font-size:13.5px;font-weight:700;color:var(--ink-soft)}
.authform .opt{font-weight:500;color:var(--muted);font-size:12.5px}
.authform .in{width:100%;box-sizing:border-box;padding:12px 13px;border:1.5px solid var(--line2);border-radius:11px;font-size:15px;font-family:inherit;background:#fff;transition:.14s}
.authform .in:focus{outline:none;border-color:var(--gold-deep);box-shadow:0 0 0 3px var(--gold-soft)}
.authform .frow{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.frow-addr{grid-template-columns:1fr 1fr}
.authform button.btn{margin-top:4px}
.auth-err{background:#fdeeee;border:1px solid #f3c9c9;color:#a12626;padding:11px 14px;border-radius:11px;font-size:13.5px;font-weight:600;margin-bottom:14px}
.auth-lookup{font-size:12.5px;font-weight:600;min-height:16px;margin-top:-4px}
.auth-lookup.on{color:var(--muted)} .auth-lookup.ok{color:var(--gold-deep)} .auth-lookup.warn{color:#b06a1a}
.auth-benefits{display:flex;flex-direction:column;gap:9px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.auth-benefits span{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;font-weight:600;color:var(--ink-soft)}
.auth-benefits .ico{color:var(--gold-deep);flex:none}
.auth-terms{margin:2px 0 0;font-size:12px;color:var(--muted);line-height:1.5}
.auth-terms a{color:var(--gold-deep);font-weight:700}
@media(max-width:820px){.authgrid{grid-template-columns:1fr;max-width:560px}}
@media(max-width:440px){.authform .frow{grid-template-columns:1fr}}

/* ===================== DTF-configurator ===================== */
.dtf{max-width:900px}
.dtf-drop{border:2px dashed var(--line2);border-radius:18px;background:#fff;padding:38px 24px;text-align:center;cursor:pointer;transition:.15s;display:flex;flex-direction:column;align-items:center;gap:8px}
.dtf-drop:hover,.dtf-drop.over{border-color:var(--gold-deep);background:var(--gold-soft)}
.dtf-drop-ic{width:60px;height:60px;border-radius:16px;background:var(--gold-soft);color:var(--gold-deep);display:grid;place-items:center;margin-bottom:4px}
.dtf-drop b{font-size:16px}
.dtf-drop-sub{font-size:13px;color:var(--muted)}
.dtf-files{display:flex;flex-direction:column;gap:14px;margin-top:16px}
.dtf-card{display:grid;grid-template-columns:150px 1fr;gap:16px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.dtf-card.is-invalid{border-color:#f0c9c9;background:#fdf6f6}
.dtf-prev{border-radius:11px;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:150px;border:1px solid var(--line)}
.dtf-prev img{max-width:100%;max-height:180px;display:block;margin:auto}
.dtf-prev[data-bg="white"]{background:#fff}
.dtf-prev[data-bg="grey"]{background:#808080}
.dtf-prev[data-bg="black"]{background:#111}
.dtf-prev[data-bg="grid"]{background-color:#e9e9e9;background-image:linear-gradient(45deg,#cfcfcf 25%,transparent 25%),linear-gradient(-45deg,#cfcfcf 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#cfcfcf 75%),linear-gradient(-45deg,transparent 75%,#cfcfcf 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}
.dtf-eps{width:100%;height:150px;display:grid;place-items:center}
.dtf-eps span{font-family:'JetBrains Mono',monospace;font-weight:800;font-size:22px;color:#8a8a8a;letter-spacing:1px}
.dtf-body{display:flex;flex-direction:column;gap:9px;min-width:0}
.dtf-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.dtf-name{font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dtf-rm{border:none;background:none;color:var(--muted);font-size:17px;cursor:pointer;padding:2px 6px;border-radius:7px}
.dtf-rm:hover{background:var(--panel2);color:#c0392b}
.dtf-bar{height:8px;border-radius:99px;background:var(--panel2);overflow:hidden}
.dtf-bar span{display:block;height:100%;background:var(--gold-deep);width:0;transition:width .15s}
.dtf-reading{font-size:12.5px;color:var(--muted)}
.dtf-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:13.5px}
.dtf-size{font-weight:800;color:var(--ink)}
.dtf-ok{color:var(--gold-deep);font-weight:700}
.dtf-warn{color:#b06a1a;font-weight:700}
.dtf-bad{color:#c0392b;font-weight:700}
.dtf-manual{display:flex;gap:10px;flex-wrap:wrap}
.dtf-manual label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:var(--muted)}
.dtf-manual input{width:110px;padding:8px 10px;border:1.5px solid var(--line2);border-radius:9px;font-size:14px;font-family:inherit}
.dtf-bgs{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted)}
.dtf-bg{width:22px;height:22px;border-radius:6px;border:1.5px solid var(--line2);cursor:pointer;padding:0}
.dtf-bg[data-bg="white"]{background:#fff}
.dtf-bg[data-bg="grey"]{background:#808080}
.dtf-bg[data-bg="black"]{background:#111}
.dtf-bg[data-bg="grid"]{background-color:#e9e9e9;background-image:linear-gradient(45deg,#cfcfcf 25%,transparent 25%),linear-gradient(-45deg,#cfcfcf 25%,transparent 25%);background-size:10px 10px}
.dtf-bg.on{border-color:var(--gold-deep);box-shadow:0 0 0 2px var(--gold-soft)}
.dtf-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;flex-wrap:wrap}
.dtf-qty{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--ink-soft)}
.dtf-qty input{width:70px;padding:8px 10px;border:1.5px solid var(--line2);border-radius:9px;font-size:14px;font-family:inherit}
.dtf-price{font-size:13.5px;font-weight:700;color:var(--gold-deep);text-align:right}
.dtf-summary{margin-top:18px;border:1px solid var(--line2);border-radius:16px;background:var(--gold-soft);padding:18px 20px;max-width:900px}
.dtf-sum-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.dtf-sum-row b{font-size:22px;font-weight:800;color:var(--ink)}
.dtf-sum-note{margin:10px 0 0;font-size:12px;color:var(--muted)}
/* info-blokken */
.dtf-info{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:34px;max-width:900px}
.dtf-info-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:22px}
.dtf-info-card h3{display:flex;align-items:center;gap:9px;font-size:16px;font-weight:800;margin:0 0 12px}
.dtf-info-card h3 .ico{color:var(--gold-deep)}
.dtf-info-card ul{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:9px}
.dtf-info-card li{position:relative;padding-left:22px;font-size:13.5px;color:var(--ink-soft);line-height:1.5}
.dtf-info-card li::before{content:"";position:absolute;left:5px;top:8px;width:6px;height:6px;border-radius:50%;background:var(--gold-deep)}
.dtf-price-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.dtf-price-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}
.dtf-price-row b{color:var(--gold-deep)}
.dtf-price-note{margin:12px 0 0;font-size:12px;color:var(--muted)}
@media(max-width:640px){.dtf-card{grid-template-columns:1fr}.dtf-info{grid-template-columns:1fr}.dtf-price-grid{grid-template-columns:1fr}}

/* ===================== DTF: vergroot + controle-achtergrond ===================== */
.dtf-prev.can-zoom{cursor:zoom-in;position:relative}
.dtf-zoom{position:absolute;bottom:8px;right:8px;display:inline-flex;align-items:center;gap:5px;background:rgba(20,23,28,.72);color:#fff;font-size:11px;font-weight:700;padding:5px 9px;border-radius:8px;pointer-events:none}
.dtf-bgnote{font-size:11.5px;color:var(--muted);margin-top:-2px}
.dtf-lb{position:fixed;inset:0;z-index:200;visibility:hidden;opacity:0;transition:opacity .18s}
.dtf-lb.open{visibility:visible;opacity:1}
.dtf-lb-bd{position:absolute;inset:0;background:rgba(15,17,21,.72)}
.dtf-lb-panel{position:absolute;inset:20px;max-width:1500px;margin:auto;background:#fff;border-radius:18px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.dtf-lb-top{display:flex;align-items:center;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.dtf-lb-title{font-weight:800;font-size:15px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dtf-lb-bgs{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted)}
.dtf-lb-x{border:none;background:none;color:var(--ink);cursor:pointer;padding:6px;border-radius:8px}
.dtf-lb-x:hover{background:var(--panel2)}
.dtf-lb-stage{flex:1;display:grid;place-items:center;overflow:auto;padding:24px}
.dtf-lb-stage[data-bg="white"]{background:#fff}
.dtf-lb-stage[data-bg="grey"]{background:#808080}
.dtf-lb-stage[data-bg="black"]{background:#111}
.dtf-lb-stage[data-bg="grid"]{background-color:#e9e9e9;background-image:linear-gradient(45deg,#cfcfcf 25%,transparent 25%),linear-gradient(-45deg,#cfcfcf 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#cfcfcf 75%),linear-gradient(-45deg,transparent 75%,#cfcfcf 75%);background-size:22px 22px;background-position:0 0,0 11px,11px -11px,-11px 0}
.dtf-lb-inner img,.dtf-lb-inner canvas{max-width:100%;height:auto;display:block;box-shadow:0 6px 24px rgba(0,0,0,.18)}
.dtf-lb-eps{color:#fff;font-weight:700;text-align:center;line-height:1.6}
.dtf-lb-note{padding:12px 18px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}
@media(max-width:640px){.dtf-lb-panel{inset:10px}.dtf-lb-top{gap:10px}}

/* DTF: vector- en vrijstaand-checks */
.dtf-checks{display:flex;flex-wrap:wrap;gap:7px;margin-top:-2px}
.dtf-chk{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:5px 10px;border-radius:999px;line-height:1.3}
.dtf-chk b{font-weight:800}
.dtf-chk.ok{background:var(--gold-soft);color:var(--gold-deep)}
.dtf-chk.warn{background:#fdf0e2;color:#a5631a}
.dtf-chk.info{background:var(--panel2);color:var(--muted)}

/* DTF: rekensom-blok + winkelwagen-notitie + prijsuitleg */
.dtf-calc{border:1px solid var(--line);border-radius:12px;background:var(--panel2);padding:12px 14px;margin-bottom:14px}
.dtf-calc-row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;font-size:13.5px;padding:3px 0}
.dtf-calc-row small{color:var(--muted);font-weight:500}
.dtf-calc-row b{font-weight:800}
.dtf-calc-row.calc-total{border-top:1px solid var(--line);margin-top:5px;padding-top:8px}
.dtf-calc-row.calc-total b{color:var(--gold-deep)}
.dtf-calc-note{font-size:12px;color:var(--muted);margin-top:8px;line-height:1.5}
.dtf-price-expl{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}
.dtf-price-expl ol{margin:8px 0;padding-left:20px;font-size:13.5px;color:var(--ink-soft);line-height:1.6}
.dtf-price-ex{background:var(--gold-soft);border-radius:10px;padding:11px 13px;font-size:13px;color:var(--ink-soft);margin:8px 0}
.cart-dtfnote{background:var(--gold-soft);border-radius:12px;padding:12px 15px;font-size:13px;color:var(--ink-soft);margin:14px 0;line-height:1.5}

/* ===================== Bestandscheck (logo check) ===================== */
.lc-formats{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}
.lc-formats span{font-size:12px;font-weight:800;letter-spacing:.04em;color:var(--gold-deep);background:var(--gold-soft);border:1px solid var(--line2);padding:6px 12px;border-radius:999px}
.lc-verdict{border-radius:11px;padding:11px 14px;font-size:13.5px;font-weight:700;line-height:1.4;margin:2px 0}
.lc-verdict.ok{background:var(--gold-soft);color:var(--gold-deep)}
.lc-verdict.warn{background:#fdf0e2;color:#a5631a}
.lc-verdict.bad{background:#fdeeee;color:#a12626}
.lc-verdict.info{background:var(--panel2);color:var(--ink-soft)}

/* Bestandscheck: kleurmodus-notitie */
.lc-note{font-size:12.5px;color:var(--ink-soft);background:var(--panel2);border-radius:10px;padding:9px 12px;line-height:1.5;margin:2px 0}

/* ===================== Gehele assortiment (Primex) ===================== */
.crumbs{font-size:13px;color:var(--muted);margin-bottom:14px}
.crumbs a{color:var(--gold-deep)}
.prodgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}
.pcard2{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;transition:.15s}
.pcard2:hover{box-shadow:0 6px 20px rgba(0,0,0,.08);transform:translateY(-2px)}
.pcard2-img{aspect-ratio:1;display:grid;place-items:center;background:var(--panel2);overflow:hidden}
.pcard2-img img{width:100%;height:100%;object-fit:cover}
.pcard2-ph{color:var(--line2)}
.pcard2-b{padding:12px 13px;display:flex;flex-direction:column;gap:2px}
.pcard2-b b{font-size:14px;line-height:1.3}
.pcard2-price{margin-top:6px;font-weight:800;color:var(--gold-deep);font-size:13.5px}
.pager{display:flex;flex-wrap:wrap;gap:6px;margin-top:24px}
.pager a{min-width:34px;text-align:center;padding:7px 10px;border:1px solid var(--line2);border-radius:9px;font-size:13px;font-weight:700;color:var(--ink-soft)}
.pager a.on{background:var(--gold-deep);color:#fff;border-color:var(--gold-deep)}
/* PDP */
.pdp{display:grid;grid-template-columns:minmax(0,440px) 1fr;gap:34px;align-items:start}
.pdp-img{aspect-ratio:1;border:1px solid var(--line);border-radius:16px;background:var(--panel2);display:grid;place-items:center;overflow:hidden}
.pdp-img img{width:100%;height:100%;object-fit:cover}
.pdp-swatches{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.pdp-sw{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line2)}
.pdp-info h1{margin:.2em 0}
.pdp-facts{display:flex;flex-direction:column;gap:5px;margin:16px 0;font-size:14px;color:var(--ink-soft)}
.pdp-price{margin-top:18px;border-top:1px solid var(--line);padding-top:18px}
.pricetbl{border-collapse:collapse;width:100%;max-width:320px;margin:10px 0}
.pricetbl th,.pricetbl td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--line);font-size:14px}
.pricetbl th{color:var(--muted);font-weight:700}
.pricetbl td:last-child,.pricetbl th:last-child{text-align:right;font-weight:800}
.pdp-note{font-size:12.5px;color:var(--muted);line-height:1.55;margin:12px 0 16px}
.footcol-assort .footassort-cols{column-count:1}
.footcol-assort .footassort-cols a{break-inside:avoid}
.footcol-assort .footassort-all{margin-top:6px;font-weight:700;color:var(--gold-deep)}
.footassort{border-top:1px solid var(--footline,rgba(255,255,255,.12));padding:18px 0 4px;margin-top:8px}
.footassort h5{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);margin:0 0 10px}
.footassort-links{display:flex;flex-wrap:wrap;gap:6px 18px}
.footassort-links a{font-size:13px;opacity:.85}
.footassort-all{font-weight:700;opacity:1 !important}
@media(max-width:820px){.pdp{grid-template-columns:1fr}}
/* admin primex */
.pgrid2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.pcard{border:1px solid var(--line,#e5e7eb);border-radius:12px;background:#fff;padding:18px 20px;margin-bottom:18px}
.pcard h2{font-size:16px;margin:0 0 12px}
.fmt label,.pcard .chk{display:block;margin-bottom:12px;font-size:13px;font-weight:600;color:#444}
.fmt input:not([type=checkbox]){display:block;width:100%;margin-top:5px;padding:9px 11px;border:1.5px solid #d7dbe0;border-radius:8px;font-size:14px}
.pcard .chk{font-weight:600}
.pcard .chk input{margin-right:8px}
.flash{padding:11px 15px;border-radius:10px;margin-bottom:16px;font-size:14px;font-weight:600}
.flash.ok{background:#eaf7ee;color:#1c7a3e}
.flash.err{background:#fdeef0;color:#b3261e}
.hint{font-size:12px;color:#888;margin-top:8px}
.tbl.markup input{width:110px;padding:7px 9px;border:1.5px solid #d7dbe0;border-radius:7px}
.catgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin:8px 0 14px}
.catrow{display:flex !important;align-items:center;gap:9px;border:1px solid #eceef1;border-radius:10px;padding:9px 12px}
.catrow .mini{margin-left:auto;font-size:12px}
.row-off{opacity:.5}
.mono{font-family:'JetBrains Mono',monospace;font-size:12px}

/* Menu-knop "Bekijk gehele assortiment" in dropdown + mobiel */
.dropdown .drop-cta{display:block;margin:8px 8px 2px;padding:10px 12px;background:var(--gold-deep);color:#fff !important;border-radius:9px;font-weight:800;text-align:center;font-size:13.5px}
.dropdown .drop-cta:hover{background:var(--gold);color:#fff !important}
.mobacc-body .mob-cta{display:block;margin:8px 0 2px;padding:11px 14px;background:var(--gold-deep);color:#fff !important;border-radius:10px;font-weight:800;text-align:center}

/* ===================== Assortiment-overzicht (fraai) ===================== */
.asrt-hero{background:linear-gradient(160deg,var(--gold-soft),#fff);border-bottom:1px solid var(--line)}
.asrt-hero-in{padding:52px 24px 44px;max-width:920px}
.asrt-hero h1{font-size:clamp(28px,4vw,42px);line-height:1.08;margin:.15em 0 .3em}
.asrt-hero h1 em{color:var(--gold-deep);font-style:normal}
.asrt-hero .lead{max-width:64ch;font-size:16px}
.asrt-usps{display:flex;flex-wrap:wrap;gap:9px 20px;margin-top:20px}
.asrt-usps span{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:700;color:var(--ink-soft)}
.asrt-usps .ico{color:var(--gold-deep)}
.asrt-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.asrt-cat{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:16px 18px;transition:.15s}
.asrt-cat:hover{box-shadow:0 8px 24px rgba(0,0,0,.08);transform:translateY(-2px);border-color:var(--line2)}
.asrt-cat-ic{width:52px;height:52px;border-radius:13px;background:var(--gold-soft);color:var(--gold-deep);display:grid;place-items:center;flex:none}
.asrt-cat-b{display:flex;flex-direction:column;min-width:0}
.asrt-cat-b b{font-size:15.5px;line-height:1.2}
.asrt-cat-n{font-size:12.5px;color:var(--muted)}
.asrt-cat-arr{margin-left:auto;color:var(--gold-deep);opacity:.5}
.asrt-copy{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:8px 0 26px}
.asrt-copy h3{font-size:18px;margin:0 0 8px}
.asrt-copy p{color:var(--ink-soft);line-height:1.6;font-size:14.5px}
.asrt-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;background:var(--ink);color:#fff;border-radius:16px;padding:22px 26px}
.asrt-cta b{display:block;font-size:17px}
.asrt-cta span{opacity:.8;font-size:14px}
@media(max-width:720px){.asrt-copy{grid-template-columns:1fr;gap:16px}.asrt-cta{flex-direction:column;align-items:flex-start}}

/* ===================== Primex-productconfigurator ===================== */
.pdp-config{margin-top:18px;border-top:1px solid var(--line);padding-top:18px}
.pdp-config h3{font-size:17px;margin:0 0 14px}
.pdp-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.pdp-row label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:700;color:var(--muted)}
.pdp-row select,.pdp-row input{padding:9px 11px;border:1.5px solid var(--line2);border-radius:9px;font-size:14px;font-family:inherit;min-width:120px}
.pdp-row input{width:110px}
.pdp-poslbl{display:block;font-size:12.5px;font-weight:700;color:var(--muted);margin-bottom:8px}
.pdp-posgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin-bottom:16px}
.pdp-pos{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:9px 11px;font-size:13.5px;cursor:pointer}
.pdp-pos:hover{border-color:var(--gold-deep)}
.pdp-pos input{accent-color:var(--gold-deep)}
.pdp-pos-cls{margin-left:auto;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--panel2);padding:2px 7px;border-radius:6px}
.pdp-calc{border:1px solid var(--line);border-radius:12px;background:var(--panel2);padding:13px 15px;margin-bottom:14px}
.pxc-row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;font-size:14px;padding:3px 0}
.pxc-row small{color:var(--muted);font-weight:500;font-size:12px}
.pxc-row b{font-weight:700}
.pxc-per{border-top:1px solid var(--line);margin-top:5px;padding-top:8px}
.pxc-per b{color:var(--gold-deep)}
.pxc-tot{font-size:15px}
.pxc-tot b{font-weight:800;font-size:17px}

/* ===================== Slick Primex-configurator (v2) ===================== */
.pdp-page{padding-top:35px}
.pdp2{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:36px;align-items:start;margin-top:8px}
.pdp2-media{position:sticky;top:90px}
.pdp2-garment{position:relative;aspect-ratio:1;border:1px solid #eef0f2;border-radius:16px;background:var(--panel2);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:20px;box-shadow:0 1px 3px rgba(20,23,28,.04);cursor:zoom-in}
.pdp2-garment img{width:100%;height:100%;object-fit:contain;object-position:center center;display:block}
.pdp2-garment .pxsvg,.pdp2-garment .tee{width:100%;height:100%}
.tee-body{transition:fill .18s}
.pdp2-swatches{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px;justify-content:flex-start}
.pdp2-sw{width:30px;height:30px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1.5px var(--line2);cursor:pointer;transition:.12s}
.pdp2-sw.on{box-shadow:0 0 0 2px var(--gold-deep);transform:scale(1.08)}
.pdp2-colorname{text-align:center;margin-top:9px;font-size:13px;font-weight:700;color:var(--ink-soft)}
.pdp2-cfg .eyebrow{margin-bottom:1px;display:block}
.pdp2-cfg{margin-top:-56px}
@media(max-width:820px){.pdp2-cfg{margin-top:4px}}
.pdp2-cfg h1{margin:0 0 5px}
.pdp2-cfg .lead{margin:0 0 8px;font-size:15.5px}
.pdp2-desc{margin:0 0 14px}
.cfg-step{border-top:1px solid var(--line);padding:18px 0}
.cfg-step:first-of-type{border-top:0;padding-top:6px}
.cfg-h{display:flex;align-items:center;gap:9px;font-weight:800;font-size:15.5px;margin-bottom:13px}
.cfg-n{width:24px;height:24px;border-radius:50%;background:var(--gold-deep);color:#fff;display:grid;place-items:center;font-size:13px;flex:none}
.cfg-sub{font-weight:500;font-size:12.5px;color:var(--muted);margin-left:2px}
.seg{display:inline-flex;background:var(--panel2);border:1px solid var(--line2);border-radius:12px;padding:4px;gap:4px}
.seg button{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;padding:9px 16px;border-radius:9px;font-weight:700;font-size:14px;cursor:pointer;color:var(--ink-soft)}
.seg button .ico{opacity:.7}
.seg button.on{background:#fff;color:var(--gold-deep);box-shadow:0 1px 4px rgba(0,0,0,.1)}
.pxpicker{margin-top:16px}
.pxpicker-hint{font-size:13px;color:var(--muted);margin:0 0 12px}
.pxpicker-tees{display:flex;gap:18px;flex-wrap:wrap}
.pxtee{position:relative;width:180px;max-width:46%;text-align:center}
.pxtee .tee{width:100%;height:auto}
.pxtee-lbl{display:block;font-size:12px;font-weight:700;color:var(--muted);margin-top:2px}
.zone{cursor:pointer}
.zone rect,.zone circle{fill:rgba(17,17,17,.06);stroke:rgba(17,17,17,.28);stroke-width:1.4;stroke-dasharray:3 3;transition:.12s}
.zone text{font-size:8px;fill:#555;text-anchor:middle;dominant-baseline:middle;pointer-events:none;font-weight:800}
.zone:hover rect,.zone:hover circle{fill:var(--gold-soft);stroke:var(--gold-deep)}
.zone.on rect,.zone.on circle{fill:var(--gold-deep);stroke:var(--gold-deep);stroke-dasharray:none}
.zone.on text{fill:#fff}
.pxchips{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.pxchip{display:inline-flex;align-items:center;gap:7px;background:var(--gold-soft);color:var(--gold-deep);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:700}
.pxchip b{cursor:pointer;opacity:.7}
.pxchip-empty{font-size:12.5px;color:var(--muted)}
.pxsizes{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:9px}
.pxsize{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:700;color:var(--muted);text-align:center}
.pxsize input{padding:9px;border:1.5px solid var(--line2);border-radius:9px;font-size:15px;text-align:center;font-family:inherit}
.pxship{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.pxship-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:11px;padding:10px 14px;font-size:13.5px}
.pxship-row span{display:inline-flex;align-items:center;gap:8px;color:var(--ink-soft);font-weight:600}
.pxship-row small{color:var(--muted);font-weight:500}
.pxship-row .ico{color:var(--muted)}
.pxship-row.on{border-color:var(--gold-deep);background:var(--gold-soft)}
.pxship-row.on .ico{color:var(--gold-deep)}
.pxc-line{display:flex;justify-content:space-between;font-size:13px;color:var(--ink-soft);padding:2px 0}
.pxc-lines{border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);margin:8px 0;padding:6px 0}
.pxc-empty{font-size:13px;color:var(--muted);padding:6px 0}
@media(max-width:820px){.pdp2{grid-template-columns:minmax(0,1fr)}.pdp2-media{position:static}}

/* ---- winkelwagen: groep (meerdere maten, zelfde opdruk) ---- */
.cartgroup{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:14px;background:#fff}
.cg-head{display:flex;align-items:center;gap:13px;padding:13px 15px;background:var(--panel2);border-bottom:1px solid var(--line)}
.cg-head .cl-img{width:52px;height:52px;border-radius:10px;overflow:hidden;background:#fff;display:grid;place-items:center;flex:none}
.cg-head .cl-img img{width:100%;height:100%;object-fit:cover}
.cg-ph{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase}
.cg-meta{display:flex;flex-direction:column;min-width:0}
.cg-meta b{font-size:15px}
.cg-staffel{font-size:12px;color:var(--gold-deep);font-weight:700;margin-top:2px}
.cg-rmall{margin-left:auto}
.cg-lines{padding:6px 15px}
.cg-line{display:grid;grid-template-columns:60px auto 1fr auto;align-items:center;gap:12px;padding:7px 0;border-bottom:1px solid var(--line)}
.cg-line:last-child{border-bottom:0}
.cg-size{font-weight:800;font-size:14px}
.cg-lp{text-align:right;font-weight:700;font-size:14px}
.cg-note{padding:9px 15px;background:var(--gold-soft);color:var(--gold-deep);font-size:12px;font-weight:600}

/* ===================== Configurator v3 ===================== */
/* stepper */
.stepper{display:inline-flex;align-items:center;border:1.5px solid var(--line2);border-radius:11px;overflow:hidden;background:#fff}
.stepper button{width:40px;height:42px;border:0;background:var(--panel2);font-size:20px;font-weight:700;color:var(--ink-soft);cursor:pointer;line-height:1;transition:.12s}
.stepper button:hover{background:var(--gold-soft);color:var(--gold-deep)}
.stepper input{width:56px;height:42px;border:0;border-left:1.5px solid var(--line2);border-right:1.5px solid var(--line2);text-align:center;font-size:16px;font-weight:700;font-family:inherit}
.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
/* maat-rijen */
.pxsizerows{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:560px){.pxsizerows{grid-template-columns:1fr}}
.pxsizerow{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff}
.pxsizerow-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pxsize-name{font-weight:800;font-size:15px}
.pxsize-stock{margin-top:8px;font-size:12.5px;color:var(--ink-soft)}
.pxsize-stock b{color:var(--ink)}
.stk{display:inline-block;width:10px;height:10px;border-radius:50%;vertical-align:middle;margin:-1px 7px 0 0;font-size:0;line-height:0}
.stk-green{background:#2e9c4f}.stk-amber{background:#c98a12}.stk-red{background:#c23b39}
/* drukpositie-kaarten */
.posgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:11px}
.poscard{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;border:1.6px solid var(--line2);border-radius:14px;padding:14px 10px 12px;background:#fff;cursor:pointer;transition:.14s}
.poscard:hover{border-color:var(--gold-deep);box-shadow:0 5px 16px rgba(0,0,0,.07)}
.poscard.on{border-color:var(--gold-deep);background:var(--gold-soft)}
.posic{width:58px;height:58px}
.posic-hi rect{fill:var(--gold-deep)}
.poscard.on .posic path{stroke:var(--gold-deep)}
.poscard-nm{font-weight:800;font-size:13.5px}
.poscard-ds{font-size:11.5px;color:var(--muted);line-height:1.3}
.poscard-check{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;background:var(--gold-deep);color:#fff;display:grid;place-items:center;opacity:0;transform:scale(.6);transition:.14s}
.poscard.on .poscard-check{opacity:1;transform:scale(1)}
.poscard-check .ico{color:#fff}
/* upload/proef-melding */
.pxupload-note{display:flex;gap:15px;align-items:flex-start;margin-top:16px;background:var(--gold-soft);border:1.5px solid var(--gold);border-radius:15px;padding:17px 19px;line-height:1.55;color:var(--ink)}
.pxupload-ic{color:var(--gold-deep);flex:none;width:44px;height:44px;border-radius:12px;background:#fff;display:grid;place-items:center;box-shadow:0 2px 7px rgba(0,0,0,.07)}
.pxupload-tx{display:flex;flex-direction:column;gap:3px}
.pxupload-h{font-size:16.5px;font-weight:800;color:var(--ink);letter-spacing:-.01em}
.pxupload-tx > span{font-size:14px;color:var(--ink-soft)}
.pxupload-note .ico{color:var(--gold-deep);flex:none;margin-top:1px}
@media(max-width:520px){.posgrid{grid-template-columns:1fr 1fr}}

/* ===================== Klantdashboard: drukbestanden & proef ===================== */
.artgroup{margin-bottom:16px}
.artgroup-head b{font-size:16px}
.artgroup-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.artpos-row{padding:16px 0;border-bottom:1px solid var(--line)}
.artpos-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.artpos-name{font-weight:800;font-size:15px}
.artpos-body{display:flex;flex-direction:column;gap:8px}
.artchip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:800;border-radius:99px;padding:3px 11px;white-space:nowrap}
.artchip.todo{color:#a3401e;background:#fdeee8;border:1px solid #f1c3b4}
.artchip.done{color:#2f7d4f;background:#e7f4ea;border:1px solid #b6dcc2}
.artpos-row:last-child{border-bottom:0}
.artfile{display:flex;align-items:center;gap:8px;font-size:13px}
.artfile a{display:inline-flex;align-items:center;gap:6px;color:var(--gold-deep);font-weight:600}
.artupload{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.artupload input[type=file]{font-size:12.5px;max-width:230px}
.btn.sm{padding:7px 13px;font-size:13px}
.linkbtn{border:0;background:none;cursor:pointer;color:var(--muted);font-size:15px}
.linkbtn.del{color:#c23b39}
.proofbox{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:14px;margin-top:14px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:center}
.proofbox.ok{background:#eaf7ee;border-color:#bfe6cb;color:#1c7a3e;display:flex;align-items:center;gap:8px}
.proofactions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.proofchg{display:flex;gap:6px;align-items:center}
.proofchg input{padding:8px 10px;border:1.5px solid var(--line2);border-radius:8px;font-size:13px;font-family:inherit}


/* ===================== Configurator v4 — accordion ===================== */
.pxacc{border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-top:6px}
.pxacc-master{width:100%;display:flex;align-items:center;gap:12px;background:linear-gradient(180deg,#fff,var(--gold-soft));border:0;border-bottom:1px solid var(--line);padding:16px 20px;font-family:inherit;font-size:16px;font-weight:800;color:var(--ink);cursor:pointer;text-align:left}
.pxm-ic{width:34px;height:34px;border-radius:9px;background:var(--gold-deep);color:#fff;display:grid;place-items:center;flex:none}
.pxm-ic .ico{color:#fff}
.pxm-txt{flex:1}
.pxm-arrow{color:var(--gold-deep);display:inline-flex}
.pxacc-master:hover{filter:brightness(.99)}
.pxacc-master .pxa-chev{transition:transform .28s ease;color:var(--gold-deep)}
.pxacc-master.open .pxa-chev{transform:rotate(180deg)}
.posconfirm{display:flex;justify-content:flex-end;margin:12px 0 4px}
.pxacc-body[hidden]{display:none}
.pxacc-body.reveal{animation:pxSlide .28s ease}
@keyframes pxSlide{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.pxa-item{border-top:1px solid var(--line)}
.pxa-item:first-child{border-top:0}
.pxa-head{width:100%;display:flex;align-items:center;gap:11px;background:#fff;border:0;padding:15px 18px;font-family:inherit;font-size:15px;font-weight:700;color:var(--ink);cursor:pointer;text-align:left}
.pxa-head:hover{background:var(--panel2)}
.pxa-n{width:24px;height:24px;flex:none;border-radius:50%;background:var(--line2);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:800;transition:background .2s}
.pxa-item.open .pxa-n{background:var(--gold-deep)}
.pxa-t{white-space:nowrap}
.pxa-sum{margin-left:auto;color:var(--gold-deep);font-weight:700;font-size:13.5px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:48%}
.pxa-chev{flex:none;color:var(--muted);transition:transform .28s ease}
.pxa-item.open .pxa-chev{transform:rotate(180deg);color:var(--gold-deep)}
.pxa-panel{max-height:0;overflow:hidden;transition:max-height .3s ease}
.pxa-inner{padding:4px 18px 20px}
.pxsummary{border-top:1px solid var(--line);padding:18px}
.pxship-row.unknown{border-color:#e7c98a;background:#fdf7ea}
.pxship-row.unknown b{color:#a9791a;font-weight:600;font-size:12.5px}
.pxship-row.unknown a{color:var(--gold-deep);font-weight:700}

/* ===================== Staffelkorting-strip + positieprijs ===================== */
.pxstaffel{margin:0 -18px 16px;padding:0 8px}
.pxst-h{font-size:15px;color:var(--ink-soft);margin-bottom:11px;line-height:1.45}
.pxst-h b{color:var(--ink)}
.pxst-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(58px,1fr));gap:6px}
.pxst-chip{display:flex;flex-direction:column;align-items:center;gap:2px;border:1px solid var(--line);border-radius:9px;padding:7px 4px;background:#fff;text-align:center}
.pxst-chip.on{border-color:var(--gold-deep);background:var(--gold-soft)}
.pxst-q{font-size:11px;color:var(--muted);font-weight:700;line-height:1}
.pxst-chip.on .pxst-q{color:var(--gold-deep)}
.pxst-p{font-size:12.5px;font-weight:800;color:var(--ink);line-height:1.1}
.pxst-chip.on .pxst-p{color:var(--gold-deep)}
.poscard-pr{font-size:11.5px;font-weight:800;color:var(--gold-deep);margin-top:2px}
.posgrid-note{font-size:12px;color:var(--muted);margin:11px 0 2px;line-height:1.5}

/* ===================== Productdetails + reset ===================== */
.pdp2-desc{font-size:14px;line-height:1.6;color:var(--ink-soft);margin:6px 0 14px}
.pdp2-specs{margin:2px 0 22px;border-top:1px solid var(--line)}
.pdp2-specs .spec{display:grid;grid-template-columns:132px 1fr;gap:14px;padding:8px 2px;border-bottom:1px solid var(--line);font-size:13.5px}
.pdp2-specs dt{color:var(--muted);font-weight:700}
.pdp2-specs dd{margin:0;color:var(--ink)}
.pxreset{display:block;width:100%;margin-top:10px;background:none;border:0;color:var(--muted);font-size:13px;font-weight:600;cursor:pointer;padding:8px;font-family:inherit}
.pxreset:hover{color:var(--gold-deep)}

/* kleurbolletjes in het detailblok (zelfde stijl als configurator) */
.spec-colors{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.spec-sw{width:22px;height:22px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line2)}

/* ===================== Preview-laadspinner ===================== */
.filespin{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;height:100%;min-height:120px;color:var(--muted)}
.filespin-ic{width:30px;height:30px;border-radius:50%;border:3px solid var(--line2);border-top-color:var(--gold-deep);animation:filespin .8s linear infinite}
.filespin-ic.sm{width:15px;height:15px;border-width:2px;display:inline-block;vertical-align:middle;margin-right:4px}
.filespin-t{font-size:12.5px;font-weight:700;letter-spacing:.02em}
.filespin-note{display:flex;align-items:center;gap:7px;color:var(--gold-deep)!important;font-weight:600}
@keyframes filespin{to{transform:rotate(360deg)}}

/* ===================== Productzoeker ===================== */
.searchbtn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;background:none;color:var(--ink);cursor:pointer;border-radius:10px;transition:.14s}
.searchbtn:hover,.searchbtn.on{background:var(--gold-soft);color:var(--gold-deep)}
.searchpanel{position:sticky;top:var(--hh,73px);z-index:55;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 30px rgba(0,0,0,.06);max-height:0;overflow:hidden;opacity:0;transition:max-height .24s ease,opacity .2s ease}
.searchpanel.on{max-height:88vh;opacity:1}
.searchpanel-in{max-width:none;margin:0}
.searchpanel-row{display:flex;align-items:center;gap:12px;padding-top:14px;padding-bottom:14px;padding-left:max(24px,calc((100% - var(--maxw))/2));padding-right:max(24px,calc((100% - var(--maxw))/2))}
.searchpanel-ic{color:var(--gold-deep);flex:none;display:inline-flex}
#searchInput{flex:1;border:0;outline:none;font-size:18px;font-family:inherit;color:var(--ink);background:none;padding:6px 0}
#searchInput::placeholder{color:var(--muted)}
.searchpanel-close{border:0;background:none;color:var(--muted);cursor:pointer;padding:6px;border-radius:8px;flex:none}
.searchpanel-close:hover{background:var(--panel2);color:var(--ink)}
.search-results{background:#fff;max-height:60vh;overflow:auto}
.search-results.has{border-top:1px solid var(--line)}
.sr-hint{padding:16px 24px;color:var(--muted);font-size:14px}
.sr-item{display:flex;align-items:center;gap:14px;padding:11px 24px;border-top:1px solid var(--line);text-decoration:none;color:var(--ink);transition:.1s}
.sr-item:hover,.sr-item.on{background:#FAF9F5}
.sr-img,.sr-sw{width:42px;height:42px;border-radius:9px;flex:none;object-fit:contain;background:var(--panel2)}
.sr-sw{border:1px solid var(--line2);box-shadow:inset 0 0 0 3px #fff}
.sr-txt{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.sr-name{font-weight:800;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sr-meta{font-size:12.5px;color:var(--muted)}
.sr-price{font-size:13px;font-weight:800;color:var(--gold-deep);white-space:nowrap}
.sr-more{padding:11px 24px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}
@media(max-width:700px){.searchpanel{top:var(--hh,65px)}.searchpanel-in{padding:12px 18px}#searchInput{font-size:16px}.sr-item{padding:10px 18px}}

/* ===================== Mobiele overflow-fix (product/assortiment/overzicht) ===================== */
.pdp2-cfg,.pdp2-media{min-width:0}
.pcard2-b b,.asrt-cat-b b,.crumbs,.pdp2-cfg h1,.sr-name{overflow-wrap:anywhere}
@media(max-width:640px){
  .prodgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .catgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .asrt-cats{grid-template-columns:1fr}
}
@media(max-width:380px){ .prodgrid,.catgrid{grid-template-columns:1fr} }

/* zoekresultaten */
.sr-all{display:block;padding:13px 24px;border-top:1px solid var(--line);font-weight:800;font-size:14px;color:var(--gold-deep);text-decoration:none;background:#FBF9F3}
/* inhoud (tekst + afbeelding) gecentreerd op --maxw; achtergrond/hover/balk lopen full-width */
.sr-item,.sr-hint,.sr-all,.sr-more{padding-left:max(24px,calc((100% - var(--maxw))/2));padding-right:max(24px,calc((100% - var(--maxw))/2))}
.sr-all:hover{background:#F5F1E7}
.pcard2-sw{width:64px;height:64px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px var(--line2)}
.search-empty{padding:10px 0 20px;display:flex;flex-direction:column;gap:16px;align-items:flex-start}

/* mobiele zijmarge voor alle telefoons (voorheen alleen ≤400px → 401–640px liep tegen de rand) */
@media(max-width:600px){ .wrap{padding-left:18px;padding-right:18px} }
@media(max-width:600px){ .searchpanel-row{padding:12px 18px} .sr-item,.sr-hint,.sr-all,.sr-more{padding-left:18px;padding-right:18px} }

/* ===================== Mobiele header — passend maken ===================== */
@media(max-width:640px){ .brandtxt{white-space:nowrap} .navtoggle{width:38px;height:38px} }
@media(max-width:600px){ .logo{font-size:20px} .crown{width:26px;height:22px} }
@media(max-width:480px){
  .logo{font-size:19px} .crown{width:25px;height:21px}
  .searchbtn,.cartbtn{width:36px;height:36px}
  .authbtn{width:36px;height:36px;padding:0;justify-content:center}   /* account-icoon terug (compact) */
  .topcta{gap:6px}
}
@media(max-width:400px){ .logo{font-size:17px} .crown{width:23px;height:19px} }
@media(max-width:360px){ .logo{font-size:15px} .crown{width:21px;height:18px} .searchbtn,.cartbtn,.authbtn{width:34px;height:34px} .top .wrap{gap:8px} .topcta{gap:5px} }

/* ===================== Loondruk-configurator ===================== */
.ld-cfg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:26px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}
.ld-cfg-form{display:flex;flex-direction:column;gap:16px}
.ld-field{display:flex;flex-direction:column;gap:7px}
.ld-field>span:first-child{font-weight:700;font-size:14px;color:var(--ink)}
.ld-inwrap{display:flex;align-items:center;border:1px solid var(--line2);border-radius:12px;background:#fff;overflow:hidden;transition:.14s}
.ld-inwrap:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}
.ld-inwrap input{flex:1;border:0;outline:none;font:inherit;font-size:17px;padding:12px 14px;background:none;color:var(--ink);width:100%;-moz-appearance:textfield}
.ld-inwrap em{font-style:normal;color:var(--muted);font-weight:700;font-size:14px;padding:0 14px 0 4px}
.ld-cfg-out{background:var(--panel2);border-radius:14px;padding:18px 20px;min-height:120px}
.ld-cfg-hint,.ld-cfg-bad{color:var(--muted);font-size:14.5px;line-height:1.5}
.ld-cfg-bad{color:#a3401e}
.ld-cfg-price,.ld-cfg-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.ld-cfg-price{border-bottom:1px dashed var(--line2);padding-bottom:10px;margin-bottom:8px}
.ld-cfg-price span,.ld-cfg-total span{color:var(--ink-soft);font-weight:600}
.ld-cfg-price b{font-size:26px;color:var(--gold-deep);font-family:'Plus Jakarta Sans'}
.ld-cfg-total b{font-size:17px;color:var(--ink)}
.ld-cfg-note{margin-top:8px;font-size:12.5px;color:var(--gold-deep);font-weight:700}
.ld-cfg-break{margin-top:14px;border-top:1px solid var(--line);padding-top:12px;display:flex;flex-direction:column;gap:7px}
.ld-cfg-break>div{display:flex;justify-content:space-between;gap:14px;font-size:13px}
.ld-cfg-break span{color:var(--muted)}.ld-cfg-break b{color:var(--ink);text-align:right;font-weight:700}
.ld-cfg-fine{margin-top:14px;font-size:12px;color:var(--muted);line-height:1.5}
.ld-cfg-out .btn{margin-top:14px;width:100%}
.ld-cfg-disc{margin-top:12px;font-size:12.5px;color:var(--muted)}
.ld-opt2{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;background:var(--gold-soft);border:1px solid #ecd9ad;border-radius:18px;padding:24px 28px}
.ld-opt2-b h3{font-size:20px;margin:6px 0 6px}
.ld-opt2-b p{color:var(--ink-soft);font-size:14.5px;max-width:60ch;margin:0}
@media(max-width:720px){.ld-cfg{grid-template-columns:1fr;gap:18px}.ld-opt2{flex-direction:column;align-items:flex-start}}

/* ===================== Offertepagina ===================== */
.off-hero{background:linear-gradient(165deg,var(--gold-soft) 0%,#fff 62%);border-bottom:1px solid var(--line)}
.off-hero-in{display:grid;grid-template-columns:1.5fr .9fr;gap:34px;align-items:center;padding-top:54px;padding-bottom:46px}
.off-hero-txt h1{font-size:clamp(30px,5vw,46px);line-height:1.05;margin:6px 0 14px}
.off-hero-txt h1 em{color:var(--gold-deep);font-style:normal}
.off-hero-txt .lead{max-width:60ch}
.off-brands{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}
.off-brand{display:flex;flex-direction:column;gap:1px;background:#fff;border:1px solid var(--line2);border-radius:14px;padding:12px 16px;position:relative;padding-left:44px;min-width:150px}
.off-brand-ic{position:absolute;left:13px;top:12px;color:var(--gold-deep);display:inline-flex;align-items:center}
.off-brand b{font-weight:800;font-size:15px}.off-brand b span{color:var(--gold-deep)}
.off-brand small{color:var(--muted);font-size:12px}
.off-hero-badge{display:flex;justify-content:center}
.off-badge-in{background:#fff;border:1px solid var(--line2);border-radius:20px;box-shadow:0 18px 40px rgba(0,0,0,.07);padding:26px 24px;text-align:center;max-width:250px}
.off-badge-ic{display:inline-flex;width:60px;height:60px;align-items:center;justify-content:center;background:var(--gold-soft);color:var(--gold-deep);border-radius:16px;margin-bottom:12px}
.off-badge-in b{display:block;font-size:20px;margin-bottom:6px}
.off-badge-in small{color:var(--muted);font-size:13px;line-height:1.5}

.off-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:30px;align-items:start}
.off-form,.off-done{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px}
.off-err{background:#fbe9e4;border:1px solid #f1c3b4;color:#a3401e;border-radius:12px;padding:12px 14px;font-size:14px;margin-bottom:20px}
.off-block{margin-bottom:24px}
.off-label{display:flex;align-items:center;gap:9px;font-weight:800;font-size:15px;margin-bottom:12px}
.off-label-ic{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;background:var(--gold-soft);color:var(--gold-deep);border-radius:9px}
.off-chips{display:flex;flex-wrap:wrap;gap:9px}
.off-chip{position:relative;cursor:pointer}
.off-chip input{position:absolute;opacity:0;pointer-events:none}
.off-chip span{display:inline-block;padding:9px 15px;border:1.5px solid var(--line2);border-radius:999px;font-size:14px;font-weight:600;color:var(--ink-soft);transition:.14s;user-select:none}
.off-chip input:checked+span{background:var(--gold-soft);border-color:var(--gold);color:var(--gold-deep)}
.off-chip:hover span{border-color:var(--gold)}
.off-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.off-field{display:flex;flex-direction:column;gap:6px}
.off-field>span{font-size:13px;font-weight:700;color:var(--ink-soft)}
.off-field input,.off-field textarea{border:1px solid var(--line2);border-radius:11px;padding:12px 13px;font:inherit;font-size:15px;color:var(--ink);background:#fff;width:100%;transition:.14s;resize:vertical}
.off-field input:focus,.off-field textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}
.off-field.bad input,.off-field.bad textarea{border-color:#e0a08c;background:#fdf6f3}
.off-submit{display:flex;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:20px}
.off-submit .btn{gap:9px}
.off-submit-note{color:var(--muted);font-size:13px}
.off-done{text-align:center;padding:44px 30px}
.off-done-ic{display:inline-flex;width:66px;height:66px;align-items:center;justify-content:center;background:#e7f4ea;color:#2f7d4f;border-radius:50%;margin-bottom:16px}
.off-done h2{margin:0 0 10px}.off-done p{color:var(--ink-soft);max-width:52ch;margin:0 auto 22px}

.off-side{display:flex;flex-direction:column;gap:18px}
.off-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 22px}
.off-card h3{font-size:16px;margin:0 0 14px}
.off-usps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.off-usps li{display:flex;align-items:center;gap:11px;font-size:14px;color:var(--ink-soft)}
.off-usps li span{display:inline-flex;width:30px;height:30px;flex:none;align-items:center;justify-content:center;background:var(--gold-soft);color:var(--gold-deep);border-radius:9px}
.off-contact .off-line{display:flex;align-items:center;gap:11px;padding:8px 0;font-size:14px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.off-contact .off-line:last-child{border-bottom:0}
.off-contact .off-line span{display:inline-flex;width:28px;height:28px;flex:none;align-items:center;justify-content:center;color:var(--gold-deep)}
.off-contact a.off-line:hover{color:var(--gold-deep)}
.off-two{background:linear-gradient(165deg,var(--gold-soft),#fff);border-color:#ecd9ad}
.off-two-row{display:flex;gap:12px;align-items:flex-start;padding:10px 0}
.off-two-row+.off-two-row{border-top:1px solid #ecd9ad}
.off-two-ic{color:var(--gold-deep);flex:none;display:inline-flex;align-items:center;margin-top:2px}
.off-two-row b{display:block;font-size:15px}.off-two-row small{color:var(--ink-soft);font-size:13px;line-height:1.45}
@media(max-width:900px){.off-grid{grid-template-columns:1fr}.off-hero-in{grid-template-columns:1fr}.off-hero-badge{justify-content:flex-start}}
@media(max-width:560px){.off-fields{grid-template-columns:1fr}}

/* ===================== Winkelwagen (herontwerp) ===================== */
.cart-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:26px;align-items:start}
.cart-items{display:flex;flex-direction:column;gap:16px;min-width:0}
.citem{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px;box-shadow:0 1px 0 rgba(0,0,0,.02)}
.citem-top{display:flex;align-items:center;gap:14px}
.citem-img{width:58px;height:58px;flex:none;border-radius:11px;background:var(--panel2);border:1px solid var(--line2);overflow:hidden;display:flex;align-items:center;justify-content:center}
.citem-img img{width:100%;height:100%;object-fit:contain}
.citem-ph{font-size:11px;font-weight:700;color:var(--muted);text-align:center;padding:2px;line-height:1.1}
.citem-head{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.citem-name{font-size:16px;font-weight:800;line-height:1.2;overflow-wrap:anywhere}
.citem-sub{font-size:12.5px;color:var(--muted)}
.citem-lp{font-size:17px;font-weight:800;color:var(--ink);white-space:nowrap}
.citem-opts{margin:14px 0 4px;border-top:1px solid var(--line);padding-top:12px;display:flex;flex-direction:column;gap:8px}
.copt{display:flex;gap:14px;align-items:baseline;font-size:13.5px}
.copt-l{flex:none;width:104px;color:var(--muted);font-weight:600}
.copt-v{color:var(--ink);font-weight:600;overflow-wrap:anywhere}
.copt-v small{color:var(--muted);font-weight:500}
.citem-sizes{margin-top:12px;border-top:1px solid var(--line);padding-top:12px}
.csz-h{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
.csz-row{display:flex;align-items:center;gap:12px;padding:5px 0}
.csz-size{width:52px;flex:none;font-weight:700;font-size:14px}
.csz-step{display:inline-flex;align-items:center;border:1px solid var(--line2);border-radius:9px;overflow:hidden}
.csz-step button{width:32px;height:34px;border:0;background:#fff;font-size:17px;cursor:pointer;color:var(--ink);line-height:1}
.csz-step button:hover{background:var(--gold-soft);color:var(--gold-deep)}
.csz-step input{width:44px;height:34px;border:0;border-left:1px solid var(--line2);border-right:1px solid var(--line2);text-align:center;font:inherit;font-weight:700;font-size:14px;-moz-appearance:textfield}
.csz-lp{margin-left:auto;font-weight:700;font-size:14px;white-space:nowrap}
.csz-rm{width:26px;height:26px;flex:none;border:0;background:none;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;border-radius:7px}
.csz-rm:hover{background:#fbe9e4;color:#a3401e}
.csz-rmpad{width:26px;flex:none}
.citem-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;border-top:1px solid var(--line);padding-top:13px}
.cact{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border:1px solid var(--line2);border-radius:9px;background:#fff;font-size:13px;font-weight:700;color:var(--ink-soft);cursor:pointer;text-decoration:none;transition:.14s}
.cact:hover{border-color:var(--gold);color:var(--gold-deep);background:var(--gold-soft)}
.cact-del:hover{border-color:#e0a08c;color:#a3401e;background:#fdf3ef}
.cart-dtfnote{background:var(--gold-soft);border:1px solid #ecd9ad;border-radius:12px;padding:12px 14px;font-size:13px;color:var(--ink-soft)}
/* overzicht rechts */
.cart-summary{position:sticky;top:92px}
.csum-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 22px;box-shadow:0 12px 30px rgba(0,0,0,.05)}
.csum-card h3{font-size:16px;margin:0 0 14px}
.csum-row{display:flex;justify-content:space-between;align-items:baseline;padding:7px 0;font-size:14px;color:var(--ink-soft)}
.csum-row b{color:var(--ink);font-weight:700}
.csum-sub{border-top:1px solid var(--line);margin-top:4px;padding-top:12px}
.csum-sub span{font-weight:700;color:var(--ink)}
.csum-sub b{font-size:20px;color:var(--gold-deep);font-family:'Plus Jakarta Sans'}
.csum-note{font-size:12px;color:var(--muted);margin:8px 0 16px;line-height:1.5}
.csum-btn{width:100%;justify-content:center}
.csum-cont{display:block;text-align:center;margin-top:12px;font-size:13.5px;font-weight:700;color:var(--ink-soft);text-decoration:none}
.csum-cont:hover{color:var(--gold-deep)}
.cart-empty{text-align:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:50px 24px;display:flex;flex-direction:column;align-items:center;gap:12px}
.cart-empty-ic{display:inline-flex;width:70px;height:70px;align-items:center;justify-content:center;background:var(--gold-soft);color:var(--gold-deep);border-radius:50%}
.cart-empty h3{margin:0}.cart-empty p{color:var(--muted);margin:0 0 10px;max-width:40ch}
@media(max-width:860px){.cart-grid{grid-template-columns:1fr}.cart-summary{position:static}}

/* USP-blok: nette scheidingslijnen bij 2 kolommen (tablet) */
@media(max-width:980px) and (min-width:561px){
  .usp:nth-child(2n)::after{display:none}
  .usp:nth-child(1),.usp:nth-child(2){border-bottom:1px solid var(--line)}
}

/* ===================== Themapagina ===================== */
.thm-hero{background:linear-gradient(160deg,var(--gold-soft) 0%,#FCFBF8 55%,#fff 100%);border-bottom:1px solid var(--line)}
.thm-hero-in{display:grid;grid-template-columns:1.5fr .7fr;gap:34px;align-items:center;padding-top:52px;padding-bottom:48px}
.thm-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep);background:#fff;border:1px solid #ecd9ad;padding:6px 12px 6px 8px;border-radius:999px}
.thm-eyebrow-ic{display:inline-flex}
.thm-hero-txt h1{font-size:clamp(32px,5vw,50px);font-weight:800;letter-spacing:-.03em;line-height:1.05;margin:14px 0 12px}
.thm-hero-txt .lead{font-size:19px;color:var(--ink);font-weight:600;max-width:60ch;margin:0 0 10px}
.thm-blurb{color:var(--ink-soft);max-width:64ch;margin:0 0 20px;line-height:1.6}
.thm-hero-art{display:grid;place-items:center}
.thm-hero-badge{display:inline-flex;width:150px;height:150px;align-items:center;justify-content:center;background:#fff;border:1px solid #ecd9ad;color:var(--gold-deep);border-radius:30px;box-shadow:0 20px 44px rgba(148,109,28,.14)}
.thm-highlights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.thm-hl{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.thm-hl-ic{display:inline-flex;width:44px;height:44px;flex:none;align-items:center;justify-content:center;background:var(--gold-soft);color:var(--gold-deep);border-radius:12px}
.thm-hl b{font-size:14.5px;font-weight:700;line-height:1.25}
@media(max-width:900px){.thm-hero-in{grid-template-columns:1fr}.thm-hero-art{order:-1;justify-items:start}.thm-highlights{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.thm-highlights{grid-template-columns:1fr}}

/* ===================== Klantdashboard ===================== */
.dash{display:grid;grid-template-columns:250px minmax(0,1fr);gap:26px;align-items:start}
.dash-side{position:sticky;top:92px;display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}
.dash-user{display:flex;align-items:center;gap:12px;padding:6px 8px 14px;border-bottom:1px solid var(--line);margin-bottom:8px}
.dash-ava{display:inline-flex;width:42px;height:42px;flex:none;align-items:center;justify-content:center;background:var(--gold-soft);color:var(--gold-deep);border-radius:50%;font-weight:800;font-size:15px;text-transform:uppercase}
.dash-user-t{min-width:0;display:flex;flex-direction:column}
.dash-user-t b{font-size:14.5px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dash-user-t span{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dash-nav{display:flex;flex-direction:column;gap:2px}
.dash-nav a{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:10px;text-decoration:none;color:var(--ink-soft);font-weight:700;font-size:14px;transition:.12s}
.dash-nav a:hover{background:var(--panel2);color:var(--ink)}
.dash-nav a.on{background:var(--gold-soft);color:var(--gold-deep)}
.dash-nav a svg{flex:none}
.dash-logout{margin-top:8px;border-top:1px solid var(--line);padding-top:10px}
.dash-logout button{width:100%;display:flex;align-items:center;gap:11px;padding:11px 12px;border:0;background:none;color:var(--muted);font-weight:700;font-size:14px;cursor:pointer;border-radius:10px;font-family:inherit}
.dash-logout button:hover{background:#fbe9e4;color:#a3401e}
.dash-main{min-width:0}
.dash-h{margin:0 0 6px;font-size:24px}
.dash-lead{color:var(--muted);margin:0 0 22px}
.dash-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:24px}
.dash-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}
.dash-card .dc-ic{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;background:var(--gold-soft);color:var(--gold-deep);border-radius:11px;margin-bottom:10px}
.dash-card b{display:block;font-size:26px;font-family:'Plus Jakarta Sans';line-height:1}
.dash-card span{font-size:13px;color:var(--muted)}
.dash-sec{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;margin-bottom:18px}
.dash-sec-h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.dash-sec-h h3{margin:0;font-size:16px}
.dash-sec-h a{font-size:13.5px;font-weight:700;color:var(--gold-deep);text-decoration:none}
/* bestellingenlijst */
.ord-row{padding:14px 0;border-top:1px solid var(--line)}
.ord-main{display:grid;grid-template-columns:auto 1fr auto auto;gap:14px;align-items:center}
.ord-right{display:flex;align-items:center;gap:14px}
.ord-tasks{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}
.ord-tasks-lbl{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.ord-task{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:#8a5a12;background:#fff7e8;border:1px solid #f0d79a;border-radius:99px;padding:4px 11px;text-decoration:none}
.ord-task:hover{background:#fcefd2;border-color:#e8c477}
.ord-task.done{color:#2f7d4f;background:#e7f4ea;border-color:#b6dcc2;cursor:default}
@media(max-width:640px){.ord-main{grid-template-columns:1fr auto;row-gap:6px}.ord-main>div:nth-child(2){grid-column:1/-1;order:3}.ord-right{grid-column:1/-1;order:4;justify-content:space-between}}
.ord-row:first-child{border-top:0}
.ord-num{font-weight:800;font-size:14.5px}
.ord-meta{color:var(--muted);font-size:12.5px}
.ord-badge{font-size:11.5px;font-weight:800;padding:5px 11px;border-radius:999px;white-space:nowrap}
.ord-badge.b-open{background:#fdf1dd;color:#8a5a12}.ord-badge.b-paid{background:#e7f4ea;color:#2f7d4f}.ord-badge.b-proc{background:#eaf0fb;color:#33518c}.ord-badge.b-sent{background:var(--gold-soft);color:var(--gold-deep)}.ord-badge.b-plain{background:var(--panel2);color:var(--ink-soft)}
.ord-total{font-weight:800;font-size:14.5px;white-space:nowrap}
.ord-link{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:13px;color:var(--ink);text-decoration:none;border:1px solid var(--line2);padding:7px 12px;border-radius:9px}
.ord-link:hover{border-color:var(--gold);color:var(--gold-deep)}
.dash-empty{text-align:center;color:var(--muted);padding:30px 10px}
.dash-empty .btn{margin-top:12px}
/* adresboek */
.addr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.addr-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:8px;position:relative}
.addr-card.is-def{border-color:var(--gold)}
.addr-badges{display:flex;gap:6px;flex-wrap:wrap}
.addr-badge{font-size:11px;font-weight:800;padding:3px 9px;border-radius:999px;background:var(--gold-soft);color:var(--gold-deep)}
.addr-label{font-weight:800;font-size:15px}
.addr-body{font-size:13.5px;color:var(--ink-soft);line-height:1.55}
.addr-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:10px;border-top:1px solid var(--line)}
.addr-acts a,.addr-acts button{font-size:12.5px;font-weight:700;border:1px solid var(--line2);background:#fff;border-radius:8px;padding:7px 11px;cursor:pointer;color:var(--ink-soft);text-decoration:none;font-family:inherit}
.addr-acts a:hover,.addr-acts button:hover{border-color:var(--gold);color:var(--gold-deep)}
.addr-acts .a-del:hover{border-color:#e0a08c;color:#a3401e}
.addr-add{border:1.5px dashed var(--line2);background:none;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--gold-deep);font-weight:700;cursor:pointer;min-height:150px;text-decoration:none}
.addr-add:hover{border-color:var(--gold);background:var(--gold-soft)}
.addr-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.addr-form .af-full{grid-column:1 / -1}
.af{display:flex;flex-direction:column;gap:6px}
.af>span{font-size:13px;font-weight:700;color:var(--ink-soft)}
.af input{border:1px solid var(--line2);border-radius:10px;padding:11px 12px;font:inherit;font-size:15px}
.af input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}
.af.bad input{border-color:#e0a08c;background:#fdf6f3}
.af-check{display:flex;gap:20px;flex-wrap:wrap;grid-column:1 / -1}
.af-check label{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--ink-soft)}
.dash-msg{background:#e7f4ea;border:1px solid #b6dcc2;color:#2f7d4f;border-radius:11px;padding:11px 14px;font-size:14px;font-weight:600;margin-bottom:16px}
.dash-msg.bad{background:#fbe9e4;border-color:#f1c3b4;color:#a3401e}
.dash-msg.info{background:var(--gold-soft);border-color:#e7d4a6;color:var(--gold-deep)}
.dash-back{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13.5px;font-weight:600;text-decoration:none;margin-bottom:10px}
.dash-back:hover{color:var(--gold-deep)}
.dash-head-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.dash-head-row .dash-h{margin:0}
.ord-badge.b-rejected{background:#fbe9e4;color:#a3401e}
.qt{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:4px}
.qt-head,.qt-row{display:grid;grid-template-columns:1fr 78px 110px 110px;gap:8px;padding:11px 14px;align-items:center}
.qt-head{background:var(--panel2);font-size:12.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.qt-row{border-top:1px solid var(--line);font-size:14px}
.qt-row span:first-child{font-weight:600;color:var(--ink)}
.qt-c{text-align:right;font-variant-numeric:tabular-nums}
.qt-tot{margin:14px 0 4px;margin-left:auto;max-width:320px}
.qt-tot-row{display:flex;justify-content:space-between;padding:5px 2px;font-size:14px;color:var(--ink-soft)}
.qt-tot-row span:last-child{font-variant-numeric:tabular-nums}
.qt-tot-grand{border-top:1px solid var(--line2);margin-top:6px;padding-top:12px;font-weight:800;font-size:17px;color:var(--ink)}
.qt-tot-grand span:last-child{color:var(--gold-deep)}
.qt-decide{max-width:560px}
.qt-remark{display:block;margin-bottom:14px}
.qt-remark span{display:block;font-size:13.5px;font-weight:600;color:var(--ink-soft);margin-bottom:6px}
.qt-remark textarea{width:100%;border:1px solid var(--line2);border-radius:10px;padding:11px 13px;font:inherit;font-size:14px;resize:vertical;background:#fff;box-sizing:border-box}
.qt-remark textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}
.qt-btns{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:640px){.qt-head,.qt-row{grid-template-columns:1fr 52px 78px 82px;gap:6px;padding:10px;font-size:13px}.qt-tot{max-width:none}.qt-btns .btn{flex:1 1 auto;justify-content:center}}
@media(max-width:820px){.dash{grid-template-columns:1fr}.dash-side{position:static;flex-direction:row;flex-wrap:wrap;align-items:center}.dash-nav{flex-direction:row;flex-wrap:wrap;flex:1}.dash-user{border-bottom:0;margin:0;padding:6px}.dash-logout{margin:0;border:0;padding:0;width:auto}.dash-cards{grid-template-columns:1fr}.addr-grid{grid-template-columns:1fr}.addr-form{grid-template-columns:1fr}}

/* Wachtwoord vergeten */
.auth-forgot{text-align:right;margin:-6px 0 4px}
.auth-forgot a{font-size:13px;font-weight:700;color:var(--gold-deep);text-decoration:none}
.auth-forgot a:hover{color:var(--gold-deep)}
.authcard-solo{max-width:460px;margin:0 auto}
.auth-note{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:14px;color:var(--ink-soft);line-height:1.55}
.auth-note.ok{background:#e7f4ea;border-color:#b6dcc2;color:#2f7d4f}
.auth-alt{margin:16px 0 0;text-align:center;font-size:14px}
.auth-alt a{font-weight:700;color:var(--ink-soft);text-decoration:none}
.auth-alt a:hover{color:var(--gold-deep)}

/* ===================== Drag & drop drukbestand-upload ===================== */
.dz-wrap{margin-top:6px}
.dropzone{border:2px dashed var(--line2);border-radius:14px;background:linear-gradient(180deg,#fff,var(--panel2));padding:22px 18px;text-align:center;cursor:pointer;transition:.15s;position:relative}
.dropzone:hover{border-color:var(--gold);background:var(--gold-soft)}
.dropzone.drag{border-color:var(--gold-deep);background:var(--gold-soft);box-shadow:0 0 0 4px var(--gold-soft)}
.dz-in{display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}
.dropzone.compact{padding:11px 16px;text-align:left}
.dropzone.compact .dz-in{flex-direction:row;align-items:center;gap:11px;justify-content:flex-start}
.dropzone.compact .dz-ic{width:36px;height:36px;margin:0;border-radius:9px}
.dz-line{font-size:13px;color:var(--ink-soft);line-height:1.35}
.dz-line b{color:var(--ink)}
.dz-ic{display:inline-flex;width:52px;height:52px;align-items:center;justify-content:center;background:var(--gold-soft);color:var(--gold-deep);border-radius:14px;margin-bottom:2px}
.dropzone b{font-size:15px}
.dz-sub{font-size:12.5px;color:var(--muted)}
.dz-browse{color:var(--gold-deep);font-weight:800;pointer-events:auto;cursor:pointer}
.dz-results{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.dz-row{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.dz-row.ok{border-color:#b6dcc2;background:#f5fbf7}
.dz-row.bad{border-color:#f1c3b4;background:#fdf5f2}
.dz-row-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.dz-fn{font-weight:700;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dz-pct{font-size:12px;font-weight:800;color:var(--muted);white-space:nowrap}
.dz-check{color:#2f7d4f}.dz-x{color:#a3401e}
.dz-bar{height:7px;border-radius:99px;background:var(--panel2);overflow:hidden}
.dz-bar-fill{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--gold-deep));border-radius:99px;transition:width .15s}
.dz-row.ok .dz-bar-fill{background:#3f9d63}.dz-row.bad .dz-bar-fill{background:#c9765a}
.dz-row.checking .dz-bar-fill{background:linear-gradient(90deg,var(--gold-soft),var(--gold),var(--gold-soft));background-size:200% 100%;animation:dzshine 1s linear infinite}
@keyframes dzshine{to{background-position:-200% 0}}
.dz-msg{margin-top:8px}
.dz-msg:empty{display:none}
.dz-dim{display:inline-block;font-size:12px;font-weight:700;color:var(--ink-soft);background:var(--panel2);border:1px solid var(--line2);border-radius:7px;padding:2px 9px}
.dz-err,.dz-warn{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:5px}
.dz-err li{font-size:13px;color:#a3401e;padding-left:20px;position:relative;line-height:1.45}
.dz-err li::before{content:"\2717";position:absolute;left:0;font-weight:800}
.dz-warn li{font-size:12.5px;color:#8a5a12;padding-left:20px;position:relative;line-height:1.45}
.dz-warn li::before{content:"!";position:absolute;left:2px;font-weight:800}

/* Betaalpaneel op de orderpagina */
.paypanel{display:flex;align-items:center;gap:16px;flex-wrap:wrap;border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin:0 0 22px}
.paypanel .pp-ic{display:inline-flex;width:46px;height:46px;flex:none;align-items:center;justify-content:center;border-radius:12px}
.paypanel .pp-t{flex:1;min-width:200px;display:flex;flex-direction:column;gap:2px}
.paypanel .pp-t b{font-size:16px}
.paypanel .pp-t span{font-size:13.5px;color:var(--ink-soft);line-height:1.5}
.paypanel .pp-act{flex:none}
.paypanel .pp-note{font-size:13px;color:var(--muted)}
.paypanel.is-open{background:linear-gradient(180deg,var(--gold-soft),#fff);border-color:#ecd9ad}
.paypanel.is-open .pp-ic{background:#fff;color:var(--gold-deep);border:1px solid #ecd9ad}
.paypanel.is-paid{background:#f5fbf7;border-color:#b6dcc2}
.paypanel.is-paid .pp-ic{background:#e7f4ea;color:#2f7d4f}
.paypanel.is-account{background:var(--panel2)}
.paypanel.is-account .pp-ic{background:#fff;color:var(--ink-soft);border:1px solid var(--line2)}
.artfile-lock{font-size:12px;opacity:.7;margin-left:2px}

/* ===================== Orderpagina: taken, regels, upload/proef ===================== */
/* Taakbalk */
.tasks{background:#fff7e8;border:1px solid #f0d79a;border-radius:14px;padding:14px 18px;margin:0 0 18px}
.tasks-h{display:flex;align-items:center;gap:9px;font-weight:800;font-size:14.5px;color:#8a5a12;margin-bottom:8px}
.tasks-bang{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;background:#e8a91e;color:#fff;border-radius:50%;font-weight:900}
.tasks-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.tasks-list li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink)}
.task-ic{display:inline-flex;width:26px;height:26px;flex:none;align-items:center;justify-content:center;background:#fff;color:var(--gold-deep);border:1px solid #f0d79a;border-radius:8px}
/* Bestelregels */
.oline{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--line)}
.oline:first-of-type{border-top:0}
.oline-img{width:50px;height:50px;flex:none;border-radius:10px;background:var(--panel2);border:1px solid var(--line2);overflow:hidden;display:flex;align-items:center;justify-content:center}
.oline-img img{width:100%;height:100%;object-fit:contain}
.oline-ph{font-size:11px;font-weight:800;color:var(--muted)}
.oline-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.oline-name{font-size:15px;font-weight:800;line-height:1.2}
.oline-desc{font-size:12.5px;color:var(--muted)}
.oline-qty{font-weight:700;color:var(--ink-soft);white-space:nowrap}
.oline-price{font-weight:800;white-space:nowrap;min-width:80px;text-align:right}
.oline-tot{display:flex;justify-content:space-between;align-items:baseline;border-top:2px solid var(--line);margin-top:6px;padding-top:12px}
.oline-tot b{font-size:20px;color:var(--gold-deep);font-family:'Plus Jakarta Sans'}
/* Opdrukgroep */
/* Bestand-preview-kaarten */
.filegrid{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}
.filecard{width:300px;max-width:100%;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.filecard-thumb{position:relative;height:240px;background:repeating-conic-gradient(#f4f2ec 0% 25%,#fff 0% 50%) 50%/22px 22px;display:flex;align-items:center;justify-content:center;cursor:zoom-in}
.filecard-thumb img{max-width:100%;max-height:100%;object-fit:contain}
.filecard-thumb.noimg{background:var(--panel2);cursor:default}
.filecard-ext{font-size:15px;font-weight:800;color:var(--muted);letter-spacing:.05em}
.filecard-zoom{position:absolute;right:6px;bottom:6px;background:rgba(0,0,0,.55);color:#fff;font-size:11px;border-radius:6px;padding:2px 6px}
.filecard-name{padding:8px 10px 6px;font-size:12px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-top:1px solid var(--line)}
.filecard-acts{display:flex;gap:5px;padding:0 8px 9px}
.fc-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;font:inherit;font-size:11px;font-weight:700;padding:6px 4px;border:1px solid var(--line2);border-radius:7px;background:#fff;color:var(--ink-soft);text-decoration:none;cursor:pointer;white-space:nowrap}
.fc-btn:hover{border-color:var(--gold);color:var(--gold-deep);background:var(--gold-soft)}
.fc-btn.del:hover{border-color:#e0a08c;color:#a3401e;background:#fdf3ef}
.fc-btn.locked{flex:0 0 auto;cursor:default;opacity:.6}
.filecard-acts form{flex:1;display:flex}
/* Drukproef-paneel */
.proofpanel{border:1px solid #ecd9ad;background:linear-gradient(180deg,var(--gold-soft),#fff);border-radius:14px;padding:16px 18px;margin-top:14px}
.proofpanel-h{font-size:13.5px;color:var(--ink-soft);margin-bottom:12px}
.proof-badge{display:inline-block;background:var(--gold-deep);color:#fff;font-size:11.5px;font-weight:800;border-radius:99px;padding:3px 11px;margin-right:6px}
.proofpanel-body{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:18px;align-items:start}
.proof-preview{position:relative;border:1px solid var(--line2);border-radius:12px;overflow:hidden;background:#fff;cursor:zoom-in;display:flex;align-items:center;justify-content:center;min-height:150px}
.proof-preview img{width:100%;height:auto;display:block}
.proof-actions{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.proof-reject{width:100%;border:1px solid var(--line2);border-radius:10px;background:#fff;padding:0}
.proof-reject summary{cursor:pointer;padding:10px 14px;font-weight:700;font-size:13.5px;color:var(--ink-soft);list-style:none}
.proof-reject summary::-webkit-details-marker{display:none}
.proof-reject[open] summary{border-bottom:1px solid var(--line)}
.proof-reject form{padding:12px 14px;display:flex;flex-direction:column;gap:10px}
.proof-reject textarea{border:1px solid var(--line2);border-radius:9px;padding:10px;font:inherit;font-size:14px;resize:vertical}
.proof-reject textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}
.proof-open{font-size:13px;font-weight:700;color:var(--gold-deep);text-decoration:none}
.proofbox.warn{background:#fff7e8;border:1px solid #f0d79a;color:#8a5a12;border-radius:12px;padding:14px 16px}
@media(max-width:640px){.proofpanel-body{grid-template-columns:1fr}}
/* Lightbox */
.lb-overlay{position:fixed;inset:0;background:rgba(20,18,14,.82);z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;animation:lbfade .15s ease}
@keyframes lbfade{from{opacity:0}to{opacity:1}}
.lb-inner{position:relative;max-width:92vw;max-height:90vh}
.lb-inner img{background:transparent}
.lb-close{position:absolute;top:-14px;right:-14px;width:38px;height:38px;border-radius:50%;border:0;background:#fff;color:var(--ink);font-size:22px;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.3)}
.pw-banner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:linear-gradient(180deg,var(--gold-soft),#fff);border:1px solid #ecd9ad;border-radius:14px;padding:14px 18px;margin-bottom:18px}
.pw-banner-ic{display:inline-flex;width:42px;height:42px;flex:none;align-items:center;justify-content:center;background:#fff;color:var(--gold-deep);border:1px solid #ecd9ad;border-radius:11px}
.pw-banner-t{flex:1;min-width:200px;display:flex;flex-direction:column;gap:2px}
.pw-banner-t b{font-size:15px}.pw-banner-t span{font-size:13px;color:var(--ink-soft)}

/* Tijdlijn */
.tl{list-style:none;margin:0;padding:0}
.tl-item{position:relative;display:flex;gap:14px;padding:0 0 20px 4px}
.tl-item:last-child{padding-bottom:0}
.tl-dot{position:relative;z-index:1;width:24px;height:24px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;background:#fff;border:2px solid var(--line2);color:transparent}
.tl-item:not(:last-child) .tl-dot::after{content:"";position:absolute;top:24px;left:50%;transform:translateX(-50%);width:2px;height:calc(100% + 20px - 24px);background:var(--line2)}
.tl-item.tl-done .tl-dot{background:#3f9d63;border-color:#3f9d63;color:#fff}
.tl-item.tl-done:not(:last-child) .tl-dot::after{background:#bfe0cb}
.tl-item.tl-current .tl-dot{border-color:var(--gold);background:var(--gold-soft);color:var(--gold-deep)}
.tl-c{display:flex;flex-direction:column;gap:1px;padding-top:1px}
.tl-c b{font-size:14.5px;line-height:1.2}
.tl-item.tl-upcoming .tl-c b{color:var(--muted)}
.tl-c span{font-size:12.5px;color:var(--muted)}
.tl-item.tl-current .tl-c b{color:var(--gold-deep)}
/* Verzendadres */
.shipaddr-body{font-size:14px;color:var(--ink-soft);line-height:1.6}
.shipedit{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.shipedit summary{cursor:pointer;font-weight:700;font-size:13.5px;color:var(--gold-deep);list-style:none}
.shipedit summary::-webkit-details-marker{display:none}
.shipedit summary::before{content:"✎ ";}
.shipbook{margin-top:12px;display:flex;flex-direction:column;gap:8px}
.shipbook-h{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.shipbook-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.shipbook-t{display:flex;flex-direction:column;min-width:0}
.shipbook-t b{font-size:13.5px}.shipbook-t span{font-size:12.5px;color:var(--muted)}
.shipbook-or{margin:14px 0 6px;font-size:12.5px;color:var(--muted);text-align:center;position:relative}

/* Adres-autofill statusmelding */
.afill-status{font-size:12px;margin-top:5px;color:var(--muted);min-height:1em}
.afill-status.on{color:var(--gold-deep)}
.afill-status.ok{color:#2f7d4f;font-weight:600}
.afill-status.warn{color:#a3401e}
.dk-field .afill-status{margin-top:4px}

/* Achtergrond-check (transparantie) op preview-kaarten */
.bgsw-row{position:absolute;left:6px;bottom:6px;display:flex;gap:4px;opacity:.85}
.filecard-thumb:hover .bgsw-row{opacity:1}
.bgsw{width:16px;height:16px;border-radius:5px;border:1.5px solid rgba(255,255,255,.9);box-shadow:0 1px 3px rgba(0,0,0,.35);cursor:pointer;padding:0}
.bgsw.on{outline:2px solid var(--gold);outline-offset:1px}
.bgsw-checker{background:repeating-conic-gradient(#c9c6bd 0% 25%,#fff 0% 50%) 50%/8px 8px}
/* Lightbox-stage + achtergrondbalk */
.lb-stage{display:flex;align-items:center;justify-content:center;border-radius:10px;overflow:hidden;max-width:92vw;max-height:78vh;padding:14px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.lb-stage img{max-width:88vw;max-height:74vh;display:block}
.lb-bar{display:flex;align-items:center;gap:8px;justify-content:center;margin-top:12px;background:rgba(255,255,255,.1);backdrop-filter:blur(4px);padding:8px 12px;border-radius:99px}
.lb-bar-lbl{color:#fff;font-size:12.5px;font-weight:600;margin-right:2px}
.lb-sw{width:24px;height:24px;border-radius:50%;border:2px solid rgba(255,255,255,.85);cursor:pointer;padding:0}
.lb-sw.on{outline:2px solid var(--gold);outline-offset:2px}
.lb-sw[data-bg="checker"]{background:repeating-conic-gradient(#c9c6bd 0% 25%,#fff 0% 50%) 50%/10px 10px}
/* Betaling wordt verwerkt */
.paypanel.is-pending{background:#fff7e8;border-color:#f0d79a}
.pp-spin svg{animation:ppspin 1s linear infinite}
@keyframes ppspin{to{transform:rotate(360deg)}}

/* Checkout verzendadres-blok */
.dk-ship{margin-top:16px;border-top:1px solid var(--line);padding-top:16px}
.dk-ship-h{font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:10px}
.dk-ship-toggle{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dk-ship-opt{display:flex;align-items:center;gap:9px;border:1.5px solid var(--line2);border-radius:11px;padding:12px 14px;background:#fff;font:inherit;font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer;text-align:left}
.dk-ship-opt:hover{border-color:var(--gold)}
.dk-ship-opt.on{border-color:var(--gold);background:var(--gold-soft)}
.dk-ship-dot{width:16px;height:16px;flex:none;border-radius:50%;border:2px solid var(--line2);position:relative}
.dk-ship-opt.on .dk-ship-dot{border-color:var(--gold-deep)}
.dk-ship-opt.on .dk-ship-dot::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--gold-deep)}
.dk-shipfields{display:none;flex-direction:column;gap:12px;margin-top:14px}
.dk-shipfields .dk-field label{font-size:12.5px;font-weight:700;color:var(--ink-soft);display:block;margin-bottom:5px}
.dk-shipfields select,.dk-shipfields input{width:100%}
@media(max-width:560px){.dk-ship-toggle{grid-template-columns:1fr}}

/* Winkelwagen + afrekenen op dezelfde hoogte als de transfers-hero */
.sec-align-hero{padding-top:52px}
@media(max-width:640px){.sec-align-hero{padding-top:36px}}

/* ===================== Contactpagina ===================== */
.ct-hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.ct-hero-cta .btn{gap:8px}
/* Contact-methodekaarten */
.ct-methods{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ct-method{display:flex;flex-direction:column;align-items:flex-start;gap:3px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;text-decoration:none;color:var(--ink);transition:border-color .15s,box-shadow .15s,transform .15s}
.ct-method:not(.ct-method-static):hover{border-color:var(--gold);box-shadow:0 10px 30px rgba(185,138,43,.12);transform:translateY(-2px)}
.ct-method-ic{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;background:var(--gold-soft);color:var(--gold-deep);margin-bottom:10px}
.ct-method b{font-size:15px}
.ct-method-v{font-weight:700;color:var(--gold-deep);font-size:14.5px;word-break:break-word}
.ct-method small{color:var(--muted);font-size:12.5px}
/* Kaart / map */
.ct-mapcard{padding:0;overflow:hidden}
.ct-map{position:relative;height:210px;background:var(--panel2)}
.ct-map iframe{width:100%;height:100%;border:0;display:block;filter:saturate(.9)}
.ct-map-link{display:flex;align-items:center;gap:8px;padding:13px 16px;font-size:13px;font-weight:700;color:var(--ink);text-decoration:none;border-top:1px solid var(--line)}
.ct-map-link:hover{color:var(--gold-deep)}
.ct-map-link svg{flex:none;color:var(--gold-deep)}
/* Formulier-kop */
.ct-formhead{margin-bottom:18px}
.ct-formhead h2{font-size:24px;font-weight:800;letter-spacing:-.02em;margin:0 0 4px}
.ct-formhead p{color:var(--muted);margin:0}
/* Bedrijfsgegevens */
.ct-bizwrap{padding-bottom:66px}
.ct-biz{background:var(--bg2);border:1px solid var(--line);border-radius:18px;padding:26px 28px}
.ct-biz-h{display:flex;align-items:center;gap:10px;font-weight:800;font-size:15px;margin-bottom:18px}
.ct-biz-ic{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:#fff;border:1px solid var(--line);color:var(--gold-deep)}
.ct-biz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 28px}
.ct-biz-grid>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.ct-biz-grid span{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}
.ct-biz-grid b{font-size:14.5px;word-break:break-word}
@media(max-width:900px){.ct-methods{grid-template-columns:1fr 1fr}.ct-biz-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ct-methods{grid-template-columns:1fr}.ct-biz-grid{grid-template-columns:1fr}.ct-hero-cta .btn{flex:1 1 auto;justify-content:center}}

/* ── Loondruk staffel-melding + inclusief ── */
.ld-staffel{display:flex;gap:12px;align-items:flex-start;margin:0 0 16px;padding:13px 16px;background:var(--gold-soft);border:1px solid var(--gold);border-radius:14px}
.ld-staffel-ic{flex:0 0 auto;color:var(--gold-deep);margin-top:1px}
.ld-staffel p{margin:0;font-size:14px;color:var(--ink-soft);line-height:1.5}
.ld-incl{margin-top:14px;border-top:1px dashed var(--line2);padding-top:14px}
.ld-incl-lbl{display:block;font-size:12px;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:9px}
.ld-incl-steps{display:flex;flex-wrap:wrap;gap:7px}
.ld-incl-steps span{display:inline-flex;align-items:center;font-size:12.5px;font-weight:600;color:var(--ink);background:var(--gold-soft);border:1px solid var(--gold);border-radius:999px;padding:5px 11px}
.ld-incl-txt{margin-top:10px;font-size:12.5px;color:var(--muted)}

/* ── BTW-check (VIES) op checkout ── */
.dk-vat{display:flex;gap:8px;align-items:stretch}
.dk-vat input{flex:1;min-width:0}
.dk-vat-btn{flex:0 0 auto;padding:0 16px;border:1px solid var(--gold);background:var(--gold-soft);color:var(--gold-deep);font-weight:700;border-radius:10px;cursor:pointer;white-space:nowrap;font-size:14px}
.dk-vat-btn:hover{background:var(--gold);color:#fff}
.dk-vat-btn:disabled{opacity:.6;cursor:default}
.dk-vat-result{margin-top:8px;font-size:13px;line-height:1.45;display:none}
.dk-vat-result.on,.dk-vat-result.ok,.dk-vat-result.bad,.dk-vat-result.warn{display:block;padding:9px 12px;border-radius:10px}
.dk-vat-result.on{background:var(--gold-soft);color:var(--ink-soft)}
.dk-vat-result.ok{background:#e9f7ef;color:#1a7f37;border:1px solid #b7e4c7}
.dk-vat-result.bad{background:#fdecea;color:#b42318;border:1px solid #f5c2bd}
.dk-vat-result.warn{background:#fdf6e3;color:#8a6d1c;border:1px solid #f0e2b6}
.dk-vat-addr{display:block;font-size:12px;color:var(--muted);margin-top:2px;font-weight:400}


/* ── Blog ── */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.blog-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;text-decoration:none;color:var(--ink);transition:.16s}
.blog-card:hover{box-shadow:0 14px 34px rgba(0,0,0,.09);transform:translateY(-3px);border-color:var(--gold-soft)}
.blog-card-img{height:180px;background-size:cover;background-position:center;background-color:var(--panel2)}
.blog-card-img-ph{display:grid;place-items:center;color:var(--gold);background:radial-gradient(circle at 50% 40%,var(--gold-soft),var(--panel2))}
.blog-card-b{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.blog-card-date{font-size:12.5px;color:var(--muted);font-weight:600;margin-bottom:6px}
.blog-card-b h3{margin:0 0 8px;font-size:18px;line-height:1.25}
.blog-card-b p{margin:0 0 14px;color:var(--ink-soft);font-size:14px;line-height:1.55;flex:1}
.blog-card-more{color:var(--gold-deep);font-weight:700;font-size:14px}
.blog-back{color:var(--gold-deep);font-weight:700;text-decoration:none;font-size:14px}
.blog-art-date{margin-top:14px;color:var(--muted);font-weight:600;font-size:13.5px}
.blog-art-h{font-size:clamp(28px,4vw,42px);line-height:1.1;letter-spacing:-.02em;margin:6px 0 10px}
.blog-art-lead{font-size:18px;color:var(--ink-soft);line-height:1.55;margin:0 0 20px}
.blog-art-cover{height:340px;border-radius:18px;background-size:cover;background-position:center;margin:0 0 24px}
.blog-art-body{font-size:16.5px;line-height:1.75;color:var(--ink)}
.blog-art-body h2{font-size:24px;margin:32px 0 12px;letter-spacing:-.01em}
.blog-art-body h3{font-size:19px;margin:26px 0 10px}
.blog-art-body p{margin:0 0 16px}
.blog-art-body ul,.blog-art-body ol{margin:0 0 16px;padding-left:22px}
.blog-art-body li{margin:0 0 6px}
.blog-art-body img{max-width:100%;border-radius:12px}
.blog-art-body a{color:var(--gold-deep)}
.blog-art-cta{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin:36px 0 0;padding:22px 24px;background:var(--gold-soft);border:1px solid var(--gold);border-radius:16px}

/* ── Kortingscode op checkout ── */
.dk-coupon{margin-top:12px}
.dk-coupon-row{display:flex;gap:8px}
.dk-coupon-row input{flex:1;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:14px;text-transform:uppercase}
.dk-coupon-btn{flex:0 0 auto;padding:0 15px;border:1px solid var(--gold);background:var(--gold-soft);color:var(--gold-deep);font-weight:700;border-radius:10px;cursor:pointer;font-size:14px}
.dk-coupon-btn:hover{background:var(--gold);color:#fff}
.dk-coupon-btn:disabled{opacity:.6;cursor:default}
.dk-coupon-res{margin-top:7px;font-size:13px;font-weight:600;display:none}
.dk-coupon-res.ok,.dk-coupon-res.bad{display:block}
.dk-coupon-res.ok{color:#1a7f37}
.dk-coupon-res.bad{color:#b42318}

/* ── Meldingsbalk ── */
.announce{width:100%;font-size:14px;font-weight:600}
.announce-in{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 24px;text-align:center;flex-wrap:wrap}
.announce-in a{font-weight:800;color:inherit}
.announce-gold{background:var(--gold-soft);color:#6b4e12}
.announce-dark{background:var(--ink);color:#fff}
.announce-green{background:#E7F6EC;color:#147a45}
.announce-red{background:#FBEAE7;color:#b42318}

/* ── Gecombineerde orderregel · 1 drukproef ── */
.citem-proof{display:flex;align-items:flex-start;gap:9px;margin-top:14px;padding:11px 14px;background:var(--gold-soft);border:1px solid #ecdcae;border-radius:12px;font-size:13px;color:#6b4e12;line-height:1.45}
.citem-proof-ic{color:var(--gold-deep);flex-shrink:0;margin-top:1px}
.citem-proof-tx b{font-weight:800;color:#5c430f}
.dk-cl-proof{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:12px;font-weight:700;color:var(--gold-deep)}
.dk-cl-proof::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);flex-shrink:0}
.combi-note{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px 12px;background:var(--gold-soft);border-radius:10px;font-size:12.5px;color:#6b4e12}
.combi-note svg{color:var(--gold-deep);flex-shrink:0}
.combi-note b{font-weight:800;color:#5c430f}
.citem-proof-exc{display:block;margin-top:4px;padding-top:4px;border-top:1px dashed #e2cf9e;font-size:12px;color:#7a5c1a}
.dk-cl-bt{font-size:12px;color:var(--gold-deep);font-weight:700}

/* Referentie per regel (winkelwagen) */
.citem-ref{margin:12px 0 2px;padding:12px 14px;background:#FAFAF8;border:1px solid var(--line);border-radius:12px}
.citem-ref label{display:block;font-size:12.5px;font-weight:700;margin-bottom:6px}
.citem-ref label span{color:var(--muted);font-weight:500}
.citem-ref input{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:10px;font-size:13.5px;font-family:inherit}
.citem-ref input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(180,134,43,.13)}

/* Klantnummer in account-sidebar */
.dash-klantnr{display:inline-block;margin-top:5px;font-size:11.5px;font-weight:700;color:var(--gold-deep);background:var(--gold-soft,#FBF5E7);border:1px solid var(--gold-line,#EAD9AE);padding:2px 9px;border-radius:7px;letter-spacing:.01em}


/* Betaal-nu knop (fris) + facturenoverzicht-indeling */
.ord-paybtn{display:inline-flex;align-items:center;gap:7px;background:linear-gradient(135deg,#2fb87a,#1f9e64);color:#fff;border:none;border-radius:999px;padding:9px 17px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;box-shadow:0 2px 8px rgba(31,158,100,.28);transition:transform .14s,box-shadow .14s,filter .14s;letter-spacing:.01em;margin-right:12px;vertical-align:middle}
.ord-paybtn:hover{filter:brightness(1.04);transform:translateY(-1px);box-shadow:0 5px 16px rgba(31,158,100,.38)}
.ord-paybtn:active{transform:translateY(0)}
.ord-paybtn svg{flex:none}
.inv-info .ord-num{font-weight:800}
.inv-ref{color:var(--muted);font-size:12.5px}
.inv-justpaid{animation:invPaidFlash 2.2s ease}
@keyframes invPaidFlash{0%{background:rgba(47,184,122,.16)}100%{background:transparent}}

/* Vervaldatum-melding op factuur */
.inv-due{margin-top:9px;font-size:15.5px;font-weight:700;color:var(--gold-deep,#946d1c);line-height:1.3}
.inv-due.overdue{color:#c0392b}

/* Klant drukproef-acties */
.proof-note{font-size:12.5px;background:#fff;border:1px solid var(--line,#eee);border-radius:8px;padding:8px 10px;margin:8px 0}
.proof-links{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.proof-approve{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.proof-approve input[type=text]{flex:1;min-width:150px;border:1px solid var(--line,#ddd);border-radius:8px;padding:8px 10px;font-family:inherit;font-size:13px}

/* Op-factuur subtiel blok (op rekening) */
.invnote{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line,#e7e9ec);border-radius:12px;padding:12px 15px;background:#fbfbfa;margin-bottom:18px}
.invnote-l{display:flex;align-items:center;gap:11px}
.invnote-ic{width:34px;height:34px;border-radius:9px;background:#f1efe8;display:grid;place-items:center;color:var(--gold-deep,#8a6414);flex:none}
.invnote-l b{display:block;font-size:14px}
.invnote-due{font-size:12.5px;color:var(--muted,#6b7178)}
.invnote-due.overdue{color:#c0392b;font-weight:700}

/* Inklapbare bestanden + proef */
.art-files{border-top:1px solid var(--line,#eee);margin-top:4px}
.art-files>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:12px 2px;font-weight:700;font-size:14px}
.art-files>summary::-webkit-details-marker{display:none}
.afs-t{flex:1}
.af-lock{font-size:12px;font-weight:600;color:var(--muted)}
.afs-chev{display:inline-flex;transition:transform .18s;color:var(--muted)}
details[open]>summary .afs-chev{transform:rotate(180deg)}
.artproof-h{display:flex;align-items:center;gap:8px;font-weight:800;font-size:14.5px;margin:14px 0 10px;color:var(--ink,#15171c)}
.proof-done{border:1px solid #bfe6cd;background:#f2faf5;border-radius:12px}
.proof-done>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:12px 14px;font-weight:700;font-size:13.5px}
.proof-done>summary::-webkit-details-marker{display:none}
.proof-done>summary .afs-chev{margin-left:auto}
.proof-done-body{padding:0 14px 14px;display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}
.proof-done-body .proof-preview{max-width:220px}
.proof-badge.ok{background:#1a7f37;color:#fff}

/* Configurator: bedrukt/onbedrukt als 2 duidelijke keuzeknoppen */
.mode-hint{font-size:13.5px;color:var(--muted,#6b7178);margin:0 0 10px}
.mode-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mode-btn{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;padding:16px 12px;border:2px solid var(--line,#e2e2df);border-radius:14px;background:#fff;cursor:pointer;transition:border-color .14s,background .14s,box-shadow .14s;font-family:inherit}
.mode-btn .mode-ic{color:var(--muted,#8a8f96);margin-bottom:3px;transition:color .14s}
.mode-btn b{font-size:15px;color:var(--ink,#15171c)}
.mode-btn small{font-size:12px;color:var(--muted,#6b7178)}
.mode-btn:hover{border-color:var(--gold,#b4862b);background:#fffdf8}
.mode-btn.on{border-color:var(--gold,#b4862b);background:var(--gold-soft,#faf4e6);box-shadow:0 0 0 3px rgba(180,134,43,.14)}
.mode-btn.on .mode-ic{color:var(--gold-deep,#8a6414)}
@media(max-width:420px){.mode-choice{grid-template-columns:1fr}}

/* Bestanden-klaar keuzebalk (drukproef of zonder) */
.approve-bar{margin-top:16px;border:1px solid var(--gold-line,#ead9ae);background:var(--gold-soft,#faf4e6);border-radius:14px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.approve-bar .ab-t b{display:block;font-size:15px}
.approve-bar .ab-t span{font-size:13px;color:var(--muted,#6b7178)}
.approve-bar .ab-btns{display:flex;gap:10px;flex-wrap:wrap}

/* Cutoff-notitie leverdatum configurator */
.pxship-cut{font-size:11.5px;color:var(--muted,#6b7178);margin:8px 2px 0;line-height:1.4}

/* Op-factuur blok: betaald-variant */
.invnote.is-paid{border-color:#bfe6cd;background:#f2faf5}
.invnote.is-paid .invnote-ic{background:#e2f3e9;color:#1a7f37}

/* ---- Herbruikbare deadline-/leverdatummodule (grafisch) ---- */
.dl-box{position:relative;overflow:hidden;border:1px solid var(--gold-line,#ead9ae);border-radius:16px;background:linear-gradient(135deg,#fffdf7 0%,var(--gold-soft,#faf4e6) 100%);padding:16px 18px;margin:0 0 18px;box-shadow:0 6px 22px -12px rgba(138,100,20,.28)}
.dl-box.is-late{border-color:var(--line,#e7e9ec);background:#fbfbfa;box-shadow:none}
.dl-glow{position:absolute;top:-40%;right:-10%;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(180,134,43,.16),transparent 68%);pointer-events:none}
.dl-box.is-late .dl-glow{display:none}
.dl-body{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px}
.dl-main{display:flex;align-items:center;gap:12px;min-width:0}
.dl-ic{width:40px;height:40px;flex:none;border-radius:11px;background:#fff;border:1px solid var(--gold-line,#ead9ae);display:grid;place-items:center;color:var(--gold-deep,#8a6414)}
.dl-box.is-late .dl-ic{color:var(--muted,#6b7178);border-color:var(--line,#e7e9ec)}
.dl-head{font-size:15.5px;line-height:1.35;font-weight:700}
.dl-head b{color:var(--gold-deep,#8a6414);font-weight:800}
.dl-box.is-late .dl-head b{color:var(--ink,#15171c)}
.dl-count{flex:none;display:flex;flex-direction:column;align-items:center;gap:2px;background:linear-gradient(150deg,var(--gold,#b4862b),var(--gold-deep,#8a6414));color:#fff;border-radius:12px;padding:9px 14px;min-width:118px;box-shadow:0 4px 14px -6px rgba(138,100,20,.6)}
.dl-clock{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:1px;line-height:1}
.dl-count-lbl{font-size:10px;text-transform:uppercase;letter-spacing:.06em;opacity:.85}
.dl-foot{position:relative;margin-top:12px;padding-top:11px;border-top:1px dashed var(--gold-line,#ead9ae);display:flex;flex-direction:column;gap:3px}
.dl-box.is-late .dl-foot{border-top-color:var(--line,#e7e9ec)}
.dl-sub{font-size:14.5px;font-weight:600;color:var(--ink,#15171c)}
.dl-contact{font-size:12px;color:var(--muted,#6b7178)}
.dl-contact a{color:var(--gold-deep,#8a6414);font-weight:700;text-decoration:none}
.dl-contact a:hover{text-decoration:underline}
@media(max-width:560px){.dl-body{flex-wrap:wrap}.dl-count{order:-1;flex-direction:row;gap:8px;min-width:0;padding:6px 12px}.dl-count-lbl{display:none}.dl-clock{font-size:18px}}

/* ====== Productgalerij: hoofdfoto + thumbnails ====== */
.pdp2-garment img{transition:opacity .18s ease}
.pdp2-thumbs{display:flex;gap:9px;margin-top:11px;flex-wrap:wrap}
.pdp2-thumb{width:66px;height:66px;border-radius:12px;border:1.5px solid var(--line);background:var(--panel2);padding:5px;cursor:pointer;overflow:hidden;transition:border-color .15s,transform .12s,box-shadow .15s;flex:none}
.pdp2-thumb img{width:100%;height:100%;object-fit:contain;display:block}
.pdp2-thumb:hover{transform:translateY(-2px);border-color:var(--ink-soft)}
.pdp2-thumb.on{border-color:var(--accent,#e0342a);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,#e0342a) 18%,transparent)}
@media(max-width:820px){.pdp2-thumb{width:58px;height:58px}}

/* Deadline-blok compacter in de winkelwagen (volledige breedte, lagere hoogte) */
#cartDeadline .dl-box{padding:11px 16px;margin:0;border-radius:14px}
#cartDeadline .dl-head{font-size:14.5px;line-height:1.3}
#cartDeadline .dl-sub{font-size:13.5px}
#cartDeadline .dl-count{padding:7px 13px}
#cartDeadline .dl-clock{font-size:20px}

/* ====== Productfoto: zoom-knop + lightbox ====== */
.pdp2-zoom{position:absolute;bottom:12px;right:12px;width:36px;height:36px;border-radius:10px;border:1px solid #e7e9ec;background:rgba(255,255,255,.92);color:var(--ink);display:grid;place-items:center;cursor:zoom-in;box-shadow:0 2px 8px rgba(20,23,28,.1);transition:.14s;z-index:2}
.pdp2-zoom:hover{background:#fff;transform:translateY(-1px)}
.pxlb{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:28px}
.pxlb[hidden]{display:none}
.pxlb-back{position:absolute;inset:0;background:rgba(16,18,22,.86);backdrop-filter:blur(2px)}
.pxlb img{position:relative;max-width:min(1000px,92vw);max-height:88vh;object-fit:contain;border-radius:12px;box-shadow:0 20px 60px -12px rgba(0,0,0,.6);background:#fff}
.pxlb-x{position:absolute;top:18px;right:22px;width:44px;height:44px;border-radius:50%;border:none;background:rgba(255,255,255,.14);color:#fff;font-size:26px;line-height:1;cursor:pointer;z-index:2}
.pxlb-x:hover{background:rgba(255,255,255,.26)}
.pxlb-nav{position:relative;z-index:2;flex:none;width:52px;height:52px;margin:0 6px;border-radius:50%;border:none;background:rgba(255,255,255,.14);color:#fff;font-size:30px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:.14s}
.pxlb-nav:hover{background:rgba(255,255,255,.3)}
.pxlb-prev{order:-1}
@media(max-width:560px){.pxlb-nav{width:44px;height:44px;font-size:26px}.pxlb{padding:12px}}
.poscard-ic .posic-img{width:100%;height:100%;object-fit:contain}
/* Productomschrijving met lijst (uit Primex-HTML) */
.pdp2-desc ul,.pdp2-desc ol{margin:6px 0 0;padding-left:20px}
.pdp2-desc li{margin:3px 0;line-height:1.55}
.pdp2-desc p{margin:0 0 8px}
.pdp2-desc p:last-child{margin-bottom:0}

/* ====== Cookie-balk (één balk onderaan, geen modal) ====== */
.ck-bar{position:fixed;left:0;right:0;bottom:0;z-index:1800;background:#fff;border-top:1px solid var(--line);box-shadow:0 -12px 40px -16px rgba(20,23,28,.3);animation:ckUp .3s ease}
@keyframes ckUp{from{transform:translateY(100%)}to{transform:none}}
.ck-bar-in{max-width:1180px;margin:0 auto;padding:14px 22px}
.ck-bar-main{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.ck-ic{flex:none;width:44px;height:44px;border-radius:12px;background:var(--gold-soft,#faf4e6);color:var(--gold-deep,#8a6414);display:grid;place-items:center}
.ck-txt{flex:1;min-width:220px}
.ck-txt b{display:block;font-size:15px;margin-bottom:2px}
.ck-txt p{margin:0;font-size:13px;line-height:1.5;color:var(--ink-soft,#4b5159)}
.ck-txt a{color:var(--gold-deep,#8a6414);font-weight:700;text-decoration:underline}
.ck-btns{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ck-btn{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 15px;font-size:13.5px;font-weight:700;cursor:pointer;color:var(--ink);white-space:nowrap;transition:.14s;font-family:inherit}
.ck-btn:hover{background:var(--panel2,#f6f7f9)}
.ck-btn.ck-primary{background:var(--gold-deep,#8a6414);border-color:var(--gold-deep,#8a6414);color:#fff}
.ck-btn.ck-primary:hover{background:var(--gold,#b4862b)}
.ck-settings{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}
.ck-opt{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line)}
.ck-opt:last-of-type{border-bottom:none}
.ck-opt div b{display:block;font-size:14px}
.ck-opt div span{display:block;font-size:12.5px;color:var(--ink-soft,#4b5159);line-height:1.45}
.ck-badge{flex:none;font-size:11px;font-weight:700;color:var(--gold-deep,#8a6414);background:var(--gold-soft,#faf4e6);padding:3px 9px;border-radius:20px}
.ck-sw{position:relative;display:inline-flex;flex:none;width:42px;height:24px}
.ck-sw input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.ck-sw-t{position:absolute;inset:0;background:#d3d7dd;border-radius:20px;transition:.18s}
.ck-sw-t::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:.18s;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.ck-sw input:checked+.ck-sw-t{background:var(--gold-deep,#8a6414)}
.ck-sw input:checked+.ck-sw-t::after{transform:translateX(18px)}
.ck-save-row{margin-top:14px}
@media(max-width:640px){.ck-btns{width:100%}.ck-btns .ck-btn{flex:1}}

/* ====== Productfilters ====== */
.flt-layout{display:grid;grid-template-columns:246px 1fr;gap:28px;align-items:start}
.flt-main{min-width:0}
.flt-toggle{display:none;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:11px;padding:11px 16px;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;margin-bottom:14px;color:var(--ink)}
.flt-badge{background:var(--gold-deep);color:#fff;border-radius:20px;font-size:11px;padding:1px 7px;font-weight:800}
.flt-side{background:#fff;border:1px solid var(--line);border-radius:16px;padding:6px 16px 14px;box-shadow:0 2px 14px rgba(21,23,28,.04)}
.flt-scroll{max-height:none;overflow:visible;padding-right:0}
.flt-head{display:flex;align-items:center;justify-content:space-between;padding:13px 0 11px;border-bottom:1px solid var(--line)}
.flt-head b{font-size:15px}
.flt-clear{font-size:12px;color:var(--gold-deep);font-weight:700;text-decoration:underline}
.flt-blk{padding:14px 0;border-bottom:1px solid var(--line2)}
.flt-blk:last-child{border-bottom:none}
.flt-blk-h{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:800;margin-bottom:10px}
.flt-pills{display:flex;flex-wrap:wrap;gap:6px}
.flt-pill{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line2);border-radius:20px;padding:6px 12px;font-size:13px;font-weight:600;color:var(--ink);transition:.14s}
.flt-pill i{font-style:normal;font-size:10.5px;color:var(--muted)}
.flt-pill:hover{border-color:var(--gold);background:var(--gold-soft)}
.flt-pill.on{background:var(--gold-deep);border-color:var(--gold-deep);color:#fff}
.flt-pill.on i{color:rgba(255,255,255,.75)}
.flt-list{display:flex;flex-direction:column;gap:1px}
.flt-scroll{max-height:230px;overflow:auto;padding-right:4px}
.flt-row{display:flex;align-items:center;gap:9px;padding:6px 4px;border-radius:8px;font-size:13.5px;color:var(--ink);transition:.12s}
.flt-row:hover{background:var(--panel2)}
.flt-box{width:16px;height:16px;flex:none;border:1.6px solid #c3c7cd;border-radius:4px;position:relative;transition:.12s}
.flt-row.on .flt-box{background:var(--gold-deep);border-color:var(--gold-deep)}
.flt-row.on .flt-box::after{content:"";position:absolute;left:4.5px;top:1px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.flt-lbl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.flt-row.on .flt-lbl{font-weight:700}
.flt-cnt{font-size:11.5px;color:var(--muted)}
.flt-colors{display:grid;grid-template-columns:1fr 1fr;gap:2px 6px}
.flt-color{display:flex;align-items:center;gap:7px;padding:5px 4px;border-radius:8px;font-size:12.5px;color:var(--ink);min-width:0}
.flt-color span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.flt-color:hover{background:var(--panel2)}
.flt-sw{width:17px;height:17px;border-radius:50%;border:1px solid rgba(0,0,0,.16);flex:none;box-shadow:inset 0 0 0 2px #fff}
.flt-color.on{font-weight:800;color:var(--gold-deep)}
.flt-color.on .flt-sw{box-shadow:inset 0 0 0 2px #fff,0 0 0 2px var(--gold-deep)}
.flt-sizes{display:flex;flex-wrap:wrap;gap:6px}
.flt-size{min-width:40px;text-align:center;border:1px solid var(--line2);border-radius:8px;padding:7px 9px;font-size:12.5px;font-weight:700;color:var(--ink);transition:.14s}
.flt-size:hover{border-color:var(--gold);background:var(--gold-soft)}
.flt-size.on{background:var(--gold-deep);border-color:var(--gold-deep);color:#fff}
.flt-price{display:flex;align-items:center;gap:7px;font-size:13px}
.flt-price label{display:flex;align-items:center;gap:4px;flex:1}
.flt-price input{width:100%;min-width:0;border:1px solid var(--line2);border-radius:8px;padding:7px 8px;font-family:inherit;font-size:13px}
.flt-apply{margin-top:9px;width:100%;border:1px solid var(--gold-deep);background:var(--gold-deep);color:#fff;border-radius:9px;padding:8px;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer}
.flt-apply:hover{background:var(--gold)}
.flt-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.flt-chips{display:flex;flex-wrap:wrap;gap:6px;flex:1}
.flt-chip{display:inline-flex;align-items:center;gap:7px;background:var(--gold-soft);border:1px solid #EBDCB8;color:var(--gold-deep);border-radius:20px;padding:5px 12px;font-size:12.5px;font-weight:700}
.flt-chip span{font-size:15px;line-height:1;opacity:.7}
.flt-chip:hover{background:#fff}
.flt-chip-clear{background:none;border-color:var(--line2);color:var(--muted)}
.flt-sort{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);white-space:nowrap}
.flt-sort select{border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-family:inherit;font-size:13.5px;font-weight:600;background:#fff;color:var(--ink);cursor:pointer}
.flt-empty{text-align:center;padding:60px 20px;border:1.5px dashed var(--line2);border-radius:16px}
.flt-empty b{display:block;font-size:17px;margin-bottom:6px}
.flt-empty p{color:var(--muted);margin:0 0 16px}
@media(max-width:900px){
  .flt-layout{grid-template-columns:1fr}
  .flt-toggle{display:inline-flex}
  .flt-side{display:none;position:static}
  .flt-side.open{display:block;margin-bottom:18px}
}

/* categoriekop met sorteren ernaast */
.cat-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.cat-head-t h2{margin:0;font-size:31px;letter-spacing:-.02em}
.cat-head-t p{margin:4px 0 0;color:var(--muted);font-size:14.5px}
@media(max-width:640px){.cat-head{align-items:flex-start}.cat-head-t h2{font-size:25px}}

/* ====== Productlabels ====== */
.pcard2-lab{display:inline-block;border:1px solid;border-radius:20px;padding:2px 9px;font-size:11px;font-weight:700;line-height:1.5;white-space:nowrap}
.pcard2-labels{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:5px}
.pdp2-labels{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:9px}
.pdp2-labels .pcard2-lab{font-size:12px;padding:3px 11px}
.lab-goud{background:#F7EFD9;color:#8A6414;border-color:#EBDCB8}
.lab-groen{background:#E7F6EC;color:#1A7F37;border-color:#C6E9D2}
.lab-blauw{background:#E6F0FB;color:#1B5FA8;border-color:#C5DCF4}
.lab-rood{background:#FCEAE9;color:#B3322C;border-color:#F3CFCD}
.lab-paars{background:#F0EAFB;color:#5B3BA8;border-color:#DCD0F3}
.lab-grijs{background:#F0F2F3;color:#4B5159;border-color:#DDE0E4}
.flt-pill.flt-lab{border-width:1.5px}
.flt-pill.flt-lab.on{background:var(--gold-deep);border-color:var(--gold-deep);color:#fff}

/* Productgroepen op themapagina's */
.thm-group{margin-bottom:34px}
.thm-group:last-child{margin-bottom:0}
.thm-group-h{display:flex;align-items:baseline;gap:10px;margin:0 0 14px;padding-bottom:9px;border-bottom:1px solid var(--line)}
.thm-group-h h3{margin:0;font-size:19px;letter-spacing:-.01em}
.thm-group-h span{font-size:12.5px;color:var(--muted);font-weight:600}

/* Thema-iconen in het menu */
.dropdown a.drop-ic,.mobsub a.mob-ic{display:flex;align-items:center;gap:9px}
.drop-ic-s{display:grid;place-items:center;width:19px;flex:none;color:var(--gold-deep);opacity:.85}
.dropdown a.drop-ic:hover .drop-ic-s{opacity:1}
.dropdown.multicol .drop-cols>a.drop-ic{gap:8px}


/* Themakop met korte toelichting */
.thm-head{align-items:flex-start}
.thm-head .cat-head-t{max-width:70ch}
.thm-sub{margin:6px 0 0!important;font-size:14px;line-height:1.55;color:var(--ink-soft)}
.thm-sub b{color:var(--ink)}
.thm-sub a{color:var(--gold-deep);font-weight:700;text-decoration:underline}
.thm-cnt{margin:7px 0 0!important;font-size:13px;color:var(--muted)}

/* Themahero: uitleg over de voorselectie */
.thm-pitch{margin:14px 0 20px;max-width:62ch}
.thm-pitch p{margin:0 0 9px;font-size:15px;line-height:1.65;color:var(--ink-soft)}
.thm-pitch p:last-child{margin-bottom:0}
.thm-pitch b{color:var(--ink);font-weight:700}
.thm-pitch a{color:var(--gold-deep);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.thm-pitch a:hover{color:var(--gold)}
@media(max-width:640px){.thm-pitch p{font-size:14.5px}}

/* Uitvoeringen: zelfde model in dames-/heren-/kids-versie */
.pdp-fam{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin:2px 0 12px}
.pdp-fam-l{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:800}
.pdp-fam-opts{display:flex;gap:6px;flex-wrap:wrap}
.pdp-fam-o{display:inline-flex;align-items:center;border:1.5px solid var(--line2);border-radius:20px;padding:5px 14px;font-size:13px;font-weight:700;color:var(--ink-soft);background:#fff;transition:.14s}
a.pdp-fam-o:hover{border-color:var(--gold);background:var(--gold-soft);color:var(--gold-deep)}
.pdp-fam-o.on{background:var(--gold-deep);border-color:var(--gold-deep);color:#fff}
.pdp-fam-cur{font-size:12.5px;color:var(--muted);font-weight:600}
.pdp-fam-ar{opacity:.7}

/* ====== Mijn producten (klantdashboard) ====== */
.mp-msg{border-radius:12px;padding:12px 16px;font-size:14px;font-weight:600;margin-bottom:16px}
.mp-msg.ok{background:#E7F6EC;color:#1A7F37;border:1px solid #C6E9D2}
.mp-msg.err{background:#FCEAE9;color:#B3322C;border:1px solid #F3CFCD}
.mp-block{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 24px;margin-bottom:22px}
.mp-block-h{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.mp-block-h h3{margin:0;font-size:19px}
.mp-block-h p{margin:3px 0 0;font-size:13.5px;color:var(--muted)}
.mp-count{flex:none;background:var(--gold-soft);color:var(--gold-deep);border-radius:20px;padding:3px 12px;font-size:12.5px;font-weight:800}
.mp-logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.mp-logo{border:1px solid var(--line2);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px}
.mp-logo-img{height:82px;border-radius:9px;background:var(--panel2);display:grid;place-items:center;overflow:hidden}
.mp-logo-img img{max-width:88%;max-height:88%;object-fit:contain}
.mp-logo-ph{color:var(--muted);opacity:.6}
.mp-logo-nm{display:flex;gap:4px}
.mp-logo-nm input{flex:1;min-width:0;border:1px solid var(--line2);border-radius:8px;padding:6px 8px;font-family:inherit;font-size:12.5px;font-weight:600}
.mp-logo-nm button{border:1px solid var(--line2);background:#fff;border-radius:8px;width:30px;cursor:pointer;color:var(--gold-deep);font-weight:800}
.mp-logo-act{display:flex;justify-content:space-between;font-size:11.5px}
.mp-logo-act a,.mp-logo-act button{color:var(--muted);border:none;background:none;padding:0;cursor:pointer;font-size:11.5px;font-family:inherit;text-decoration:underline}
.mp-logo-act button:hover{color:#c23b39}
.mp-upload-drop{border:1.5px dashed var(--line2);border-radius:12px;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;text-align:center;padding:14px;transition:.14s}
.mp-upload-drop:hover{border-color:var(--gold);background:var(--gold-soft)}
.mp-upload-ic{color:var(--gold-deep)}
.mp-upload-drop b{font-size:13.5px}
.mp-upload-drop span{font-size:11.5px;color:var(--muted)}
.mp-upload-drop input{display:none}
.mp-tip{margin:14px 0 0;font-size:12.5px;color:var(--muted)}
.mp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.mp-card{border:1px solid var(--line2);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;background:#fff}
.mp-card-img{height:280px;background:var(--tile);display:grid;place-items:center;overflow:hidden}
.mp-card-img img{width:100%;height:100%;object-fit:contain}
.mp-card-b{padding:13px 14px 14px;display:flex;flex-direction:column;gap:4px;flex:1}
.mp-card-nm{font-size:14.5px;line-height:1.35}
.mp-card-meta{font-size:12.5px;color:var(--muted)}
.mp-pos{display:flex;flex-wrap:wrap;gap:4px;margin:3px 0}
.mp-pos-c{display:inline-block;background:var(--gold-soft);color:var(--gold-deep);border:1px solid #EBDCB8;border-radius:20px;padding:2px 10px;font-size:11.5px;font-weight:700}
.mp-badge{display:inline-block;font-size:11px;font-weight:700;border-radius:20px;padding:3px 10px;width:fit-content}
.mp-badge.ok{background:#E7F6EC;color:#1A7F37}
.mp-badge.wait{background:#FFF4E5;color:#8A5A00}
.mp-badge.none{background:var(--panel2);color:var(--muted)}
.mp-src{font-size:11.5px;color:var(--muted)}
.mp-card-act{margin-top:auto;padding-top:11px;display:flex;flex-direction:column;gap:7px}
.mp-card-act .btn.sm{padding:9px 14px;font-size:13px;text-align:center}
.mp-save{display:flex;gap:6px}
.mp-save input{flex:1;min-width:0;border:1px solid var(--line2);border-radius:9px;padding:8px 10px;font-family:inherit;font-size:12.5px}
.mp-empty{text-align:center;padding:44px 20px;border:1.5px dashed var(--line2);border-radius:14px}
.mp-empty b{display:block;font-size:16px;margin-bottom:5px}
.mp-empty p{color:var(--muted);font-size:14px;max-width:52ch;margin:0 auto 16px}

/* Opnieuw bestellen */
.ro-layout{display:grid;grid-template-columns:1fr 320px;gap:26px;align-items:start}
.ro-note{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);background:#fff;border-radius:13px;padding:14px 16px;margin-bottom:18px}
.ro-note.ok{background:#F3FBF5;border-color:#C6E9D2}
.ro-note-ic{flex:none;color:var(--gold-deep)}
.ro-note.ok .ro-note-ic{color:#1A7F37}
.ro-note b{display:block;font-size:14.5px}
.ro-note span{display:block;font-size:13px;color:var(--ink-soft);line-height:1.5;margin-top:2px}
.ro-block{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-bottom:16px}
.ro-block-h{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:800;margin-bottom:11px}
.ro-pos{display:flex;flex-wrap:wrap;gap:5px}
.ro-plain{font-size:13.5px;color:var(--muted)}
.ro-logos{margin:12px 0 0;font-size:12.5px;color:var(--muted)}
.ro-logos b{color:var(--ink-soft)}
.ro-logos a{color:var(--gold-deep);font-weight:700;text-decoration:underline}
.ro-sizes{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:9px}
.ro-size label{display:block;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:4px;text-align:center}
.ro-size input{width:100%;border:1px solid var(--line2);border-radius:10px;padding:11px 6px;text-align:center;font-family:inherit;font-size:16px;font-weight:700}
.ro-size input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}
.ro-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;position:sticky;top:96px}
.ro-card-img{height:180px;background:var(--tile);border-radius:12px;display:grid;place-items:center;overflow:hidden;margin-bottom:14px}
.ro-card-img img{width:100%;height:100%;object-fit:contain}
.ro-sum{display:flex;flex-direction:column;margin-bottom:10px}
.ro-sum-r{display:flex;justify-content:space-between;padding:7px 0;font-size:13.5px;border-bottom:1px solid var(--line2)}
.ro-sum-r.tot{border-bottom:none;border-top:2px solid var(--ink);margin-top:3px;padding-top:10px;font-size:15px}
.ro-sum-r.tot b{color:var(--gold-deep);font-size:17px}
.ro-hint{font-size:11.5px;color:var(--muted);margin:0 0 12px}
@media(max-width:900px){.ro-layout{grid-template-columns:1fr}.ro-card{position:static}}

/* Balk bij "inloggen als klant" */
.imp-bar{position:sticky;top:0;z-index:80;background:#15171C;color:#fff}
.imp-in{max-width:var(--maxw);margin:0 auto;padding:9px 22px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.imp-ic{display:grid;place-items:center;color:var(--gold)}
.imp-tx{flex:1;min-width:180px;font-size:13px;line-height:1.45}
.imp-tx b{color:var(--gold)}
.imp-btn{border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;border-radius:9px;padding:7px 14px;font-family:inherit;font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap}
.imp-btn:hover{background:#fff;color:#15171C;border-color:#fff}
.imp-bar+header.top{top:38px}
@media(max-width:640px){.imp-in{padding:9px 16px}.imp-tx{font-size:12px}}

/* Snelkoppeling + lock in Mijn producten */
.mp-quick{margin-bottom:20px}
.mp-quick-c{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px 18px;transition:.14s}
.mp-quick-c:hover{border-color:var(--gold);box-shadow:0 2px 14px rgba(21,23,28,.06)}
.mp-quick-ic{flex:none;width:42px;height:42px;border-radius:12px;background:var(--gold-soft);color:var(--gold-deep);display:grid;place-items:center}
.mp-quick-c>span:nth-child(2){flex:1}
.mp-quick-c b{display:block;font-size:14.5px;color:var(--ink)}
.mp-quick-c i{display:block;font-style:normal;font-size:12.5px;color:var(--muted);margin-top:1px}
.mp-quick-ar{color:var(--gold-deep);font-size:19px}
.mp-badge.lock{background:#EEF1F4;color:#3A3F45;border:1px solid #DDE0E4}
.mp-lockrow{display:flex;gap:6px}
.mp-lockrow form{flex:1}
.mp-lockrow .btn{width:100%}
.pxsave{display:flex;gap:6px;margin-top:9px}
.pxsave input{flex:1;min-width:0;border:1px solid var(--line2);border-radius:10px;padding:9px 11px;font-family:inherit;font-size:13px}
.pxsave .btn{white-space:nowrap;padding:9px 14px;font-size:13px}

/* Medewerkers */
.emp-layout{display:grid;grid-template-columns:1fr 340px;gap:22px;align-items:start}
.emp-dep{margin-bottom:18px}
.emp-dep:last-child{margin-bottom:0}
.emp-dep-h{display:flex;align-items:center;gap:8px;padding-bottom:7px;border-bottom:1px solid var(--line);margin-bottom:6px}
.emp-dep-h b{font-size:14.5px}
.emp-dep-h span{font-size:11.5px;color:var(--muted);background:var(--panel2);border-radius:20px;padding:1px 8px;font-weight:700}
.emp-tab{width:100%;border-collapse:collapse}
.emp-tab th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800;padding:7px 8px}
.emp-tab td{padding:9px 8px;border-top:1px solid var(--line2);font-size:13.5px;vertical-align:middle}
.emp-tab tr.on td{background:#fffdf6}
.emp-note{display:block;font-size:11.5px;color:var(--muted)}
.emp-size{display:inline-block;background:var(--panel2);border-radius:7px;padding:3px 10px;font-weight:700;font-size:12.5px}
.emp-act{white-space:nowrap;text-align:right}
.emp-act a,.emp-act button{font-size:12px;color:var(--muted);border:none;background:none;cursor:pointer;text-decoration:underline;font-family:inherit;padding:0 0 0 8px}
.emp-act button:hover{color:#c23b39}
.emp-act form{display:inline}
.emp-form label{display:block;font-size:12.5px;font-weight:700;color:var(--ink-soft);margin-bottom:11px}
.emp-form input[type=text]{width:100%;margin-top:4px;border:1px solid var(--line2);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:14px;font-weight:500}
.emp-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.emp-check{display:flex!important;align-items:center;gap:8px;font-weight:600!important;margin:4px 0 14px!important}
.emp-btns{display:flex;gap:8px}
@media(max-width:900px){.emp-layout{grid-template-columns:1fr}}

/* Bestellen: algemeen of per medewerker */
.ro-tabs{display:flex;gap:6px;margin-bottom:14px}
.ro-tab{border:1.5px solid var(--line2);background:#fff;border-radius:11px;padding:9px 16px;font-family:inherit;font-size:13.5px;font-weight:700;cursor:pointer;color:var(--ink-soft);display:flex;align-items:center;gap:6px}
.ro-tab i{font-style:normal;font-size:11px;background:var(--panel2);border-radius:20px;padding:1px 7px}
.ro-tab:hover{border-color:var(--gold)}
.ro-tab.on{background:var(--gold-deep);border-color:var(--gold-deep);color:#fff}
.ro-tab.on i{background:rgba(255,255,255,.22)}
.ro-pane-i{font-size:13px;color:var(--muted);margin:0 0 12px}
.ro-pane-i a{color:var(--gold-deep);font-weight:700;text-decoration:underline}
.ro-emp-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:11px;padding-bottom:11px;border-bottom:1px solid var(--line2)}
.ro-emp-all{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;margin-right:6px}
.ro-dep{border:1px solid var(--line2);background:#fff;border-radius:20px;padding:5px 12px;font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:5px}
.ro-dep i{font-style:normal;font-size:10.5px;color:var(--muted)}
.ro-dep.on{background:var(--gold-soft);border-color:#EBDCB8;color:var(--gold-deep)}
.ro-emps{display:flex;flex-direction:column;gap:3px;max-height:330px;overflow:auto}
.ro-emp{display:flex;align-items:center;gap:11px;padding:8px 10px;border:1px solid transparent;border-radius:10px;cursor:pointer}
.ro-emp:hover{background:var(--panel2)}
.ro-emp:has(input:checked){background:#fffdf6;border-color:#EBDCB8}
.ro-emp-tx{flex:1;min-width:0}
.ro-emp-tx b{display:block;font-size:13.5px}
.ro-emp-tx span{font-size:11.5px;color:var(--muted)}
.ro-emp-sz{flex:none;background:var(--panel2);border-radius:7px;padding:4px 11px;font-size:12.5px;font-weight:800}
.ro-emp-sz.warn{background:#FFF4E5;color:#8A5A00}
.ro-emp-sum{margin-top:12px;padding-top:12px;border-top:1px solid var(--line2)}
.ro-emp-tot{font-size:13.5px}
.ro-emp-tot b{color:var(--gold-deep)}
.ro-emp-warn{margin-top:7px;font-size:12.5px;color:#8A5A00;background:#FFF4E5;border-radius:9px;padding:9px 12px}
.ro-emp-warn a{color:#7a4f00;font-weight:700;text-decoration:underline}

/* Uitgiftehistorie per medewerker */
.emp-iss{display:inline-flex;align-items:baseline;gap:6px;font-size:13px;color:var(--ink)}
.emp-iss b{color:var(--gold-deep)}
.emp-iss span{font-size:11.5px;color:var(--muted)}
.emp-iss:hover b{text-decoration:underline}
.emp-none{font-size:12px;color:var(--muted)}
.emp-hist td{background:var(--panel2);padding:0!important}
.emp-hist-b{padding:13px 14px}
.emp-hist-h{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800;margin-bottom:8px}
.emp-hist-t{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line2);border-radius:10px;overflow:hidden}
.emp-hist-t th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800;padding:7px 10px;border-bottom:1px solid var(--line2)}
.emp-hist-t td{padding:8px 10px;font-size:12.5px;border-top:1px solid var(--line2)}
.emp-hist-t tr:first-child td{border-top:none}

/* Aantal per medewerker + logo per positie */
.ro-emp{display:flex;align-items:center;gap:10px}
.ro-emp-pick{display:flex;align-items:center;gap:11px;flex:1;min-width:0;cursor:pointer;margin:0}
.ro-emp-q{display:flex;align-items:center;gap:4px;flex:none}
.ro-emp-q input{width:58px;border:1px solid var(--line2);border-radius:8px;padding:7px 6px;text-align:center;font-family:inherit;font-size:14px;font-weight:700}
.ro-emp-q i{font-style:normal;font-size:11px;color:var(--muted)}
.ro-logolist{display:flex;flex-direction:column;gap:6px;margin-top:4px}
.ro-logorow{display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid var(--line2);border-radius:10px}
.ro-logopos{font-size:12.5px;font-weight:700;min-width:110px;color:var(--gold-deep)}
.ro-logothumb{width:34px;height:34px;flex:none;border-radius:7px;background:var(--panel2);display:grid;place-items:center;overflow:hidden}
.ro-logothumb img{max-width:90%;max-height:90%;object-fit:contain}
.ro-logonm{font-size:13px;font-weight:600}
.ro-logonone{font-size:12.5px;color:#8A5A00;background:#FFF4E5;border-radius:7px;padding:3px 10px}
.mp-pos-c.has i{font-style:normal;font-weight:600;opacity:.85}
.mp-edit{margin-bottom:7px}
.mp-edit summary{font-size:12.5px;font-weight:700;color:var(--gold-deep);cursor:pointer;padding:5px 0}
.mp-editf{padding:10px;border:1px solid var(--line2);border-radius:10px;background:var(--panel2);margin-top:4px}
.mp-editf label{display:block;font-size:11.5px;font-weight:700;color:var(--ink-soft);margin-bottom:8px}
.mp-editf input,.mp-editf select{width:100%;margin-top:3px;border:1px solid var(--line2);border-radius:8px;padding:8px 10px;font-family:inherit;font-size:13px;background:#fff}
.mp-edit-h{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800;margin:10px 0 7px}
.mp-edit-i{font-size:11.5px;color:var(--muted);margin:8px 0 0}

/* Drukproef bij een samenstelling (klantkant) */
.mp-proof{border:1px solid #EBDCB8;background:#FFFDF6;border-radius:11px;padding:11px;margin:6px 0}
.mp-proof-h{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--gold-deep);font-weight:800;margin-bottom:7px}
.mp-proof-img{display:block;height:110px;background:#fff;border:1px solid var(--line2);border-radius:9px;display:grid;place-items:center;overflow:hidden;font-size:12.5px;color:var(--gold-deep)}
.mp-proof-img img{max-width:100%;max-height:100%;object-fit:contain}
.mp-proof-r{font-size:12px;color:var(--ink-soft);margin:7px 0 0}
.mp-proof-btns{display:flex;flex-direction:column;gap:6px;margin-top:9px}
.mp-proof-nee summary{font-size:12px;color:var(--muted);cursor:pointer;text-align:center;padding:4px}
.mp-proof-nee form{display:flex;gap:6px;margin-top:6px}
.mp-proof-nee input{flex:1;min-width:0;border:1px solid var(--line2);border-radius:8px;padding:7px 9px;font-family:inherit;font-size:12.5px}
.mp-proof-link{font-size:12px;color:var(--gold-deep);font-weight:700;text-decoration:underline}
.mp-block-btn{display:block;text-align:center;padding:9px 14px;font-size:12.5px;font-weight:700;border-radius:11px;background:#F0F2F3;color:var(--muted);border:1px dashed var(--line2)}
.mp-restore{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line2);font-size:12.5px;color:var(--muted)}
.mp-restore button{border:1px solid var(--line2);background:#fff;border-radius:9px;padding:7px 13px;font-family:inherit;font-size:12.5px;font-weight:700;cursor:pointer;color:var(--ink)}
.mp-restore button:hover{border-color:var(--gold)}
.citem-orig{display:block;font-size:12.5px;color:var(--ink-soft);margin-top:1px}
.dk-cl-orig{display:block;font-size:12.5px;color:var(--ink-soft)!important;font-weight:500}
.citem-emp{display:block;font-size:12.5px;color:var(--gold-deep);margin-top:4px;background:var(--gold-soft);border:1px solid #EBDCB8;border-radius:7px;padding:4px 9px;width:fit-content;max-width:100%}
.citem-emp b{font-weight:800}

/* Goedgekeurde drukproef bij een bedrijfskleding-order */
.bkproof{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.bkproof-nm b{display:block;font-size:15px}
.bkproof-nm span{display:block;font-size:12.5px;color:var(--muted);margin-top:1px}
.bkproof-ok{display:inline-flex;align-items:center;gap:6px;margin-top:8px;background:#E7F6EC;color:#1A7F37;border:1px solid #C6E9D2;border-radius:20px;padding:4px 12px;font-size:12.5px;font-weight:700}
.bkproof-r{display:flex;align-items:center;gap:14px}
.bkproof-img{display:block;width:92px;height:92px;border:1px solid var(--line2);border-radius:10px;background:var(--tile);overflow:hidden;display:grid;place-items:center}
.bkproof-img img{max-width:100%;max-height:100%;object-fit:contain}
.bkproof-btns{display:flex;flex-direction:column;gap:6px}
.bkproof-btns .btn.sm{padding:8px 14px;font-size:12.5px;text-align:center;white-space:nowrap}
@media(max-width:600px){.bkproof{flex-direction:column;align-items:flex-start}}

/* Productfoto's per aanzicht (bedrijfskleding) */
.mp-views,.ro-views{display:flex;gap:6px;padding:8px 14px 0;flex-wrap:wrap}
.ro-views{padding:9px 0 0}
.mp-view,.ro-view{width:64px;text-align:center}
.mp-view img,.ro-view img{width:64px;height:64px;object-fit:contain;border:1px solid var(--line2);border-radius:8px;background:var(--tile);display:block}
.mp-view:hover img,.ro-view:hover img{border-color:var(--gold)}
.mp-view span,.ro-view span{display:block;font-size:10.5px;color:var(--muted);margin-top:2px;font-weight:600}

/* Medewerkersnaam achter de maat */
.csz-emp{display:inline-block;font-size:11.5px;color:var(--gold-deep);background:var(--gold-soft);border:1px solid #EBDCB8;border-radius:20px;padding:2px 9px;margin-left:8px;font-weight:700;vertical-align:middle}
.citem-emp{display:flex;flex-direction:column;gap:3px;margin-top:5px}
.cemp-row{font-size:12px;color:var(--ink-soft)}
.cemp-row b{display:inline-block;min-width:34px;color:var(--gold-deep);font-weight:800}

/* Regels per medewerker */
.cemp-line{display:grid;grid-template-columns:1fr 54px auto 84px 28px;align-items:center;gap:8px}
.csz-emp-nm{font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.csz-emp-sz{font-size:12.5px;font-weight:800;color:var(--gold-deep);background:var(--gold-soft);border-radius:7px;padding:3px 0;text-align:center}
.csz-emp-q{font-size:12.5px;color:var(--muted);text-align:right}
.cemp-note{font-size:11.5px;color:var(--muted);margin-top:8px}
.cemp-line .csz-step{justify-self:center}
.cemp-note a{color:var(--gold-deep);font-weight:700;text-decoration:underline}
.dk-cl-emp{display:block;font-size:12.5px;color:var(--gold-deep)!important;font-weight:600;margin-top:2px}
.dk-cl-emp b{font-weight:800}
.dk-cl-rm-sp{width:28px;flex:none}
@media(max-width:560px){.cemp-line{grid-template-columns:1fr auto;row-gap:6px}.cemp-line .csz-emp-sz{grid-column:2;justify-self:end}.cemp-line .csz-step{grid-column:1;justify-self:start}.cemp-line .csz-lp{grid-column:2;text-align:right}.cemp-line .csz-rm{position:absolute;right:6px;top:6px}.cemp-line{position:relative}}

/* Uitklapvenster "Opdruk & informatie" */
.mp-info{margin:8px 0 2px;border:1px solid var(--line2);border-radius:11px;background:#fff}
.mp-info summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 13px;font-size:13px;font-weight:700;cursor:pointer;color:var(--ink);list-style:none}
.mp-info summary::-webkit-details-marker{display:none}
.mp-info[open] summary{border-bottom:1px solid var(--line2)}
.mp-info-ch{transition:.18s;color:var(--gold-deep);font-size:17px;line-height:1}
.mp-info[open] .mp-info-ch{transform:rotate(90deg)}
.mp-info-b{padding:11px 13px 13px}
.mp-info-h{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800;margin-bottom:6px}
.mp-info-row{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:12.5px;border-bottom:1px solid var(--line2)}
.mp-info-row:last-of-type{border-bottom:none}
.mp-info-pos{color:var(--muted)}
.mp-info-logo{font-weight:700;text-align:right;color:var(--ink)}
.mp-info-logo.none{color:#8A5A00;font-weight:600}
.mp-info-proof{display:block;margin-top:10px;text-align:center;border:1px solid var(--line2);border-radius:9px;padding:8px;font-size:12.5px;font-weight:700;color:var(--gold-deep)}
.mp-info-proof:hover{background:var(--gold-soft);border-color:#EBDCB8}
@media(max-width:560px){.mp-card-img{height:220px}}
.auth-vat{display:flex;gap:7px;margin-top:4px}
.auth-vat input{flex:1;min-width:0}
.auth-vat .btn{white-space:nowrap;padding:10px 14px;font-size:13px}
.auth-lookup.ok{color:#1A7F37}
.auth-lookup.warn{color:#8A5A00}
.af-hint{display:block;font-size:12px;color:var(--muted);margin-top:4px}

/* ---- Categorietekst + FAQ onder het productraster (16-09-2026) ------------
   De categoriepagina's waren tot nu toe een kaal productraster zonder één
   regel tekst. Dit blok staat bewust ónder de producten: koopintentie eerst. */
.cat-tekst{max-width:820px}
.cat-tekst h2{font-size:1.35rem;margin:0 0 .6em}
.cat-tekst-body p{margin:0 0 1em;line-height:1.7}
.cat-tekst-body b{font-weight:600}
.cat-tekst-faq{margin-top:2.2rem}
.cat-tekst-faq details{border-top:1px solid rgba(0,0,0,.09);padding:.15rem 0}
.cat-tekst-faq details:last-of-type{border-bottom:1px solid rgba(0,0,0,.09)}
.cat-tekst-faq summary{cursor:pointer;list-style:none;padding:.95rem 2rem .95rem 0;position:relative}
.cat-tekst-faq summary::-webkit-details-marker{display:none}
.cat-tekst-faq summary h3{display:inline;font-size:1rem;font-weight:600;margin:0}
.cat-tekst-faq summary::after{content:"+";position:absolute;right:.35rem;top:50%;transform:translateY(-50%);font-size:1.3rem;line-height:1;opacity:.5}
.cat-tekst-faq details[open] summary::after{content:"\2212"}
.cat-tekst-faq details>div{padding:0 2rem 1.1rem 0;line-height:1.7;opacity:.88}
@media(prefers-color-scheme:dark){
  .cat-tekst-faq details{border-top-color:rgba(255,255,255,.14)}
  .cat-tekst-faq details:last-of-type{border-bottom-color:rgba(255,255,255,.14)}
}
