:root{background:#f8f7f4}.nav-actions{display:flex;align-items:center;gap:18px}.account-link{color:#171717;font-size:13px;font-weight:750;text-decoration:none}.button{display:inline-block;border-radius:9px;padding:14px 20px;text-decoration:none;font-weight:800}.red{background:var(--red);color:white}.store-notice{text-align:center;font-size:12px;padding:10px 20px;background:#eaf2fc;color:#234666}.store-notice:empty{display:none}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.product-link{display:block;width:100%;padding:0;background:none;border-radius:0;text-align:inherit;color:inherit}.product .art{height:255px}.product-image{width:100%;height:100%;object-fit:contain;padding:15px}.product-info .price{display:flex;justify-content:space-between;align-items:center}.product-info .price span{font-size:12px;font-weight:500;color:#777}.sample-tag{position:absolute;left:12px;top:12px;background:#ffffffdb;padding:5px 8px;border-radius:4px;font-size:10px;letter-spacing:1px;font-weight:800;z-index:1}.hero-feature{position:absolute;background:none;padding:0;width:235px;height:277px;display:grid;place-items:center}.hero-feature .shirt{width:235px;height:277px}.hero-feature .print{font-size:25px;max-width:130px}.hero-feature img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 20px 14px #0008)}.hero-feature:nth-child(1){transform:rotate(-22deg) translate(-130px,-6px) scale(.86);z-index:1}.hero-feature:nth-child(2){transform:rotate(-5deg) translate(-20px,8px);z-index:2}.hero-feature:nth-child(3){transform:rotate(17deg) translate(132px,10px) scale(.85);z-index:1}.custom-steps{margin:28px 0}.custom-steps p{margin:9px 0;border-bottom:1px solid #cfd8e1;padding:10px 0}.custom-steps b{color:var(--blue);margin-right:15px;font-size:20px}.form h3{margin:0 0 6px}.form label:not(.check){display:block;margin:5px 0}.form .check{display:flex;align-items:center;gap:10px;font-size:14px}.check input{width:18px;height:18px}.form button:disabled,button:disabled{opacity:.5;cursor:not-allowed}.form{box-shadow:0 4px 30px #16253408}.form textarea{resize:vertical}.form input:focus,.form textarea:focus,.form select:focus{outline:2px solid var(--blue);outline-offset:2px}dialog{border:0;border-radius:18px;padding:32px;max-width:900px;width:calc(100% - 30px);max-height:90vh;overflow:auto;color:#151515;box-shadow:0 20px 90px #0005}dialog::backdrop{background:#050c18aa;backdrop-filter:blur(4px)}dialog h2{font-size:30px;letter-spacing:-1px;margin:0 35px 24px 0}.close{position:absolute;top:12px;right:12px;font-size:25px;background:#eee;line-height:1;padding:8px 12px;z-index:5}.detail-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:28px}.gallery-image{background:#f1f0ed;height:330px;border-radius:12px;display:grid;place-items:center;overflow:hidden}.gallery-image img{width:100%;height:100%;object-fit:contain;padding:14px}.gallery-image .shirt{transform:scale(1.4)}.gallery-tabs{display:flex;gap:8px;margin:12px 0}.gallery-tabs button{background:#eee;font-size:12px}.gallery-tabs .active{background:#181818;color:white}.big-price{font-size:28px;font-weight:900;margin:12px 0}.detail-grid .form{padding:0;box-shadow:none}.cart-line{display:flex;gap:16px;align-items:center;border-bottom:1px solid #eee;padding:16px 0}.cart-line img{width:76px;height:85px;object-fit:contain;background:#eee;border-radius:7px}.cart-line .line-copy{flex:1}.cart-line p{margin:6px 0;font-size:13px;color:#666}.cart-line input{width:60px;padding:6px;border:1px solid #ccc;border-radius:5px}.remove{padding:7px 10px;background:#eee;font-size:12px}.totals{line-height:1.8;margin:20px 0}.totals .row{display:flex;justify-content:space-between;gap:15px}.totals .row:first-child{font-weight:850}.subtle{font-size:12px;color:#666}.order-card{padding:23px;background:white;border:1px solid #ddd;border-radius:13px;margin:18px 0}.order-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.order-head h3{margin:0 0 5px;font-size:17px}.badge{display:inline-block;background:#e6f1fd;color:#21558b;font-size:12px;padding:7px 10px;border-radius:20px}.order-card ul{padding:0;list-style:none}.order-card li{border-bottom:1px solid #eee;padding:12px 0;font-size:14px;display:flex;align-items:center;gap:12px}.order-card li img{width:55px;height:65px;object-fit:contain}.order-card address{font-size:13px;font-style:normal;line-height:1.6}.order-card a{color:#1768b0}.address-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.address-grid .wide{grid-column:1/-1}.account-form{max-width:480px}.account-actions{display:flex;gap:10px;align-items:center;margin:20px 0;flex-wrap:wrap}.admin-tabs{display:flex;gap:9px;margin:24px 0;flex-wrap:wrap}.admin-tabs button{background:white}.admin-tabs .active{background:#151515;color:white}.admin-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:24px}.admin-list{display:grid;gap:8px;align-content:start}.admin-product{padding:14px;background:white;display:flex;gap:12px;align-items:center;border:1px solid #d6dee5;border-radius:9px;text-align:left}.admin-product img{width:48px;height:55px;object-fit:contain}.admin-product .label{flex:1}.admin-product small{display:block;color:#777;font-weight:400;margin-top:5px}.upload-preview{height:100px;width:120px;object-fit:contain;border:1px solid #ddd;background:#f5f5f5;margin:8px 0}.admin-order-controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.admin-order-controls input,.admin-order-controls select{padding:10px;border:1px solid #ccc;border-radius:7px;min-width:0}.admin-order-controls button{background:#171717;color:white}.empty{padding:35px;text-align:center;background:white;border:1px dashed #c8c8c8;border-radius:14px;color:#666}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:90%;background:#171717;color:white;padding:14px 22px;border-radius:10px;box-shadow:0 5px 30px #0004;z-index:100}#customPreview img{max-height:140px;max-width:100%;object-fit:contain}footer a{color:#b5c4d6}.error{color:#ac1024}.success-mark{width:55px;height:55px;background:#e1f3e9;color:#1a7c49;display:grid;place-items:center;font-size:28px;border-radius:100%;margin-bottom:20px}.inline-message{font-size:13px;margin:10px 0;line-height:1.6}.form [hidden],[hidden]{display:none!important}.gallery-label{font-size:13px;color:#666}.order-card .muted{font-size:13px}button:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:3px}@media(max-width:760px){.detail-grid,.admin-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start}.section-heading>span{display:none}.gallery-image{height:270px}.nav-actions{gap:8px}.account-link{display:none}dialog{padding:24px 18px}.order-head{flex-direction:column}.address-grid{grid-template-columns:1fr}.address-grid .wide{grid-column:auto}.hero-feature{transform-origin:center}.admin-order-controls>*{flex:1 1 120px}.product .art{height:200px}.hero .outline{color:white}}

.hero h1{font-size:clamp(42px,4.8vw,70px);letter-spacing:-3px}.hero h1 em{white-space:nowrap}.hero-feature:hover,.hero-feature:focus-visible{z-index:4}@media(max-width:760px){.hero h1{font-size:clamp(33px,7.5vw,57px);letter-spacing:-2px}}

/* Product detail layout and preview-only brand watermark. */
#productDialog{max-width:1220px;padding:38px;background:#fff;border-radius:6px}
.product-breadcrumb{font-size:12px;color:#666;margin:0 40px 30px 0}
#productDialog .detail-grid{grid-template-columns:1.2fr 1fr;gap:48px;align-items:start}
.product-gallery{display:grid;grid-template-columns:78px minmax(0,1fr);gap:20px}
#productDialog .gallery-tabs{display:flex;flex-direction:column;gap:12px;margin:0}
#productDialog .gallery-tabs button{position:relative;display:grid;place-items:center;min-width:0;width:78px;height:104px;overflow:hidden;background:#f7f7f7;border:1px solid #ddd;border-radius:2px;padding:6px;color:#333}
#productDialog .gallery-tabs button.active{border:2px solid #171717;background:#f7f7f7;color:#171717}
#productDialog .gallery-tabs img{width:100%;height:68px;object-fit:contain;padding:0}
#productDialog .gallery-tabs .shirt{width:58px;height:68px;filter:none}
#productDialog .gallery-tabs .print{font-size:7px;max-width:36px}
#productDialog .gallery-tabs .design-fallback{max-width:100%;font-size:10px}
#productDialog .gallery-tabs span{font-size:10px;margin-top:5px}
#productDialog .gallery-image{position:relative;height:540px;border-radius:2px;background:#f5f5f5;isolation:isolate}
#productDialog .gallery-image>.shirt{transform:scale(1.7)}
#productDialog .gallery-image>.design-fallback{max-width:75%;font-size:40px}
.design-fallback{white-space:pre-line;text-align:center;--ink:#171717;color:#171717;transform:none}
.preview-watermark,.gallery-image img.preview-watermark{position:absolute;left:50%;top:58%;transform:translate(-50%,-50%) rotate(-14deg);width:65%;height:auto;max-height:100px;object-fit:contain;padding:0;opacity:.18;z-index:3;pointer-events:none;user-select:none;filter:grayscale(1)}
.product .art{position:relative;isolation:isolate;overflow:hidden}
.product-purchase h2{font-size:27px!important;line-height:1.25;letter-spacing:-.6px!important;margin:12px 0 18px!important}
.product-purchase .tag{font-size:12px;color:#666}
.product-purchase .big-price{font-size:24px;font-weight:700;margin:0 0 8px}
#productForm{display:block;margin-top:24px}
#productForm .variant-select{display:none}
#productForm label{font-size:14px;margin:18px 0 10px}
.variant-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 20px}
.variant-buttons button{border:1px solid #171717;border-radius:3px;background:white;color:#171717;min-width:46px;min-height:46px;padding:10px 14px;font-size:14px;font-weight:500}
.variant-buttons button[aria-pressed="true"]{background:#171717;color:white}
.color-buttons button{min-height:38px}
.quantity-line{display:flex;align-items:center;gap:14px;margin:22px 0}
#productForm .quantity-line label{margin:0}
#detailQty{width:85px;padding:12px;border:1px solid #aaa;border-radius:3px}
.delivery-note{padding:18px 0;border-top:1px solid #ddd;line-height:1.5}
.delivery-note b{display:block;font-size:14px}.delivery-note span{font-size:12px;color:#666}
#productForm .add-to-cart{width:100%;border-radius:3px;padding:17px;font-size:16px}
.product-description{margin:24px 0;border-top:1px solid #ddd;padding-top:18px;font-size:14px;line-height:1.6}
.product-description summary{cursor:pointer;font-weight:700}.product-description p{color:#555}
@media(max-width:760px){#productDialog{padding:35px 18px 24px}#productDialog .detail-grid{grid-template-columns:1fr;gap:24px}.product-gallery{grid-template-columns:1fr;gap:12px}#productDialog .gallery-image{grid-row:1;height:380px}#productDialog .gallery-tabs{flex-direction:row}#productDialog .gallery-image>.shirt{transform:scale(1.35)}.product-breadcrumb{margin-bottom:18px;font-size:11px}}

.preview-watermark{mix-blend-mode:multiply}

/* Shirt options inspired by the supplied product-page reference. */
#productForm{border-top:1px solid #e7e4df;padding-top:12px;margin-top:26px}
#productForm>label{font-size:12px;font-weight:500;letter-spacing:4px;margin-top:25px}
#selectedColor{letter-spacing:0;font-weight:400;margin-left:5px}.selected-size{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
.variant-buttons{gap:8px;margin-top:14px;margin-bottom:30px}
#productForm .variant-buttons button{background:#fff;color:#211813;border:1px solid #e4e1dc;border-radius:0;min-width:48px;min-height:48px;font-size:16px;font-weight:400}
#productForm .variant-buttons button[aria-pressed="true"]{outline:2px solid #302018;outline-offset:-2px;border-color:#302018}
#productForm .style-buttons button{font-size:15px;padding:14px 18px;min-height:50px}
#productForm .color-buttons{gap:12px}
#productForm .color-buttons .color-swatch{position:relative;display:grid;place-items:center;border-radius:50%;min-width:38px;width:38px;height:38px;min-height:38px;padding:3px;border:1px solid #ddd}
.color-swatch span{display:block;width:100%;height:100%;border-radius:50%;background:var(--swatch)}
#productForm .color-buttons .color-swatch[aria-pressed="true"]{outline:2px solid #302018;outline-offset:3px;border-color:#fff}
#productForm .color-buttons .color-swatch:hover{transform:scale(1.08)}
#productForm .add-to-cart{background:#00bf29;color:#071d0b;text-transform:uppercase;letter-spacing:4px;border:1px solid #23542b;border-radius:5px;font-size:14px;font-weight:700}
#productForm .add-to-cart:hover{background:#00a925}
@media(max-width:480px){#productForm .style-buttons button{flex:1 1 140px}.variant-buttons{gap:7px}#productForm .variant-buttons button{min-width:43px}}

.build-version{font-size:12px;white-space:nowrap;padding:5px 9px;background:#eaf2fc;color:#174c7e;border:1px solid #b4cde6;border-radius:5px}

/* Shared front-view blanks with per-listing artwork. */
.composite-shirt{position:relative;width:100%;height:100%;aspect-ratio:1;isolation:isolate;display:block}
.composite-shirt .blank-base{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;padding:0!important;filter:none!important;transform:none!important}
.composite-shirt .shirt-artwork{position:absolute!important;left:var(--logo-left,34%)!important;top:var(--logo-top,24%)!important;width:var(--logo-width,32%)!important;height:var(--logo-height,35%)!important;max-width:none!important;max-height:none!important;object-fit:contain!important;padding:0!important;transform:none!important;z-index:1}
.composite-shirt .sample-print{display:flex;align-items:center;justify-content:center;text-align:center;font-size:clamp(10px,1.6vw,21px);font-weight:900;line-height:1.05;white-space:pre-line;overflow-wrap:anywhere}
.hero-feature .composite-shirt{width:235px;height:277px}.hero-feature .sample-print{font-size:17px}
#productDialog .gallery-tabs .composite-shirt{width:64px;height:70px}#productDialog .gallery-tabs .sample-print{font-size:6px}
#productDialog .gallery-image>.composite-shirt{width:100%;height:100%}
#productDialog .gallery-image .sample-print{font-size:clamp(18px,2.7vw,32px)}
.mockup-unavailable{padding:25px;text-align:center;color:#555;font-size:13px;line-height:1.5}
.watermarked,.product .art{position:relative;isolation:isolate;overflow:hidden}
.watermark-pattern{position:absolute;inset:-15%;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(5,1fr);align-items:center;justify-items:center;transform:rotate(-22deg);pointer-events:none;user-select:none;z-index:3;overflow:hidden;opacity:.18}
.watermark-pattern span{font-size:clamp(9px,1.1vw,15px);font-weight:800;white-space:nowrap;letter-spacing:.5px;color:#777;text-shadow:0 1px 0 #fff}
.product .art .watermark-pattern{opacity:.12}.product .art .watermark-pattern span{font-size:9px}
#productDialog .gallery-image>.design-image{width:100%;height:100%;padding:35px;object-fit:contain}
#productDialog .gallery-image>.design-fallback{transform:none;padding:30px;white-space:pre-line;overflow-wrap:anywhere}
.product-lower{display:grid;grid-template-columns:.9fr 1.1fr;gap:45px;border-top:1px solid #ddd;margin-top:36px;padding-top:30px;line-height:1.7}
.product-lower h3{font-size:21px;margin:0 0 14px;color:#173650}.product-lower h4{font-size:16px}.product-features p,.product-features ul{color:#666;font-size:14px}.product-features ul{padding-left:18px}
.product-size-guide{scroll-margin-top:24px}.guide-style{color:#666;font-size:12px}.guide-layout{display:grid;grid-template-columns:140px minmax(0,1fr);gap:20px;align-items:center}.measurement-diagram{width:100%;color:#a1a8b1}
.size-table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}.size-table caption{font-size:11px;color:#777;text-align:left;caption-side:bottom;margin-top:10px}.size-table th,.size-table td{padding:7px 10px;border-bottom:1px solid #cbd0d7;font-weight:400}.size-table thead th{color:#173650;font-weight:700}.size-table tbody th{color:#555}.guide-pending{font-size:13px;color:#666}
.size-guide-link{display:inline-block;color:#173650;font-size:12px;letter-spacing:2px;text-transform:uppercase;text-underline-offset:4px}
@media(max-width:760px){.product-lower{grid-template-columns:1fr;gap:25px}.guide-layout{grid-template-columns:100px minmax(0,1fr);gap:12px}.watermark-pattern span{font-size:10px}.hero-feature .composite-shirt{width:100%;height:100%}}
/* Transparent canvas artwork uses the same shared blank placement as images. */
canvas.design-image{display:block;width:100%;height:100%;object-fit:contain}
#productDialog .gallery-image>canvas.design-image{width:100%;height:100%;padding:35px;object-fit:contain}
.gallery-tabs canvas.design-image{width:64px;height:68px;object-fit:contain}
.gallery-image:has(>canvas){background:#b9b9b9!important}
.side-buttons{margin-top:14px}.ink-buttons{margin-bottom:10px}
fieldset#pCategories{border:1px solid #ccc;border-radius:8px;padding:12px;margin:0}
#pCategories legend{font-weight:700}#pCategories .check{margin:8px 0}
.admin-art-preview{height:140px;padding:12px;background:#b9b9b9;border-radius:8px}
.admin-art-preview canvas{width:100%;height:100%;object-fit:contain}

.admin-display-controls{padding:20px;border:1px solid #ddd;border-radius:12px;background:#fafafa;display:grid;gap:12px}.admin-shirt-preview{width:100%;max-width:430px;margin:auto;background:#efeeeb;border-radius:12px;overflow:hidden}.admin-display-controls input[type=range]{width:100%;padding:0;accent-color:#d92336}.admin-display-controls input[type=color]{width:70px;height:44px;padding:3px}.admin-display-controls output{font-weight:normal}.admin-display-controls [hidden]{display:none}

/* Slightly larger featured shirts, with proportional sizing on smaller screens. */
.hero-display{transform:scale(1.15)}
@media(max-width:1050px){.hero-display{transform:scale(.92)}}
@media(max-width:760px){.hero-display{transform:scale(.897)}}
@media(max-width:420px){.hero-display{transform:scale(.805)}}

.color-swatch span{background:var(--swatch-texture,var(--swatch))}

.printify-controls{border-top:1px solid #ddd;border-bottom:1px solid #ddd;padding:16px 0;margin:16px 0}.printify-controls h4{margin:0 0 10px}.printify-controls form{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.printify-controls label{flex:1;min-width:220px}.printify-controls input{display:block;width:100%;padding:12px;margin-top:6px}.printify-controls button{padding:12px}.printify-controls .notice{overflow-wrap:anywhere}.order-card a{overflow-wrap:anywhere}
