.smart-assembler{background:var(--color-background);padding:var(--space-3xl) 0}.smart-assembler__container{margin:0 auto;max-width:1400px;padding:0 var(--space-md)}.smart-assembler__header{margin-bottom:var(--space-2xl);text-align:center}.smart-assembler__eyebrow{color:var(--color-primary);display:block;font-size:.75rem;font-weight:800;letter-spacing:.1em;margin-bottom:var(--space-xs);text-transform:uppercase}.smart-assembler__title{color:var(--color-text);font-size:1.75rem;font-weight:900;margin:0 0 var(--space-sm)}.smart-assembler__subtitle{color:var(--color-text-light);font-size:1rem;margin:0;margin-inline:auto;max-width:480px}.smart-assembler__progress{margin:0 auto var(--space-xl);max-width:480px;position:relative}.smart-assembler__progress-track{background:var(--color-border);border-radius:var(--radius-full);height:2px;left:32px;position:absolute;right:32px;top:16px}.smart-assembler__progress-fill{background:var(--color-primary);border-radius:var(--radius-full);height:100%;transition:width .4s cubic-bezier(.16,1,.3,1);width:0}.smart-assembler__progress-dots{display:flex;justify-content:space-between;position:relative}.smart-assembler__dot{align-items:center;background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:var(--space-xs);opacity:.4;padding:0;transition:opacity .2s ease}.smart-assembler__dot.active,.smart-assembler__dot.completed{opacity:1}.smart-assembler__dot.completed{cursor:pointer}.smart-assembler__dot-num{align-items:center;background:var(--color-background);border:2px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-muted);display:flex;font-size:.8rem;font-weight:700;height:32px;justify-content:center;transition:border-color .2s ease,background .2s ease,color .2s ease;width:32px}.smart-assembler__dot.active .smart-assembler__dot-num{border-color:var(--color-primary);color:var(--color-primary)}.smart-assembler__dot.completed .smart-assembler__dot-num{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.smart-assembler__dot-label{color:var(--color-text-muted);font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.smart-assembler__dot.active .smart-assembler__dot-label,.smart-assembler__dot.completed .smart-assembler__dot-label{color:var(--color-text)}.smart-assembler__breadcrumb{align-items:center;background:var(--color-background-light);border-radius:var(--radius-md);display:flex;font-size:.875rem;gap:var(--space-sm);margin-bottom:var(--space-lg);padding:var(--space-sm) var(--space-md)}.smart-assembler__breadcrumb-back{align-items:center;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-light);cursor:pointer;display:flex;height:28px;justify-content:center;transition:border-color .15s ease;width:28px}.smart-assembler__breadcrumb-back:hover{border-color:var(--color-primary);color:var(--color-primary)}.smart-assembler__breadcrumb-text{color:var(--color-text);font-weight:700}.smart-assembler__breadcrumb-check{flex-shrink:0}.smart-assembler__start-over{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:.8rem;margin-left:auto;text-decoration:underline;text-underline-offset:2px}.smart-assembler__start-over:hover{color:var(--color-primary)}.smart-assembler__stage{overflow:hidden;position:relative;transition:height .4s cubic-bezier(.16,1,.3,1)}.smart-assembler__step{left:0;opacity:0;pointer-events:none;position:absolute;top:0;transform:translateX(100%);transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .3s ease;width:100%}.smart-assembler__step--active{opacity:1;pointer-events:auto;position:relative;transform:translateX(0)}.smart-assembler__step--exited{opacity:0;transform:translateX(-100%)}.smart-assembler__step-heading{color:var(--color-text);font-size:1.25rem;font-weight:800;margin:0 0 var(--space-lg);text-align:center}.smart-assembler__cards{display:grid;gap:var(--space-md);grid-template-columns:1fr;margin-bottom:var(--space-lg)}.smart-assembler__card{align-items:center;background:#fff;border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-direction:column;padding:var(--space-xl) var(--space-lg);text-align:center;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.smart-assembler__card:hover{border-color:var(--color-primary);box-shadow:0 4px 20px rgba(0,0,0,.06);transform:translateY(-2px)}.smart-assembler__card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.smart-assembler__card.selected{background:var(--color-background-light);border-color:var(--color-primary)}.smart-assembler__card--disabled{cursor:default;opacity:.5;pointer-events:none;position:relative}.smart-assembler__card-badge{background:var(--color-text-muted);border-radius:var(--radius-sm);color:#fff;font-size:.65rem;font-weight:800;letter-spacing:.05em;padding:2px var(--space-sm);position:absolute;right:var(--space-sm);text-transform:uppercase;top:var(--space-sm)}.smart-assembler__card-icon{color:var(--color-primary);margin-bottom:var(--space-md)}.smart-assembler__card-title{color:var(--color-text);font-size:1.1rem;font-weight:800;margin:0 0 var(--space-xs)}.smart-assembler__card-desc{color:var(--color-text-light);font-size:.875rem;line-height:1.5;margin:0 0 var(--space-sm)}.smart-assembler__card-link{color:var(--color-primary);font-size:.8rem;font-weight:700;text-decoration:none}.smart-assembler__card-link:hover{text-decoration:underline}.smart-assembler__label{color:var(--color-text-muted);display:block;font-size:.75rem;font-weight:800;letter-spacing:.05em;margin-bottom:var(--space-sm);text-transform:uppercase}.smart-assembler__grade-toggle{margin-bottom:var(--space-xl);text-align:center}.smart-assembler__grade-btns{display:inline-flex;gap:var(--space-sm);margin-bottom:var(--space-xs)}.smart-assembler__grade-btn{align-items:center;background:#fff;border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;padding:var(--space-sm) var(--space-lg);transition:border-color .15s ease,background .15s ease}.smart-assembler__grade-btn.active{background:var(--color-background-light);border-color:var(--color-primary)}.smart-assembler__grade-btn:hover:not(.active){border-color:var(--color-primary-light)}.smart-assembler__grade-name{color:var(--color-text);font-size:1rem;font-weight:800}.smart-assembler__grade-sub{color:var(--color-text-muted);font-size:.7rem}.smart-assembler__input-group{align-items:stretch;background:#fff;border:2px solid var(--color-border);border-radius:var(--radius-lg);display:flex;margin:0 auto var(--space-sm);max-width:420px;overflow:hidden;transition:border-color .15s ease}.smart-assembler__input-group:focus-within{border-color:var(--color-primary)}.smart-assembler__capacity-input{-moz-appearance:textfield;background:transparent;border:none;color:var(--color-text);flex:1;font-family:var(--font-family);font-size:1.5rem;font-weight:800;min-width:0;outline:none;padding:var(--space-md) var(--space-lg)}.smart-assembler__capacity-input::placeholder{color:var(--color-text-muted);font-weight:600}.smart-assembler__capacity-input::-webkit-inner-spin-button,.smart-assembler__capacity-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.smart-assembler__unit-toggle{align-items:center;display:flex;gap:2px;padding:var(--space-xs)}.smart-assembler__unit-btn{background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;font-family:var(--font-family);font-size:.8rem;font-weight:700;padding:var(--space-xs) var(--space-sm);transition:background .15s ease,color .15s ease}.smart-assembler__unit-btn.active{background:var(--color-primary);color:#fff}.smart-assembler__unit-btn:hover:not(.active){background:var(--color-background-light)}.smart-assembler__validation{color:#d32f2f;font-size:.8rem;font-weight:700;margin-bottom:var(--space-sm);min-height:1.25rem;text-align:center}.smart-assembler__presets{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center;margin-bottom:var(--space-lg)}.smart-assembler__preset{background:#fff;border:1.5px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text);cursor:pointer;font-family:var(--font-family);font-size:.875rem;font-weight:700;padding:var(--space-sm) var(--space-md);transition:border-color .15s ease,background .15s ease}.smart-assembler__preset:hover{background:var(--color-background-light);border-color:var(--color-primary)}.smart-assembler__preset.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.smart-assembler__help-link{background:none;border:none;color:var(--color-text-muted);cursor:pointer;display:inline-block;font-family:var(--font-family);font-size:.8rem;padding:0;text-decoration:underline;text-underline-offset:2px;transition:color .15s ease}.smart-assembler__help-link:hover{color:var(--color-primary)}.smart-assembler__help-links{display:flex;gap:var(--space-md);margin-top:var(--space-xs)}.smart-assembler__config{display:flex;flex-direction:column;gap:var(--space-xl);margin-bottom:var(--space-xl)}.smart-assembler__config-controls{flex:1}.smart-assembler__legs{display:inline-flex;gap:var(--space-xs);margin-bottom:var(--space-xs)}.smart-assembler__leg-btn{align-items:center;background:#fff;border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-family:var(--font-family);font-size:1.1rem;font-weight:800;height:48px;justify-content:center;transition:border-color .15s ease,background .15s ease,color .15s ease;width:48px}.smart-assembler__leg-btn:hover:not(.active){border-color:var(--color-primary-light)}.smart-assembler__leg-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.smart-assembler__context{color:var(--color-text-light);font-size:.875rem;line-height:1.5;margin:var(--space-md) 0 0}.smart-assembler__config-image,.smart-assembler__product-image{display:flex;justify-content:center}.smart-assembler__product-image{align-items:center;height:200px;width:160px}.smart-assembler__product-image svg{height:100%;transition:opacity .3s ease;width:100%}.smart-assembler__results-section{border-top:1px solid var(--color-border);padding-top:var(--space-xl)}.smart-assembler__results-heading{color:var(--color-text);font-size:1rem;font-weight:800;margin:0 0 var(--space-md)}.smart-assembler__empty-state{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;font-size:.875rem;gap:var(--space-sm);padding:var(--space-2xl) 0;text-align:center}.smart-assembler__results-grid{display:flex;flex-direction:column;gap:var(--space-md)}.smart-assembler__result-card{background:#fff;border:2px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .15s ease}.smart-assembler__result-card--recommended{border-color:var(--color-primary)}.smart-assembler__result-header{align-items:center;cursor:pointer;display:flex;gap:var(--space-md);padding:var(--space-md) var(--space-lg);transition:background .15s ease}.smart-assembler__result-header:hover{background:var(--color-background-light)}.smart-assembler__result-badge{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));border-radius:var(--radius-sm);color:#fff;flex-shrink:0;font-size:.65rem;font-weight:800;letter-spacing:.05em;padding:2px var(--space-sm);text-transform:uppercase}.smart-assembler__result-size{color:var(--color-text);font-size:1.25rem;font-weight:900}.smart-assembler__result-meta{display:flex;flex:1;flex-direction:column;gap:2px}.smart-assembler__result-wll{color:var(--color-text);font-size:.875rem;font-weight:700}.smart-assembler__result-headroom{color:#2e7d32;font-size:.8rem;font-weight:700}.smart-assembler__result-price{color:var(--color-text-light);font-size:.875rem;font-weight:700;white-space:nowrap}.smart-assembler__result-expand{align-items:center;display:flex;flex-shrink:0;height:24px;justify-content:center;transition:transform .2s ease;width:24px}.smart-assembler__result-card.expanded .smart-assembler__result-expand{transform:rotate(180deg)}.smart-assembler__result-lengths{border-top:1px solid var(--color-border);display:none;padding:var(--space-md) var(--space-lg)}.smart-assembler__result-card.expanded .smart-assembler__result-lengths{display:block}.smart-assembler__length-grid{display:grid;gap:var(--space-sm);grid-template-columns:1fr}.smart-assembler__length-row{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:var(--space-md);padding:var(--space-sm) 0}.smart-assembler__length-row:last-child{border-bottom:none}.smart-assembler__length-name{color:var(--color-text);font-size:.875rem;font-weight:700;min-width:48px}.smart-assembler__length-price{color:var(--color-text);flex:1;font-size:.875rem;font-weight:700}.smart-assembler__length-price--custom{color:var(--color-text-muted);font-style:italic}.smart-assembler__length-action{flex-shrink:0}.smart-assembler__qty{-moz-appearance:textfield;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-family);font-size:.8rem;font-weight:700;height:32px;padding:var(--space-xs);text-align:center;width:44px}.smart-assembler__qty::-webkit-inner-spin-button,.smart-assembler__qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.smart-assembler__add-btn{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-family:var(--font-family);font-size:.8rem;font-weight:700;padding:var(--space-xs) var(--space-md);transition:opacity .15s ease,background .2s ease}.smart-assembler__add-btn:hover:not(:disabled){opacity:.9}.smart-assembler__add-btn:disabled{cursor:wait;opacity:.6}.smart-assembler__add-btn--added{background:#2e7d32}.smart-assembler__quote-btn{background:#fff;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;font-family:var(--font-family);font-size:.8rem;font-weight:700;padding:var(--space-xs) var(--space-md);text-decoration:none;transition:border-color .15s ease}.smart-assembler__quote-btn:hover{border-color:var(--color-primary)}.smart-assembler__no-match{padding:var(--space-xl) 0;text-align:center}.smart-assembler__no-match p{color:var(--color-text-light);margin:0 0 var(--space-md)}.smart-assembler__contact-btn{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));border-radius:var(--radius-md);color:#fff;display:inline-block;font-weight:700;padding:var(--space-sm) var(--space-xl);text-decoration:none;transition:opacity .15s ease}.smart-assembler__contact-btn:hover{opacity:.9}.smart-assembler__hitch-link{background:none;border:none;color:var(--color-text-muted);cursor:pointer;display:block;font-family:var(--font-family);font-size:.8rem;margin-top:var(--space-lg);padding:0;transition:color .15s ease}.smart-assembler__hitch-link:hover{color:var(--color-primary)}.smart-assembler__nav{display:flex;justify-content:space-between;margin-top:var(--space-lg);min-height:48px}.smart-assembler__nav-back,.smart-assembler__nav-next{align-items:center;background:#fff;border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-family:var(--font-family);font-size:.875rem;font-weight:700;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);transition:border-color .15s ease,background .15s ease}.smart-assembler__nav-back:hover,.smart-assembler__nav-next:hover:not(:disabled){border-color:var(--color-primary)}.smart-assembler__nav-next{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));border-color:transparent;color:#fff;margin-left:auto}.smart-assembler__nav-next:disabled{cursor:not-allowed;opacity:.4}.smart-assembler__nav-next:hover:not(:disabled){border-color:transparent;opacity:.9}.smart-assembler__modal-overlay{align-items:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:rgba(0,0,0,.5);display:flex;inset:0;justify-content:center;opacity:0;padding:var(--space-md);pointer-events:none;position:fixed;transition:opacity .2s ease;z-index:1000}.smart-assembler__modal-overlay.visible{opacity:1;pointer-events:auto}.smart-assembler__modal{background:#fff;border-radius:var(--radius-xl);box-shadow:0 20px 60px rgba(0,0,0,.15);max-height:80vh;max-width:540px;overflow-y:auto;padding:var(--space-2xl);position:relative;transform:translateY(16px);transition:transform .2s ease;width:100%}.smart-assembler__modal-overlay.visible .smart-assembler__modal{transform:translateY(0)}.smart-assembler__modal-close{align-items:center;background:var(--color-background-light);border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:var(--space-md);top:var(--space-md);transition:background .15s ease;width:32px}.smart-assembler__modal-close:hover{background:var(--color-border)}.smart-assembler__modal-body h3{font-size:1.1rem;font-weight:800;margin:0 0 var(--space-md);padding-right:var(--space-2xl)}.smart-assembler__modal-body p{color:var(--color-text-light);font-size:.9rem;line-height:1.6;margin:0 0 var(--space-md)}.smart-assembler__modal-body p:last-child{margin-bottom:0}.smart-assembler__modal-body strong{color:var(--color-text);font-weight:700}.smart-assembler__modal-body svg{display:block;margin:var(--space-md) auto}@media (min-width:768px){.smart-assembler{padding:var(--space-4xl) 0}.smart-assembler__title{font-size:2rem}.smart-assembler__cards{grid-template-columns:repeat(3,1fr)}.smart-assembler__config{align-items:flex-start;flex-direction:row}.smart-assembler__config-image{flex-shrink:0}.smart-assembler__product-image{height:240px;width:200px}.smart-assembler__result-header{gap:var(--space-lg)}.smart-assembler__length-grid{grid-template-columns:1fr}}@media (min-width:1024px){.smart-assembler__step-heading{font-size:1.5rem}.smart-assembler__capacity-input{font-size:2rem}.smart-assembler__config-controls{flex:1}.smart-assembler__product-image{height:280px;width:240px}}.smart-assembler--loading .smart-assembler__stage{opacity:.4;pointer-events:none}.smart-assembler__length-action{align-items:center;display:flex;gap:var(--space-xs)}@media (prefers-reduced-motion:reduce){.smart-assembler__card,.smart-assembler__modal,.smart-assembler__modal-overlay,.smart-assembler__product-image svg,.smart-assembler__progress-fill,.smart-assembler__result-expand,.smart-assembler__stage,.smart-assembler__step{transition:none}}