/* MOZZ's original identity, over the new single-viewport interaction model. */
body.constructor-shell{--f-display:"Unbounded",Arial,sans-serif;--f-body:"Onest",system-ui,-apple-system,"Segoe UI",sans-serif;font-family:var(--f-body)}
.constructor-shell .bar{background:var(--bg)}
.constructor-shell .flow-home,.constructor-shell .flow-cart{color:var(--ink2);font-weight:500}
.constructor-shell .flow-home:hover,.constructor-shell .flow-cart:hover{color:var(--pop)}
.constructor-shell .logo{font-size:22px}
.constructor-shell .stage{border-radius:24px;background:var(--tile)}
.constructor-shell .stage-head h1{font-size:18px;text-transform:uppercase;letter-spacing:-.035em}
.constructor-shell .card{border:0;border-radius:20px;padding:20px;background:var(--surface)}
.constructor-shell .flow-phone h2,.constructor-shell .flow-review h2{font-family:var(--f-body);font-size:25px;font-weight:650;line-height:1.2;letter-spacing:-.045em}
.constructor-shell .flow-phone>p,.constructor-shell .flow-review>p{line-height:1.6}
.constructor-shell .btn,.constructor-shell .preview-upload,.flow-foot .btn{border-radius:999px}
.constructor-shell .btn.ghost{box-shadow:inset 0 0 0 1px var(--line2)}
.constructor-shell .btn.ghost:hover{box-shadow:inset 0 0 0 1px var(--ink)}
.constructor-shell .preview-upload{font-size:13px;box-shadow:0 4px 14px rgb(0 0 0 / .08)}
.constructor-shell .bar-sel select,.constructor-shell .bar-sel input,.constructor-shell input[type=text],.constructor-shell textarea,.constructor-shell select{border:1px solid var(--line);border-radius:14px;background:var(--tile);font-weight:500}
.constructor-shell .flow-field{font-size:11px;font-weight:500;gap:7px}
.constructor-shell .bar-sel select{padding:12px 14px;min-height:46px}
.constructor-shell input:focus-visible,.constructor-shell textarea:focus-visible,.constructor-shell select:focus-visible{outline:2px solid var(--pop);outline-offset:2px}
.constructor-shell .tabs{padding:5px;margin:0 3px 14px;gap:4px;border:0;border-radius:20px;background:var(--surface)}
.constructor-shell .tab{border:0;border-radius:999px;min-height:36px;font-size:12px;font-weight:600;color:var(--muted)}
.constructor-shell .tab[aria-selected=true]{background:var(--tile2);color:var(--ink);box-shadow:0 1px 3px rgb(0 0 0 / .08)}
.constructor-shell .tab:hover{color:var(--ink)}
.flow-steps{background:var(--bg);border:0;gap:6px;padding:8px 20px 10px}
.flow-steps button{border-radius:999px;padding:7px 18px;min-height:37px;font-weight:500}
.flow-steps b{background:var(--tile);font-weight:600}
.flow-steps button[aria-current=step]{color:var(--ink);background:var(--tile)}
.flow-steps button[aria-current=step] b{background:var(--pop);color:#fff}
.flow-scroll{gap:16px;scrollbar-width:thin;scrollbar-color:var(--line2) transparent}
.flow-help summary,.flow-tool-fold>summary{font-weight:500}
.flow-selection>summary,.flow-packs>summary{border:0;border-radius:16px;background:var(--surface);padding:14px 16px;font-weight:500}
.flow-selection>#selCard{margin-top:6px}
.flow-selected{padding:4px 6px;border-radius:999px;background:var(--surface)}
.flow-selected>span{padding-inline:6px}
.flow-selected button{border:0;border-radius:999px;background:var(--tile2);min-height:36px;padding:8px 12px;font-weight:500}
.flow-selected button:not(:disabled):hover{background:var(--line);color:var(--ink)}
.flow-foot{background:var(--bg);padding-top:14px;border-color:var(--line)}
.flow-foot .btn{min-height:46px;min-width:190px;font-weight:650}
.flow-price{font-family:var(--f-body);font-weight:600}
.constructor-shell .drop{border:1px dashed var(--line2);border-radius:16px;padding:22px 16px;background:transparent}
.constructor-shell .drop:hover{border-color:var(--pop);background:color-mix(in srgb,var(--pop) 4%,transparent)}
.constructor-shell .chip{border-radius:999px;border-width:1px;font-weight:500}
.constructor-shell .mzs-grid button{border-radius:14px;border-width:1px}
.constructor-shell .mzs-grid.lays button{border-radius:16px}
.constructor-shell .pre-open canvas{border-radius:16px}
.constructor-shell .pre-open b{font-family:var(--f-body);font-weight:600}
.constructor-shell .flow-enlarge{border:0;border-radius:999px;background:var(--surface);width:32px;height:32px}
.constructor-shell .toast{border-radius:999px}
.constructor-shell .theme-tog{border-width:1px;background:transparent}
.brush-preview-done{display:none}
.brush-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.brush-heading h3{font-family:var(--f-body);text-transform:none;font-size:18px;font-weight:600;line-height:1.25}
.brush-note{font-size:12px;line-height:1.5;color:var(--muted)}
.brush-status{font-size:12px;line-height:1.45;color:var(--ink2);min-height:18px}
.brush-width{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px;font-size:12px;color:var(--muted)}
.brush-width output{color:var(--ink);font-variant-numeric:tabular-nums}
.brush-width input{grid-column:1/-1;width:100%;accent-color:var(--pop)}
.brush-actions{display:flex;gap:8px;flex-wrap:wrap}
.constructor-shell .brush-actions .btn{min-height:38px;font-size:12px;padding:9px 12px}
.constructor-shell #brushColors{gap:9px;flex-wrap:wrap}
.constructor-shell #brushColors .sw{width:30px;height:30px}
.constructor-shell.brush-on #cv{cursor:crosshair}
.constructor-shell.brush-on .flow-selection{display:none}
@media(max-width:760px){.constructor-shell.brush-on .brush-panel .brush-heading{display:none}}
.constructor-shell.brush-on .stage>.preview-upload,.constructor-shell.brush-on .stage>.flow-selected,.constructor-shell.brush-on .stage>.meta,.constructor-shell.brush-on .stage>#tip,.constructor-shell.brush-on .stage>#uploadStatus,.constructor-shell.brush-on .stage>.flow-enlarge{display:none}
.constructor-shell.brush-on .brush-preview-done{display:inline-flex;position:absolute;right:14px;top:14px;align-items:center;justify-content:center;min-height:40px;border:1px solid var(--line2);background:var(--surface);color:var(--ink);border-radius:999px;padding:8px 15px;font:inherit;font-size:12px;cursor:pointer;z-index:2}
.constructor-shell .flow-selected #redoShort:disabled{display:none}
/* Cart shares the same palette and brand type, not a separate white checkout. */
body:has(.cart-page){--f-display:"Unbounded",Arial,sans-serif;--f-body:"Onest",system-ui,-apple-system,"Segoe UI",sans-serif}
.cart-page h1{font-family:var(--f-display);font-size:clamp(24px,3vw,32px);line-height:1.25;text-transform:uppercase;letter-spacing:-.035em}
.cart-page .btn{border-radius:999px}
.cart-page .modal>.card{border-radius:22px}
.cart-page .item{border-color:var(--line)}
@media(prefers-reduced-motion:no-preference){.flow-steps button,.flow-selected button,.flow-enlarge,.constructor-shell .tab,.constructor-shell .drop{transition:background-color .18s,color .18s,border-color .18s,transform .18s}.constructor-shell .btn:not(:disabled):active,.flow-selected button:not(:disabled):active,.flow-enlarge:active{transform:scale(.98)}.constructor-shell .card:not([hidden]){animation:tool-appear .16s ease-out}@keyframes tool-appear{from{opacity:.65;transform:translateY(3px)}to{opacity:1;transform:none}}}
@media(max-width:760px){.constructor-shell .bar-in{padding:10px 14px;gap:12px}.constructor-shell .bar-in .logo{font-size:20px}.constructor-shell .app{padding:4px 10px 8px;gap:10px}.constructor-shell .stage{border-radius:20px;padding:14px;column-gap:12px;row-gap:6px}.constructor-shell .flow-phone h2,.constructor-shell .flow-review h2{font-size:22px}.constructor-shell .card{padding:16px;border-radius:18px}.constructor-shell .bar-sel select{min-height:44px;padding:10px 12px}.constructor-shell .flow-field{font-size:11px;gap:6px}.flow-steps{padding:4px 8px 8px;gap:2px}.flow-steps button{font-size:11px;padding:5px 7px;min-height:33px;gap:5px}.constructor-shell .tabs{margin:0 0 8px;padding:4px;gap:3px;border-radius:18px}.constructor-shell .tab{min-height:33px;font-size:11px;padding:6px 3px}.constructor-shell .preview-upload{min-height:44px;font-size:12px;padding:10px 12px}.flow-selected{background:none;padding:0;border-radius:0;gap:6px}.flow-selected>span{padding:0}.flow-selected button{font-size:10px;min-height:32px;padding:6px 9px;background:var(--surface)}.flow-foot{padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}.flow-foot .btn{min-width:162px;min-height:44px}.flow-price{font-size:16px}.flow-selection>summary,.flow-packs>summary{font-size:12px;padding:13px 14px}.constructor-shell .drop{padding:18px 14px}.cart-page h1{font-size:24px}}
@media(max-width:350px){.constructor-shell .bar-in{gap:10px;padding-block:8px}.constructor-shell .stage{padding:10px;column-gap:10px;grid-template-columns:minmax(85px,.8fr) minmax(130px,1fr)}.flow-steps button{font-size:10px;padding-inline:4px}.flow-foot .btn{min-width:138px;font-size:12px}.flow-price{font-size:14px}.constructor-shell .preview-upload{font-size:11px}.constructor-shell .card{padding:14px}.constructor-shell .flow-phone h2{font-size:20px}}
@media(max-width:760px){.constructor-shell.brush-on .stage{display:flex;flex-direction:column;align-items:center;justify-content:center;height:clamp(280px,46dvh,440px);max-height:50dvh;padding:18px 12px;gap:0}.constructor-shell.brush-on #cv{grid-column:auto;grid-row:auto;width:auto;height:100%;max-width:100%;max-height:100%;flex:1}.constructor-shell.brush-on .brush-preview-done{top:10px;right:10px;min-height:38px;padding:8px 12px}.constructor-shell.brush-on .brush-panel{padding:14px;gap:10px}.brush-panel .brush-note:first-of-type{display:none}.brush-heading h3{font-size:16px}.constructor-shell .brush-panel #brushDone{min-height:34px;padding:6px 12px}.constructor-shell .brush-panel #brushColors{gap:7px}.constructor-shell.brush-on .brush-panel #brushColors .sw{width:28px;height:28px}.brush-width input{min-height:30px!important}.constructor-shell.brush-on .tabs{margin-bottom:6px}}
@media(prefers-reduced-motion:reduce){.constructor-shell *,.constructor-shell *:before,.constructor-shell *:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
