/* Only shirt/hoodie enlarged previews expose the placement choice. */
#shirt-zoom-dialog.has-placement{position:fixed;inset:0;margin:auto}
#shirt-zoom-dialog.has-placement[open]{display:grid;grid-template-columns:minmax(0,1fr) 82px;column-gap:6px}
#shirt-zoom-dialog.has-placement h2,#shirt-zoom-dialog.has-placement>.notice{grid-column:1/-1}
#shirt-zoom-dialog.has-placement .print-placement{position:static;grid-column:2;grid-row:2;align-self:start;justify-self:end;margin-top:18px;z-index:3;display:flex;flex-direction:column;gap:4px;align-items:stretch}
.print-placement-title{font:800 13px/1.2 var(--body);color:#795638;margin:0 4px 4px;white-space:nowrap}
#shirt-zoom-dialog .print-placement button{display:flex;align-items:center;gap:6px;min-height:38px;padding:5px 7px;border:1px solid transparent;border-radius:8px;background:#fff9ef;color:var(--ink);font:900 12px/1 var(--body);box-shadow:none;text-shadow:none;letter-spacing:.2px}
#shirt-zoom-dialog .print-placement button[aria-pressed="true"]{background:#fff0d6;border-color:#f2cc97}
.print-side-check{display:grid;place-items:center;width:18px;height:18px;border:2px solid #61523e;border-radius:4px;background:#fffdf7;color:transparent;font-size:14px;flex:none}
[aria-pressed="true"]>.print-side-check{background:#ff9409;border-color:#191713;color:#191713}
#shirt-zoom-dialog.has-placement .artboard,#shirt-zoom-dialog.has-placement .extra-large-preview{grid-column:1;grid-row:2;width:100%;margin:0;max-width:540px}
#shirt-zoom-dialog .print-placement button:focus-visible{outline:3px solid #4d89ab;outline-offset:2px}
.artboard.placement-back .shirt-base{background-image:url('assets/shirt-back-v247.webp');background-size:100% 100%;background-position:center}
.artboard.placement-back .design-print,.artboard.placement-back .design-print.composed-art{left:50%;top:47%;width:43%;height:56%;margin:0;transform:translate(-50%,-50%)}
.artboard.placement-back .design-print img{max-height:100%;object-fit:contain}
.product-thumb.hoodie.placement-back{background-image:url('assets/hoodie-back-v247.webp');background-size:100% 100%;background-position:center}
.product-thumb.hoodie.placement-back .mini-art,.product-thumb.hoodie.placement-back .mini-art.composed-art{left:50%;top:51%;width:52%;height:44%}
.placement-addon-label{display:block;font:800 11px/1.3 var(--body);margin-top:3px}
@media(max-width:440px){#shirt-zoom-dialog.has-placement[open]{grid-template-columns:minmax(0,1fr) 68px}#shirt-zoom-dialog.has-placement .print-placement{margin-top:12px}.print-placement-title{font-size:11px;margin-inline:3px}#shirt-zoom-dialog .print-placement button{min-height:36px;padding:5px 4px;font-size:11px;gap:5px}#shirt-zoom-dialog.has-placement .artboard,#shirt-zoom-dialog.has-placement .extra-large-preview{width:100%}.print-side-check{width:17px;height:17px}}

.checkout-sizes .size-surcharge{display:block;font:800 10px/1.1 var(--body);margin-top:3px;white-space:nowrap}

/* Identical print dimensions on either side; only garment-centered position changes. */
.artboard .design-print.composed-art,.artboard.placement-back .design-print.composed-art{width:43%;height:56%}
.product-thumb.hoodie .mini-art.composed-art,.product-thumb.hoodie.placement-back .mini-art.composed-art{width:52%;height:44%}

/* Chest + back uses the existing full-size back, plus a small wearer-left chest print. */
.artboard.placement-chest .design-print,.artboard.placement-chest .design-print.composed-art{width:18%;height:24%;left:66%;top:29%;margin:0;transform:translate(-50%,-50%)}
.product-thumb.hoodie.placement-chest .mini-art,.product-thumb.hoodie.placement-chest .mini-art.composed-art{width:20%;height:20%;left:64%;top:33%}
.print-placement .combo-price{display:block;font:900 10px/1.3 var(--body);margin-top:3px}
.print-view-label{font:800 10px/1.3 var(--body);color:#795638;margin:9px 3px 0}
#shirt-zoom-dialog .print-placement .combo-view{min-height:30px;padding:5px 4px;font:800 10px/1.3 var(--body);text-align:center;justify-content:center}
#shirt-zoom-dialog.has-placement .print-notes{grid-column:1/-1;margin-top:8px;border:2px solid #171613;border-radius:19px;background:#fff1d8;overflow:hidden;text-align:left;min-width:0}
.print-notes summary{display:flex;align-items:center;gap:9px;padding:14px;cursor:pointer;list-style:none}
.print-notes summary::-webkit-details-marker{display:none}
.print-notes summary>span:nth-child(2){min-width:0}
.print-notes summary strong{display:block;font:26px/1.05 var(--heading)}
.print-notes summary small{display:block;font:800 11px/1.4 var(--body);color:#815330;margin-top:4px}
.notes-paw{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:50%;background:#ffd59b;border:1.5px solid #171613;font-size:19px}
.notes-state{font:800 10px/1.2 var(--body);color:#846347;margin-left:auto}
.notes-plus{display:grid;place-items:center;width:24px;height:24px;flex:none;border-radius:50%;background:#ff9409;font:900 20px/1 var(--body)}
.notes-plus::before{content:'+'}.print-notes[open] .notes-plus::before{content:'−'}
.notes-body{padding:0 14px 14px}.notes-body label{display:block;font:900 14px/1.4 var(--body);margin:0 0 6px}
.notes-body textarea{display:block;width:100%;min-height:85px;resize:vertical;padding:11px 12px;border:2px solid #171613;border-radius:13px;background:#fffdf8;color:#171613;font:700 15px/1.45 var(--body)}
.notes-body #print-notes-help{font:700 11px/1.5 var(--body);color:#776044;margin:10px 0}
.notes-footer{display:flex;justify-content:space-between;align-items:center;gap:10px}.notes-count{font:700 11px var(--body);color:#806b51}
#shirt-zoom-dialog .notes-save{min-height:40px;width:auto;padding:7px 18px;border:2px solid #171613;border-radius:99px;background:#ff9409;color:#171613;box-shadow:inset 0 2px 0 #ffe6ae,0 2px 0 #171613;font:900 14px/1.2 var(--body)}
.print-notes summary:focus-visible,.notes-body textarea:focus-visible{outline:3px solid #4d89ab;outline-offset:-4px}
.order-print-note{display:block;margin-top:5px;overflow-wrap:anywhere;white-space:pre-wrap}
@media(max-width:359px){.print-notes summary{gap:7px;padding:12px}.print-notes summary strong{font-size:23px}.notes-body{padding:0 12px 12px}.notes-state{font-size:9px}.notes-paw{width:28px;height:28px;font-size:17px}.notes-plus{width:22px;height:22px}}
