/* Shared product catalogue, social links and compact contact footer. */
.social-top { display:flex; justify-content:flex-end; gap:18px; padding:10px 0; border-bottom:1px solid rgba(45,74,62,.12); margin-bottom:12px; }
.social-top a, .social-links a { display:inline-flex; align-items:center; gap:7px; font-size:13px; font-weight:750; text-decoration:none; }
.social-top svg, .social-links svg { width:17px; height:17px; flex:none; }
.social-top a:hover { color:#8B2635; }
.catalogue { margin:36px 0 52px; scroll-margin-top:24px; }
.catalogue-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:0 0 22px; }
.catalogue-heading h2 { font-size:clamp(30px,4vw,48px); line-height:1.1; color:#2D4A3E; margin:0; }
.catalogue-heading p { color:#6F726A; margin:10px 0 0; line-height:1.6; }
.catalogue-note { color:#6F726A; font-size:13px; line-height:1.6; }
.catalogue .category-nav, .catalogue-nav { display:flex; flex-wrap:wrap; gap:8px; padding:12px 0; margin:0 0 24px; background:transparent; position:static; border:0; }
.catalogue .category-tab, .catalogue-nav .category-tab { display:inline-flex; align-items:center; gap:8px; padding:11px 17px; border:1px solid #D9DFD6; border-radius:999px; background:#fff; color:#2D4A3E; font:inherit; font-size:14px; font-weight:750; cursor:pointer; }
.catalogue .category-tab.active, .catalogue-nav .category-tab.active { color:#fff; background:#2D4A3E; border-color:#2D4A3E; }
.catalogue .tab-count, .catalogue-nav .tab-count { font-size:11px; border-radius:99px; padding:2px 6px; background:rgba(127,150,130,.15); }
.catalogue .category { margin:28px 0 42px; padding:0; scroll-margin-top:24px; }
.catalogue .category[hidden] { display:none; }
.catalogue .category-heading { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin:0 0 18px; padding:0; }
.catalogue .category-heading h2 { margin:0; font-size:26px; line-height:1.2; color:#2D4A3E; }
.catalogue .category-heading span { color:#6F726A; font-size:14px; }
.catalogue .grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.catalogue .item { display:flex; flex-direction:column; overflow:hidden; border:1px solid #E2E5DD; border-radius:12px; background:#fff; box-shadow:0 5px 18px rgba(45,74,62,.04); transition:transform .18s ease, box-shadow .18s ease; }
.catalogue .item:hover { transform:translateY(-3px); box-shadow:0 12px 24px rgba(45,74,62,.1); }
.catalogue .item>img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; border:0; background:#F3F0E9; }
.catalogue .item-body { display:flex; flex:1; flex-direction:column; align-items:stretch; padding:18px; }
.catalogue .item h3 { color:#233F32; font-size:16px; line-height:1.45; margin:0 0 12px; min-height:2.9em; }
.catalogue .meta { display:flex; gap:8px; flex-wrap:wrap; margin:0 0 14px; }
.catalogue .pill-price { display:block; background:transparent; color:#8B2635; border:0; border-radius:0; padding:0; font-size:20px; font-weight:850; line-height:1.3; }
.catalogue .item-desc { color:#6F726A; line-height:1.6; font-size:13px; }
.item-order { display:block; text-align:center; margin-top:auto; border:1px solid #D4DED2; border-radius:7px; padding:10px 6px; color:#2D4A3E; font-size:12px; font-weight:750; background:#F3F6F0; text-decoration:none; }
.item-order:hover { background:#2D4A3E; color:white; }
.meat-hero { grid-template-columns:1fr 1fr!important; gap:50px!important; padding:30px 0 40px!important; }
.meat-hero h1 { font-size:clamp(52px,6.5vw,96px); line-height:1; max-width:640px; }
.meat-hero .hero-eyebrow { display:inline-block; margin:0 0 18px; color:#8B2635; font-size:13px; font-weight:850; letter-spacing:2px; }
.hero-products { display:grid; grid-template-columns:1fr 1fr; gap:12px; max-width:520px; justify-self:end; }
.hero-products figure { position:relative; margin:0; border-radius:12px; overflow:hidden; background:#fff; }
.hero-products img { width:100%; aspect-ratio:1; object-fit:cover; }
.hero-products figcaption { position:absolute; left:10px; right:10px; bottom:10px; border-radius:7px; background:rgba(253,251,247,.95); color:#2D4A3E; padding:8px 10px; font-size:12px; font-weight:800; }
.footer .footer-brand { align-items:center; }
.footer .footer-logo { width:76px; height:76px; object-fit:contain; border-radius:50%; flex:none; }
.footer .footer-text { max-width:360px; }
.footer .social-links { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.footer .social-links a { display:inline-flex; color:#fff; }
.contact-strip { grid-column:1/-1; display:grid; grid-template-columns:1.1fr .9fr 1.8fr auto; gap:24px; align-items:center; border-top:1px solid rgba(255,255,255,.2); border-bottom:1px solid rgba(255,255,255,.2); padding:25px 0; margin-top:10px; }
.contact-strip h2 { color:#fff; font-size:22px; line-height:1.3; margin:0; }
.contact-strip .contact-detail span { color:rgba(255,255,255,.65); font-size:12px; line-height:1.4; margin-bottom:6px; }
.contact-strip .contact-detail a { color:#fff; font-size:14px; line-height:1.6; }
.footer .contact-strip .map-link { display:inline-flex; justify-content:center; padding:11px 15px; border:1px solid rgba(255,255,255,.4); border-radius:7px; color:#fff; background:transparent; font-size:13px; white-space:nowrap; }
.footer .footer-bottom { border-top:0; padding-top:0; }
@media(max-width:1050px) { .catalogue .grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .contact-strip { grid-template-columns:1fr 1fr; } .meat-hero { gap:25px!important; } }
@media(max-width:720px) { .meat-hero { grid-template-columns:1fr!important; } .hero-products { justify-self:start; max-width:100%; width:100%; } .hero-products figure:nth-child(n+3) { display:none; } .catalogue .grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .catalogue-heading { display:block; } .catalogue .category-heading { display:block; } .catalogue .category-heading span { display:block; margin-top:8px; } .catalogue .item-body { padding:12px; } .catalogue .item h3 { font-size:14px; } .catalogue .pill-price { font-size:17px; } .catalogue .category-tab, .catalogue-nav .category-tab { padding:9px 12px; font-size:12px; } .social-top { justify-content:center; } .contact-strip { gap:20px; } }
@media(max-width:480px) { .contact-strip { grid-template-columns:1fr; } .contact-strip h2 { font-size:20px; } .contact-strip .map-link { justify-self:start; } .catalogue .item h3 { font-size:13px; } .item-order { font-size:11px; } .hero-products { gap:8px; } .hero-products figcaption { font-size:11px; left:6px; right:6px; bottom:6px; padding:7px; } }
@media(prefers-reduced-motion:reduce) { .catalogue .item { transition:none; } .catalogue .item:hover { transform:none; } }
