@font-face{font-family:StudioSans;src:url('/css/fonts/Roboto-Regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:StudioSans;src:url('/css/fonts/Roboto-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--ink:#082e4d;--muted:#657787;--line:#dbe3e9;--orange:#ff8200;--paper:#f3f5f7}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:15px/1.5 StudioSans,Arial,sans-serif;background:white}button,input,textarea,select{font:inherit;color:inherit}button,.button-link{border:1px solid #b9cbd9;background:white;border-radius:9px;padding:10px 14px;cursor:pointer;text-decoration:none;transition:background .15s}button:hover{background:#edf3f8}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #3382c0;outline-offset:3px}.primary{background:var(--orange);border-color:var(--orange);color:#162d3d;font-weight:700}.primary:hover{background:#ed7900}.studio-header{height:78px;display:flex;align-items:center;padding:0 30px;gap:28px;border-bottom:1px solid var(--line)}.wordmark{font-size:30px;font-weight:700;color:#f45b27;text-decoration:none;letter-spacing:-1px;line-height:1}.wordmark span{display:block;font-size:10px;letter-spacing:4px;color:var(--muted);margin-top:7px}.title-group{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.title-group input{border:0;font-size:17px;background:transparent;max-width:280px;width:100%;font-weight:700}.preview-badge{border-radius:20px;padding:3px 10px;background:#eef4fa;color:#36617e;font-size:12px}.quiet-link{font-size:13px;color:var(--muted);white-space:nowrap}.prototype-note{text-align:center;padding:9px 18px;background:#fff8ef;color:#745022;font-size:13px}.studio-layout{display:grid;grid-template-columns:88px 300px minmax(0,1fr);min-height:calc(100dvh - 196px)}.tool-rail{border-right:1px solid var(--line);display:flex;flex-direction:column;padding:15px 8px;gap:9px}.tool-rail button{border:0;display:grid;justify-items:center;padding:12px 5px;font-size:12px;background:transparent}.tool-rail button span{font-size:25px;line-height:1.2;margin-bottom:5px}.tool-rail button.active{background:#eaf1f7;color:#082e4d;box-shadow:inset 3px 0 #ff8200}.controls-panel{padding:22px;border-right:1px solid var(--line);overflow:auto;max-height:calc(100dvh - 196px)}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.panel-heading h1{font-size:21px;margin:0}.panel-heading button{display:none}label{display:block;font-size:13px;font-weight:700;margin-bottom:7px}textarea,input[type=text],input[type=number],select{border:1px solid #b9cbd9;border-radius:8px;padding:10px;background:white;max-width:100%}textarea{width:100%;resize:vertical;margin-bottom:12px}input[type=number]{width:100%}input[type=color]{width:100%;height:43px;border:1px solid #b9cbd9;border-radius:8px;padding:5px;background:white}input[type=file]{font-size:12px;max-width:100%;margin-bottom:12px}.controls-panel h2{font-size:15px;overflow-wrap:anywhere}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.two-col button{font-size:12px;padding:8px}.hint{font-size:12px;color:var(--muted);line-height:1.6}hr{border:0;border-top:1px solid var(--line);margin:22px 0}.upload-box{border:1px dashed #8fa9bd;display:grid;text-align:center;gap:10px;border-radius:12px;background:#f6f9fc;padding:25px 12px;cursor:pointer}.upload-box span{font-size:12px;font-weight:400}.workspace{background:var(--paper);display:flex;flex-direction:column;min-width:0;align-items:center;padding:18px 24px 14px}.canvas-toolbar{display:flex;justify-content:space-between;align-items:center;width:100%;gap:10px}.canvas-toolbar button{border:0;background:transparent;padding:7px 8px;font-size:13px}.canvas-toolbar label{display:flex;gap:7px;align-items:center;font-weight:400;font-size:12px;margin:0}.canvas-toolbar select{padding:5px 8px}#canvas-viewport{width:100%;min-height:495px;display:flex;align-items:center;justify-content:center;overflow:auto;flex:1;padding:10px}#stage{position:relative;flex-shrink:0;width:418px;height:480px;background:white;border-radius:12px;overflow:hidden;box-shadow:0 6px 24px #1639530a}#garment-image{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}#stage .canvas-container{position:absolute!important;inset:0}#side-switcher{display:flex;gap:7px;flex-wrap:wrap;justify-content:center;margin-top:10px}#side-switcher button{font-size:12px;padding:7px 12px;border-color:transparent;background:white}#side-switcher button[aria-pressed=true]{background:var(--ink);color:white}#workspace-hint{color:var(--muted);font-size:12px;text-align:center;margin:10px 0 0}.studio-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 28px;border-top:1px solid var(--line);background:white}.studio-footer strong,.studio-footer span{display:block}.studio-footer strong{font-size:14px}.studio-footer span{font-size:12px;color:var(--muted);margin-top:2px}#notice{position:fixed;bottom:92px;left:50%;transform:translateX(-50%);max-width:min(620px,90vw);padding:13px 18px;border:1px solid #d4b57d;background:#fff8e9;border-radius:10px;z-index:10;box-shadow:0 4px 20px #0002;font-size:13px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}#layer-list{padding:0;list-style:none;display:grid;gap:8px}#layer-list button{display:block;width:100%;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.load-error{padding:50px;max-width:700px;margin:auto}.load-error p{margin-bottom:25px}
@media(max-width:950px){.studio-layout{grid-template-columns:72px 260px minmax(0,1fr)}.controls-panel{padding:18px}.studio-header{padding:0 20px;gap:20px}.workspace{padding:14px 12px}}
@media(max-width:720px){.studio-header{height:65px;padding:0 14px;gap:15px}.wordmark{font-size:24px}.wordmark span{font-size:8px}.title-group{gap:5px}.title-group input{font-size:14px}.preview-badge{display:none}.quiet-link{font-size:11px}.prototype-note{font-size:11px;padding:7px 14px}.studio-layout{display:flex;flex-direction:column;min-height:calc(100dvh - 172px)}.tool-rail{order:1;flex-direction:row;border-right:0;border-bottom:1px solid var(--line);padding:4px 12px;gap:4px;justify-content:center}.tool-rail button{display:flex;align-items:center;gap:7px;padding:10px 16px;font-size:12px}.tool-rail button span{font-size:18px;margin:0}.tool-rail button.active{box-shadow:inset 0 -3px #ff8200}.workspace{order:2;padding:9px 10px 12px;flex:1}#canvas-viewport{min-height:0;padding:8px 0}.canvas-toolbar{padding:0 5px}#workspace-hint{font-size:11px}#side-switcher{gap:4px}#side-switcher button{font-size:11px;padding:6px 10px}.controls-panel{position:fixed;bottom:0;left:0;right:0;z-index:20;border:1px solid var(--line);border-radius:20px 20px 0 0;padding:22px 22px 32px;background:white;box-shadow:0 -12px 50px #1234;max-height:65dvh;overflow:auto;display:none}.controls-panel.open{display:block}.panel-heading{margin-bottom:15px}.panel-heading button{display:block;border:0;padding:3px 10px;font-size:24px}.studio-footer{padding:12px 14px;position:sticky;bottom:0;z-index:5}.studio-footer strong{font-size:12px}.studio-footer span{font-size:10px}.studio-footer button{font-size:12px;padding:10px 12px}.title-group input{min-width:0}#notice{bottom:88px}.load-error{padding:24px}}

.draft-actions{display:flex;gap:8px;flex-shrink:0}.studio-footer>div:first-child{min-width:0}.studio-footer #draft-status{overflow-wrap:anywhere}#draft-edit-link{overflow-wrap:anywhere}#draft-versions{margin-top:18px}#draft-versions select{margin-right:6px;margin-bottom:8px}@media(max-width:720px){.draft-actions{gap:5px}.studio-footer{gap:8px}.draft-actions button{font-size:11px;padding:9px 8px}.studio-footer #draft-status{max-width:165px}}

#text-typography select{width:100%}.text-style-buttons button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}#text-bold{font-weight:700}#text-italic{font-style:italic}.alignment-label{margin-top:14px}#text-font-status:empty{display:none}

.artwork-dimensions{padding:12px 14px;margin:14px 0;border:1px solid var(--line);border-radius:10px;background:#f6f9fc}.artwork-dimensions strong{font-size:12px;color:var(--muted)}#artwork-dimensions{margin:3px 0;font-size:16px;font-variant-numeric:tabular-nums}.artwork-dimensions .hint{margin:7px 0 0;font-size:11px}

#flip-horizontal[aria-pressed=true],#flip-vertical[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}

.artwork-search-row{display:flex;gap:6px;margin-bottom:14px}.artwork-search-row input{min-width:0;width:100%;border:1px solid #b9cbd9;border-radius:8px;padding:8px}.artwork-search-row button{padding:8px 10px}#artwork-category{width:100%}.artwork-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.artwork-card{padding:7px;aspect-ratio:1;background:#f6f8fa;overflow:hidden;display:grid;place-items:center}.artwork-card img{width:100%;height:100%;object-fit:contain}.artwork-pagination{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:15px;font-size:11px}.artwork-pagination button{font-size:11px;padding:7px}.artwork-grid[aria-busy=true]{opacity:.5;pointer-events:none}@media(max-width:720px){.tool-rail{justify-content:space-between;padding-inline:5px}.tool-rail button{padding:10px 6px;gap:4px;font-size:11px}.artwork-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

#design-review{border:1px solid var(--line);border-radius:18px;padding:0;width:min(960px,calc(100vw - 40px));max-height:90dvh;color:var(--ink);background:white;box-shadow:0 16px 80px #082e4d33}#design-review::backdrop{background:#082e4d88}.review-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 26px;border-bottom:1px solid var(--line)}.review-heading h1{font-size:24px;margin:0}.review-heading p{font-size:13px;color:var(--muted);margin:5px 0 0;overflow-wrap:anywhere}.review-body{padding:12px 26px 24px}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.review-side{min-width:0;border:1px solid var(--line);border-radius:12px;padding:16px;background:#f8fafc}.review-side h2{font-size:17px;margin:0}.review-side .hint{margin:4px 0 12px}.review-side img{display:block;width:100%;height:auto;aspect-ratio:418/480;object-fit:contain;background:white;border-radius:8px}.review-side a{display:block;text-align:center;margin-top:12px;font-size:13px;background:white}.review-warnings{background:#fff8e9;border:1px solid #e7d7b8;border-radius:10px;padding:10px 14px;margin-bottom:16px;font-size:13px}.review-warnings p{margin:4px 0}.review-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 26px;border-top:1px solid var(--line)}.review-footer button{flex-shrink:0}.review-footer .hint{margin:0}
@media(max-width:720px){.studio-footer{flex-wrap:wrap}.draft-actions{width:100%;justify-content:stretch}.draft-actions button{flex:1}#design-review{width:100%;max-width:100%;max-height:95dvh;margin:auto 0 0;border-radius:18px 18px 0 0}.review-heading{padding:18px}.review-heading h1{font-size:21px}.review-body{padding:10px 18px 18px}.review-grid{grid-template-columns:1fr;gap:14px}.review-footer{padding:14px 18px;flex-wrap:wrap}.review-footer button{width:100%}}

.review-heading{position:sticky;top:0;background:white;z-index:1}.review-footer{position:sticky;bottom:0;background:white;z-index:1}.review-side a{color:var(--ink)}

body.studio-review-open{overflow:hidden}

.review-actions{display:flex;gap:8px;flex-shrink:0}#order-details{border:1px solid var(--line);border-radius:18px;padding:0;width:min(640px,calc(100vw - 40px));max-height:90dvh;color:var(--ink);background:white;box-shadow:0 16px 80px #082e4d33}#order-details::backdrop{background:#082e4d88}.order-subheading{font-size:16px;margin:16px 0 12px}.order-size-grid{display:flex;flex-wrap:wrap;gap:10px}.order-size-grid label{width:56px;text-align:center;font-weight:400}.order-size-grid input{display:block;width:56px;text-align:center;padding:9px 4px;margin-top:5px;font-variant-numeric:tabular-nums;-moz-appearance:textfield}.order-size-grid input::-webkit-inner-spin-button{appearance:none;margin:0}.order-total{display:flex;align-items:center;gap:12px;margin:14px 0 22px}.order-total strong{font-size:20px}#order-country{width:240px;max-width:100%}#order-status{font-size:13px;color:var(--muted)}@media(max-width:720px){.review-actions{width:100%;flex-wrap:wrap}.review-actions button{width:100%}#order-details{width:100%;max-width:100%;max-height:95dvh;margin:auto 0 0;border-radius:18px 18px 0 0}.order-size-grid{gap:8px}.order-size-grid label,.order-size-grid input{width:51px}#order-details .review-footer{flex-wrap:nowrap}#order-details .review-footer button{width:auto;font-size:13px}}

@media(max-width:720px){.order-size-grid{display:grid;grid-template-columns:repeat(4,minmax(0,56px));gap:10px;max-width:254px}.order-size-grid label,.order-size-grid input{width:100%}}

/* Ordering has one detailed panel; the garment uses the remaining workspace. */
.studio-order-open .controls-panel{display:none}
@media(min-width:721px){
 :root{--order-drawer-width:clamp(390px,43vw,600px);--studio-rail-width:88px}
 .studio-layout{padding-right:0;transition:grid-template-columns .24s ease,padding-right .24s ease}
 .tool-rail{grid-column:1;grid-row:1}.controls-panel{grid-column:2;grid-row:1}.workspace{grid-column:3;grid-row:1}
 body.studio-order-open .studio-layout{grid-template-columns:var(--studio-rail-width) 0 minmax(0,1fr);padding-right:var(--order-drawer-width)}
 body.studio-order-open .studio-footer{padding-right:calc(var(--order-drawer-width) + 20px);flex-wrap:wrap}
 #order-details{position:fixed;inset:0 0 0 auto;margin:0;width:var(--order-drawer-width);max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border-width:0 0 0 1px;box-shadow:-8px 0 36px #082e4d22}
 #order-details[open]{display:flex;flex-direction:column;animation:studio-order-enter .24s ease}
 #order-details::backdrop{background:transparent}
 #order-details .review-heading{position:static;padding:22px;flex-shrink:0}
 #order-details .review-heading h1{font-size:22px}
 #order-details .review-body{padding:12px 22px 24px;flex:1;min-height:0;overflow:auto}
 #order-details .review-footer{position:static;padding:18px 22px;flex-shrink:0}
 #order-details .review-footer button{font-size:13px;padding:10px 12px}
 #order-details .order-size-grid{display:flex;flex-wrap:wrap;max-width:none;gap:8px}
 #order-details .order-size-grid label{width:48px}#order-details .order-size-grid input{width:100%}
}
@media(min-width:721px) and (max-width:950px){:root{--studio-rail-width:72px}}
@keyframes studio-order-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.studio-layout{transition:none!important}#order-details[open]{animation:none!important}}

@media(min-width:721px){body.studio-order-open .studio-layout{height:calc(100dvh - 196px);min-height:0}body.studio-order-open .workspace{min-height:0}body.studio-order-open #canvas-viewport{min-height:0}}

.order-print-row{display:flex;align-items:start;gap:12px;margin-bottom:12px}.order-print-row>label:first-child{flex:1;min-width:0}.order-print-row select{display:block;width:100%;margin-top:5px}.order-print-row>label:last-child{width:84px;flex-shrink:0}.order-print-row input{margin-top:5px}.quote-result{border:1px solid var(--line);border-radius:12px;background:#f3f7fa;padding:15px;margin:16px 0}.quote-result>span{font-size:12px;color:var(--muted)}.quote-result p{margin:5px 0}.quote-result strong{font-size:24px}.quote-result .hint{margin-top:12px;font-size:11px}#calculate-quote{margin-top:4px}#quote-status:empty{display:none}

/* Compact quantity cells share their row with the total. */
.order-size-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:8px}
.order-size-heading h2{margin:8px 0 12px}.order-size-heading a{color:var(--ink);font-size:13px;white-space:nowrap;text-underline-offset:3px}
#order-details .order-size-grid{display:flex;flex-wrap:wrap;gap:8px;max-width:none;margin-bottom:22px}
#order-details .order-size-grid label{width:48px;flex:0 0 48px;font-size:13px}
#order-details .order-size-grid input{width:48px;height:42px;padding:8px 3px;font-size:16px}
#order-details .order-total{display:flex;flex-direction:column;align-items:center;justify-content:start;gap:5px;min-width:48px;margin:0;font-size:13px}
#order-details .order-total strong{display:flex;align-items:center;justify-content:center;min-width:48px;height:42px;padding:0 4px;font-size:18px;font-variant-numeric:tabular-nums}
#order-country{display:block;width:210px;margin-top:6px}
@media(max-width:720px){#order-details .order-size-grid{gap:7px}#order-details .order-size-grid label{width:48px;flex-basis:48px}}

#order-details .order-size-grid{display:grid;grid-template-columns:repeat(4,48px)}
@media(min-width:1140px){#order-details .order-size-grid{grid-template-columns:repeat(8,48px)}}

/* Keep the next action visible while the workspace and controls scroll independently. */
body{height:100dvh;display:flex;flex-direction:column;overflow:hidden}
.studio-header,.prototype-note,.studio-footer{flex-shrink:0}
.studio-layout{flex:1;min-height:0;overflow:hidden;grid-template-columns:88px 360px minmax(0,1fr)}
.controls-panel{max-height:none;min-height:0}.workspace{min-height:0}
#canvas-viewport{position:relative;min-height:0;align-items:flex-start;flex:1}
.canvas-toolbar #change-product{border:1px solid #b9cbd9;background:white}
.preview-history{position:absolute;top:10px;left:max(5px,calc(50% - var(--stage-width,418px)/2 - 80px));display:grid;gap:7px;width:70px}
.preview-history button{font-size:12px;padding:7px 3px;background:white}
.studio-footer{position:relative;z-index:5;box-shadow:0 -4px 18px #082e4d08}.draft-actions{align-items:center}
#order-details #order-sizes{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px}
#order-size-chart{align-self:center;color:var(--ink);font-size:13px;white-space:nowrap;text-underline-offset:3px;margin-left:8px}
#product-picker{width:min(820px,calc(100vw - 40px));max-height:90dvh;padding:0;border:1px solid var(--line);border-radius:16px;color:var(--ink)}
#product-picker::backdrop{background:#082e4d88}#product-picker .review-heading h1{font-size:23px}#product-picker .review-heading p{font-size:12px;color:var(--muted);margin:5px 0}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.product-card{padding:0;overflow:hidden;text-align:left}.product-card img{display:block;width:100%;height:170px;object-fit:contain;background:white}.product-card span{display:block;padding:12px;font-size:13px;border-top:1px solid var(--line)}
@media(min-width:721px){body.studio-order-open .studio-layout{height:auto;min-height:0}.workspace{padding-top:12px}}
@media(min-width:721px) and (max-width:1100px){.studio-layout{grid-template-columns:72px 310px minmax(0,1fr)}}
@media(max-width:720px){.studio-layout{min-height:0}.studio-footer{flex-direction:column;align-items:stretch;gap:7px;padding:9px 14px}.studio-footer>div:first-child{display:flex;align-items:baseline;gap:8px}.studio-footer strong{flex:1}.studio-footer #draft-status{max-width:45%;text-align:right;font-size:10px}.draft-actions{display:grid;grid-template-columns:1fr 1fr 1fr}.draft-actions button{font-size:13px;padding:11px 7px}.canvas-toolbar{position:relative;padding-bottom:42px}.preview-history{top:-40px;left:4px;display:flex;width:auto;gap:8px;z-index:1}.preview-history button{padding:6px 10px}#canvas-viewport{overflow:visible}#product-picker{width:calc(100vw - 20px);max-height:90dvh}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-card img{height:130px}#order-details #order-sizes{display:grid;grid-template-columns:repeat(4,48px)}#order-size-chart{grid-column:1/-1;justify-self:start;margin:2px 0 0}}

.order-total-group{display:flex;gap:8px;align-items:center;min-width:0}#order-size-chart{margin-left:0}
@media(max-width:720px){#order-size-chart{grid-column:auto;margin:0;font-size:12px}.order-total-group{width:max-content;gap:6px}}
@media(max-width:360px){.order-total-group{gap:3px}#order-size-chart{font-size:11px}}

@media(max-width:720px){.draft-actions{align-items:stretch}}@media(max-width:360px){.draft-actions button{font-size:12px}}

/* A neutral starting point and a garment-led desktop workspace. */
.start-intro{font-size:17px;color:var(--muted);margin:0 0 28px}.start-actions{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.start-actions button{min-height:145px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;border-color:var(--line);font-size:15px;background:#fff}
.start-actions svg{width:48px;height:48px}.start-actions button:hover{background:#f2f6fa;border-color:#8fa9bd}.start-help{margin-top:32px;max-width:340px}
.panel-heading{gap:12px}.panel-heading h1{flex:1}.panel-heading #back-to-start{display:block;font-size:12px;padding:7px 10px}
#side-switcher button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid transparent;border-radius:11px;padding:6px;flex-shrink:0}
#side-switcher img{width:62px;height:70px;object-fit:contain;background:white;border-radius:6px}
#side-switcher .side-label{font-size:11px;line-height:1.2}#side-switcher button[aria-pressed=true]{background:white;color:var(--ink);border-color:var(--orange);box-shadow:0 0 0 1px var(--orange)}
.side-fallback{display:none}#side-switcher .side-missing .side-fallback{display:flex;align-items:center;justify-content:center;height:70px;width:62px;font-size:10px;color:var(--muted);background:#f0f3f6;border-radius:6px}
@media(min-width:721px){
 .studio-layout{grid-template-columns:88px clamp(400px,34vw,540px) minmax(0,1fr)}
 .controls-panel{padding:30px}.panel-heading h1{font-size:25px}.panel-heading{margin-bottom:30px}
 .workspace{display:grid;grid-template-columns:minmax(0,1fr) 82px;grid-template-rows:auto minmax(0,1fr) auto;align-items:stretch;column-gap:12px;padding:10px 14px 10px 20px}
 .canvas-toolbar{grid-column:1/-1;margin-bottom:6px}#canvas-viewport{grid-column:1;grid-row:2;padding:10px 0 0 80px;min-width:0}
 #side-switcher{grid-column:2;grid-row:2;flex-direction:column;justify-content:flex-start;align-items:stretch;flex-wrap:nowrap;gap:7px;margin:10px 0 0;min-height:0;overflow:auto}
 #workspace-hint{grid-column:1/-1;margin-top:6px}.preview-history{left:max(4px,calc(50% - var(--stage-width,418px)/2 - 40px))}
 body.studio-order-open #canvas-viewport{padding-left:0}body.studio-order-open .preview-history{display:none}
}
@media(min-width:721px) and (max-width:1100px){.studio-layout{grid-template-columns:72px 340px minmax(0,1fr)}.controls-panel{padding:22px}.start-actions{gap:12px}.start-actions button{min-height:125px;font-size:13px}.workspace{padding-left:10px;padding-right:8px;column-gap:6px;grid-template-columns:minmax(0,1fr) 74px}#side-switcher img{width:56px;height:64px}}
@media(min-width:721px) and (max-width:900px){.studio-layout{grid-template-columns:72px 300px minmax(0,1fr)}}
@media(max-width:720px){#side-switcher{flex-wrap:nowrap;gap:6px;margin-top:6px}#side-switcher button{width:66px;padding:4px;gap:3px}#side-switcher img{width:42px;height:46px}#side-switcher .side-label{font-size:10px}#side-switcher .side-missing .side-fallback{width:42px;height:46px;font-size:9px}#canvas-viewport{padding:6px 0}.start-actions button{min-height:110px}.start-actions svg{width:36px;height:36px}.start-intro{font-size:15px;margin-bottom:18px}}

/* Offset navy tool block, with garment controls anchored beside the preview. */
.studio-layout{padding:12px 16px;background:var(--paper)}
.tool-rail{background:var(--ink);border:0;border-radius:15px 0 0 15px;color:white;min-height:0;overflow:auto}
.tool-rail button{color:white}.tool-rail button:hover{background:#174a6d}.tool-rail button.active{background:#fff;color:var(--ink);box-shadow:inset 3px 0 var(--orange)}
.tool-rail .change-product-tool{margin-top:auto;background:var(--orange);color:#082e4d;font-weight:700;border-radius:9px}.tool-rail .change-product-tool:hover{background:#ef7900}
.controls-panel{background:white;border-radius:0 15px 15px 0}.tool-rail button:focus-visible{outline-color:#ffb24d}
.product-category-row{display:flex;align-items:end;gap:10px;margin-top:14px}.product-category-row>div{flex:1;min-width:0}.product-category-row select{width:100%}.product-category-row button{white-space:nowrap}
.product-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:18px}.product-detail-grid>img{width:100%;max-height:380px;object-fit:contain}.product-detail-grid h2{margin-top:0}.product-detail-grid h3{font-size:15px;margin-bottom:6px}.product-detail-grid p{font-size:13px}.product-colours{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 22px}.product-colours button{width:32px;height:32px;padding:0;border-radius:50%;border:1px solid #b9cbd9}.product-colours button[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:3px}
@media(min-width:721px){
 .studio-header{height:64px}.prototype-note{font-size:11px;padding:4px 18px}.studio-footer{padding-top:10px;padding-bottom:10px}
 .workspace{position:relative;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;padding:0 4px 0 12px}
 .canvas-toolbar{position:absolute;right:5px;top:0;width:auto;z-index:2;margin:0}.canvas-toolbar label{font-size:11px}.canvas-toolbar select{padding:3px 6px}
 #canvas-viewport{grid-column:1;grid-row:1;padding:4px 100px 0 80px;align-items:flex-start}
 #side-switcher{position:absolute;width:76px;max-height:calc(100% - 26px);margin:0;grid-column:auto;grid-row:auto;gap:6px}
 #workspace-hint{grid-row:2;margin:2px 0;font-size:11px}.preview-history{top:4px;left:4px}
 body.studio-order-open #canvas-viewport{padding:4px 90px 0 0}
}
@media(max-width:720px){
 .studio-layout{padding:8px 8px 0}.tool-rail{border-radius:12px;padding:5px;gap:2px;flex-shrink:0;overflow:visible;align-items:stretch}
 .tool-rail button{flex:1;min-width:0;padding:6px 1px;font-size:10px;display:flex;flex-direction:column;justify-content:center;gap:3px;line-height:1.1}
 .tool-rail button span{font-size:19px;margin:0}.tool-rail .change-product-tool{margin-top:0;font-size:9px;white-space:normal}.workspace{padding-left:0;padding-right:0}.controls-panel{border-radius:18px 18px 0 0}
 .product-detail-grid{grid-template-columns:1fr;gap:12px}.product-detail-grid>img{max-height:220px}.product-category-row{flex-wrap:wrap}.product-category-row>div{min-width:180px}
}

#product-detail-description:empty{display:none}

@media(min-width:721px){.tool-rail button{padding-top:10px;padding-bottom:10px}}

/* Mobile: garment first, actions above and tools below. Desktop remains unchanged. */
.mobile-header-actions,#mobile-more,#mobile-start{display:none}
@media(max-width:720px){
 .studio-header{height:62px;min-height:62px;padding:0 12px;gap:10px}.wordmark{font-size:23px}.wordmark span{font-size:7px;letter-spacing:3px;margin-top:4px}
 .studio-header .title-group,.studio-header #old-studio,.prototype-note{display:none}
 .mobile-header-actions{display:flex;gap:8px;margin-left:auto}.mobile-header-actions button{min-height:42px;padding:9px 14px;font-size:13px;border-radius:22px}
 .studio-layout{padding:0;gap:0;min-height:0}.workspace{order:0;position:relative;padding:0;min-height:0;overflow:hidden;flex:1}
 .tool-rail{order:2;min-height:76px;border-radius:0;padding:5px 5px max(7px,env(safe-area-inset-bottom));gap:2px;z-index:6;flex:none}
 .tool-rail button{font-size:11px;min-height:60px;flex:1;border-radius:9px;gap:5px}.tool-rail button span{font-size:24px}
 .tool-rail [data-panel=layers],.tool-rail [data-panel=open]{display:none}.tool-rail [data-panel=text]{order:2}.tool-rail [data-panel=upload]{order:1}.tool-rail [data-panel=artwork]{order:3}
 .tool-rail .change-product-tool{order:0;font-size:10px;background:#174a6d;color:white}.tool-rail #mobile-more{display:flex;order:4}
 .canvas-toolbar{position:absolute;right:10px;top:10px;width:auto;padding:0;z-index:2}.canvas-toolbar label{font-size:0}.canvas-toolbar select{font-size:11px;padding:7px;background:#ffffffeb}
 #canvas-viewport{position:relative;min-height:0;flex:1;width:100%;padding:0 6px;overflow:hidden;align-items:center}
 .preview-history{position:absolute;left:10px;top:10px;gap:5px;z-index:2}.preview-history button{font-size:11px;padding:9px;background:#ffffffed;border-radius:20px}
 #stage{border-radius:0;box-shadow:none}#side-switcher{flex:none;margin:0;padding:5px 4px;gap:8px;max-width:100%}#side-switcher button{width:58px;padding:3px;gap:2px;border-radius:8px}#side-switcher img{width:30px;height:34px}#side-switcher .side-label{font-size:9px}
 #workspace-hint{display:none}.studio-footer{padding:5px 12px;min-height:28px;flex:none;box-shadow:none;order:0}.studio-footer .draft-actions{display:none}.studio-footer>div:first-child{width:100%;gap:6px}.studio-footer strong{font-size:10px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.studio-footer #draft-status{font-size:9px;max-width:55%;line-height:1.2}
 #mobile-start:not([hidden]){position:absolute;display:grid;gap:12px;width:min(230px,65%);left:50%;top:48%;transform:translate(-50%,-50%);z-index:3}
 #mobile-start button{padding:13px 14px;border-radius:28px;border:1px solid var(--ink);background:#fffffff5;font-size:16px;font-weight:700;box-shadow:0 3px 12px #082e4d12}#mobile-start button:first-child{background:var(--ink);color:white}
 .controls-panel{bottom:0;z-index:20;max-height:72dvh;padding:20px 20px max(24px,env(safe-area-inset-bottom));border-radius:20px 20px 0 0}.mobile-secondary-tools{display:grid;gap:12px}.mobile-secondary-tools button{text-align:left;padding:16px}
 #notice{bottom:90px}#order-details{max-height:93dvh}
}

@media(max-width:720px){.controls-panel.open ~ .workspace #mobile-start{display:none}.tool-rail .change-product-tool{font-size:11px;line-height:1.2}}

.mobile-product-label{display:none}
.tool-rail .desktop-product-label{font-size:inherit;line-height:inherit;margin:0}
@media(max-width:720px){.tool-rail .desktop-product-label{display:none}.tool-rail .mobile-product-label{display:inline;font-size:11px;margin:0}.mobile-secondary-tools{margin-top:16px}#mobile-design-name{width:100%}}

/* A compact view selector frees the garment area on phones. */
#mobile-side-toggle{display:none}
@media(max-width:720px){
 #mobile-side-toggle{display:flex;align-items:center;gap:9px;position:absolute;right:10px;top:10px;z-index:4;min-height:44px;padding:9px 13px;border-radius:24px;background:#fffffff5;box-shadow:0 2px 8px #082e4d09;font-size:12px;font-weight:700}
 #mobile-side-toggle>span:last-child{font-size:23px;line-height:1}#mobile-side-toggle[aria-expanded=true]{border-color:var(--ink)}
 .canvas-toolbar{top:auto;bottom:12px;right:10px}.canvas-toolbar select{min-height:38px;border-radius:20px}
 #side-switcher{display:none;position:absolute;top:62px;right:10px;z-index:5;width:170px;max-height:calc(100% - 76px);overflow:auto;padding:6px;margin:0;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 30px #082e4d22;flex-direction:column;gap:3px}
 .workspace.side-menu-open #side-switcher{display:flex}
 #side-switcher button{width:100%;min-height:44px;flex-direction:row;justify-content:space-between;padding:10px 12px;border:0;background:white;box-shadow:none;text-align:left}
 #side-switcher img,#side-switcher .side-fallback{display:none!important}#side-switcher .side-label{font-size:13px}
 #side-switcher button[aria-pressed=true]{background:#eef4fa;box-shadow:none;border:0}#side-switcher button[aria-pressed=true]::after{content:'\2713';font-size:16px;color:var(--ink)}
}

/* An uninterrupted garment workspace; white photos blend without recolouring. */
.studio-layout,.workspace{background:#fff}
#stage{background:transparent;border-radius:0;box-shadow:none}

/* Give the garment a higher position and balance it towards the workspace centre. */
@media(min-width:721px){.workspace{margin-top:-12px}#canvas-viewport{padding:4px 148px 0 32px}}
@media(min-width:721px) and (max-width:1100px){#canvas-viewport{padding:4px 124px 0 56px}}
@media(min-width:721px){.preview-history{z-index:3}}

/* Product identity stays visible beside the main next actions. */
.product-summary{display:flex;align-items:center;gap:16px;flex:1;min-width:0}.product-information{min-width:0}.product-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 16px}
.studio-footer .product-title strong{font-size:18px;font-weight:700;line-height:1.3}.product-title #summary-change-product{border:0;border-radius:0;background:none;padding:0;text-decoration:underline;text-underline-offset:3px;font-size:13px;white-space:nowrap}
#summary-product-image{width:54px;height:62px;object-fit:contain;flex:none;border-radius:8px;border-bottom:3px solid var(--orange);background:white}
.studio-footer .summary-colour{display:flex;align-items:center;gap:8px;margin-top:5px}.studio-footer #summary-colour-swatch{width:17px;height:17px;border:1px solid #b9cbd9;border-radius:50%;flex:none;margin:0}.studio-footer #summary-colour-label{font-size:12px;margin:0}.studio-footer #draft-status{font-size:11px;margin-top:3px}
.zoom-icon{width:25px;height:25px;flex:none}
@media(min-width:721px){
 .studio-footer{min-height:96px;padding:12px 24px;gap:22px;border-top:1px solid #cedae3;box-shadow:0 -4px 18px #082e4d08}
 #side-switcher{max-height:calc(100% - 120px)}
 .canvas-toolbar{right:auto;bottom:auto;width:76px;padding:10px 4px;border:1px solid var(--line);border-radius:12px;background:white;justify-content:center}
 .canvas-toolbar label{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px}
 .canvas-toolbar select{width:64px;font-size:11px;padding:3px 2px;border-color:transparent;background:#f3f5f7;border-radius:6px}
}
@media(min-width:721px) and (max-width:1100px){.studio-footer{gap:12px;padding-inline:16px}.studio-footer .product-title strong{font-size:15px}.product-summary{gap:10px}.product-title{gap:3px 10px}.draft-actions button{font-size:12px;padding:10px}}
@media(max-width:720px){
 #summary-product-image,.summary-colour,.product-title #summary-change-product,.canvas-toolbar .zoom-icon,.canvas-toolbar .zoom-label{display:none!important}
 .studio-footer .product-summary{gap:0}.product-information{display:flex;align-items:baseline;justify-content:space-between;width:100%;gap:8px}.product-title{min-width:0;flex:1;display:block}.studio-footer .product-title strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studio-footer #draft-status{font-size:9px;margin:0}
}

@media(min-width:721px){.canvas-toolbar{grid-column:auto;grid-row:auto}}
@media(max-width:380px){#order-details .review-footer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}#order-details .review-footer button{width:100%;min-width:0}#order-details #add-studio-cart{grid-column:1/-1}}

#order-details .review-footer{flex-wrap:wrap}#cart-status{flex:0 0 100%;margin:0;font-size:12px;line-height:1.4}@media(max-width:380px){#cart-status{grid-column:1/-1}}

/* One contextual editor for text and images. */
#selection-controls>.edit-item-heading{display:flex;justify-content:flex-end;margin:-8px 0 12px}#selected-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.edit-item-heading button{font-size:12px;padding:6px 10px}#selected-text{font-size:18px;text-align:center;margin:0;min-height:76px}#live-text-note{margin:5px 0 12px}
#selection-controls details{border-bottom:1px solid var(--line);padding:12px 0}#selection-controls summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}#selection-controls summary::after{content:'+';font-size:20px}#selection-controls details[open]>summary::after{content:'−'}#selection-controls summary strong{font-size:13px;font-weight:500;color:var(--muted);margin-left:auto}#selection-controls details[open]>summary{margin-bottom:14px}
#font-search{width:100%;border:1px solid #b9cbd9;border-radius:8px;padding:9px;margin-bottom:10px}#font-previews{display:grid;gap:7px;max-height:280px;overflow:auto}#font-previews button{display:grid;gap:3px;text-align:left;padding:10px 12px;background:#f7f9fb;overflow:hidden}#font-previews button>span{font-size:25px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#font-previews small{font-size:11px;color:var(--muted)}#font-previews button[aria-pressed=true]{border-color:var(--orange);box-shadow:inset 3px 0 var(--orange)}
.text-format-row{display:flex;gap:8px;margin:12px 0}.text-format-row button{padding:7px 12px;font-size:13px}.text-format-row select{flex:1;min-width:0;padding:7px;font-size:13px}.edit-row{display:flex;justify-content:space-between;align-items:center;gap:14px}.edit-row>label{margin:0}.edit-row input[type=color]{width:56px;height:34px}.edit-row label span{font-size:12px;font-weight:400;color:var(--muted);margin-left:7px}.editor-swatches{display:flex;flex-wrap:wrap;gap:9px;margin:10px 3px 14px}.editor-swatches button{width:27px;height:27px;border-radius:50%;border:1px solid #aab9c4;padding:0}.editor-swatches button[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:3px}#fill-controls{margin:14px 0}
#selection-controls .artwork-dimensions{padding:12px;margin:12px 0;background:#f8fafc}#selection-controls .artwork-dimensions select{padding:4px 7px;font-size:12px}.dimension-inputs{display:grid;grid-template-columns:1fr auto 1fr;gap:9px;align-items:center;margin-top:10px}.dimension-inputs label{font-size:12px;margin:0}.dimension-inputs input{padding:8px;margin-top:4px;font-variant-numeric:tabular-nums}#artwork-dimensions{font-size:11px;color:var(--muted);margin-top:7px}.quality-warning{color:#9b4900!important}
.rotation-controls{display:grid;grid-template-columns:auto minmax(70px,1fr) 66px;gap:12px;align-items:center;margin:14px 0}.rotation-controls label{margin:0;font-weight:400}.rotation-controls input[type=number]{padding:7px}#selection-controls input[type=range]{width:100%;accent-color:var(--ink);min-height:30px}#shape-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}#shape-presets button{display:grid;place-items:center;padding:5px;font-size:29px}#shape-presets span{font-size:11px}#shape-presets button[aria-pressed=true]{border-color:var(--orange);background:#fff7ef}#curve-settings{margin-top:14px}#split-text{font-size:12px}
.selection-actions{display:flex;gap:7px;margin-top:16px}.selection-actions button{padding:8px;font-size:12px;flex:1}#more-item-options summary{color:var(--muted)}#font-size-control{display:flex;align-items:center;gap:10px;margin-top:14px}#font-size-control label{font-size:12px;font-weight:400}#font-size-control input{width:90px;padding:7px}
#image-tools .two-col{margin-top:10px}.crop-inputs{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.crop-inputs label{font-size:11px}.crop-inputs input{padding:7px 4px}#crop-preview{display:block;max-width:100%;width:100%;height:140px;object-fit:contain;background:repeating-conic-gradient(#edf0f3 0% 25%,#fff 0% 50%) 50% / 16px 16px;margin:10px 0}body.file-dragging .workspace{outline:3px dashed var(--orange);outline-offset:-8px}
@media(max-width:720px){#selection-controls>.edit-item-heading{margin:0 0 10px}.controls-panel.open{max-height:62dvh}.editor-swatches button{width:31px;height:31px}#shape-presets button{min-height:57px}.rotation-controls{grid-template-columns:auto minmax(60px,1fr) 62px}.selection-actions{position:sticky;bottom:-20px;background:#fff;padding:10px 0;margin-bottom:0}#more-item-options{margin-bottom:12px}.crop-inputs{grid-template-columns:repeat(2,1fr)}}

#selected-text{min-height:60px;font-size:17px}#live-text-note{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#artwork-dimensions-note{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#selection-controls details{padding:10px 0}.text-format-row{margin:9px 0}#fill-controls{margin:10px 0}.editor-swatches{margin:8px 3px 10px}.selection-actions button{min-width:0;font-size:11px;padding:7px}#image-resolution{margin-bottom:0}.panel-heading{margin-bottom:15px}

/* Compact side thumbnails with a single underline and no nested scrollbars. */
@media(min-width:721px){
 #side-switcher{width:64px;max-height:none;overflow:visible;gap:6px;margin:0;align-items:stretch}
 #side-switcher button{width:64px;padding:3px 4px 5px;gap:3px;min-width:0;border:0;border-bottom:3px solid transparent;border-radius:0;box-shadow:none;background:white;color:var(--ink)}
 #side-switcher button[aria-pressed=true]{border:0;border-bottom:3px solid var(--orange);border-radius:0;box-shadow:none;background:white;color:var(--ink)}
 #side-switcher img,#side-switcher .side-missing .side-fallback{width:48px;height:var(--side-thumbnail-height,54px);border-radius:0}
 #side-switcher .side-label{font-size:11px;line-height:12px;white-space:nowrap}
 .canvas-toolbar{width:64px;padding:7px 2px}.canvas-toolbar select{width:56px}
}

#final-save{width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:12px;color:var(--ink)}#final-save::backdrop{background:#082e4d66}#final-save input{display:block;width:100%;box-sizing:border-box;margin:8px 0 18px}#final-save h1{font-size:24px;margin:0}#final-save .review-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

#final-save .save-choice{display:flex;align-items:center;gap:10px;margin:12px 0}#final-save .save-choice input{width:20px;height:20px;margin:0;flex-shrink:0}#final-save fieldset{border:1px solid #d5dfe8;border-radius:8px;padding:10px 14px;margin-bottom:20px}#save-confirmation{width:min(540px,calc(100vw - 24px));padding:0;border:0;border-radius:12px;color:var(--ink)}#save-confirmation input{width:100%;margin:10px 0}#save-confirmation label{display:block;margin-top:24px}#save-confirmation h1{font-size:24px}#save-confirmation .review-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

.order-add-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.additional-product-card{border:1px solid #cbd9e4;border-radius:10px;padding:16px;margin:16px 0}.additional-product-heading{display:flex;align-items:center;gap:12px;margin-bottom:12px}.additional-product-heading img{width:80px;max-height:100px;object-fit:contain}.additional-product-heading div{flex:1}.additional-product-heading h3{margin:0;font-size:17px}.additional-product-heading p{margin:6px 0;font-size:13px}.additional-product-card .order-size-grid{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.additional-product-card label{display:block;margin:10px 0}.additional-product-card .order-size-grid label{width:48px}.additional-product-card input[type=number]{max-width:90px}.additional-product-card select{max-width:100%;display:block}@media(max-width:480px){.additional-product-heading{flex-wrap:wrap}.additional-product-heading div{min-width:140px}}

@media(max-width:380px){#order-details #add-studio-cart{grid-column:auto}#order-details #checkout-studio{grid-column:auto}}

#order-summary{padding:0;border:1px solid var(--line);border-radius:18px;width:min(920px,calc(100vw - 32px));max-height:92dvh;color:var(--ink)}#order-summary::backdrop{background:#082e4d88}.order-summary-item{border-bottom:1px solid var(--line);padding:12px 0}.order-summary-item h2{font-size:19px}.summary-previews{display:flex;gap:12px;overflow-x:auto}.summary-previews figure{margin:0;flex:0 0 130px;text-align:center}.summary-previews img{width:130px;aspect-ratio:418/480;object-fit:contain}.summary-grand-total{font-size:23px;font-weight:700}#order-summary .review-footer{justify-content:flex-end}@media(max-width:720px){#order-summary{width:100%;max-width:100%;margin:auto 0 0;max-height:96dvh}#order-summary .review-footer{flex-wrap:wrap}#order-summary .review-footer button{width:100%}}

#studio-products{display:flex;gap:8px;overflow-x:auto;padding:8px 16px;background:#fff;border-top:1px solid var(--line);flex-shrink:0}#studio-products button{white-space:nowrap;font-size:12px;padding:8px 12px}#studio-products [aria-pressed=true],#primary-product-view.is-active{border-color:#f58200;box-shadow:inset 0 -3px #f58200}.additional-product-card.is-active{border-color:#f58200;box-shadow:inset 3px 0 #f58200}.order-size-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap}

#studio-products button{display:inline-flex;align-items:center;gap:7px}#studio-products img{object-fit:contain;border-radius:4px;flex-shrink:0}.additional-product-heading img{cursor:pointer}

/* Itemized prices and size totals must fit inside each product card. */
#order-details #order-sizes{display:flex;flex-wrap:wrap;max-width:100%}#order-details .order-total-group{flex:1 0 100%;width:auto;max-width:100%;flex-wrap:wrap;gap:12px}#order-details .order-total-group .hint{white-space:normal}#order-details .additional-product-heading>div{min-width:0}#order-details .additional-product-heading h3{overflow-wrap:anywhere}#order-details .product-price{border-top:1px solid var(--line);padding-top:12px;font-size:14px;color:var(--ink);font-weight:600}#order-details #quote-total{font-size:20px;font-weight:700}#primary-product-image{cursor:default}@media(max-width:480px){#order-details .additional-product-card{padding:12px}#order-details .additional-product-heading{gap:10px}#order-details .additional-product-heading img{width:60px;max-height:80px}#order-details .additional-product-heading>div{flex:1;min-width:0}#order-details .additional-product-heading h3{font-size:16px}#order-details .additional-product-heading button{font-size:12px;padding:8px}#order-details .additional-product-heading>button{margin-left:auto}#order-details .order-total-group{gap:10px}}

/* Compact garment navigation and collapsible quantity cards. */
#studio-products .studio-product-option{flex:0 0 auto;width:188px;white-space:normal;text-align:left;min-height:54px;padding:7px 9px}#studio-products .studio-product-copy{display:grid;min-width:0;gap:3px}#studio-products .studio-product-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}#studio-products .studio-product-colour{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:11px;color:var(--muted)}#studio-products .studio-product-colour i{width:12px;height:12px;border:1px solid #b9cbd9;border-radius:50%;flex-shrink:0}#studio-products .studio-product-option[aria-pressed=true]{background:#fff6e8;border-color:var(--orange)}#studio-products .studio-product-option[aria-pressed=true] .studio-product-colour{color:var(--ink)}.product-size-details{border-top:1px solid var(--line);margin-top:12px}.product-size-details>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;min-height:44px;cursor:pointer;font-size:13px;font-weight:700;list-style:none}.product-size-details>summary::-webkit-details-marker{display:none}.product-size-details>summary:after{content:"+";font-size:20px}.product-size-details[open]>summary:after{content:"-"}.product-size-details>summary span:nth-child(2){margin-left:auto;color:var(--muted);font-weight:400}.product-size-details>summary:focus-visible{outline:3px solid #3382c0;outline-offset:2px}.product-size-fields{padding-top:4px}@media(max-width:720px){#studio-products{padding:6px 10px;gap:6px}#studio-products .studio-product-option{width:162px;min-height:50px}#studio-products .studio-product-option img{width:22px;height:28px}#studio-products .studio-product-copy strong{font-size:11px}#studio-products .studio-product-colour{font-size:10px}.product-size-details>summary{font-size:12px}#order-details .product-price{margin-bottom:0}}

#final-design-ideas{margin:20px 0;padding:16px;border:1px solid var(--line);border-radius:10px}#final-design-ideas select,#final-design-ideas input{display:block;width:100%;margin-bottom:12px}#final-design-ideas legend{font-weight:700;font-size:16px}

/* Names and numbers roster: compact cards avoid horizontal scrolling on phones. */
.team-roster-row{border:1px solid #dbe3e9;border-radius:10px;padding:12px;margin:12px 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.team-roster-row strong,.team-roster-row label:first-of-type{grid-column:1/-1}.team-roster-row input,.team-roster-row select{width:100%;min-width:0}.team-roster-row label{min-width:0}#team-total{font-weight:600}#team-error{color:#9b3e00}

/* Comfortable roster controls and 16px typing avoid small mobile targets. */
@media(max-width:720px){.team-roster-row input,.team-roster-row select{min-height:44px;font-size:16px}.team-roster-row button{min-height:44px}#team-paste{font-size:16px}}
/* Personalisation styling stays separate from the quantity-based assignment list. */
.team-style-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.team-style-field{min-width:0;padding:12px;border:1px solid #c3d2de;border-radius:8px}
.team-style-field select,.team-style-field input:not([type=checkbox]){width:100%;min-height:44px;box-sizing:border-box}
.team-enable{display:flex;align-items:center;gap:8px;font-weight:700;min-height:44px}
.team-enable input{width:20px;height:20px}
#team-list{position:fixed;inset:70px 20px 20px auto;margin:0;width:min(760px,calc(100vw - 32px));height:calc(100dvh - 90px);max-height:92dvh;padding:0;border:1px solid #c3d2de;border-radius:16px;color:var(--ink);background:white}
#team-list[open]{display:flex;flex-direction:column}
#team-list .review-body{overflow:auto;flex:1;min-height:0}
#team-list .review-heading,#team-list .review-footer{flex-shrink:0;position:static}
#team-list::backdrop{background:#082e4d44}
#team-list .team-roster-row{display:grid;grid-template-columns:auto auto minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end;padding:12px;border:1px solid #cad7df;border-radius:8px;margin:8px 0}
#team-list input,#team-list select,#team-list button{min-height:44px;font-size:16px;box-sizing:border-box}
#team-list label{min-width:0}
#team-list label input{width:100%;min-width:0}
#team-list .team-row-extra{border-color:#bf4e00;background:#fff7ed}
#team-person-preview img{max-width:100%;max-height:280px}
.team-roster-size{margin-top:24px}
@media(max-width:600px){#team-list{inset:0;width:100%;height:100dvh;max-height:100dvh;max-width:100%;margin:0;border:0;border-radius:0}#team-list .team-roster-row{grid-template-columns:1fr 1fr}#team-list .team-roster-row>strong{grid-column:1}#team-list .team-roster-row>button{grid-column:1/-1}.team-style-grid{gap:8px}.team-style-field{padding:8px}}

/* Simple Studio shell: six visible tools, four starting choices, one product/action bar. */
.tool-rail{overflow:visible;gap:2px;padding:8px 5px}
.tool-rail button{min-height:54px;padding:8px 3px;line-height:1.2;border-radius:0}
.tool-rail button>span:first-child{font-size:24px;margin-bottom:5px}
.tool-rail .change-product-tool{margin-top:0;background:transparent;color:white;font-weight:400;border-radius:0}
.tool-rail .change-product-tool:hover{background:#174a6d}
.tool-rail #mobile-more{display:grid;margin-top:auto}
.controls-panel[data-active-panel=home]{display:flex;flex-direction:column}
.controls-panel[data-active-panel=home] [data-panel-content=home]{display:flex;flex:1;flex-direction:column}
.controls-panel[data-active-panel=home] .panel-heading{margin:10px 0 25px}
.controls-panel[data-active-panel=home] .panel-heading h1{font-size:28px;line-height:1.2;letter-spacing:-.6px}
.start-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}
.start-actions button{border:0;min-height:122px;padding:14px 6px;gap:14px;font-size:16px;font-weight:400;border-radius:10px}
.start-actions svg{height:56px;width:56px;flex-shrink:0}
.start-actions button:hover{background:#f4f6f8}
.start-upload-help{margin-top:auto;padding-top:35px;font-size:13px;max-width:320px}
.start-upload-help strong{font-size:15px}.start-upload-help p{margin:8px 0 0;color:var(--muted)}
.studio-footer{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:20px;min-height:84px;padding:10px 18px;box-shadow:none}
.studio-footer #studio-products{display:flex;flex:1 1 auto;min-width:0;align-items:center;padding:0;border:0;gap:12px;overflow-x:auto;background:transparent}
.studio-footer #studio-products .studio-product-option{width:210px;min-height:60px;padding:5px 9px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;box-shadow:none}
.studio-footer #studio-products .studio-product-option[aria-pressed=true]{border-bottom-color:var(--orange);background:#f8fafb}
.studio-footer #studio-products .studio-product-option img{width:38px;height:46px}
.studio-footer #studio-products .studio-product-copy strong{font-size:13px}
.studio-footer #studio-products .studio-product-colour{font-size:12px}
.studio-footer #studio-products .studio-add-product{flex:0 0 auto;border-radius:25px;min-height:44px;padding:10px 14px;background:white;font-size:13px;font-weight:700}
.studio-footer .draft-actions{display:flex;flex:0 0 auto;width:auto;gap:12px}
.studio-footer .draft-actions button{min-height:46px;border-radius:25px;font-size:14px;padding:11px 20px;white-space:nowrap}
.mobile-secondary-tools [data-panel] span{display:none}
@media(min-width:721px){
 .studio-layout{grid-template-columns:86px clamp(310px,30vw,440px) minmax(0,1fr);padding:12px 16px}
 .controls-panel{padding:26px 28px}.controls-panel .panel-heading h1{font-size:23px}
 .workspace{margin-top:0}
 .tool-rail{justify-content:flex-start}.tool-rail button{font-size:12px}
 body.studio-order-open .studio-footer{padding-right:18px;flex-wrap:nowrap}
}
@media(min-width:721px) and (max-height:700px){
 .tool-rail button{min-height:46px;padding:5px 3px;font-size:11px}.tool-rail button>span:first-child{font-size:21px;margin-bottom:3px}
 .controls-panel{padding:20px 24px}.controls-panel[data-active-panel=home] .panel-heading{margin:4px 0 20px}
 .controls-panel[data-active-panel=home] .panel-heading h1{font-size:25px}
 .start-actions{gap:12px}.start-actions button{min-height:105px;gap:10px}.start-actions svg{width:46px;height:46px}
 .start-upload-help{padding-top:20px;font-size:12px}
}
@media(min-width:721px) and (max-width:1000px){
 .studio-layout{grid-template-columns:72px 290px minmax(0,1fr);padding:8px}
 .controls-panel{padding:20px}.controls-panel[data-active-panel=home] .panel-heading h1{font-size:23px}
 .studio-footer{gap:10px;padding-inline:12px}.studio-footer .draft-actions{gap:8px}.studio-footer .draft-actions button{font-size:12px;padding:10px 14px}
 .studio-footer #studio-products .studio-product-option{width:170px}
 .studio-footer #studio-products .studio-add-product{font-size:12px;padding:9px}
}
@media(max-width:720px){
 .studio-layout{padding:0}.tool-rail{min-height:72px;padding:4px 3px max(6px,env(safe-area-inset-bottom));gap:0}
 .tool-rail button{min-width:0;min-height:58px;padding:5px 1px;font-size:10px;flex:1}
 .tool-rail [data-panel=upload]{order:0}.tool-rail [data-panel=text]{order:1}.tool-rail [data-panel=artwork]{order:2}.tool-rail [data-panel=team]{order:3}
 .tool-rail .change-product-tool{order:4;font-size:10px;background:transparent}.tool-rail #mobile-more{display:flex;order:5;margin-top:0}
 .tool-rail button>span:first-child{font-size:21px;margin:0}.tool-rail .mobile-product-label{font-size:10px}
 .controls-panel[data-active-panel=home]:not(.open){display:none}.controls-panel[data-active-panel=home].open{display:flex}
 .controls-panel[data-active-panel=home] .panel-heading{margin:0 0 15px}.controls-panel[data-active-panel=home] .panel-heading h1{font-size:23px}
 .start-actions button{font-size:14px;min-height:90px;gap:8px}.start-actions svg{height:38px;width:38px}.start-upload-help{padding-top:20px}
 .studio-footer{min-height:60px;padding:5px 8px;gap:5px;flex-wrap:nowrap;order:0}
 .studio-footer #studio-products{gap:7px;padding:0}.studio-footer #studio-products .studio-product-option{width:160px;min-height:45px;padding:3px 6px}
 .studio-footer #studio-products .studio-product-option img{width:24px;height:31px}.studio-footer #studio-products .studio-product-copy strong{font-size:11px}.studio-footer #studio-products .studio-product-colour{font-size:10px}
 .studio-footer #studio-products .studio-add-product{font-size:11px;padding:8px;min-height:44px}
 .studio-footer .draft-actions{display:none}
 .mobile-header-actions button{min-height:44px}.mobile-header-actions #mobile-price{font-size:12px;padding-inline:12px}
}

.footer-catalogue{flex:1;min-width:0}.studio-footer .footer-catalogue #draft-status{display:block;font-size:11px;color:var(--muted);margin:3px 0 0;max-width:none;text-align:left;line-height:1.2}
@media(min-width:721px) and (max-height:620px){.tool-rail{padding-block:3px;gap:0}.tool-rail button{font-size:10px;min-height:40px;padding:3px 2px}.tool-rail button>span:first-child{font-size:18px;margin-bottom:2px}.start-actions button{min-height:85px}.start-actions svg{width:38px;height:38px}.start-upload-help{font-size:11px;padding-top:12px}}
@media(max-width:720px){.studio-footer .footer-catalogue{width:100%}.studio-footer .footer-catalogue #draft-status{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}}
.studio-footer>.footer-catalogue{display:block}
.tool-rail .tool-icon{display:flex;align-items:center;justify-content:center}.tool-rail .tool-icon svg{width:25px;height:25px}.tool-rail .team-tool-icon{display:flex;flex-direction:column;align-items:center;font-size:19px!important;line-height:1}.team-tool-icon small{font-size:7px;letter-spacing:1px;font-weight:400}
@media(max-width:720px){.tool-rail .tool-icon svg{width:21px;height:21px}.tool-rail .team-tool-icon{font-size:17px!important}.team-tool-icon small{font-size:6px}}
.studio-footer>div.footer-catalogue{display:block}

/* Clear secondary tools on every screen, not just the mobile sheet. */
[data-panel-content=more] .mobile-secondary-tools{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:20px}
[data-panel-content=more] .mobile-secondary-tools button{width:100%;min-height:48px;padding:12px 16px;text-align:left;margin:0}
[data-panel-content=more] #mobile-design-name{display:block;width:100%;min-width:0;margin-bottom:4px}
/* Prominent tools with an edge-to-edge selected state. */
.tool-rail{padding-inline:0}
.tool-rail>button{width:100%;font-weight:600;letter-spacing:.05px}
.tool-rail>button.active{background:#fff;color:var(--ink);box-shadow:inset 3px 0 var(--orange)}
.tool-rail .change-product-tool{background:#174a6d;color:#fff;font-weight:600;border-top:1px solid #ffffff24;border-bottom:1px solid #ffffff24}
.tool-rail .change-product-tool:hover{background:#225b7f}
.tool-rail .tool-icon svg{stroke-width:1.65}
.tool-rail>button#mobile-more{background:transparent;color:white}
.tool-rail>button#mobile-more.active{background:white;color:var(--ink);box-shadow:inset 3px 0 var(--orange)}
/* The card identifies the active product; its action stays neutral. */
#primary-product-view.is-active{border-color:#b9cbd9;box-shadow:none;background:#fff}
#order-details .additional-product-card.is-active{border-color:#a8bdcc;box-shadow:inset 3px 0 #a8bdcc}
.product-card .product-preview-colour{display:block;padding:0 12px 12px;border:0;font-size:12px;color:var(--muted);font-weight:400}
@media(min-width:721px){.tool-rail{padding-top:22px;padding-bottom:8px}.tool-rail>button{font-size:13px;padding:10px 4px}.tool-rail .tool-icon svg{width:27px;height:27px}}
@media(min-width:721px) and (max-height:700px){.tool-rail{padding-top:12px}.tool-rail>button{font-size:12px;padding:6px 3px}.tool-rail .tool-icon svg{width:23px;height:23px}}
@media(min-width:721px) and (max-height:620px){.tool-rail{padding-top:6px;padding-bottom:3px}.tool-rail>button{font-size:10px;padding:3px 2px}.tool-rail .tool-icon svg{width:20px;height:20px}}
@media(max-width:720px){.tool-rail{padding-inline:0}.tool-rail>button{width:auto;font-size:10px;padding:5px 1px}.tool-rail .change-product-tool{background:#174a6d;font-size:10px}.tool-rail>button.active,.tool-rail>button#mobile-more.active{box-shadow:inset 0 3px var(--orange)}.product-card .product-preview-colour{font-size:11px;padding:0 9px 9px}}

/* Styling stays in the editor; garment assignments belong to the sizes panel. */
.team-style-actions{margin-top:16px}
@media(max-width:720px){.team-style-actions{position:sticky;bottom:-24px;background:white;z-index:2;margin:12px -4px -4px;padding:12px 4px max(12px,env(safe-area-inset-bottom))}.team-style-actions button{width:100%;min-height:44px;font-size:16px}.team-style-field select,.team-style-field input:not([type=checkbox]){font-size:16px}}

/* Names and numbers: compact, separate style controls above an unobscured garment. */
.team-style-tabs{display:none}
.team-style-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:end}
.team-style-pair label{min-width:0;margin:0}.team-style-pair select,.team-style-pair input{display:block;margin-top:5px}
.team-style-pair small{align-self:center;margin:0}.team-style-field>label{margin:12px 0 6px}
.team-colour-row{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.team-colour-swatches{display:flex;gap:5px;flex-wrap:wrap}
.team-colour-swatches button{width:36px;height:36px;min-height:36px;border-radius:50%;border:1px solid #aab9c4;padding:5px;background:var(--swatch-colour)}
.team-colour-swatches button[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:2px}
.team-colour-row input[type=color]{width:44px!important;height:40px;min-height:40px!important;flex:none;padding:4px;border-radius:6px}
@media(min-width:721px){.tool-rail>button{font-size:14px}.tool-rail .change-product-tool{font-size:14px}}
@media(min-width:721px) and (max-height:620px){.tool-rail>button,.tool-rail .change-product-tool{font-size:11px}}
@media(max-width:720px){
 body:has(.controls-panel[data-active-panel=team].open){--team-sheet-height:clamp(300px,48dvh,405px)}
 body:has(.controls-panel[data-active-panel=team].open) .studio-layout{padding-bottom:var(--team-sheet-height)}
 body:has(.controls-panel[data-active-panel=team].open) .tool-rail,body:has(.controls-panel[data-active-panel=team].open) .studio-footer{display:none}
 .controls-panel[data-active-panel=team].open{height:var(--team-sheet-height);max-height:var(--team-sheet-height);padding:0;border-radius:16px 16px 0 0;display:flex;flex-direction:column;overflow:hidden}
 .controls-panel[data-active-panel=team] .panel-heading{position:absolute;top:8px;right:8px;width:44px;height:44px;min-height:44px;padding:0;margin:0;border:0;background:white;z-index:3}
 .controls-panel[data-active-panel=team] .panel-heading h1{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
 .controls-panel[data-active-panel=team] #close-controls{min-width:44px;min-height:44px;margin:0;font-size:26px}
 .controls-panel[data-active-panel=team] #back-to-start{display:none}
 .controls-panel[data-active-panel=team] [data-panel-content=team]{overflow:auto;min-height:0;flex:1;padding:0 12px;scroll-padding-bottom:70px}
 .controls-panel[data-active-panel=team] #team-product{display:none}
 .team-style-tabs{display:flex;gap:6px;position:sticky;top:0;padding:8px 48px 8px 0;background:white;z-index:1}
 .team-style-tabs button{flex:1;padding:8px 12px;min-height:44px;font-size:15px;border-radius:6px}
 .team-style-tabs button[aria-pressed=true]{background:#edf3f8;border-color:var(--ink);box-shadow:inset 0 -2px var(--orange)}
 .team-style-grid{display:block}.team-style-field{border:0;padding:0;margin:0;min-width:0}
 .team-style-field[data-team-field]:not(.is-current){display:none}
 .team-style-field legend{padding:0;width:100%;margin:0}.team-enable{font-size:14px;font-weight:500;margin:0;min-height:40px}
 .team-style-pair{gap:8px 12px}.team-style-pair label{font-size:12px}.team-style-pair select,.team-style-pair input{min-height:44px;padding:8px;font-size:16px}
 .team-style-field>label{font-size:12px;font-weight:500}
 .team-colour-swatches button{min-height:44px;width:44px;height:44px;border-radius:50%;background:radial-gradient(circle,var(--swatch-colour) 53%,white 55%)}
 .team-colour-row input[type=color]{height:44px;min-height:44px!important}
 .team-placement-note{font-size:11px;margin:10px 0}
 #team-setup-error:empty{display:none}#team-setup-error{font-size:12px;margin:8px 0}
 .team-style-actions{position:sticky;bottom:0;margin:8px -12px 0;padding:8px 12px max(8px,env(safe-area-inset-bottom));background:white;border-top:1px solid var(--line);z-index:2}
 .team-style-actions button{min-height:44px;padding:9px;font-size:15px}
}


@media(min-width:721px){.team-style-grid{grid-template-columns:minmax(0,1fr)}.team-colour-swatches{flex-wrap:nowrap}}

/* Studio identity and familiar account/contact shortcuts. */
.studio-header{gap:22px}.studio-header .wordmark{display:flex;align-items:center;flex:none}.studio-header .wordmark img{display:block;width:106px;height:auto}
.design-title-edit{display:flex;align-items:center;min-width:0;max-width:320px;flex:1}.design-title-edit input{min-width:70px;padding:8px 0}.design-title-edit #edit-design-name{display:grid;place-items:center;flex:none;width:44px;height:44px;border:0;background:transparent;padding:10px}
.studio-header svg{width:24px;height:24px;flex:none}.studio-contact,.studio-account-links{display:flex;align-items:center;gap:20px;flex:none}.studio-contact a,.studio-account-links a{display:flex;align-items:center;justify-content:center;gap:9px;min-width:44px;min-height:44px;color:var(--ink);text-decoration:none;border-radius:6px}.studio-contact a:hover,.studio-account-links a:hover{background:#f1f5f8}.studio-contact small,.studio-contact strong{display:block;white-space:nowrap;line-height:1.4}.studio-contact small{font-size:12px;font-weight:400}.studio-contact strong{font-size:13px}.studio-account-links a{font-size:14px;white-space:nowrap}.studio-account-links{gap:16px}.studio-contact{padding-right:18px;border-right:1px solid var(--line)}
#mobile-save{display:none}
@media(min-width:721px) and (max-width:1150px){.studio-header{gap:14px;padding-inline:20px}.studio-contact span{display:none}.studio-contact{gap:5px;padding-right:12px}.studio-account-links{gap:8px}.preview-badge{display:none}}
@media(max-width:720px){.studio-header{gap:8px;padding:0 10px}.studio-header .wordmark img{width:90px;max-height:48px;object-fit:contain}.studio-contact{display:none}.studio-account-links{margin-left:auto;gap:4px}.studio-account-links a{width:44px;height:44px}.studio-account-links a span{display:none}.mobile-header-actions{margin-left:0;gap:0}.mobile-header-actions #mobile-price{min-height:44px;font-size:13px;padding:9px 12px;white-space:nowrap}#mobile-save{display:block}}
@media(max-width:360px){.studio-header{gap:4px;padding-inline:8px}.studio-header .wordmark img{width:72px}.studio-account-links{gap:0}.mobile-header-actions #mobile-price{font-size:12px;padding-inline:9px}}

@media(min-width:721px){.design-title-edit{flex:0 1 auto}.design-title-edit input{field-sizing:content;width:auto;min-width:120px;max-width:280px}}

/* Header shortcuts open a dialog without navigating away from the design. */
.studio-account-links .mobile-cart-label{display:none}
.studio-header-sheet{width:min(480px,calc(100vw - 40px));max-width:100%;max-height:85dvh;margin:auto;padding:0;border:1px solid var(--line);border-radius:18px;color:var(--ink);box-shadow:0 20px 80px #082e4d33}
.studio-header-sheet[open]{display:flex;flex-direction:column}.studio-header-sheet::backdrop{background:#0007}.studio-header-sheet [hidden]{display:none!important}
.studio-sheet-heading{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:18px 22px 8px;flex:none}.studio-sheet-heading h2{font-size:24px;line-height:1.25;margin:0}.studio-sheet-heading button{display:grid;place-items:center;width:44px;height:44px;min-width:44px;border:0;padding:4px;font-size:32px;line-height:1;background:white}
.studio-sheet-body{padding:4px 22px 22px;overflow:auto;min-height:0}.studio-sheet-body>p{font-size:16px;margin:4px 0 18px;line-height:1.5}.studio-sheet-actions{display:grid;gap:12px}.studio-header-sheet .button-link,.studio-cart-sheet-footer>button{display:flex;align-items:center;justify-content:center;min-height:48px;font-weight:700;text-align:center;border-radius:28px;padding:12px 18px;width:100%;text-decoration:none}.studio-sheet-help{margin:14px 0 0!important;font-size:12px!important}
.studio-cart-sheet-footer{flex:none;padding:16px 22px 22px;border-top:1px solid var(--line)}.studio-cart-stats{display:flex;justify-content:space-between;gap:14px;font-size:14px}.studio-cart-stats span:last-child{text-align:right}.studio-cart-stats strong{display:block;font-size:17px}.studio-cart-sheet-footer .hint{font-size:11px;margin:10px 0 14px}
.studio-cart-empty{text-align:center;padding:18px 0}.studio-cart-empty svg{width:54px;height:54px;color:var(--muted);margin-bottom:8px}.studio-cart-empty h3{font-size:23px;margin:0}.studio-cart-empty p{margin:10px 0 0;color:var(--muted);font-size:14px}
.studio-cart-row{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.studio-cart-row:last-child{border-bottom:0}.studio-cart-row img{width:64px;height:76px;object-fit:contain;background:var(--paper);border-radius:6px}.studio-cart-row h3{font-size:15px;line-height:1.4;margin:0 0 4px;overflow-wrap:anywhere}.studio-cart-row p{font-size:13px;line-height:1.4;margin:3px 0;color:var(--muted);overflow-wrap:anywhere}.studio-cart-row strong{font-size:14px}
@media(max-width:720px){.studio-account-links a{flex-direction:column;gap:1px}.studio-account-links a span,.studio-account-links .mobile-cart-label{display:block;font-size:10px;line-height:1.2}.studio-account-links a svg{width:22px;height:22px}.studio-header-sheet{position:fixed;inset:auto 0 0;margin:0;width:100%;max-height:78dvh;border-radius:22px 22px 0 0;border:0}.studio-sheet-heading{padding:16px 20px 6px}.studio-sheet-body{padding:4px 20px 20px}.studio-cart-sheet-footer{padding:16px 20px max(22px,env(safe-area-inset-bottom))}}

.team-order-alert{margin:12px 0 18px;padding:16px;border:1px solid #e2a247;border-left:4px solid var(--orange);border-radius:8px;background:#fff6e8;color:var(--ink)}.team-order-alert[hidden]{display:none}.team-order-alert p{margin:0 0 10px;font-size:15px;font-weight:600;line-height:1.5}.team-order-alert button{min-height:44px;font-size:15px;background:white}

#cart-edit-choice{border:1px solid var(--line);border-radius:12px;padding:14px;margin:18px 0}#cart-edit-choice[hidden]{display:none}#cart-edit-choice legend{font-weight:700;padding:0 6px}#cart-edit-choice label{display:grid;grid-template-columns:22px minmax(0,1fr);column-gap:10px;align-items:center;min-height:56px;margin:4px 0;font-weight:700;cursor:pointer}#cart-edit-choice input{width:20px;height:20px;grid-row:span 2;margin:0;accent-color:var(--ink)}#cart-edit-choice small{display:block;font-size:13px;line-height:1.4;font-weight:400;color:var(--muted)}#cart-edit-choice .hint{margin-bottom:0}

/* Product identity and direct colour editing in the single bottom bar. */
.studio-current-product{display:flex;align-items:center;gap:8px;flex:0 0 340px;width:340px;min-width:0}
.studio-footer #studio-products .studio-current-product>.studio-product-option{flex:1 1 auto;min-width:0;width:auto;max-width:none}
.studio-footer #studio-products .studio-product-copy{flex:1;overflow:hidden}
.studio-footer #studio-products .studio-product-colour{display:block;overflow:hidden;text-overflow:ellipsis;padding-right:0}
.studio-footer #studio-products .studio-product-colour i{display:inline-block;vertical-align:middle;margin-right:5px}
.studio-footer #studio-products .studio-change-colour{position:static;flex:0 0 auto;min-height:44px;padding:9px 12px;border:1px solid #d97700;border-radius:8px;background:#fff4e5;color:#713a00;font:inherit;font-size:12px;font-weight:700;text-decoration:none;cursor:pointer}
.studio-footer #studio-products .studio-change-colour:hover{background:#ffe7c7;color:#713a00}
.studio-change-colour:focus-visible{outline:2px solid #082e4d;outline-offset:3px;border-radius:2px}
.studio-change-colour:disabled{opacity:.5;cursor:wait}
#product-picker.colour-only{width:min(680px,calc(100vw - 24px))}
#product-picker.colour-only #product-detail-description,#product-picker.colour-only #product-detail-sizes,#product-picker.colour-only #product-detail-minimum{display:none}
#product-picker.colour-only .product-detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
#product-picker.colour-only #product-detail-image{max-height:300px;object-fit:contain}
@media(max-width:720px){
 .studio-current-product{flex-basis:285px;width:285px}
 .studio-footer #studio-products .studio-change-colour{padding:8px;font-size:11px}
 #product-picker.colour-only .review-heading{padding:16px}
 #product-picker.colour-only .review-body{padding:12px 16px}
 #product-picker.colour-only .product-detail-grid{grid-template-columns:minmax(0,1fr)}
 #product-picker.colour-only #product-detail-image{max-height:180px}
 #product-picker.colour-only #product-detail-name{font-size:18px;margin:0 0 8px}
}


/* Keep product/colour confirmation visible while the options scroll. */
#product-picker[open]{display:flex;flex-direction:column;overflow:hidden}
#product-picker>.review-heading{flex:0 0 auto}
#product-picker>.review-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}
#product-picker>.product-picker-actions{flex:0 0 auto;display:flex;justify-content:flex-end;padding:14px 26px;border-top:1px solid var(--line);background:#fff}
#product-picker>.product-picker-actions[hidden]{display:none}
#product-picker-actions #use-product{min-width:180px;min-height:44px}
@media(max-width:720px){
 #product-picker>.product-picker-actions{padding:12px 16px max(12px,env(safe-area-inset-bottom))}
 #product-picker-actions #use-product{width:100%}
}

/* Keep cart decisions ahead of artwork and make both choices clear on phones. */
#order-summary #cart-edit-choice{margin:8px 0 18px}
#order-summary #cart-edit-choice label{border:1px solid var(--line);border-radius:8px;padding:10px;min-height:64px}
#order-summary #cart-edit-choice label:has(input:checked){background:#edf5fb;border-color:var(--ink)}
#summary-status:empty{display:none}#summary-status:focus{outline:2px solid var(--ink);outline-offset:3px}
@media(max-width:720px){#order-summary #cart-edit-choice{padding:10px}#order-summary #cart-edit-choice .hint{font-size:12px;line-height:1.4}#order-summary .summary-grand-total{margin:4px 0 10px}}

/* Visible cart progress stays above the action buttons in the sticky footer. */
#order-summary .review-footer{flex-wrap:wrap}.cart-progress{flex:0 0 100%;min-width:0;padding:12px 14px;border:1px solid #c3d7e6;border-radius:10px;background:#edf5fb;font-size:16px;line-height:1.5;overflow-wrap:anywhere}.cart-progress[hidden],.cart-progress [hidden]{display:none!important}.cart-progress-line{display:flex;align-items:center;gap:10px}.cart-progress-spinner{width:18px;height:18px;flex:0 0 18px;border:3px solid #bed0dd;border-top-color:var(--ink);border-radius:50%;animation:cart-progress-spin .8s linear infinite}.cart-progress[data-phase=error]{background:#fff5ec;border-color:#d7a67b}.cart-progress a{display:inline-block;margin-top:8px;min-height:44px;padding:8px 0;text-decoration:underline;font-weight:700}@keyframes cart-progress-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.cart-progress-spinner{animation:none}}@media(max-width:720px){#order-summary .review-footer{gap:10px}.cart-progress{font-size:16px;padding:10px 12px}#add-studio-cart{font-size:17px;min-height:48px}}

/* Compact mobile editing, size-grouped rosters and one review/save screen. */
#toggle-editing-size{display:none}
.panel-scroll{min-width:0}
@media(min-width:721px){.panel-scroll{display:contents}}
.summary-save-details{margin:14px 0 22px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}
.summary-save-details[hidden]{display:none}
.summary-save-details .review-heading{padding:0 0 4px;border:0;background:transparent}
.summary-save-details .review-heading h1{font-size:20px;margin:0}
.summary-save-details .review-body{padding:0;overflow:visible}
.summary-save-details .review-footer{display:none}
.summary-save-details label{font-size:14px;margin:10px 0 6px}
.summary-save-details input:not([type=checkbox]):not([type=radio]),#final-save input[type=text],#final-save input[type=email]{width:100%;min-height:44px;box-sizing:border-box;border:1px solid #b9cbd9;border-radius:8px;padding:10px;background:white;font-size:16px;margin:0 0 10px}
.summary-save-details .save-choice{display:flex;align-items:center;gap:10px;min-height:44px;font-weight:400}
.summary-save-details .save-choice input{width:20px;height:20px;margin:0;flex:none}
.summary-save-details fieldset{min-width:0;border:1px solid var(--line);border-radius:8px;padding:12px;margin:12px 0}
.summary-save-details .hint{margin:8px 0}.summary-save-details .review-body>p:last-child{margin-bottom:0}
.summary-save-details #final-save-intro{margin:0 0 10px;font-size:14px;color:var(--muted)}
#summary-save-details[inert]{opacity:.7}
#team-list .team-list-intro{font-size:13px;margin:6px 0 12px}
#team-list #team-list-product{font-size:18px;margin:0}
#team-list #team-list-settings{font-size:14px;padding:8px 12px;margin-bottom:6px}
#team-list .team-roster-group{border:0;padding:0;margin:14px 0}
#team-list .team-roster-group>summary{padding:10px 0;font-size:15px;font-weight:700;cursor:pointer}
#team-list .team-roster-row{grid-template-columns:38px minmax(0,1fr) 88px 48px;gap:10px;align-items:center;padding:10px;margin:6px 0}
#team-list .team-roster-row.team-name-only,#team-list .team-roster-row.team-number-only{grid-template-columns:38px minmax(0,1fr) 48px}
#team-list .team-garment-label{align-self:end;display:flex;flex-direction:column;justify-content:center;min-height:44px;line-height:1.3}
#team-list .team-garment-label strong{font-size:12px;grid-column:auto;color:var(--muted)}
#team-list .team-garment-label span{font-size:13px;font-weight:700}
#team-list .team-roster-row .team-roster-field{grid-column:auto;margin:0;font-size:12px;line-height:1.3}
#team-list .team-roster-field input{display:block;margin:4px 0 0;padding:8px;font-size:16px;min-height:44px}
#team-list .team-roster-row>.team-row-preview{grid-column:auto;align-self:end;padding:6px 3px;font-size:12px;min-width:44px;min-height:44px}
#team-list .team-roster-row>p,#team-list .team-roster-row>button:not(.team-row-preview){grid-column:1/-1}
#team-list .review-footer{gap:8px;padding-top:10px;padding-bottom:max(12px,env(safe-area-inset-bottom))}
#team-list #team-total{margin:0;font-size:14px}
@media(max-width:720px){
 .controls-panel.open[data-active-panel]{display:flex;flex-direction:column;height:62dvh;max-height:62dvh;padding:0;overflow:hidden}
 .controls-panel.open:is([data-active-panel=edit],[data-active-panel=text],[data-active-panel=upload],[data-active-panel=team]){height:var(--compact-edit-height,44dvh);max-height:var(--compact-edit-height,44dvh)}
 body:has(.controls-panel.open:is([data-active-panel=edit],[data-active-panel=text],[data-active-panel=upload],[data-active-panel=team])){--compact-edit-height:clamp(260px,40dvh,350px)}
 body:has(.controls-panel.open.is-expanded){--compact-edit-height:70dvh}
 .controls-panel.open.is-expanded[data-active-panel]{height:70dvh;max-height:70dvh}
 body:has(.controls-panel.open:is([data-active-panel=edit],[data-active-panel=text],[data-active-panel=upload],[data-active-panel=team])) .studio-layout{padding-bottom:var(--compact-edit-height)}
 body:has(.controls-panel.open:is([data-active-panel=edit],[data-active-panel=text],[data-active-panel=upload],[data-active-panel=team])) .tool-rail,
 body:has(.controls-panel.open:is([data-active-panel=edit],[data-active-panel=text],[data-active-panel=upload],[data-active-panel=team])) .studio-footer{display:none}
 .controls-panel .panel-heading{flex:none;min-height:52px;margin:0;padding:4px 10px;border-bottom:1px solid var(--line);gap:8px;background:white;z-index:3}
 .controls-panel .panel-heading h1{flex:1;min-width:0;font-size:18px;line-height:1.25}
 .controls-panel #back-to-start{display:none}
 .controls-panel #toggle-editing-size{display:block;font-size:13px;min-height:44px;padding:8px;border:1px solid var(--line);border-radius:7px}
 .controls-panel #close-controls{display:grid;place-items:center;min-height:44px;min-width:44px;padding:4px;font-size:26px}
 .controls-panel .panel-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:10px 14px 0;scroll-padding-bottom:70px}
 .controls-panel[data-active-panel=team] .panel-heading{position:absolute;top:6px;right:6px;width:auto;height:44px;min-height:44px;padding:0;margin:0;border:0;gap:4px}
 .controls-panel[data-active-panel=team] #toggle-editing-size{font-size:12px}
 .controls-panel[data-active-panel=team] .panel-scroll{padding-top:0}
 .controls-panel[data-active-panel=team] [data-panel-content=team]{overflow:visible;padding:0;scroll-padding-bottom:0}
 .team-style-tabs{padding-right:108px;gap:4px}
 .team-style-tabs button{padding:8px 5px;font-size:14px}
 #selection-controls>h2{display:none}
 #selected-text{min-height:44px;height:48px;resize:vertical;margin-bottom:6px}
 #text-typography #font-browser{padding:6px 0}
 .text-format-row{margin:6px 0;gap:6px}.text-format-row button,.text-format-row select{min-height:40px;font-size:14px}
 #fill-controls{margin:6px 0}#fill-controls>.edit-row{min-height:32px}#fill-controls .editor-swatches{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:9px;padding:4px 3px 8px;margin:2px 0}
 #fill-controls .editor-swatches button{flex:0 0 44px;width:44px;height:44px}
 #more-item-options>summary{font-size:14px;font-weight:700;padding:8px 0;color:var(--ink)}
 #more-item-options .artwork-dimensions{margin:6px 0 12px}#more-item-options .rotation-controls{margin:10px 0}
 .selection-actions{bottom:0;z-index:2;margin:8px -14px 0;padding:8px 10px max(8px,env(safe-area-inset-bottom));gap:6px;border-top:1px solid var(--line)}
 .selection-actions button{min-height:44px;font-size:12px;padding:6px 3px}
 #team-list .review-body{padding:14px}
 #team-list .team-roster-row{grid-template-columns:28px minmax(0,1fr) 65px 44px;gap:7px;padding:8px}
 #team-list .team-roster-row.team-name-only,#team-list .team-roster-row.team-number-only{grid-template-columns:28px minmax(0,1fr) 44px}
 #team-list .review-heading{padding:12px 14px}#team-list .review-heading h1{font-size:19px}
 #team-list .review-footer{padding-inline:14px}#team-list .review-footer #team-list-done{min-height:44px}
 .summary-save-details{padding:12px;margin:12px 0 18px}.summary-save-details .review-heading{min-height:0;padding:0 0 8px}.summary-save-details .review-body{padding:0}.summary-save-details .review-heading h1{font-size:19px}
 #order-summary .review-footer #save-order-details{font-size:14px;min-height:44px}#order-summary .review-footer #add-studio-cart{min-height:48px;font-size:16px}
}

/* Review artwork before entering the required design name and email. */
#order-summary .order-summary-item{padding:14px 0;border-bottom:1px solid var(--line)}
#order-summary .order-summary-item:first-child{padding-top:0}
#order-summary .order-summary-item h2{margin:0 0 4px;font-size:18px;line-height:1.4;overflow-wrap:anywhere}
#order-summary .order-summary-item p{font-size:14px;line-height:1.5;margin:6px 0}
#order-summary .summary-product-colour{color:var(--muted)}
#order-summary .summary-previews{gap:10px;margin:10px 0;overscroll-behavior-x:contain}
#order-summary .summary-previews figure{flex:0 0 112px;min-height:146px;margin:0;background:#f6f8fa;border:1px solid var(--line);border-radius:8px;padding:6px}
#order-summary .summary-previews img{display:block;width:100%;height:112px;aspect-ratio:auto;object-fit:contain}
#order-summary .summary-previews img[hidden]{display:none}
#order-summary .summary-previews figcaption{font-size:12px;line-height:1.4;margin-top:4px}
#order-summary .summary-product-sizes{font-weight:600}
#order-summary .summary-product-price{font-weight:600}
#order-summary .order-summary-item details{margin:8px 0}
#order-summary .order-summary-item summary{font-size:14px;min-height:36px;cursor:pointer}
#order-summary .order-summary-item li{font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.saved-design-help{font-size:13px;margin:8px 0 0}
.saved-design-help>summary{cursor:pointer;min-height:36px;display:list-item;color:var(--muted)}
.saved-design-help p{font-size:13px;line-height:1.5}
#order-summary .summary-save-details{margin:16px 0 12px;padding:14px;background:#f8fafc}
#order-summary .summary-save-details .review-heading h1{font-size:18px}
#order-summary .summary-save-details input:not([type=checkbox]):not([type=radio]){margin-bottom:4px}
@media(max-width:720px){
 #order-summary>.review-body{padding:14px 16px}
 #order-summary>.review-heading{padding:12px 16px}
 #order-summary>.review-heading h1{font-size:20px;line-height:1.3}
 #order-summary .summary-grand-total{font-size:20px;line-height:1.4;margin:0 0 14px}
 #order-summary .summary-previews figure{flex-basis:98px;min-height:134px}
 #order-summary .summary-previews img{height:100px}
 #order-summary .review-footer{gap:8px;padding:10px 16px max(12px,env(safe-area-inset-bottom))}
 #order-summary .summary-save-details{padding:12px}
}

/* Background edits stay optional and use the original upload plus saved filters. */
#background-options{margin-top:12px}
#background-options>summary{min-height:44px;cursor:pointer;font-weight:600;padding:10px 0}
#background-options input[type=range]{width:100%;min-height:36px;margin:0}
#background-tolerance-value{float:right;font-weight:400}
#background-preview{display:block;max-width:100%;max-height:180px;width:auto;height:auto;margin:12px auto;border:1px solid var(--line);border-radius:6px;background-color:#fff;background-image:linear-gradient(45deg,#dce2e8 25%,transparent 25%),linear-gradient(-45deg,#dce2e8 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#dce2e8 75%),linear-gradient(-45deg,transparent 75%,#dce2e8 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}
#background-options .two-col{margin:8px 0}
#restore-background{width:100%;min-height:44px}
#line-alignment-control{margin-top:12px}
#line-alignment-control select{width:100%;min-height:44px}
@media(max-width:720px){#background-options button{min-height:44px}#background-preview{max-height:150px}}

/* Pick the removal colour directly from the unchanged upload. */
#pick-background-colour{width:100%;margin:8px 0;min-height:44px}
#background-picker-canvas{display:block;max-width:100%;max-height:220px;width:auto;height:auto;margin:10px auto;cursor:crosshair;touch-action:pan-y;border:1px solid var(--line);border-radius:6px;background:#eef2f5}
#background-picker[hidden]{display:none}
@media(max-width:720px){#background-picker-canvas{max-height:160px}}

/* Order actions always explain and open the next required choice. */
#order-details .review-footer #cart-status{font-size:15px;line-height:1.4;flex:1 0 100%;margin:0}
#order-details .review-footer{flex-wrap:wrap;gap:10px}
#order-details .order-action-needed{padding:10px 12px;border-radius:8px;background:#fff5e6;color:#663d00;border:1px solid #e7c795}
#order-details .order-needs-attention{border:2px solid #b46b00;outline-offset:3px}
#order-details input,#order-details select{scroll-margin-block:100px}
.print-choice-note{padding:10px 12px;border-left:3px solid #b46b00;background:#fff5e6;color:#663d00;font-size:15px}
#print-compatibility{width:min(480px,calc(100vw - 24px));padding:0;border:0;border-radius:16px;color:var(--ink)}
#print-compatibility::backdrop{background:#082e4d88}
#print-compatibility h1{font-size:23px}
#print-compatibility label{display:block;margin:12px 0}
#print-compatibility select{display:block;width:100%;min-height:48px;margin-top:6px}
#print-compatibility .review-footer{gap:10px;justify-content:flex-end;flex-wrap:wrap}
@media(max-width:720px){
 #order-details .review-footer{display:grid;grid-template-columns:auto minmax(0,1fr);padding:10px 16px max(12px,env(safe-area-inset-bottom));background:white;border-top:1px solid var(--line)}
 #order-details .review-footer #cart-status{grid-column:1/-1;font-size:15px}
 #order-details .review-footer #order-continue{width:100%;min-height:50px;font-size:17px;white-space:normal}
 #order-details .review-footer #back-to-review{width:auto;min-height:50px}
 #order-details #quote-status{display:none}
 #print-compatibility{margin:auto 0 0;width:100%;max-width:100%;border-radius:18px 18px 0 0;max-height:90dvh}
 #print-compatibility .review-footer button{min-height:48px}
}

/* Scroll the review body, so focused fields cannot sit behind fixed actions. */
#order-summary[open]{display:flex;flex-direction:column;overflow:hidden}
#order-summary>.review-heading,#order-summary>.review-footer{position:static;flex:none}
#order-summary .summary-save-details .review-heading{position:static}
#order-summary>.review-body{min-height:0;overflow:auto;overscroll-behavior:contain;scroll-padding-block:18px}
#final-save[open]{overflow:hidden}
#final-save>form{display:flex;flex-direction:column;max-height:inherit;min-height:0}
#final-save .review-heading,#final-save .review-footer{position:static;flex:none}
#final-save .review-body{min-height:0;overflow:auto;scroll-padding-block:18px}
#final-save-form input,#final-save-form select{scroll-margin-block:24px}
#final-save-form [aria-invalid=true]{border-color:#a52b26;outline-color:#a52b26}
#final-save-form .save-field-error{margin:4px 0 14px;color:#a52b26;font-size:14px;line-height:1.4}
@media(max-width:720px){
 #order-summary[open],#final-save[open]{max-height:calc(var(--save-visible-height,100dvh) - 8px);top:auto;bottom:var(--save-bottom-inset,0px);margin:0 auto}
 #order-summary>.review-body{flex:1}
}

/* A clear selected product, with sizes before printing and delivery. */
#order-details #order-status:empty,#order-print-note:empty{display:none}
#order-details #order-product{font-size:14px;line-height:1.4;margin:6px 0 0;overflow-wrap:anywhere}
#order-details #order-product-cards{display:flex;flex-direction:column}
#order-details .additional-product-card{margin:12px 0;padding:14px;border-radius:12px}
#order-details .additional-product-card.is-active{border-color:#668ba5;box-shadow:inset 3px 0 #668ba5}
#order-details .order-product-actions{display:flex;flex-wrap:wrap;gap:8px}
#order-details .order-product-actions button{min-height:44px}
#order-details .order-selected-label{display:block;color:#456b86;font-size:12px;font-weight:700;margin-bottom:5px}
#order-details .order-selected-label[hidden]{display:none}
#order-details .product-size-details>summary{font-size:14px}
#order-details .product-size-fields>.order-subheading:first-child{margin-top:4px}
#order-details .product-size-fields>.order-subheading:first-child{display:none}
#order-details .additional-product-card .order-size-grid label{margin:0}
#order-details .additional-product-card .order-size-grid{display:flex;flex-wrap:wrap;gap:8px}
#order-details .order-total-group .order-total{flex-direction:row;gap:8px;min-width:0}
#order-details #primary-assign-team,#order-details .product-size-fields>button{min-height:44px;margin:2px 0 8px;font-size:14px}
#order-details .additional-product-card .order-print-row{display:grid;grid-template-columns:minmax(0,1fr) 90px;align-items:start;gap:10px}
#order-details .order-print-row>label:first-of-type{min-width:0;width:auto;grid-column:1}
#order-details .order-print-row>label:last-of-type{width:auto;grid-column:2}
#order-details .order-print-row .print-choice-note{grid-column:1/-1;margin:0}
#order-details .order-print-row label{margin:4px 0}
#order-details .order-print-row select{width:100%;min-height:44px}
#order-details .order-print-row input{width:100%;max-width:100%;min-height:44px}
#order-details .order-print-row:has(>label:last-child[hidden]){grid-template-columns:minmax(0,1fr)}
#order-details .print-method-summary{font-size:14px;line-height:1.5;margin:8px 0 12px}
#order-details .print-method-summary strong,#order-details .print-method-summary>span{display:block}
#order-details .print-method-summary>span{color:var(--muted);font-size:13px;margin-top:2px}
#order-details .print-single-confirm{width:100%;min-height:44px;margin-top:10px;white-space:normal}
#order-details .single-full-colour-method{display:none}
#order-details .single-print-method select{display:none}
#order-details .single-print-method .print-choice-note{display:none}
#order-details .order-delivery{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:4px 0;margin:14px 0}
#order-details .order-delivery>summary{display:flex;gap:5px;align-items:center;min-height:48px;cursor:pointer;list-style:none;font-size:14px}
#order-details .order-delivery>summary::-webkit-details-marker{display:none}
#order-details .delivery-change{margin-left:auto;text-decoration:underline;color:var(--ink)}
#order-details .order-delivery label{display:block;font-size:14px;margin-top:8px}
#order-details .order-delivery select{min-height:44px;margin-bottom:12px}
#order-details .order-add-actions{margin:14px 0}
#order-details .order-add-actions button{min-height:44px;font-size:14px}
#order-details .product-price{line-height:1.5}
#studio-products .studio-current-product{scroll-margin-inline:8px}
@media(max-width:720px){
 #order-details>.review-heading{padding:12px 16px}
 #order-details>.review-heading h1{font-size:21px}
 #order-details>.review-body{padding:8px 16px 16px}
 #order-details .additional-product-heading{flex-wrap:nowrap;align-items:start}
 #order-details .additional-product-heading>img{width:52px;max-height:72px}
 #order-details .additional-product-heading>button{font-size:12px;padding:8px;min-height:44px}
 #order-details .additional-product-heading h3{font-size:16px;line-height:1.3}
 #order-details .additional-product-heading p{margin:4px 0 8px}
 #order-details .order-total-group .order-total{margin:4px 0}
 #order-details .order-total-group .hint{margin:4px 0}
 #order-details .order-size-grid{margin:10px 0}
 #order-details .order-size-grid label,#order-details .order-size-grid input{width:48px}
 #order-details .order-size-grid input{min-height:44px;font-size:16px}
}

.original-image-link{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--line,#d5dee5);border-radius:10px;margin:10px 0;color:var(--navy,#082e4d);font-weight:600;text-decoration:underline}.original-image-link[hidden]{display:none}.original-image-link img{width:64px;height:64px;object-fit:contain;background:#f4f6f8;border-radius:6px}.original-image-link:focus-visible{outline:3px solid var(--orange,#f58200);outline-offset:3px}


/* Guided start and tighter editing spacing; preserve readable touch controls. */
.controls-panel[data-active-panel=home] .panel-heading{margin:0 0 12px}
.controls-panel[data-active-panel=home] .panel-heading h1{font-size:25px;line-height:1.25}
.controls-panel .start-intro{font-size:14px;line-height:1.5;margin:0 0 16px}
.start-actions{gap:10px}
.start-actions button{min-height:108px;padding:12px 8px;gap:10px;border:1px solid var(--line);font-weight:600}
.start-actions svg{width:34px;height:34px}
.start-actions button small{display:block;font-size:12px;font-weight:400;color:var(--muted);line-height:1.4;margin-top:5px}
.start-actions button[data-start-panel=upload]{background:#f0f5f9;border-color:#8ca7bb}
.start-upload-help{margin-top:18px;padding-top:0;font-size:12px}
.start-upload-help strong{font-size:13px}
.controls-panel .panel-heading{margin-bottom:10px}
#selection-controls details{padding:6px 0}
#selection-controls details>summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
#selection-controls .artwork-dimensions{margin:8px 0;padding:10px}
#selection-controls .dimension-inputs{margin-top:6px}
#selection-controls .selection-actions{margin-top:8px}
.controls-panel .hint:empty{display:none}
#text-typography{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 10px;align-items:center}
#text-typography #font-browser{grid-column:1;min-width:0}
#text-typography .text-format-row{grid-column:2;grid-row:1;gap:5px}
#text-typography #text-font-status{grid-column:1/-1}
#text-typography:has(#font-browser[open]) #font-browser{grid-column:1/-1}
#text-typography:has(#font-browser[open]) .text-format-row{grid-row:auto}
#text-typography .text-format-row button{min-height:44px;padding:8px}
.controls-panel .upload-box{padding:20px 12px}
.team-style-pair{gap:8px}
.team-style-field>label{margin-top:8px}
@media(min-width:721px){
 .controls-panel[data-active-panel=edit] .panel-heading h1{font-size:22px}
 #selected-text{min-height:48px}
 #fill-controls{margin:8px 0}
 .text-format-row{margin:6px 0}
}
@media(max-width:720px){
 .controls-panel .panel-heading{margin:0}
 .controls-panel .panel-scroll{padding-top:6px}
 .controls-panel[data-active-panel=team] .panel-scroll{padding-top:0}
 .controls-panel .upload-box{padding:16px 12px}
 .controls-panel .upload-box+input{margin-block:8px}
 .controls-panel .hint{line-height:1.4}
 .text-format-row button,.text-format-row select{min-height:44px}
 .team-style-field>label{margin-top:6px}
 .team-placement-note{margin:6px 0;font-size:12px}
 .start-actions button{min-height:96px;font-size:14px}
 .start-actions svg{width:30px;height:30px}
 .start-actions button small{font-size:12px}
}

/* Names and numbers: placement first; fixed actions outside the mobile scroller. */
.controls-panel:not([data-active-panel=team])>.team-style-actions{display:none}
.team-font-row label{display:block;margin:8px 0 0;font-size:12px}
.team-font-row select{display:block;width:100%;min-height:44px;margin:4px 0 0;font-size:16px}
.team-style-field>.hint{display:block;font-size:11px;margin:3px 0 0}
.team-colour-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;margin-top:4px}
.team-colour-heading .hint{font-size:12px;margin-left:6px}
.team-more-colours{position:relative;display:flex;align-items:center;margin:0;min-height:44px;text-decoration:underline;cursor:pointer;font-size:13px}
.team-more-colours input[type=color]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0;padding:0}
.team-more-colours:focus-within{outline:2px solid var(--ink);outline-offset:2px}
.team-colour-row{display:block}
.team-colour-swatches{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;padding:3px;margin-bottom:4px}
.team-colour-swatches button{width:100%;min-height:44px;height:44px;max-width:44px}
.controls-panel>.team-style-actions{flex:none;margin:8px 0 0;padding:10px 0;background:white;border-top:1px solid var(--line)}
.controls-panel>.team-style-actions button{width:100%;min-height:44px;font-size:16px}
@media(min-width:721px){
 .controls-panel[data-active-panel=team]{display:flex;flex-direction:column;overflow:hidden}
 .controls-panel[data-active-panel=team]>.panel-heading{order:0;flex:none}
 .controls-panel[data-active-panel=team]>.team-style-actions{order:1;margin:0 0 12px;padding:0 0 12px;border-top:0;border-bottom:1px solid var(--line)}
 .controls-panel[data-active-panel=team]>.panel-scroll{order:2;display:block;flex:1;min-height:0;overflow:auto}
}
@media(max-width:720px){
 body:has(.controls-panel.open[data-active-panel=team]){--compact-edit-height:clamp(350px,51dvh,440px)}
 body:has(.controls-panel.open[data-active-panel=team].is-expanded){--compact-edit-height:70dvh}
 .controls-panel[data-active-panel=team]>.team-style-actions{position:static;margin:0;padding:8px 14px max(8px,env(safe-area-inset-bottom))}
 .controls-panel[data-active-panel=team] .panel-scroll{scroll-padding-bottom:12px}
 .team-style-pair{grid-template-columns:minmax(0,1fr) 110px;gap:10px}
 .team-style-pair label{font-size:12px}
 .team-style-field legend .team-enable{min-height:36px}
 .team-placement-note{margin:4px 0 8px;font-size:12px}
}

/* Startup feedback stays over the existing preview without moving its layout. */
.studio-loading{position:absolute;z-index:5;left:50%;top:44%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:9px;max-width:calc(100% - 32px);padding:12px 16px;border:1px solid #c8d7e1;border-radius:12px;background:#fffffff5;color:#082e4d;box-shadow:0 3px 16px #082e4d18;font-size:14px;pointer-events:none}.studio-loading button{pointer-events:auto;padding:7px 10px;font-size:13px;white-space:nowrap}.studio-loading-spinner{width:17px;height:17px;flex:none;border:2px solid #c8d7e1;border-top-color:#082e4d;border-radius:50%;animation:studio-start-spin .8s linear infinite}.studio-loading[data-error="true"] .studio-loading-spinner{display:none}@keyframes studio-start-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.studio-loading-spinner{animation:none}}

/* Keep the preloaded photograph from painting at the unfitted fallback size. */
#garment-image{visibility:hidden}body.studio-preview-sized #garment-image{visibility:visible}

/* Reserve desktop workspace geometry before fonts and product controls arrive. */
@media(min-width:721px){
 #canvas-viewport{contain:size;min-width:0;min-height:0}
 .studio-footer #studio-products{min-height:60px}
}
/* The canvas wrapper must not paint at its temporary fallback size either. */
#stage{visibility:hidden}body.studio-preview-sized #stage{visibility:visible}

/* Draggable crop editor; the full-resolution image remains in the saved document. */
#crop-editor{width:min(880px,calc(100vw - 32px));height:min(780px,calc(100dvh - 32px));max-width:none;max-height:none;padding:0;border:1px solid #c4d2dc;border-radius:16px;color:var(--ink);background:#fff;overflow:hidden}#crop-editor[open]{display:flex;flex-direction:column}#crop-editor::backdrop{background:#082e4d99}#crop-editor .review-heading{flex:none;margin:0}#crop-editor .review-heading h1{font-size:22px}.crop-editor-body{display:flex;flex-direction:column;flex:1;min-height:0;padding:12px 20px 0}.crop-editor-body>p{margin:0 0 10px;font-size:14px}.crop-editor-frame{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;flex:1;overflow:hidden;background:#edf1f4;border-radius:9px}.crop-editor-board{position:relative;overflow:visible;flex:none;touch-action:none;user-select:none;background:repeating-conic-gradient(#e1e7eb 0% 25%,#fff 0% 50%) 50%/18px 18px}.crop-editor-board>img{display:block;width:100%;height:100%;pointer-events:none;user-select:none}.crop-shade{position:absolute;z-index:1;background:#06182799;pointer-events:none}.crop-editor-box{position:absolute;z-index:2;border:2px solid white;touch-action:none}.crop-move{position:absolute;inset:0;border:0!important;background:transparent!important;border-radius:0;padding:0;cursor:move;touch-action:none}.crop-grid{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 33%,#ffffff60 33%,#ffffff60 calc(33% + 1px),transparent calc(33% + 1px),transparent 66%,#ffffff60 66%,#ffffff60 calc(66% + 1px),transparent calc(66% + 1px)),linear-gradient(transparent 33%,#ffffff60 33%,#ffffff60 calc(33% + 1px),transparent calc(33% + 1px),transparent 66%,#ffffff60 66%,#ffffff60 calc(66% + 1px),transparent calc(66% + 1px))}.crop-handle{position:absolute;z-index:2;width:44px;height:44px;padding:0!important;border:0!important;background:transparent!important;border-radius:50%;transform:translate(-50%,-50%);touch-action:none}.crop-handle::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:14px;transform:translate(-50%,-50%);border:2px solid #fff;background:#082e4d;border-radius:50%;box-shadow:0 1px 5px #0006}.crop-handle-nw{left:0;top:0;cursor:nwse-resize}.crop-handle-n{left:50%;top:0;cursor:ns-resize}.crop-handle-ne{left:100%;top:0;cursor:nesw-resize}.crop-handle-e{left:100%;top:50%;cursor:ew-resize}.crop-handle-se{left:100%;top:100%;cursor:nwse-resize}.crop-handle-s{left:50%;top:100%;cursor:ns-resize}.crop-handle-sw{left:0;top:100%;cursor:nesw-resize}.crop-handle-w{left:0;top:50%;cursor:ew-resize}#crop-editor .crop-size{margin:8px 0 2px;color:var(--muted);font-size:12px}#crop-editor [data-crop-status]{min-height:20px;margin:0}.crop-editor-footer{display:flex!important;align-items:center;gap:10px;flex:none;position:static!important;margin:0!important;padding:14px 20px!important;background:white}.crop-editor-footer button{min-height:44px}.crop-editor-footer [data-crop-apply]{margin-left:auto}@media(max-width:720px){#crop-editor{width:100vw;height:100dvh;margin:0;inset:0;border:0;border-radius:0}.crop-editor-body{padding:10px 12px 0}#crop-editor .review-heading{padding:14px 12px}.crop-editor-footer{padding:12px 12px max(12px,env(safe-area-inset-bottom))!important;gap:8px}.crop-editor-footer button{padding:10px 14px;white-space:nowrap}.crop-editor-footer [data-crop-apply]{flex:1}.crop-editor-body>p{font-size:13px}.crop-handle::after{width:16px;height:16px}}

/* Leave protection is isolated from the editing and cart layouts. */
#leave-studio{width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 24px);box-sizing:border-box;padding:0;border:1px solid var(--line);border-radius:16px;color:var(--ink);background:white}
#leave-studio::backdrop{background:#082e4d88}
#leave-studio .review-heading,#leave-studio .review-footer{position:static}
#leave-studio-message{margin:8px 0 0;line-height:1.5}
#leave-studio .review-footer{display:grid;grid-template-columns:1fr;gap:10px;padding-bottom:max(16px,env(safe-area-inset-bottom))}
#leave-studio .review-footer button{width:100%;min-height:48px;white-space:normal}
#leave-discard{border-color:transparent;background:transparent;font-weight:400}
