/* Catalogue presentation; scoped to the shop, preserving product detail pages. */
.shop-catalogue .shop-intro{padding:38px 0 24px;gap:32px;align-items:center}
.shop-catalogue .shop-intro h1{font-size:clamp(2.1rem,4vw,3.6rem);line-height:1.12;max-width:16ch;margin:12px 0 16px}
.shop-catalogue .category-nav{flex-wrap:wrap;overflow:visible;gap:10px;padding:16px 0 24px;margin-bottom:32px}
.shop-catalogue .category-filter{min-height:44px;border-radius:4px;white-space:normal;text-align:left}
.shop-catalogue .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px}
.shop-catalogue .product-photo{width:100%;aspect-ratio:1/1;background:#fafaf8;margin-bottom:20px;border-radius:4px}
.shop-catalogue .product-photo img{width:90%;height:90%;object-fit:contain}
.shop-catalogue .product-card h3{font-size:24px;line-height:1.25;margin:8px 0 12px}
.shop-catalogue .product-card p{font-size:16px;line-height:1.6;max-width:none;margin-bottom:20px}
.shop-catalogue .product-card .btn{min-height:48px;font-size:15px}
.shop-catalogue .product-detail-link{line-height:1.5;padding:6px 0;margin:0 0 16px}
@media(min-width:761px) and (max-width:1000px){.shop-catalogue .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
.shop-catalogue main.wrap{padding-left:20px;padding-right:20px}
.shop-catalogue .shop-intro{padding:24px 0 8px}
.shop-catalogue .category-nav{gap:8px;margin-bottom:28px}
.shop-catalogue .category-filter{font-size:13px;padding:10px 12px}
.shop-catalogue .product-grid{grid-template-columns:minmax(0,1fr);gap:36px}
.shop-catalogue .product-card{padding-bottom:28px;border-bottom:1px solid #e5e5df}
.shop-catalogue .product-photo{aspect-ratio:1.15/1;max-height:440px}
.shop-catalogue .product-card h3{font-size:25px}
.shop-catalogue .category-heading{align-items:baseline;flex-wrap:wrap;gap:8px}
.shop-catalogue .category-heading h2{font-size:28px;line-height:1.2}
}
/* Override older per-product thumbnail caps; keep every packshot centred. */
.shop-catalogue .product-card .product-photo{display:flex;align-items:center;justify-content:center;max-width:none;padding:16px;margin-left:auto;margin-right:auto;box-sizing:border-box}
.shop-catalogue .product-card .product-photo img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;margin:auto}
.shop-catalogue .catalogue-market{display:flex;align-items:center;gap:28px;background:#f8f8f5;border:1px solid #e5e5df;border-radius:6px;padding:20px;margin:8px 0 12px}
.catalogue-market label{display:block;font-size:15px;font-weight:600;margin-bottom:8px}
.catalogue-market select{width:100%;min-width:260px;min-height:48px;padding:10px 32px 10px 12px;border:1px solid #bdbdb4;border-radius:4px;background:white;color:#252525;font:inherit}
.shop-catalogue .catalogue-market p{margin:0;font-size:14px;line-height:1.5;max-width:55ch;color:#60605a}
.shop-catalogue .catalogue-price{font-size:23px;font-weight:600;line-height:1.3;margin:8px 0}
.shop-catalogue .catalogue-price-note{display:block;font-size:12px;line-height:1.5;color:#65655d;margin-bottom:16px}
.shop-catalogue .product-card [hidden]{display:none!important}
@media(max-width:760px){.shop-catalogue .catalogue-market{display:block;padding:16px}.catalogue-market select{min-width:0}.shop-catalogue .catalogue-market p{margin-top:12px}.shop-catalogue .product-card .product-photo{height:auto;max-height:440px}}
