.checkout-modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:var(--z-modal);background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.checkout-modal-content{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:440px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.checkout-modal-wide{max-width:680px}.checkout-modal-header{border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.checkout-modal-header h3{color:#1e293b;margin:0;font-size:1.125rem;font-weight:600}.checkout-modal-close{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.25rem;line-height:1;transition:all .2s;display:flex}.checkout-modal-close:hover{color:#1e293b;background:#e2e8f0}.checkout-modal-body{flex:1;padding:1rem 1.5rem;overflow-y:auto}.checkout-design-preview{text-align:center;border-bottom:1px solid #e2e8f0;margin-bottom:1.25rem;padding-bottom:1rem}.checkout-design-preview h4{color:#64748b;text-transform:uppercase;letter-spacing:.05em;text-align:center;margin:0 0 .75rem;font-size:.75rem;font-weight:600}.checkout-preview-panels{justify-content:center;gap:1rem;display:flex}.checkout-preview-panel{text-align:center}.checkout-preview-panel img{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;width:100px;height:auto}.checkout-preview-panel span{color:#64748b;margin-top:.25rem;font-size:.75rem;display:block}.checkout-preview-single .checkout-preview-panel img{width:140px}.no-design{text-align:center;color:#94a3b8;padding:1rem;font-size:.875rem}.checkout-shirt-selection{flex-direction:column;gap:1rem;margin-bottom:1.25rem;display:flex}.checkout-shirt-type{border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.checkout-type-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.checkout-type-swatch{border-radius:6px;flex-shrink:0;width:32px;height:32px}.checkout-type-info{flex-direction:column;display:flex}.checkout-type-name{color:#1e293b;font-size:.9375rem;font-weight:600}.checkout-type-weight{color:#64748b;font-size:.75rem}.checkout-size-grid{background:#e2e8f0;grid-template-columns:repeat(4,1fr);gap:2px;padding:2px;display:grid}.checkout-size-item{text-align:center;background:#fff;padding:.5rem;transition:background .2s}.checkout-size-item.has-qty{background:#f0f9ff}.checkout-size-label{color:#1e293b;font-size:.8125rem;font-weight:600}.checkout-size-price{color:#64748b;margin-bottom:.375rem;font-size:.6875rem}.checkout-qty-control{justify-content:center;align-items:center;gap:.25rem;display:flex}.checkout-qty-btn{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:1rem;font-weight:600;line-height:1;transition:all .15s;display:flex}.checkout-qty-btn:hover{color:#0b9dd9;background:#f0f9ff;border-color:#0b9dd9}.checkout-qty-value{text-align:center;color:#1e293b;width:24px;font-size:.8125rem;font-weight:600}.checkout-summary{background:#f8fafc;border-radius:12px;padding:1rem}.checkout-summary-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.checkout-summary-header h4{color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.75rem;font-weight:600}.checkout-clear-btn{color:#ef4444;cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem}.checkout-clear-btn:hover{text-decoration:underline}.checkout-summary-items{max-height:120px;margin-bottom:.75rem;overflow-y:auto}.checkout-empty-cart{text-align:center;color:#94a3b8;margin:0;padding:.5rem;font-size:.8125rem}.checkout-summary-item{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.checkout-summary-item:last-child{border-bottom:none}.checkout-item-info{flex-direction:column;display:flex}.checkout-item-name{color:#1e293b;font-size:.8125rem;font-weight:500}.checkout-item-size{color:#64748b;font-size:.75rem}.checkout-item-price{color:#1e293b;font-size:.875rem;font-weight:600}.checkout-summary-total{border-top:2px solid #e2e8f0;justify-content:space-between;align-items:center;padding-top:.75rem;font-weight:600;display:flex}.checkout-summary-total span:first-child{color:#1e293b}.checkout-summary-total span:last-child{color:#0b9dd9;font-size:1.25rem}.checkout-product-info{text-align:center;border-bottom:1px solid #e2e8f0;margin-bottom:1.25rem;padding-bottom:1rem}.checkout-product-name{color:#1e293b;margin-bottom:.25rem;font-size:1.125rem;font-weight:600}.checkout-product-desc{color:#64748b;margin:0 0 .5rem;font-size:.875rem}.checkout-product-price{color:#0b9dd9;font-size:1.5rem;font-weight:700}.checkout-form-group{margin-bottom:1.25rem}.checkout-label{color:#475569;text-align:center;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.checkout-quantity{justify-content:center;align-items:center;gap:.5rem;display:flex}#qty-input{text-align:center;color:#1e293b;-moz-appearance:textfield;border:2px solid #e2e8f0;border-radius:8px;width:60px;height:40px;font-size:1rem;font-weight:600}#qty-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}#qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.checkout-total{background:#f8fafc;border-radius:8px;justify-content:space-between;align-items:center;padding:1rem;font-size:1.125rem;font-weight:600;display:flex}.checkout-total span:last-child{color:#0b9dd9;font-size:1.25rem}.checkout-modal-footer{border-top:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.checkout-modal-footer .btn{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.checkout-modal-footer .btn-primary{color:#fff;background:#0b9dd9;border:none;flex:1}.checkout-modal-footer .btn-primary:hover:not(:disabled){background:#0989c2}.checkout-modal-footer .btn-primary:disabled{cursor:not-allowed;background:#94a3b8}.checkout-modal-footer .btn-secondary{color:#64748b;background:#f1f5f9;border:none}.checkout-modal-footer .btn-secondary:hover{background:#e2e8f0}.checkout-modal-footer .btn-outline-primary{color:#0b9dd9;background:#fff;border:2px solid #0b9dd9;flex:1}.checkout-modal-footer .btn-outline-primary:hover:not(:disabled){background:#f0f9ff}.checkout-modal-footer .btn-outline-primary:disabled{color:#94a3b8;cursor:not-allowed;border-color:#94a3b8}.checkout-action-buttons{flex:1;gap:.75rem;display:flex}@media (max-width:640px){.checkout-modal-wide{max-width:100%}.checkout-size-grid{grid-template-columns:repeat(2,1fr)}.checkout-preview-panel img{width:80px}}:is(html:has(.designer-section),body:has(.designer-section)){width:100%;height:100%;overflow:hidden}.designer-section,.designer-container{width:100%}html:has(.designer-section) header{padding-right:var(--scrollbar-width,15px)}.designer-disclaimer-overlay{z-index:calc(var(--z-overlay) + 1);opacity:1;visibility:visible;background:#00000080;justify-content:center;align-items:center;padding:1rem;transition:opacity .2s,visibility .2s;display:flex;position:fixed;inset:0}.designer-disclaimer-overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}.designer-disclaimer-popup{text-align:center;background:#fff;border-radius:16px;width:100%;max-width:420px;padding:2rem;position:relative;box-shadow:0 20px 40px #0003}.disclaimer-close{cursor:pointer;color:#64748b;background:#f1f5f9;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .15s;display:flex;position:absolute;top:12px;right:12px}.disclaimer-close:hover{color:#334155;background:#e2e8f0}.disclaimer-icon{color:#fff;background:linear-gradient(135deg,#0b9dd9 0%,#0879ad 100%);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 1rem;display:flex}.designer-disclaimer-popup h3{color:#1a1a1a;margin:0 0 1rem;font-size:1.375rem;font-weight:700}.designer-disclaimer-popup p{color:#64748b;margin:0 0 .75rem;font-size:.9375rem;line-height:1.6}.designer-disclaimer-popup p strong{color:#1a1a1a;font-weight:600}.designer-disclaimer-popup p:last-of-type{margin-bottom:1.5rem}.designer-disclaimer-popup .btn{border-radius:10px;padding:.75rem 2rem;font-size:1rem;font-weight:600}.designer-section{margin-top:var(--header-height);height:calc(100vh - var(--header-height));font-family:var(--font-system);background:#fff;position:relative;overflow:hidden}.designer-container{height:calc(100vh - var(--header-height));z-index:1;background:#fff;grid-template-columns:360px 1fr;gap:0;max-width:100%;padding:0;transition:grid-template-columns .3s;display:grid;position:relative;overflow:hidden}.designer-container.sidebar-collapsed{grid-template-columns:0 1fr}.designer-container .designer-sidebar{min-width:0;transition:opacity .3s,transform .3s}.designer-container.sidebar-collapsed .designer-sidebar{opacity:0;transform:translate(-100%)}.sidebar-toggle{z-index:101;background:var(--accent);cursor:pointer;border:none;border-radius:0 8px 8px 0;justify-content:center;align-items:center;width:28px;height:40px;transition:left .3s,background .2s;display:flex;position:absolute;top:12px;left:360px;box-shadow:2px 0 8px #00000026}.sidebar-toggle:hover{background:#0889bf}.sidebar-toggle svg{color:#fff;width:20px;height:20px;transition:transform .3s}.designer-container.sidebar-collapsed .sidebar-toggle{left:0}.designer-container.sidebar-collapsed .sidebar-toggle svg{transform:rotate(180deg)}.designer-main-area{background:#ddeff9;flex-direction:column;gap:0;height:100%;min-height:0;padding-bottom:64px;display:flex;position:relative;overflow:hidden}.designer-main-area>.designer-canvas-wrapper,.designer-main-area>.flat-view-panel,.designer-main-area>.ktboard-design-panel,.designer-main-area>.resize-divider,.designer-main-area>.shirt-design-panel{flex-shrink:1}.designer-sidebar-backdrop,.mobile-drag-handle,.mobile-sidebar-close,.mobile-sidebar-toggle{display:none}.designer-sidebar{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;background:#fff;flex-direction:column;display:flex;overflow:hidden auto}.designer-sidebar *{max-width:100%}.tool-section{border-bottom:1px solid var(--border-light);padding:1.25rem 1.5rem}.tool-section h3{text-transform:uppercase;letter-spacing:.03em;color:var(--text-primary);font-size:.8125rem;font-weight:600;font-family:var(--font-system);margin:0}.tool-label{font-size:.875rem;font-weight:600;font-family:var(--font-system);flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.tool-label span{color:var(--text-secondary);font-size:.875rem;font-weight:600;font-family:var(--font-system);justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.tool-label:last-child{margin-bottom:0}.tool-label strong{color:#0b9dd9;font-size:1rem;font-weight:700}.designer-canvas-wrapper{overscroll-behavior:contain;z-index:1;background:#ddeff9;border:1px solid #e2e8f0;border-top:none;border-radius:0;flex-direction:column;flex:50%;min-height:100px;display:flex;position:relative;overflow:hidden}.preview-canvas-container{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.preview-canvas-container canvas{width:100%;height:100%;display:block}.canvas-overlay{pointer-events:none;z-index:5;position:absolute;inset:0}.canvas-controls{z-index:10;gap:.5rem;display:flex}.canvas-controls.floating{z-index:10;background:#fffffff2;border-radius:8px;padding:6px;position:absolute;top:12px;right:12px;box-shadow:0 2px 8px #0000001a}.canvas-controls.floating .canvas-control-btn.text-btn{font-size:12px;font-weight:500;font-family:var(--font-system);padding:6px 10px}.canvas-controls.floating .control-separator{background:#e2e8f0;align-self:stretch;width:1px;margin:0 4px}.canvas-controls.floating .canvas-control-btn:disabled{opacity:.4;cursor:not-allowed}.canvas-controls.floating .canvas-control-btn:disabled:hover{color:#64748b;background:0 0}.canvas-controls.floating #toolbar-toggle{margin-left:auto}.canvas-controls.floating #toolbar-toggle svg{transition:transform .2s}.canvas-controls.floating.collapsed{padding:6px}.canvas-controls.floating.collapsed>:not(#toolbar-toggle){display:none!important}.canvas-controls.floating.collapsed #toolbar-toggle svg{transform:rotate(180deg)}.canvas-control-btn{cursor:pointer;height:2.25rem;color:var(--text-secondary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;background:#fffffffa;border:1px solid #e2e8f0;border-radius:0;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 1px 3px #0000000f}.canvas-control-btn span{display:none}.canvas-control-btn.with-label span{display:inline}.canvas-control-btn:hover:not(:disabled){background:var(--accent-bg);color:#0b9dd9;border-color:#0b9dd9;transform:translateY(-1px);box-shadow:0 3px 8px #0b9dd926}.canvas-control-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #0b9dd91a}.canvas-control-btn:disabled{opacity:.4;cursor:not-allowed}.canvas-control-btn.active{color:#fff;background:#0b9dd9;border-color:#0b9dd9;box-shadow:0 2px 8px #0b9dd94d}.canvas-control-btn.active:hover{color:#fff;background:#0887bd;border-color:#0887bd}.designer-actions{z-index:20;box-sizing:border-box;background:#fff;border-top:1px solid #e2e8f0;justify-content:flex-end;align-items:center;gap:.5rem;height:64px;padding:.75rem 1rem;display:flex;position:absolute;bottom:0;left:0;right:0}.canvas-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.resize-divider{background:var(--accent);z-index:1000;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s;display:flex;position:relative}.resize-divider:hover{background:#0889bf}.resize-divider.dragging,.resize-divider:active{background:#066a94}.resize-divider[data-direction=horizontal]{cursor:row-resize;box-sizing:border-box;width:100%;height:8px;margin:0}.resize-divider-vertical,.resize-divider[data-direction=vertical]{cursor:col-resize;width:8px}.resize-handle{background:#fff9;border-radius:2px}.resize-divider[data-direction=horizontal] .resize-handle{width:40px;height:4px}.resize-divider-vertical .resize-handle,.resize-divider[data-direction=vertical] .resize-handle{width:4px;height:40px}.resize-divider.dragging .resize-handle,.resize-divider:hover .resize-handle{background:#fff}.shirt-design-panel{z-index:1;background:#ddeff9;border-bottom:none;flex-direction:column;flex:50%;min-height:0;display:flex;position:relative;overflow:hidden}.shirt-panels-container{background:0 0;flex:1;justify-content:center;align-items:stretch;gap:0;min-height:0;padding:0;display:flex}.shirt-panel{background:0 0;flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.shirt-panel-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;z-index:10;pointer-events:none;border-radius:4px;padding:4px 12px;font-size:.75rem;font-weight:600;transition:all .15s;position:absolute;top:12px;left:50%;transform:translate(-50%)}.shirt-panel-canvas-container{background:0 0;flex:1;justify-content:center;align-items:center;min-height:150px;display:flex;position:relative;overflow:hidden}.shirt-panel-canvas-container canvas{cursor:default;max-width:100%;max-height:100%;display:block}.shirt-panel.active .shirt-panel-label{color:#fff;background:var(--accent);font-weight:700;box-shadow:0 2px 8px #0b9dd94d}.shirt-panel.active .shirt-panel-canvas-container canvas{border-radius:4px;box-shadow:0 0 0 3px #0b9dd940}.canvas-instructions{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;flex-shrink:0;padding:0}.canvas-instructions p{font-size:var(--text-sm);color:var(--text-muted);font-weight:500;font-family:var(--font-system);letter-spacing:-.01em;white-space:nowrap;margin:0}.designer-controls{background:#fff;border-top:1px solid #e2e8f0;padding:1rem 1.5rem}.designer-controls .control-group{margin-bottom:1rem}.designer-controls .control-group:last-child{margin-bottom:0}.designer-controls .control-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin-bottom:.5rem;font-size:.6875rem;font-weight:600;display:block}.tool-tabs{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px;padding:12px;display:grid}.tool-tab{color:#64748b;cursor:pointer;text-transform:uppercase;letter-spacing:.03em;background:0 0;border:none;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;font-size:11px;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.tool-tab:before{content:"";opacity:0;background:linear-gradient(135deg,#0b9dd914,#3b82f60f);border-radius:10px;transition:opacity .25s cubic-bezier(.4,0,.2,1);position:absolute;inset:0}.tool-tab:hover{color:#334155;background:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.tool-tab.active{color:#0b9dd9;background:#fff;transform:scale(1.02);box-shadow:0 6px 20px #0b9dd933,0 0 0 1px #0b9dd91a}.tool-tab.active:before{opacity:1}.tool-tab svg{opacity:.9;flex-shrink:0}.tool-tab.active svg{opacity:1}.tool-panel{flex-direction:column;height:100%;display:none;overflow-y:auto}.tool-panel.active{display:flex}.color-picker-modal{z-index:10000;animation:.2s ease-out fadeIn;display:none;position:fixed;inset:0}.color-picker-modal.visible{justify-content:center;align-items:center;display:flex}.color-picker-modal .color-picker-content{z-index:1;flex-direction:row;align-items:stretch;gap:24px;max-width:90vw;max-height:85vh;display:flex;position:relative}.color-picker-modal.visible .color-picker-content{animation:.3s ease-out slideUp}.color-picker-3d-preview{background:#ddeff9;border-radius:16px;flex:1;justify-content:center;align-items:center;min-width:500px;max-width:800px;min-height:500px;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px #00000080}.color-picker-3d-preview #designer-canvas,.color-picker-3d-preview canvas{display:block;width:auto!important;height:auto!important;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}.color-picker-3d-hint{color:#fff;white-space:nowrap;background:#0009;border-radius:20px;padding:8px 16px;font-size:13px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.color-picker-controls{background:#fff;border-radius:16px;flex-direction:column;width:320px;padding:24px;display:flex;box-shadow:0 25px 50px #0000004d}.color-picker-actions{gap:12px;display:flex}.color-picker-live-hint{color:#0369a1;background:#f0f9ff;border-radius:8px;justify-content:center;align-items:center;gap:6px;margin:16px 0 0;padding:10px;font-size:12px;display:flex}.color-picker-live-hint svg{flex-shrink:0}@media (max-width:1024px){.designer-container{grid-template-columns:300px 1fr}.sidebar-toggle{left:300px}.designer-container.sidebar-collapsed .sidebar-toggle{left:0}.designer-canvas-wrapper{min-height:250px}}@media (max-width:1024px) and (min-width:769px){.designer-sidebar{min-width:280px}.designer-main-area .flat-view-panel,.designer-main-area .shirt-design-panel,.designer-main-area .ktboard-design-panel{max-height:none}}@media (min-width:769px) and (max-width:1024px){.canvas-instructions p{white-space:normal;max-width:300px;font-size:.75rem;line-height:1.4}}@media (max-width:900px){.designer-actions{gap:.375rem;padding:.5rem .75rem}.canvas-control-btn.with-label span{display:none}.canvas-control-btn{padding:0 10px}.color-picker-modal .color-picker-content{flex-direction:column;max-width:95vw}.color-picker-3d-preview{min-width:unset;width:100%;min-height:300px;max-height:50vh}.color-picker-controls{width:100%}}@media (max-width:768px){.designer-disclaimer-popup{margin:1rem;padding:1.5rem}.designer-disclaimer-popup h3{font-size:1.125rem}.designer-disclaimer-popup p{font-size:.875rem}.designer-container{height:calc(100dvh - var(--header-height));flex-direction:column;width:100%;max-width:100vw;display:flex;position:relative;overflow:hidden}.resize-divider-vertical,.resize-divider[data-direction=vertical],.sidebar-toggle{display:none!important}.designer-sidebar{border:1px solid var(--border);opacity:0;visibility:hidden;z-index:1001;border-radius:16px;width:90%;max-width:320px;height:auto;max-height:70vh;transition:transform .25s,opacity .25s,visibility .25s;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)scale(.9);box-shadow:0 8px 32px #0003}.designer-sidebar.mobile-open{opacity:1;visibility:visible;transform:translate(-50%,-50%)scale(1)}.designer-sidebar.dragging{cursor:grabbing;transition:none}.designer-sidebar-backdrop{display:none!important}.designer-main-area{box-sizing:border-box;flex-direction:column;gap:0;width:100%;max-width:100vw;height:100%;min-height:auto;padding:8px 8px 70px;display:flex;overflow:hidden}.designer-canvas-wrapper,.flat-view-panel,.shirt-design-panel,.ktboard-design-panel{border-radius:8px;flex:50%;min-height:120px;margin:0;overflow:hidden}.resize-divider[data-direction=horizontal]{touch-action:none;border-radius:5px;height:10px;margin:4px 0}.resize-divider[data-direction=horizontal] .resize-handle{width:50px;height:5px}.tool-section,.product-config{padding:1rem}.product-config-header{margin-bottom:.75rem}.designer-actions{padding:.5rem .75rem;padding-bottom:max(.5rem,env(safe-area-inset-bottom));z-index:var(--z-sticky);background:#fff;border-top:1px solid #e2e8f0;flex-wrap:wrap;justify-content:center;gap:.375rem;display:flex;position:fixed;bottom:0;left:0;right:0}.designer-sidebar-backdrop.visible~.mobile-sidebar-toggle,.designer-sidebar.mobile-open~.mobile-sidebar-toggle{display:none}.shirt-panels-container{gap:0;padding:0}.shirt-panel{min-height:120px}.shirt-panel-canvas-container{min-height:100px}.shirt-panel-label{font-size:.65rem;top:8px}.canvas-instructions{display:none}.canvas-actions{flex-direction:column;width:100%}.mobile-drag-handle{cursor:grab;z-index:11;background:#f8fafc;border-bottom:1px solid #e2e8f0;border-radius:16px 16px 0 0;justify-content:center;align-items:center;padding:10px 48px 6px 10px;display:flex;position:sticky;top:0}.mobile-drag-handle span{background:#cbd5e1;border-radius:2px;width:40px;height:4px}.mobile-drag-handle:active{cursor:grabbing}.mobile-sidebar-toggle{background:var(--accent);color:#fff;z-index:999;cursor:pointer;white-space:nowrap;border:none;border-radius:22px;justify-content:center;align-items:center;gap:8px;height:44px;padding:0 20px;font-size:.9375rem;font-weight:600;transition:transform .2s,box-shadow .2s;display:flex;position:fixed;bottom:85px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0b9dd966}.mobile-sidebar-toggle span{display:inline}.mobile-sidebar-toggle:active{transform:translate(-50%)scale(.95)}.mobile-sidebar-toggle svg{width:20px;height:20px}.mobile-sidebar-close{cursor:pointer;z-index:12;background:#fee2e2;border:1px solid #fca5a5;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:flex;position:absolute;top:10px;right:10px;box-shadow:0 2px 8px #ef444426}.mobile-sidebar-close:active{background:#fecaca}.mobile-sidebar-close svg{color:#dc2626;width:20px;height:20px}}@media (max-width:480px){.shirt-panel{min-height:100px}.shirt-panel-canvas-container{min-height:80px}.tool-section{padding:.875rem 1rem}.tool-section h3{font-size:.75rem}.designer-main-area{padding:6px}.designer-canvas-wrapper,.flat-view-panel,.shirt-design-panel,.ktboard-design-panel{min-height:100px}.product-config{padding:.875rem 1rem}}@media (max-width:420px){.designer-actions{justify-content:center;gap:.25rem;padding:.5rem}}@media (max-width:300px){.designer-disclaimer-popup{margin:.5rem;padding:1rem}.designer-disclaimer-popup h3{font-size:1rem}.tool-section{padding:.75rem}.color-picker-content{flex-direction:column;max-height:90vh}.color-picker-3d-preview{height:200px;min-height:200px}.color-picker-controls{padding:1rem}}@media (max-height:500px){.designer-section{height:auto;min-height:100vh}.designer-disclaimer-popup{max-height:80vh;overflow-y:auto}}#shirt-checkout-modal,#cart-modal{z-index:100000;-webkit-backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.checkout-modal-content,.cart-modal-content{z-index:1;background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:600px;max-height:90vh;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.cart-modal-content{max-width:650px}.checkout-header,.cart-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.checkout-header h2,.cart-header h2{color:#111827;margin:0;font-size:1.25rem;font-weight:600}.checkout-close,.cart-close{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:8px;width:36px;height:36px;font-size:1.5rem}.checkout-close:hover,.cart-close:hover{background:#e5e7eb}.checkout-body{flex:1;padding:1.5rem;overflow-y:auto}.cart-body{flex:1;padding:1rem 1.5rem;overflow-y:auto}.checkout-section{margin-bottom:1.5rem}.checkout-section-title{color:#374151;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;font-size:.875rem;font-weight:600}.style-selector{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.style-option{cursor:pointer;text-align:center;background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:1rem;transition:all .2s}.style-option:hover{border-color:#d1d5db}.style-option.selected{background:#f0f9ff;border-color:#0b9dd9}.style-option-name{color:#111827;font-size:.9rem;font-weight:600}.size-grid{grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}.size-item{text-align:center;border:2px solid #e5e7eb;border-radius:10px;padding:.75rem .5rem;transition:all .2s}.size-item.has-qty{background:#f0f9ff;border-color:#0b9dd9}.size-item-label{color:#111827;font-size:1rem;font-weight:700}.size-item-price{color:#6b7280;margin-top:2px;font-size:.75rem}.size-item-qty{justify-content:center;align-items:center;margin-top:.5rem;display:flex}.qty-btn{cursor:pointer;color:#374151;background:#fff;border:1px solid #d1d5db;width:28px;height:28px;font-size:1rem;font-weight:600}.qty-btn:hover{background:#f3f4f6}.qty-btn:first-child{border-radius:6px 0 0 6px}.qty-btn:last-child{border-radius:0 6px 6px 0}.qty-input{text-align:center;color:#111827;border:1px solid #d1d5db;border-left:none;border-right:none;width:36px;height:28px;font-size:.875rem;font-weight:600}.design-preview{justify-content:center;align-items:flex-start;gap:1.5rem;display:flex}.design-preview-item{text-align:center;width:140px}.design-preview-item img{-o-object-fit:contain;object-fit:contain;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;width:100%;height:140px;display:block}.design-preview-item .preview-label{color:#475569;text-transform:uppercase;letter-spacing:.05em;background:#f1f5f9;border-radius:4px;margin-top:.5rem;padding:.25rem .75rem;font-size:.7rem;font-weight:600;display:inline-block;position:static}.design-preview-item.no-design img{opacity:.4}.design-preview-item.no-design .preview-label{color:#9ca3af}.design-preview-placeholder{background:linear-gradient(135deg,#f3f4f6 0%,#e5e7eb 100%);justify-content:center;align-items:center;display:flex}.print-sides-badge{color:#1d4ed8;background:#dbeafe;border-radius:9999px;margin-bottom:.5rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.checkout-footer,.cart-footer{background:#f9fafb;border-top:1px solid #e5e7eb;padding:1rem 1.5rem}.order-summary{margin-bottom:1rem}.order-summary-row{justify-content:space-between;padding:.25rem 0;font-size:.875rem;display:flex}.order-summary-row.total{border-top:2px solid #e5e7eb;margin-top:.5rem;padding-top:.75rem;font-size:1.125rem;font-weight:700}.order-items-list{max-height:100px;margin-bottom:.5rem;overflow-y:auto}.order-items-list:empty{display:none}.order-item{color:#4b5563;justify-content:space-between;padding:.2rem 0;font-size:.8rem;display:flex}.checkout-buttons,.cart-actions{gap:.75rem;display:flex}.checkout-btn,.cart-btn{cursor:pointer;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.875rem 1rem;font-size:.95rem;font-weight:600;display:flex}.cart-btn{border-radius:8px}.checkout-btn.primary,.cart-btn.primary{color:#fff;background:#0b9dd9}.checkout-btn.primary:hover:not(:disabled),.cart-btn.primary:hover{background:#0a8bc4}.checkout-btn.secondary,.cart-btn.secondary{color:#374151;background:#fff;border:2px solid #d1d5db}.cart-btn.secondary{border-width:1px}.checkout-btn.secondary:hover:not(:disabled),.cart-btn.secondary:hover{background:#f9fafb}.checkout-btn:disabled{opacity:.5;cursor:not-allowed}.checkout-btn svg{width:18px;height:18px}.empty-order-msg{text-align:center;color:#6b7280;padding:.5rem;font-size:.875rem}.style-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:.75rem;overflow:hidden}.style-section-header{cursor:pointer;background:#f9fafb;justify-content:space-between;align-items:center;padding:.875rem 1rem;transition:background .2s;display:flex}.style-section-header:hover{background:#f3f4f6}.style-header-left{align-items:center;gap:.875rem;display:flex}.style-thumb{-o-object-fit:cover;object-fit:cover;border:1px solid #e5e7eb;border-radius:8px;width:48px;height:48px}.style-header-info{flex-direction:column;gap:.125rem;display:flex}.style-header-name{color:#1f2937;font-size:.95rem;font-weight:600}.style-header-count{color:#6b7280;font-size:.8rem}.style-toggle-icon{color:#9ca3af;flex-shrink:0;transition:transform .2s}.style-section-body{background:#fff;border-top:1px solid #e5e7eb;padding:1rem;display:none}.style-section-body.expanded{display:block}.style-section-body.expanded~.style-section-header .style-toggle-icon{transform:rotate(180deg)}.style-section:has(.style-section-body.expanded) .style-toggle-icon{transform:rotate(180deg)}.design-section{text-align:center}.cart-empty{text-align:center;color:#6b7280;padding:3rem 1rem}.cart-item{background:#f9fafb;border-radius:10px;gap:1rem;margin-bottom:.75rem;padding:1rem;display:flex}.cart-item-preview{gap:.5rem;display:flex}.cart-item-preview img{-o-object-fit:contain;object-fit:contain;background:#fff;border:1px solid #e5e7eb;border-radius:6px;width:60px;height:60px}.cart-item-details{flex:1}.cart-item-title{margin-bottom:.25rem;font-size:.95rem;font-weight:600}.cart-item-sizes{color:#6b7280;margin-bottom:.5rem;font-size:.8rem}.cart-item-price{color:#0b9dd9;font-weight:600}.cart-item-remove{color:#ef4444;cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:4px;padding:.25rem;font-size:1.2rem}.cart-item-remove:hover{opacity:1;background:#fee2e2}.cart-total{justify-content:space-between;margin-bottom:1rem;font-size:1.125rem;display:flex}.cart-total-amount{font-size:1.5rem;font-weight:700}.checkout-fallback-modal{z-index:100000;-webkit-backdrop-filter:blur(4px);background:#0006;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.checkout-fallback-overlay{position:absolute;inset:0}.checkout-fallback-content{z-index:1;background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:500px;max-height:90vh;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.checkout-fallback-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.checkout-fallback-header h2{color:#111827;margin:0;font-size:1.25rem;font-weight:600}.checkout-fallback-close{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.5rem;line-height:1;transition:background .15s;display:flex}.checkout-fallback-close:hover{background:#e5e7eb}.checkout-fallback-body{flex:1;padding:1.5rem;overflow-y:auto}.checkout-order-summary{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:1.25rem;padding:1rem 1.25rem}.checkout-order-summary .order-id{color:#6b7280;margin-bottom:.625rem;font-size:.75rem;font-weight:600}.checkout-order-summary .order-items{max-height:100px;margin-bottom:.5rem;overflow-y:auto}.checkout-order-summary .order-item-row{color:#4b5563;align-items:center;gap:.5rem;padding:.375rem 0;font-size:.8125rem;display:flex}.checkout-order-summary .item-qty{color:#6b7280;min-width:2rem;font-weight:500}.checkout-order-summary .item-name{color:#374151;flex:1}.checkout-order-summary .item-price{color:#111827;font-weight:600}.checkout-order-summary .order-total-row{border-top:2px solid #e5e7eb;justify-content:space-between;align-items:center;margin-top:.5rem;padding-top:.75rem;font-size:1.125rem;font-weight:700;display:flex}.checkout-order-summary .order-total-row span:first-child{color:#374151}.checkout-order-summary .order-total-price{color:#0b9dd9}.checkout-form .form-section{margin-bottom:1.25rem}.checkout-form .form-section h3{color:#374151;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;font-size:.875rem;font-weight:600}.checkout-form .form-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.checkout-form .form-row.form-row-address{grid-template-columns:1fr 70px 90px}.checkout-form .form-group{margin-bottom:.75rem}.checkout-form .form-row .form-group{margin-bottom:0}.checkout-form label{color:#6b7280;margin-bottom:.375rem;font-size:.75rem;font-weight:500;display:block}.checkout-form input,.checkout-form textarea{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:.625rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.checkout-form input::-moz-placeholder{color:#9ca3af}.checkout-form textarea::-moz-placeholder{color:#9ca3af}.checkout-form input::placeholder,.checkout-form textarea::placeholder{color:#9ca3af}.checkout-form input:hover,.checkout-form textarea:hover{border-color:#9ca3af}.checkout-form input:focus,.checkout-form textarea:focus{border-color:#0b9dd9;outline:none;box-shadow:0 0 0 3px #0b9dd91a}.checkout-form textarea{resize:vertical;min-height:60px}.checkout-form-footer{border-top:1px solid #e5e7eb;margin-top:.5rem;padding:1rem 0 0}.checkout-form-footer .checkout-note{color:#6b7280;text-align:center;margin-bottom:1rem;font-size:.8125rem;line-height:1.5}.btn-submit-order{color:#fff;cursor:pointer;background:#0b9dd9;border:none;border-radius:8px;width:100%;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;transition:background .15s}.btn-submit-order:hover{background:#0a8bc4}.btn-submit-order:active{background:#0879ad}.btn-submit-order:disabled{opacity:.5;cursor:not-allowed}.checkout-loader{z-index:100001;-webkit-backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.checkout-loader-content{text-align:center;color:#fff}.loader-spinner{border:4px solid #fff3;border-top-color:#fff;border-radius:50%;width:48px;height:48px;margin:0 auto 1.5rem;animation:1s linear infinite spin}.checkout-loader-content p{font-size:1.125rem;font-weight:500}@media (max-width:480px){.size-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:540px){.checkout-fallback-content{border-radius:12px;max-height:calc(100vh - 2rem)}.checkout-fallback-body{padding:1.25rem}.checkout-form .form-row{grid-template-columns:1fr}.checkout-form .form-row.form-row-address{grid-template-columns:1fr 60px 80px}}.product-config{background:#fff;padding:1.25rem 1.5rem}.product-config-header{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.product-config-header h3{text-transform:uppercase;letter-spacing:.03em;color:var(--text-primary);margin:0;font-size:.8125rem;font-weight:600}.step-number{color:#fff;background:#0b9dd9;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:700;display:flex}.config-compact{flex-direction:column;gap:.75rem;display:flex}.config-label{flex-direction:column;gap:.375rem;display:flex}.config-label-text{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.design-select-compact{color:#1a1a1a;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:100%;padding:.625rem .75rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.design-select-compact:hover{border-color:#cbd5e1}.design-select-compact:focus{border-color:#0b9dd9;outline:none;box-shadow:0 0 0 3px #0b9dd91a}.size-static{color:#64748b;background:#f1f5f9;border-radius:8px;padding:.625rem .75rem;font-size:.875rem;font-weight:500}.upload-btn{color:#64748b;cursor:pointer;background:#fff;border:2px dashed #e2e8f0;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.upload-btn:hover{color:#0b9dd9;background:#f0f9ff;border-color:#0b9dd9}.upload-btn svg{flex-shrink:0}.tool-section-header{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.tool-section-header h3{color:#1a1a1a;margin:0;font-size:.875rem;font-weight:600}.product-scale-info{margin-top:.75rem}.scale-indicator{color:#0369a1;background:#f0f9ff;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.75rem;font-weight:500;display:flex}.scale-indicator svg{opacity:.8;flex-shrink:0}.flat-view-panel{min-height:0;z-index:var(--z-base);background:#ddeff9;border-bottom:none;flex-direction:column;flex:50%;display:flex;position:relative;overflow:hidden}.flat-view-canvas-container{background:0 0;flex:1;justify-content:center;align-items:center;min-height:150px;display:flex;position:relative;overflow:hidden}.flat-view-canvas-container canvas{cursor:default;max-width:100%;max-height:100%;display:block}.ktboard-design-panel{min-height:0;z-index:var(--z-base);background:#ddeff9;border-bottom:none;flex-direction:column;flex:50%;display:flex;position:relative;overflow:hidden}.ktboard-panel{background:0 0;flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.ktboard-canvas-container{background:0 0;flex:1;justify-content:center;align-items:center;min-height:150px;display:flex;position:relative;overflow:hidden}.ktboard-canvas-container canvas{cursor:default;max-width:100%;max-height:100%;display:block}.flat-view-panel.hidden,.shirt-design-panel.hidden,.ktboard-design-panel.hidden{display:none!important}.layers-list{flex-direction:column;gap:.5rem;min-height:60px;display:flex}.empty-state-text{text-align:center;color:#94a3b8;padding:1rem 0;font-size:.8125rem;line-height:1.5}.empty-state-text span{opacity:.8;font-size:.75rem}.layer-item{cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:.5rem;padding:.625rem .75rem;transition:all .15s;display:flex}.layer-item:hover{background:#f1f5f9;border-color:#cbd5e1}.layer-item.selected{background:#f0f9ff;border-color:#0b9dd9}.layer-item-thumb{-o-object-fit:cover;object-fit:cover;background:#e2e8f0;border-radius:4px;flex-shrink:0;width:32px;height:32px}.layer-item-info{flex:1;min-width:0}.layer-item-name{color:#1a1a1a;white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:500;overflow:hidden}.layer-item-type{color:#94a3b8;text-transform:uppercase;font-size:.6875rem}.layer-item-delete{color:#94a3b8;cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;transition:all .15s;display:flex}.layer-item:hover .layer-item-delete{opacity:1}.layer-item-delete:hover{color:#dc2626;background:#fee2e2}#element-actions{justify-content:center;margin-top:.75rem;display:flex}.layer-btn{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;justify-content:center;align-items:center;gap:.375rem;padding:.5rem .75rem;font-size:.75rem;font-weight:500;transition:all .15s;display:flex}.layer-btn:hover{color:#475569;border-color:#cbd5e1}.clear-btn:hover{color:#dc2626;background:#fef2f2;border-color:#fca5a5}.color-palette-display{background:#f8fafc;border-radius:8px;padding:.75rem}.palette-header{color:#64748b;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.8125rem;display:flex}.palette-header strong{color:#0b9dd9;font-weight:600}.color-swatches-grid{flex-wrap:wrap;gap:.375rem;display:flex}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:6px;width:28px;height:28px;transition:all .15s;box-shadow:inset 0 0 0 1px #0000001a}.color-swatch:hover{transform:scale(1.1);box-shadow:0 2px 8px #00000026}.color-swatch.selected,.color-swatch.active{border-color:#0b9dd9;box-shadow:0 0 0 2px #0b9dd94d}.no-colors{color:#94a3b8;text-align:center;margin:0;padding:.5rem 0;font-size:.75rem}.color-click-hint{color:#94a3b8;text-align:center;margin-top:.5rem;font-size:.6875rem}.selected-colors-display{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-top:.75rem;padding:.75rem}.selected-colors-header{color:#475569;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.8125rem;font-weight:500;display:flex}.color-adjust-controls{align-items:center;gap:.25rem;display:flex}.color-adjust-controls button{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;font-size:1rem;font-weight:600;transition:all .15s;display:flex}.color-adjust-controls button:hover{color:#0b9dd9;background:#f0f9ff;border-color:#0b9dd9}.color-adjust-controls span{text-align:center;color:#1a1a1a;min-width:20px;font-size:.8125rem;font-weight:600}.design-textarea{resize:vertical;border:1px solid #e2e8f0;border-radius:8px;width:100%;min-height:60px;padding:.75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.design-textarea:focus{border-color:#0b9dd9;outline:none;box-shadow:0 0 0 3px #0b9dd91a}.design-textarea::placeholder{color:#94a3b8}.upload-note{color:#64748b;text-align:center;margin:0;font-size:.75rem}.designer-sidebar::-webkit-scrollbar{width:6px}.designer-sidebar::-webkit-scrollbar-track{background:0 0}.designer-sidebar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.designer-sidebar::-webkit-scrollbar-thumb:hover{background:#94a3b8}.step-number{background:linear-gradient(135deg,#0b9dd9 0%,#0879ad 100%);transition:transform .2s,box-shadow .2s;box-shadow:0 2px 8px #0b9dd94d}.tool-section:hover .step-number{transform:scale(1.05);box-shadow:0 4px 12px #0b9dd966}.upload-btn{background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);border:2px dashed #cbd5e1;position:relative;overflow:hidden}.upload-btn:before{content:"";opacity:0;background:linear-gradient(135deg,#0b9dd90d 0%,#0b9dd91a 100%);transition:opacity .25s;position:absolute;inset:0}.upload-btn:hover:before{opacity:1}.upload-btn:hover{border-style:solid;border-color:#0b9dd9;transform:translateY(-2px);box-shadow:0 4px 12px #0b9dd926}.upload-btn:active{transform:translateY(0);box-shadow:0 2px 6px #0b9dd91a}.layer-item{background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);border:1px solid #e2e8f0;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000000a}.layer-item:hover{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-color:#cbd5e1;transform:translate(4px);box-shadow:0 4px 12px #00000014}.layer-item.selected{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border-color:#0b9dd9;box-shadow:0 4px 12px #0b9dd926,inset 0 0 0 1px #0b9dd91a}.color-swatch{transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0000001a,inset 0 0 0 1px #00000014}.color-swatch:hover{z-index:var(--z-dropdown);transform:scale(1.15)translateY(-2px);box-shadow:0 6px 16px #0003}.color-swatch:active{transform:scale(1.05)}.designer-actions{background:linear-gradient(#fff 0%,#f8fafc 100%);overflow-x:auto;box-shadow:0 -4px 16px #0000000f;flex-wrap:nowrap!important}.designer-actions .btn{white-space:nowrap;flex-shrink:0;padding:.5rem .75rem;font-size:.8125rem}.designer-actions .btn svg{width:16px;height:16px}.designer-actions .btn{transition:all .2s cubic-bezier(.4,0,.2,1)}.designer-actions .btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.designer-actions .btn:active{transform:translateY(0)}.designer-actions .btn-primary{background:linear-gradient(135deg,#0b9dd9 0%,#0879ad 100%);box-shadow:0 2px 8px #0b9dd94d}.designer-actions .btn-primary:hover{background:linear-gradient(135deg,#0aa8e8 0%,#0b9dd9 100%);box-shadow:0 6px 20px #0b9dd966}.canvas-controls.floating{-webkit-backdrop-filter:blur(12px);background:#fffffffa;border-radius:10px;box-shadow:0 4px 16px #0000001a,0 0 0 1px #0000000d}.canvas-control-btn{border-radius:6px;transition:all .15s cubic-bezier(.4,0,.2,1)}.canvas-control-btn:hover:not(:disabled){transform:scale(1.05)}.canvas-control-btn.active{background:linear-gradient(135deg,#0b9dd9 0%,#0879ad 100%);box-shadow:0 2px 8px #0b9dd966}.resize-divider{background:linear-gradient(90deg,#0b9dd9 0%,#0aa8e8 50%,#0b9dd9 100%);box-shadow:0 0 8px #0b9dd933}.resize-divider:hover{background:linear-gradient(90deg,#0aa8e8 0%,#0bc5ea 50%,#0aa8e8 100%);box-shadow:0 0 12px #0b9dd94d}.resize-handle{background:#fffc;box-shadow:0 1px 3px #0003}.flat-view-panel,.shirt-design-panel,.ktboard-design-panel,.designer-canvas-wrapper{background:#ddeff9}.shirt-panel{border:3px solid #0000;border-radius:8px;margin:4px;transition:all .2s}.shirt-panel:hover:not(.active){background:#0b9dd908;border-color:#0b9dd933}.shirt-panel.active{background:#0b9dd914;border-color:#0b9dd9;box-shadow:0 0 0 4px #0b9dd926,0 4px 16px #0b9dd933}.shirt-design-panel.transparent-mode,.shirt-design-panel.transparent-mode .shirt-panels-container{background:0 0!important}.shirt-design-panel.transparent-mode .shirt-panel{border-color:#0b9dd94d;background:0 0!important}.shirt-design-panel.transparent-mode .shirt-panel:hover,.shirt-design-panel.transparent-mode .shirt-panel.active{border-color:#0b9dd9;background:#0b9dd90d!important}.shirt-design-panel.transparent-mode .shirt-panel-canvas-container{background:0 0!important}.shirt-design-panel.transparent-mode .shirt-panel-canvas-container:before{display:none}.shirt-panel-label{-webkit-backdrop-filter:blur(4px);background:#94a3b81a}.shirt-panel.active .shirt-panel-label{animation:.3s labelPop}@keyframes labelPop{0%{transform:translate(-50%)scale(.9)}50%{transform:translate(-50%)scale(1.05)}to{transform:translate(-50%)scale(1)}}.preview-canvas-container,.flat-view-canvas-container,.shirt-panel-canvas-container,.ktboard-canvas-container{transition:width .3s,height .3s}.product-config{background:#fff;position:relative}.product-config:after{content:"";background:linear-gradient(90deg,#0000 0%,#e2e8f0 20% 80%,#0000 100%);height:1px;position:absolute;bottom:0;left:1.5rem;right:1.5rem}.design-select-compact{cursor:pointer;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 12px center no-repeat;padding-right:36px;box-shadow:0 1px 3px #0000000a}.design-select-compact:hover{box-shadow:0 2px 8px #00000014}.color-palette-display{background:#f8fafc;border:1px solid #e2e8f0}.tool-section{position:relative}.tool-section:after{content:"";background:linear-gradient(90deg,#0000 0%,#e2e8f0 20% 80%,#0000 100%);height:1px;position:absolute;bottom:0;left:1.5rem;right:1.5rem}.tool-section:last-child:after{display:none}.empty-state-text{background:linear-gradient(135deg,#f8fafc 0%,#fff 100%);border:1px dashed #e2e8f0;border-radius:8px;margin:.5rem 0;padding:1.5rem 1rem}.color-picker-controls{background:linear-gradient(#fff 0%,#f8fafc 100%)}.color-preview-row{background:#f8fafc;border-radius:10px;justify-content:center;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:1rem;display:flex}.color-preview-swatch:hover{transform:scale(1.05)}.color-hex-row input{text-transform:uppercase;border:1px solid #e2e8f0;border-radius:8px;flex:1;padding:.625rem .75rem;font-family:monospace;font-size:.875rem;transition:all .15s}.designer-disclaimer-popup{background:linear-gradient(#fff 0%,#f8fafc 100%);animation:.3s cubic-bezier(.34,1.56,.64,1) popIn}@keyframes popIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.disclaimer-icon{animation:.5s .2s both iconBounce}@keyframes iconBounce{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}.canvas-control-btn[title]:hover:after{content:attr(title);color:#fff;white-space:nowrap;z-index:var(--z-overlay);pointer-events:none;background:#1a1a1a;border-radius:6px;padding:6px 10px;font-size:11px;font-weight:500;animation:.15s tooltipIn;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0003}.canvas-control-btn[title]:hover:before{content:"";z-index:var(--z-overlay);pointer-events:none;border:6px solid #0000;border-bottom-color:#1a1a1a;animation:.15s tooltipIn;position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%)}@keyframes tooltipIn{0%{opacity:0;transform:translate(-50%)translateY(-4px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.btn:focus-visible,.upload-btn:focus-visible,.canvas-control-btn:focus-visible,.layer-item:focus-visible{outline-offset:2px;outline:2px solid #0b9dd9}.layer-item-thumb{background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%) 0 0/200% 100%}.layer-item-thumb[src]{background:0 0}.flat-view-canvas-container:before,.shirt-panel-canvas-container:before,.ktboard-canvas-container:before{content:"";pointer-events:none;z-index:var(--z-base);background:radial-gradient(#0000 50%,#00000005 100%);position:absolute;inset:0}.color-picker-modal{z-index:var(--z-overlay);justify-content:center;align-items:center;padding:2rem;display:none;position:fixed;inset:0}.color-picker-modal:before{content:"";-webkit-backdrop-filter:blur(8px);background:#0f172acc;position:absolute;inset:0}.color-picker-modal[style*="display: flex"],.color-picker-modal[style*=display\:flex]{display:flex!important}.color-picker-modal .color-picker-content{z-index:var(--z-base);flex-direction:row;gap:24px;width:100%;max-width:1000px;max-height:80vh;animation:.3s ease-out modalSlideIn;display:flex;position:relative}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.color-picker-3d-preview{background:linear-gradient(135deg,#ddeff9 0%,#e8f4fc 100%);border-radius:16px;flex:1;justify-content:center;align-items:center;min-width:400px;min-height:400px;max-height:70vh;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #0000004d,0 0 0 1px #ffffff1a}.color-picker-3d-preview canvas{-o-object-fit:contain!important;object-fit:contain!important;width:100%!important;height:100%!important;display:block!important}.color-picker-3d-hint{color:#fff;white-space:nowrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;border-radius:24px;padding:10px 20px;font-size:13px;font-weight:500;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0003}.color-picker-controls{background:linear-gradient(#fff 0%,#f8fafc 100%);border-radius:16px;flex-direction:column;flex-shrink:0;width:340px;padding:28px;display:flex;box-shadow:0 20px 60px #0000004d,0 0 0 1px #ffffff1a}.color-picker-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;display:flex}.color-picker-header h4{color:#1a1a1a;margin:0;font-size:1.25rem;font-weight:700}.color-picker-close{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:24px;transition:all .2s;display:flex}.color-picker-close:hover{color:#dc2626;background:#fee2e2}.color-preview-row{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:1px solid #e2e8f0;border-radius:12px;justify-content:center;align-items:center;gap:16px;margin-bottom:24px;padding:20px;display:flex}.color-preview-item{flex-direction:column;align-items:center;gap:8px;display:flex}.color-preview-swatch{border-radius:12px;width:64px;height:64px;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 16px #00000026,inset 0 0 0 1px #0000001a}.color-preview-swatch:hover{transform:scale(1.05);box-shadow:0 6px 20px #0003,inset 0 0 0 1px #0000001a}.color-preview-label{color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:600}.color-preview-row>svg{opacity:.5}.color-picker-wheel-container{text-align:center;margin-bottom:20px}.color-picker-wheel{cursor:pointer;background:0 0;border:none;border-radius:12px;width:100%;height:100px;padding:0}.color-picker-wheel::-webkit-color-swatch-wrapper{padding:0}.color-picker-wheel::-webkit-color-swatch{border:none;border-radius:12px;box-shadow:inset 0 0 0 1px #0000001a,0 4px 12px #00000026}.color-picker-wheel::-moz-color-swatch{border:none;border-radius:12px}.color-picker-hint{color:#94a3b8;margin:10px 0 0;font-size:12px}.color-hex-row{align-items:center;gap:12px;margin-bottom:20px;display:flex}.color-hex-row label{color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700}.color-hex-row input{text-transform:uppercase;border:2px solid #e2e8f0;border-radius:10px;flex:1;padding:12px 14px;font-family:SF Mono,Monaco,monospace;font-size:15px;font-weight:600;transition:all .2s}.color-hex-row input:focus{border-color:#0b9dd9;outline:none;box-shadow:0 0 0 4px #0b9dd926}#palette-swatches-section{margin-bottom:20px}.palette-label{color:#64748b;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:12px;font-weight:700;display:block}#picker-palette-swatches{flex-wrap:wrap;gap:8px;display:flex}#picker-palette-swatches .color-swatch{border-radius:8px!important;width:36px!important;height:36px!important;transition:all .2s!important}#picker-palette-swatches .color-swatch:hover{transform:scale(1.15)!important;box-shadow:0 4px 12px #0003!important}.color-picker-actions{border-top:1px solid #e2e8f0;gap:12px;margin-top:auto;padding-top:20px;display:flex}.color-picker-actions .btn{border-radius:10px;flex:1;padding:14px 20px;font-size:15px;font-weight:600;transition:all .2s}.color-picker-actions .btn-secondary{color:#475569;background:#f1f5f9;border:2px solid #e2e8f0}.color-picker-actions .btn-secondary:hover{background:#e2e8f0;border-color:#cbd5e1}.color-picker-actions .btn-primary{color:#fff;background:linear-gradient(135deg,#0b9dd9 0%,#0879ad 100%);border:none;box-shadow:0 4px 12px #0b9dd94d}.color-picker-actions .btn-primary:hover{background:linear-gradient(135deg,#0aa8e8 0%,#0b9dd9 100%);transform:translateY(-2px);box-shadow:0 6px 20px #0b9dd966}@media (max-width:900px){.color-picker-modal .color-picker-content{flex-direction:column;max-height:90vh;overflow-y:auto}.color-picker-3d-preview{min-width:unset;width:100%;min-height:280px;max-height:40vh}.color-picker-controls{width:100%}}@media (max-width:480px){.color-picker-modal{padding:1rem}.color-picker-controls{padding:20px}.color-preview-swatch{width:52px;height:52px}}.designer-disclaimer-overlay{overflow:hidden}:is(html:has(.designer-disclaimer-overlay:not(.hidden)),body:has(.designer-disclaimer-overlay:not(.hidden))){overflow:hidden!important}.resize-divider,#resize-divider-h{isolation:isolate;position:relative;z-index:var(--z-sticky)!important;flex-shrink:0!important}.flat-view-panel,.shirt-design-panel,.ktboard-design-panel,.designer-canvas-wrapper{z-index:var(--z-base);overflow:hidden}@media (max-width:768px){.designer-canvas-wrapper .canvas-controls.floating{width:fit-content;z-index:var(--z-sticky);border-radius:8px;padding:4px;top:8px;left:auto;right:8px}.designer-canvas-wrapper .canvas-controls.floating .canvas-control-btn{height:32px;padding:0 8px;font-size:11px}.flat-view-panel,.designer-canvas-wrapper{background:linear-gradient(135deg,#e3f2fd 0%,#ddeff9 100%);border:1px solid #0b9dd933;box-shadow:inset 0 1px 3px #0000000d}.preview-canvas-container,.flat-view-canvas-container{height:100%;min-height:0!important}.flat-view-panel .canvas-instructions{z-index:var(--z-base);white-space:nowrap;background:#ffffffe6;border-radius:4px;padding:4px 10px;font-size:11px;display:block;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.mobile-sidebar-toggle{z-index:var(--z-sticky)}.designer-section,.designer-container,.designer-main-area{width:100%!important;min-width:0!important;max-width:100%!important}.designer-sidebar-backdrop.visible{z-index:var(--z-fixed);background:#00000080;position:fixed;inset:0;display:block!important}body.sidebar-open .mobile-sidebar-toggle{display:none!important}.mobile-drag-handle{justify-content:center!important;padding:12px 10px 8px!important}.designer-canvas-wrapper .canvas-controls.floating.collapsed{width:auto!important;padding:4px!important;left:auto!important}.designer-sidebar.mobile-open{overflow:hidden auto!important}}.designer-section,.designer-container,.designer-main-area{width:100%!important;min-width:0!important;max-width:100%!important}.designer-main-area{flex:auto}.designer-canvas-wrapper,.flat-view-panel,.shirt-design-panel,.ktboard-design-panel,.preview-canvas-container,.flat-view-canvas-container,.shirt-panel-canvas-container{width:100%;min-width:0}@media (max-width:480px){.designer-actions{overflow-x:auto;flex-wrap:nowrap!important;justify-content:center!important;gap:.375rem!important;padding:.5rem!important}.designer-actions .btn{flex:none;padding:.375rem .5rem;font-size:0}.designer-actions .btn svg{width:18px;height:18px;margin:0}}@media (max-height:600px){.designer-section{height:auto;min-height:100dvh}.designer-actions{flex-wrap:nowrap;justify-content:center;gap:.375rem;padding:.5rem;position:relative;bottom:auto}.designer-actions .btn{padding:.375rem .625rem;font-size:.75rem}@media (max-width:480px){.designer-actions .btn{font-size:0}}}.canvas-control-btn span{text-overflow:ellipsis;white-space:nowrap;max-width:70px;overflow:hidden}.canvas-controls.floating{scrollbar-width:none;max-width:calc(100% - 24px);overflow-x:auto}.canvas-controls.floating::-webkit-scrollbar{display:none}.checkout-modal-content,.cart-modal-content{border-radius:16px;overflow:hidden}.checkout-body,.cart-body{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;border-radius:0 0 16px 16px;overflow:hidden auto}.checkout-body::-webkit-scrollbar{width:6px}.cart-body::-webkit-scrollbar{width:6px}.checkout-body::-webkit-scrollbar-track{background:0 0}.cart-body::-webkit-scrollbar-track{background:0 0}.checkout-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.cart-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.checkout-close,.cart-close{z-index:10;flex-shrink:0;position:absolute;top:1rem;right:1rem}.checkout-header,.cart-header{z-index:5;background:#f9fafb;border-radius:16px 16px 0 0;position:sticky;top:0}#request-quote-btn,#add-to-cart-design{display:none!important}[data-product=cup] #request-quote-btn,[data-product=shirt] #add-to-cart-design,[data-product=ktboard] #add-to-cart-design{display:inline-flex!important}.designer-canvas-wrapper,.flat-view-panel,.shirt-design-panel,.ktboard-design-panel{opacity:0;animation:.28s ease-out 50ms forwards fadeInCanvas;z-index:1!important}.resize-divider{z-index:10!important}@keyframes fadeInCanvas{to{opacity:1}}.designer-canvas-wrapper.loaded,.flat-view-panel.loaded,.shirt-design-panel.loaded,.ktboard-design-panel.loaded{opacity:1!important}
