.cat-layout{grid-template-columns:240px 1fr;align-items:start;gap:28px;display:grid}@media (max-width:900px){.cat-layout{grid-template-columns:1fr}}.cat-rail{background:var(--linen);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:22px;position:sticky;top:92px}.cat-rail-grp{border-bottom:1px solid var(--divider);margin-bottom:22px;padding-bottom:22px}.cat-rail-grp:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.cat-rail-h{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4);margin-bottom:10px;font-size:11px;font-weight:600}.cat-rail-cats{flex-direction:column;display:flex}.cat-rail-cat{color:var(--ink-2);white-space:nowrap;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:7px 0;font-family:inherit;font-size:14px;text-decoration:none;display:flex}.cat-rail-cat>span:first-child{text-overflow:ellipsis;overflow:hidden}.cat-rail-cat:hover{color:var(--ember-700)}.cat-rail-cat.is-active{color:var(--forest-700);font-weight:600}.cat-rail-cat-c{font-family:var(--font-mono);color:var(--ink-4);font-size:11.5px}.cat-rail-cat.is-active .cat-rail-cat-c{color:var(--ember-700)}.cat-rail-chk{color:var(--ink-2);cursor:pointer;align-items:center;gap:9px;padding:4px 0;font-size:13.5px;display:flex}.cat-rail-chk input{display:none}.cat-rail-chk-box{border:1px solid var(--border-strong);background:var(--paper);border-radius:2px;flex-shrink:0;place-items:center;width:15px;height:15px;display:grid}.cat-rail-chk.is-on .cat-rail-chk-box{background:var(--forest-700);border-color:var(--forest-700)}.cat-rail-chk.is-on .cat-rail-chk-box:after{content:"✓";color:var(--fg-on-dark);font-size:10px}.cat-rail-chk-c{font-family:var(--font-mono);color:var(--ink-4);margin-left:auto;font-size:11px}.cat-rail-swatches{grid-template-columns:1fr 1fr;gap:10px;display:grid}.cat-rail-sw{color:var(--ink-2);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-family:inherit;font-size:12.5px;text-decoration:none;display:flex}.cat-rail-sw:hover{color:var(--ember-700)}.cat-rail-sw.is-on{color:var(--forest-700);font-weight:600}.cat-rail-sw-dot{border-radius:3px;width:14px;height:14px;box-shadow:inset 0 0 0 1px #0000001f}.cat-rail-sw.is-on .cat-rail-sw-dot{box-shadow:inset 0 0 0 1px #0000001f, 0 0 0 2px var(--ember-600)}.cat-rail-clear{font-family:var(--font-body);color:var(--ember-700);cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font-size:11.5px;font-weight:600;text-decoration:none;display:inline-flex}.cat-rail-clear:hover{color:var(--ember-800);text-decoration:underline}.cat-toolbar{background:var(--linen);border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding:10px 16px;display:flex}.cat-toolbar-l{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:14px;font-size:13px;display:flex}.cat-toolbar-l strong{color:var(--ink);font-weight:600}.cat-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}@media (max-width:1180px){.cat-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.cat-grid{grid-template-columns:1fr}}.prod-card{background:var(--linen);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:inherit;transition:transform var(--dur-base) var(--ease-out-soft), box-shadow var(--dur-base) var(--ease-out-soft);flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.prod-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.prod-card:hover .prod-photo-img{transform:scale(1.04)}.prod-photo{aspect-ratio:4/3;background:var(--paper-2);position:relative;overflow:hidden}.prod-photo-img,.prod-photo img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease-out-soft);position:absolute;inset:0}.prod-photo-empty{color:var(--ink-5);letter-spacing:.06em;text-transform:uppercase;place-items:center;font-size:11px;display:grid;position:absolute;inset:0}.prod-photo:after{content:"";pointer-events:none;background-image:linear-gradient(#0000 60%,#0e1a1f73 100%);position:absolute;inset:0}.prod-photo .badge{color:var(--forest-800);letter-spacing:.1em;text-transform:uppercase;z-index:2;background:#f5f1e8eb;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700;position:absolute;top:12px;left:12px}.prod-photo .sku{font-family:var(--font-mono);color:var(--fg-on-dark);letter-spacing:.04em;z-index:2;font-size:10.5px;position:absolute;bottom:12px;left:14px}.prod-body{flex-direction:column;flex:1;padding:16px 18px 18px;display:flex}.prod-name{font-family:var(--font-display);margin:4px 0;font-size:22px;font-weight:500;line-height:1.1}.prod-meta{color:var(--ink-4);flex-wrap:wrap;gap:6px;font-size:12.5px;display:flex}.prod-meta-dot{opacity:.5}.prod-foot{border-top:1px solid var(--divider);justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:14px;display:flex}.prod-price{font-family:var(--font-display);color:var(--ink);font-size:20px;font-weight:500}.prod-price .currency{color:var(--ink-4);vertical-align:super;margin-right:2px;font-size:13px}.prod-price-tbd{font-family:var(--font-body);color:var(--ink-4);letter-spacing:.06em;text-transform:uppercase;font-size:12px}.prod-color-row{align-items:center;gap:4px;display:flex}.prod-color-dot{border-radius:50%;width:12px;height:12px;box-shadow:inset 0 0 0 1px #0000001f}
