*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--font-primary: "Inter", -apple-system, system-ui, sans-serif;--font-display: "Inter", sans-serif;--font-mono: "JetBrains Mono", monospace;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-full: 9999px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--t-fast: .15s var(--ease-out);--t-normal: .25s var(--ease-out);--t-slow: .4s var(--ease-out);--blur-surface: 20px;--blur-overlay: 40px;--header-height: 56px;--canvas-split: 60%}.theme-dark{--color-bg: #0a0a0f;--color-bg-gradient: linear-gradient(145deg, #0a0a0f 0%, #141420 100%);--color-surface: rgba(255, 255, 255, .06);--color-surface-hover: rgba(255, 255, 255, .1);--color-surface-active: rgba(255, 255, 255, .14);--color-border: rgba(255, 255, 255, .08);--color-border-hover: rgba(255, 255, 255, .15);--color-primary: #ffffff;--color-accent: #c9a962;--color-accent-glow: rgba(201, 169, 98, .2);--color-text: #f0f0f0;--color-text-muted: rgba(255, 255, 255, .5);--color-text-dim: rgba(255, 255, 255, .3);--color-success: #34d399;--color-warning: #fbbf24;--color-error: #f87171;--color-canvas-bg: linear-gradient(145deg, #101018 0%, #1a1a2e 100%);--color-panel-bg: rgba(20, 20, 32, .85);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px var(--color-accent-glow)}.theme-light{--color-bg: #f5f3ef;--color-bg-gradient: linear-gradient(145deg, #f5f3ef 0%, #eeeef2 100%);--color-surface: rgba(255, 255, 255, .72);--color-surface-hover: rgba(255, 255, 255, .85);--color-surface-active: rgba(255, 255, 255, .95);--color-border: rgba(0, 0, 0, .06);--color-border-hover: rgba(0, 0, 0, .12);--color-primary: #1a1a2e;--color-accent: #2563eb;--color-accent-glow: rgba(37, 99, 235, .15);--color-text: #1a1a2e;--color-text-muted: #6b7280;--color-text-dim: #9ca3af;--color-success: #059669;--color-warning: #d97706;--color-error: #dc2626;--color-canvas-bg: linear-gradient(145deg, #f8f8fa 0%, #eeeef2 100%);--color-panel-bg: rgba(255, 255, 255, .72);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .08);--shadow-glow: 0 0 20px var(--color-accent-glow)}.theme-minimal{--color-bg: #ffffff;--color-bg-gradient: #ffffff;--color-surface: rgba(0, 0, 0, .03);--color-surface-hover: rgba(0, 0, 0, .06);--color-surface-active: rgba(0, 0, 0, .09);--color-border: rgba(0, 0, 0, .08);--color-border-hover: rgba(0, 0, 0, .16);--color-primary: #000000;--color-accent: #000000;--color-accent-glow: rgba(0, 0, 0, .08);--color-text: #000000;--color-text-muted: #666666;--color-text-dim: #999999;--color-success: #16a34a;--color-warning: #ca8a04;--color-error: #dc2626;--color-canvas-bg: #fafafa;--color-panel-bg: rgba(255, 255, 255, .9);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .08);--shadow-glow: 0 0 0 2px var(--color-primary)}.theme-bold{--color-bg: #0f0f0f;--color-bg-gradient: linear-gradient(145deg, #0f0f0f 0%, #1a1a1a 100%);--color-surface: rgba(255, 255, 255, .07);--color-surface-hover: rgba(255, 255, 255, .12);--color-surface-active: rgba(255, 255, 255, .16);--color-border: rgba(255, 255, 255, .1);--color-border-hover: rgba(255, 255, 255, .2);--color-primary: #ffffff;--color-accent: #00e676;--color-accent-glow: rgba(0, 230, 118, .2);--color-text: #ffffff;--color-text-muted: rgba(255, 255, 255, .6);--color-text-dim: rgba(255, 255, 255, .35);--color-success: #00e676;--color-warning: #ffab00;--color-error: #ff5252;--color-canvas-bg: linear-gradient(145deg, #111111 0%, #1a1a1a 100%);--color-panel-bg: rgba(15, 15, 15, .9);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .6);--shadow-glow: 0 0 24px var(--color-accent-glow)}.theme-editorial{--color-bg: #FAF8F5;--color-bg-gradient: linear-gradient(145deg, #FAF8F5 0%, #F0EDE8 100%);--color-surface: rgba(0, 0, 0, .03);--color-surface-hover: rgba(0, 0, 0, .06);--color-surface-active: rgba(0, 0, 0, .09);--color-border: rgba(0, 0, 0, .08);--color-border-hover: rgba(0, 0, 0, .14);--color-primary: #111111;--color-accent: #006039;--color-accent-glow: rgba(0, 96, 57, .15);--color-text: #111111;--color-text-muted: #555555;--color-text-dim: #999999;--color-success: #006039;--color-warning: #d97706;--color-error: #dc2626;--color-canvas-bg: linear-gradient(145deg, #FAF8F5 0%, #F0EDE8 100%);--color-panel-bg: rgba(255, 253, 251, .88);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .08);--shadow-glow: 0 0 20px var(--color-accent-glow)}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-primary);color:var(--color-text);background:var(--color-bg-gradient);min-height:100vh;overflow-x:hidden;transition:background .5s ease,color .3s ease}.dev-theme-toggle{position:fixed;bottom:var(--space-md);right:var(--space-md);z-index:1000;display:flex;gap:2px;background:var(--color-surface);backdrop-filter:blur(var(--blur-surface));-webkit-backdrop-filter:blur(var(--blur-surface));border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:2px;opacity:.5;transition:opacity var(--t-fast)}.dev-theme-toggle:hover{opacity:1}.dev-theme-toggle button{width:28px;height:28px;border:none;background:transparent;color:var(--color-text-muted);font-family:var(--font-mono);font-size:.7rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all var(--t-fast)}.dev-theme-toggle button:hover{color:var(--color-text);background:var(--color-surface-hover)}.dev-theme-toggle button.active{color:var(--color-accent);background:var(--color-surface-active)}.konfigurator-header{position:fixed;top:0;left:0;right:0;height:var(--header-height);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-lg);background:var(--color-panel-bg);backdrop-filter:blur(var(--blur-surface));-webkit-backdrop-filter:blur(var(--blur-surface));border-bottom:1px solid var(--color-border);z-index:100}.header-brand{display:flex;align-items:center;gap:var(--space-md)}.header-logo{font-family:var(--font-display);font-size:1.1rem;font-weight:700;letter-spacing:.15em;color:var(--color-text)}.header-divider{width:1px;height:20px;background:var(--color-border)}.header-title{font-size:.85rem;font-weight:500;color:var(--color-text-muted);letter-spacing:-.01em}.header-cart-btn{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:all var(--t-fast)}.header-cart-btn:hover{color:var(--color-text);border-color:var(--color-border-hover);background:var(--color-surface)}.cart-count{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:600;color:#fff;background:var(--color-accent);border-radius:var(--radius-full);padding:0 5px}.konfigurator-main{display:flex;min-height:100vh;padding-top:var(--header-height)}.canvas-area{position:sticky;top:var(--header-height);width:var(--canvas-split);height:calc(100vh - var(--header-height));display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-canvas-bg);border-right:1px solid var(--color-border);overflow:hidden}.canvas-wrapper{position:relative;width:100%;max-width:560px;aspect-ratio:1;display:flex;align-items:center;justify-content:center;padding:var(--space-xl)}#ballCanvas{width:100%;height:100%;border-radius:var(--radius-md);touch-action:none;cursor:default}#ballCanvas.dragging{cursor:grabbing}#ballCanvas.hovering-logo{cursor:grab}.canvas-info{position:absolute;bottom:var(--space-md);left:50%;transform:translate(-50%);white-space:nowrap}.print-area-info{font-family:var(--font-mono);font-size:.7rem;color:var(--color-text-dim);letter-spacing:.02em}.control-panel{flex:1;min-width:0;padding:var(--space-xl) var(--space-lg);background:var(--color-panel-bg);backdrop-filter:blur(var(--blur-surface));-webkit-backdrop-filter:blur(var(--blur-surface));overflow-y:auto;max-height:calc(100vh - var(--header-height))}.progress-bar{display:flex;align-items:center;padding:var(--space-md) 0;margin-bottom:var(--space-lg);border-bottom:1px solid var(--color-border);position:sticky;top:0;background:var(--color-panel-bg);backdrop-filter:blur(var(--blur-surface));-webkit-backdrop-filter:blur(var(--blur-surface));z-index:10}.progress-step{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:none;cursor:pointer;padding:4px 8px;flex-shrink:0;transition:all var(--t-fast)}.progress-dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--color-border);background:transparent;transition:all var(--t-normal)}.progress-step.active .progress-dot{border-color:var(--color-accent);background:transparent;box-shadow:0 0 0 3px var(--color-accent-glow)}.progress-step.completed .progress-dot{border-color:var(--color-accent);background:var(--color-accent)}.progress-label{font-family:var(--font-mono);font-size:.6rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-dim);transition:color var(--t-fast)}.progress-step.active .progress-label,.progress-step.completed .progress-label{color:var(--color-text-muted)}.progress-step:hover .progress-label{color:var(--color-text)}.progress-line{flex:1;height:2px;background:var(--color-border);transition:background var(--t-normal);min-width:20px}.progress-line.completed{background:var(--color-accent)}.step{margin-bottom:var(--space-xl);padding-bottom:var(--space-xl);border-bottom:1px solid var(--color-border)}.step:last-child{border-bottom:none;margin-bottom:0}.step-header{display:flex;align-items:baseline;gap:var(--space-sm);margin-bottom:var(--space-md)}.step-number{font-family:var(--font-mono);font-size:.7rem;font-weight:500;color:var(--color-accent);letter-spacing:.05em}.step-label{font-family:var(--font-mono);font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted)}.step-content>*{opacity:0;transform:translateY(12px);animation:stepFadeIn .4s var(--ease-out) forwards}.step-content>*:nth-child(1){animation-delay:0ms}.step-content>*:nth-child(2){animation-delay:60ms}.step-content>*:nth-child(3){animation-delay:.12s}.step-content>*:nth-child(4){animation-delay:.18s}.step-content>*:nth-child(5){animation-delay:.24s}@keyframes stepFadeIn{to{opacity:1;transform:translateY(0)}}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm);margin-bottom:var(--space-md)}.product-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-md) var(--space-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--t-fast);text-align:center}.product-card:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.product-card.active{border-color:var(--color-accent);box-shadow:var(--shadow-glow);background:var(--color-surface-active)}.product-card-icon{width:80px;height:80px;border-radius:var(--radius-md);background:var(--color-surface);display:flex;align-items:center;justify-content:center;font-size:1.4rem;overflow:hidden;flex-shrink:0}.product-card-icon img{width:100%;height:100%;object-fit:contain}.product-card-name{font-size:.75rem;font-weight:600;letter-spacing:-.01em;color:var(--color-text);line-height:1.2}.product-card-price{font-family:var(--font-mono);font-size:.7rem;color:var(--color-text-muted)}.color-selector{display:flex;align-items:center;gap:var(--space-md)}.color-label{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-dim)}.color-options{display:flex;gap:var(--space-sm)}.color-btn{display:flex;align-items:center;gap:var(--space-xs);padding:6px 12px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:all var(--t-fast)}.color-btn:hover{border-color:var(--color-border-hover);background:var(--color-surface)}.color-btn.active{border-color:var(--color-accent)}.color-swatch{width:14px;height:14px;border-radius:50%;border:1px solid var(--color-border)}.color-white{background:#f0f0f0}.color-yellow{background:#f5e642}.color-name{font-size:.75rem;font-weight:500;color:var(--color-text)}.dropzone{position:relative;display:flex;align-items:center;justify-content:center;min-height:160px;padding:var(--space-xl);border:2px dashed var(--color-border-hover);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:all var(--t-fast);animation:dropzonePulse 2.5s ease-in-out infinite}.dropzone:hover{border-color:var(--color-accent);background:var(--color-surface)}.dropzone.drag-over{border-color:var(--color-accent);background:var(--color-surface-active);border-style:solid;animation:none}.dropzone.has-file{animation:none;border-style:solid;border-color:var(--color-success);opacity:.5;min-height:auto;padding:var(--space-md)}@keyframes dropzonePulse{0%,to{box-shadow:0 0 0 0 var(--color-accent-glow)}50%{box-shadow:0 0 0 10px transparent}}.dropzone-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);text-align:center}.dropzone-icon{color:var(--color-text-muted);transition:color var(--t-fast)}.dropzone:hover .dropzone-icon,.dropzone.drag-over .dropzone-icon{color:var(--color-accent)}.dropzone-text{font-size:.9rem;font-weight:500;color:var(--color-text)}.dropzone-hint{font-size:.75rem;color:var(--color-text-muted)}.upload-feedback{margin-top:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:.8rem;animation:slideDown .2s var(--ease-out)}.upload-feedback.error{background:#f871711a;border:1px solid rgba(248,113,113,.3);color:var(--color-error)}.upload-feedback.warning{background:#fbbf241a;border:1px solid rgba(251,191,36,.3);color:var(--color-warning)}.upload-feedback.info{background:#34d3991a;border:1px solid rgba(52,211,153,.3);color:var(--color-success)}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.upload-preview{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.preview-file{display:flex;align-items:center;gap:var(--space-sm);min-width:0}.preview-filename{font-size:.8rem;font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-remove{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--color-text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--t-fast);flex-shrink:0}.preview-remove:hover{color:var(--color-error);background:#f871711a}.dpi-badge{font-family:var(--font-mono);font-size:.65rem;font-weight:500;padding:3px 8px;border-radius:var(--radius-full);white-space:nowrap;flex-shrink:0}.dpi-badge.good{background:#34d39926;color:var(--color-success)}.dpi-badge.warn{background:#fbbf2426;color:var(--color-warning)}.dpi-badge.bad{background:#f8717126;color:var(--color-error)}.control-group{margin-bottom:var(--space-md)}.control-group .step-label{display:block;margin-bottom:var(--space-sm)}.print-shape-toggle{display:flex;gap:8px}.shape-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-family:var(--font-primary);font-size:12px;font-weight:500;letter-spacing:.05em;cursor:pointer;transition:all var(--t-fast)}.shape-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.shape-btn.active{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-surface-active)}.shape-btn svg{flex-shrink:0}.controls-row{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md)}.control-label{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-dim);white-space:nowrap;min-width:50px}.range-slider{-webkit-appearance:none;appearance:none;flex:1;height:4px;border-radius:2px;background:var(--color-surface-active);outline:none;transition:background var(--t-fast)}.range-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--color-accent);cursor:pointer;box-shadow:var(--shadow-md);transition:transform var(--t-fast),box-shadow var(--t-fast)}.range-slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:var(--shadow-glow)}.range-slider::-webkit-slider-thumb:active{transform:scale(1.05)}.range-slider::-moz-range-thumb{width:18px;height:18px;border:none;border-radius:50%;background:var(--color-accent);cursor:pointer;box-shadow:var(--shadow-md)}.control-btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:8px 16px;font-family:var(--font-primary);font-size:.8rem;font-weight:500;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--t-fast)}.control-btn:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.control-btn:active{transform:scale(.97)}.color-hint{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-surface);border-radius:var(--radius-sm);font-size:.75rem;color:var(--color-text-dim)}.hint-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--color-surface-active);font-size:.65rem;font-weight:600;color:var(--color-text-muted);flex-shrink:0}.quantity-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:var(--space-sm);margin-bottom:var(--space-md);margin-top:var(--space-sm)}.tier-btn{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-sm) var(--space-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--t-fast);text-align:center}.tier-btn:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.tier-btn.active{border-color:var(--color-accent);box-shadow:var(--shadow-glow)}.tier-qty{font-size:.75rem;font-weight:600;color:var(--color-text)}.tier-price{font-family:var(--font-mono);font-size:.7rem;color:var(--color-text-muted)}.tier-badge{position:absolute;top:-6px;right:-4px;font-size:.6rem;font-weight:700;padding:2px 8px;border-radius:9999px;background:#c8a96e;color:#fff}.theme-light .tier-badge,.theme-minimal .tier-badge{color:#fff}.quantity-input-row{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.qty-stepper{display:flex;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.qty-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--color-surface);border:none;color:var(--color-text);font-size:1rem;cursor:pointer;transition:background var(--t-fast)}.qty-btn:hover{background:var(--color-surface-hover)}.qty-input{width:56px;height:36px;text-align:center;background:transparent;border:none;border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);color:var(--color-text);font-family:var(--font-mono);font-size:.85rem;font-weight:500;outline:none;-moz-appearance:textfield}.qty-input::-webkit-inner-spin-button,.qty-input::-webkit-outer-spin-button{-webkit-appearance:none}.order-summary{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);background:var(--color-surface);border-radius:var(--radius-md);margin-bottom:var(--space-lg)}.summary-row{display:flex;justify-content:space-between;font-size:.8rem;color:var(--color-text-muted)}.summary-row span:last-child{font-weight:500;color:var(--color-text)}.summary-total{padding-top:var(--space-sm);border-top:1px solid var(--color-border);font-weight:600}.summary-total span:last-child{font-size:1rem;color:var(--color-accent)}.cta-button{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);width:100%;padding:16px var(--space-xl);font-family:var(--font-primary);font-size:.9rem;font-weight:600;letter-spacing:.02em;color:#fff;background:var(--color-accent);border:none;border-radius:var(--radius-full);cursor:pointer;position:relative;overflow:hidden;transition:all var(--t-fast)}.cta-button:disabled{opacity:.4;cursor:not-allowed}.cta-button:not(:disabled):hover{box-shadow:var(--shadow-glow),var(--shadow-lg);transform:translateY(-1px)}.cta-button:not(:disabled):active{transform:translateY(0);box-shadow:var(--shadow-sm)}.cta-button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transform:translate(-100%);transition:transform .6s ease}.cta-button:not(:disabled):hover:before{transform:translate(100%)}.cta-spinner{width:18px;height:18px;border:2px solid rgba(0,0,0,.2);border-top-color:#000;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.cta-button.loading .cta-text{display:none}.cta-button.loading .cta-spinner{display:block}.cta-button.success{background:var(--color-success)}.cta-button.success .cta-text{display:none}.cta-button.success .cta-check{display:block}.text-editor{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.text-editor-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.text-toggle{position:relative;background:none;border:none;cursor:pointer;padding:2px}.toggle-track{display:block;width:36px;height:20px;background:var(--color-surface-active);border-radius:var(--radius-full);position:relative;transition:background var(--t-fast)}.text-toggle.active .toggle-track{background:var(--color-accent)}.toggle-thumb{display:block;width:16px;height:16px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:transform var(--t-fast)}.text-toggle.active .toggle-thumb{transform:translate(16px)}.font-presets{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md)}.font-preset-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--space-sm) var(--space-xs);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--t-fast)}.font-preset-btn:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.font-preset-btn.active{border-color:var(--color-accent);box-shadow:var(--shadow-glow)}.font-preview{font-size:1.4rem;color:var(--color-text);line-height:1}.font-name{font-family:var(--font-mono);font-size:.6rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.text-lines{display:flex;flex-direction:column;gap:var(--space-sm)}.text-line-row{display:flex;align-items:center;gap:var(--space-sm)}.text-line-input{flex:1;height:36px;padding:0 var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-primary);font-size:.85rem;outline:none;transition:border-color var(--t-fast)}.text-line-input:focus{border-color:var(--color-accent)}.text-line-input::placeholder{color:var(--color-text-dim)}.char-counter{font-family:var(--font-mono);font-size:.65rem;color:var(--color-text-dim);min-width:20px;text-align:right;flex-shrink:0;transition:color var(--t-fast)}.char-counter.warn{color:var(--color-warning)}.char-counter.full{color:var(--color-error)}.reset-row{padding-top:var(--space-md);text-align:center}.reset-btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:8px 16px;font-family:var(--font-primary);font-size:.75rem;font-weight:500;color:var(--color-text-dim);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:all var(--t-fast)}.reset-btn:hover{color:var(--color-error);border-color:var(--color-error);background:#f8717114}.reset-btn:active{transform:scale(.97)}.mock-banner{position:fixed;bottom:var(--space-md);left:50%;transform:translate(-50%);padding:6px 16px;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.05em;color:var(--color-text-dim);background:var(--color-surface);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-border);border-radius:var(--radius-full);white-space:nowrap;z-index:50}@media(max-width:1024px){.product-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.konfigurator-main{flex-direction:column}.canvas-area{position:sticky;top:var(--header-height);width:100%;height:50vh;border-right:none;border-bottom:1px solid var(--color-border);z-index:10}.canvas-wrapper{max-width:320px;padding:var(--space-md)}.control-panel{width:100%;max-height:none;padding:var(--space-lg) var(--space-md)}.quantity-tiers{grid-template-columns:repeat(auto-fit,minmax(70px,1fr))}}@media(max-width:480px){.canvas-area{height:40vh}.header-title,.header-divider{display:none}.product-card-icon{width:56px;height:56px}}
/*# sourceMappingURL=/cdn/shop/t/2/assets/konfigurator.css.map */
