*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#070b12;color:#eaf4ff;font:16px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}a{color:#28c8ff}header{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:12px max(4vw,20px);background:#080d16ee;border-bottom:1px solid #17263a;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px;color:white;text-decoration:none;font-weight:800}.brand img{width:44px;height:44px;object-fit:contain}.brand span{font-size:20px}nav{display:flex;gap:18px;align-items:center}nav a,nav button{color:#dbeaff;background:none;border:0;text-decoration:none;font:inherit;cursor:pointer}.hero{min-height:520px;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:40px;padding:70px max(6vw,24px);background:radial-gradient(circle at 80% 30%,#073a65 0,transparent 35%)}.hero h1{font-size:clamp(42px,7vw,82px);line-height:.98;margin:10px 0 20px}.hero p{max-width:650px;color:#adc1d8;font-size:20px}.hero img{width:min(100%,560px);filter:drop-shadow(0 0 35px #008cff55)}.eyebrow{letter-spacing:.18em;color:#20caff;font-weight:800}.btn{display:inline-block;border:0;border-radius:10px;padding:11px 17px;background:linear-gradient(135deg,#00c8ff,#0878ff);color:white;text-decoration:none;font-weight:800;cursor:pointer}.btn:disabled{opacity:.4;cursor:not-allowed}.ghost{background:#182332}main{max-width:1200px;margin:auto;padding:55px 22px}h2{font-size:32px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.card,.panel{background:#0d1420;border:1px solid #1b2c42;border-radius:18px;overflow:hidden;box-shadow:0 14px 40px #0004}.card img,.placeholder{width:100%;height:220px;background:#111b2a}.card img{display:block;object-fit:contain;object-position:center;padding:12px}.placeholder{display:grid;place-items:center;font-size:64px;font-weight:900;color:#167eff}.pad,.panel{padding:22px}.card h3{margin-top:0}.card p{color:#aebdd0;min-height:50px}.row,.admin-head{display:flex;justify-content:space-between;gap:15px;align-items:center}.panel{margin:35px 0}.narrow{max-width:720px;padding-top:70px}.form{display:grid;gap:14px}.form label{display:grid;gap:6px;font-weight:700}.form input,.form textarea,.form select{width:100%;padding:12px;border:1px solid #2a3b52;border-radius:9px;background:#080e17;color:white;font:inherit}.check{display:flex!important;grid-template-columns:auto 1fr!important;justify-content:start!important}.check input{width:auto}.ok{color:#67e8a7}.error{color:#ff8b8b}dialog{width:min(650px,94vw);background:#0d1420;color:white;border:1px solid #28425e;border-radius:18px;padding:28px}dialog::backdrop{background:#000b}.close{float:right;background:none;border:0;color:white;font-size:30px}.cartrow{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #203044}.cartrow button{background:none;border:0;color:#ff8b8b}.total{text-align:right;font-size:20px}footer{text-align:center;padding:40px;color:#7790ab}.tablewrap{overflow:auto;margin:20px 0 45px}table{width:100%;border-collapse:collapse;background:#0d1420}th,td{padding:12px;border-bottom:1px solid #203044;text-align:left}hr{border:0;border-top:1px solid #203044;width:100%}@media(max-width:760px){.hero{grid-template-columns:1fr;min-height:auto}.hero img{max-width:340px;margin:auto}nav>a{display:none}.admin-head{align-items:flex-start;flex-direction:column}}
.product-image{cursor:zoom-in;transition:transform .2s ease,opacity .2s ease}
.product-image:hover{transform:scale(1.02);opacity:.96}
.image-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(2,7,15,.88);display:none;align-items:center;justify-content:center;padding:28px;backdrop-filter:blur(5px)}
.image-lightbox.open{display:flex}
.image-lightbox img{max-width:min(1100px,92vw);max-height:88vh;width:auto;height:auto;object-fit:contain;border-radius:14px;box-shadow:0 20px 70px rgba(0,0,0,.6);background:#fff}
.image-lightbox-close{position:fixed;top:18px;right:24px;width:48px;height:48px;border:0;border-radius:50%;background:#0d1726;color:#fff;font-size:34px;line-height:1;cursor:pointer;box-shadow:0 5px 25px rgba(0,0,0,.35)}
.image-lightbox-close:hover{background:#13b8ff}
.no-scroll{overflow:hidden}

.product-gallery{background:#fff}
.gallery-main{height:260px;display:flex;align-items:center;justify-content:center;padding:10px;background:#fff}
.gallery-main .product-image{width:100%;height:100%;object-fit:contain;padding:0;background:#fff}
.gallery-thumbs{display:flex;gap:8px;padding:8px 10px 12px;overflow-x:auto;background:#0d1726}
.gallery-thumb{flex:0 0 64px;width:64px;height:54px;border:2px solid transparent;border-radius:7px;padding:2px;background:#fff;cursor:pointer}
.gallery-thumb.active{border-color:#13b8ff}
.gallery-thumb img{width:100%;height:100%;object-fit:contain;padding:0;background:#fff}
.admin-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin:8px 0 18px}
.admin-photo{display:flex;flex-direction:column;gap:6px;background:#0d1726;padding:8px;border-radius:9px}
.admin-photo img{width:100%;height:100px;object-fit:contain;background:#fff;border-radius:6px}
.admin-photo span{font-size:13px}
@media(max-width:650px){.gallery-main{height:220px}.gallery-thumb{flex-basis:58px;width:58px;height:50px}}

/* Zoomfix */
.gallery-main .product-image{cursor:zoom-in!important}
.image-lightbox{position:fixed!important;inset:0!important;z-index:2147483647!important;background:rgba(0,0,0,.88)!important;display:none;align-items:center;justify-content:center;padding:24px;box-sizing:border-box}
.image-lightbox.open{display:flex!important}
.image-lightbox>img{display:block!important;width:auto!important;height:auto!important;max-width:92vw!important;max-height:88vh!important;object-fit:contain!important;padding:0!important;background:#fff!important;border-radius:12px;box-shadow:0 18px 70px rgba(0,0,0,.65)}
.image-lightbox-close{position:fixed!important;top:18px;right:22px;z-index:2147483647;width:48px;height:48px;border:0;border-radius:50%;background:#0d1726;color:#fff;font-size:34px;line-height:44px;cursor:pointer}
.image-lightbox-close:hover{background:#13b8ff}
html.no-scroll,body.no-scroll{overflow:hidden!important}

.announcement{padding:10px 18px;text-align:center;background:#13b8ff;color:#03111e;font-weight:800}
.site-banner{max-width:1180px;margin:20px auto;padding:0 18px}.site-banner img{display:block;width:100%;max-height:360px;object-fit:cover;border-radius:16px}
.category-tag{display:inline-block;font-size:12px;font-weight:800;padding:4px 8px;border-radius:999px;background:#13263a;color:#55cfff;margin-bottom:7px}
.settings-preview{display:block;max-width:220px;max-height:140px;object-fit:contain;background:#fff;border-radius:10px;padding:8px;margin:6px 0 12px}.banner-preview{max-width:100%;width:100%;max-height:220px}

.admin-actions{display:flex;gap:10px;flex-wrap:wrap}
.action-cell{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.inline-delete{display:inline;margin:0}
.small-btn{padding:7px 11px;font-size:13px}
.btn.danger{background:#8f1d2c;border-color:#b72b3d;color:#fff}
.btn.danger:hover{background:#b72b3d}

.empty-cart{margin:10px 0;width:100%}

.custom-page{max-width:1180px;margin:0 auto;padding:38px 18px 70px}
.custom-hero{display:grid;grid-template-columns:1.08fr .92fr;gap:34px;align-items:center;min-height:430px}
.custom-copy h1{font-size:clamp(38px,6vw,72px);line-height:1.02;margin:10px 0 18px}
.custom-lead{font-size:19px;line-height:1.7;max-width:650px}
.custom-photo,.custom-visual{min-height:390px;border:1px solid #20384d;border-radius:24px;overflow:hidden;background:linear-gradient(145deg,#0d1c2a,#07111b);display:flex;align-items:center;justify-content:center}
.custom-photo img{width:100%;height:100%;min-height:390px;max-height:520px;object-fit:cover}
.custom-cube{font-size:100px;font-weight:900;color:#42c7ff;text-shadow:0 0 35px rgba(66,199,255,.35);transform:rotate(-8deg)}
.custom-features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:42px 0}
.custom-card{padding:26px;border:1px solid #20384d;border-radius:18px;background:#0b1723}
.custom-card h2{margin:8px 0 10px}.custom-card p{line-height:1.65}
.feature-number{font-size:12px;font-weight:900;letter-spacing:.16em;color:#4acbff}
.custom-contact{text-align:center;padding:36px}.custom-contact p{max-width:720px;margin:0 auto 20px;line-height:1.65}
@media(max-width:760px){.custom-hero{grid-template-columns:1fr}.custom-features{grid-template-columns:1fr}.custom-photo,.custom-visual{min-height:280px}.custom-photo img{min-height:280px}}

.print-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px;text-align:left}
.print-gallery figure{margin:0;background:#08131e;border:1px solid #20384d;border-radius:16px;overflow:hidden}
.print-gallery img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;cursor:zoom-in}
.print-gallery figcaption{padding:10px 12px;font-size:14px}
.admin-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:25px}
.admin-photo-grid article{padding:10px;border:1px solid #20384d;border-radius:12px}
.admin-photo-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px}
@media(max-width:760px){.print-gallery,.admin-photo-grid{grid-template-columns:repeat(2,1fr)}}

.maatwerk-zoom{cursor:zoom-in}
#lightbox.lightbox{display:none;position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.9);align-items:center;justify-content:center;padding:24px}
#lightbox.lightbox.open{display:flex}
#lightbox img{max-width:92vw;max-height:88vh;width:auto;height:auto;object-fit:contain;border-radius:10px}
#lightbox .lightbox-close{position:fixed;right:22px;top:16px;z-index:100000;border:0;background:transparent;color:#fff;font-size:44px;line-height:1;cursor:pointer}

/* Maatwerk fotozoom - zelfstandig, zonder afhankelijkheid van webshop-lightbox */
.maatwerk-zoom{cursor:zoom-in}
.maatwerk-lightbox{display:none;position:fixed;inset:0;z-index:2147483647;background:rgba(0,0,0,.94);align-items:center;justify-content:center;padding:24px;box-sizing:border-box}
.maatwerk-lightbox.is-open{display:flex!important}
.maatwerk-lightbox img{display:block;max-width:94vw;max-height:90vh;width:auto!important;height:auto!important;object-fit:contain;border-radius:12px;box-shadow:0 18px 70px rgba(0,0,0,.55)}
.maatwerk-lightbox-close{position:fixed;top:14px;right:20px;z-index:2147483647;width:52px;height:52px;border:0;border-radius:50%;background:rgba(20,35,50,.9);color:#fff;font-size:38px;line-height:48px;text-align:center;cursor:pointer}
html.zoom-open,html.zoom-open body{overflow:hidden}

.mail-status{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:800}
.mail-status.sent{background:#153b2b;color:#7df0ae}.mail-status.failed{background:#4a1d25;color:#ff9ba8}

.mail-diagnostics{margin:22px 0;padding:16px;border:1px solid #29405a;border-radius:12px;background:#0b1422}
.mail-diagnostics h3{margin-top:0}.mail-diagnostics .error{color:#ff9ba8}.mail-diagnostics .ok{color:#7df0ae}
