/* v0.27: independent logo sides, rear garment, cart thumbnails and mobile fitting. */
.back-fabric{position:absolute;inset:0;isolation:isolate;background:var(--shirt-fabric,#242424);-webkit-mask:url('/blank-shirts/back-white-template.png') center/contain no-repeat;mask:url('/blank-shirts/back-white-template.png') center/contain no-repeat}
.back-fabric.heather-fabric{background:repeating-linear-gradient(12deg,#a6a6a6 0 1px,#c5c5c5 1px 2px,#b7b7b7 2px 4px)}
.back-fabric .blank-base{mix-blend-mode:multiply}
.product .art{height:auto;aspect-ratio:1;display:grid;place-items:center}
.product .art>.composite-shirt{width:100%;height:100%;min-width:0;min-height:0;transform:none}
.product .art>.product-image{width:100%;height:100%;object-fit:contain;transform:none}
.cart-shirt-preview{width:88px;height:88px;flex:0 0 88px;background:#f0efec;border-radius:7px;overflow:hidden}
.cart-shirt-preview .composite-shirt{width:100%;height:100%}
.cart-line .line-copy{min-width:0;overflow-wrap:anywhere}
.cart-line>b{white-space:nowrap}
.cart-custom-placeholder{display:grid;place-content:center;text-align:center;font-size:12px;font-weight:700;color:#555}
.admin-quick-edit{background:#eef5fd;border:1px solid #9ec9ec;color:#15466d;font-size:13px;padding:10px 15px;margin:2px 0 12px}
.logo-side-controls{display:grid;gap:9px;min-width:0;border:1px solid #cbd2da;padding:16px;border-radius:9px;background:white}
.logo-side-controls legend{font-size:15px;font-weight:800;padding:0 5px}
.logo-side-controls button{justify-self:start;font-size:12px;padding:9px 12px;background:#eef1f5}
.admin-shirt-preview{aspect-ratio:1}
.admin-shirt-preview>.composite-shirt{height:100%;width:100%}
.nav-actions [data-admin-only]:not([hidden]){display:inline-flex}
@media(max-width:560px){.products{grid-template-columns:repeat(2,minmax(0,1fr))}.product .art{height:auto;aspect-ratio:1}.cart-line{gap:10px;align-items:flex-start}.cart-shirt-preview{width:64px;height:64px;flex-basis:64px}.cart-line>b{font-size:13px}.cart-line input{width:48px}.cart-line .remove{padding:7px}.cart-line .line-copy>b{font-size:13px}.nav-actions [data-admin-only]:not([hidden]){font-size:11px}}
.cart-shirt-preview .custom-cart-blank{width:100%;height:100%;object-fit:contain;border-radius:0}

/* Checkout and readable store policies */
.policies-copy{max-width:850px}.policies-copy article{padding:24px 0;border-bottom:1px solid #ddd;scroll-margin-top:140px}.policies-copy p{line-height:1.75}.policy-nav{display:flex;gap:18px;flex-wrap:wrap;margin:24px 0}.size-table{width:100%}#checkoutPoliciesLabel{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}#checkoutPoliciesLabel[hidden]{display:none}#checkoutPolicies{flex:none;width:20px;height:20px}#checkoutReview li{padding:6px 0}#checkoutStatus{color:#ad172a}#checkoutSummary .row:last-child{font-size:1.2rem;border-top:1px solid #ddd;padding-top:12px}#checkoutForm select{min-height:48px;width:100%;border:1px solid #ccc;border-radius:6px;padding:12px} .size-table th,.size-table td{padding:9px 7px}

.artwork-requirements{background:#f5f7f9;border:1px solid #d8dfe7;border-radius:10px;padding:16px;margin:12px 0}.artwork-requirements h4{margin:0 0 12px}.artwork-requirements ul{padding-left:20px;margin:0}.artwork-requirements li{line-height:1.55;margin:9px 0;font-size:.9rem}

/* Keep the selected logo controls beside its shirt preview. */
.logo-editor{display:grid;gap:12px;min-width:0}
.logo-side-picker{display:flex;gap:8px;flex-wrap:wrap}
.logo-side-picker button{padding:10px 18px;background:#e8e9ec;color:#17191f;border:2px solid transparent}
.logo-side-picker button[aria-pressed=true]{background:#17191f;color:white;border-color:#17191f}
.logo-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,1fr);gap:16px;align-items:start}
.logo-editor-controls{display:grid;gap:12px;min-width:0}
.logo-editor .admin-shirt-preview{align-self:start;margin:0;max-width:none}
.logo-editor .logo-side-controls{margin:0}
.logo-editor .logo-side-controls[hidden]{display:none}
.logo-editor-controls>#pResetLogo{justify-self:start;font-size:12px;padding:9px 12px;background:#eef1f5}
@media(max-width:620px){.logo-editor-grid{grid-template-columns:minmax(0,1fr)}.logo-editor .admin-shirt-preview{max-width:320px;justify-self:center;width:100%}}

/* v0.29: bounded square previews keep the shirt and logo aligned on phones. */
#productDialog{box-sizing:border-box;max-width:min(1220px,calc(100vw - 20px));width:calc(100% - 20px)}
#productDialog .detail-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
#productDialog .detail-grid>*,#productDetail,.product-gallery,.product-purchase{min-width:0;max-width:100%}
.product-gallery{grid-template-columns:78px minmax(0,1fr);align-items:start}
#productDialog .gallery-image{width:100%;min-width:0;height:auto;aspect-ratio:1;margin:0;justify-self:center}
#productDialog .gallery-image>.composite-shirt{width:100%;height:100%;aspect-ratio:1;min-width:0;min-height:0;transform:none}
#productDialog .gallery-image>.product-image{width:100%;height:100%;object-fit:contain;object-position:center;transform:none;padding:8px}
#productDialog .gallery-image>.shirt{transform:none;width:70%;height:80%}
#productDialog .product-breadcrumb,#productDialog h2{overflow-wrap:anywhere}
.product .art{min-width:0;width:100%;overflow:hidden}
.product .art>.composite-shirt,.product .art>.product-image{object-fit:contain;object-position:center;transform:none}
.category-manager{max-width:1000px;display:grid;gap:20px}
#categoryRows{display:grid;gap:16px}
.category-row{padding:20px;background:white;border:1px solid #d8dce2;border-radius:12px}
.category-row h4{margin:0 0 14px;font-size:18px;overflow-wrap:anywhere}
.category-row h4 small{font-weight:400;font-size:13px;color:#62666b;margin-left:8px}
.category-row form{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}
.category-row input,.category-row select{padding:10px;border:1px solid #c8ccd2;border-radius:7px;min-width:0;max-width:100%;flex:1 1 180px}
.category-row label{font-size:13px}
.cancel-order{background:#fff3f3;border:1px solid #d99a9a;color:#8c1725;padding:10px 15px}
.order-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:18px 0}
.order-actions small{color:#666}
@media(max-width:760px){
 #productDialog{padding:40px 14px 24px}
 #productDialog .detail-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 #productDialog .product-gallery{grid-template-columns:minmax(0,1fr);gap:12px}
 #productDialog .gallery-image{grid-row:1;height:auto;aspect-ratio:1;max-width:100%}
 #productDialog .gallery-tabs{grid-row:2;flex-direction:row;max-width:100%;flex-wrap:wrap;justify-content:center}
 #productDialog .gallery-image>.design-image,#productDialog .gallery-image>canvas.design-image{padding:16px}
 #productDialog .variant-buttons{max-width:100%;flex-wrap:wrap}
 .guide-layout{grid-template-columns:minmax(0,80px) minmax(0,1fr)}
 .size-table{font-size:11px}.size-table th,.size-table td{padding:6px 3px}
}

/* Clean Classic shared front/back templates, all thirteen fabric colors. */
.classic-fabric{position:absolute;inset:0;isolation:isolate;background:var(--shirt-fabric,#242424);-webkit-mask:url('/blank-shirts/clean-classic-front.png') center/contain no-repeat;mask:url('/blank-shirts/clean-classic-front.png') center/contain no-repeat}
.classic-fabric.classic-back{-webkit-mask-image:url('/blank-shirts/clean-classic-back.png');mask-image:url('/blank-shirts/clean-classic-back.png')}
.classic-fabric.heather-fabric{background:repeating-linear-gradient(12deg,#a6a6a6 0 1px,#c5c5c5 1px 2px,#b7b7b7 2px 4px)}
.classic-fabric .blank-base{mix-blend-mode:multiply}
.order-visibility{margin:16px 0;gap:10px;display:flex;align-items:center}
.order-visibility input{width:20px;height:20px;flex:none}
