:root{--purple:#5b2bd8;--purple-2:#7a4cff;--ink:#15131b;--muted:#696573;--line:#e4dfeb;--soft:#f7f5fb;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;height:auto}figure{margin:0}h1,h2,h3,h4{line-height:1.08;letter-spacing:-.045em;margin:0 0 22px;font-weight:600}h1{font-size:clamp(2.8rem,5.8vw,5.4rem);max-width:950px}h2{font-size:clamp(2rem,3.8vw,3.6rem)}h3{font-size:1.35rem;letter-spacing:-.025em}h4{font-size:1rem}p{margin:0 0 20px}.container{width:min(1220px,calc(100% - 64px));margin:auto}.narrow{max-width:820px}.topbar{background:#17131f;color:#ded7e9;font-size:.72rem;padding:9px 0;letter-spacing:.025em}.topbar .container{display:flex;justify-content:space-between;gap:15px}.header{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid var(--line)}.nav{height:90px;display:flex;align-items:center;gap:26px}.brand{margin-right:auto;flex-shrink:0}.brand img{width:165px;height:58px;object-fit:contain}.navlinks{display:flex;align-items:center;gap:23px}.navlinks a{font-size:.84rem;white-space:nowrap}.navlinks a[aria-current]{color:var(--purple);border-bottom:2px solid var(--purple);padding-bottom:7px;margin-bottom:-9px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:14px 20px;border:1px solid transparent;border-radius:5px;font-size:.9rem;font-weight:600;text-align:center;line-height:1.45;transition:background .15s,color .15s}.btn:hover{text-decoration:none}.btn-primary{background:var(--purple);color:white}.btn-primary:hover{background:#4820b5}.btn-outline{border-color:#cac2d6;background:#fff;color:var(--ink)}.btn-outline:hover{background:var(--soft)}.btn-dark{background:#17131f;color:white}.btn-light{background:#fff;color:var(--ink)}.btn:disabled{opacity:.5;cursor:not-allowed}.nav-cta{font-size:.78rem;padding:12px 16px;white-space:nowrap}.cart-link{font-size:.8rem;white-space:nowrap}.cart-link span{border:1px solid var(--line);border-radius:50%;font-size:.72rem;padding:3px 6px;margin-left:3px}.menu-btn{display:none;border:1px solid var(--line);background:white;padding:8px 12px;font-size:1.3rem;border-radius:4px}.mobile-nav{padding:12px 24px 24px;border-top:1px solid var(--line)}.mobile-nav a{display:block;padding:10px}.mobile-nav[hidden]{display:none}.hero{background:#f7f5fb;padding:70px 0 78px;border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:1.03fr 1fr;align-items:center;gap:55px}.section-index{font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;color:var(--purple);margin-bottom:27px;font-weight:600}.hero h1{font-size:clamp(3rem,5.8vw,5.4rem);line-height:1.04}.hero h1 span{color:var(--purple)}.lead{font-size:1.08rem;color:var(--muted);max-width:660px;line-height:1.7}.actions{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:28px 0}.hero-note{font-size:.75rem;color:var(--muted);padding-top:5px}.hero-drawing{background:#e9e2f5;border:1px solid #d7cbea;border-radius:5px;overflow:hidden}.drawing-top{padding:18px 22px;border-bottom:1px solid #d7cbea;display:flex;justify-content:space-between;font:10px monospace;text-transform:uppercase;letter-spacing:.06em}.hero-drawing img{width:100%;height:auto}.hero-drawing figcaption{display:flex;justify-content:space-between;gap:15px;padding:20px 22px;border-top:1px solid #d7cbea;font-size:.73rem}.hero-drawing figcaption span{color:var(--muted)}.section{padding:88px 0}.section-last{padding-top:0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:48px;margin-bottom:38px}.section-head p{max-width:390px}.section-head h2,.section-head h1{margin-bottom:0}.section-head .section-index{margin-bottom:18px}.section-soft{background:var(--soft)}.section-dark{background:#17131f;color:#fff}.section-dark .section-index{color:#b89cff}.section-dark .lead{color:#bdb6c7}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{border:1px solid var(--line);border-radius:5px;overflow:hidden;background:#fff}.card:hover{text-decoration:none;border-color:#b09bd9}.card-body{padding:27px}.card-body p{color:var(--muted);font-size:.93rem;margin:0}.category-art{height:210px;padding:26px;display:flex;justify-content:space-between;flex-direction:column;position:relative;overflow:hidden;background:#eee8f8;color:var(--purple)}.category-art span{font:12px monospace}.category-art strong{font-size:1.8rem;letter-spacing:-.04em;font-weight:500;z-index:1}.category-art:after{content:'';position:absolute;right:28px;top:30px;width:100px;height:100px;border:1px solid #b8a2e0;box-shadow:12px 12px 0 -1px #eee8f8,12px 12px 0 0 #b8a2e0}.custom-art{background:#5b2bd8;color:white}.custom-art:after{border-color:#ad90f4;box-shadow:12px 12px 0 -1px #5b2bd8,12px 12px 0 0 #ad90f4;transform:rotate(-15deg)}.lab-art{background:#201929;color:#d8c4ff}.lab-art:after{border-radius:50%;border-color:#685180;box-shadow:12px 12px 0 -1px #201929,12px 12px 0 0 #685180}.split{display:grid;grid-template-columns:1fr 1fr;gap:74px;align-items:center}.editorial-steps>div{display:flex;gap:28px;padding:28px 0;border-bottom:1px solid #3e354c}.editorial-steps>div:first-child{padding-top:0}.editorial-steps>div:last-child{border:0}.editorial-steps span{font:12px monospace;color:#bba4e9;padding-top:6px}.editorial-steps h3{font-size:1.25rem;margin-bottom:10px}.editorial-steps p{font-size:.9rem;color:#bdb6c7;margin:0}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.product-card{border:1px solid var(--line);border-radius:5px;overflow:hidden;min-width:0}.product-photo{display:block;background:var(--soft);position:relative}.product-photo img{aspect-ratio:6/5;width:100%;object-fit:contain}.photo-label{position:absolute;bottom:12px;left:14px;font-size:.65rem;color:var(--muted);background:#fff;padding:3px 7px;border:1px solid var(--line)}.product-info{padding:22px}.product-info h3{font-size:1.06rem;margin:0;line-height:1.3}.product-info p{color:var(--muted);font-size:.85rem;margin-top:14px}.product-info .meta{font-size:.65rem;text-transform:uppercase;letter-spacing:.09em;margin-top:0}.product-meta{display:flex;justify-content:space-between;gap:12px;align-items:start}.price{color:var(--purple);font-weight:600;white-space:nowrap;font-size:.86rem}.product-more{display:flex;justify-content:space-between;font-size:.8rem;border-top:1px solid var(--line);padding-top:13px}.cta{background:var(--purple);color:white;border-radius:5px;padding:48px 52px;display:flex;justify-content:space-between;align-items:center;gap:35px}.cta h2{font-size:clamp(2rem,3.6vw,3.4rem)}.cta p{color:#e3d8ff;max-width:590px;margin-bottom:0}.cta .btn{flex-shrink:0}.footer{background:#120f17;color:#bab3c4;padding:65px 0 25px}.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1.2fr 1.2fr;gap:45px}.footer .brand{display:inline-block;background:white;padding:3px 10px;border-radius:3px;margin-bottom:20px}.footer .brand img{width:135px;height:44px}.footer p{font-size:.83rem;max-width:280px}.footer h4{color:#fff;margin-top:8px}.footer-grid>div>a:not(.brand){display:block;font-size:.8rem;margin-bottom:10px}.copyright{margin-top:48px;border-top:1px solid #322b3b;padding-top:20px;display:flex;justify-content:space-between;font-size:.68rem;letter-spacing:.04em}.page-hero{padding:65px 0;background:var(--soft);border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(2.8rem,5.5vw,5.2rem);max-width:950px}.page-hero .lead{margin:0}.technical-figure{background:#e9e2f5;border:1px solid #d7cbea;border-radius:5px}.technical-figure img{width:100%}.technical-figure figcaption{border-top:1px solid #d7cbea;padding:15px 24px;font-size:.8rem;color:#5d486f}.visual{height:230px;background:#eee8f8;position:relative}.visual:after{content:'';position:absolute;inset:50px 80px;border:2px solid #9f80d9;transform:skewY(-10deg);box-shadow:12px 12px 0 -2px #eee8f8,12px 12px 0 0 #9f80d9}.visual.rack:after{background:repeating-linear-gradient(90deg,transparent 0 25px,#cbb8eb 25px 27px)}.visual.lab:after{border-radius:50%}.checklist{margin:30px 0;display:grid;gap:20px}.check{display:flex;gap:15px}.check i{font-style:normal;color:var(--purple)}.section-dark .check i{color:#bd9dff}.check span{font-size:.9rem;opacity:.8}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}.step{padding-top:24px;border-top:1px solid #cfc2e4}.step b{font:14px monospace;display:block;color:var(--purple);margin-bottom:25px}.step p{font-size:.9rem;color:var(--muted)}.content-card{border:1px solid var(--line);border-radius:5px;padding:32px;background:white}.content-card h2,.summary h2{font-size:1.5rem;letter-spacing:-.03em}.content-card h2:not(:first-child){margin-top:36px}.contact-details{border-top:1px solid var(--line);padding-top:26px}.contact-details a{font-size:1.3rem;color:var(--purple)}.field{display:flex;flex-direction:column;gap:7px;font-size:.82rem;font-weight:500;margin-bottom:18px;min-width:0}.field input,.field textarea,.field select{width:100%;border:1px solid #cfc7da;border-radius:4px;padding:12px;background:white;color:var(--ink);line-height:1.5;font-size:.95rem}.field textarea{resize:vertical}.field input:disabled{background:var(--soft)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.full{grid-column:1/-1}.honey{position:absolute;left:-9999px}.small{font-size:.78rem;color:var(--muted);line-height:1.6}.small a,.prose a,.check-label a{text-decoration:underline}.prose{line-height:1.8;overflow-wrap:anywhere}.notice{border:1px solid #cec0eb;background:#f3eefc;padding:18px 22px;font-size:.9rem;border-radius:4px;margin-top:24px;margin-bottom:24px}.text-link,.text-btn{color:var(--purple);font-size:.85rem;text-decoration:underline;text-underline-offset:4px}.text-btn{background:transparent;border:0;padding:5px 0}.danger,.error-text{color:#a82236}.stock{color:#256246;font-size:.85rem}.shop-layout{display:grid;grid-template-columns:240px 1fr;gap:35px}.shop-layout .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{align-self:start;position:sticky;top:115px;border:1px solid var(--line);padding:24px;border-radius:5px}.filters h2{font-size:1.1rem}.filters .btn{width:100%;margin-bottom:15px}.filters .text-link{display:block;margin-bottom:20px}.listing-heading{display:flex;gap:15px;justify-content:space-between;font-size:.8rem;margin-bottom:24px;color:var(--muted)}.empty-state{background:var(--soft);padding:48px;border:1px solid var(--line);border-radius:5px}.empty-state h2{font-size:1.6rem}.empty-state p{color:var(--muted)}.product-detail{align-items:start}.product-detail h1{font-size:clamp(2.5rem,4vw,4rem)}.detail-price{font-size:1.6rem;color:var(--purple)}.product-detail .field{margin:0;max-width:100px}.back-link{display:block;margin-bottom:30px;color:var(--muted);font-size:.85rem}.spec-list{margin-top:32px}.spec-list>div{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding:13px 0;font-size:.85rem}.spec-list dd{margin:0;text-align:right}.checkout-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:45px;align-items:start;margin-top:35px}.summary{background:var(--soft);padding:30px;border:1px solid var(--line);border-radius:5px}.summary dl{margin:0 0 26px}.summary dl>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;font-size:.87rem}.summary dd{margin:0;white-space:nowrap}.summary .total{font-weight:bold;border-top:1px solid #cfc7da;font-size:1rem;margin-top:10px}.summary .btn{width:100%;margin-bottom:15px}.cart-row{display:grid;grid-template-columns:1fr auto;gap:15px;border-bottom:1px solid var(--line);padding:24px 0;align-items:center}.cart-row:first-child{padding-top:0}.cart-row>strong{grid-column:2;grid-row:1}.cart-row .inline-form{grid-column:1/-1}.cart-row p{font-size:.83rem;color:var(--muted);margin:0}.cart-row h3{margin-bottom:8px}.cart-row .field{max-width:95px;margin:0}.cart-row~.back-link{margin-top:30px}.inline-form{display:flex;align-items:end;gap:16px;flex-wrap:wrap}.check-label{display:flex;align-items:start;gap:12px;font-size:.8rem;margin:20px 0}.check-label input{width:18px;height:18px;flex-shrink:0;margin:3px 0 0;accent-color:var(--purple)}.order-summary{margin-top:40px}.status-badge{display:inline-block;background:#e9e1fa;color:#492397;padding:6px 14px;border-radius:4px;font-size:.85rem}.admin-nav{background:#f2eef8;border-bottom:1px solid var(--line);font-size:.85rem}.admin-nav .container{display:flex;align-items:center;gap:26px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px}.admin-nav form{margin-left:auto}.admin-stats strong{display:block;font-size:2.4rem;letter-spacing:-.05em;margin-top:8px;color:var(--purple)}.admin-stats span{font-size:.8rem}.compact{margin-top:40px}.compact h2{font-size:1.7rem}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:5px}table{border-collapse:collapse;width:100%;text-align:left;font-size:.86rem}td,th{padding:16px;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--soft);font-weight:600;white-space:nowrap}td a{color:var(--purple);text-decoration:underline}tr:last-child td{border:0}.admin-thumb{width:150px;margin-bottom:15px}.password-card{margin-top:40px}.login-box{max-width:570px}.login-box h1{font-size:3rem}.skip{position:absolute;left:16px;top:-100px;z-index:100;background:white;padding:12px}.skip:focus{top:16px}:focus-visible{outline:3px solid #a27bff;outline-offset:4px}details{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}summary{cursor:pointer;font-weight:bold;margin-bottom:15px}[hidden]{display:none!important}
@media(min-width:1500px){.hero{padding:90px 0}.hero h1{font-size:5.6rem}}
@media(max-width:1150px){.nav{gap:17px}.navlinks{gap:16px}.nav-cta{display:none}.hero-grid{gap:35px}.hero h1{font-size:4.5rem}.split{gap:45px}.footer-grid{gap:25px}.product-meta{flex-direction:column;gap:8px}}
@media(max-width:850px){.container{width:calc(100% - 40px)}.nav{height:76px}.navlinks{display:none}.menu-btn{display:block}.hero-grid{grid-template-columns:1fr 1fr;gap:24px}.hero h1{font-size:3.4rem}.hero .lead{font-size:.95rem}.hero .actions{gap:8px}.hero .btn{font-size:.8rem;padding:12px}.drawing-top{padding:12px;font-size:8px}.hero-drawing figcaption{flex-direction:column;padding:14px;gap:5px}.section{padding:65px 0}.section-last{padding-top:0}.grid3{gap:15px}.card-body{padding:20px}.category-art{height:180px;padding:20px}.category-art strong{font-size:1.5rem}.category-art:after{width:70px;height:70px}.split{gap:32px}.footer-grid{grid-template-columns:1.5fr 1fr}.section-head{gap:25px}.process{grid-template-columns:repeat(2,1fr)}.shop-layout{grid-template-columns:200px 1fr;gap:20px}.filters{padding:18px}.shop-layout .product-grid{gap:15px}.product-info{padding:16px}.checkout-grid{grid-template-columns:1.1fr 1fr;gap:22px}.summary,.content-card{padding:24px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.cta{padding:35px}.admin-nav .container{gap:18px}.admin-stats strong{font-size:1.8rem}.admin-stats .content-card{padding:18px}.product-grid{gap:16px}}
@media(max-width:600px){.topbar .container{justify-content:center}.topbar span:last-child{display:none}.container{width:calc(100% - 36px)}.brand img{width:143px;height:51px}.nav{gap:15px}.hero{padding:45px 0}.hero-grid,.split,.checkout-grid{grid-template-columns:1fr}.hero h1{font-size:clamp(3rem,11.3vw,4.25rem)}.hero .lead{font-size:1rem}.hero .btn{font-size:.87rem;padding:14px 16px}.hero-drawing{margin-top:16px}.hero-drawing img{max-height:360px;object-fit:contain}.hero-drawing figcaption{flex-direction:row;align-items:start;font-size:.7rem}.drawing-top{padding:16px;font-size:9px}.section{padding:50px 0}.section-last{padding-top:0}.section-index{font-size:.66rem;margin-bottom:20px}.section-head{align-items:start;flex-direction:column;gap:20px;margin-bottom:30px}.section-head p{margin:0}.section-head h2{font-size:2.4rem}.grid3{grid-template-columns:1fr;gap:22px}.category-art{height:185px}.category-art strong{font-size:1.9rem}.category-art:after{width:100px;height:100px;right:50px}.card-body{padding:25px}.product-grid{grid-template-columns:1fr;gap:24px}.product-meta{flex-direction:row}.product-info{padding:22px}.product-info h3{font-size:1.15rem}.cta{flex-direction:column;align-items:start;padding:30px}.cta h2{font-size:2.3rem}.footer{padding:45px 0 24px}.footer-grid{gap:32px 25px;grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.copyright{gap:16px;align-items:start;margin-top:30px}.page-hero{padding:45px 0}.page-hero h1{font-size:2.8rem}.lead{font-size:1rem}.shop-layout{grid-template-columns:1fr}.filters{position:static}.filters form{display:grid;grid-template-columns:1fr 1fr;gap:0 15px;align-items:end}.filters .field:first-child{grid-column:1/-1}.filters .btn{grid-column:1/-1}.filters .text-link{grid-column:1/-1}.filters>p{margin-bottom:0}.shop-layout .product-grid{grid-template-columns:1fr}.empty-state{padding:30px}.listing-heading{font-size:.73rem}.product-detail .product-photo{margin-bottom:10px}.cart-row{grid-template-columns:1fr auto}.checkout-grid{gap:24px}.admin-stats{grid-template-columns:1fr}.admin-stats .content-card{display:flex;justify-content:space-between;align-items:center}.admin-stats strong{margin:0}.admin-nav .container{gap:12px 20px;font-size:.78rem}.admin-nav strong{width:100%}.admin-nav form{margin:0}.admin-nav .text-btn{font-size:.78rem}.login-box h1{font-size:2.5rem}.spec-list>div{gap:15px}.inline-form{gap:14px}.content-card{padding:24px 20px}.process{gap:22px}.process h3{font-size:1.2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Mobiel zijmenu: schuift vanaf rechts binnen zonder de desktopnavigatie te wijzigen. */
@media(max-width:850px){
  body.mobile-menu-open{overflow:hidden}
  .mobile-nav{
    position:fixed;
    top:0;
    right:0;
    z-index:41;
    width:min(86vw,380px);
    height:100dvh;
    overflow-y:auto;
    padding:24px 22px 30px;
    border:0;
    background:#fff;
    box-shadow:-16px 0 40px #17131f2e;
    transform:translateX(105%);
    visibility:hidden;
    transition:transform .26s ease,visibility 0s linear .26s;
  }
  .mobile-nav.is-open{
    transform:translateX(0);
    visibility:visible;
    transition:transform .26s ease;
  }
  .mobile-nav-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding-bottom:20px;
    margin-bottom:10px;
    border-bottom:1px solid var(--line);
    font-size:1.05rem;
  }
  .mobile-nav-close{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    padding:0;
    border:1px solid var(--line);
    border-radius:4px;
    background:#fff;
    color:var(--ink);
    font-size:1.7rem;
    line-height:1;
  }
  .mobile-nav a{
    display:block;
    padding:14px 4px;
    border-bottom:1px solid var(--line);
    font-size:1rem;
  }
  .mobile-nav a:last-child{
    margin-top:12px;
    border:0;
    color:var(--purple);
    font-weight:600;
  }
  .mobile-nav-backdrop{
    position:fixed;
    inset:0;
    z-index:40;
    background:#17131f80;
    opacity:0;
    pointer-events:none;
    transition:opacity .26s ease,visibility 0s linear .26s;
    visibility:hidden;
  }
  .mobile-nav-backdrop.is-open{
    opacity:1;
    pointer-events:auto;
    visibility:visible;
    transition:opacity .26s ease;
  }
}

/* Beheer: webshop en pagina-inhoud */
.admin-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.admin-choice{display:flex;flex-direction:column;gap:16px;text-decoration:none;color:inherit;transition:transform .15s ease}.admin-choice:hover{transform:translateY(-3px)}.admin-choice p{flex:1}.admin-choice h2{margin:0}.cms-page-group{margin:40px 0}.cms-page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cms-page-card{color:inherit;text-decoration:none}.cms-page-card h3{margin:0 0 12px}.cms-page-card p{font-size:.9rem}.cms-editor{max-width:1000px}.cms-section{margin-bottom:20px;padding:0;overflow:hidden}.cms-section summary{cursor:pointer;font-weight:700;padding:22px 26px}.cms-section summary span{float:right;font-size:.8rem;font-weight:400}.cms-fields{padding:0 26px 26px;display:grid;gap:22px}.cms-field{padding-top:20px;border-top:1px solid #dedbd5;min-width:0}.cms-field .field{margin:0}.cms-field textarea{resize:vertical;width:100%;min-height:72px}.cms-field input[type=text]{width:100%}.cms-field label span{overflow-wrap:anywhere}.cms-field .small{margin:8px 0}.cms-image-preview{display:block;max-width:320px;max-height:180px;object-fit:contain;margin:14px 0;background:#f4f2ed;border:1px solid #dedbd5;border-radius:8px}.cms-savebar{position:sticky;bottom:0;z-index:5;background:#fff;border:1px solid #dedbd5;border-radius:12px;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 -4px 20px #0000000a}.cms-savebar p{margin:0;font-size:.9rem}.admin-nav .container{flex-wrap:wrap}.cms-editor .error-text{overflow-wrap:anywhere}
@media(max-width:850px){.cms-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-choices{grid-template-columns:1fr}.cms-savebar{flex-direction:column;align-items:stretch;gap:10px}.cms-savebar .btn{width:100%}}
@media(max-width:520px){.cms-page-grid{grid-template-columns:1fr}.cms-fields{padding:0 16px 20px}.cms-section summary{padding:18px 16px}.cms-image-preview{max-width:100%}}

/* Home en Laboratorium: gelijke afbeeldingshoogte bij elk uploadformaat. */
.category-image{width:100%;height:240px;overflow:hidden;background:var(--soft)}
.category-image>img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}

/* Kleuren- en materiaalcatalogus */
.color-page-hero{padding-bottom:50px}.color-page-hero .lead{max-width:1040px}.color-catalog-section{padding-top:30px}.color-filters{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:16px;padding:28px;border:1px solid var(--line);border-radius:28px;box-shadow:0 14px 35px #2115360d;margin-bottom:44px}.color-filters .field{margin:0}.color-filters input,.color-filters select{height:58px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:0 18px;color:var(--ink);width:100%}.color-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.color-card{border:1px solid var(--line);border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 8px 20px #21153608}.color-swatch{height:220px;background-color:#fff;transition:background-color .15s ease}.color-card-body{padding:24px}.color-card h2{font-size:1.35rem;margin:0 0 8px}.color-code{color:var(--muted);margin:0 0 18px;font-size:.92rem}.color-code span{margin-left:4px}.color-tags{display:flex;flex-wrap:wrap;gap:8px}.color-tags span{border:1px solid #d9c7fb;background:#f4edff;color:var(--purple);border-radius:999px;padding:7px 13px;font-size:.76rem;font-weight:600}.admin-color-dot{display:inline-block;width:25px;height:25px;border-radius:50%;vertical-align:middle;margin-right:9px;border:1px solid #d5cedd}.color-page-hero h1{max-width:900px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1000px){.color-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.color-filters{grid-template-columns:1fr 1fr}.color-filters .field:first-child{grid-column:1/-1}}
@media(max-width:650px){.color-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.color-swatch{height:160px}.color-card{border-radius:18px}.color-card-body{padding:16px}.color-card h2{font-size:1.08rem}.color-tags span{padding:6px 9px;font-size:.68rem}.color-filters{grid-template-columns:1fr;padding:18px;border-radius:18px}.color-filters .field:first-child{grid-column:auto}}
@media(max-width:430px){.color-grid{grid-template-columns:1fr}.color-swatch{height:210px}}

/* Productopties / varianten */
.product-options-admin{margin-top:16px;padding-top:30px;border-top:1px solid var(--line)}
.product-options-head{display:flex;justify-content:space-between;align-items:start;gap:24px;margin-bottom:22px}
.product-options-head h2{font-size:1.65rem;margin-bottom:8px}
.product-options-head p{margin:0;max-width:560px}
.option-label-field{max-width:360px;margin-bottom:22px}
.product-option-list{display:grid;gap:14px}
.product-option-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(120px,.65fr) auto;gap:14px;align-items:end;padding:18px;border:1px solid var(--line);border-radius:5px;background:var(--soft)}
.product-option-row .field{margin:0}
.product-option-row .option-remove{margin-bottom:12px}
.product-options-note{margin:18px 0 0}
.product-options-order{margin-top:28px}
.product-options-title h2{font-size:1.35rem;margin-bottom:8px}
.product-options-title p{margin-bottom:16px}
.variant-order-list{border:1px solid var(--line);border-radius:5px;overflow:hidden;margin-bottom:18px}
.variant-order-row{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:16px 18px;border-bottom:1px solid var(--line)}
.variant-order-row:last-child{border-bottom:0}
.variant-order-row>div{display:grid;grid-template-columns:minmax(80px,1fr) auto;column-gap:18px;row-gap:2px;align-items:center;flex:1}
.variant-order-row strong{font-size:.95rem}
.variant-order-row span{font-weight:600;white-space:nowrap}
.variant-order-row small{grid-column:1/-1;color:var(--muted)}
.variant-order-row .field{width:95px;margin:0}
.variant-order-row.is-sold-out{opacity:.55}

@media(max-width:760px){
  .product-options-head{flex-direction:column}
  .product-options-head .btn{width:100%}
  .product-option-row{grid-template-columns:1fr 1fr}
  .product-option-row .option-remove{margin:0;align-self:center}
}

@media(max-width:520px){
  .product-option-row{grid-template-columns:1fr}
  .variant-order-row{align-items:end}
  .variant-order-row>div{grid-template-columns:1fr}
  .variant-order-row small{grid-column:auto}
  .variant-order-row .field{width:82px;flex-shrink:0}
}

/* Productopties v2: meerdere keuzevelden + combinatieprijzen */
.admin-product-container{max-width:1180px}
.option-group-list{display:grid;gap:14px;margin-bottom:24px}
.option-group-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,1.5fr) auto;gap:14px;align-items:end;padding:18px;border:1px solid var(--line);border-radius:5px;background:var(--soft)}
.option-group-row .field{margin:0}
.option-group-row textarea{min-height:76px}
.option-group-row .option-remove{margin-bottom:12px}
.variant-matrix-head{display:flex;align-items:end;justify-content:space-between;gap:24px;padding-top:26px;margin-top:26px;border-top:1px solid var(--line);margin-bottom:16px}
.variant-matrix-head h3{margin:0 0 8px;font-size:1.2rem}
.variant-matrix-head p{margin:0;max-width:650px}
.variant-admin-list{display:grid;gap:10px}
.variant-admin-row{display:grid;grid-template-columns:minmax(250px,1.4fr) minmax(150px,.7fr) minmax(120px,.5fr) auto;gap:14px;align-items:end;padding:16px 18px;border:1px solid var(--line);border-radius:5px;background:#fff}
.variant-admin-row .field{margin:0}
.variant-admin-name{align-self:center;line-height:1.45}
.variant-admin-name strong{font-size:.9rem}
.variant-admin-row .variant-remove{margin-bottom:12px;white-space:nowrap}
.variant-empty-note{padding:18px;border:1px dashed #cfc7da;border-radius:5px;background:var(--soft)}

.product-card-price{display:flex;flex-direction:column;align-items:flex-end;gap:3px;white-space:nowrap}
.product-card-price small{font-size:.66rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.product-price-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.product-price-line .detail-price{margin:0}
.request-badge{display:inline-flex;padding:5px 9px;border:1px solid #cdbce9;border-radius:999px;background:#f3eefc;color:var(--purple);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.product-configurator{margin-top:28px;padding:22px;border:1px solid var(--line);border-radius:5px;background:var(--soft)}
.configurator-fields{display:grid;grid-template-columns:1fr;gap:0;max-width:440px}
.configurator-field{max-width:none!important}
.configurator-quantity-field{max-width:140px!important}
.configurator-selection{margin:2px 0 4px;font-size:.9rem;font-weight:600}
.configurator-stock{margin:0 0 16px}
.direct-request-actions .field{max-width:120px!important}

.request-modal{width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:0;border:0;border-radius:8px;background:transparent;overflow:visible}
.request-modal::backdrop{background:#17131fa3}
.request-modal-card{max-height:calc(100dvh - 40px);overflow:auto;background:#fff;border-radius:8px;padding:30px;box-shadow:0 24px 80px #17131f47}
.request-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:20px}
.request-modal-head h2{font-size:1.8rem;margin:0}
.request-modal-head .section-index{margin-bottom:8px}
.request-modal-close{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 40px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:1.55rem;line-height:1}
.request-selection-summary{display:grid;grid-template-columns:1.5fr .5fr 1fr;gap:14px;padding:16px 18px;margin-bottom:22px;background:var(--soft);border:1px solid var(--line);border-radius:5px}
.request-selection-summary p{margin:0;font-size:.82rem}
.request-selection-summary span{color:var(--muted)}
.request-form .field{max-width:none!important}
.request-form .btn{width:100%;margin-top:4px}
.request-form .small{margin:12px 0 0}
.hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

@media(max-width:760px){
  .option-group-row{grid-template-columns:1fr}
  .option-group-row .option-remove{margin:0;justify-self:start}
  .variant-matrix-head{align-items:stretch;flex-direction:column}
  .variant-matrix-head .btn{width:100%}
  .variant-admin-row{grid-template-columns:1fr 1fr}
  .variant-admin-name{grid-column:1/-1}
  .variant-admin-row .variant-remove{margin:0;justify-self:start}
  .configurator-fields{grid-template-columns:1fr}
  .request-selection-summary{grid-template-columns:1fr}
}
@media(max-width:520px){
  .variant-admin-row{grid-template-columns:1fr}
  .variant-admin-name{grid-column:auto}
  .product-card-price{align-items:flex-start}
  .request-modal-card{padding:22px 18px}
}

/* Bestelbaarheid per product/combinatie */
.availability-card {
  display: grid;
  gap: .45rem;
}

.switch-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 42px;
}

.switch-row__text {
  min-width: 0;
}

.switch-control {
  position: relative;
  display: inline-flex;
  width: 48px;
  height: 28px;
  flex: 0 0 48px;
  cursor: pointer;
}

.switch-control input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.switch-slider {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: #d8d8de;
  border: 1px solid rgba(36, 26, 48, .14);
  transition: background .18s ease, border-color .18s ease;
}

.switch-slider::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .18);
  transition: transform .18s ease;
}

.switch-control input:checked + .switch-slider {
  background: var(--purple, #241A30);
  border-color: var(--purple, #241A30);
}

.switch-control input:checked + .switch-slider::after {
  transform: translateX(20px);
}

.switch-control input:focus-visible + .switch-slider {
  outline: 3px solid rgba(255, 100, 63, .28);
  outline-offset: 2px;
}

.variant-admin-row .switch-row {
  justify-content: flex-start;
  min-height: auto;
}

.request-combination-note {
  margin-top: .8rem;
  padding: .85rem 1rem;
  border-radius: 12px;
  background: rgba(255, 100, 63, .08);
  border: 1px solid rgba(255, 100, 63, .22);
  line-height: 1.5;
}

.admin-payment-box {
  display: grid;
  gap: 1rem;
  padding: 1.1rem;
  border: 1px solid rgba(36, 26, 48, .12);
  border-radius: 16px;
  background: #fff;
}

.payment-request-form {
  display: grid;
  gap: .75rem;
}

.payment-request-form input[type="url"] {
  width: 100%;
}

@media (max-width: 760px) {
  .variant-admin-row {
    grid-template-columns: 1fr;
  }

  .variant-admin-row .switch-row {
    justify-content: space-between;
  }
}

/* Winkelmand v2: productnaam, opties per regel, live aantallen en verwijdericoon */
.cart-items{min-width:0}
.cart-item-row{display:grid;grid-template-columns:42px 86px minmax(0,1fr) 108px 132px;gap:18px;align-items:center;border-bottom:1px solid var(--line);padding:26px 0}
.cart-item-row:first-child{padding-top:0}
.cart-remove-form{margin:0;align-self:center}
.cart-remove-button{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--muted);padding:8px;transition:background .15s,border-color .15s,color .15s,transform .15s}
.cart-remove-button:hover{background:#fff3f5;border-color:#e6bbc2;color:#a82236;transform:translateY(-1px)}
.cart-remove-button svg{width:20px;height:20px;fill:currentColor}
.cart-product-image{display:block;width:86px;height:86px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#f7f7f8}
.cart-product-image img{display:block;width:100%;height:100%;object-fit:cover}
.cart-product-copy{min-width:0}
.cart-product-copy h3{font-size:1.22rem;margin:0 0 10px;letter-spacing:-.025em;overflow-wrap:anywhere}
.cart-options{display:grid;gap:3px;margin:0 0 8px;padding:0}
.cart-options>div{display:flex;align-items:baseline;gap:6px;min-width:0;font-size:.86rem;line-height:1.45}
.cart-options dt{font-weight:600;color:var(--ink);white-space:nowrap}
.cart-options dt::after{content:':'}.cart-options dd{margin:0;color:var(--muted);overflow-wrap:anywhere}
.cart-options-fallback{display:grid;gap:3px;margin:0 0 8px;color:var(--muted);font-size:.86rem}
.cart-unit-price{font-size:.8rem!important;color:var(--muted)!important;margin:6px 0 0!important}
.cart-quantity-form{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:0;min-width:0}
.cart-quantity-field{display:flex;flex-direction:column;gap:6px;margin:0;font-size:.75rem;color:var(--muted);font-weight:600}
.cart-quantity-field input{width:82px;height:46px;border:1px solid #cfc7da;border-radius:6px;background:#fff;padding:9px 10px;color:var(--ink);font-size:1rem}
.cart-quantity-field input:focus{border-color:var(--purple)}
.cart-save-state{min-height:16px;font-size:.68rem;color:var(--muted);line-height:1.2}
.cart-save-state.is-error{color:#a82236}
.cart-price-column{display:flex;flex-direction:column;align-items:flex-end;gap:7px;text-align:right;white-space:nowrap}
.cart-column-label{font-size:.75rem;color:var(--muted);font-weight:600}
.cart-price-column strong{font-size:1.05rem;letter-spacing:-.02em}
.cart-continue-link{margin-top:30px!important}
.site-dialog{border:0;border-radius:8px;padding:0;width:min(520px,calc(100% - 32px));box-shadow:0 24px 80px rgba(21,19,27,.22);color:var(--ink)}
.site-dialog::backdrop{background:rgba(21,19,27,.45)}
.site-dialog-body{position:relative;padding:34px}
.site-dialog-body h2{font-size:1.8rem;margin-bottom:14px}
.site-dialog-body p:not(.section-index){color:var(--muted)}
.dialog-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:1.35rem;line-height:1}
.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:28px}

@media(max-width:760px){
  .cart-item-row{grid-template-columns:38px 72px minmax(0,1fr) auto;gap:12px 14px;padding:22px 0;align-items:start}
  .cart-remove-form{grid-column:1;grid-row:1;align-self:center}
  .cart-product-image{grid-column:2;grid-row:1;width:72px;height:72px}
  .cart-product-copy{grid-column:3/5;grid-row:1}
  .cart-quantity-form{grid-column:3;grid-row:2;justify-self:end;align-items:flex-start;margin-top:4px}
  .cart-price-column{grid-column:4;grid-row:2;align-self:start;margin-top:4px;min-width:96px}
  .cart-product-copy h3{font-size:1.08rem}
  .cart-options>div{font-size:.82rem}
  .cart-quantity-field input{width:74px;height:44px}
  .site-dialog-body{padding:28px 22px 22px}
  .dialog-actions{flex-direction:column-reverse}
  .dialog-actions .btn{width:100%}
}
