*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--primary: #111111;--primary-dark: #2a2a2a;--primary-light: #f5f2ee;--dark: #111111;--dark-2: #1a1a1a;--dark-3: #2a2a2a;--gray-100: #f5f2ee;--gray-200: rgba(0,0,0,.08);--gray-300: rgba(0,0,0,.12);--gray-400: #9b968f;--gray-500: #575757;--gray-600: #575757;--gray-700: #2f3435;--white: #ffffff;--danger: #ef4444;--warning: #f59e0b;--beige: #edebe7;--beige-dark: #e2ddd6;--surface-bg: #f9f7f4;--border-light: rgba(0,0,0,.08);--border-medium: rgba(0,0,0,.12);--radius-sm: 14px;--radius-md: 24px;--radius-lg: 32px;--radius-xl: 64px;--shadow-sm: 0 1px 3px rgba(0,0,0,.03);--shadow-md: 0 8px 24px rgba(0,0,0,.04);--shadow-lg: 0 18px 50px rgba(0,0,0,.04);--font: "Onest", -apple-system, BlinkMacSystemFont, sans-serif;--app-header-height: 60px}html,body{height:100%;font-family:var(--font);font-size:14px;color:var(--dark);background:var(--gray-100);overflow:hidden;overscroll-behavior:none;touch-action:pan-y;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{display:flex;flex-direction:column;height:100vh;height:100dvh}#header{background:var(--white);color:var(--dark);height:var(--app-header-height);flex-shrink:0;z-index:100;border-bottom:1px solid var(--border-light)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%;padding:0 24px;max-width:100%}.logo{display:flex;align-items:center;gap:12px}.logo-img{height:40px;width:auto}.logo-divider{width:1px;height:24px;background:var(--border-medium)}.logo-sub{font-size:14px;font-weight:500;color:var(--gray-500);letter-spacing:.5px}.btn-back{color:var(--dark);text-decoration:none;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 20px;border-radius:var(--radius-xl);border:1px solid var(--border-medium);background:var(--white);letter-spacing:-.14px}.btn-back:hover{background:var(--gray-100);color:var(--dark)}#main-content{display:flex;flex:1;overflow:hidden;min-height:0}#viewer-section{flex:1;position:relative;background:linear-gradient(135deg,#f7f4ef,#ece7df);min-width:0}#canvas-container{width:100%;height:100%;position:relative;touch-action:none;overscroll-behavior:contain}#three-canvas{display:block;width:100%;height:100%;touch-action:none}#loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f5f2eee6;z-index:10;transition:opacity .3s}#loading-overlay.hidden{opacity:0;pointer-events:none}#model-unavailable{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f5f2eef2;z-index:9;transition:opacity .3s;text-align:center;padding:20px}#model-unavailable.hidden{opacity:0;pointer-events:none}.spinner{width:40px;height:40px;border:3px solid rgba(0,0,0,.08);border-top-color:var(--dark);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#loading-overlay p{margin-top:12px;color:var(--gray-500);font-size:13px}#viewer-controls{position:absolute;bottom:16px;left:16px;display:flex;gap:8px}#viewer-controls button{width:44px;height:44px;border:1px solid var(--border-medium);background:var(--white);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--gray-500);box-shadow:var(--shadow-md);transition:all .2s}#viewer-controls button:hover,#viewer-controls button.active{background:var(--dark);color:var(--white);border-color:var(--dark)}#btn-toggle-viewer-size{display:none;position:absolute;right:16px;bottom:16px;z-index:8;height:48px;width:auto;min-width:0;padding:0 16px;border:1px solid var(--border-medium);border-radius:var(--radius-xl);background:var(--white);color:var(--gray-600);box-shadow:var(--shadow-md);align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .2s}#btn-toggle-viewer-size:hover{background:var(--dark);color:var(--white);border-color:var(--dark)}.viewer-size-text{display:none;font-size:11px;font-weight:700;letter-spacing:0}.dev-preview-panel{position:absolute;top:12px;left:12px;z-index:8;width:auto;padding:0;border:1px solid var(--border-medium);border-radius:999px;background:#ffffffeb;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.dev-preview-panel.is-active{border-color:#11111138}.dev-preview-panel.is-expanded{width:min(280px,calc(100% - 24px));padding:12px;border-radius:16px}.dev-preview-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.dev-preview-panel.is-expanded .dev-preview-header{margin-bottom:8px}.dev-preview-toggle{height:34px;padding:0 14px;border:0;border-radius:999px;background:var(--white);color:var(--gray-500);font:inherit;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.dev-preview-toggle:hover,.dev-preview-toggle[aria-expanded=true]{color:var(--dark)}.dev-preview-body{display:grid;gap:8px}.dev-preview-body[hidden]{display:none}.dev-preview-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.dev-preview-kicker{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-500)}.dev-preview-count{font-size:12px;color:var(--gray-500)}.dev-preview-label{display:block;margin-bottom:6px;font-size:12px;font-weight:600;color:var(--dark)}.dev-preview-select{width:100%;height:36px;padding:0 10px;border:1px solid var(--border-medium);border-radius:10px;background:var(--white);color:var(--dark);font:inherit;font-size:12px}.dev-preview-select:focus{outline:none;border-color:var(--dark);box-shadow:0 0 0 4px #11111114}.dev-preview-hint{margin-top:6px;font-size:10px;line-height:1.35;color:var(--gray-400)}.dev-preview-tools{display:grid;gap:8px;margin-top:8px}.dev-preview-color-grid,.dev-preview-sidewall-grid{display:grid;gap:6px}.dev-preview-color-grid,.dev-preview-sidewall-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dev-preview-field{display:grid;gap:6px}.dev-preview-field-label{font-size:11px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.04em}.dev-preview-color-input,.dev-preview-sidewall-select{width:100%;height:32px;border:1px solid var(--border-medium);border-radius:8px;background:var(--white);color:var(--dark);font:inherit;font-size:11px}.dev-preview-color-input{padding:3px;cursor:pointer}.dev-preview-sidewall-select{padding:0 8px}.dev-preview-color-input:disabled,.dev-preview-sidewall-select:disabled{opacity:.5;cursor:not-allowed}@media(max-width:900px){.dev-preview-panel.is-expanded{top:8px;left:8px;width:min(260px,calc(100% - 16px))}}.btn-primary{width:100%;padding:14px 24px;background:var(--dark);color:var(--white);border:none;border-radius:var(--radius-xl);font-family:var(--font);font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;letter-spacing:-.15px;height:50px;display:flex;align-items:center;justify-content:center}.btn-primary:hover{background:var(--primary-dark);transform:scale(1.01)}.btn-secondary{padding:10px 20px;background:var(--white);color:var(--dark);border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-xl);font-family:var(--font);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{border-color:var(--dark);color:var(--dark)}@media(max-width:1024px){#main-content{flex-direction:column;height:calc(100vh - var(--app-header-height));height:calc(100dvh - var(--app-header-height));flex:1 1 auto;min-height:0}#viewer-section{flex:0 0 clamp(300px,48dvh,500px);height:auto;min-height:0;transition:flex-basis .24s ease}body.viewer-compact #viewer-section{flex-basis:clamp(180px,28dvh,260px)}#viewer-controls{top:12px;bottom:auto}#configurator-panel{width:100%!important;max-width:100%!important;height:auto;flex:1 1 auto;min-height:0;border-left:none!important;border-top:1px solid var(--border-light)}#btn-toggle-viewer-size{display:flex}.viewer-size-text{display:inline;font-size:12px;font-weight:600;letter-spacing:0}}@media(max-width:640px){:root{--app-header-height: 52px}.lead-title-mobile-break{display:block}.lead-title-desktop-space{display:none}#header{height:var(--app-header-height)}.header-inner{padding:0 16px}.logo-sub{display:none}input,select,textarea{font-size:16px}#viewer-controls{left:8px;top:8px;bottom:auto;gap:6px}#viewer-controls button{width:38px;height:38px}#btn-toggle-viewer-size{right:8px;bottom:8px;height:42px;padding:0 14px}}#configurator-panel{width:440px;max-width:440px;flex-shrink:0;background:var(--white);border-left:1px solid var(--border-light);display:flex;flex-direction:column;overflow:hidden;min-height:0}#step-nav{display:flex;padding:12px 16px;gap:6px;flex-shrink:0;overflow-x:auto;overflow-y:hidden;touch-action:pan-x;scrollbar-width:none;border-bottom:1px solid var(--border-light);background:var(--white)}#step-nav::-webkit-scrollbar{display:none}.step-tab{display:flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid var(--border-light);background:var(--white);color:var(--gray-400);font-family:var(--font);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;border-radius:var(--radius-xl);transition:all .2s;position:relative}.step-tab:hover{color:var(--dark);background:var(--surface-bg)}.step-tab.active{color:var(--white);background:var(--dark);border-color:var(--dark);font-weight:600}.step-tab.completed{color:var(--dark);border-color:var(--border-medium);background:var(--surface-bg)}.step-number{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;background:#0000000f;color:var(--gray-500);flex-shrink:0}.step-tab.active .step-number{background:#fff3;color:var(--white)}.step-tab.completed .step-number{background:var(--dark);color:var(--white)}.step-number svg{stroke:var(--white)}#step-content{flex:1;overflow-x:hidden;overflow-y:auto;padding:24px 20px 20px;min-height:0;overscroll-behavior-x:contain;overscroll-behavior-y:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.12) transparent}#step-content::-webkit-scrollbar{width:5px}#step-content::-webkit-scrollbar-thumb{background:#0000001f;border-radius:3px}.step-title{font-size:20px;font-weight:600;color:var(--dark);margin-bottom:4px;letter-spacing:-.6px;line-height:1.15}.step-description{font-size:14px;color:var(--gray-500);margin-bottom:20px;line-height:1.6;letter-spacing:-.14px}.card-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.card-grid.single-col{grid-template-columns:1fr}.config-card{border:1px solid var(--border-light);border-radius:var(--radius-md);padding:16px;cursor:pointer;transition:all .15s ease;background:var(--white);position:relative;box-shadow:var(--shadow-sm)}.config-card:hover{border-color:var(--border-medium);box-shadow:var(--shadow-md)}.config-card.selected{border-color:var(--dark);background:var(--surface-bg);box-shadow:0 0 0 1px var(--dark)}.config-card .card-icon{width:36px;height:36px;margin-bottom:8px;color:var(--gray-500)}.config-card.selected .card-icon{color:var(--dark)}.config-card .card-icon svg{width:100%;height:100%}.config-card .card-title{font-size:13px;font-weight:600;color:var(--dark);margin-bottom:3px}.config-card .card-subtitle{font-size:11px;color:var(--gray-500);line-height:1.4}.config-card .card-price{font-size:12px;font-weight:600;color:var(--dark);margin-top:6px}.config-card .card-badge{position:absolute;top:10px;right:10px;background:var(--dark);color:var(--white);font-size:11px;font-weight:600;padding:4px 12px;border-radius:var(--radius-xl);letter-spacing:-.11px}.emergency-preset-grid{display:grid;gap:10px}.emergency-preset-card{display:grid;grid-template-columns:112px minmax(0,1fr) 26px;align-items:center;gap:13px;width:100%;min-height:92px;padding:11px;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--white);color:var(--dark);font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s,transform .15s}.emergency-preset-card:hover{border-color:var(--border-medium);box-shadow:var(--shadow-md);transform:translateY(-1px)}.emergency-preset-card.selected{border-color:var(--dark);box-shadow:0 0 0 1px var(--dark)}.emergency-preset-visual{position:relative;display:grid;place-items:center;width:112px;height:68px;overflow:hidden;border:1px solid rgba(0,0,0,.18);border-radius:54px 54px 8px 8px/40px 40px 8px 8px;background:radial-gradient(ellipse at 50% 12%,rgba(255,255,255,.22),transparent 50%),linear-gradient(to bottom,var(--preset-fabric) 0 47%,var(--preset-stripe) 47% 54%,var(--preset-fabric) 54% 100%);box-shadow:inset 0 -12px 16px #0000001a,inset 0 1px #ffffff47}.emergency-preset-visual:before,.emergency-preset-visual:after{content:"";position:absolute;top:5px;bottom:-9px;width:10px;border-radius:999px;background:color-mix(in srgb,var(--preset-fabric),#000 12%)}.emergency-preset-visual:before{left:7px}.emergency-preset-visual:after{right:7px}.emergency-preset-visual>span{position:relative;z-index:1;align-self:start;margin-top:17px;color:var(--preset-marking);font-size:9px;font-weight:900;letter-spacing:.045em;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.22)}.emergency-preset-visual--agency-slab>.emergency-preset-wordmark{font-family:Rockwell,Roboto Slab,Georgia,serif;font-size:11px;letter-spacing:.02em}.emergency-preset-visual--feuerwehr>.emergency-preset-wordmark{font-family:Arial Narrow,Arial Black,Arial,sans-serif;font-size:10px;letter-spacing:.015em}.emergency-preset-visual>.emergency-preset-official-logo{display:grid;place-items:center;margin-top:12px;text-shadow:none}.emergency-preset-official-logo img{display:block;max-width:100%;max-height:100%}.emergency-preset-official-logo--drk{width:62px;height:25px;padding:3px 5px;border-radius:2px;background:#fff}.emergency-preset-official-logo--thw{width:28px;height:28px;margin-top:10px!important}.emergency-preset-copy{display:grid;gap:4px;min-width:0}.emergency-preset-copy strong{font-size:14px;line-height:1.2}.emergency-preset-copy small{color:var(--gray-500);font-size:11px;line-height:1.4}.emergency-preset-check{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--border-medium);border-radius:999px;color:transparent;font-size:13px;font-weight:900}.emergency-preset-card.selected .emergency-preset-check{border-color:var(--dark);background:var(--dark);color:var(--white)}.emergency-preset-note{margin-top:14px;padding:12px 14px;border:1px solid #e0d8c9;border-radius:var(--radius-sm);background:#fffaf0;color:#4f473d;font-size:11px;line-height:1.5}@media(max-width:520px){.emergency-preset-card{grid-template-columns:92px minmax(0,1fr) 22px;gap:10px}.emergency-preset-visual{width:92px;height:58px}}.size-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.size-option{border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:14px 8px;text-align:center;cursor:pointer;transition:all .15s ease;background:var(--white)}.size-option:hover{border-color:var(--border-medium);box-shadow:var(--shadow-sm)}.size-option.selected{border-color:var(--dark);background:var(--surface-bg);box-shadow:0 0 0 1px var(--dark)}.size-option .size-label{display:grid;gap:2px;font-size:14px;font-weight:600;color:var(--dark)}.size-label-main,.size-label-detail{display:block}.size-label-detail{color:var(--gray-500);font-size:11px;font-weight:600;line-height:1.2}.size-option .size-price{font-size:11px;color:var(--gray-500);margin-top:3px}.size-option .size-note{font-size:11px;color:var(--gray-400);margin-top:2px}.step-tax-note,.summary-tax-note{font-size:11px;color:var(--gray-400);line-height:1.35;margin-top:10px}.color-section-label{font-size:12px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.color-groups{display:grid;gap:14px}.color-group{display:grid;gap:8px}.color-group-header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:12px;max-width:100%;min-width:0;font-size:12px;font-weight:600;color:var(--dark)}.color-group-header span:first-child{min-width:0}.color-group-header span:last-child{flex:0 1 auto;min-width:0;text-align:right;white-space:normal;font-size:11px;font-weight:500;color:var(--gray-400)}.color-groups,.color-group{max-width:100%;min-width:0}.color-grid{display:flex;flex-wrap:wrap;gap:8px;max-width:100%;min-width:0;overflow-x:hidden;touch-action:pan-y}.choice-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:4px;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--surface-bg);margin-bottom:10px}.choice-toggle-button{min-height:38px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--gray-500);font:inherit;font-size:12px;font-weight:650;cursor:pointer;transition:border-color .15s,background .15s,color .15s,box-shadow .15s}.choice-toggle-button:hover{color:var(--dark)}.choice-toggle-button.selected{border-color:var(--dark);background:var(--white);color:var(--dark);box-shadow:var(--shadow-sm)}.compact-choice{margin-bottom:12px}.color-swatch{flex:0 0 40px;width:40px;height:40px;padding:0;border-radius:50%;border:2.5px solid transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;cursor:pointer;transition:all .15s ease;position:relative;touch-action:manipulation;box-shadow:inset 0 0 0 1px #00000014}.color-swatch:hover{transform:scale(1.12);box-shadow:0 2px 8px #00000026}.color-swatch.selected{border-color:var(--dark);box-shadow:0 0 0 2px var(--white),0 0 0 4px var(--dark)}.color-swatch .color-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--dark);color:var(--white);font-size:11px;padding:4px 10px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s;z-index:10}.color-swatch:hover .color-tooltip{opacity:1}.color-name-label{max-width:100%;min-width:0;font-size:13px;font-weight:500;color:var(--dark);margin-top:14px;display:flex;align-items:center;gap:8px}.color-name-label strong{min-width:0;overflow-wrap:anywhere}.color-name-label .color-preview{width:14px;height:14px;border-radius:50%;display:inline-block;border:1px solid rgba(0,0,0,.1)}@media(hover:none),(pointer:coarse){.color-swatch .color-tooltip{display:none}}.print-hint{margin-top:10px;color:var(--gray-400);font-size:12px;line-height:1.4}.compact-hint{margin-top:-4px;margin-bottom:10px}.awning-hint{margin-top:0;padding:12px 14px;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface-bg)}.sidewall-section{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border-light)}.sidewall-section:last-of-type{border-bottom:none}.sidewall-label{font-size:13px;font-weight:600;color:var(--dark);margin-bottom:8px;display:flex;align-items:center;gap:8px}.sidewall-label .side-indicator{width:8px;height:8px;border-radius:50%;background:#0000001f;transition:background .2s}.sidewall-label .side-indicator.has-wall{background:var(--dark)}.sidewall-label .side-width{margin-left:auto;font-size:11px;font-weight:400;color:var(--gray-400)}.sidewall-options{display:flex;gap:6px;flex-wrap:wrap}.sidewall-option{padding:8px 14px;border:1px solid var(--border-light);border-radius:var(--radius-xl);font-family:var(--font);font-size:12px;color:var(--gray-500);cursor:pointer;transition:all .15s;background:var(--white)}.sidewall-option:hover{border-color:var(--border-medium)}.sidewall-option.selected{border-color:var(--dark);background:var(--surface-bg);color:var(--dark);font-weight:600}.sidewall-option.disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.awning-toggle{margin-top:8px;padding:7px 14px;border:1px solid var(--border-light);border-radius:var(--radius-xl);font-family:var(--font);font-size:12px;color:var(--gray-500);cursor:pointer;background:var(--white);transition:all .15s}.awning-toggle:hover{border-color:var(--border-medium)}.awning-toggle.active{border-color:var(--dark);background:var(--surface-bg);color:var(--dark);font-weight:600}.sidewall-print-toggle{margin-top:8px;display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border:1px solid var(--border-light);border-radius:var(--radius-xl);font-size:12px;color:var(--gray-500);cursor:pointer;background:var(--white);transition:all .15s}.sidewall-print-toggle.active{border-color:var(--dark);background:var(--surface-bg);color:var(--dark)}.sidewall-print-toggle .toggle-track{width:28px;height:16px;border-radius:8px;background:#00000026;position:relative;transition:background .2s}.sidewall-print-toggle.active .toggle-track{background:var(--dark)}.sidewall-print-toggle .toggle-thumb{width:12px;height:12px;border-radius:50%;background:var(--white);position:absolute;top:2px;left:2px;transition:transform .2s;box-shadow:0 1px 2px #0003}.sidewall-print-toggle.active .toggle-thumb{transform:translate(12px)}.accessory-grid{display:grid;grid-template-columns:1fr;gap:10px}.accessory-option{width:100%;padding:14px;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--white);color:var(--dark);font-family:var(--font);display:flex;gap:12px;text-align:left;cursor:pointer;transition:border-color .15s,background .15s;align-items:flex-start}.accessory-option:hover,.accessory-option.selected{border-color:var(--dark);background:var(--surface-bg)}.accessory-check{width:18px;height:18px;border-radius:4px;border:1px solid var(--border-medium);flex:0 0 auto;margin-top:1px}.accessory-option.selected .accessory-check{background:var(--dark);border-color:var(--dark);box-shadow:inset 0 0 0 4px var(--surface-bg)}.accessory-preview{width:58px;height:58px;flex:0 0 58px;border-radius:var(--radius-sm);border:1px solid var(--border-light);background:#fff;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.accessory-preview img{width:100%;height:100%;object-fit:cover}.accessory-preview-icon{color:var(--gray-400);background:var(--surface-bg)}.accessory-preview-icon svg{width:32px;height:32px}.accessory-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.accessory-title{font-size:13px;font-weight:700}.accessory-description,.accessory-price{font-size:12px;line-height:1.35;color:var(--gray-500)}.print-options{display:flex;flex-direction:column;gap:6px}.print-mode-toggle{margin-bottom:14px}.print-option{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;transition:all .15s;background:var(--white)}.print-option:hover{border-color:var(--border-medium);box-shadow:var(--shadow-sm)}.print-option.selected{border-color:var(--dark);background:var(--surface-bg);box-shadow:0 0 0 1px var(--dark)}.print-option .print-radio{width:18px;height:18px;border:2px solid rgba(0,0,0,.15);border-radius:50%;flex-shrink:0;position:relative;transition:border-color .15s;margin-top:1px}.print-option.selected .print-radio{border-color:var(--dark)}.print-option.selected .print-radio:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;background:var(--dark);border-radius:50%}.print-option .print-info{flex:1;min-width:0;display:flex;flex-direction:column}.print-option .print-label{font-size:13px;font-weight:500;color:var(--dark);display:block}.print-option .print-desc{font-size:11px;color:var(--gray-500);margin-top:2px;display:block;line-height:1.4}.print-option .print-price{flex-shrink:0;font-size:13px;font-weight:600;color:var(--dark);margin-top:1px}.upload-zone{border:2px dashed rgba(0,0,0,.15);border-radius:var(--radius-md);padding:28px 20px;text-align:center;cursor:pointer;transition:all .2s;margin-top:8px;background:var(--surface-bg)}.upload-zone:hover{border-color:var(--dark);background:var(--surface-bg)}.upload-zone.is-dragging{border-color:var(--dark);background:#00000009}.upload-zone.has-error{border-color:#b42318}.upload-zone .upload-icon{margin-bottom:8px;color:var(--gray-400);display:flex;justify-content:center}.upload-zone .upload-text{font-size:13px;color:var(--gray-500)}.upload-zone .upload-text strong{color:var(--dark)}.upload-zone .upload-hint{font-size:11px;color:var(--gray-400);margin-top:4px}.upload-logo-preview{max-width:150px;max-height:92px;object-fit:contain;margin-bottom:8px;border-radius:4px;background:#fff;border:1px solid var(--border-light)}.upload-file-preview{width:54px;height:54px;margin:0 auto 8px;border-radius:var(--radius-sm);border:1px solid var(--border-light);display:flex;align-items:center;justify-content:center;color:var(--dark);background:#fff}.upload-error{margin-top:8px;font-size:12px;color:#b42318}.logo-file-actions{display:flex;gap:8px;margin-top:10px}.logo-secondary-button,.logo-print-choice{border:1px solid var(--border-light);background:#fff;border-radius:var(--radius-sm);padding:9px 12px;font:inherit;font-size:12px;color:var(--dark);cursor:pointer;transition:border-color .15s,background .15s}.logo-secondary-button:hover,.logo-print-choice:hover{border-color:var(--dark);background:var(--surface-bg)}.logo-empty-state{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:center;padding:14px;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--surface-bg)}.logo-empty-icon{color:var(--gray-400)}.logo-empty-title{color:var(--dark);font-size:14px;font-weight:600}.logo-empty-copy{color:var(--gray-500);font-size:12px;line-height:1.45;margin-top:2px}.logo-print-choice-grid{display:grid;grid-template-columns:1fr;gap:8px;margin-top:12px}.logo-workflow-grid{display:grid;grid-template-columns:1fr;gap:8px}.logo-workflow-card{border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:13px 14px;background:#fff;text-align:left;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.logo-workflow-card:hover{border-color:var(--border-medium);box-shadow:var(--shadow-sm)}.logo-workflow-card.selected{border-color:var(--dark);background:var(--surface-bg);box-shadow:0 0 0 1px var(--dark)}.logo-workflow-title{display:block;font-size:13px;font-weight:650;color:var(--dark);line-height:1.3}.logo-workflow-desc{display:block;margin-top:4px;font-size:11px;color:var(--gray-500);line-height:1.4}.logo-professional-hint{margin-top:14px;border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:12px 14px;background:var(--surface-bg);color:var(--gray-500);font-size:12px;line-height:1.45}.logo-professional-hint strong,.logo-professional-hint span{display:block}.logo-professional-hint strong{color:var(--dark);margin-bottom:3px}.logo-professional-hint.is-muted{background:#fff}.logo-preset-grid{display:grid;grid-template-columns:1fr;gap:8px}.logo-preset{border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:12px 14px;background:#fff;text-align:left;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.logo-preset:hover{border-color:var(--border-medium);box-shadow:var(--shadow-sm)}.logo-preset.selected{border-color:var(--dark);background:var(--surface-bg);box-shadow:0 0 0 1px var(--dark)}.logo-preset-title{display:block;font-size:13px;font-weight:600;color:var(--dark)}.logo-preset-desc{display:block;margin-top:3px;color:var(--gray-500);font-size:11px;line-height:1.35}.logo-placement-panel{margin-top:14px;padding:12px;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface-bg);display:grid;gap:10px}.logo-placement-header{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;font-weight:600;color:var(--dark)}.logo-placement-control{display:grid;grid-template-columns:88px minmax(0,1fr);gap:10px;align-items:center;font-size:12px;color:var(--gray-500)}.logo-placement-control input{width:100%;accent-color:var(--dark)}.logo-placement-slider{display:grid;min-width:0}.logo-placement-endpoints{display:flex;justify-content:space-between;gap:12px;margin-top:1px;color:var(--gray-400);font-size:10px;line-height:1.2}.logo-area-tabs{display:flex;flex-wrap:wrap;gap:6px}.logo-area-tab{border:1px solid var(--border-light);background:#fff;border-radius:var(--radius-sm);padding:7px 9px;font:inherit;font-size:11px;color:var(--gray-500);cursor:pointer}.logo-area-tab.selected{border-color:var(--dark);color:var(--dark);background:var(--white);box-shadow:0 0 0 1px var(--dark)}.logo-placement-reset{justify-self:start;border:1px solid var(--border-light);background:#fff;border-radius:var(--radius-sm);padding:8px 10px;font:inherit;font-size:12px;cursor:pointer}.logo-placement-reset:hover{border-color:var(--dark)}.logo-reading-direction{display:grid;grid-template-columns:88px minmax(0,1fr);gap:10px;align-items:center;font-size:12px;color:var(--gray-500)}.logo-reading-options{display:flex;gap:6px}.logo-reading-option{min-width:0;border:1px solid var(--border-light);border-radius:999px;background:#fff;padding:6px 10px;color:var(--gray-500);font:inherit;font-size:11px;cursor:pointer}.logo-reading-option.selected{border-color:var(--dark);background:var(--dark);color:#fff}.logo-pdf-note{margin-top:14px;padding:12px 14px;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface-bg);color:var(--gray-500);font-size:12px;line-height:1.45}.logo-pdf-note strong{color:var(--dark)}.print-areas-grid{display:flex;flex-wrap:wrap;gap:6px}.summary-config{background:var(--surface-bg);border-radius:var(--radius-md);padding:16px;margin-bottom:16px;border:1px solid var(--border-light)}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;font-size:13px}.summary-row .summary-label{font-weight:600;color:var(--dark)}.summary-row .summary-value{color:var(--gray-500)}.summary-breakdown{border:1px solid var(--border-light);border-radius:var(--radius-md);overflow:hidden}.breakdown-row{display:flex;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-light);font-size:14px;color:var(--dark);letter-spacing:-.14px}.breakdown-row.last{border-bottom:1px solid var(--border-light)}.breakdown-row.sub{color:var(--gray-500);font-size:12px;padding-left:24px}.breakdown-row .breakdown-price{font-weight:500;white-space:nowrap}.breakdown-total{display:flex;justify-content:space-between;padding:14px 16px;background:var(--dark);font-weight:700;font-size:16px;color:var(--white)}.quote-reference{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;margin-bottom:18px;padding:14px;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--surface-bg)}.quote-reference span{color:var(--gray-500);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.quote-reference strong{color:var(--dark);font-size:18px}.quote-reference em{color:var(--gray-500);font-size:13px;font-style:normal}.quote-reference small{color:var(--gray-400);font-size:11px;line-height:1.35}.quote-form{display:grid;gap:12px}.quote-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.quote-field{display:grid;gap:6px;color:var(--dark);font-size:12px;font-weight:600}.quote-field input,.quote-field textarea{width:100%;padding:12px 14px;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--white);color:var(--dark);font:inherit;font-size:14px;font-weight:400;outline:none;transition:border-color .2s,box-shadow .2s}.quote-field textarea{resize:vertical}.quote-field input:focus,.quote-field textarea:focus{border-color:var(--dark);box-shadow:0 0 0 4px #11111114}.quote-check{display:inline-flex;align-items:center;gap:8px;color:var(--gray-500);font-size:12px;cursor:pointer}.quote-check input{accent-color:var(--dark)}.quote-error{margin:0;padding:10px 12px;border:1px solid #f0b4b4;border-radius:var(--radius-sm);background:#fff5f5;color:#9b1c1c;font-size:12px;line-height:1.45}.quote-privacy{margin:0;color:var(--gray-400);font-size:11px;line-height:1.4;text-align:center}.quote-privacy a{color:var(--gray-500);font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.quote-success{padding:24px 16px;text-align:center}.quote-success svg{margin-bottom:12px}.quote-success p{margin:0;color:var(--dark);font-size:16px;font-weight:700}.quote-success span{display:block;margin-top:4px;color:var(--gray-500);font-size:13px}.summary-lead-card{margin-top:18px;padding:14px;border:1px solid rgba(15,118,78,.18);border-radius:var(--radius-sm);background:#f4fbf6;display:grid;gap:12px}.summary-lead-card.is-dismissed{display:none}.summary-lead-card strong,.summary-lead-card span{display:block}.summary-lead-card strong{color:var(--dark);font-size:14px;font-weight:750}.summary-lead-card span{margin-top:4px;color:var(--gray-500);font-size:12px;line-height:1.45}.summary-lead-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.summary-lead-cta{min-height:38px}.summary-lead-skip{border:0;background:transparent;color:var(--gray-500);font-family:var(--font);font-size:12px;font-weight:700;cursor:pointer}.app-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:20px}.app-modal.is-open{display:flex}.app-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#11111180;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-modal-card{position:relative;z-index:1;width:min(100%,390px);max-height:min(620px,calc(100vh - 40px));overflow-y:auto;border:1px solid rgba(255,255,255,.45);border-radius:24px;background:var(--white);box-shadow:0 30px 90px #00000038}.app-modal-close{position:absolute;top:16px;right:16px;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;border-radius:999px;background:#f4f2ef;color:var(--gray-500);cursor:pointer;transition:background .16s,color .16s,transform .16s}.app-modal-close:hover{background:#ebe7e1;color:var(--dark);transform:scale(1.02)}.lead-capture-card{padding:34px 32px 26px}.lead-capture-kicker{margin:0 52px 14px 0;color:var(--dark);font-size:11px;font-weight:800;letter-spacing:.14em;line-height:1.2;text-transform:uppercase}.lead-capture-card h2{margin:0;color:var(--dark);font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.08}.lead-capture-copy{margin:16px 0 20px;color:var(--gray-500);font-size:14px;line-height:1.45}.lead-capture-field{display:grid;gap:7px;margin-bottom:12px}.lead-capture-field span{color:var(--dark);font-size:13px;font-weight:800}.lead-capture-field input{width:100%;min-height:46px;border:1px solid var(--border-medium);border-radius:999px;background:var(--white);color:var(--dark);font:inherit;font-size:15px;outline:0;padding:0 18px;transition:border-color .16s,box-shadow .16s}.lead-capture-field input:focus{border-color:var(--dark);box-shadow:0 0 0 4px #11111114}.lead-capture-primary,.lead-capture-secondary{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:48px;border-radius:999px;font-family:var(--font);font-size:15px;font-weight:800;cursor:pointer;transition:background .16s,border-color .16s,color .16s,transform .16s}.lead-capture-primary{margin-top:8px;border:1px solid var(--dark);background:var(--dark);color:var(--white)}.lead-capture-primary:hover{background:var(--dark-2);transform:translateY(-1px)}.lead-capture-secondary{margin-top:10px;border:1px solid var(--border-medium);background:#f8f6f3;color:var(--gray-500)}.lead-capture-secondary:hover{border-color:var(--gray-300);background:#f1ede8;color:var(--dark)}.lead-capture-privacy{margin:12px auto 0;max-width:310px;color:var(--gray-400);font-size:11px;line-height:1.35;text-align:center}.lead-capture-privacy a{color:var(--gray-500);font-weight:800;text-decoration:underline;text-underline-offset:2px}.lead-capture-status{margin:2px 0 0;font-size:13px;line-height:1.45;text-align:center}.lead-capture-status.is-success{color:#166534}.lead-capture-status.is-error{color:#b91c1c}.lead-capture-primary:disabled{cursor:wait;opacity:.65}body.modal-open{overflow:hidden}@media(max-width:640px){.app-modal{align-items:flex-end;padding:10px}.app-modal-card{width:100%;max-height:calc(100vh - 20px);border-radius:22px}.app-modal-close{top:14px;right:14px;width:40px;height:40px}.lead-capture-card{padding:28px 26px 22px}.lead-capture-card h2{font-size:24px}.lead-capture-copy{margin:14px 0 18px;font-size:14px}.lead-capture-field input{min-height:46px}.lead-capture-primary,.lead-capture-secondary{min-height:48px;font-size:15px}}#price-summary{padding:16px 20px;border-top:1px solid var(--border-light);background:var(--white);flex-shrink:0;box-shadow:0 -4px 20px #00000008}.price-row{display:flex;justify-content:space-between;align-items:center;padding:2px 0;font-size:13px;color:var(--gray-500)}.price-row.total{gap:14px;align-items:flex-start;font-size:18px;font-weight:700;color:var(--dark);padding:2px 0 4px}.price-row.total>span:first-child{padding-top:6px}#total-price{display:inline-block;color:var(--dark);font-size:clamp(20px,2vw,26px);font-weight:850;line-height:1;letter-spacing:0;white-space:normal}.price-value-wrap{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;gap:4px;min-width:0}.price-meta{display:flex;align-items:center;justify-content:flex-start;gap:6px;width:auto;min-width:0;flex-wrap:nowrap}.shipping-badge{flex:0 0 auto;padding:0;border:0;border-radius:0;background:transparent;color:#0f7049;font-size:11px;font-weight:800;line-height:1;white-space:nowrap}.shipping-badge[hidden]{display:none}.price-note{font-size:12px;color:var(--gray-500);font-weight:650;margin:2px 0 12px;line-height:1.3}.price-meta .price-note{margin:0;line-height:1}.bottom-nav{display:flex;gap:8px}.bottom-nav .btn-prev{flex:0 0 auto;padding:10px 20px;background:var(--white);color:var(--gray-500);border:1px solid var(--border-medium);border-radius:var(--radius-xl);font-family:var(--font);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:6px;height:48px}.bottom-nav .btn-prev:hover{border-color:var(--dark);color:var(--dark)}.bottom-nav .btn-prev:disabled{opacity:.3;cursor:not-allowed}.bottom-nav .btn-next{flex:1;padding:10px 24px;background:var(--dark);color:var(--white);border:none;border-radius:var(--radius-xl);font-family:var(--font);font-size:15px;font-weight:600;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:6px;height:48px;letter-spacing:-.15px}.bottom-nav .btn-next:hover{background:var(--primary-dark)}.bottom-nav .btn-next.btn-request-mode{background:var(--dark)}.step-buttons{display:none!important}.section-divider{height:1px;background:var(--border-light);margin:24px 0}.quality-card{padding:12px 14px}.quality-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.quality-price{flex-shrink:0;padding:6px 9px;border-radius:var(--radius-xl);color:var(--dark);background:var(--surface-bg);font-size:12px;font-weight:700}.quality-meta-row{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}.quality-meta-row span{padding:4px 8px;border:1px solid var(--border-light);border-radius:var(--radius-xl);color:var(--gray-500);background:var(--white);font-size:10px;font-weight:700;letter-spacing:0;line-height:1.2;text-transform:uppercase}.quality-action-row{display:flex;justify-content:flex-end;margin-top:8px}.quality-details-toggle{padding:0;border:0;border-radius:0;background:transparent;color:var(--dark);font:inherit;font-size:11px;font-weight:700;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color .15s}.quality-details-toggle:hover{color:var(--gray-700);background:transparent}.quality-details{margin-top:9px;padding-top:9px;border-top:1px solid var(--border-light);color:var(--gray-500);font-size:11px;line-height:1.45}.quality-details[hidden]{display:none}.quality-details p{margin:0 0 6px;color:var(--gray-600)}.quality-details ul{display:grid;gap:3px;margin:0;padding-left:16px}@media(max-width:640px){.quality-card{padding:11px 12px}.quality-card-head{gap:8px}.quality-price{padding:5px 8px;font-size:11px}.quality-details-toggle{font-size:11px}}button:focus-visible,.step-tab:focus-visible,.config-card:focus-visible,.emergency-preset-card:focus-visible,.quality-details-toggle:focus-visible,.size-option:focus-visible,.color-swatch:focus-visible,.sidewall-option:focus-visible,.print-option:focus-visible,.upload-zone:focus-visible,.logo-workflow-card:focus-visible,.logo-preset:focus-visible,.logo-area-tab:focus-visible,.logo-secondary-button:focus-visible,.logo-print-choice:focus-visible{outline:2px solid var(--dark);outline-offset:2px}.btn-primary:active,.bottom-nav .btn-next:active,.bottom-nav .btn-prev:active{transform:scale(.98)}.fade-in{animation:fadeIn .25s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){#configurator-panel{width:100%;max-width:100%;border-left:none;border-top:1px solid var(--border-light)}}@media(max-width:1024px){#configurator-panel{flex:1 1 0;height:auto;min-height:0}#step-content{padding:16px 16px 12px}#step-nav{padding:8px 12px;gap:4px;scroll-padding-inline:12px 64px}#step-nav:after{content:"";flex:0 0 64px}.step-tab{padding:6px 12px;font-size:12px}.step-number{width:18px;height:18px;font-size:10px}#price-summary{min-height:64px;padding:6px 10px;box-shadow:0 -2px 12px #0000000d;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;row-gap:0}#price-summary .price-row{padding:0;grid-column:1;grid-row:1;flex-direction:column;align-items:flex-start;gap:0}#price-summary .price-row.total{font-size:15px;font-weight:700;line-height:1.1}#price-summary #total-price{font-size:clamp(17px,4.8vw,20px);line-height:1}#price-summary .price-value-wrap{align-items:flex-start;justify-content:flex-start;gap:3px;width:auto;max-width:100%}#price-summary .price-meta{justify-content:flex-start;gap:6px;width:auto}#price-summary .shipping-badge{padding:0;font-size:9px}#price-summary .price-row.total>span:first-child{padding-top:0;font-size:9px;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:0}#price-summary .price-note{margin:0;font-size:9px;line-height:1}#price-summary .bottom-nav{grid-column:2;grid-row:1;flex-shrink:0;gap:6px}#price-summary .bottom-nav .btn-prev{height:38px;padding:0 14px;font-size:13px}#price-summary .bottom-nav .btn-prev span{display:none}#price-summary .bottom-nav .btn-prev{width:38px;padding:0;justify-content:center}#price-summary .bottom-nav .btn-next{height:38px;padding:0 14px;font-size:12.5px;flex:0 0 auto;min-width:130px;max-width:200px}}@media(max-width:480px){#price-summary{min-height:62px;padding:6px 9px;gap:7px}#price-summary .price-row.total{font-size:14px}#price-summary .bottom-nav .btn-next{min-width:110px;padding:0 12px;font-size:12.5px}}
