.konfigurator-page{min-height:100vh}.config-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:1rem 0;position:sticky;top:64px;z-index:50}.config-header .container{display:flex;align-items:center;gap:2rem}.config-back{font-size:.85rem;color:var(--color-muted);white-space:nowrap}.config-back:hover{color:var(--color-primary)}.config-steps{display:flex;gap:0;list-style:none;flex:1;overflow-x:auto}.config-step{display:flex;align-items:center;gap:.5rem;padding:.4rem 1rem;position:relative;color:var(--color-muted);font-size:.8rem;white-space:nowrap}.config-step:after{content:"›";margin-left:.5rem;opacity:.4}.config-step:last-child:after{display:none}.config-step.active{color:var(--color-accent)}.config-step.done{color:var(--color-muted)}.step-num{width:22px;height:22px;border-radius:50%;background:var(--color-border);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.config-step.active .step-num{background:var(--color-accent);color:#fff}.config-step.done .step-num{background:#4caf50;color:#fff}.config-step.done .step-num:after{content:"✓"}.config-body{display:grid;grid-template-columns:480px 1fr;gap:3rem;padding-top:2rem;padding-bottom:4rem;align-items:start}.config-panel{display:flex;flex-direction:column;gap:1.5rem}.config-section-title{font-size:1.2rem;margin-bottom:1.25rem}.config-hint{font-size:.875rem;color:var(--color-muted);margin-bottom:1rem}.product-categories{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.25rem}.category-btn{padding:.4rem 1rem;border-radius:var(--radius-pill);border:1.5px solid var(--color-border);font-size:.85rem;font-weight:600;background:none;cursor:pointer;transition:all var(--transition);display:flex;align-items:center;gap:.3rem;font-family:var(--font-body)}.category-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.category-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.25rem}.product-option{border:2px solid #d4d4d4;border-radius:var(--radius-md);padding:1.25rem .75rem 1rem;cursor:pointer;transition:border-color var(--transition),background var(--transition),box-shadow var(--transition),transform var(--transition);background:var(--color-surface);font-family:var(--font-body);display:flex;flex-direction:column;align-items:center;gap:.5rem;position:relative;text-align:center;box-shadow:0 1px 4px #00000014,0 0 0 0 transparent}.product-option:hover{border-color:var(--color-accent);background:#fef9e7;box-shadow:0 4px 16px #00000021;transform:translateY(-2px)}.product-option.selected{border-color:var(--color-accent);background:#fef3c7;box-shadow:0 0 0 3px var(--color-accent),0 2px 8px #00000014}.product-option-icon{font-size:2.2rem;line-height:1}.product-option-name{font-weight:700;font-size:.88rem}.product-option-price{font-size:.78rem;color:var(--color-muted)}.product-option .check-badge{display:none;position:absolute;top:.4rem;right:.4rem;width:22px;height:22px;background:var(--color-accent);color:#fff;border-radius:50%;font-size:12px;font-weight:700;align-items:center;justify-content:center;box-shadow:0 1px 4px #0003}.product-option.selected .check-badge{display:flex}.color-swatches{display:flex;gap:.5rem;flex-wrap:wrap}.color-swatch{width:32px;height:32px;border-radius:50%;border:2px solid var(--color-border);cursor:pointer;transition:transform var(--transition),border-color var(--transition);position:relative}.color-swatch:hover{transform:scale(1.15)}.color-swatch.selected{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent)}.image-sides{display:flex;flex-direction:column;gap:1.25rem}.image-side-block{display:flex;flex-direction:column;gap:.5rem}.image-side-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);display:flex;align-items:center;gap:.5rem}.upload-area{border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;text-align:center;cursor:pointer;transition:all var(--transition);background:var(--color-bg);display:flex;flex-direction:column;align-items:center;gap:.5rem}.upload-area:hover,.upload-area.drag-over{border-color:var(--color-accent);background:#fdf8e6}.upload-icon{font-size:2rem;color:var(--color-muted)}.upload-main{font-weight:600}.upload-sub{font-size:.8rem;color:var(--color-muted)}.upload-error{color:var(--color-accent);font-size:.85rem;margin-top:.5rem}.upload-uploaded{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:.75rem}.upload-uploaded img{border-radius:4px;object-fit:cover}.logos-section{margin-top:1.5rem}.logos-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}.logos-title{font-family:var(--font-body);font-size:.9rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.logos-hint{margin-bottom:.75rem}#logo-slots{display:flex;flex-direction:column;gap:.6rem}.logo-slot{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.logo-slot-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.logo-slot-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted)}.logo-pos-grid{display:grid;grid-template-columns:1fr 1fr;gap:.35rem}.logo-pos-btn{padding:.45rem .5rem;font-size:.82rem;font-weight:500;font-family:var(--font-body);background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition),background var(--transition),color var(--transition);text-align:center;color:var(--color-primary)}.logo-pos-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.logo-pos-btn.selected{background:#fef3c7;border-color:var(--color-accent);color:var(--color-accent);font-weight:700}.logo-slot-remove{background:none;border:none;cursor:pointer;color:var(--color-muted);font-size:1.1rem;padding:.25rem .35rem;line-height:1;border-radius:var(--radius-sm);transition:color var(--transition),background var(--transition);min-height:44px;display:flex;align-items:center}.logo-slot-remove:hover{color:#c0392b;background:#fff0ee}.logo-slot-file{display:flex;align-items:center;gap:.5rem}.logo-slot-upload-btn{font-size:.82rem;font-weight:600;color:var(--color-accent);background:none;border:1.5px solid var(--color-accent);border-radius:var(--radius-sm);padding:.4rem .75rem;min-height:36px;cursor:pointer;font-family:var(--font-body);white-space:nowrap;transition:background var(--transition)}.logo-slot-upload-btn:hover{background:#fdf3d0}.logo-slot-preview{display:flex;align-items:center;gap:.4rem;overflow:hidden}.logo-slot-thumb{border-radius:4px;object-fit:cover;flex-shrink:0}.logo-slot-name{font-size:.78rem;color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logo-slot-remove-file{background:none;border:none;cursor:pointer;color:var(--color-muted);font-size:1rem;padding:.15rem .3rem;line-height:1;flex-shrink:0;transition:color var(--transition)}.logo-slot-remove-file:hover{color:#c0392b}.no-logo-option{margin-top:1.5rem}.btn-link{background:none;border:none;padding:0;color:var(--color-accent);font-size:.875rem;cursor:pointer;text-decoration:underline;margin-top:.5rem}.print-methods{display:flex;flex-direction:column;gap:.75rem}.print-method-card{border:1.5px solid #d4d4d4;border-radius:var(--radius-md);padding:1.1rem 1.25rem;cursor:pointer;transition:all var(--transition);text-align:left;background:var(--color-surface);font-family:var(--font-body);width:100%;display:flex;flex-direction:column;gap:.4rem;box-shadow:0 1px 4px #00000012}.print-method-card:hover{border-color:var(--color-accent);transform:translateY(-1px);background:#fef9e7;box-shadow:0 4px 16px #00000021}.print-method-card.selected{border-color:var(--color-accent);background:#fef3c7;box-shadow:0 0 0 3px var(--color-accent),0 2px 8px #00000014}.print-method-card.pm-disabled,.print-method-card:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.pm-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.pm-name{font-weight:700;font-size:1rem;flex:1}.pm-radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--color-border);flex-shrink:0;position:relative;transition:border-color var(--transition)}.pm-radio:after{content:"";position:absolute;inset:3px;border-radius:50%;background:transparent;transition:background var(--transition)}.print-method-card.selected .pm-radio{border-color:var(--color-accent)}.print-method-card.selected .pm-radio:after{background:var(--color-accent)}.pm-tag{font-size:.75rem;background:#fdf3d0;color:var(--color-accent);padding:.2rem .6rem;border-radius:var(--radius-pill)}.pm-short{font-size:.85rem;color:var(--color-muted)}.pm-pros{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.25rem}.pm-pro{font-size:.75rem;background:#f0fdf4;color:#166534;padding:.2rem .5rem;border-radius:var(--radius-pill)}.qty-control{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.qty-btn{width:44px;height:44px;border-radius:var(--radius-sm);border:1.5px solid var(--color-border);font-size:1.4rem;display:flex;align-items:center;justify-content:center;background:var(--color-surface);flex-shrink:0;cursor:pointer;transition:border-color var(--transition);font-family:var(--font-body)}.qty-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.qty-input{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);padding:.5rem .75rem;font-size:1.2rem;font-weight:700;text-align:center;width:90px;font-family:var(--font-body)}.qty-input:focus{outline:none;border-color:var(--color-accent)}.qty-slider{width:100%;accent-color:var(--color-accent);margin-bottom:1.25rem}.discount-tiers{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1.5rem}.discount-tier{padding:.3rem .7rem;border-radius:var(--radius-pill);font-size:.75rem;border:1px solid var(--color-border);background:var(--color-surface);cursor:default;transition:all var(--transition)}.discount-tier.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.discount-tier.passed{background:#f0fdf4;border-color:#86efac;color:#166534}.addons-grid{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.addon-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:1.5px solid #d4d4d4;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);background:var(--color-surface);text-align:left;width:100%;font-family:var(--font-body);box-shadow:0 1px 4px #00000012}.addon-item:hover{border-color:var(--color-accent);transform:translateY(-1px);background:#fef9e7;box-shadow:0 4px 16px #00000021}.addon-item.selected{border-color:var(--color-accent);background:#fef3c7;box-shadow:0 0 0 3px var(--color-accent),0 2px 8px #00000014}.addon-check{width:20px;height:20px;border-radius:4px;border:2px solid var(--color-border);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all var(--transition);font-size:12px;color:transparent}.addon-check:after{content:"✓"}.addon-check.checked{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.addon-icon{font-size:1.4rem;flex-shrink:0}.addon-info{flex:1}.addon-name{font-weight:600;font-size:.9rem}.addon-desc{font-size:.8rem;color:var(--color-muted)}.addon-price{font-size:.9rem;font-weight:700;color:var(--color-accent);flex-shrink:0}.addon-wrapper{display:flex;flex-direction:column}.addon-extra{margin-top:.5rem;padding:1rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.6rem}.addon-extra .form-label{font-size:.8rem}.addon-extra-hint{font-size:.78rem;color:var(--color-muted);margin:0}.addon-extra-ok{font-size:.82rem;color:#166534;margin:0}.addon-extra-link{font-size:.78rem;color:var(--color-muted);background:none;border:none;cursor:pointer;text-decoration:underline;padding:0;font-family:var(--font-body);text-align:left}.addon-extra-link:hover{color:var(--color-primary)}.size-breakdown{margin-top:1.5rem}.size-breakdown h3{margin-bottom:.75rem;font-size:1rem;display:flex;align-items:center;gap:.5rem}.size-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.size-item{display:flex;flex-direction:column;gap:.25rem}.size-label{font-size:.75rem;font-weight:700;text-align:center}.size-input{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);padding:.4rem;font-size:.9rem;text-align:center;width:100%;font-family:var(--font-body)}.size-input:focus{outline:none;border-color:var(--color-accent)}.config-nav{display:flex;justify-content:space-between;align-items:center;padding-top:1.5rem;border-top:1px solid var(--color-border);margin-top:.5rem}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important;box-shadow:none!important}.step-error{font-size:.85rem;color:#c0392b;margin-top:.75rem;display:flex;align-items:center;gap:.4rem}.step-error:before{content:"⚠"}.config-preview{position:sticky;top:130px;display:flex;flex-direction:column;gap:1.5rem}.mockup-container{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.mockup-side-toggle{display:flex;border-bottom:2px solid var(--color-border)}.side-btn{flex:1;padding:.6rem;font-size:.85rem;font-weight:600;background:none;border:none;border-right:1px solid var(--color-border);border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:color var(--transition),border-color var(--transition),background var(--transition);color:var(--color-muted);font-family:var(--font-body)}.side-btn:last-child{border-right:none}.side-btn:hover{color:var(--color-primary);background:var(--color-bg)}.side-btn.active{color:var(--color-accent);border-bottom-color:var(--color-accent);background:var(--color-surface);font-weight:700}.mockup-canvas-wrap{min-height:360px;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#fafaf8}#mockup-canvas{max-width:100%;cursor:grab}#mockup-canvas:active{cursor:grabbing}.mockup-placeholder{display:flex;flex-direction:column;align-items:center;gap:.75rem;color:var(--color-muted)}.placeholder-icon{font-size:4rem;opacity:.4}.mockup-placeholder p{font-size:.9rem}.mockup-hint{text-align:center;font-size:.75rem;color:var(--color-muted);padding:.5rem 1rem;border-top:1px solid var(--color-border);background:var(--color-bg)}.price-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;display:flex;flex-direction:column;gap:1.1rem}.price-card-header{display:flex;justify-content:space-between;align-items:flex-start}.price-product{font-weight:600;font-size:.95rem}.price-badge{background:#fdf3d0;color:var(--color-accent);border-radius:var(--radius-pill);padding:.25rem .75rem;font-size:.8rem;font-weight:700}.price-main{display:flex;flex-direction:column;gap:.75rem}.price-unit,.price-total{display:flex;justify-content:space-between;align-items:center}.price-label{font-size:.85rem;color:var(--color-muted)}.price-value{font-size:1.4rem;font-family:var(--font-heading)}.price-total-value{font-size:1.8rem;font-family:var(--font-heading);color:var(--color-accent)}.price-meta{display:flex;flex-direction:column;gap:.3rem;border-top:1px solid var(--color-border);padding-top:1rem}.price-meta li{display:flex;justify-content:space-between;font-size:.8rem;color:var(--color-muted)}.price-order-btn{width:100%;justify-content:center}@media(max-width:1024px){.config-body{grid-template-columns:1fr}.config-preview{position:static}}@media(max-width:600px){.config-header .container{flex-direction:column;align-items:flex-start;gap:.75rem}.config-steps{gap:0}.step-label{display:none}.config-body{padding-top:1rem}}
