.shop-banner{border-bottom:1px solid var(--grey);background:var(--paper-dim)}.shop-banner .container{padding:2.5rem 2rem 2rem}.shop-banner h1{font-family:var(--display);font-size:clamp(2.25rem,5vw,3.25rem);font-weight:700;letter-spacing:-.02em}.shop-banner .hero-eyebrow{margin-bottom:.5rem}.shop-layout{display:grid;grid-template-columns:240px 1fr;gap:3rem;align-items:start}.shop-section{padding-top:3rem}.shop-filters{position:sticky;top:90px;display:flex;flex-direction:column;gap:2rem}.filter-group h3{font-family:var(--display);font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.9rem}.filter-select{width:100%;padding:.7rem 1rem;border:1px solid var(--grey);border-radius:var(--radius);background:var(--paper);font-family:var(--body);font-size:.9rem;color:var(--ink);cursor:pointer}.filter-select:focus{outline:none;border-color:var(--ink)}.filter-check{display:flex;align-items:center;gap:.6rem;font-size:.9rem;margin-bottom:.6rem;cursor:pointer;color:var(--ink)}.filter-check input{width:16px;height:16px;accent-color:var(--coral);cursor:pointer}.filter-count{font-family:var(--mono);font-size:.75rem;color:var(--grey-text);margin-left:auto}.size-row{display:flex;flex-wrap:wrap;gap:.5rem}.size-btn{min-width:42px;padding:.45rem .6rem;border:1px solid var(--grey);border-radius:var(--radius);background:var(--paper);font-family:var(--mono);font-size:.8rem;cursor:pointer;transition:border-color .2s,background .2s,color .2s}.size-btn:hover{border-color:var(--ink)}.size-btn.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.filter-clear{margin-top:.5rem}.shop-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.75rem}.result-count{font-family:var(--mono);font-size:.8rem;color:var(--grey-text);text-transform:uppercase;letter-spacing:.05em}.mobile-only{display:none;width:auto}.shop-grid{grid-template-columns:repeat(3,1fr)}.pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:3rem}.page-btn{min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--grey);border-radius:var(--radius);background:var(--paper);font-family:var(--mono);font-size:.9rem;cursor:pointer;transition:border-color .2s,background .2s,color .2s}.page-btn:hover:not(:disabled){border-color:var(--ink)}.page-btn.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.page-btn:disabled{opacity:.35;cursor:not-allowed}.page-btn svg{width:16px;height:16px}.page-ellipsis{font-family:var(--mono);color:var(--grey-text);padding:0 .25rem}a.add-btn{text-decoration:none}.product-image[href]{display:block}.shop-empty{text-align:center;padding:4rem 1rem;color:var(--grey-text)}.shop-empty p{margin-bottom:1.25rem;font-family:var(--mono);font-size:.9rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:1024px){.shop-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.shop-layout{grid-template-columns:1fr}.shop-filters{position:static;flex-direction:row;flex-wrap:wrap;gap:1.5rem 2.5rem;padding-bottom:2rem;border-bottom:1px solid var(--grey);margin-bottom:2rem}.filter-group{flex:1 1 200px}.filter-clear{flex:1 1 100%}}@media (max-width:768px){.shop-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.shop-toolbar{align-items:flex-start}.mobile-only{display:block}}@media (max-width:480px){.pagination{flex-wrap:wrap}}