/* The garment and printable surface share a square coordinate system. */
.attachment-section{border-top:1px solid var(--line);margin-top:23px;padding-top:18px}
.attachment-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:13px}.attachment-heading h3{font-size:11px;margin:0;font-weight:650}.attachment-heading>span{font-size:9px;color:#8a927e}
.attachment-row{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;margin-bottom:9px;overflow:hidden}.attachment-row.active{border-color:#dd542f88;background:#fcf5ee}
.attachment-select{display:flex;align-items:center;gap:9px;min-width:0;flex:1;padding:10px 8px;text-align:left}
.attachment-thumb{width:34px;height:36px;flex-shrink:0;border:1px solid #e4e7de;background:#f0f2e9;display:grid;place-items:center;border-radius:4px;color:#7c8869;font-size:22px}.attachment-thumb img{width:100%;height:100%;object-fit:contain;display:block}
.attachment-info{min-width:0;display:flex;flex-direction:column;gap:4px}.attachment-info strong{font-size:10px;font-weight:550;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%}.attachment-info small{font-size:8px;color:#919985}
.attachment-remove{color:#bd482c;align-self:stretch;width:36px;flex-shrink:0;display:grid;place-items:center;border-left:1px solid var(--line);background:#fff9}.attachment-remove svg{width:17px;height:17px}.attachment-remove:hover{background:#fbe8df;color:#8e2e18}
.attachments-empty{font-size:10px;color:#8a927f;line-height:1.8;margin:10px 0}.attachment-section #attachmentList:focus{outline:1px solid #a4ad92;outline-offset:4px;border-radius:4px}
@media(max-width:650px){.attachment-remove{min-width:44px;min-height:44px}.attachment-select{padding:10px 12px}.attachment-info strong{font-size:12px}.attachment-info small{font-size:10px}.attachment-heading h3{font-size:12px}}
.garment-wrap{width:min(480px,94%);height:auto;aspect-ratio:1;flex-shrink:0;margin:0 auto 15px;isolation:isolate}
.garment{filter:drop-shadow(0 16px 13px #28322217)}
.photo-mockup{width:100%;height:100%;position:relative;isolation:isolate}
.photo-mockup img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;pointer-events:none}
.photo-tint{position:absolute;inset:0;background:var(--garment-color);mask-image:var(--mockup-image);mask-repeat:no-repeat;mask-size:contain;mask-position:center;mix-blend-mode:multiply;pointer-events:none}
.product-thumb .photo-mockup,.mini-shirt .photo-mockup{aspect-ratio:1;height:100%;width:100%;margin:auto}
.print-area{left:34%;top:25%;width:32%;height:43.4286%;container-type:size;isolation:isolate}
.print-guide{border:1px dashed #dd542faa;background:#fff3;z-index:3;pointer-events:none;transition:opacity .15s}
.print-guide>span{display:none}
.print-guide:before,.print-guide:after{content:'';position:absolute;background:#dd542f19}
.print-guide:before{height:100%;width:1px;left:50%;top:0}
.print-guide:after{height:1px;width:100%;top:50%;left:0}
.print-safe{position:absolute;inset:4%;border:1px dotted #8a95614d}
.print-guide .ruler{position:absolute;right:auto;bottom:auto;width:max-content;color:#a34c30;font-size:8px;font-weight:600;letter-spacing:.2px;white-space:nowrap;background:#f4f4eddd;border-radius:4px;padding:3px 5px}
.ruler.width{top:-22px;left:50%;transform:translateX(-50%)}
.ruler.height{left:calc(100% + 7px);top:50%;transform:translateY(-50%)}
.corner{width:7px;height:7px;position:absolute;border-color:var(--accent);border-style:solid}
.corner.tl{left:-2px;top:-2px;border-width:2px 0 0 2px}.corner.tr{right:-2px;top:-2px;border-width:2px 2px 0 0}.corner.bl{left:-2px;bottom:-2px;border-width:0 0 2px 2px}.corner.br{right:-2px;bottom:-2px;border-width:0 2px 2px 0}
#artLayer{overflow:hidden;mix-blend-mode:multiply;z-index:2}
.design-item{padding:2cqw;max-width:none!important;line-height:1.1;mix-blend-mode:multiply;white-space:pre;}
.design-item.selected{outline:1px solid #dd542faa;outline-offset:-1px}
.design-item.selected:after{display:none}.design-item img{max-width:none;max-height:none;width:65cqw;height:auto}
.resize-handle{position:absolute;width:8px;height:8px;border:1px solid var(--accent);background:#fff;border-radius:1px;padding:0;right:0;bottom:0;transform:translate(25%,25%);cursor:nwse-resize;z-index:4}
.guides-off .print-guide{opacity:0}.guides-off .design-item.selected{outline-color:transparent}.guides-off .resize-handle{opacity:0}
.print-settings{border-top:1px solid var(--line);padding:16px 0 2px;margin:15px 0}
.print-settings select{width:100%;border:1px solid #e0e4d6;border-radius:6px;background:#fafbf7;padding:9px 8px;font-size:10px;margin-top:10px;color:var(--ink)}
.print-settings .label-row h3{font-size:10px}.print-settings .ref-note{font-size:8px;color:#939a87;margin:8px 0 12px;line-height:1.5}
.guide-toggle{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#78816b;cursor:pointer}.guide-toggle input{accent-color:var(--accent);width:14px;height:14px}
.canvas-title{margin-top:4px;margin-bottom:16px}.canvas-title h2{font-size:27px}.canvas-section{min-height:760px;background-image:radial-gradient(ellipse at center,#fbfcf8 0,#edf0e7 70%);background-size:auto}
.canvas-bottom{position:relative;z-index:4}.canvas-note{max-width:90%;text-align:center;line-height:1.6;margin-bottom:18px}
.details{padding-top:23px}.details .product-thumb{margin-top:14px;margin-bottom:12px}.details .product-desc{line-height:1.7}.details .divider{margin:15px 0}.details .price-block{margin-top:13px;padding:16px 0}.details .swatches{margin-bottom:14px}.details .selection-controls{padding-top:14px}
.preview-large{padding:18px}.preview-large .garment-wrap{width:min(530px,100%);height:auto;aspect-ratio:1;margin:0}
.review-preview .garment-wrap{width:min(430px,100%);height:auto;aspect-ratio:1;margin:0}
.review-preview .print-area,.preview-large .print-area{mix-blend-mode:multiply;overflow:hidden}
.mockup-caption{display:flex;justify-content:center;gap:20px;margin-top:14px;font-size:10px;color:#8a937c}
.preview-side-buttons{display:flex;justify-content:center;gap:8px;margin:14px}.preview-side-buttons button{font-size:11px;padding:9px 18px;border:1px solid var(--line);border-radius:5px}.preview-side-buttons button.active{background:var(--ink);color:white}
@media(min-width:1500px){.garment-wrap{width:540px}.canvas-section{min-height:880px}}
@media(max-width:1150px){.garment-wrap{width:min(400px,98%)}.canvas-section{min-height:750px}.canvas-title h2{font-size:24px}.ruler{font-size:7px}.ruler.height{left:calc(100% + 3px)}}
@media(max-width:950px){.details .print-settings{grid-column:2;grid-row:3/7;border:0;padding:0;margin:0}.canvas-section{min-height:650px}.canvas-title{margin-bottom:10px}.details .swatches{margin-bottom:0}.details>.primary{grid-row:7}.details .price-block{grid-row:7}.details .secure-note{grid-row:8}}
@media(max-width:650px){.canvas-section{min-height:530px}.canvas-title h2{font-size:24px}.canvas-title{margin:0 0 14px}.garment-wrap{width:min(340px,92%);height:auto;margin-bottom:12px}.canvas-note{font-size:8px;margin:12px auto}.print-guide .ruler{font-size:7px}.print-guide .ruler.width{top:-19px}.details .print-settings{grid-column:1/3;grid-row:auto;border-top:1px solid var(--line);padding-top:14px;margin-top:0;display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.print-settings select{grid-column:1;grid-row:2}.print-settings .ref-note{grid-column:1/3}.print-settings .guide-toggle{grid-column:2;grid-row:2}.details>.primary,.details .price-block,.details .secure-note{grid-row:auto}.details .secure-note{grid-column:1/3}.details .selection-controls{display:block;grid-column:1/3}.details .selection-controls label{max-width:100%}.details .product-thumb{display:none}.preview-large{padding:8px}.preview-large .garment-wrap{width:100%;height:auto}.review-preview .garment-wrap{width:320px;height:auto}}
