.builder-intro{padding:55px var(--pad) 30px}.builder-intro h1{font-weight:500;font-size:clamp(38px,5vw,76px);letter-spacing:-3px;margin:20px 0}.builder-intro p:not(.eyebrow){max-width:790px;font-size:15px;line-height:1.8;color:var(--muted)}.builder-workspace{--figure-size:200px;background:white;position:relative}.builder-toolbar{padding:20px var(--pad);border-block:1px solid var(--line);display:flex;align-items:end;gap:18px;flex-wrap:wrap;background:white}.builder-toolbar label,.builder-toolbar legend{font-size:12px;display:grid;gap:9px}.builder-toolbar select,.builder-toolbar input[type=search],.builder-toolbar button{font:inherit;color:var(--ink);border:1px solid var(--line);background:white;padding:11px;min-height:42px;max-width:100%}.builder-size{display:flex;gap:10px;border:0;padding:0;margin:0}.builder-size legend{margin-bottom:8px}.builder-size label{display:block;padding:12px;border:1px solid var(--line);cursor:pointer}.builder-size label:has(input:checked){border-color:var(--ink);background:#f4f4f2}.builder-size label span{display:block;font-size:13px;margin:9px 0 0 23px}.builder-search{flex:1;min-width:180px;display:grid;gap:8px}.builder-search label{font-size:12px}.builder-toolbar input[type=range]{width:110px}.builder-grid{padding:25px var(--pad) 45px;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--figure-size)),1fr));gap:22px}.builder-figure{border:1px solid transparent;min-width:0;padding:10px;display:flex;flex-direction:column}.builder-figure.is-selected{border-color:#171917;background:#fff6f0}.builder-preview{border:0;background:transparent;cursor:zoom-in;padding:0;display:block}.builder-preview img{display:block;width:100%;height:calc(var(--figure-size)*1.25);object-fit:contain}.builder-figure h3{font-size:12px;font-weight:400;line-height:1.5;min-height:36px;margin:10px 0}.builder-figure>button:not(.builder-preview),.builder-figure>a{margin-top:auto;background:white;border:1px solid var(--line);font:inherit;font-size:12px;padding:10px;cursor:pointer;text-align:center;color:var(--ink);text-decoration:none}.builder-figure.is-selected>button:not(.builder-preview){background:#171917;color:white}.builder-cart{flex-direction:row;position:sticky;bottom:0;z-index:8;border-top:1px solid #c5c5c0;background:rgba(255,255,255,.98);padding:20px var(--pad);display:flex;justify-content:space-between;align-items:center;gap:24px;box-shadow:0 -4px 16px #00000008}.builder-cart>div:first-child{flex:1}.builder-cart #builder-count{font-size:24px;font-weight:500}.builder-cart p{font-size:12px;color:var(--muted);line-height:1.6;margin:8px 0}.builder-cart>div>button:not(.primary){border:0;border-bottom:1px solid var(--line);background:none;font:inherit;font-size:12px;padding:6px 0;margin-right:18px;cursor:pointer}.builder-pay{width:380px;max-width:48%}.builder-pay .pack-price{margin:0 0 10px;padding:0;border:0;gap:20px;display:flex;justify-content:space-between;font-size:20px}.builder-pay .primary{width:100%;display:flex;justify-content:space-between;gap:12px}.builder-pay .primary:disabled{opacity:.45;cursor:not-allowed}#builder-results{padding:15px var(--pad);margin:0;font-size:12px;color:var(--muted)}#builder-dialog{border:1px solid var(--line);width:700px;max-width:94vw;max-height:94vh;padding:28px;overflow:auto;background:white}#builder-dialog::backdrop{background:#0009}#builder-dialog-image{display:block;width:100%;height:62vh;object-fit:contain}#builder-dialog h2{font-size:22px;font-weight:500}#builder-dialog-select,#builder-dialog-free{display:inline-block;background:#171917;color:white;padding:13px 23px;border:0;font:inherit;cursor:pointer;text-decoration:none}#builder-dialog [hidden]{display:none}#builder-close{position:absolute;right:14px;top:10px;background:white;border:0;font-size:32px;cursor:pointer}.builder-workspace:fullscreen,.builder-expanded{overflow:auto;background:white}.builder-expanded{position:fixed;inset:0;z-index:100}.builder-workspace:fullscreen .builder-toolbar,.builder-expanded .builder-toolbar{position:sticky;top:0;z-index:10}.builder-cart:has(.builder-pay .primary:focus-visible){outline:2px solid #171917}@media(max-width:700px){.builder-intro{padding-top:30px}.builder-intro h1{letter-spacing:-1.5px}.builder-toolbar{gap:15px}.builder-size{width:100%}.builder-size label{flex:1}.builder-cart{gap:12px;padding:15px var(--pad);align-items:start}.builder-pay{max-width:55%;width:55%}.builder-cart #builder-count{font-size:18px}.builder-cart #builder-feedback{max-width:190px}.builder-pay .pack-price{flex-wrap:wrap;font-size:17px}.builder-pay p{display:none}.builder-cart .primary{font-size:12px;padding:13px}.builder-cart>div>button:not(.primary){font-size:11px;margin-right:8px}.builder-grid{gap:8px;grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--figure-size)),1fr))}}

/* Compact selection summary: keep the drawings visible while choosing. */
.builder-cart.pack-info{padding:10px var(--pad);padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));gap:20px;align-items:center}
.builder-cart>div:first-child{display:grid;grid-template-columns:max-content 1fr;column-gap:12px;align-items:center;min-width:0}
.builder-cart #builder-count{font-size:18px;line-height:1.3}
.builder-cart #builder-feedback{margin:0;font-size:11px;line-height:1.4}
.builder-cart>div>button:not(.primary){padding:5px 0;font-size:11px;margin-right:16px}
.builder-cart #builder-review,.builder-cart #builder-clear{justify-self:start}
.builder-cart .builder-pay{display:flex;align-items:center;gap:16px;width:auto;max-width:50%}
.builder-cart .builder-pay .pack-price{margin:0;display:block;flex:none;line-height:1.2}
.builder-cart .builder-pay .pack-price .price-label,.builder-cart .builder-pay>p{display:none}
.builder-cart .builder-pay .pack-price strong{font-size:22px;line-height:1.2;white-space:nowrap}
.builder-cart .builder-pay .primary{padding:12px 16px;min-height:44px;width:auto;min-width:220px;font-size:12px;align-items:center;margin:0}
.builder-cart .builder-pay .primary>span{display:none}
@media(max-width:700px){
 .builder-cart.pack-info{gap:10px;padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));align-items:center}
 .builder-cart #builder-count{font-size:15px;grid-column:1/-1}
 .builder-cart #builder-feedback{grid-column:1/-1;margin:3px 0 0;max-width:none;font-size:10px}
 .builder-cart>div>button:not(.primary){font-size:10px;margin-right:10px;padding:5px 0}
 .builder-cart .builder-pay{display:grid;gap:6px;max-width:46%;width:46%;justify-items:stretch}
 .builder-cart .builder-pay .pack-price{text-align:right}
 .builder-cart .builder-pay .pack-price strong{font-size:18px}
 .builder-cart .builder-pay .primary{min-width:0;width:100%;padding:9px 10px;min-height:44px;justify-content:center;font-size:11px;line-height:1.3}
}

/* Monochrome controls and responsive, animated catalogue zoom. */
.builder-page input[type=radio],.builder-page input[type=range]{accent-color:#171917;color-scheme:light}
.builder-page :is(input,select,button,a):focus-visible{outline:2px solid #171917;outline-offset:3px}
.builder-zoom-control{width:206px;max-width:100%;flex:none}
.builder-zoom-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}
.builder-toolbar .builder-zoom-heading label{display:block}
.builder-toolbar #builder-zoom-reset{padding:2px 6px;min-height:24px;border:0;background:transparent;font-size:11px;font-variant-numeric:tabular-nums;cursor:pointer;border-radius:3px}
.builder-toolbar #builder-zoom-reset:hover{background:#efefed}
.builder-zoom-slider{display:flex;align-items:center;gap:5px}
.builder-toolbar .builder-zoom-slider button{width:38px;min-height:42px;padding:0;flex:none;font-size:23px;line-height:1;cursor:pointer;transition:background .16s,color .16s,transform .16s}
.builder-toolbar .builder-zoom-slider button:hover:not(:disabled){background:#171917;color:white}
.builder-toolbar .builder-zoom-slider button:active:not(:disabled){transform:scale(.93)}
.builder-toolbar .builder-zoom-slider button:disabled{opacity:.3;cursor:default}
.builder-toolbar input#builder-zoom{--zoom-progress:36.364%;appearance:none;-webkit-appearance:none;width:120px;min-width:0;flex:1;height:4px;margin:0 5px;padding:0;border:0;border-radius:10px;background:linear-gradient(to right,#171917 0 var(--zoom-progress),#deded9 var(--zoom-progress) 100%);cursor:pointer}
#builder-zoom::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:16px;height:16px;border:2px solid white;border-radius:50%;background:#171917;box-shadow:0 0 0 1px #171917;transition:transform .16s,box-shadow .16s}
#builder-zoom::-moz-range-thumb{width:12px;height:12px;border:2px solid white;border-radius:50%;background:#171917;box-shadow:0 0 0 1px #171917;transition:transform .16s,box-shadow .16s}
#builder-zoom:hover::-webkit-slider-thumb,#builder-zoom:focus-visible::-webkit-slider-thumb{transform:scale(1.2);box-shadow:0 0 0 4px #17191718}
#builder-zoom:hover::-moz-range-thumb,#builder-zoom:focus-visible::-moz-range-thumb{transform:scale(1.2);box-shadow:0 0 0 4px #17191718}
#builder-zoom:active::-webkit-slider-thumb{transform:scale(1.3)}
#builder-zoom:active::-moz-range-thumb{transform:scale(1.3)}
.builder-figure{transform-origin:top left}
.builder-grid{overflow-anchor:none}
@media(prefers-reduced-motion:reduce){.builder-zoom-slider button,#builder-zoom::-webkit-slider-thumb,#builder-zoom::-moz-range-thumb{transition:none}}
