.products-hero{background:var(--color-bone-200);padding:var(--space-9) 0 var(--space-7);border-bottom:1px solid var(--color-bone-300)}.products-hero .eyebrow{margin-bottom:var(--space-3)}.products-hero h1{font-family:var(--font-display);font-size:var(--type-h1);color:var(--color-forest-800);letter-spacing:-.01em;max-width:22ch;margin:0 0 var(--space-5);font-weight:600;line-height:1.05}.products-hero h1 em{color:var(--color-sage-600);font-style:italic;font-weight:500}.products-hero p{font-size:var(--type-body-lg);max-width:60ch;color:var(--color-mountain-700);margin:0}.filter-bar{z-index:90;-webkit-backdrop-filter:saturate(140%)blur(10px);border-bottom:1px solid var(--color-bone-300);background:#faf6ecf5;position:sticky;top:89px}@media (max-width:768px){.filter-bar{top:71px}}@media (max-width:540px){.filter-bar{top:110px}}@media (max-width:420px){.filter-bar{top:104px}}.filter-bar-inner{max-width:var(--container-max);padding:var(--space-4) var(--space-5);gap:var(--space-3);flex-direction:column;margin:0 auto;display:flex}.filter-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.filter-label{font-family:var(--font-body);font-size:var(--type-caption);letter-spacing:.12em;text-transform:uppercase;color:var(--color-mountain-500);flex-shrink:0;width:80px;font-weight:700}.filter-segmented{background:var(--color-bone-200);-webkit-overflow-scrolling:touch;scrollbar-width:none;border-radius:999px;gap:2px;max-width:100%;padding:4px;display:inline-flex;overflow-x:auto}.filter-segmented::-webkit-scrollbar{display:none}.filter-segmented button{font-family:var(--font-body);font-size:var(--type-small);color:var(--color-mountain-500);padding:var(--space-2) var(--space-4);cursor:pointer;align-items:center;gap:var(--space-2);background:0 0;border:0;border-radius:999px;flex-shrink:0;font-weight:600;transition:all .2s;display:inline-flex}.filter-segmented button:hover{color:var(--color-mountain-900)}.filter-segmented button.is-active{background:var(--color-forest-800);color:var(--color-bone-100);box-shadow:0 1px 3px #00000026}.filter-segmented .count{text-align:center;background:#00000014;border-radius:999px;min-width:20px;padding:1px 6px;font-size:.6875rem;font-weight:700}.filter-segmented button.is-active .count{color:var(--color-bone-100);background:#fff3}.filter-pills{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (max-width:768px){.filter-bar-inner{gap:8px;padding:10px 16px}.filter-label{display:none}.filter-pills{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.filter-pills::-webkit-scrollbar{display:none}.filter-pill{flex-shrink:0}.filter-results{padding-top:8px}.filter-results-count{font-size:.78rem}}.filter-pill{font-family:var(--font-body);font-size:var(--type-small);color:var(--color-mountain-700);background:var(--color-bone-100);border:1px solid var(--color-bone-400);padding:var(--space-2) var(--space-4);cursor:pointer;border-radius:999px;font-weight:500;transition:all .2s}.filter-pill:hover:not(:disabled){border-color:var(--color-forest-800);color:var(--color-forest-800)}.filter-pill.is-active{background:var(--color-forest-800);color:var(--color-bone-100);border-color:var(--color-forest-800)}.filter-pill:disabled{opacity:.4;cursor:not-allowed}.filter-results{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--color-bone-400);flex-wrap:wrap;display:flex}.filter-results-count{font-family:var(--font-body);font-size:var(--type-small);color:var(--color-mountain-500);margin:0}.filter-results-count strong{color:var(--color-mountain-900);font-weight:700}.filter-reset{font-family:var(--font-body);font-size:var(--type-small);color:var(--color-clay-500);cursor:pointer;padding:var(--space-2) 0;text-underline-offset:3px;background:0 0;border:0;font-weight:600;text-decoration:underline}.filter-reset:hover{color:var(--color-mountain-900)}.filter-reset[disabled]{opacity:.3;cursor:not-allowed;text-decoration:none}.product-section{max-width:var(--container-max);padding:var(--space-7) var(--space-5) var(--space-9);margin:0 auto}.product-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.product-card{background:var(--color-bone-100);border-radius:var(--radius-md);border:1px solid var(--color-bone-300);transition:transform .25s,box-shadow .25s,border-color .25s;overflow:hidden}.product-card:hover{border-color:var(--color-bone-400);transform:translateY(-2px);box-shadow:0 12px 32px -16px #1a1d212e}.product-card-link{height:100%;color:inherit;text-decoration:none;display:block}.product-card-image{aspect-ratio:4/3;background-color:var(--color-bone-300);position:relative}.product-card-tag{top:var(--space-3);left:var(--space-3);font-family:var(--font-body);font-size:var(--type-caption);letter-spacing:.06em;text-transform:uppercase;padding:var(--space-1) var(--space-3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;font-weight:700;position:absolute}.product-card-tag--bulk{color:var(--color-bone-100);background:#004812eb}.product-card-tag--super{color:var(--color-bone-100);background:#c66e4feb}.product-card-tag--hardware{color:var(--color-bone-100);background:#1a1d21d9}.product-card-stock{top:var(--space-3);right:var(--space-3);font-family:var(--font-body);font-size:var(--type-caption);letter-spacing:.06em;text-transform:uppercase;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);color:var(--color-mountain-900);border:1px solid var(--color-mountain-300);background:#faf6ecf2;font-weight:700;position:absolute}.product-card-body{padding:var(--space-5);gap:var(--space-2);flex-direction:column;display:flex}.product-card-cat{font-family:var(--font-body);font-size:var(--type-caption);letter-spacing:.12em;text-transform:uppercase;color:var(--color-mountain-500);font-weight:600}.product-card-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-mountain-900);margin:0;font-size:1.375rem;font-weight:600;line-height:1.2}.product-card-recommended{font-family:var(--font-body);font-size:var(--type-small);color:var(--color-mountain-500);margin:var(--space-2) 0 0;line-height:1.5}.product-card-recommended strong{color:var(--color-mountain-900);font-weight:600}.product-card-foot{padding-top:var(--space-4);margin-top:var(--space-3);border-top:1px solid var(--color-bone-300);justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.product-card-price{font-family:var(--font-display);color:var(--color-forest-800);letter-spacing:-.02em;font-size:1.625rem;font-weight:600}.product-card-price small{font-family:var(--font-body);font-size:var(--type-small);color:var(--color-mountain-500);letter-spacing:0;font-weight:500}.product-card-cta{font-family:var(--font-body);font-size:var(--type-small);color:var(--color-forest-800);align-items:center;gap:var(--space-1);font-weight:600;display:inline-flex}.product-card-cta:after{content:"→";transition:transform .2s}.product-card:hover .product-card-cta:after{transform:translate(4px)}.empty-state{text-align:center;padding:var(--space-9) var(--space-5);color:var(--color-mountain-500);grid-column:1/-1}.empty-state h3{font-family:var(--font-display);color:var(--color-mountain-900);margin:0 0 var(--space-3);font-size:1.75rem;font-style:italic;font-weight:500}.product-card[hidden]{display:none!important}.product-detail{gap:var(--space-8);grid-template-columns:1.1fr 1fr;align-items:start;display:grid}@media (max-width:880px){.product-detail{gap:var(--space-6);grid-template-columns:1fr}.product-detail-media{position:static!important;top:auto!important}}.product-detail-media{border-radius:var(--radius-md);border:1px solid var(--color-bone-300);background:var(--color-bone-100);position:sticky;top:100px;overflow:hidden}.product-detail-image{aspect-ratio:4/3;background-position:50%;background-size:cover}.product-detail-image--button{cursor:zoom-in;background-color:var(--color-bone-100);background-repeat:no-repeat;border:0;width:100%;padding:0;display:block}.product-detail-image--button:focus-visible{outline:2px solid var(--color-sage-500);outline-offset:-2px}.product-detail-thumbs{background:var(--color-bone-100);border-top:1px solid var(--color-bone-300);grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:6px;padding:8px;display:grid}.product-detail-thumb{appearance:none;border-radius:var(--radius-sm);aspect-ratio:1;background-position:50%;background-size:cover;background-color:var(--color-bone-200);cursor:pointer;transition:border-color var(--duration-fast,.15s);border:2px solid #0000;padding:0}.product-detail-thumb:hover{border-color:var(--color-sage-400)}.product-detail-thumb.is-active{border-color:var(--color-sage-600)}.product-detail-thumb:focus-visible{outline:2px solid var(--color-sage-500);outline-offset:2px}.lightbox{z-index:9999;background:#000000eb;justify-content:center;align-items:center;animation:.18s ease-out lightbox-fade;display:flex;position:fixed;inset:0}@keyframes lightbox-fade{0%{opacity:0}to{opacity:1}}.lightbox-image{cursor:zoom-in;-webkit-user-select:none;user-select:none;background-color:#0000;background-position:50%;background-repeat:no-repeat;background-size:contain;width:min(92vw,1600px);height:88vh}.lightbox-image.is-zoomed{cursor:zoom-out}.lightbox-btn{appearance:none;color:#fff;cursor:pointer;width:48px;height:48px;font-size:32px;line-height:1;font-family:var(--font-body);background:#ffffff1f;border:0;border-radius:50%;place-items:center;font-weight:400;transition:background .15s;display:grid;position:absolute}.lightbox-btn:hover{background:#ffffff40}.lightbox-btn:focus-visible{outline-offset:2px;outline:2px solid #fff}.lightbox-close{font-size:28px;top:20px;right:20px}.lightbox-prev,.lightbox-next{width:56px;height:56px;font-size:40px;top:50%;transform:translateY(-50%)}.lightbox-prev{left:24px}.lightbox-next{right:24px}.lightbox-counter{color:#ffffffbf;letter-spacing:.06em;pointer-events:none;font-size:14px;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}@media (max-width:600px){.lightbox-image{height:80vh}.lightbox-prev{left:8px}.lightbox-next{right:8px}}.product-detail-crumbs{font-size:var(--type-caption);text-transform:uppercase;letter-spacing:.14em;color:var(--color-mountain-500);margin-bottom:var(--space-4);font-weight:700}.product-detail-crumbs a{color:var(--color-sage-700);text-decoration:none}.product-detail-crumbs a:hover{color:var(--color-forest-800)}.product-detail h1{font-family:var(--font-display);color:var(--color-forest-800);letter-spacing:-.01em;margin:0 0 var(--space-3);font-size:clamp(2rem,3vw,2.75rem);font-weight:600;line-height:1.05}.product-detail-tag{font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--color-sage-700);margin-bottom:var(--space-3);font-size:10px;font-weight:700;display:inline-block}.product-detail-lede{font-size:var(--type-body-lg);color:var(--color-mountain-700);margin-bottom:var(--space-5);max-width:56ch;line-height:1.55}.product-detail-price-row{align-items:baseline;gap:var(--space-4);padding:var(--space-4) 0;border-top:1px solid var(--color-bone-300);border-bottom:1px solid var(--color-bone-300);margin:var(--space-5) 0;display:flex}.product-detail-price-row strong{font-family:var(--font-display);color:var(--color-forest-800);font-size:2.25rem;font-weight:600;line-height:1}.product-detail-price-row span{font-size:var(--type-small);color:var(--color-mountain-500);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.product-detail-format-switch{background:var(--color-bone-200);border:1px solid var(--color-bone-300);border-radius:var(--radius-pill);margin:0 0 var(--space-5);gap:2px;padding:4px;display:inline-flex}.product-detail-format-switch-option{border-radius:var(--radius-pill);color:var(--color-mountain-700);white-space:nowrap;align-items:baseline;gap:6px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:background .15s,color .15s;display:inline-flex;text-decoration:none!important}.product-detail-format-switch-option em{color:var(--color-mountain-500);font-size:.8rem;font-style:normal;font-weight:500}.product-detail-format-switch-option.is-active{background:var(--color-forest-800);color:var(--color-bone-100)!important}.product-detail-format-switch-option.is-active em{color:var(--color-sage-400)}a.product-detail-format-switch-option:hover{background:var(--color-bone-100);color:var(--color-forest-800)}a.product-detail-format-switch-option:hover em{color:var(--color-mountain-700)}@media (max-width:480px){.product-detail-format-switch{flex-direction:column;width:100%}.product-detail-format-switch-option{justify-content:space-between}}.product-detail-add{align-items:stretch;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.product-detail-add .btn{min-height:48px}.product-detail-add .added-msg{font-size:var(--type-small);color:var(--color-sage-700);letter-spacing:.04em;align-items:center;gap:6px;font-weight:700;display:inline-flex}.product-detail-body p{color:var(--color-mountain-700);max-width:60ch;line-height:1.6}.product-detail-color-note{margin-top:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bone-200);border-left:3px solid var(--color-sage-500);border-radius:0 var(--radius-md) var(--radius-md) 0;max-width:60ch;font-size:.9rem;color:var(--color-mountain-700)!important}.product-detail-color-note strong{color:var(--color-mountain-900);font-weight:700}.product-detail-specs{margin-top:var(--space-6);border-top:1px solid var(--color-bone-300);padding-top:var(--space-5)}.product-detail-specs dt{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--color-mountain-500);margin-bottom:2px;font-size:10px;font-weight:700}.product-detail-specs dd{font-size:var(--type-body);color:var(--color-mountain-900);margin:0 0 var(--space-4);font-weight:600}
