.shop-catalog .container {max-width:1240px}
.shop-catalog nav {display:flex; flex-wrap:wrap; gap:.5rem .75rem; margin:1rem 0 2.25rem}
.shop-catalog nav a {display:inline-flex; align-items:center; min-height:44px; padding:.4rem .85rem; border:1px solid #b7c5bd; border-radius:5px; color:#232d37; text-decoration:underline; text-underline-offset:.2em}
.shop-group {scroll-margin-top:112px; margin-top:2rem}
.shop-group h3 {margin:0 0 .85rem}
.shop-group ul {display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,205px),1fr)); gap:1rem; list-style:none; padding:0; margin:0}
.shop-group li {display:flex; min-width:0}
.shop-group a.shop-product {width:100%; display:flex; flex-direction:column; overflow:hidden; border:1px solid #c5cec9; border-radius:8px; background:#fff; color:#232d37; text-decoration:none}
.shop-photo {background:#f3f5f4; height:170px; display:grid; place-items:center; padding:12px}
.shop-photo img {display:block; width:100%; height:146px; object-fit:contain; mix-blend-mode:multiply}
.shop-product-copy {display:flex; flex:1; flex-direction:column; gap:.35rem; padding:1rem}
.shop-product-copy p {font-size:.83rem; color:#4c5b57; margin:0}
.shop-product-copy h4 {font-size:1.06rem; line-height:1.35; margin:0; color:#232d37}
.shop-product-copy span {padding-top:.65rem; margin-top:auto; font-size:.9rem; text-decoration:underline; text-underline-offset:.24em}
.shop-group a.shop-product:hover,.shop-catalog nav a:hover {background:#eaf6e9; border-color:#53655e}
.shop-catalog a:focus-visible {outline:3px solid #314d42; outline-offset:3px}
@media(max-width:650px) {.shop-group ul {grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem} .shop-photo {height:128px; padding:8px} .shop-photo img {height:112px} .shop-product-copy {padding:.7rem; overflow-wrap:anywhere}}
