.configure-page{min-height:100vh;padding:80px var(--space-7) var(--space-9);max-width:1440px;margin:0 auto}.configure-header{padding:var(--space-4) 0 var(--space-4)}.configure-header__title{font-family:Syne,sans-serif;font-size:var(--text-2xl);color:var(--text-primary);margin-bottom:var(--space-2)}.configure-header__subtitle{font-size:var(--text-sm);color:var(--text-secondary);max-width:52ch}.configurator-layout{display:grid;grid-template-columns:1fr 400px;gap:var(--space-8);align-items:start}.configurator-layout>*{min-width:0}.canvas-wrap{position:sticky;top:80px;min-width:0}.config-panel{min-width:0}.nav__cta{display:none}.shirt-canvas-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);position:relative;width:100%;min-width:0;height:calc(100vh - 230px);min-height:420px;max-height:760px}.decal-editor-3d>canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;border-radius:inherit}.decal-editor-3d__loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);pointer-events:none}.print-3d-delete{position:absolute;width:22px;height:22px;background:var(--accent-1);border:none;border-radius:50%;display:none;align-items:center;justify-content:center;cursor:pointer;color:var(--on-accent);z-index:10;pointer-events:auto;transform:translate(-50%,-50%);transition:background var(--transition-fast)}.print-3d-delete:hover{background:#fff}.print-controls{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-5);margin-bottom:var(--space-5)}.print-controls__title{font-family:JetBrains Mono,monospace;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:var(--space-4)}.print-controls__value{color:var(--text-primary);text-transform:none;letter-spacing:0}.shirt-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.shirt-option{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);width:100%;min-width:0;padding:var(--space-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;text-align:center;overflow:hidden;transition:border-color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast)}.shirt-option:hover,.shirt-option:focus-visible{border-color:var(--accent-1);transform:translateY(-2px)}.shirt-option.selected{border-color:var(--accent-1);background:#ffffff0f}.shirt-option__stage{position:relative;width:100%;aspect-ratio:4 / 5;display:block;overflow:hidden;border-radius:var(--radius-sm);background:var(--bg)}.shirt-option__canvas,.shirt-option__model{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.shirt-option__canvas{z-index:1}.shirt-option__model{z-index:2;object-fit:cover;object-position:50% 12%;opacity:0;transform:scale(1.03);transition:opacity var(--transition-base),transform var(--transition-base)}.shirt-option:hover .shirt-option__model,.shirt-option:focus-visible .shirt-option__model{opacity:1;transform:scale(1)}.shirt-option__meta{display:flex;flex-direction:column;gap:2px;min-width:0}.shirt-option__name{font-family:Syne,sans-serif;font-size:var(--text-sm);color:var(--text-primary);line-height:1.15}.shirt-option__fabric{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.35;display:none}.shirt-description{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border)}.shirt-description__title{font-family:JetBrains Mono,monospace;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-primary);margin-bottom:var(--space-2)}.shirt-description__body{color:var(--text-secondary);font-size:var(--text-xs);line-height:1.55}.color-swatches{display:flex;gap:var(--space-2);flex-wrap:wrap}.color-swatch{width:32px;height:32px;border-radius:50%;cursor:pointer;transition:transform var(--transition-fast);border:2px solid transparent;position:relative}.color-swatch:hover{transform:scale(1.1)}.color-swatch.selected{border-color:#fff;box-shadow:0 0 0 3px #fff3 inset}.size-pills{display:flex;gap:var(--space-2);flex-wrap:wrap}.size-pill{font-family:JetBrains Mono,monospace;font-size:var(--text-xs);padding:8px 14px;border-radius:var(--radius-pill);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:transparent}.size-pill:hover:not(.disabled){border-color:var(--accent-1);color:var(--text-primary)}.size-pill.selected{background:var(--accent-1);border-color:var(--accent-1);color:var(--on-accent)}.btn-block{width:100%}.visually-hidden-input{position:absolute;width:1px;height:1px;opacity:0}.print-hint{font-size:var(--text-xs);color:var(--text-secondary);margin-top:var(--space-3);line-height:1.5}.upload-status{font-family:JetBrains Mono,monospace;font-size:var(--text-xs);color:var(--accent-2);margin-top:var(--space-2);min-height:1em}.print-adjust{margin-top:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.print-adjust[hidden]{display:none}.slider-group{display:flex;flex-direction:column;gap:var(--space-2)}.slider-label{display:flex;justify-content:space-between;align-items:baseline;font-family:JetBrains Mono,monospace;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.slider-value{color:var(--text-primary)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;background:var(--border);outline:none;cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent-1);border:2px solid var(--bg);transition:transform var(--transition-fast)}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--accent-1);border:2px solid var(--bg);transition:transform var(--transition-fast)}input[type=range]:focus-visible{box-shadow:0 0 0 3px #ffffff59}.pricing-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-5);margin-bottom:var(--space-5)}.pricing-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-family:JetBrains Mono,monospace;font-size:var(--text-xs);color:var(--text-secondary)}.pricing-row:first-child{color:var(--text-primary)}.pricing-divider{border:none;border-top:1px solid var(--border);margin:var(--space-3) 0}.pricing-total{display:flex;justify-content:space-between;align-items:center;font-family:JetBrains Mono,monospace;font-size:var(--text-base);font-weight:700;color:var(--text-primary);padding-top:var(--space-3)}.cart-note{font-size:var(--text-xs);color:var(--text-secondary);margin-top:var(--space-3);text-align:center}@media (max-width: 1023px){.configurator-layout{grid-template-columns:1fr}.canvas-wrap{position:static}.shirt-canvas-panel{height:60vh;min-height:380px}}@media (max-width: 767px){.configure-page{padding-left:var(--space-5);padding-right:var(--space-5)}}
