/* Named hanging color tags sit above the photographic product. */
.preview-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding-top:23px}.preview-top .live-label{white-space:nowrap;padding-top:8px}.preview-top #productSides{align-self:start}
#shirtColors{display:flex;justify-content:center;gap:8px;flex-wrap:nowrap;padding:12px 5px 8px;margin:0;min-width:0}
#shirtColors .swatch{position:relative;flex:0 0 36px;width:36px;height:116px;border-radius:3px 3px 5px 5px;margin:0;border:1px solid #bfc9b6;background:var(--swatch);color:var(--tag-ink);padding:0;box-shadow:0 4px 7px #23312712;transform-origin:50% -10px;transition:box-shadow .2s}
#shirtColors .swatch>span{position:absolute;left:50%;top:55%;width:92px;transform:translate(-50%,-50%) rotate(-90deg);font-size:11px;font-weight:650;line-height:1;text-align:center;white-space:nowrap;pointer-events:none}
#shirtColors .swatch::before{content:'';position:absolute;left:calc(50% - 3px);top:7px;width:6px;height:6px;border-radius:50%;background:var(--paper);border:1px solid #46564277}
#shirtColors .swatch::after{content:'';position:absolute;left:calc(50% - .5px);top:-13px;height:23px;width:1px;background:#84937a;transform:none;border:0;border-radius:0}
#shirtColors .swatch[aria-pressed=true]{outline:2px solid #293e32;outline-offset:3px;box-shadow:0 6px 12px #23312725}
#shirtColors .swatch:hover{animation:tag-sway .85s ease-in-out;box-shadow:0 7px 12px #23312720}
@keyframes tag-sway{0%,100%{transform:rotate(0)}24%{transform:rotate(8deg)}58%{transform:rotate(-5deg)}80%{transform:rotate(3deg)}}
.editor-icon{display:block;width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.upload-icon{width:25px;height:25px}.layer-row button:not(.layer-pick){display:grid;place-items:center}.layer-row .editor-icon{width:14px;height:14px}.product-heading h2{margin-top:0}
@media(max-width:1100px){.preview-top{grid-template-columns:1fr auto;gap:12px}.preview-top #shirtColors{grid-column:1/-1;grid-row:2}.preview-top #productSides{grid-column:2;grid-row:1}.preview-top .live-label{grid-column:1;grid-row:1}}
@media(max-width:760px){.preview-top{padding:18px 14px 0;gap:12px}.preview-top #productSides button{padding:8px 10px}#shirtColors{gap:8px;padding-top:12px}#shirtColors .swatch{height:108px;flex-basis:35px;width:35px}#shirtColors .swatch>span{width:88px}}
@media(max-width:360px){#shirtColors{gap:6px}#shirtColors .swatch{width:31px;flex-basis:31px}}
@media(prefers-reduced-motion:reduce){#shirtColors .swatch:hover{animation:none}}