@media (max-width:768px){.quote-mobile-launcher{text-align:center;padding-bottom:.5rem}.quote-mobile-launcher .section-heading{margin-bottom:.65rem}.quote-mobile-launcher .section-subheading{margin-bottom:.75rem}.quote-mobile-launcher-btn{width:100%;max-width:22rem;min-height:52px;font-size:var(--text-md-lg);font-weight:var(--font-weight-semibold);box-shadow:0 4px 20px var(--accent-glow,#43959b38);border-radius:14px;margin:1rem auto 0}.quote-mobile-launcher-btn:active:not(:disabled){transform:scale(.98)}.quote-section{padding-top:max(1.75rem,env(safe-area-inset-top,0px));padding-bottom:max(2.25rem,calc(2rem + env(safe-area-inset-bottom,0px)))}.quote-section .quote-wizard{touch-action:manipulation;-webkit-tap-highlight-color:transparent;padding-bottom:calc(5.25rem + env(safe-area-inset-bottom,0px))}.quote-section .quote-progress-bar{border-radius:3px;width:100%;max-width:none;height:5px;margin-bottom:1.125rem}.quote-section .quote-progress-bar-fill{transition:width .45s var(--ease-soft,cubic-bezier(.16,1,.3,1));border-radius:3px}.quote-section .quote-steps-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none;margin-left:calc(-1*var(--spacing-edge,1rem));margin-right:calc(-1*var(--spacing-edge,1rem));padding-left:var(--spacing-edge,1rem);padding-right:var(--spacing-edge,1rem);margin-bottom:1.125rem;padding-bottom:.25rem;overflow:auto hidden}.quote-section .quote-steps-wrap::-webkit-scrollbar{display:none}.quote-section .quote-steps{flex-wrap:nowrap;justify-content:space-between;gap:.125rem;width:max(100%,22rem);display:flex}.quote-section .quote-steps:before{top:1.125rem}.quote-section .quote-step-item{min-width:4.25rem;min-height:48px;transition:background .2s ease,transform .2s var(--ease-soft,cubic-bezier(.16,1,.3,1));border-radius:10px;flex:1 1 0;padding:.35rem .2rem}.quote-section .quote-step-item:active{transform:scale(.97)}.quote-section .quote-step-item.active{background:color-mix(in srgb,var(--accent)10%,transparent)}.quote-section .quote-step-dot{width:36px;height:36px;font-size:var(--text-sm-plus)}.quote-section .quote-step-check svg{width:16px;height:16px}.quote-section .quote-step-label{font-size:var(--text-quote-micro);letter-spacing:.04em;max-width:none;line-height:1.2}.quote-section .quote-step-of{font-size:var(--text-caption);margin-bottom:.4rem}.quote-section .quote-panel{animation-duration:.32s}.quote-section .quote-panel-title{font-size:var(--text-lg);font-weight:var(--font-weight-semibold);margin-bottom:1rem}.quote-section .quote-field label{font-size:var(--text-caption);margin-bottom:.45rem}.quote-section .quote-field input,.quote-section .quote-field select,.quote-section .quote-field textarea{min-height:48px;font-size:var(--text-md);border-radius:14px;padding:.875rem 1rem;transition:border-color .2s,box-shadow .2s,transform .15s}.quote-section .quote-field textarea{min-height:120px;line-height:1.45}.quote-section .quote-field input:active,.quote-section .quote-field select:active,.quote-section .quote-field textarea:active{transform:scale(.998)}.quote-section .quote-products-grid{-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none;margin-left:calc(-1*var(--spacing-edge,1rem));margin-right:calc(-1*var(--spacing-edge,1rem));padding:.25rem 0 .65rem;padding-left:var(--spacing-edge,1rem);padding-right:var(--spacing-edge,1rem);flex-wrap:nowrap;gap:.75rem;display:flex;overflow:auto hidden}.quote-section .quote-products-grid::-webkit-scrollbar{display:none}.quote-section .quote-product-card{scroll-snap-align:start;border-radius:16px;flex:0 0 min(42vw,168px);max-width:168px}.quote-section .quote-product-card-name{font-size:var(--text-sm-plus);padding:.55rem .65rem}.quote-section .quote-unit-row{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.quote-section .quote-unit-option{border:1px solid var(--border-color);min-height:48px;font-size:var(--text-body);font-weight:var(--font-weight-medium);border-radius:14px;justify-content:center;align-items:center;gap:.5rem;margin:0;padding:.65rem .75rem;transition:border-color .2s,background .2s,box-shadow .2s;display:flex}.quote-section .quote-unit-option input{width:1.125rem;height:1.125rem;accent-color:var(--accent);flex-shrink:0}.quote-section .quote-unit-option:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent)12%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent)35%,transparent)}.quote-section .quote-unit-option:active{transform:scale(.98)}.quote-section .quote-dimensions-row{max-width:none}.quote-section .quote-dimensions-skip-label{align-items:center;min-height:48px;padding:.5rem 0}.quote-section .quote-summary-card{border-radius:16px;padding:1rem}.quote-section .quote-summary-edit-btn{border-radius:10px;min-height:40px;padding:.35rem .65rem}.quote-section .quote-actions-wrap{z-index:20;margin-top:1.25rem;margin-left:calc(-1*var(--spacing-edge,1rem));margin-right:calc(-1*var(--spacing-edge,1rem));width:calc(100% + 2*var(--spacing-edge,1rem));max-width:none;padding:.85rem var(--spacing-edge,1rem);padding-bottom:max(.85rem,env(safe-area-inset-bottom,0px));box-sizing:border-box;border-top:1px solid var(--border-color);background:color-mix(in srgb,var(--bg-secondary,#f8fafb)88%,transparent);-webkit-backdrop-filter:saturate(180%)blur(16px);position:sticky;bottom:0;box-shadow:0 -8px 32px #0000000f}.quote-section .quote-actions{gap:.65rem;margin-top:0;padding-top:0}.quote-section .quote-btn{min-height:50px;font-size:var(--text-md);font-weight:var(--font-weight-semibold);letter-spacing:-.02em;border-radius:14px;padding:.75rem 1.25rem}.quote-section .quote-btn:active:not(:disabled){transform:scale(.98)}.quote-section .quote-btn-primary,.quote-section .quote-btn-submit{box-shadow:0 2px 12px var(--accent-glow,#43959b40);flex:1}[data-theme=dark] .quote-section .quote-actions-wrap{background:color-mix(in srgb,var(--bg-color)90%,transparent);box-shadow:0 -8px 32px #00000059}[data-theme=dark] .quote-section .quote-step-item.active{background:color-mix(in srgb,var(--accent)14%,transparent)}}@media (max-width:768px) and (prefers-reduced-motion:reduce){.quote-section .quote-panel,.quote-section .quote-progress-bar-fill,.quote-section .quote-step-item,.quote-section .quote-btn{transition:none!important;animation:none!important}.quote-section .quote-step-item:active,.quote-section .quote-btn:active:not(:disabled){transform:none}}
.quote-fs-root{z-index:10002;background:var(--bg-color,#f5f5f7);padding-top:env(safe-area-inset-top,0px);animation:quoteFsRootIn .38s var(--ease-soft,cubic-bezier(.16,1,.3,1))both;flex-direction:column;display:flex;position:fixed;inset:0}@keyframes quoteFsRootIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.quote-fs-header{padding:.65rem .85rem .75rem max(.85rem,env(safe-area-inset-left,0px));padding-right:max(.5rem,env(safe-area-inset-right,0px));border-bottom:1px solid var(--border-color);background:color-mix(in srgb,var(--bg-secondary,#fff)92%,transparent);-webkit-backdrop-filter:saturate(180%)blur(20px);flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.quote-fs-title{font-family:var(--font-family-sans);font-size:var(--text-md-lg);font-weight:var(--font-weight-semibold);letter-spacing:-.03em;color:var(--text-color);flex:1;min-width:0;margin:0;padding-right:.5rem;line-height:1.2}.quote-fs-close{width:44px;height:44px;color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;transition:background .2s,color .2s,transform .15s;display:inline-flex}.quote-fs-close:hover{background:var(--border-color);color:var(--text-color)}.quote-fs-close:active{transform:scale(.94)}.quote-fs-close svg{stroke-width:1.75px;width:22px;height:22px}.quote-fs-meta{padding:.5rem max(.85rem,env(safe-area-inset-left,0px)).35rem;padding-right:max(.85rem,env(safe-area-inset-right,0px));font-family:var(--font-family-sans);font-size:var(--text-sm-plus);color:var(--text-secondary);text-align:center;flex-shrink:0;line-height:1.45}.quote-fs-meta-time{font-weight:var(--font-weight-medium);color:var(--text-color)}.quote-fs-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;min-height:0;padding-left:max(var(--spacing-edge,1rem),env(safe-area-inset-left,0px));padding-right:max(var(--spacing-edge,1rem),env(safe-area-inset-right,0px));flex:1;padding-bottom:.25rem;overflow:hidden auto}.quote-fs-scroll .quote-wizard{padding-bottom:calc(5.25rem + env(safe-area-inset-bottom,0px))}.quote-fs-scroll .quote-wizard.reveal{opacity:1;transform:none}.quote-fs-scroll .quote-panel-title{margin-top:.25rem}[data-theme=dark] .quote-fs-root{background:var(--bg-color)}[data-theme=dark] .quote-fs-header{background:color-mix(in srgb,var(--bg-secondary)88%,transparent)}@media (prefers-reduced-motion:reduce){.quote-fs-root{animation:none}}@media (max-width:768px){.quote-section.quote-section--mobile-fs-open{border-top-color:#0000;border-bottom-color:#0000;min-height:0;padding-top:0;padding-bottom:0}}.quote-summary-stack--fs{box-shadow:none;background:0 0;border:none;gap:0;margin-top:.25rem;padding:0}.quote-summary-stack--fs .quote-summary-card{box-shadow:none;background:0 0;border:none;border-radius:0;margin:0;padding:0}.quote-summary-stack--fs .quote-summary-card+.quote-summary-card{margin-top:0}.quote-summary-stack--fs .quote-summary-group{border-bottom:none;padding:0}.quote-summary-stack--fs .quote-summary-group-title{font-size:var(--text-2xs);font-weight:var(--font-weight-semibold);letter-spacing:.12em;color:var(--text-tertiary,#00000073);border-bottom:1px solid var(--border-color);margin:0 0 .65rem;padding:0 0 .5rem}.quote-summary-stack--fs .quote-summary-edit-btn{letter-spacing:.06em;text-transform:uppercase;margin:0;transition:background .2s,border-color .2s,transform .15s;font-size:var(--text-caption)!important;border:1px solid var(--border-color-strong)!important;background:color-mix(in srgb,var(--bg-secondary)88%,transparent)!important;color:var(--accent)!important;border-radius:999px!important;padding:.4rem .9rem!important;font-weight:600!important}.quote-summary-stack--fs .quote-summary-edit-btn:active{transform:scale(.97)}.quote-summary-stack--fs .quote-summary-card .quote-summary-group-title{margin-bottom:.65rem}.quote-summary-stack--fs .quote-summary-row{border-bottom:1px solid color-mix(in srgb,var(--border-color)85%,transparent);font-size:var(--text-md-sm);align-items:flex-start;gap:1rem;margin:0;padding:.7rem 0}.quote-summary-stack--fs .quote-summary-row:last-child{border-bottom:none;padding-bottom:.15rem}.quote-summary-stack--fs .quote-summary-label{max-width:11rem;font-size:var(--text-sm-plus);font-weight:var(--font-weight-medium);color:var(--text-secondary);flex:0 42%;line-height:1.35}.quote-summary-stack--fs .quote-summary-value{text-align:right;font-size:var(--text-body);font-weight:var(--font-weight-semibold);letter-spacing:-.02em;color:var(--text-color);flex:auto;line-height:1.35}.quote-fs-scroll .quote-panel.quote-summary-wrap .quote-panel-title{font-size:var(--text-xl-tight);font-weight:var(--font-weight-semibold);letter-spacing:-.035em;border-bottom:1px solid var(--border-color);margin-bottom:1rem;padding-bottom:.35rem}.quote-fs-scroll .quote-summary-stack--fs{background:var(--card-bg,#fffffffa);border:1px solid var(--border-color);border-radius:18px;padding:1rem 1.125rem 1.15rem;box-shadow:0 1px 2px #0000000a,0 12px 40px #0000000f}.quote-fs-scroll .quote-summary-stack--fs .quote-summary-card:not(:last-child) .quote-summary-group{border-bottom:1px solid color-mix(in srgb,var(--border-color)70%,transparent);margin-bottom:1.35rem;padding-bottom:1.35rem}.quote-fs-scroll .quote-summary-stack--fs .quote-summary-card:last-child .quote-summary-group{border-bottom:none;margin-bottom:0;padding-bottom:0}[data-theme=dark] .quote-fs-scroll .quote-summary-stack--fs{background:var(--bg-tertiary,#1c1c1e);box-shadow:0 12px 40px #00000059}[data-theme=dark] .quote-summary-stack--fs .quote-summary-group-title{color:var(--text-tertiary)}[data-theme=dark] .quote-summary-stack--fs .quote-summary-edit-btn{background:color-mix(in srgb,var(--bg-color)60%,transparent)!important;border-color:var(--border-color-strong)!important}
