body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@media (max-width:768px){body{padding-top:0}.tier-selector-container{padding-top:15px}.wizard-content{font-size:.9rem;padding:15px .8rem .8rem}.configurator-header{align-items:center;background-color:#fff;height:45px;overflow:hidden;position:relative;z-index:1}.configurator-header,.logo-container{display:flex;justify-content:center;padding:0}.logo-container{height:100%;margin:0;width:100%}.company-logo{height:32px;margin:0 auto;max-width:80%;object-fit:contain;width:auto}body,html{margin:0;overflow-x:hidden;padding:0;position:relative;width:100%}.configurator{height:100vh;overflow:hidden;padding:0}.configurator-layout{bottom:0;gap:0;height:calc(100vh - 45px);left:0;margin:0;padding:0;position:relative;right:0;top:0}.configurator-sidebar{height:50%;max-height:50vh;max-width:100%;overflow-x:hidden;overflow-y:auto;width:100%}.configurator-main{bottom:0;height:50%;position:absolute;width:100%}.tier-info-banner{padding:8px 10px}.tier-info .tier-name{font-size:.9rem;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tier-info .tier-price{font-size:.9rem}.current-step-name{font-size:16px}.current-step-number{font-size:12px}.navigation-buttons button{height:60px;min-width:140px;padding:8px 12px;width:140px}.timeline-container{height:45px}.wizard-progress-container{padding:10px .8rem 0}.wizard-navigation-buttons{padding:.8rem}.options-grid{grid-template-columns:1fr}.configurator-scene{left:0;position:absolute;top:0}.configurator-scene,canvas{height:100%!important;width:100%!important}canvas{touch-action:none}}@media (max-width:480px){body{padding-top:0}.configurator-header{height:40px}.company-logo{height:28px;max-width:75%}.configurator-layout{height:calc(100vh - 40px)}.navigation-buttons button{font-size:.85rem;height:55px;min-width:110px;width:110px}.button-direction{font-size:10px;margin-bottom:2px}}:root{--grounded-primary:#1a1a1a;--grounded-accent:#a3ff00;--grounded-light:#eae6da;--grounded-text:#333;--grounded-secondary-text:#757575;--grounded-selected:#a3ff0033;--grounded-hover:#a3ff001a;--grounded-disabled:#e0e0e0;--grounded-error:#d32f2f;--grounded-complete:#4caf50}.module-selector{background-color:#eae6da;background-color:var(--grounded-light);border-radius:8px;margin-bottom:20px;padding:15px}.module-types{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.module-types button{background-color:#e0e0e0;border:none;border-radius:4px;cursor:pointer;padding:8px 12px;transition:all .2s}.module-types button.active{background-color:#1a1a1a;background-color:var(--grounded-primary);color:#fff}.module-list{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));max-height:300px;overflow-y:auto}.module-item{background-color:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;display:flex;overflow:hidden;transition:all .2s}.module-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-3px)}.module-item.selected{border:2px solid #a3ff00;border:2px solid var(--grounded-accent);box-shadow:0 0 0 2px #a3ff004d}.module-color{min-height:100%;width:40px}.module-info{flex:1 1;padding:10px}.module-info h4{font-size:16px;margin:0 0 5px}.module-info p{color:#555;font-size:14px;margin:0 0 5px}.module-size{color:#333!important;font-weight:700}.configurator{margin:0 auto;max-width:1200px;padding:20px}.configurator-header{margin-bottom:20px}.logo-container{margin-bottom:15px}.configurator-layout{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 2fr}@media (max-width:768px){.configurator-layout{grid-template-columns:1fr}}.status-message{margin-top:10px;padding:10px}.status-valid{background-color:#a3ff0033;background-color:var(--grounded-selected);color:#1a1a1a;color:var(--grounded-primary)}.status-invalid{background-color:#f8d7da;color:var(--grounded-error)}.configurator-wizard{background-color:#eae6da;background-color:var(--grounded-light);border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;height:100%;justify-content:space-between;width:100%}.wizard-progress-container{box-sizing:border-box;padding:20px 1rem 0;width:100%}.wizard-content{flex-grow:1;overflow-y:auto;padding:1rem}.wizard-navigation-buttons{background-color:#e0e0e0;border-bottom-left-radius:8px;border-bottom-right-radius:8px;border-top:1px solid #e0e0e0;border-top:1px solid var(--grounded-disabled);box-sizing:border-box;padding:1rem 1rem 1.5rem;width:100%}.timeline-container{background-color:#e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;height:60px;overflow:hidden;position:relative;width:100%}.timeline-progress{background-color:#a3ff00;background-color:var(--grounded-accent);height:100%;position:absolute;transition:width .5s ease;z-index:1}.timeline-step-info{align-items:center;color:#1a1a1a;color:var(--grounded-primary);display:flex;flex-direction:column;height:100%;justify-content:center;position:relative;text-shadow:none;width:100%;z-index:2}.current-step-number{font-size:14px;font-weight:500}.current-step-name{font-size:20px;font-weight:700}.navigation-buttons{display:flex;justify-content:space-between;width:100%}.navigation-buttons button{align-items:center;border:none;border-radius:6px;display:flex;flex-direction:column;font-weight:600;height:74px;justify-content:center;min-width:180px;padding:12px 20px;text-align:center;transition:all .2s;width:180px}.navigation-buttons button span{word-wrap:break-word;white-space:normal;width:100%}.navigation-buttons button.btn-secondary{background-color:#f0f0f0;color:#1a1a1a;color:var(--grounded-primary)}.navigation-buttons button.btn-secondary:hover:not(:disabled){background-color:#e0e0e0}.navigation-buttons button.btn-primary{background-color:#1a1a1a;background-color:var(--grounded-primary);color:#fff}.navigation-buttons button.btn-primary:hover:not(:disabled){background-color:#333}.navigation-buttons button:disabled{cursor:not-allowed;opacity:.5}.button-direction{font-size:12px;margin-bottom:4px;opacity:.7}.next-button-container{align-items:flex-end;display:flex;flex-direction:column}.selection-required-message{color:#1a1a1a;color:var(--grounded-primary);font-size:12px;font-weight:500;margin-top:5px;max-width:200px;text-align:center}.step-indicators{display:none}.category-options{margin-bottom:2rem}.category-header{margin-bottom:1rem}.category-header h3{color:#333;margin:0 0 .5rem}.category-description{color:#757575;margin:0 0 .5rem}.selection-hint{color:#1a1a1a;color:var(--grounded-primary);font-size:.9rem;margin:.5rem 0}.selection-count{color:#757575;font-size:.9rem}.validation-error{color:#d32f2f;color:var(--grounded-error);font-weight:700}.options-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.config-option{background-color:#fff;border:2px solid #0000;border-radius:8px;box-shadow:0 1px 3px #0000001a;cursor:pointer;display:flex;flex-direction:column;max-height:250px;min-height:50px;overflow-y:auto;padding:1rem;position:relative;transition:all .2s ease}.config-option:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.config-option.selected{background-color:#a3ff0033;background-color:var(--grounded-selected);border-color:#a3ff00;border-color:var(--grounded-accent)}.config-option.disabled{background-color:#e6e6e6;color:#999;cursor:pointer}.option-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.5rem}.option-header h4{color:#333;flex:1 1;font-size:1rem;font-weight:500;margin:0}.option-description{flex-grow:1;margin-bottom:.5rem}.option-description p{color:#555;font-size:.9rem;line-height:1.4;margin:0}.config-option.disabled .option-header h4{color:#888}.option-price{color:#1976d2;font-weight:700;margin-left:.5rem;white-space:nowrap}.option-disabled-indicator{margin-top:auto;padding-top:4px}.tier-availability-box{background-color:#333;border-radius:4px;color:#fff;display:inline-block;font-size:.9rem;padding:6px 10px}.current-step-summary{background-color:#fff;border-top:1px solid #e0e0e0;padding:1rem}.current-step-summary h4{color:#333;margin:0 0 .5rem}.selected-options{display:flex;flex-wrap:wrap;gap:.5rem}.selected-option-pill{background-color:#a3ff0033;background-color:var(--grounded-selected);border-radius:16px;font-size:.9rem;padding:.25rem .5rem}.remove-option,.selected-option-pill{align-items:center;color:#1a1a1a;color:var(--grounded-primary);display:flex}.remove-option{background:none;border:none;cursor:pointer;font-size:1.2rem;font-weight:700;justify-content:center;margin-left:.25rem;padding:0 .25rem}.remove-option:hover{color:#d32f2f;color:var(--grounded-error)}.running-total{background-color:#1a1a1a;background-color:var(--grounded-primary);color:#fff;font-size:1.2rem;font-weight:700;padding:1rem;text-align:right}.configuration-complete{background-color:#fff;padding:2rem}.configuration-complete h2{color:#388e3c;margin:0 0 1rem;text-align:center}.configuration-summary{background-color:#eae6da;border-radius:8px;margin-bottom:0;padding:1rem}.configuration-summary h3{border-bottom:1px solid #e0e0e0;color:#333;margin:0 0 1rem;padding-bottom:.5rem}.summary-category{margin-bottom:1rem}.summary-category h4{color:#1a1a1a;color:var(--grounded-primary);margin:0 0 .5rem}.summary-category ul{margin:0;padding-left:1.5rem}.summary-category li{margin-bottom:.25rem}.summary-total{border-top:1px solid #e0e0e0;padding-top:1rem;text-align:right}.summary-total h3{border:none;color:#1a1a1a;color:var(--grounded-primary);margin:0;padding:0}.black-text,.black-text h3,.black-text h4,.black-text label,.black-text li,.black-text p{color:#1a1a1a!important;color:var(--grounded-primary)!important}.summary-actions{display:flex;gap:1rem;justify-content:space-between;margin-top:2rem}.summary-actions button{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-weight:600;padding:12px 20px;transition:all .2s}.summary-actions button.btn-secondary{background-color:#f0f0f0;color:#1a1a1a;color:var(--grounded-primary)}.summary-actions button.btn-secondary:hover:not(:disabled){background-color:#e0e0e0}.summary-actions button.btn-primary{background-color:#1a1a1a;background-color:var(--grounded-primary);color:#fff}.summary-actions button.btn-primary:hover:not(:disabled){background-color:#333}.summary-actions button:disabled{cursor:not-allowed;opacity:.5}.submission-form{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--grounded-disabled);margin-bottom:2rem;padding-bottom:1.5rem}.form-field{margin-bottom:1rem}.form-field label{display:block;font-weight:500;margin-bottom:.5rem}.form-field input[type=email],.form-field input[type=tel],.form-field input[type=text]{border:1px solid #e0e0e0;border:1px solid var(--grounded-disabled);border-radius:4px;box-sizing:border-box;font-size:1rem;padding:10px;width:100%}.form-field input:disabled{background-color:#f8f8f8;cursor:not-allowed}.submission-status-message{border-radius:4px;font-weight:500;margin-top:1rem;padding:.75rem;text-align:center}.submission-status-message.status-submitting{background-color:#e1f5fe;border:1px solid #b3e5fc;color:#0288d1}.submission-status-message.status-success{background-color:#e8f5e9;border:1px solid #c8e6c9;color:#4caf50;color:var(--grounded-complete)}.submission-status-message.status-error{background-color:#ffebee;border:1px solid #ffcdd2;color:#d32f2f;color:var(--grounded-error)}.base-price-indicator,.summary-base-price{background-color:#a3ff0033;background-color:var(--grounded-selected);border-radius:4px;color:#1a1a1a;color:var(--grounded-primary);font-weight:700;margin-bottom:1rem;padding:.75rem;text-align:center}.texture-selection-step{background-color:#f9f9f9;border-radius:8px;margin-bottom:20px;padding:20px}.texture-selection-step h3{color:#333;margin-bottom:10px;margin-top:0}.step-description{color:#666;font-size:.95rem;margin-bottom:20px}.texture-selection-step .texture-selector{background-color:#fff;margin-bottom:0}.summary-texture{border-bottom:1px solid #eee;margin-bottom:15px;margin-top:15px;padding-bottom:12px}.summary-texture h4{color:#444;font-weight:600;margin-bottom:8px}.summary-texture-item{align-items:baseline;display:flex}.summary-texture-item .texture-name{font-weight:500;margin-right:10px}.summary-texture-item .texture-description{color:#666;font-size:.9em;font-style:italic}.step-indicator.tier-selection-step{align-items:center;background-color:#eae6da;background-color:var(--grounded-light);border-left:4px solid #1a1a1a;border-left:4px solid var(--grounded-primary);cursor:pointer;display:flex;justify-content:center;min-width:auto;padding:.5rem 1rem}.step-indicator.tier-selection-step .step-name{color:#1a1a1a;color:var(--grounded-primary);font-weight:500}.step-indicator.tier-selection-step:hover{background-color:#a3ff0033;background-color:var(--grounded-selected)}.tier-info-banner{background-color:#1a1a1a;background-color:var(--grounded-primary);border-top-left-radius:8px;border-top-right-radius:8px;color:#fff;padding:12px 16px}.tier-info{align-items:center;display:flex;justify-content:space-between}.tier-name{font-size:1.1rem;font-weight:500}.tier-info .tier-price{border-radius:4px;color:#fff!important;display:inline-block;font-size:1.1rem;font-weight:600;margin-left:8px;padding:4px 10px}.tier-price{color:inherit;font-weight:500}.material-selector-container{background-color:#eae6da;border-radius:8px;margin-bottom:20px;padding:20px}.material-selector-container h2{color:#333;margin-bottom:25px;margin-top:0;text-align:center}.material-section{margin-bottom:30px}.material-section h4{border-bottom:1px solid #dee2e6;color:#495057;font-size:1.1em;margin-bottom:12px;padding-bottom:5px}.material-swatches{display:flex;flex-wrap:wrap;gap:12px}.material-swatch{background-position:50%;background-size:cover;border:2px solid #0000;border-radius:6px;box-shadow:0 1px 3px #0000001a;cursor:pointer;height:50px;overflow:hidden;position:relative;transition:border-color .2s ease-in-out,transform .2s ease-in-out;width:50px}.material-swatch:hover{border-color:#adb5bd;transform:scale(1.05)}.material-swatch.selected{border-color:var(--grounded-accent);box-shadow:0 0 8px #0003;transform:scale(1.1)}.material-swatch:focus{outline:2px solid var(--grounded-selected);outline-offset:1px}.material-swatch .checkmark{color:#fff;font-size:24px;font-weight:700;left:50%;opacity:0;pointer-events:none;position:absolute;text-shadow:1px 1px 2px #000000b3;top:50%;transform:translate(-50%,-50%);transition:opacity .2s ease}.material-swatch.selected .checkmark{opacity:1}.material-swatch.unavailable{cursor:not-allowed;opacity:1;position:relative}.material-swatch.unavailable:after{align-items:center;background-color:#c8c8c880;border-radius:4px;bottom:0;box-sizing:border-box;color:#333;content:attr(title);display:flex;font-size:10px;font-weight:700;justify-content:center;left:0;line-height:1.2;padding:2px;pointer-events:none;position:absolute;right:0;text-align:center;top:0}.tier-required-indicator{background-color:#0009;border-radius:3px;bottom:2px;color:#fff;font-size:9px;line-height:1;padding:1px 3px;position:absolute;right:2px}.selected-material-name{color:#555;font-size:.9em;font-style:italic;margin-top:10px}.materials-navigation{display:flex;gap:15px;justify-content:space-between;margin-top:30px}.back-to-options-button{background-color:#1a1a1a;border:none;border-radius:5px;color:#fff;cursor:pointer;flex:1 1;font-size:1.1em;font-weight:700;padding:12px 20px;text-align:center;transition:background-color .2s ease}.back-to-options-button:hover{background-color:#333}.confirm-materials-button{background-color:#1a1a1a;border:none;border-radius:5px;color:#fff;cursor:pointer;flex:1 1;font-size:1.1em;font-weight:700;padding:12px 20px;text-align:center;transition:background-color .2s ease}.confirm-materials-button:hover{background-color:#333}.tier-selector-container{background-color:#eae6da;border-radius:8px;margin-bottom:20px;max-height:80vh;overflow-y:auto;padding:20px;text-align:center}.tier-selector-container h2{color:#1a1a1a;font-weight:600;margin-bottom:10px;margin-top:0}.tier-selector-container p{color:#555;font-size:.95em;margin-bottom:15px}.tier-options{align-items:center;gap:20px;justify-content:flex-start}.tier-card,.tier-options{display:flex;flex-direction:column}.tier-card{background-color:#fff;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 2px 5px #0000000d;cursor:pointer;justify-content:space-between;max-width:400px;padding:15px;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out;width:90%}.tier-card:focus,.tier-card:hover{box-shadow:0 6px 12px #0000001a;outline:2px solid #a3ff00;outline-offset:2px;transform:translateY(-5px)}.tier-card h3{color:#1a1a1a;font-size:1.2em;font-weight:600;margin:0 0 5px}.tier-headline{color:#333;font-size:1em;font-weight:500;line-height:1.3;margin:0 0 10px}.tier-price{color:#1a1a1a;font-size:1.2em;font-weight:700;margin:0}.tier-description{color:#6c757d;font-size:.9em;line-height:1;margin:3px 0 12px}.select-tier-button{align-self:stretch;background-color:#1a1a1a;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:.95em;font-weight:700;padding:8px 15px;transition:background-color .2s ease}.select-tier-button:hover{background-color:#333}.tier-card.highlight{border:2px solid #a3ff00;position:relative}.tier-card.highlight:before{background-color:#a3ff00;border-radius:12px;color:#1a1a1a;content:"MOST POPULAR";font-size:.7em;font-weight:700;left:50%;padding:3px 10px;position:absolute;top:-10px;transform:translateX(-50%)}@media (max-width:768px){.tier-options{flex-direction:column}.tier-card{margin-bottom:15px;max-width:100%;width:100%}.tier-headline{font-size:.95em}.tier-description{font-size:.85em}.tier-price{font-size:1.1em}.select-tier-button{font-size:.9em;padding:6px 12px}}@media (max-width:480px){.tier-selector-container h2{font-size:1.4em}.tier-selector-container>p{font-size:.9em}.tier-card{padding:12px}.tier-card h3{font-size:1.1em;margin:0 0 5px}}@media (min-width:992px){.tier-card{padding:20px}}body{color:#333;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0;padding:0}.configurator,body{background-color:#eae6da}.configurator{display:flex;flex-direction:column;font-family:Roboto,sans-serif;height:100vh}.configurator-header{background-color:#fff;box-shadow:0 2px 4px #0000001a;padding:1rem;text-align:center;z-index:10}.configurator-header h1{color:#2c3e50;font-family:transducer,sans-serif;font-size:2.2rem;font-style:normal;font-weight:900;margin:.5rem 0}.configurator-header p{color:#666;font-size:1rem;margin:0}.logo-container{display:flex;justify-content:center;margin-bottom:.5rem;margin-top:15px}.company-logo{height:50px}.configurator-layout{display:flex;flex:1 1;overflow:hidden}.configurator-sidebar{background-color:#eae6da;box-shadow:1px 0 5px #0000001a;display:flex;flex-direction:column;max-width:500px;overflow-y:auto;width:40%;z-index:5}.configurator-main{background-color:#f0f0f0;flex:1 1;position:relative}.configurator-actions{background-color:#f9f9f9;border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1rem}.clear-button,.save-button{border:none;border-radius:4px;cursor:pointer;font-weight:700;padding:.75rem 1.5rem;transition:background-color .2s ease}.save-button{background-color:#4caf50;color:#fff}.save-button:hover{background-color:#388e3c}.save-button:disabled{background-color:#a5d6a7;cursor:not-allowed}.clear-button{background-color:#f44336;color:#fff}.clear-button:hover{background-color:#d32f2f}.status-message{border-radius:4px;margin:1rem;padding:.75rem;text-align:center}.status-valid{background-color:#e8f5e9;color:#388e3c}.status-invalid{background-color:#ffebee;color:#d32f2f}.firestore-status{border-radius:4px;font-size:.9rem;margin-top:.5rem;padding:.5rem}.firestore-status-connecting{background-color:#fff9c4;color:#fbc02d}.firestore-status-mock{background-color:#e1f5fe;color:#0288d1}.firestore-status-error{background-color:#ffebee;color:#c62828}.configurator-scene{height:100%;width:100%}@media (max-width:1024px){.configurator-layout{flex-direction:column}.configurator-sidebar{height:50%;max-width:none;width:100%}.configurator-main{height:50%}}@media (max-width:768px){.configurator-header h1{font-size:1.5rem}.configurator-sidebar{height:60%}.configurator-main{height:40%}}@media (max-width:480px){.configurator-actions{flex-direction:column;gap:.5rem}.clear-button,.save-button{width:100%}}.firestore-warning{align-items:center;background-color:#fff3cd;border-left:4px solid #ffc107;border-radius:4px;color:#856404;display:flex;font-size:14px;margin-top:10px;padding:8px 12px}.firestore-warning:before{content:"⚠️";font-size:16px;margin-right:8px}button:disabled{cursor:not-allowed;opacity:.6}.control-panel-container{border-radius:8px;box-shadow:0 4px 8px #0003;max-height:400px;overflow-y:auto;pointer-events:auto;width:360px}.van-canvas{height:500px;position:relative;width:100%}.error-message{background:#dc3232cc;border-radius:4px;color:#fff;font-weight:700;left:50%;padding:6px 12px;position:absolute;top:10px;transform:translateX(-50%);z-index:10}
/*# sourceMappingURL=main.871de6ab.css.map*/