/* Custom Wall designer (dark, matches the site) */
.cw-hero{min-height:auto;padding:130px 24px 56px}
.cw{background:#000;padding:0 20px 90px;color:#f2f2f4;font-family:Poppins,system-ui,sans-serif;font-size:14px}
.cw *{box-sizing:border-box}
.cw [hidden],.cw-modal[hidden],.cw-modal [hidden]{display:none!important}
.cw-app{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px;align-items:start;text-align:left}
@media(max-width:860px){.cw-app{grid-template-columns:1fr}.cw-stage{order:-1}}
.cw-rail{min-width:0;grid-template-columns:minmax(0,1fr);background:#141416;border:1px solid #26262a;border-radius:16px;padding:18px;display:grid;gap:20px}
.cw-grp{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0}
.cw-grp h2{margin:0;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:#8e8e95;font-weight:600}
.cw-seg{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.cw button{font-family:inherit}
.cw-seg button,.cw-tog button{background:#1c1c20;color:#f2f2f4;border:1px solid transparent;border-radius:10px;padding:9px 4px;font-weight:500;font-size:.72rem;cursor:pointer}
.cw-seg button[aria-pressed=true],.cw-tog button[aria-pressed=true]{border-color:#f2f2f4}
.cw-tog{display:flex;gap:6px}.cw-tog button{flex:1}.cw-tog button[hidden]{display:none}
.cw-row{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center}
.cw-row label{font-size:.8rem}.cw-row output{font-size:.8rem;color:#8e8e95;font-variant-numeric:tabular-nums}
.cw-row input[type=range]{grid-column:1/-1;width:100%;accent-color:#f2f2f4}
.cw-sw{display:flex;gap:8px;flex-wrap:wrap}
.cw-sw button{width:30px;height:30px;border-radius:50%;border:2px solid #26262a;cursor:pointer;padding:0}
.cw-ringwrap{position:relative;width:200px;max-width:100%;margin:0 auto;aspect-ratio:1}
.cw-ringwrap canvas{width:100%;height:100%;border-radius:50%;cursor:crosshair;touch-action:none;display:block}
.cw-ringwrap i{position:absolute;width:16px;height:16px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1.5px #000;transform:translate(-50%,-50%);pointer-events:none}
.cw-drop{display:block;cursor:pointer;border:1.5px dashed #3a3a40;border-radius:12px;padding:16px;text-align:center;color:#8e8e95;font-size:.78rem;line-height:1.5}
.cw-drop b{color:#f2f2f4;font-weight:500;display:block;margin-bottom:2px}.cw-drop span{display:block}.cw-drop.over{border-color:#f2f2f4}
.cw-stage{display:grid;gap:16px;min-width:0}
.cw-view{position:relative;background:#16161a;border:1px solid #26262a;border-radius:16px;overflow:hidden;aspect-ratio:16/10;touch-action:pan-y;cursor:grab}
@media(max-width:600px){.cw-view{aspect-ratio:4/5}}
.cw-view canvas{width:100%;height:100%;display:block}
.cw-hud{position:absolute;left:14px;bottom:12px;font-size:.7rem;color:#c8c8cf;letter-spacing:.04em;text-shadow:0 1px 3px #000}
.cw-hud2{position:absolute;right:14px;top:12px;font-size:.7rem;color:#c8c8cf;background:rgba(0,0,0,.55);padding:5px 10px;border-radius:100px}
.cw-fallback{padding:40px 24px;color:#c8c8cf;text-align:center}
.cw-sum{background:#141416;border:1px solid #26262a;border-radius:16px;padding:18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px 20px;align-items:end}
.cw-kv span{display:block;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:#8e8e95}
.cw-kv b{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:#fff}
.cw-kv small{display:block;color:#8e8e95;font-size:.68rem}
.cw-cta{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}
.cw-note{font-size:.75rem;color:#8e8e95;line-height:1.6}
.cw-err{color:#ff7a70;font-size:.8rem;min-height:1.2em;margin:6px 0 0}
.cw :focus-visible,.cw-modal :focus-visible{outline:2px solid #fff;outline-offset:2px}
/* modal */
.cw-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;font-family:Poppins,system-ui,sans-serif}
.cw-modal-bg{position:absolute;inset:0;background:rgba(0,0,0,.7)}
.cw-modal-box{position:relative;background:#141416;color:#f2f2f4;border:1px solid #26262a;border-radius:18px;padding:26px;width:100%;max-width:420px;max-height:92vh;overflow:auto;text-align:left}
.cw-modal-box h3{margin:0 0 6px;font-size:1.15rem}
.cw-modal-box label{display:block;font-size:.76rem;color:#c8c8cf;margin:14px 0 6px}
.cw-modal-box input[type=text],.cw-modal-box input[type=tel],.cw-modal-box input[type=email],.cw-modal-box textarea{width:100%;background:#1c1c20;border:1px solid #2e2e34;color:#fff;border-radius:10px;padding:11px 13px;font:inherit;font-size:.9rem}
.cw-modal-box .btn-pill{margin-top:14px;width:100%;justify-content:center}
.cw-x{position:absolute;top:10px;right:14px;background:none;border:none;color:#c8c8cf;font-size:1.6rem;line-height:1;cursor:pointer}

.cw-ar-box{text-align:center;max-width:380px}
.cw-qr{background:#fff;border-radius:14px;padding:12px;margin:14px auto;width:min(260px,100%);aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}
.cw-qr svg,.cw-qr img{width:100%;height:100%;display:block;image-rendering:pixelated}
.cw-small{font-size:.72rem;margin-top:14px}

.cw-drop{overflow:hidden;min-width:0}.cw-drop b,.cw-drop span{overflow-wrap:anywhere;word-break:break-word}
.cw-credit{margin-top:16px;letter-spacing:.06em}.cw-credit a{color:#c8c8cf;text-decoration:underline;text-underline-offset:3px}.cw-credit a:hover{color:#fff}
