:root{--navy:#111b2a;--navy2:#1d2c42;--gold:#d6aa58;--cream:#f5f2eb;--ink:#172132;--muted:#6f7a89;--line:#dde2e8;--ok:#18794e;--warn:#a86108;--bad:#b42318;--shadow:0 16px 48px #14203314;font-family:Inter,"Segoe UI",sans-serif;color:var(--ink);background:var(--cream)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.login{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.login-brand{background:radial-gradient(circle at 20% 20%,#314865,var(--navy) 60%);padding:8vw;color:#fff;display:flex;flex-direction:column;justify-content:center}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-size:.72rem;font-weight:800}.login-brand h1{font-family:Georgia,serif;font-size:clamp(3rem,7vw,6.5rem);line-height:.9;margin:.35em 0}.login-brand p{max-width:44ch;color:#c9d2de}.login-panel{display:grid;place-items:center;padding:4vw}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow)}.login-card{width:min(420px,100%)}h2,h3{margin-top:0}label{display:block;font-size:.82rem;font-weight:750;margin:14px 0 6px}input,select,textarea{width:100%;border:1px solid #cfd6df;border-radius:10px;padding:11px 12px;background:#fff}input:focus,select:focus{outline:3px solid #d6aa5833;border-color:var(--gold)}.btn{border:0;border-radius:10px;padding:11px 16px;font-weight:750}.btn.primary{background:var(--navy);color:#fff}.btn.gold{background:var(--gold);color:#172132}.btn.ghost{background:#edf0f4}.wide{width:100%;margin-top:18px}.note{color:var(--muted);font-size:.84rem}.shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:var(--navy);color:#fff;padding:28px 20px;position:sticky;top:0;height:100vh}.brand{font-family:Georgia,serif;font-size:1.55rem}.brand small{font-family:Inter,sans-serif;display:block;font-size:.66rem;color:var(--gold);letter-spacing:.16em;text-transform:uppercase;margin-bottom:6px}.nav{margin-top:40px;display:grid;gap:7px}.nav button{border:0;text-align:left;padding:12px;border-radius:10px;background:transparent;color:#aeb9c8}.nav button.active{background:#ffffff12;color:#fff}.main{padding:34px;max-width:1400px;width:100%;margin:auto}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.status{font-size:.78rem;padding:7px 10px;border-radius:999px;background:#e7f5ed;color:var(--ok)}.hero{background:linear-gradient(130deg,var(--navy),#263d5c);color:#fff;border-radius:22px;padding:34px;display:flex;justify-content:space-between;gap:20px}.hero h1{font-family:Georgia,serif;font-size:2.6rem;margin:.2em 0}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0}.metric strong{display:block;font-size:2rem}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.section{display:none}.section.active{display:block}.steps{display:flex;gap:8px;overflow:auto;margin-bottom:18px}.step{border:1px solid var(--line);padding:9px 12px;border-radius:999px;white-space:nowrap;color:var(--muted)}.step.active{background:var(--navy);color:#fff}.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.span2{grid-column:1/-1}.type-toggle{display:flex;gap:8px}.type-toggle button.active{background:var(--navy);color:#fff}.hidden{display:none!important}.actions{display:flex;justify-content:space-between;margin-top:22px;gap:10px}.product{border:1px solid var(--line);border-radius:14px;padding:15px}.upload{border:2px dashed #cbd3dd;border-radius:14px;padding:24px;text-align:center;background:#fafbfc}.preview{display:grid;grid-template-columns:180px 1fr;gap:18px;margin-top:16px}.preview img{width:180px;height:180px;object-fit:contain;background:repeating-conic-gradient(#eee 0 25%,#fff 0 50%) 50%/18px 18px;border-radius:12px}.quality{font-weight:800}.quality.Good{color:var(--ok)}.quality.Warn{color:var(--warn)}.quality.Bad{color:var(--bad)}.check{display:flex;gap:10px;align-items:flex-start;margin:12px 0}.check input{width:auto;margin-top:3px}.toast{position:fixed;right:24px;bottom:24px;background:var(--navy);color:#fff;padding:12px 16px;border-radius:10px}@media(max-width:850px){.login{grid-template-columns:1fr}.login-brand{min-height:38vh}.shell{display:block}.sidebar{height:auto;position:static}.nav{grid-template-columns:repeat(3,1fr);margin-top:18px}.main{padding:20px}.grid,.row,.metrics{grid-template-columns:1fr}.hero{display:block}.span2{grid-column:auto}.preview{grid-template-columns:1fr}}
.order-list{display:grid;gap:12px}.order-row{display:flex;align-items:center;justify-content:space-between;gap:18px}.workorder{max-width:1050px;margin:auto}.actions-inline{display:flex;gap:10px}.workorder-head{background:var(--navy);color:#fff;border-radius:20px;padding:30px;margin-bottom:18px;display:flex;justify-content:space-between;gap:20px}.workorder-head h1{font:2.5rem Georgia,serif;margin:.2em 0}.workorder-meta{text-align:right;color:#d7dfeb}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.workorder dl{display:grid;grid-template-columns:150px 1fr;gap:8px 16px;margin:0}.workorder dt{color:var(--muted);font-size:.82rem}.workorder dd{margin:0;font-weight:650}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}th{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.artwork-detail{display:grid;grid-template-columns:minmax(320px,1.2fr) 1fr;gap:24px;padding:22px 0;border-top:1px solid var(--line)}.artwork-detail:first-of-type{border-top:0}.artwork-images{display:grid;grid-template-columns:1fr 1fr;gap:12px}.artwork-images figure{margin:0}.artwork-images img{width:100%;height:220px;object-fit:contain;border:1px solid var(--line);border-radius:12px;background:#f3f5f7}.artwork-images figcaption{font-size:.76rem;color:var(--muted);margin-top:6px}.file-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.file-actions a{text-decoration:none}.workorder-footer{text-align:center;color:var(--muted);font-size:.75rem;padding:18px}@media(max-width:850px){.order-row,.workorder-head{display:block}.order-row .btn{margin-top:12px;width:100%}.detail-grid,.artwork-detail,.artwork-images{grid-template-columns:1fr}.workorder dl{grid-template-columns:1fr}.workorder dd{margin-bottom:8px}.workorder-meta{text-align:left;margin-top:20px}}
.password-wrap{position:relative}.password-wrap input{padding-right:92px}.password-toggle{position:absolute;right:5px;top:5px;bottom:5px;border:0;border-radius:7px;background:#edf0f4;color:var(--ink);padding:0 12px;font-weight:750;font-size:.78rem}.password-toggle:hover{background:#dfe5ec}
.topbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media(max-width:600px){.topbar{align-items:flex-start;gap:12px}.topbar-actions{justify-content:flex-end}.topbar-actions .btn{padding:9px 11px;font-size:.78rem}}
.shop{min-height:100vh;background:#f7f4ed}.shop-header{height:82px;padding:0 max(24px,calc((100vw - 1280px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}.shop-logo{font:1.45rem Georgia,serif;color:var(--navy);text-decoration:none}.shop-logo small{display:block;font:700 .65rem Inter,sans-serif;color:#a87520;letter-spacing:.18em;text-transform:uppercase}.shop-secure{font-size:.82rem;color:var(--ok);font-weight:700}.shop-main{max-width:1280px;margin:auto;padding:32px 24px 70px}.shop-hero{min-height:360px;border-radius:28px;padding:60px;background:radial-gradient(circle at 85% 20%,#3d5676,var(--navy) 58%);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:40px}.shop-hero h1{font:clamp(3rem,6vw,5.8rem)/.92 Georgia,serif;margin:.25em 0}.shop-hero p{font-size:1.08rem;color:#ced7e3;max-width:580px}.shop-promise{background:#ffffff12;border:1px solid #ffffff2b;border-radius:18px;padding:24px;min-width:270px}.shop-promise span{display:block;color:#cfd8e4;margin-top:6px;font-size:.84rem}.shop-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:24px 0 34px}.shop-steps span{display:flex;align-items:center;gap:10px;color:var(--muted);font-weight:700;padding:12px}.shop-steps i{font-style:normal;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e5e9ee}.shop-steps .active{color:var(--navy)}.shop-steps .active i{background:var(--gold)}.shop-steps .done i{background:var(--ok);color:#fff}.shop-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}.shop-section-head h2,.shop-form h2{font:2.3rem Georgia,serif;margin:.25em 0}.shop-section-head p{color:var(--muted)}.shop-products{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.shop-product{background:#fff;border:2px solid transparent;border-radius:20px;overflow:hidden;box-shadow:var(--shadow);cursor:pointer;transition:.2s}.shop-product:hover{transform:translateY(-3px)}.shop-product.selected{border-color:var(--gold)}.product-visual{height:230px;display:grid;place-items:center;background:linear-gradient(145deg,#d9dde2,#f7f8fa)}.product-visual span{display:grid;place-items:center;width:100px;height:100px;border-radius:50%;background:#ffffff90;color:var(--navy);font:2.2rem Georgia,serif}.tone-1{background:linear-gradient(145deg,#b9c6d5,#e4e9ef)}.tone-2{background:linear-gradient(145deg,#cac5bd,#f0ece6)}.product-copy{padding:22px}.product-copy small{color:#a87520;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.product-copy h3{font:1.5rem Georgia,serif;margin:.4em 0}.product-copy p{color:var(--muted)}.shop-options,.shop-form{margin-top:20px}.shop-upload{border:2px dashed #c8d0da;border-radius:14px;padding:24px;text-align:center;position:relative}.shop-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.shop-upload b,.shop-upload span{display:block}.shop-upload span{color:var(--muted);font-size:.8rem;margin-top:5px}.shop-file{color:var(--ok);font-weight:700}.shop-actions{display:flex;justify-content:space-between;margin-top:24px}.shop-footer{text-align:center;padding:30px;background:var(--navy);color:#c7d0dc;font-size:.8rem}.demo-badge{background:#fff0cf;color:#895b06;padding:8px 12px;border-radius:999px;font-weight:800;font-size:.76rem}.shop-form dl,.shop .card dl{display:grid;grid-template-columns:130px 1fr;gap:8px}.shop-form dt,.shop .card dt{color:var(--muted)}.shop-form dd,.shop .card dd{margin:0;font-weight:650}.shop-timeline{padding-left:22px;display:grid;gap:9px}.shop-demo-note{padding:18px;border-radius:14px;background:#fff4d9;color:#775516;margin-top:18px}.shop-demo-note b{display:block}.shop-toast{position:fixed;right:22px;bottom:22px;background:var(--navy);color:#fff;padding:14px 18px;border-radius:12px;box-shadow:var(--shadow);z-index:50}@media(max-width:800px){.shop-header{height:auto;padding:18px 20px}.shop-secure{display:none}.shop-main{padding:18px 14px 50px}.shop-hero{padding:34px 24px;min-height:auto;display:block}.shop-hero h1{font-size:3rem}.shop-promise{margin-top:24px;min-width:0}.shop-steps{overflow:auto;display:flex}.shop-steps span{min-width:145px}.shop-products{grid-template-columns:1fr}.shop-section-head{display:block}.shop-form dl,.shop .card dl{grid-template-columns:1fr}}
.shop-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}.shop-success{text-align:center;padding:60px 24px}.shop-success h2{font:2.6rem Georgia,serif}.success-mark{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#e3f4ea;color:var(--ok);font-size:2.2rem;margin:0 auto 20px}
@media print{.sidebar,.no-print,.topbar>.status{display:none!important}.shell{display:block}.main{padding:0;max-width:none}.workorder{max-width:none}.card{box-shadow:none;break-inside:avoid}.workorder-head{-webkit-print-color-adjust:exact;print-color-adjust:exact}.artwork-detail{break-inside:avoid}.artwork-images img{height:180px}}
.nav button{display:flex;align-items:center;justify-content:space-between;gap:8px}.nav-badge{display:grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:var(--gold);color:var(--navy);font-size:.72rem;font-weight:900}.submission-row .status{display:inline-block;margin-right:10px}.status-nieuw{background:#fff0cf;color:#895b06}.status-in_behandeling{background:#e7eef8;color:#244a7c}.status-afgewezen{background:#feeceb;color:var(--bad)}.status-omgezet{background:#e7f5ed;color:var(--ok)}.submission-detail{max-width:1050px;margin:auto}.submission-detail dl{display:grid;grid-template-columns:140px 1fr;gap:9px 16px;margin:0}.submission-detail dt{color:var(--muted);font-size:.82rem}.submission-detail dd{margin:0;font-weight:650}.submission-detail a{color:var(--ink)}.submission-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}.submission-actions h3,.submission-actions p{margin-bottom:0}.reference{font-size:.8rem;overflow-wrap:anywhere}.metric-button{text-align:left;color:inherit;cursor:pointer}.metrics-four{grid-template-columns:repeat(4,1fr)}@media(max-width:1000px){.metrics-four{grid-template-columns:repeat(2,1fr)}}@media(max-width:850px){.submission-detail dl{grid-template-columns:1fr}.submission-detail dd{margin-bottom:8px}.submission-actions{display:block}.submission-actions .actions-inline{margin-top:16px}.metrics-four{grid-template-columns:1fr}}
.public-file-link{display:inline-block;margin-left:16px;text-decoration:none;color:#fff!important}@media(max-width:600px){.public-file-link{display:block;margin:12px 0 0;text-align:center}}
.submission-reference-list{display:block;margin-top:7px;color:var(--muted);font:600 .74rem ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}
.converted-order-note{margin-bottom:18px;padding:18px 20px;border:1px solid #bddfce;border-left:5px solid var(--ok);border-radius:14px;background:#edf8f2}.converted-order-note b,.converted-order-note span{display:block}.converted-order-note span{margin-top:4px;color:var(--muted);font:600 .75rem ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}.converted-order-note p{margin:10px 0 0}
.customer-artwork-tools{margin-top:20px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#f8fafb}.customer-artwork-preview{display:grid;grid-template-columns:220px 1fr;gap:20px;align-items:end}.customer-artwork-preview img{width:220px;height:220px;object-fit:contain;border:1px solid var(--line);border-radius:12px;background-image:linear-gradient(45deg,#ddd 25%,transparent 25%),linear-gradient(-45deg,#ddd 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ddd 75%),linear-gradient(-45deg,transparent 75%,#ddd 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}.customer-artwork-readout{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.customer-artwork-readout>div{padding:14px;border-radius:12px;background:#fff;border:1px solid var(--line)}.customer-artwork-readout span,.processing-options span{display:block;color:var(--muted);font-size:.76rem;margin-bottom:5px}.dpi-good{border-color:#acd6bf!important;background:#eff9f3!important}.dpi-warn{border-color:#e8cf98!important;background:#fff8e8!important}.dpi-bad{border-color:#e5aaa6!important;background:#fff0ef!important}.scale-lock{margin:12px 0}.scale-actions{display:flex;gap:10px;flex-wrap:wrap}.processing-options{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}@media(max-width:700px){.customer-artwork-preview,.customer-artwork-readout{grid-template-columns:1fr}.customer-artwork-preview img{width:100%;height:260px}.processing-options{grid-template-columns:1fr}.processing-options .btn{width:100%}}
.upscale-choice{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px;background:rgba(16,32,57,.72);backdrop-filter:blur(4px)}.upscale-choice-card{width:min(560px,100%);padding:32px;border-radius:22px;background:#fff;box-shadow:0 24px 70px rgba(16,32,57,.3)}.upscale-choice-card h2{margin:8px 0 14px}.upscale-choice-actions{display:grid;gap:10px;margin-top:24px}.upscale-choice-actions .btn{width:100%}
.production-quality-control{margin-top:24px;padding:22px;border:1px solid var(--line);border-left-width:6px;border-radius:16px}.quality-green{border-left-color:var(--ok);background:#eff9f3}.quality-orange{border-left-color:#d58a15;background:#fff8e8}.quality-red{border-left-color:var(--bad);background:#fff0ef}.quality-control-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.quality-control-head h3{margin:5px 0}.quality-control-head p{margin:0}.quality-light{width:22px;height:22px;flex:0 0 auto;border-radius:50%;background:currentColor;box-shadow:0 0 0 6px #ffffffaa}.quality-green .quality-light{color:var(--ok)}.quality-orange .quality-light{color:#d58a15}.quality-red .quality-light{color:var(--bad)}.quality-size-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.quality-audit{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin-top:16px;padding:14px;border-radius:10px;background:#ffffffa8}.quality-audit span{color:var(--muted);font-size:.78rem}.quality-block-message{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding:14px;border-radius:10px;background:#ffffffa8}.workorder-quality-audit{margin-top:22px;padding:18px;border-radius:12px;border-left:5px solid var(--line)}@media(max-width:600px){.quality-control-head{display:block}.quality-light{display:block;margin:12px 0}.quality-size-actions .btn{width:100%}.quality-block-message{display:block}.quality-block-message .btn{width:100%;margin-top:12px}}
.customer-owned-product .product-visual{background:linear-gradient(145deg,#efe3c8,#fbf8f1)}.own-clothing-options{border-left:6px solid var(--gold)}.own-clothing-warning{display:grid;gap:5px;margin-top:18px;padding:15px;border-radius:12px;background:#fff4d9;color:#775516}.own-clothing-warning span{font-size:.86rem;line-height:1.5}
.artwork-requirement{display:grid;gap:6px;margin:16px 0 22px;padding:16px;border-left:5px solid var(--gold);border-radius:12px;background:#fff8e8;color:#684b18}.artwork-requirement span{font-size:.88rem;line-height:1.55}
.dtf-pricing{margin-top:18px;border-left:6px solid var(--gold)}.dtf-price-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.dtf-price-head h3{margin:5px 0}.dtf-calculation{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.dtf-calculation>div{padding:13px;border:1px solid var(--line);border-radius:10px;background:#fafbfc}.dtf-calculation span{display:block;color:var(--muted);font-size:.75rem;margin-bottom:4px}.dtf-calculation .dtf-total{background:#edf8f2;border-color:#bddfce}.dtf-calculation .negative-margin{background:#fff0ef;border-color:#e5aaa6}.dtf-warning{grid-column:1/-1;margin:0;padding:12px;border-radius:10px;background:#fff4d9;color:#775516}.dtf-notes{display:grid;gap:5px;margin-top:14px;color:var(--muted);font-size:.8rem}@media(max-width:750px){.dtf-price-head{display:block}.dtf-calculation{grid-template-columns:1fr 1fr}}@media(max-width:480px){.dtf-calculation{grid-template-columns:1fr}}
.submission-filters{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin-bottom:16px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.submission-filters label{margin:0}.submission-filters span{display:block;margin-bottom:6px}.status-wacht_op_klant{background:#fff4d9;color:#775516}.status-offerte_verzonden{background:#eee9fb;color:#5a3b91}.status-geaccepteerd{background:#e7f5ed;color:var(--ok)}.submission-management{margin-top:18px;border-left:6px solid var(--gold)}.management-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.management-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.management-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}.internal-notes,.submission-timeline{display:grid;gap:10px;margin-top:14px}.internal-notes article{padding:13px;border:1px solid var(--line);border-radius:11px;background:#fafbfc}.internal-notes time{float:right;color:var(--muted);font-size:.75rem}.internal-notes p,.submission-timeline p{margin:7px 0 0;white-space:pre-wrap}.submission-timeline article{display:grid;grid-template-columns:12px 1fr;gap:10px;position:relative}.submission-timeline i{width:10px;height:10px;margin-top:5px;border-radius:50%;background:var(--gold)}.submission-timeline span{display:block;margin-top:4px;color:var(--muted);font-size:.75rem}@media(max-width:750px){.submission-filters,.management-grid,.management-columns{grid-template-columns:1fr}.management-head{display:block}.management-head .status{display:inline-block;margin-bottom:12px}}
.artwork-processing-request{margin-top:18px;border-left:6px solid var(--ok)}.processing-request-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.processing-request-grid>div{padding:14px;border:1px solid var(--line);border-radius:11px;background:#fafbfc}.processing-request-grid span{display:block;margin-bottom:5px;color:var(--muted);font-size:.76rem}@media(max-width:750px){.processing-request-grid{grid-template-columns:1fr}}
.background-decision{display:grid;gap:8px;margin-top:20px;padding:18px;border:1px solid var(--line);border-left:6px solid var(--gold);border-radius:14px;background:#fff8e8}.background-decision>span{color:var(--muted);font-size:.88rem;line-height:1.5}.background-clear{border-left-color:var(--ok);background:#eff9f3}.background-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}.ai-declaration{align-items:flex-start;margin-top:14px;padding-top:16px;border-top:1px solid #00000014}.ai-declaration input{margin-top:4px}@media(max-width:600px){.background-actions{display:grid}.background-actions .btn{width:100%}}
.background-comparison{margin-top:16px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}.comparison-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.comparison-head span{display:block;margin-top:5px;color:var(--muted);font-size:.84rem}.comparison-images{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.comparison-images figure{margin:0}.checker{display:grid;place-items:center;min-height:280px;overflow:auto;border:1px solid var(--line);border-radius:12px;background-color:#fff;background-image:linear-gradient(45deg,#ddd 25%,transparent 25%),linear-gradient(-45deg,#ddd 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ddd 75%),linear-gradient(-45deg,transparent 75%,#ddd 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0}.checker img{display:block;max-width:100%;max-height:460px;cursor:zoom-in}.checker img:hover{max-width:none;max-height:none}.comparison-images figcaption{margin-top:7px;text-align:center;font-weight:700}.comparison-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}@media(max-width:700px){.comparison-head{display:block}.comparison-head .btn{margin-top:12px}.comparison-images{grid-template-columns:1fr}.checker{min-height:220px}.comparison-actions{display:grid}.comparison-actions .btn{width:100%}}
.background-progress{min-height:150px;display:grid;place-items:center;text-align:center}.processing-spinner{width:40px;height:40px;border:5px solid #dfe5ec;border-top-color:var(--gold);border-radius:50%;animation:processing-spin .8s linear infinite}.background-error{border-color:#e5aaa6;background:#fff0ef}.background-error .btn{margin-top:14px}@keyframes processing-spin{to{transform:rotate(360deg)}}
.garment-color-on{background-image:none!important}.preview-background{display:grid;gap:8px;align-content:end}.preview-background span{color:var(--muted)}
.live-product-visual img{width:100%;height:100%;object-fit:contain;padding:12px}.public-price-summary{display:grid;grid-template-columns:1fr auto;gap:8px 20px;margin-top:18px;padding:18px;border-radius:14px;background:#eef7f2}.public-price-summary span{color:var(--muted)}.public-price-summary b,.public-price-summary strong{font-size:1.15rem;color:var(--navy)}
.public-variant-lines{display:grid;gap:10px;margin-top:20px}.public-variant-line{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.public-variant-line span{display:block;margin-top:4px;color:var(--muted);font-size:.84rem}.public-order-total{display:flex;justify-content:space-between;padding:16px;border-radius:12px;background:var(--navy);color:#fff}.public-order-total b{font-size:1.2rem}@media(max-width:650px){.public-variant-line{grid-template-columns:1fr auto}.public-variant-line .btn{grid-column:1/-1}}
.primex-test{margin-top:22px}.primex-test .actions-inline{align-items:end;justify-content:flex-start;margin:18px 0}.primex-test .actions-inline label{min-width:240px}.primex-test-result{display:grid;grid-template-columns:minmax(180px,280px) 1fr;gap:24px;align-items:start;margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.primex-test-result>img{width:100%;max-height:320px;object-fit:contain;border-radius:14px;background:#f5f5f2}.primex-test-result dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 16px}.primex-test-result dt{color:var(--muted)}.primex-test-result dd{margin:0;font-weight:600}@media(max-width:700px){.primex-test-result{grid-template-columns:1fr}.primex-test .actions-inline{align-items:stretch}.primex-test .actions-inline label{min-width:0}}
.primex-variant-picker{margin-top:20px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#f8faf9}.primex-variant-picker .row{margin:12px 0}.primex-variant-details{padding-top:14px;border-top:1px solid var(--line)}
.primex-order-prices{display:grid;grid-template-columns:max-content 1fr;gap:5px 12px;margin:12px 0;padding:12px;border-radius:10px;background:#f8faf9}.primex-order-prices dt{color:var(--muted)}.primex-order-prices dd{margin:0;font-weight:700}
.source-file-preview{grid-template-columns:240px 1fr}.source-file-icon{display:grid;place-items:center;align-content:center;gap:8px;min-height:180px;padding:20px;border:1px solid var(--line);border-radius:14px;background:#eef4f1;color:var(--navy);font-size:1.3rem;font-weight:800;text-align:center}.source-file-icon small{display:block;color:var(--muted);font-size:.78rem;font-weight:500}.pdf-artwork-preview{width:100%;height:320px;border:1px solid var(--line);border-radius:14px;background:#fff}
.comparison-images.multi-color{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.shop [data-fit-dpi="150"]{display:none}
.public-upscale-advice{margin-top:18px}.public-upscale-advice .scale-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.public-upscale-advice .btn{text-decoration:none}
.public-detail-inspection{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.detail-zoom-frame{margin-top:14px;max-height:520px;overflow:auto;border:1px solid var(--line);border-radius:12px;background-image:linear-gradient(45deg,#ddd 25%,transparent 25%),linear-gradient(-45deg,#ddd 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ddd 75%),linear-gradient(-45deg,transparent 75%,#ddd 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0}.detail-zoom-frame img{display:block;width:100%;height:auto;max-width:none;transform-origin:top left}.detail-zoom-frame img.zoom-300{width:300%}
.customer-artwork-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,220px));gap:16px;margin-bottom:16px}.customer-artwork-preview-grid figure{margin:0}.customer-artwork-preview-grid figcaption{text-align:center;font-weight:700;margin-top:6px}.garment-artwork-tile{display:grid;place-items:center;width:220px;height:220px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background-image:linear-gradient(45deg,#ddd 25%,transparent 25%),linear-gradient(-45deg,#ddd 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ddd 75%),linear-gradient(-45deg,transparent 75%,#ddd 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}.garment-artwork-tile img{display:block;width:100%;height:100%;object-fit:contain}.preview-background small{display:block;color:var(--muted);line-height:1.5}@media(max-width:700px){.customer-artwork-preview-grid{grid-template-columns:1fr}.garment-artwork-tile{width:100%;height:260px}}
.public-print-lines{margin:20px 0;padding:18px;border:1px solid #dce2e8;border-radius:16px;background:#f8fafb}.public-print-line{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #e2e6eb}.public-print-line:last-child{border-bottom:0}.public-print-line div{display:flex;flex-direction:column;gap:4px}.public-print-line span{color:#69778b}.review-print{padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid #e2e6eb}.review-print:last-child{border-bottom:0;margin-bottom:0}.submission-detail h4{margin:24px 0 10px}
@media(max-width:700px){.public-print-line{grid-template-columns:1fr 1fr}.public-print-line div{grid-column:1/-1}}
.public-file-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.public-file-actions a{text-decoration:none}.garment-mockup-artwork.is-active{z-index:3;cursor:grab;outline:2px dashed #d8a84e;outline-offset:4px}.garment-mockup-artwork.is-active:active{cursor:grabbing}.garment-mockup-artwork.is-saved{pointer-events:none}.garment-mockup-side-tools>div+div button{font-size:1.15rem}
.garment-mockup{margin-bottom:22px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.garment-mockup-head{display:flex;justify-content:space-between;gap:16px;margin-bottom:12px}.garment-mockup-head b,.garment-mockup-head span{display:block}.garment-mockup-head span,.garment-mockup-head small,.garment-mockup-size span{color:var(--muted);font-size:.78rem}.garment-mockup-stage{position:relative;width:min(100%,500px);max-height:58vh;aspect-ratio:1/1;margin:auto;overflow:hidden;border-radius:14px;background:linear-gradient(145deg,#eef1f4,#fff);touch-action:none}.garment-mockup-product{width:100%;height:100%;object-fit:contain}.garment-mockup-artwork{position:absolute;z-index:2;height:auto;max-height:65%;transform:translate(-50%,-50%);object-fit:contain;cursor:grab;filter:drop-shadow(0 2px 2px #0003)}.garment-mockup-artwork:active{cursor:grabbing}.garment-placeholder{position:absolute;inset:11%;clip-path:polygon(27% 6%,40% 0,60% 0,73% 6%,100% 23%,86% 45%,76% 39%,76% 100%,24% 100%,24% 39%,14% 45%,0 23%);background:var(--garment-color,#d9dde2);box-shadow:inset 0 0 0 2px #0002}.garment-mockup-inline-tools{position:absolute;z-index:6;display:flex;align-items:center;gap:4px;transform:translate(-50%,-50%);padding:5px;border:1px solid #cbd4df;border-radius:10px;background:#fffffff2;box-shadow:0 6px 18px #1020392b;white-space:nowrap}.garment-mockup-inline-tools button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:7px;background:#102039;color:#fff;font-size:1.25rem;font-weight:800;cursor:pointer}.garment-mockup-inline-tools b{min-width:82px;color:#102039;font-size:.76rem;text-align:center}.garment-mockup-inline-tools .mockup-reset{background:#e9eef4;color:#102039;font-size:1rem}.garment-mockup-size{margin-top:10px;text-align:center}.garment-mockup-watermark{position:absolute;z-index:4;left:14px;right:14px;bottom:12px;display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:7px;background:#102039c9;color:#fff;font-size:.65rem;letter-spacing:.08em;pointer-events:none}.mockup-model-warning{margin:12px 0 0;padding:11px;border-radius:9px;background:#fff4d9;color:#775516;font-size:.8rem}@media(max-width:700px){.garment-mockup{padding:12px}.garment-mockup-head{display:block}.garment-mockup-head small{display:block;margin-top:5px}.garment-mockup-stage{width:100%;max-height:none}.garment-mockup-inline-tools{padding:3px}.garment-mockup-inline-tools button{width:40px;height:40px}.garment-mockup-inline-tools b{min-width:72px;font-size:.7rem}.garment-mockup-watermark{font-size:.55rem}}
.garment-mockup-workspace{display:grid;grid-template-columns:minmax(0,620px) minmax(155px,210px);justify-content:center;align-items:center;gap:18px}.garment-mockup-workspace .garment-mockup-stage{width:100%;max-height:none}.garment-mockup-side-tools{display:grid;gap:10px;padding:16px;border:1px solid #cbd4df;border-radius:14px;background:#f7f4ed;color:#102039;box-shadow:0 6px 18px #10203914}.garment-mockup-side-tools>span{color:var(--muted);font-size:.75rem;font-weight:700}.garment-mockup-side-tools>b{font-size:1.05rem}.garment-mockup-side-tools>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.garment-mockup-side-tools button{min-height:44px;border:0;border-radius:9px;background:#102039;color:#fff;font-size:1.35rem;font-weight:800;cursor:pointer}.garment-mockup-side-tools .mockup-reset{padding:8px;background:#e4eaf0;color:#102039;font-size:.76rem}.garment-mockup-side-tools small{color:var(--muted);font-size:.7rem;line-height:1.4}@media(max-width:850px){.garment-mockup-workspace{grid-template-columns:1fr}.garment-mockup-workspace .garment-mockup-stage{width:min(100%,620px)}.garment-mockup-side-tools{box-sizing:border-box;width:min(100%,620px);margin:auto;grid-template-columns:1fr auto auto;align-items:center}.garment-mockup-side-tools>span,.garment-mockup-side-tools small{grid-column:1/-1}.garment-mockup-side-tools>div{min-width:116px}.garment-mockup-side-tools .mockup-reset{min-height:44px}}@media(max-width:700px){.garment-mockup-side-tools{grid-template-columns:1fr auto}.garment-mockup-side-tools>div{grid-row:1/3;grid-column:2}.garment-mockup-side-tools .mockup-reset{grid-column:1/-1}}

/* Testfeedback ronde 2: duidelijkere acties, adreszoeker, meldingen en mobiele mockupbediening */
.shop-actions #shopNext{background:#0b7a53;color:#fff;min-width:180px;box-shadow:0 8px 22px rgba(11,122,83,.25);font-size:1rem}.shop-actions #shopNext:hover{filter:brightness(.94);transform:translateY(-1px)}
#addPublicVariant{background:#0b7a53;color:#fff;border:3px solid #075b3f;box-shadow:0 8px 20px rgba(11,122,83,.22);font-size:1rem;padding:15px 18px}#addPublicVariant::before{content:'✓ ';font-weight:900}.public-variant-lines{margin-top:16px;padding:16px;border-radius:14px;background:#f7faf8;border:1px solid #cfe5da}
.address-number-row{display:grid;grid-template-columns:1fr auto;gap:8px}.address-lookup{background:var(--navy);color:#fff;white-space:nowrap}input[readonly]{background:#f1f4f6;color:#334155}
.shop-toast{display:flex;align-items:flex-start;gap:14px;max-width:min(520px,calc(100vw - 28px));font-size:.92rem;line-height:1.45}.shop-toast span{flex:1}.shop-toast button{border:0;background:transparent;color:#fff;font-size:1.4rem;line-height:1;padding:0;cursor:pointer}
.garment-mockup-stage::after{content:'BEDRUKBAAR GEBIED';position:absolute;z-index:1;left:25%;right:25%;top:20%;bottom:20%;border:1px dashed rgba(16,32,57,.28);border-radius:8px;display:grid;place-items:start center;padding-top:4px;color:rgba(16,32,57,.42);font-size:.55rem;font-weight:800;letter-spacing:.08em;pointer-events:none}.garment-mockup-artwork.is-active{touch-action:none}
@media(max-width:700px){.shop-actions{position:sticky;bottom:0;z-index:20;margin:22px -14px -18px;padding:12px 14px;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 20px #10203914}.shop-actions .btn{min-height:50px}.shop-actions #shopNext{flex:1}.address-number-row{grid-template-columns:1fr}.address-lookup{width:100%;min-height:46px}.garment-mockup-side-tools{display:grid!important;grid-template-columns:1fr!important;gap:10px}.garment-mockup-side-tools>div{display:grid!important;grid-template-columns:1fr 1fr!important;grid-row:auto!important;grid-column:auto!important;min-width:0}.garment-mockup-side-tools button{min-height:52px!important;font-size:1.55rem!important}.garment-mockup-side-tools .mockup-reset{grid-column:auto!important}.shop-toast{left:14px;right:14px;bottom:76px}}

/* Testversie 4: voorwaarden geïntegreerd in de bestelmodule */
.terms-accept{margin-top:18px}.terms-inline-link{display:inline;padding:0;border:0;background:none;color:#0b6b8a;font:inherit;font-weight:800;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.terms-actions{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 18px}.terms-modal{position:fixed;z-index:9999;inset:0;display:grid;place-items:center;padding:18px;background:#07111fcf;backdrop-filter:blur(3px)}.terms-dialog{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(920px,100%);max-height:min(90vh,900px);overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 24px 70px #0007}.terms-dialog-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:20px 22px;border-bottom:1px solid var(--line);background:#f7f4ed}.terms-dialog-head small,.terms-dialog-head span{display:block;color:var(--muted);font-size:.75rem}.terms-dialog-head h2{margin:4px 0 5px}.terms-close{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:0;border-radius:50%;background:#102039;color:#fff;font-size:1.6rem;cursor:pointer}.terms-content{overflow:auto;padding:8px 24px 26px;line-height:1.55}.terms-content section{padding:17px 0;border-bottom:1px solid #e7ebef}.terms-content section:last-child{border-bottom:0}.terms-content h3{margin:0 0 7px;color:#102039;font-size:1rem}.terms-content p{margin:0;color:#46566c}.terms-dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid var(--line);background:#fff}.detail-grid .card p.note{line-height:1.55}@media(max-width:700px){.terms-modal{padding:0}.terms-dialog{width:100%;max-height:100dvh;height:100dvh;border-radius:0}.terms-dialog-head{padding:16px}.terms-content{padding:6px 18px 24px}.terms-dialog-actions{position:sticky;bottom:0;padding:12px 16px}.terms-dialog-actions .btn{flex:1}.terms-actions{display:grid;grid-template-columns:1fr}.terms-actions .btn{width:100%}}

/* Nieuwsbrief opt-in en eenmalige welkomstkorting */
.newsletter-choice{margin-top:22px;padding:18px;border:1px solid #d8e2e8;border-radius:16px;background:#f8fbfc}.newsletter-check{align-items:flex-start}.newsletter-check input{margin-top:4px;transform:scale(1.15)}.newsletter-check span{display:block}.newsletter-check b{display:block;color:var(--navy);margin-bottom:4px}.newsletter-check small{display:block;color:#52657a;line-height:1.5}.newsletter-note{margin:10px 0 0 30px;line-height:1.5}.newsletter-discount-preview{margin:14px 0 0 30px;padding:12px 14px;border-radius:12px;background:#eaf7ee;display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center}.newsletter-discount-preview b{color:#18733a;font-size:1.05rem}.newsletter-discount-preview small{grid-column:1/-1;color:#52657a}.newsletter-review{border-color:#cfe5d6;background:#fbfffc}@media(max-width:700px){.newsletter-choice{padding:16px}.newsletter-note,.newsletter-discount-preview{margin-left:0}.newsletter-discount-preview{grid-template-columns:1fr auto}}

.dpi-customer-choice{display:none;margin-top:14px;padding:16px;border:1px solid #d7b56d;border-radius:14px;background:#fffaf0}
.dpi-customer-choice.is-visible{display:block}
.dpi-customer-choice>b,.dpi-customer-choice>span{display:block}
.dpi-customer-choice>span{margin:6px 0 12px;line-height:1.45}
.dpi-warn{border-color:#d7b56d!important}
.dpi-warn strong{color:#8a641c}

.order-mode-choice{margin-top:18px;padding:18px;border:1px solid #dfe3e8;border-radius:16px;background:#fafbfc}
.order-mode-choice>div:first-child>b,.order-mode-choice>div:first-child>span{display:block}
.order-mode-choice>div:first-child>span{margin-top:5px;line-height:1.45}
.order-mode-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.minimum-print-warning{margin-top:14px;padding:14px;border-radius:12px;background:#fff5e8;border:1px solid #e8c48c}
.minimum-print-warning b,.minimum-print-warning span{display:block}
.minimum-print-warning span{margin-top:4px}

/* V6 Primex catalogus */
.catalog-browser{margin-bottom:18px}
.catalog-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
.catalog-search-row label{display:block;font-weight:700;margin-bottom:6px}
.catalog-search-row input{width:100%}
.catalog-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.catalog-chip{appearance:none;border:1px solid #dfe3e8;background:#fff;border-radius:999px;padding:9px 13px;font:inherit;font-weight:700;cursor:pointer}
.catalog-chip.active{background:#17233f;color:#fff;border-color:#17233f}
.catalog-status,.catalog-empty{display:flex;flex-direction:column;gap:4px;padding:18px;margin-top:14px}
.catalog-result-count{margin-top:14px;color:#667085}
.catalog-grid{align-items:stretch}
.catalog-product{cursor:pointer}
.catalog-product .product-copy p{min-height:2.8em}
.catalog-product .product-visual img{width:100%;height:100%;object-fit:contain}
@media (max-width:680px){
  .catalog-search-row{grid-template-columns:1fr}
  .catalog-search-row .btn{width:100%}
  .catalog-chips{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}
  .catalog-chip{white-space:nowrap}
}

/* Primex product cards: keep text below image and prevent overflow */
.catalog-product{display:flex;flex-direction:column;overflow:hidden}
.catalog-product .product-visual{position:relative;flex:0 0 auto;min-height:280px;height:320px;overflow:hidden;background:#f5f6f8}
.catalog-product .product-visual img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.catalog-product-copy{position:relative;z-index:1;display:flex;flex-direction:column;flex:1;background:#fff;padding:22px 24px 24px}
.catalog-product-title{
  margin:10px 0 12px;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  line-height:1.12;
}
.catalog-product-brief{
  margin:0 0 18px;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  line-height:1.45;
  min-height:4.35em;
}
.catalog-product-copy .btn{margin-top:auto;align-self:flex-start}
@media (max-width:680px){
  .catalog-product .product-visual{height:260px;min-height:260px}
  .catalog-product-copy{padding:18px}
}

/* V6 productdetail direct na catalogusklik */
.catalog-product-detail-page{max-width:1180px;margin:0 auto}
.product-detail-head{align-items:center}
.selected-product-summary{
  display:grid;
  grid-template-columns:minmax(240px,360px) minmax(0,1fr);
  gap:28px;
  align-items:center;
  margin-bottom:18px;
}
.selected-product-image{
  height:360px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:16px;
  background:#f5f6f8;
}
.selected-product-image img{width:100%;height:100%;object-fit:contain}
.selected-product-copy h3{margin:8px 0 12px;font-size:clamp(1.5rem,3vw,2.25rem)}
.selected-product-copy p{line-height:1.55}
.selected-product-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.selected-product-meta span{padding:7px 10px;border-radius:999px;background:#f1f3f6;font-size:.9rem}
.catalog-product{transition:transform .15s ease,box-shadow .15s ease}
.catalog-product:hover{transform:translateY(-2px)}
@media (max-width:760px){
  .product-detail-head{display:block}
  .product-detail-head .btn{width:100%;margin-top:12px}
  .selected-product-summary{grid-template-columns:1fr;gap:18px}
  .selected-product-image{height:280px}
}

/* Primex voorraadmatrix */
.stock-overview{margin:0 0 18px;padding:20px;border:1px solid #dfe3e8;border-radius:18px;background:#fff}
.stock-overview-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px}
.stock-overview-head b,.stock-overview-head span{display:block}
.stock-overview-head>div:first-child span{margin-top:4px;color:#667085}
.stock-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:.9rem}
.stock-legend span{display:flex;align-items:center;gap:6px}
.dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.dot.fast{background:#2f9e44}.dot.extra{background:#168aad}.dot.none{background:#d94841}
.stock-table-wrap{overflow:auto;border:1px solid #e2e6ea;border-radius:12px}
.stock-overview table{border-collapse:collapse;width:100%;min-width:640px}
.stock-overview th,.stock-overview td{padding:11px 12px;border-bottom:1px solid #eceff2;border-right:1px solid #eceff2;text-align:center;white-space:nowrap}
.stock-overview thead th{background:#132b3a;color:#fff;position:sticky;top:0;z-index:1}
.stock-color{display:flex;align-items:center;gap:9px;text-align:left!important;min-width:155px}
.stock-color-thumb{width:34px;height:34px;border-radius:7px;overflow:hidden;background:#f4f5f7;display:inline-flex}
.stock-color-thumb img{width:100%;height:100%;object-fit:contain}
.stock-cell b,.stock-cell small{display:block}
.stock-cell small{margin-top:3px;font-size:.76rem;color:#168aad}
.stock-cell.stock-fast{background:#f2fbf4}
.stock-cell.stock-extra{background:#eef9fc}
.stock-cell.stock-none{background:#fff3f2;color:#a12b26}
.stock-na{color:#98a2b3}
.stock-help{margin:12px 0 0;color:#667085;font-size:.9rem}
.selected-stock-inline{display:flex;justify-content:space-between;gap:12px;margin:14px 0;padding:12px 14px;border-radius:12px}
.selected-stock-inline.fast{background:#f2fbf4}.selected-stock-inline.extra{background:#eef9fc}.selected-stock-inline.none{background:#fff3f2}
.delivery-message{margin-top:14px;padding:14px 16px;border-radius:12px}
.delivery-message b,.delivery-message span{display:block}
.delivery-message span{margin-top:4px}
.delivery-fast{background:#eef9f0;border:1px solid #b9dfc1}
.delivery-extra{background:#eef8fb;border:1px solid #acd9e5}
.delivery-none{background:#fff1ef;border:1px solid #efb6b0}
@media(max-width:760px){
  .stock-overview-head{display:block}
  .stock-legend{margin-top:12px}
}

/* Productconfigurator: foto blijft links zichtbaar, keuzes rechts */
.product-configurator{
  display:grid;
  grid-template-columns:minmax(300px,420px) minmax(0,1fr);
  gap:24px;
  align-items:start;
}
.product-configurator-visual{
  position:sticky;
  top:18px;
  align-self:start;
}
.sticky-product-image{
  height:min(58vh,560px);
  min-height:390px;
  border:1px solid #e1e5e9;
  background:#f7f8fa;
}
.sticky-product-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
.selected-product-copy.compact{
  margin-top:14px;
  padding:18px;
  border:1px solid #e1e5e9;
  border-radius:16px;
  background:#fff;
}
.selected-product-copy.compact h3{
  font-size:clamp(1.35rem,2.2vw,2rem);
  margin:6px 0 9px;
}
.selected-product-copy.compact p{
  margin:0;
  line-height:1.45;
}
.product-configurator-options{
  min-width:0;
}
.product-configurator-options .stock-overview{
  margin-top:0;
}
.stock-color-button{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  display:flex;
  align-items:center;
  gap:9px;
  font:inherit;
  font-weight:700;
  cursor:pointer;
  color:inherit;
}
.stock-color-button:hover span:last-child{
  text-decoration:underline;
}
.stock-color-row.is-selected th,
.stock-color-row.is-selected td{
  box-shadow:inset 0 2px 0 #17233f,inset 0 -2px 0 #17233f;
}
.stock-color-row.is-selected .stock-color-button{
  color:#17233f;
}
.stock-color-thumb{
  width:46px;
  height:46px;
  border:2px solid transparent;
}
.stock-color-row.is-selected .stock-color-thumb{
  border-color:#17233f;
}
.compact-order-row{
  margin-top:4px;
}
@media (max-width:900px){
  .product-configurator{
    grid-template-columns:minmax(250px,330px) minmax(0,1fr);
    gap:16px;
  }
  .sticky-product-image{
    height:430px;
    min-height:330px;
  }
}
@media (max-width:720px){
  .product-configurator{
    grid-template-columns:1fr;
  }
  .product-configurator-visual{
    position:static;
  }
  .sticky-product-image{
    height:360px;
    min-height:300px;
  }
  .selected-product-copy.compact{
    margin-bottom:16px;
  }
}

/* Mobiele voorraadweergave */
.mobile-stock-overview{display:none}
@media (max-width:720px){
  .stock-overview{display:none}
  .mobile-stock-overview{
    display:block;
    margin:0 0 16px;
    padding:16px;
    border:1px solid #dfe3e8;
    border-radius:16px;
    background:#fff;
  }
  .mobile-stock-title b,.mobile-stock-title span{display:block}
  .mobile-stock-title span{margin-top:3px;color:#667085;font-size:.92rem}
  .mobile-stock-title.second{margin-top:16px}
  .mobile-color-strip{
    display:flex;
    gap:10px;
    overflow-x:auto;
    padding:12px 2px 6px;
    scroll-snap-type:x proximity;
  }
  .mobile-color-choice{
    flex:0 0 92px;
    scroll-snap-align:start;
    appearance:none;
    border:1px solid #dfe3e8;
    background:#fff;
    border-radius:14px;
    padding:8px;
    font:inherit;
    cursor:pointer;
  }
  .mobile-color-choice.active{
    border:2px solid #17233f;
    padding:7px;
  }
  .mobile-color-choice span{
    display:block;
    height:72px;
    border-radius:10px;
    overflow:hidden;
    background:#f4f5f7;
  }
  .mobile-color-choice img{width:100%;height:100%;object-fit:contain}
  .mobile-color-choice b{
    display:block;
    margin-top:7px;
    font-size:.82rem;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .mobile-size-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
    margin-top:10px;
  }
  .mobile-size-stock{
    padding:11px 12px;
    border-radius:12px;
    border:1px solid #e1e5e9;
  }
  .mobile-size-stock b,.mobile-size-stock span,.mobile-size-stock small{display:block}
  .mobile-size-stock b{font-size:1.05rem}
  .mobile-size-stock span{margin-top:3px;font-size:.88rem}
  .mobile-size-stock small{margin-top:2px;font-size:.78rem}
  .mobile-size-stock.fast{background:#f2fbf4}
  .mobile-size-stock.extra{background:#eef9fc}
  .mobile-size-stock.none{background:#fff3f2}
  .product-configurator-options .shop-options{margin-top:0}
  .compact-order-row{grid-template-columns:1fr}
}

/* Aantal stepper - touch vriendelijk */
.qty-stepper{
  display:grid;
  grid-template-columns:48px minmax(70px,1fr) 48px;
  gap:8px;
  align-items:center;
}
.qty-stepper input{
  width:100%;
  text-align:center;
  font-weight:700;
  min-height:46px;
}
.qty-btn{
  min-height:46px;
  border:1px solid #cfd6de;
  border-radius:12px;
  background:#fff;
  font:inherit;
  font-size:1.35rem;
  font-weight:800;
  cursor:pointer;
  touch-action:manipulation;
}
.qty-btn:active{transform:scale(.97)}
@media(max-width:720px){
  .qty-stepper{
    grid-template-columns:56px minmax(72px,1fr) 56px;
  }
  .qty-btn,.qty-stepper input{
    min-height:52px;
    font-size:1.15rem;
  }
}

/* Funbedrukkingen branding */
.shop-logo-image{display:flex!important;align-items:center;gap:14px;text-decoration:none}
.shop-logo-image img{display:block;width:78px;height:58px;object-fit:contain}
.shop-logo-image span{font-weight:800;font-size:1.05rem}
.brand-with-logo{display:flex!important;align-items:center;gap:10px}
.brand-with-logo img{width:58px;height:58px;object-fit:contain;flex:0 0 auto}
.brand-with-logo span{display:flex;flex-direction:column}
.workorder-brand-block{display:flex;align-items:center;gap:18px}
.workorder-logo{width:92px;height:auto;object-fit:contain}
@media(max-width:640px){
  .shop-logo-image img{width:58px;height:46px}
  .shop-logo-image{gap:9px}
  .shop-logo-image span{font-size:.95rem}
}
@media print{
  .workorder-logo{display:block!important;width:82px!important;height:auto!important}
}

/* Maten direct zichtbaar in productdetail */
.product-size-summary{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid #e6e9ed;
}
.product-size-summary>b{
  display:block;
  margin-bottom:8px;
  font-size:.92rem;
}
.product-size-badges{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.product-size-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  padding:6px 9px;
  border-radius:999px;
  background:#f3f5f7;
  border:1px solid #dde2e7;
  font-size:.86rem;
  font-weight:700;
  line-height:1;
}
.product-size-badge.is-unavailable{
  color:#a92a23;
  background:#fff3f1;
  border-color:#efc0bb;
  text-decoration:line-through;
  text-decoration-thickness:1.5px;
}
@media(max-width:640px){
  .product-size-badges{gap:6px}
  .product-size-badge{min-width:36px;padding:6px 8px;font-size:.82rem}
}

.shop-success #printPaidOrder{margin-top:16px}

.shop-success .success-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.shop-success .success-actions #printPaidOrder{margin-top:0}
@media(max-width:640px){
  .shop-success .success-actions{display:grid;grid-template-columns:1fr}
  .shop-success .success-actions .btn{width:100%}
}

.own-clothing-callout{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;margin:0 0 18px;border:1px solid #dfe4e9;border-radius:18px;background:#fff}
.own-clothing-callout h3{margin:4px 0 5px}.own-clothing-callout p{margin:0;color:#667085}
.catalog-start-hint{padding:22px;margin-top:14px;border:1px dashed #ccd4dd;border-radius:14px;text-align:center;background:#fafbfc}
.catalog-start-hint b,.catalog-start-hint span{display:block}.catalog-start-hint span{margin-top:5px;color:#667085}
@media(max-width:640px){.own-clothing-callout{display:block;padding:17px}.own-clothing-callout .btn{width:100%;margin-top:14px}}
