:root{--navy:#071f48;--ink:#112c58;--coral:#f56752;--paper:#fbfaf7;--white:#fff;--line:#e2e6ed;--muted:#687992;--soft:#f2f4f7}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.48 system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit}img{display:block;max-width:100%}[hidden]{display:none!important}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
.site-header{min-height:80px;display:flex;align-items:center;gap:32px;padding:10px max(25px,calc((100vw - 1570px)/2));border-bottom:1px solid var(--line);background:#fffdf9}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--navy);font:600 clamp(1.8rem,3vw,2.55rem)/1 Georgia,serif;letter-spacing:-.05em;white-space:nowrap}.brand img{width:45px;height:45px}
.site-header nav{display:flex;gap:28px;margin-left:auto}.site-header nav a{text-decoration:none;font-weight:650}.site-header nav a:hover{color:var(--coral)}
.header-order{display:flex;align-items:center;gap:9px;border:1px solid #f9aa9d;border-radius:30px;background:#fff;color:var(--navy);padding:8px 14px;font-weight:700;white-space:nowrap}.header-order span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--coral);color:white;font-size:.85rem}
.page{max-width:1570px;margin:auto;padding:18px 20px 58px}.breadcrumb{color:var(--muted);font-size:.91rem;margin-bottom:15px}.breadcrumb span{margin-left:10px}.breadcrumb a{text-decoration:none}.breadcrumb a:hover{text-decoration:underline}
.editor-layout{display:grid;grid-template-columns:minmax(210px,250px) minmax(420px,1fr) minmax(275px,325px);gap:13px;align-items:start}.panel{border:1px solid var(--line);background:#fff;border-radius:12px;box-shadow:0 7px 23px #10204007}.items-panel,.settings-panel{padding:19px}.items-panel h2,.settings-panel h2{font:700 1.15rem system-ui,sans-serif;margin:0 0 17px}.items-panel h2 span{font-weight:400;color:var(--muted)}.item-list{display:grid;gap:9px}.item-card{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px;padding:7px;background:white;min-width:0}.item-card.active{background:#fff5f2;border-color:#f6a99d}.item-select{display:flex;align-items:center;gap:9px;text-align:left;border:0;background:none;color:var(--ink);padding:0;flex:1;min-width:0}.item-select img{width:51px;height:51px;object-fit:cover;border-radius:7px;flex:none}.item-select span{min-width:0}.item-select strong,.item-select small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-select strong{font-size:.85rem}.item-select small{font-size:.74rem;color:var(--muted)}.remove-item{border:0;background:none;color:var(--muted);font-size:1.25rem;padding:3px 5px}.remove-item:hover{color:var(--coral)}.sidebar-note{font-size:.79rem;color:var(--muted);margin:18px 0 0}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:9px;padding:9px 14px;text-decoration:none;font-weight:700;text-align:center;transition:background .18s,border-color .18s}.button-primary{border:1px solid var(--coral);background:var(--coral);color:#fff}.button-primary:hover{background:#e9503b}.button-outline{border:1px solid var(--coral);background:white;color:var(--coral)}.button-outline:hover{background:#fff1ee}.button-light{border:1px solid var(--line);background:#fff;color:var(--navy)}.button-light:hover{border-color:#aab7ca;background:#f8faff}.add-product{width:100%;margin-top:10px}
.edit-panel{min-width:0}.edit-heading{display:flex;align-items:baseline;gap:15px;margin:0 8px 13px}.edit-heading h1{font:600 clamp(2rem,3vw,3.2rem)/1.07 Georgia,"Times New Roman",serif;letter-spacing:-.045em;color:var(--navy);margin:0}.edit-heading>span{color:#657996;font:600 clamp(1.12rem,1.5vw,1.5rem) Georgia,serif;white-space:nowrap}
.sides-row{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-height:40px;padding:0 7px;color:var(--navy);font-weight:650}.switch-input{position:absolute;opacity:0;width:45px;height:27px;cursor:pointer}.switch-visual{width:45px;height:27px;border-radius:30px;background:#b7c1cf;position:relative;pointer-events:none}.switch-visual:after{content:"";position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#fff;transition:transform .15s}.switch-input:checked+.switch-visual{background:var(--coral)}.switch-input:checked+.switch-visual:after{transform:translateX(18px)}.switch-input:focus-visible+.switch-visual{outline:3px solid var(--coral);outline-offset:3px}
.side-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:10px}.side-tab{min-height:48px;border:0;background:#fff;color:var(--navy);font-weight:700}.side-tab+button{border-left:1px solid var(--line)}.side-tab[aria-selected=true]{background:var(--coral);color:#fff}.side-tab:disabled{background:#f2f3f5;color:#99a5b7}
.canvas-card{padding:12px}.canvas-wrap{position:relative;display:flex;justify-content:center;align-items:center;min-height:340px;background:radial-gradient(circle,#f8f9fb,#edf0f3);border-radius:10px;overflow:hidden}.canvas-wrap canvas{display:block;width:min(100%,620px);height:auto;touch-action:none;cursor:grab}.canvas-wrap.dragging canvas{cursor:grabbing}.canvas-empty{position:absolute;bottom:29px;left:50%;transform:translateX(-50%);color:#fff;background:#071f48d9;border-radius:20px;padding:7px 14px;white-space:nowrap;font-size:.86rem;pointer-events:none}
.guide-row{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;font-size:.82rem;color:#50617c;margin-top:12px}.guide-row span{display:flex;align-items:center;gap:7px}.guide{display:block;width:17px;height:17px;border-radius:50%;border:2px dashed #ef5d4c}.guide.safe{border-style:solid;border-color:#39a878}.canvas-help{text-align:center;font-size:.78rem;color:var(--muted);margin:8px 0 1px}.stage-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.stage-actions .button{flex:1;min-width:140px;font-size:.86rem}
.product-preview{margin-top:12px;padding:12px}.product-preview summary{font-weight:700;cursor:pointer;color:var(--navy)}.product-preview canvas{display:block;width:min(100%,640px);height:auto;margin:10px auto;border-radius:8px;background:#ede7df}.product-preview p{font-size:.77rem;color:var(--muted);margin:4px 0 0;text-align:center}
.upload{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:124px;border:1.5px dashed #bac7d6;border-radius:10px;text-align:center;padding:12px;cursor:pointer;background:#fafbfc}.upload:hover{border-color:var(--coral);background:#fff8f6}.upload-icon{color:var(--coral);font-size:1.75rem;line-height:1}.upload strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--navy)}.upload small{color:var(--muted)}.replace-photo{width:100%;margin-top:8px}.error{font-size:.85rem;color:#b42d24;margin:10px 0}.setting{margin-top:22px}.setting label{display:flex;justify-content:space-between;gap:8px;font-weight:700}.setting output{font-weight:600;color:var(--muted)}.setting input{display:block;width:100%;margin:14px 0 4px;accent-color:var(--coral)}.quality{margin-top:20px;border:1px solid #bde5cb;border-radius:8px;background:#eefaf2;color:#176537;padding:9px;font-size:.82rem}.quality.warn{border-color:#f5d494;background:#fff9ea;color:#805800}.quantity-row{border-top:1px solid var(--line);margin-top:20px;padding-top:17px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:700}.quantity-control{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.quantity-control button{width:36px;border:0;background:#f8faff;color:var(--navy);font-size:1.2rem}.quantity-control input{width:45px;text-align:center;border:0;border-inline:1px solid var(--line);color:var(--navy);appearance:textfield}.quantity-control input::-webkit-inner-spin-button,.quantity-control input::-webkit-outer-spin-button{appearance:none;margin:0}.settings-actions{display:grid;gap:9px;margin-top:22px}.settings-actions .button{width:100%}
.site-footer{max-width:1570px;margin:auto;padding:20px;display:flex;justify-content:space-between;gap:15px;color:#8390a3;border-top:1px solid var(--line);font-size:.78rem}.version{letter-spacing:.08em;color:#a2acbb}
.modal{border:0;border-radius:15px;padding:0;max-width:min(94vw,700px);width:100%;max-height:88vh;box-shadow:0 20px 90px #091a3a50}.modal::backdrop{background:#081d42a6}.modal-inner{padding:23px;overflow:auto;max-height:88vh}.modal-heading{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:16px}.modal-heading h2{margin:0;color:var(--navy);font:600 2rem/1.12 Georgia,serif}.close-dialog{border:0;background:none;color:#60708c;font-size:1.8rem;line-height:1;padding:0 4px}.product-choices{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.product-choice{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:10px;padding:8px;text-align:left;background:white;color:var(--navy)}.product-choice:hover{border-color:var(--coral);background:#fff8f6}.product-choice img{width:74px;height:70px;border-radius:7px;object-fit:cover}.product-choice strong,.product-choice small{display:block}.product-choice small{color:var(--muted)}.eyebrow{color:var(--coral);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700}.review-list{display:grid;gap:10px}.review-item{border:1px solid var(--line);border-radius:10px;padding:12px}.review-item-head{display:flex;justify-content:space-between;gap:12px;font-weight:700;color:var(--navy)}.review-item-side{display:flex;gap:9px;align-items:center;margin-top:9px}.review-item-side canvas{width:84px;height:64px;object-fit:contain;background:#f4f5f6;border-radius:5px}.review-item-side span{font-size:.82rem;color:#4c5f7d}.review-item-side small{display:block;color:var(--muted)}.review-total{font-weight:750;color:var(--navy);text-align:right;margin:17px 0}.order-fields{display:grid;gap:11px}.order-fields label{display:grid;gap:5px;font-weight:650;font-size:.91rem}.order-fields input,.order-fields textarea{width:100%;border:1px solid #bec8d5;border-radius:7px;padding:9px 10px;color:var(--navy);background:#fff}.order-note{color:var(--muted);font-size:.8rem;margin:16px 0}.review-actions{display:flex;gap:8px;justify-content:end}.review-actions .button{flex:1;min-width:0}.toast{position:fixed;bottom:21px;left:50%;transform:translate(-50%,20px);background:#071f48;color:#fff;border-radius:9px;padding:10px 16px;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;z-index:50;max-width:calc(100% - 24px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1100px){.editor-layout{grid-template-columns:205px minmax(0,1fr)}.settings-panel{grid-column:2}.settings-panel{display:grid;grid-template-columns:1fr 1fr;column-gap:22px}.settings-panel h2,.settings-panel .quality,.settings-panel .quantity-row,.settings-panel .settings-actions,.settings-panel .error{grid-column:1/-1}.settings-panel .upload{grid-row:2}.settings-panel .replace-photo{grid-column:1;grid-row:3}.settings-panel .setting{margin-top:5px}}
@media(max-width:720px){.site-header{min-height:70px;padding:8px 15px;gap:7px}.brand{font-size:1.65rem}.brand img{width:38px;height:38px}.site-header nav{display:none}.header-order{margin-left:auto;font-size:.76rem;padding:6px 8px}.page{padding:14px 14px 37px;max-width:610px}.editor-layout{display:flex;flex-direction:column}.edit-panel{order:0;width:100%}.settings-panel{order:1;display:block;width:100%}.items-panel{order:2;width:100%}.edit-heading{display:block;text-align:center}.edit-heading h1{font-size:clamp(2rem,7.2vw,2.8rem)}.edit-heading>span{font-size:1.2rem}.sides-row{justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:10px;padding:7px 13px;margin-bottom:9px}.side-tab{min-height:49px;font-size:.91rem}.canvas-card{padding:7px}.canvas-wrap{min-height:280px}.guide-row{font-size:.72rem;gap:12px}.canvas-help{font-size:.72rem}.stage-actions .button{min-width:0;font-size:.78rem;padding:7px 9px}.setting{margin-top:19px!important}.settings-panel{padding:16px}.settings-panel .replace-photo{margin-top:8px}.quantity-row{margin-top:20px}.product-choices{grid-template-columns:1fr}.review-actions{flex-direction:column-reverse}.site-footer{padding:16px 14px}.modal-inner{padding:16px}.modal-heading h2{font-size:1.65rem}}
.item-select canvas{width:51px;height:51px;object-fit:cover;border-radius:7px;flex:none}
.canvas-wrap.file-over,.upload.file-over{outline:4px solid var(--coral);outline-offset:-4px;background:#fff1ec}
.work-views{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.work-view{min-width:0}.work-view h2{margin:2px 0 8px;color:var(--navy);font-size:.91rem}.work-view>.canvas-wrap,.work-view>canvas{width:100%;aspect-ratio:1;border:1px solid var(--line);border-radius:9px}
.work-view>.canvas-wrap{min-height:0;background:#fff}.work-view>.canvas-wrap canvas{width:100%;height:100%}.work-view>canvas{display:block;background:#f0f2f5}
.material-gallery img{width:98px;height:78px;object-fit:contain;flex:none;border:1px solid var(--line);border-radius:7px;background:#f7f5f1}
.mode-switch{display:flex;gap:7px;margin:12px 0 5px}.mode-switch button{flex:1;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);padding:8px;font-weight:700}.mode-switch button[aria-pressed=true]{border-color:#37a878;background:#eaf7f0;color:#14633f}
.region-controls{border:1px solid var(--line);border-radius:9px;margin:20px 0 0;padding:4px 12px 12px;min-width:0}.region-controls legend{font-weight:700;color:var(--navy);padding:0 5px}.region-controls .setting{margin-top:8px}.region-controls .setting label{font-size:.85rem}.region-controls .setting input{margin:7px 0 2px}
@media(max-width:1100px){.settings-panel .region-controls{grid-column:1/-1}}
@media(max-width:720px){.work-views{grid-template-columns:1fr}.work-view h2{margin-top:5px}.work-view>canvas{max-width:100%}.region-controls .setting{margin-top:10px!important}}
@media(max-width:720px){.edit-heading>span{display:block;white-space:normal;overflow-wrap:anywhere;line-height:1.25}}
.product-choice img,.item-select img{object-fit:contain;background:#f2f3f4}
.catalog-error{margin:15px auto;padding:18px;max-width:850px;border:1px solid #f5d494;border-radius:9px;background:#fff9ea;color:#805800;text-align:center}
.control-group{min-width:0}.ratio-lock{display:flex;align-items:center;gap:8px;margin:17px 0 5px;color:var(--navy);font-size:.85rem;font-weight:700}.ratio-lock input{width:18px;height:18px;accent-color:var(--coral)}.background-controls{border:1px solid var(--line);border-radius:9px;margin:20px 0 0;padding:10px 12px 12px;min-width:0}.background-controls legend{padding:0 5px;color:var(--navy);font-weight:700}.background-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.background-row .button{min-height:36px;padding:6px 9px;font-size:.82rem}.background-color-label{display:flex;align-items:center;gap:7px;color:var(--navy);font-size:.85rem;font-weight:700}.background-color-label input{width:38px;height:36px;border:1px solid var(--line);border-radius:7px;padding:2px;background:#fff;cursor:pointer}.background-controls small{display:block;margin-top:8px;color:var(--muted);font-size:.77rem}.canvas-wrap.picking canvas{cursor:crosshair}.settings-actions small{color:var(--muted);font-size:.76rem;text-align:center}.settings-actions small.saved{color:#176537}.site-footer a{color:inherit;text-decoration:underline;text-underline-offset:2px}
@media(max-width:1100px){.settings-panel .control-group{grid-column:1/-1}.settings-panel .control-group .upload{width:100%}.settings-panel .control-group .replace-photo{width:100%}}
.terms-consent{display:flex;align-items:flex-start;gap:10px;margin:16px 0 18px;padding:12px;border:1px solid var(--line);border-radius:9px;background:#f8faff;color:var(--navy);font-size:.87rem;line-height:1.5}.terms-consent input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:var(--coral);cursor:pointer}.terms-consent label{cursor:pointer}.terms-consent a{color:#bf4334;text-decoration:underline;text-underline-offset:2px;font-weight:700}
.showcase-consent{margin-top:-8px;background:#fff}
.bleed-status{border-top:1px solid var(--line);padding:7px 0;margin-top:6px}.bleed-status small{display:block;font-size:.75rem;color:var(--muted);line-height:1.4}.bleed-status .button{font-size:.75rem;padding:5px 7px;min-height:30px;margin-top:5px;width:100%}
@media(max-width:720px){.bleed-status small{font-size:.65rem}.bleed-status{padding:4px 0}.bleed-status .button{font-size:.68rem;min-height:27px}}
/* One workspace: choose on the left, edit in the middle, adjust on the right. */
.workspace-button{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);padding:8px 12px;font-weight:700;min-height:38px}
.production-disclaimer{font-size:.84rem;line-height:1.55;padding:12px;background:#fff5ed;border:1px solid #edc6a7;border-radius:8px;color:#754327}.item-price{font-size:.82rem;font-weight:700;margin:4px 0}.order-bar .item-price{max-width:240px;flex:none}.review-price{font-size:.86rem;font-weight:700;color:#435775;margin:10px 0 0}
@media(max-width:720px){#open-items.workspace-button{background:var(--coral);border-color:var(--coral);color:#fff;box-shadow:0 2px 5px #f5675240;font-weight:800}.order-bar .item-price{font-size:.67rem;max-width:none;flex-basis:100%;margin:0}.order-bar:has(.item-price){flex-wrap:wrap;gap:3px}.production-disclaimer{font-size:.78rem}}
.workspace-navigation{display:none}.drawer-close,.drawer-backdrop,.drawer-legal{display:none}
.mobile-settings-toggle{display:none}
.item-upload{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}.item-upload h3{font-size:.85rem;margin:0 0 9px}.item-upload .upload{min-height:100px}.item-upload small{font-size:.74rem}
.settings-panel{display:block;grid-column:auto}.settings-panel h2{font-size:.95rem;margin:15px 0 12px}.settings-panel .mode-switch{margin:0;gap:4px}.mode-switch button{font-size:.82rem;white-space:nowrap;padding:8px 5px}
.settings-panel .setting{margin-top:14px}.settings-panel .setting input{margin:9px 0 0}.ratio-lock{margin:10px 0;font-size:.78rem}.settings-panel .region-controls{margin:0;padding:0;border:0}.region-controls legend{display:none}.settings-panel .stage-actions .button{min-width:0;font-size:.78rem}.background-controls{margin:0}.settings-panel .quality{margin:8px 0;font-size:.74rem}
body[data-edit-tool=background] .stage-actions{display:none}
.order-bar{grid-column:1/-1;display:flex;align-items:center;gap:20px;padding:10px 16px}.order-bar .quantity-row{margin:0;padding:0;border:0;font-size:.88rem;gap:12px}.order-bar .settings-actions{margin:0;display:flex;align-items:center;gap:12px;flex:1;justify-content:flex-end}.order-bar .settings-actions .button{width:auto;min-width:180px}.order-bar #cart-status{max-width:230px}.order-bar #review-order{order:3}.order-bar #save-item{order:2}
@media(min-width:721px) and (max-width:1100px){.editor-layout{grid-template-columns:185px minmax(260px,1fr) 245px;gap:9px}.items-panel,.settings-panel{padding:12px}.edit-heading h1{font-size:2rem}.edit-heading{flex-wrap:wrap}.work-views{grid-template-columns:1fr}.work-view:nth-child(2){display:none}.workspace-navigation{display:flex;justify-content:flex-end;margin-bottom:5px}#open-items{display:none}body[data-view=preview] .work-view:first-child{display:none}body[data-view=preview] .work-view:nth-child(2){display:block}.order-bar #cart-status{display:none}}
@media(max-width:720px){
  body{height:100dvh;overflow:hidden}.site-header{height:48px;min-height:48px;padding:4px 10px}.brand{font-size:1.45rem}.brand img{width:30px;height:30px}.site-header .header-order{min-height:32px}
  .page{height:calc(100dvh - 48px);padding:6px 8px 0;max-width:none}.breadcrumb,.site-footer{display:none}.editor-layout{height:100%;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto auto;gap:6px}
  .edit-panel{display:flex;flex-direction:column;min-height:0;order:initial}.workspace-navigation{display:flex;justify-content:space-between;gap:6px;margin-bottom:4px}.workspace-navigation button{font-size:.76rem;min-height:32px;padding:5px 8px}
  .edit-heading{display:flex;align-items:center;justify-content:space-between;text-align:left;margin:0 2px 3px;gap:8px}.edit-heading h1{font:700 .9rem/1.2 system-ui;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edit-heading>span{font:500 .7rem/1.2 system-ui;display:block;flex:none;max-width:42%;text-align:right}
  .sides-row{padding:3px 8px;min-height:30px;margin-bottom:4px;font-size:.76rem}.switch-visual{height:23px;width:40px}.switch-visual:after{width:17px;height:17px}.switch-input:checked+.switch-visual:after{transform:translateX(17px)}
  .side-tabs{margin-bottom:4px;flex:none}.side-tab{min-height:30px;font-size:.76rem}.canvas-card{padding:4px;flex:1;min-height:0;display:flex;flex-direction:column}.work-views{display:flex;flex:1;min-height:0;justify-content:center}.work-view{display:flex;flex-direction:column;min-height:0;width:100%;align-items:center}.work-view h2{display:none}.work-view:nth-child(2){display:none}body[data-view=preview] .work-view:first-child{display:none}body[data-view=preview] .work-view:nth-child(2){display:flex}
  .work-view>.canvas-wrap{height:100%;width:auto;max-width:100%;aspect-ratio:1;min-height:0;border:0;flex:none}.work-view>.canvas-wrap canvas{height:100%;width:auto;max-width:100%;object-fit:contain}.work-view>canvas{height:100%;width:auto;max-width:100%;object-fit:contain;border:0;aspect-ratio:1}.canvas-help{display:none}.guide-row{flex:none;margin:3px 0 0;font-size:.61rem;gap:9px}.guide{width:11px;height:11px}
  .settings-panel{display:block;order:initial;padding:5px 9px;max-height:206px;overflow:auto;overscroll-behavior:contain}.settings-panel h2{display:none}.mode-switch{position:sticky;top:-5px;background:white;padding:3px 0;z-index:1}.mode-switch button{min-height:33px;font-size:.8rem;padding:5px}.settings-panel .control-group{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.settings-panel .ratio-lock{grid-column:1/-1;margin:3px 0;font-size:.7rem}.settings-panel .setting{margin-top:0!important}.setting label{font-size:.73rem}.setting output{font-size:.73rem}.settings-panel .setting input{margin:2px 0 0;height:24px}.settings-panel #photo-controls .setting:last-child{grid-column:1/-1}.region-controls{padding:0}.settings-panel .stage-actions{margin-top:5px;gap:5px}.stage-actions .button{min-height:31px;font-size:.73rem;padding:4px 7px}.settings-panel .quality{margin:4px 0;font-size:.66rem;padding:4px}.background-controls{padding:7px}.background-controls small{font-size:.68rem;margin-top:5px}
  .order-bar{order:initial;display:grid;grid-template-columns:auto 1fr;padding:5px 7px calc(5px + env(safe-area-inset-bottom));gap:3px 8px;border-radius:9px 9px 0 0}.order-bar .quantity-row>label{display:none}.quantity-control button{width:28px;height:34px}.quantity-control input{width:32px}.order-bar .settings-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px}.order-bar .settings-actions .button{min-width:0;width:100%;min-height:34px;padding:4px 5px;font-size:.68rem}.order-bar #cart-status{grid-column:1/-1;order:4;max-width:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.61rem;line-height:1.1}
  .items-panel{display:none}.items-open .items-panel{display:block;position:fixed;inset:0 auto 0 0;width:min(90vw,360px);z-index:71;border-radius:0;overflow:auto;padding:14px}.drawer-close{display:block;margin:0 0 12px auto}.drawer-legal{display:block;font-size:.75rem;color:var(--muted)}.items-open .drawer-backdrop{display:block;position:fixed;inset:0;background:#071f4880;border:0;z-index:70}.items-open #item-list{max-height:40dvh;overflow:auto}.item-upload{margin-top:13px}
}
@media(max-width:720px) and (max-height:670px){.settings-panel{max-height:184px}.guide-row{display:none}.sides-row{min-height:26px}.workspace-navigation button{min-height:28px}.settings-panel .stage-actions .button{min-height:27px}}
@media(min-width:721px){.order-bar{position:sticky;bottom:10px;z-index:5;box-shadow:0 5px 24px #071f4820}}
@media(max-width:720px){.settings-panel{max-height:260px}.region-controls .setting label{font-size:.73rem}.region-controls .setting input{margin:2px 0 0}.settings-panel .control-group{gap:2px 12px}}
@media(max-width:720px) and (max-height:670px){.settings-panel{max-height:240px}}
@media(max-width:720px){.editor-layout{align-items:stretch}.edit-panel{height:100%;overflow:hidden}.canvas-card{overflow:hidden}.work-views{overflow:hidden}.settings-panel{position:relative;z-index:2}.toast{bottom:78px;font-size:.78rem;padding:7px 10px;max-width:90vw}}
.view-heading{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:0 0 7px;width:100%}.view-heading h2{margin:0;flex:1;min-width:90px}.expand-view,.close-expanded{font-size:.7rem;color:var(--navy);background:white;border:1px solid var(--line);border-radius:6px;padding:5px 7px;white-space:nowrap}.close-expanded{background:var(--navy);color:white}
body.view-expanded{overflow:hidden}.work-view.expanded-view{position:fixed;inset:0;z-index:100;display:flex!important;flex-direction:column;align-items:center;background:#f8f9fb;padding:12px;gap:8px;width:100vw;height:100dvh}.expanded-view .view-heading{flex:none;margin:0;max-width:1100px}.expanded-view .view-heading h2{display:block;font-size:1rem}.expanded-view>.canvas-wrap,.expanded-view>canvas{width:min(calc(100dvh - 80px),calc(100vw - 24px));height:min(calc(100dvh - 80px),calc(100vw - 24px));max-width:none;flex:none;aspect-ratio:1;min-height:0;margin:auto;border:1px solid var(--line)}.expanded-view>.canvas-wrap canvas{width:100%;height:100%}
@media(max-width:720px){.view-heading{margin:0 0 3px;flex:none;justify-content:flex-end}.view-heading h2{display:none}.expand-view{font-size:.64rem;padding:3px 6px}.work-view>.canvas-wrap,.work-view>canvas{flex:1;min-height:0;height:auto;width:auto;max-height:100%;max-width:100%}.work-view.expanded-view{padding:8px}.expanded-view>.canvas-wrap,.expanded-view>canvas{flex:none;width:min(calc(100dvh - 80px),calc(100vw - 16px));height:min(calc(100dvh - 80px),calc(100vw - 16px));max-height:none;max-width:none}.expanded-view .view-heading h2{font-size:.85rem}}

@media(max-width:720px){.order-bar .item-price{grid-column:1/-1;font-size:.67rem;max-width:none;margin:0}.workspace-navigation #open-items{background:var(--coral);border-color:var(--coral);color:#fff;min-height:34px}}
.editing-advice{display:flex;align-items:center;flex-wrap:wrap;gap:5px 12px;border:1px solid #e9bd83;background:#fff8ec;border-radius:9px;padding:9px 12px;margin-bottom:8px;flex:none}.editing-advice p{flex:1 1 240px;margin:0;font-size:.82rem;line-height:1.4;max-height:90px;overflow:auto}.editing-advice .button{font-size:.76rem;padding:6px 10px;min-height:32px;flex:none}.editing-advice small{flex-basis:100%;font-size:.7rem;color:#735326}.editing-advice small:empty{display:none}
@media(max-width:720px){.editing-advice{padding:5px 7px;margin-bottom:4px;gap:3px 7px}.editing-advice p{font-size:.67rem;line-height:1.3;max-height:43px;flex-basis:100%}.editing-advice .button{font-size:.68rem;min-height:27px;padding:3px 7px}.editing-advice small{font-size:.61rem}}
.product-preview-tabs{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 7px}.product-preview-tabs button{background:#fff;border:1px solid #d9e0e8;color:#071f48;border-radius:7px;padding:6px 9px;font:700 .75rem system-ui;cursor:pointer}.product-preview-tabs button[aria-pressed=true]{border-color:#f56752;background:#fff2ee;color:#c14130}.product-preview-tabs button[hidden]{display:none}
.clear-items{width:100%;margin:9px 0;color:#ad382c;font-size:.8rem}.item-comment-field{display:grid;gap:6px;margin-top:13px;font-size:.83rem;font-weight:700;color:var(--navy)}.item-comment-field textarea{width:100%;min-height:80px;resize:vertical;border:1px solid var(--line);border-radius:7px;padding:9px;font:400 .85rem/1.4 system-ui;color:var(--ink)}.item-comment-field small{font-size:.7rem;font-weight:400;line-height:1.4;color:var(--muted)}.review-comment{font-size:.85rem;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--navy)}.empty-cart{grid-column:2/-1;text-align:center;padding:50px 20px}.empty-cart[hidden]{display:none}.empty-cart h2{font:700 1.4rem system-ui}.cart-empty .edit-panel,.cart-empty .settings-panel,.cart-empty .order-bar,.cart-empty .item-upload,.cart-empty .item-comment-field{display:none!important}.clear-items-dialog{max-width:520px}.clear-items-dialog p{line-height:1.5;color:var(--muted)}
@media(max-width:720px){.cart-empty .empty-cart{grid-column:1/-1;grid-row:1/-1;align-self:center;padding:25px 14px}.item-comment-field textarea{font-size:16px}}
.work-view.expanded-view>canvas{width:min(calc(100dvh - 130px),calc(100vw - 24px));height:min(calc(100dvh - 130px),calc(100vw - 24px))}
@media(max-width:720px){.product-preview-tabs{flex:none}.product-preview-tabs button{padding:5px 7px;font-size:.66rem}}
/* V4.14: categories, comments, sale prices and a single face/preview toolbar. */
.product-category-nav{display:flex;flex-wrap:wrap;gap:6px;padding:0 0 12px;flex:none}
.product-category-nav button{border:1px solid var(--line);border-radius:20px;background:white;color:var(--navy);padding:8px 12px;font-weight:650}
.product-category-nav button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:white}
#product-dialog .modal-inner{display:flex;flex-direction:column;max-height:88dvh}
#product-choices{display:block;overflow:auto;min-height:0;overscroll-behavior:contain;padding:2px}
.product-category-section h3{font:700 1rem system-ui;margin:13px 0 8px}
.product-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.product-category-grid .product-choice{min-width:0}.product-choice strong{font-size:.88rem}
.design-comment{margin-top:12px;padding:10px 14px}.design-comment summary{cursor:pointer;font-size:.86rem;font-weight:700}
.design-comment #item-comment-field{margin:8px 0 0}.design-comment #item-comment-field>label{display:none}.design-comment textarea{min-height:72px;width:100%}
.design-comment #item-comment-field small{display:block;font-size:.74rem;color:var(--muted)}
.cart-empty .design-comment{display:none}
.face-preview-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;margin-bottom:10px;flex:none}
.editing-face-label{font-size:.78rem;color:var(--navy)}
.face-preview-toolbar .product-preview-tabs{margin:0;gap:5px}.face-preview-toolbar button{min-height:34px;font-weight:650}
.face-preview-toolbar button[data-editing=true]{border-color:var(--coral);box-shadow:inset 0 -3px var(--coral)}
#preview-canvas{cursor:pointer}
.price-original{color:var(--muted);font-size:.88em;font-weight:400;margin-right:4px}
.price-sale{color:#d6422e;font-weight:800}.price-current{font-weight:650}
.missing-photo-warning{border:2px solid #de4936;background:#fff2ec;border-radius:10px;padding:14px;margin:0 0 16px;color:#85271b}
.missing-photo-warning h3{margin:0 0 7px;font-size:1.1rem}.missing-photo-warning p{font-size:.85rem;margin:0 0 10px}
.missing-photo-warning ul{padding-left:20px;margin:8px 0 12px}.missing-photo-warning li+li{margin-top:6px}
.missing-photo-warning li button{color:#85271b;text-decoration:underline;background:none;border:0;text-align:left;padding:5px 0;font-weight:700}
.blank-consent{display:flex;gap:9px;align-items:start;font-size:.87rem;font-weight:700}.blank-consent input{flex:none;width:20px;height:20px;accent-color:var(--coral)}
.review-item-side.missing-photo-side{background:#fff2ec;border:1px solid #e85f48;border-radius:8px;padding:8px}.missing-photo-side span{color:#a92f20;font-weight:700}
.missing-photo-side button{border:1px solid #de4936;background:white;color:#a92f20;border-radius:7px;padding:8px;font-weight:700;flex:none;font-size:.8rem}
@media(max-width:720px){
 .product-category-nav{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior:contain;gap:6px;padding-bottom:10px}.product-category-nav button{white-space:nowrap;flex:none;min-height:40px}
 .product-category-grid{grid-template-columns:1fr}.product-category-grid .product-choice{min-height:78px}
 .design-comment{flex:none;margin-top:5px;padding:5px 9px}.design-comment summary{font-size:.76rem;min-height:25px;line-height:25px}
 .design-comment textarea{min-height:50px;height:56px;font-size:16px}.design-comment #item-comment-field small{font-size:.66rem}
 .face-preview-toolbar{gap:3px;margin-bottom:4px}.editing-face-label{font-size:.67rem;width:100%}
 .face-preview-toolbar .product-preview-tabs{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:2px;width:100%}.face-preview-toolbar button{flex:none;font-size:.68rem;min-height:30px;padding:4px 8px;white-space:nowrap}
 .missing-photo-side{flex-wrap:wrap}.missing-photo-side span{flex:1;min-width:130px}.missing-photo-side button{margin-left:auto}
 .missing-photo-warning{padding:10px}.missing-photo-warning h3{font-size:1rem}
}
/* V4.14.2: reserve the mobile viewport for editing rather than parameter forms. */
@media(max-width:720px){
 .settings-panel{max-height:clamp(106px,calc(100dvh - 520px),174px)}
 body:not([data-settings-open=true]) .settings-panel{overflow:hidden;max-height:none}
 body:not([data-settings-open=true]) .settings-panel>:not(.mode-switch){display:none!important}
 .settings-panel .mode-switch{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,1fr) 34px}
 .settings-panel .mobile-settings-toggle{display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:1.15rem}
 .face-preview-toolbar{flex-wrap:nowrap;min-height:30px}
 .face-preview-toolbar .editing-face-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.face-preview-toolbar .product-preview-tabs{width:100%;min-width:0}
 .work-view:not(.expanded-view)>.canvas-wrap,.work-view:not(.expanded-view)>canvas{max-height:min(100%,calc(100vw - 26px))}
}

/* The invisible native switch stays over the visible thumb, inside a clickable label. */
.sides-row{cursor:pointer}
.switch-control{position:relative;display:inline-flex;flex:none;width:45px;height:27px}
.switch-control .switch-input{inset:0;margin:0;width:100%;height:100%;z-index:1}
@media(max-width:720px){.sides-row{min-height:40px}.switch-control{width:40px;height:23px}}

/* Keep packaging feedback next to the export actions while reviewing a long order. */
.pdf-export-panel{position:sticky;bottom:-23px;background:#fff;padding:12px 0 23px;z-index:2;border-top:1px solid #dce3ed}
.pdf-progress{padding:12px 14px;margin-bottom:12px;border:1px solid #dce3ed;border-radius:12px;background:#f6f8fb}
.pdf-progress label{display:block;font-weight:700;color:#09234a;line-height:1.4}
.pdf-progress progress{display:block;width:100%;height:12px;margin:10px 0;accent-color:#fa654f;border:0;border-radius:99px;overflow:hidden;background:#dce3ed}
.pdf-progress progress::-webkit-progress-bar{background:#dce3ed;border-radius:99px}
.pdf-progress progress::-webkit-progress-value{background:#fa654f;border-radius:99px}
.pdf-progress progress::-moz-progress-bar{background:#fa654f;border-radius:99px}
.pdf-progress progress:not([value]){background:linear-gradient(100deg,#dce3ed 25%,#fa654f 50%,#dce3ed 75%);background-size:200% 100%;animation:pdf-loading 1.5s linear infinite}
.pdf-progress progress:not([value])::-webkit-progress-bar{background:transparent}
.pdf-progress p{font-size:13px;color:#526789;line-height:1.45;margin:0;overflow-wrap:anywhere}
.pdf-progress[data-state=ready]{background:#edf8f1;border-color:#a8d8ba}
.pdf-progress[data-state=ready] progress{accent-color:#2e9f68}
.pdf-progress[data-state=ready] progress::-webkit-progress-value{background:#2e9f68}
.pdf-progress[data-state=ready] progress::-moz-progress-bar{background:#2e9f68}
.pdf-progress[data-state=error]{background:#fff3f0;border-color:#f6b5a9}
.pdf-progress[data-state=error] progress{display:none}
.pdf-progress .button{margin-top:10px}
@keyframes pdf-loading{to{background-position:-200% 0}}
@media(max-width:720px){.pdf-export-panel{bottom:-16px;padding-bottom:16px}.pdf-progress{padding:10px 12px}.pdf-progress label{font-size:14px}}
@media(prefers-reduced-motion:reduce){.pdf-progress progress:not([value]){animation:none}}

.editor-help{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:4px 9px;border:1px solid var(--line);border-radius:30px;text-decoration:none;color:var(--navy);font-size:.85rem;font-weight:650;flex:none}
.editor-help>span:first-child{font-size:1rem;font-weight:800}
.editor-help:hover{border-color:var(--coral);color:#b52f1b}
@media(max-width:720px){.editor-help{width:34px;padding:0;margin-left:auto}.editor-help-text{display:none}.site-header .header-order{margin-left:0}}
