.product-gallery__lens{will-change:left, top;width:120px;height:120px;box-shadow:0 0 0 9999px #00000040}.product-gallery__zoom{border:1px solid var(--border);opacity:0;pointer-events:none;z-index:9999;background-color:#fff;background-repeat:no-repeat;transition:opacity .15s ease-out;position:fixed;box-shadow:0 10px 25px #00000026}.product-lightbox{color:#fff;background:#000;border:0;width:100vw;max-width:100vw;height:100vh;max-height:100vh;margin:0;padding:0}.product-lightbox::backdrop{background:#000000f2}.product-lightbox[open]{display:flex}.product-lightbox__inner{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;display:flex;position:relative}.product-lightbox__stage{flex:auto;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;overflow:hidden}.product-lightbox__stage img{object-fit:contain;transform-origin:50%;touch-action:pinch-zoom;max-width:100%;max-height:100%}.product-lightbox__close,.product-lightbox__nav{color:#fff;cursor:pointer;background:#ffffff26;border:0;border-radius:9999px;justify-content:center;align-items:center;font-size:1.5rem;line-height:1;transition:background-color .15s ease-out;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.product-lightbox__close{width:2.5rem;height:2.5rem;top:1rem;right:1rem;transform:none}.product-lightbox__nav{width:2.75rem;height:2.75rem;font-size:2rem}.product-lightbox__nav:disabled{opacity:.3;cursor:not-allowed}.product-lightbox__prev{left:.5rem}.product-lightbox__next{right:.5rem}.product-lightbox__counter{color:#ffffffe6;margin-top:.5rem;font-size:.85rem}.product-lightbox__thumbs{gap:.5rem;max-width:100%;margin-top:.75rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.product-lightbox__thumb{cursor:pointer;opacity:.6;background:0 0;border:0;border-radius:4px;flex:none;width:80px;height:60px;padding:0;transition:opacity .15s ease-out;overflow:hidden}.product-lightbox__thumb--active,.product-lightbox__thumb:hover{opacity:1}.product-lightbox__thumb img{object-fit:cover;width:100%;height:100%}@media (prefers-reduced-motion:reduce){.product-gallery__lens,.product-gallery__zoom,.product-lightbox__nav,.product-lightbox__thumb,.product-lightbox__stage img{transition:none}}.review-rating-group .review-star,.review-rating-group:has(.review-rating-radio:checked) .review-star:hover{color:#d1d5db;fill:#d1d5db}.review-rating-radio:checked~.review-star{color:#facc15;fill:#facc15}.review-rating-radio:focus-visible~.review-star{outline-offset:2px;border-radius:4px;outline:2px solid #facc15}.review-rating-group .review-star:hover,.review-rating-group .review-star:hover~.review-star,.review-rating-group:has(.review-rating-radio:checked) .review-star:hover~.review-star{color:#facc15;fill:#facc15}.policy-modal{background:var(--secondary);width:min(900px,92vw);max-width:900px;max-height:90vh;color:var(--foreground);border:0;border-radius:8px;margin:auto;padding:0}.policy-modal::backdrop{background:#0009}.policy-modal__inner{flex-direction:column;max-height:90vh;display:flex}.policy-modal__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.policy-modal__title{color:var(--foreground);font-size:1.125rem;font-weight:600}.policy-modal__close{background:var(--muted);width:2rem;height:2rem;color:var(--foreground);cursor:pointer;border:0;border-radius:9999px;justify-content:center;align-items:center;transition:background-color .15s ease-out;display:flex}.policy-modal__close:hover{background:var(--muted-foreground)}.policy-modal__body{padding:1.25rem;overflow-y:auto}.policy-estimate-tab{cursor:pointer}.policy-estimate-tab--active{border-color:var(--primary)!important;background-color:var(--primary)!important;color:var(--primary-foreground)!important}.policy-estimate-tab--active:hover{background-color:var(--primary)!important;color:var(--primary-foreground)!important}.policy-estimate-tab--inactive{border-color:var(--border);background-color:var(--card);color:var(--muted-foreground)}.policy-estimate-table{border-collapse:separate;border-spacing:0}@media (width<=640px){.policy-estimate-table{font-size:.8rem}.policy-estimate-table td{padding:.625rem}}
