.pd-page{padding-bottom:96px}.pd-top{padding:var(--space-4) 0 var(--space-7)}.pd-crumbs{align-items:center;gap:4px var(--space-2);margin-bottom:var(--space-4);color:var(--ink-muted);flex-wrap:wrap;font-size:.9375rem;display:flex}.pd-crumbs a{min-height:44px;color:var(--ink-muted);text-underline-offset:.25em;transition:text-decoration-color var(--dur-fast) var(--ease-out);align-items:center;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;display:inline-flex}.pd-crumbs [aria-current=page]{color:var(--ink);font-weight:600}.pd-layout{gap:var(--space-5);grid-template-columns:minmax(0,1fr);display:grid}.pd-media-main{aspect-ratio:1;border:1px solid var(--hairline);border-radius:var(--radius-md);background-color:var(--image-plate);position:relative;overflow:hidden}.pd-media-main.plate-grid{background-color:var(--image-plate);background-size:20px 20px}.pd-stage{aspect-ratio:auto;--stage-zoom:1;position:absolute;inset:0}.pd-nowrap{white-space:nowrap}.pd-stage .model-stage-hint{left:var(--space-3);bottom:var(--space-3);transform:none}.pd-dims{display:none}.pd-photo{position:absolute;inset:0}.pd-photo img{object-fit:cover}.pd-media-main .wishlist-btn{top:var(--space-3);right:var(--space-3);z-index:7}.pd-media-caption{margin:var(--space-2) 0 0;color:var(--ink-muted);font-size:.8125rem;font-weight:600}.pd-thumbs{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.pd-thumb{border:1.5px dashed var(--line);border-radius:var(--radius-sm);background:var(--image-plate);width:72px;height:72px;color:var(--ink);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out);flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0;font-size:.8125rem;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.pd-thumb img{object-fit:contain;padding:10%}.pd-thumb svg{width:24px;height:24px}.pd-thumb.active{border:2.5px solid var(--ink)}.pd-info h1{margin:0 0 var(--space-3);font-size:clamp(1.75rem,1.3rem + 2vw,3rem);line-height:1.12}.pd-price{margin:0 0 var(--space-2);color:var(--ink);font-size:1.375rem;font-weight:700}.pd-availability{margin:0 0 var(--space-4)}.pd-desc{max-width:60ch;margin:0 0 var(--space-5);color:var(--ink)}.pd-field-label{margin-bottom:var(--space-2);color:var(--ink);font-size:.9375rem;font-weight:600;display:block}.pd-qty{margin:var(--space-5) 0}.pd-qty .qty-control{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--panel);display:inline-flex}.pd-qty .qty-control button{width:48px;height:48px;color:var(--ink);background:0 0;font-size:1.375rem}.pd-qty .qty-control input{text-align:center;font-variant-numeric:tabular-nums;width:48px;height:48px;color:var(--ink);background:0 0;border:0;font-weight:700}.pd-qty .qty-control button{justify-content:center;align-items:center;display:inline-flex}.pd-qty .qty-control button:disabled{color:var(--ink-muted);opacity:.5;cursor:default}.pd-qty-note{min-height:1.5em;margin:var(--space-2) 0 0;color:var(--ink);font-size:.9375rem}.pd-actions .btn{min-height:56px}.pd-shipping{margin-top:var(--space-5);padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--panel)}.pd-shipping p{color:var(--ink);margin:0;font-size:.9375rem}.pd-shipping p+p{margin-top:var(--space-2)}.spools-label{margin:0 0 var(--space-2);color:var(--ink);font-size:.9375rem}.spools-label span{font-weight:600}.spools-group{gap:var(--space-2);flex-wrap:wrap;display:flex}.spool{cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;padding:0;display:inline-flex;position:relative}.spool:before{content:"";border:1.2px dashed var(--line);transition:border-color var(--dur-fast) var(--ease-out);border-radius:50%;position:absolute;inset:2px}.spool.is-selected:before{border:2.5px solid var(--ink);inset:1px}.spool-disc{width:48px;height:48px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink) 35%, transparent);border:1px solid #0000;border-radius:50%;position:relative}.spool-disc:after{content:"";background:var(--plate);border:1px solid color-mix(in srgb, var(--ink) 18%, transparent);border-radius:50%;position:absolute;inset:16px}.spool.is-light .spool-disc{border-color:var(--line)}.spool.is-unknown .spool-disc{border:1.5px dashed var(--line);background:linear-gradient(135deg, transparent 47%, var(--line) 47%, var(--line) 53%, transparent 53%)}.spool:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.pd-section{padding:var(--space-8) 0 0}.pd-section-head{justify-content:space-between;align-items:baseline;gap:var(--space-2) var(--space-5);margin-bottom:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--line);flex-wrap:wrap;display:flex}.pd-section-head h2{margin:0;font-size:clamp(1.375rem,1.2rem + .8vw,2rem)}.pd-section-head p{color:var(--ink);margin:0;font-weight:600}.pd-reviews{gap:var(--space-6);grid-template-columns:minmax(0,1fr);display:grid}.pd-review-list{gap:0;display:grid}.pd-empty{color:var(--ink);margin:0}.pd-review{padding:var(--space-4) 0;border-bottom:1px solid var(--hairline)}.pd-review:first-child{padding-top:0}.pd-review-head{justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.pd-review-author{color:var(--ink);font-weight:700}.pd-review-date{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:.9375rem}.pd-rating{margin-bottom:var(--space-2);gap:4px;display:flex}.pd-rating-dot{border:1.2px dashed var(--line);width:22px;height:22px;color:var(--ink-muted);border-radius:50%;justify-content:center;align-items:center;font-size:.8125rem;font-weight:700;display:inline-flex}.pd-rating-dot.filled{background:var(--extrusion);color:var(--on-extrusion);border:0}.pd-review-comment{color:var(--ink);margin:0}.pd-review-login,.pd-review-form{padding:var(--space-5);border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--panel);color:var(--ink);margin:0}.pd-review-form h3{margin:0 0 var(--space-4)}.pd-field{margin-bottom:var(--space-4)}.pd-rating-picker{gap:var(--space-2);display:flex}.pd-rating-num{border:1.2px dashed var(--line);width:44px;height:44px;color:var(--ink);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);background:0 0;border-radius:50%;font-weight:700}.pd-rating-num.filled{border:1.5px solid var(--extrusion-text);background:var(--extrusion);color:var(--on-extrusion)}.pd-buybar{z-index:55;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--gutter) calc(var(--space-3) + env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--hairline);box-shadow:var(--shadow-lift);visibility:hidden;transition:transform var(--dur-base) var(--ease-out), visibility 0s linear var(--dur-base);display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(110%)}.pd-buybar[data-visible=true]{visibility:visible;transition:transform var(--dur-base) var(--ease-out), visibility 0s;transform:none}.pd-buybar-info{min-width:0;display:grid}.pd-buybar-price{color:var(--ink);font-size:1.125rem;font-weight:700}.pd-buybar-color{color:var(--ink-muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:.8125rem;display:inline-flex;overflow:hidden}.pd-buybar-dot{border:1px solid var(--line);border-radius:50%;flex:none;width:12px;height:12px}.pd-buybar .btn{flex:none}@media (max-width:899px){.pd-crumbs-current{display:none}body:has(.pd-buybar[data-visible=true]) .toast{bottom:calc(88px + env(safe-area-inset-bottom))}}.cart-path{z-index:70;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0;overflow:visible}.cart-path path{fill:none;stroke:var(--extrusion);stroke-width:3px;stroke-linejoin:miter}@media (hover:hover) and (pointer:fine){.pd-crumbs a:hover{color:var(--ink);text-decoration-color:currentColor}.pd-thumb:hover,.spool:hover:before{border-color:var(--ink)}.pd-qty .qty-control button:hover{background:color-mix(in srgb, var(--ink) 6%, transparent)}}@media (prefers-reduced-motion:reduce){.pd-buybar,.pd-buybar[data-visible=true]{transition:none}}@media (min-width:900px){.pd-page{padding-bottom:0}.pd-buybar{display:none}.pd-top{padding:var(--space-5) 0 var(--space-8)}.pd-layout{gap:var(--space-7);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start}.pd-dims{display:block}.pd-reviews{gap:var(--space-7);grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}
