.quote-builder{gap:var(--space-5);display:grid}.quote-steps{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.quote-steps__item{border-top:3px solid var(--color-border)}.quote-steps__item--done,.quote-steps__item--current{border-top-color:var(--color-primary)}.quote-steps__target{padding:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--fs-sm);text-align:left;background:0 0;border:0;display:block}button.quote-steps__target{cursor:pointer}.quote-steps__item--current .quote-steps__target{color:var(--color-text);font-weight:var(--fw-semibold)}@media (width<=479px){.quote-steps__target{font-size:0}.quote-steps__number{font-size:var(--fs-sm)}}@media (hover:hover){button.quote-steps__target:hover{color:var(--color-primary-strong);text-decoration:underline}}.quote-builder__step{gap:var(--space-4);border:0;min-width:0;margin:0;padding:0;display:grid}.quote-builder__step-title{margin-bottom:var(--space-1);color:var(--color-text);font-size:var(--fs-lg);font-weight:var(--fw-semibold);padding:0}.quote-builder__step-title:focus{outline:none}.quote-builder__step-subtitle{color:var(--color-text-muted)}.quote-builder__needs{gap:var(--space-2);display:grid}.quote-builder__card,.quote-builder__toggle{align-items:start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;transition:border-color var(--transition);grid-template-columns:auto 1fr;display:grid}.quote-builder__card--selected,.quote-builder__toggle--selected{border-color:var(--color-primary)}@media (hover:hover){.quote-builder__card:hover,.quote-builder__toggle:hover{border-color:var(--color-primary)}}.quote-builder__input{width:1rem;height:1rem;accent-color:var(--color-primary);cursor:pointer;margin:.2rem 0 0}.quote-builder__card-text,.quote-builder__toggle-text{gap:var(--space-1);display:grid}.quote-builder__card-title{color:var(--color-text);font-weight:var(--fw-medium);line-height:1.3}.quote-builder__card-desc{color:var(--color-text-muted);font-size:var(--fs-sm)}.quote-builder__card-price{color:var(--color-text);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.quote-builder__sizing{gap:var(--space-4);display:grid}@media (width>=640px){.quote-builder__sizing{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-builder__sizing>:only-child{grid-column:1/-1}.quote-builder__sizing>:has(input[type=range]){grid-column:1/-1}}.quote-builder__counter{max-width:12rem;height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);display:flex;overflow:hidden}.quote-builder__counter:focus-within{border-color:var(--color-primary)}.quote-builder__counter-button{--icon-size:.875rem;width:var(--control-height);background:var(--color-bg);color:var(--color-text);cursor:pointer;transition:background-color var(--transition);border:0;flex:none;place-items:center;padding:0;display:grid}.quote-builder__counter-button:disabled{color:var(--color-text-muted);opacity:.45;cursor:not-allowed}@media (hover:hover){.quote-builder__counter-button:not(:disabled):hover{background:var(--color-border)}}.quote-builder__counter-input{border:0;border-inline:1px solid var(--color-border);width:100%;min-width:0;color:var(--color-text);text-align:center;font-variant-numeric:tabular-nums;appearance:textfield;background:0 0;padding:0}.quote-builder__counter-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.quote-builder__counter-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.quote-builder__range{align-items:center;gap:var(--space-4);display:flex}.quote-builder__range input{min-width:0;accent-color:var(--color-primary);cursor:pointer;flex:1}.quote-builder__range-value{min-width:7rem;color:var(--color-text);text-align:right;font-variant-numeric:tabular-nums}.quote-builder__groups{gap:var(--space-5);display:grid}.quote-builder__group{gap:var(--space-2);display:grid}.quote-builder__group-title{color:var(--color-text);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.quote-builder__toggle-price{color:var(--color-text);font-size:var(--fs-sm);white-space:nowrap;font-variant-numeric:tabular-nums;grid-column:2}@media (width>=640px){.quote-builder__toggle{grid-template-columns:auto 1fr auto}.quote-builder__toggle-price{grid-column:3}}.quote-builder__contact{gap:var(--space-4);display:grid}@media (width>=640px){.quote-builder__contact{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-builder__contact>*{grid-column:1/-1}.quote-builder__contact>.field--half{grid-column:auto}}.quote-builder__summary{gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);display:grid}.quote-builder__summary-list{gap:var(--space-1);font-size:var(--fs-sm);margin:0;display:grid}.quote-builder__summary-list>div{gap:var(--space-3);grid-template-columns:minmax(0,14rem) 1fr;display:grid}.quote-builder__summary-list dt{color:var(--color-text-muted)}.quote-builder__summary-list dd{color:var(--color-text);margin:0}@media (width<=479px){.quote-builder__summary-list>div{grid-template-columns:1fr;gap:0}}.quote-builder__footer{gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border);flex-direction:column;display:flex}@media (width>=640px){.quote-builder__footer{flex-direction:row;justify-content:space-between;align-items:center}}.quote-builder__price{display:grid}.quote-builder__price-label{color:var(--color-text-muted);font-size:var(--fs-sm)}.quote-builder__price-amount{color:var(--color-text);font-size:var(--fs-lg);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.quote-builder__price-suffix{color:var(--color-text-muted);font-size:var(--fs-sm);font-weight:var(--fw-regular)}.quote-builder__price-placeholder{color:var(--color-text-muted);font-size:var(--fs-sm)}.quote-builder__actions{gap:var(--space-3);display:flex}@media (prefers-reduced-motion:reduce){.quote-builder__card,.quote-builder__toggle,.quote-builder__counter-button{transition:none}}
