:root { --width: 1000px; } .products { --min-width: 200px; display: grid; grid-template-columns: repeat(auto-fill, minmax(var(--min-width), 1fr)); gap: 8px; align-items: start; } .products .product { background-color: var(--bg-alt); padding: 8px; border-radius: 8px; } .product img { width: 100%; height: 100%; object-fit: cover; } .product span { display: block; } .product .price { font-size: 1.5rem; } .categories a { position: relative; display: block; color: var(--fg-alt); text-decoration: none; } .categories .category { margin-left: 8px; height: 1.25em; } .categories .category::before { content: ""; position: absolute; height: 2px; width: 14px; background-color: var(--fg); left: -2px; top: 50%; transform: translate(-100%, -50%); } .categories .sub { margin-left: 8px; position: relative; } .categories > .sub::before { top: 0; } .sub::before { content: ""; position: absolute; width: 2px; background-color: var(--fg); left: -8px; top: calc(1.25em * -0.5); bottom: calc(1.25em * 0.5); } .categories:has(.current) a { color: var(--fg); } .categories:has(.current) a.current { color: var(--fg-alt); font-weight: 700; }