.tshirt-main{padding-top:35px}
.tshirt-intro{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:70px;align-items:center;padding:55px 0 64px}
.tshirt-intro h1{font-size:clamp(55px,6vw,94px);margin-bottom:25px}
.tshirt-intro>div>p:last-of-type{font-size:18px;line-height:1.7;max-width:600px;color:var(--muted)}
.intro-cta{margin-top:10px}
.intro-photo{border:1px solid var(--line);background:#e9e6df}
.intro-photo img{display:block;width:100%;height:480px;object-fit:cover}
.intro-photo figcaption{display:flex;justify-content:space-between;gap:8px;background:#171716;color:var(--muted);font-size:10px;letter-spacing:1px;padding:11px 13px}
.tshirt-layout{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:72px;border-top:1px solid var(--line);padding:45px 0 75px}
.preview-sticky{position:sticky;top:24px}
.preview-heading{display:flex;justify-content:space-between;align-items:end;gap:12px}
.preview-heading .eyebrow{margin-bottom:7px}
.preview-heading h2{font-size:32px;margin-bottom:18px}
.preview-label{color:var(--muted);font-size:11px;letter-spacing:1px;text-transform:uppercase;margin-bottom:24px}
.preview-stage{background:#e9e6df;color:#24221f;min-height:600px;padding:18px;position:relative;overflow:hidden}
.preview-tabs{display:inline-flex;gap:3px;background:#d6d1c7;padding:4px;position:relative;z-index:2}
.preview-tabs button{padding:8px 21px;border:0;background:transparent;color:#39352f;cursor:pointer;font-size:13px;font-weight:700}
.preview-tabs button[aria-pressed=true]{background:#fffaf0;color:#1f1c17;box-shadow:0 2px 5px #0002}
.shirt-scene{width:min(100%,520px);aspect-ratio:500/520;position:relative;margin:0 auto}
.shirt-scene.youth-shirt{width:min(88%,460px)}
.shirt-render{position:absolute;inset:0;background:var(--shirt-color,#3a3a3d);-webkit-mask-image:var(--shirt-mask);mask-image:var(--shirt-mask);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;filter:drop-shadow(0 20px 20px #0003)}
.shirt-render img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.shirt-scene.fitted-shirt .shirt-render{transform:scaleX(.92)}
.shirt-scene.fitted-shirt .art-area{transform:scaleX(.92)}
.art-area{position:absolute;top:32%;left:34%;width:32%;height:34%;display:flex;align-items:center;justify-content:center;text-align:center;transition:all .25s}
.art-area.chest-placement{top:26%;left:55%;width:14%;height:17%}
.art-area.no-print{opacity:.28}
.art-area img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 1px 1px #0004)}
.art-area span{display:block;font-family:'Manrope',Arial,sans-serif;font-size:clamp(13px,1.5vw,20px);font-weight:800;line-height:1.1;letter-spacing:1px;color:#e7ba6b;text-shadow:0 1px 3px #0009}
.art-area span small{display:block;font-size:.55em;letter-spacing:2px;margin-top:5px}
.art-area.chest-placement span{font-size:11px}
.preview-caption{font-size:12px;color:#5c584f;margin:0;text-align:center}
.preview-stage{background:radial-gradient(circle at 54% 40%,#f7f4ee 0,#e8e3d9 56%,#d8d1c6 100%);border:1px solid #cfc7b9;box-shadow:0 20px 50px #0002}
.preview-toolbar,.preview-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;z-index:2}
.preview-mode{font-size:10px;font-weight:800;letter-spacing:1.5px;color:#584931}
.preview-tabs{background:#f5f1e9;border:1px solid #d3cbbc;border-radius:100px;padding:4px}
.preview-tabs button{border-radius:100px;padding:9px 23px}
.preview-tabs button[aria-pressed=true]{background:#27231d;color:#f9f3e8;box-shadow:0 2px 8px #0002}
.preview-footer{font-size:11px;color:#5c584f;border-top:1px solid #cfc6b8;padding-top:11px}
.shirt-scene{width:min(100%,510px);aspect-ratio:1;margin:10px auto 0;filter:drop-shadow(0 16px 16px #0003)}
.shirt-scene.youth-shirt{width:min(88%,460px)}
.art-area{top:24%;left:34%;width:32%;height:35%;filter:contrast(1.04)}
.art-area.chest-placement{top:25%;left:54%;width:14%;height:16%}
.shirt-scene.long-shirt .art-area{top:26%;height:33%}
.shirt-scene.long-shirt .art-area.chest-placement{top:27%;height:15%}
.art-area span{color:#a97831;text-shadow:0 1px 2px #fff8,0 2px 3px #0005}
.example-note{font-size:12px;color:var(--muted);margin:16px 0 0;line-height:1.5}
.builder-heading{padding-bottom:26px}
.builder-heading .eyebrow{margin-bottom:8px}
.builder-heading h2{margin-bottom:10px}
.builder-heading>p:last-child{color:var(--muted);margin:0}
.tshirt-form{padding:0;background:transparent;color:var(--text)}
.builder-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;border-bottom:1px solid #514c42;margin:2px 0 12px}
.builder-progress button{position:relative;border:0;border-bottom:3px solid transparent;background:transparent;color:#b4afa4;min-height:65px;text-align:left;padding:8px 4px 15px;font:700 12px 'DM Sans',Arial,sans-serif;cursor:pointer}
.builder-progress button span{display:block;font-size:10px;letter-spacing:1.5px;color:#8f897d;margin-bottom:5px}
.builder-progress button[aria-current=step]{border-color:var(--gold);color:#f7e3ba}
.builder-progress button[aria-current=step] span{color:var(--gold)}
.builder-progress button:hover{color:#fff}
.builder-progress button:focus-visible,.step-controls button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.step-position{color:var(--gold);font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;margin:18px 0 6px}
.tshirt-form fieldset{border:0;border-top:1px solid var(--line);padding:25px 0 33px;margin:0;min-width:0}
.tshirt-form legend{font-family:'Manrope',Arial,sans-serif;font-size:24px;font-weight:600;padding:0 0 9px;width:100%}
.tshirt-form legend span{float:right;color:var(--gold);font-family:'DM Sans',Arial,sans-serif;font-size:12px;font-weight:700;padding-top:9px}
.field-help{font-size:13px;color:var(--muted);margin:0 0 18px}
.tshirt-form label{color:var(--text)}
.tshirt-form input:not([type=checkbox]):not([type=radio]),.tshirt-form select,.tshirt-form textarea{background:#232321;border:1px solid #625f56;color:#fff}
.tshirt-form input::placeholder,.tshirt-form textarea::placeholder{color:#b9b5ac}
.tshirt-form .field{margin-top:20px}
.optional{font-size:12px;color:var(--muted);font-weight:400}
.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.choice-card{position:relative;display:block;margin:0;cursor:pointer}
.choice-card input{position:absolute;opacity:0;width:1px;height:1px}
.choice-card span{display:block;min-height:85px;padding:15px;border:1px solid #5d5a50;background:#1a1a19}
.choice-card strong,.choice-card small{display:block}
.choice-card strong{font-size:14px}
.choice-card small{color:var(--muted);font-size:12px;font-weight:400;margin-top:3px}
.choice-card input:checked+span{background:#2b251b;border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.choice-card input:focus-visible+span,.swatch-option:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:3px}
.shirt-colors{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.swatch-option{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 4px;border:1px solid #5d5a50;margin:0;cursor:pointer;font-size:11px;text-align:center;line-height:1.2}
.swatch-option input{position:absolute;opacity:0;width:1px;height:1px}
.swatch-option:has(input:checked){border-color:var(--gold);background:#2b251b}
.swatch-dot{display:block;width:25px;height:25px;border-radius:50%;border:1px solid #aaa;box-shadow:0 1px 2px #0005}
.size-help{margin-top:25px}
.size-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.size-cell{border:1px solid #5d5a50;padding:8px 10px;margin:0;text-align:center}
.size-cell span{display:block;font-size:12px}
.size-cell input{width:100%;margin:5px 0 0;text-align:center;padding:8px!important}
.quantity-total{color:var(--gold);font-size:13px;font-weight:700;margin:12px 0 0}
.location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.location-grid label,.checkline{display:flex;align-items:center;gap:10px;border:1px solid #5d5a50;padding:11px 13px;margin:0;font-size:13px;cursor:pointer}
.location-grid input,.checkline input{width:17px;height:17px;flex:0 0 17px;margin:0;accent-color:var(--gold)}
.file-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:23px}
.upload-card{padding:16px;background:#1b1b19;border:1px dashed #8d7954;margin:0}
.upload-card input{font-size:12px;padding:9px!important}
.upload-card small{display:block;margin-top:8px;font-size:11px;color:var(--muted);font-weight:400}
.file-note{color:var(--muted);font-size:12px;margin:9px 0 20px}
.artwork-scale{display:grid!important;grid-template-columns:1fr auto;column-gap:14px;align-items:center}
.artwork-scale input{grid-column:1/-1;padding:0!important;accent-color:var(--gold)}
.artwork-scale #scale-value{font-size:12px;color:var(--gold)}
.checkline{margin-top:18px}
.tshirt-form .form-row{gap:13px}
.tshirt-form .form-row .field{margin-top:0}
.builder-finish{border:1px solid #7d643e;background:#262118;padding:25px}
.step-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 24px}
.step-controls .button{margin-left:auto;min-width:185px;text-align:center;justify-content:center}
.step-back{color:#e9c787;background:transparent;border:1px solid #796b52;padding:12px 19px;font:700 13px 'DM Sans',Arial,sans-serif;cursor:pointer}
.step-error{color:#f3c278;background:#442b20;border:1px solid #a97545;padding:12px 14px;font-size:13px;margin:10px 0}
.design-summary{border:1px solid #7d643e;background:#252019;padding:16px 20px;margin:0 0 23px}
.design-summary dl{margin:0}
.design-summary dl>div{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid #62533d}
.design-summary dl>div:last-child{border-bottom:0}
.design-summary dt{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#b89b67;font-weight:700}
.design-summary dd{margin:0;font-size:13px;line-height:1.5;color:#f7f1e7;overflow-wrap:anywhere}
.builder-finish p{font-size:13px;color:var(--muted)}
.builder-finish p strong{color:var(--text)}
.builder-finish .button{display:flex;width:100%;margin-top:12px}
.builder-finish .cart-helper{font-size:12px;margin:12px 0 0}
.shirt-status{min-height:23px;color:var(--gold)!important;margin:16px 0 0}
.shirt-status.sent{color:#bce0aa!important}
.shirt-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;border-top:1px solid var(--line);padding:48px 0 75px}
.shirt-steps article{border-top:1px solid #655332;padding-top:17px}
.shirt-steps span{font-size:12px;color:var(--gold);font-weight:700}
.shirt-steps h3{font-size:20px;margin:12px 0 6px}
.shirt-steps p{font-size:14px;color:var(--muted)}
@media(max-width:1050px){.tshirt-layout{gap:35px}.tshirt-intro{gap:32px}.intro-photo img{height:390px}.shirt-colors{grid-template-columns:repeat(4,1fr)}}
@media(max-width:780px){.tshirt-layout{grid-template-columns:1fr}.preview-sticky{position:static}.preview-stage{min-height:0}.tshirt-intro{grid-template-columns:1fr;gap:26px;padding:34px 0 42px}.intro-photo img{height:400px}.intro-cta{margin-top:0}.shirt-steps{gap:15px}}
@media(max-width:560px){.tshirt-intro h1{font-size:56px}.tshirt-intro>div>p:last-of-type{font-size:16px}.intro-photo img{height:320px}.tshirt-layout{padding-top:30px}.preview-heading h2{font-size:25px}.preview-label{font-size:10px}.preview-stage{padding:10px}.preview-mode{font-size:9px}.preview-footer{font-size:9px}.shirt-colors{grid-template-columns:repeat(5,1fr);gap:5px}.swatch-option{font-size:9px;padding:7px 2px}.swatch-dot{width:21px;height:21px}.choice-grid,.file-grid{grid-template-columns:1fr}.size-grid{grid-template-columns:repeat(3,1fr)}.shirt-steps{grid-template-columns:1fr}.builder-finish{padding:18px}.builder-progress button{font-size:10px;min-height:62px}.design-summary dl>div{grid-template-columns:86px 1fr}}
