@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');
:root{--navy:#103d73;--blue:#1762a2;--pale:#eff5fb;--red:#c53041;--ink:#203147;--muted:#586b7e;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.65 'DM Sans',Arial,sans-serif}h1,h2,h3{line-height:1.17}h1,h2{font-family:'Playfair Display',Georgia,serif}h1{font-size:clamp(2.4rem,5vw,4.5rem);margin:12px 0 20px}h2{font-size:clamp(1.9rem,3vw,2.8rem);margin:0 0 18px}a{color:inherit}img{max-width:100%;height:auto}.wrap{width:min(1140px,92%);margin:auto}.topbar{background:#092d57;color:#fff;text-align:center;font-size:.86rem;padding:7px}.header{background:var(--navy);color:white;position:sticky;top:0;z-index:10;box-shadow:0 4px 14px #0002}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:82px;gap:20px}.logo{text-decoration:none;font-weight:800;line-height:1.1;font-size:1.35rem;letter-spacing:.04em}.logo small{display:block;font-size:.65rem;letter-spacing:.1em;font-weight:500;color:#d1e6fb;margin-top:5px}.nav{display:flex;align-items:center;gap:19px}.nav a{text-decoration:none;font-size:.87rem;font-weight:600}.nav a:hover,.nav a[aria-current=page]{color:#ffcfdb}.btn{display:inline-block;border:0;background:var(--red);color:#fff!important;padding:13px 21px;border-radius:7px;font-weight:700;text-decoration:none;cursor:pointer}.btn:hover{filter:brightness(.93)}.btn-outline{background:transparent;color:var(--navy)!important;border:2px solid var(--navy)}.menu{display:none;background:transparent;border:1px solid #ffffff70;color:white;border-radius:6px;padding:8px 12px;font-size:1.2rem}.hero{background:linear-gradient(115deg,#edf5fd 0%,#f9fbfe 70%);padding:92px 0}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:var(--blue);font-size:.78rem}.lead{font-size:1.15rem;color:var(--muted);max-width:630px}.hero-art{min-height:370px;border-radius:20px;background:radial-gradient(circle at 70% 25%,#e4b27c 0 9%,transparent 10%),radial-gradient(circle at 30% 55%,#a94638 0 18%,transparent 19%),radial-gradient(circle at 66% 65%,#d19a54 0 24%,transparent 25%),linear-gradient(135deg,#143c66,#337eaf);position:relative;box-shadow:0 18px 40px #143c6633;overflow:hidden}.hero-art:after{content:'QUALITY • TRADITION • COMMUNITY';position:absolute;bottom:25px;left:25px;right:25px;color:#fff;font-weight:800;letter-spacing:.12em;text-align:center;font-size:.78rem}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.section{padding:78px 0}.section.alt{background:var(--pale)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}.section-head p{max-width:620px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid #e0e9f1;border-radius:14px;overflow:hidden;box-shadow:0 8px 25px #173d5a0a}.card-content{padding:23px}.card h3{margin:0 0 8px;font-size:1.22rem;color:var(--navy)}.card p{margin:0;color:var(--muted)}.photo{height:180px;background:linear-gradient(135deg,#b8d4e7,#2a6796);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;text-align:center;padding:18px}.photo img{width:100%;height:100%;object-fit:cover}.award{padding:26px;border-top:4px solid var(--red)}.award .medal{font-size:2rem}.banner{background:var(--navy);color:white;padding:60px 0}.banner p{color:#e0efff}.banner .btn{background:var(--red)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:start}.footer{background:#092b50;color:#fff;padding:55px 0 25px}.footer a{color:#fff}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}.footer small{color:#c5d9e9}.pagehero{background:var(--pale);padding:65px 0}.pagehero h1{font-size:clamp(2.3rem,4vw,3.6rem)}.filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}.filter{border:1px solid #bfd0e0;background:white;padding:8px 15px;border-radius:40px;cursor:pointer}.filter.active{background:var(--navy);color:white}.note{padding:18px 22px;background:#f2f6fb;border-left:4px solid var(--blue);border-radius:5px}.contact-link{font-size:1.25rem;font-weight:800;color:var(--navy)}.skip{position:absolute;top:-100px;left:10px;background:white;padding:10px;z-index:20}.skip:focus{top:10px}input:focus,button:focus,a:focus{outline-offset:3px} @media(max-width:920px){.menu{display:block}.nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--navy);padding:20px 4%;flex-direction:column;align-items:stretch}.nav.open{display:flex}.hero-grid,.two-col{grid-template-columns:1fr}.hero-art{min-height:250px}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.cards,.footer-grid{grid-template-columns:1fr}.section{padding:55px 0}.hero{padding:55px 0}.section-head{display:block}.header-inner{min-height:72px}.nav{top:72px}.actions .btn{width:100%;text-align:center}}
/* v3.1 visual refresh */
:root{--navy:#123d6a;--blue:#22659c;--red:#c62d42;--ink:#172b42;--pale:#f3f7fb}
body{letter-spacing:.005em} .topbar{background:#092c4e;letter-spacing:.04em}.header{box-shadow:0 6px 28px #0b2a451a}.logo{font-size:1.2rem}.logo small{letter-spacing:.14em}.nav a{transition:color .2s}.nav .btn{white-space:nowrap}.btn{transition:transform .18s,background .18s;box-shadow:0 5px 16px #941a3220}.btn:hover{transform:translateY(-2px)}.btn-outline{box-shadow:none}.hero{background:linear-gradient(120deg,#edf5fc 0%,#fff 85%);position:relative;overflow:hidden}.hero:before{content:'';position:absolute;width:360px;height:360px;border:60px solid #dcecf75c;border-radius:50%;left:-240px;top:-180px}.hero-grid{position:relative;gap:65px}.hero h1{color:#123d6a;letter-spacing:-.025em}.hero-art{background:linear-gradient(145deg,#174d79,#092c4e);border:8px solid white;box-shadow:0 25px 60px #173d5a30;display:flex;align-items:center;justify-content:center}.hero-art:before{content:'BB';color:#ffffffdb;font:700 clamp(6rem,15vw,11rem)/1 Georgia,serif;letter-spacing:-.12em;margin-right:.15em}.hero-art:after{font-size:.67rem;letter-spacing:.18em}.hero-art.has-image{background-size:cover;background-position:center}.hero-art.has-image:before{display:none}.section-head a,.section a:not(.btn){color:#165b93;font-weight:700}.card{transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-3px);box-shadow:0 16px 32px #173d5a14}.photo{height:215px;padding:0;background:#dceaf5}.photo-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:radial-gradient(circle at 70% 25%,#ffffff50,transparent 40%),linear-gradient(135deg,#daeaf5,#7da9c9);color:#17436b;font-weight:800;letter-spacing:.03em}.photo-placeholder .placeholder-symbol{font-size:3.6rem;line-height:1.2;color:#fff}.photo-placeholder small{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:#345a78}.award{border-top:0;border-bottom:4px solid #c62d42;position:relative}.award .medal{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#e8f0f8;color:#bd3444;margin-bottom:15px;font-size:2rem}.banner{background:linear-gradient(110deg,#092e55,#195a8b)}.pagehero{background:linear-gradient(110deg,#eaf3fb,#f9fbfd)}.filter:hover{border-color:#236aa4}.filter:focus-visible{outline:3px solid #c62d42}.footer{background:#092c4e}.photo img{display:block}.site-highlight{color:#c62d42}.trust-strip{background:#e5f0f9;padding:17px 0;border-top:1px solid #c5dce9;border-bottom:1px solid #c5dce9}.trust-strip .wrap{display:flex;gap:24px;justify-content:space-around;flex-wrap:wrap}.trust-strip span{font-weight:800;color:#174b78;font-size:.85rem;letter-spacing:.035em}.eyebrow{color:#155d94}.feature-note{font-size:.8rem;color:#50667a;margin-top:12px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* v3.2 — official Boghall Butchers identity */
:root{--navy:#11195d;--blue:#283a8c;--pale:#f7f5ed;--red:#b63f36;--ink:#22284a;--muted:#5b6073;--gold:#e7b476;--cream:#fff5d2}
.topbar{background:#090f3d;color:var(--cream)}.header{background:var(--navy);border-bottom:2px solid var(--gold)}.header-inner{min-height:96px}.brand-lockup{display:flex;align-items:center;gap:13px;text-decoration:none;min-width:0}.brand-mark{width:68px;height:68px;object-fit:cover;border:1px solid #dba56d;border-radius:4px;flex:none}.brand-name{font:700 1.2rem/1.15 Georgia,serif;color:var(--cream)}.brand-subtitle{display:block;font:600 .64rem/1.4 Arial,sans-serif;letter-spacing:.12em;color:var(--gold);margin-top:6px}.nav a:hover,.nav a[aria-current=page]{color:var(--gold)}.nav .btn{background:#b63f36}.hero{background:linear-gradient(120deg,#f8f4e9,#fff 80%)}.hero:before{border-color:#eadbb660}.hero h1{color:var(--navy)}.eyebrow{color:#76502d}.hero-art{background:var(--navy);border:6px solid #e9bf88;min-height:440px;box-shadow:0 22px 46px #11195d30}.hero-art:before{content:none}.hero-art:after{content:none}.hero-art .hero-logo{display:block;width:100%;height:100%;max-height:490px;object-fit:contain}.hero-art.has-image .hero-logo{display:none}.hero-art.has-image:after{content:'QUALITY • TRADITION • COMMUNITY';background:#11195d99;padding:10px;bottom:0;left:0;right:0}.trust-strip{background:#f7ecd5;border-color:#e7c99b}.trust-strip span{color:#4c3973}.card h3,.contact-link{color:var(--navy)}.award{border-bottom-color:var(--gold)}.award .medal{background:#f7ebd7;color:#a66c30}.banner{background:linear-gradient(110deg,#101751,#283a8c)}.pagehero{background:linear-gradient(110deg,#f8f1df,#fff)}.footer{background:#0c1245;border-top:3px solid var(--gold)}.footer-brand{display:flex;align-items:center;gap:14px}.footer-brand img{width:80px;height:85px;object-fit:contain}.footer-brand h3{font-family:Georgia,serif;color:var(--cream)}.footer small{color:#e1d5bc}.btn-outline{color:var(--navy)!important;border-color:var(--navy)}.photo-placeholder{background:linear-gradient(140deg,#f8f0dc,#c5cbe9);color:var(--navy)}.photo-placeholder small{color:#484a69}.site-highlight{color:#b63f36}.filter.active{background:var(--navy)}
@media(max-width:920px){.nav{top:96px;background:var(--navy)}.hero-art{min-height:320px}}@media(max-width:600px){.header-inner{min-height:78px}.nav{top:78px}.brand-mark{width:52px;height:52px}.brand-name{font-size:1rem}.brand-subtitle{font-size:.52rem}.hero-art{min-height:270px}}

/* v3.3 festive section */
.christmas-hero{background:linear-gradient(130deg,#fff8ed,#f7e6d6);padding:65px 0}.christmas-hero-grid{display:grid;grid-template-columns:1.4fr .65fr;gap:65px;align-items:center}.christmas-hero h1{color:#11195d}.festive-cover{max-width:350px;margin:auto;box-shadow:0 20px 40px #3c182d35;transform:rotate(1deg)}.festive-cover img{display:block;width:100%}.festive-caution{font-size:.86rem;color:#695a51;margin-top:25px}.festive-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:28px}.festive-page{display:flex;flex-direction:column;text-decoration:none;border:1px solid #e8d8c3;border-radius:12px;overflow:hidden;background:white;box-shadow:0 6px 20px #16174410;padding-bottom:16px}.festive-page img{width:100%;height:325px;object-fit:contain;background:#f7f3ed;padding:8px}.festive-page strong{color:var(--navy);font-size:1.05rem;padding:12px 14px 0}.festive-page span{color:var(--muted);font-size:.85rem;padding:0 14px}.festive-page:hover{outline:2px solid var(--gold)}.festive-order{background:linear-gradient(120deg,#11195d,#283a8c);color:#fff;padding:60px 0}.festive-order h2{color:var(--cream)}.festive-order .eyebrow{color:var(--gold)}.festive-order p{max-width:700px}.hours-table{border-collapse:collapse;width:100%;max-width:620px;background:#fff}.hours-table th,.hours-table td{text-align:left;padding:10px 15px;border-bottom:1px solid #e1d9ca}.hours-table th{width:42%;color:var(--navy)}.christmas-promo{background:#f7ecda;padding:60px 0}.christmas-promo-grid{display:grid;grid-template-columns:1fr 240px;align-items:center;gap:40px}.christmas-promo-grid img{max-height:320px;width:auto;justify-self:center;box-shadow:0 10px 25px #0002}.christmas-promo h2{color:var(--navy)}@media(max-width:920px){.christmas-hero-grid{grid-template-columns:1fr 240px;gap:25px}.festive-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.christmas-hero-grid,.christmas-promo-grid{grid-template-columns:1fr}.festive-cover{max-width:260px}.festive-gallery{grid-template-columns:1fr 1fr;gap:10px}.festive-page img{height:225px}.festive-page strong{font-size:.9rem}.festive-page span{font-size:.75rem}.christmas-hero{padding:45px 0}}

/* v3.5 genuine shop photo gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:28px}.gallery-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.gallery-tile{padding:0;border:0;background:#fff;box-shadow:0 5px 22px #173d5a1b;border-radius:12px;overflow:hidden;cursor:pointer;text-align:left;width:100%;display:flex;flex-direction:column}.gallery-tile img{width:100%;height:215px;object-fit:cover;display:block;transition:transform .25s}.gallery-tile:hover img{transform:scale(1.035)}.gallery-tile span{font-weight:700;color:#103d73;padding:12px 15px;font-size:.92rem}.gallery-tile:focus-visible{outline:3px solid #c53041}.lightbox{border:0;border-radius:12px;padding:16px;max-width:min(92vw,1100px);max-height:92vh;background:#fff;box-shadow:0 25px 70px #0006}.lightbox::backdrop{background:#08182ddc}.lightbox img{display:block;max-width:100%;max-height:75vh;width:auto;margin:auto;object-fit:contain}.lightbox p{text-align:center;font-weight:700;margin:10px 30px 0}.lightbox-close{position:absolute;right:10px;top:7px;border:0;background:#103d73;color:white;font-size:1.5rem;border-radius:50%;width:38px;height:38px;cursor:pointer}.hero-art.has-image{background-size:cover;background-position:center}.hero-art.has-image .hero-logo{position:relative;z-index:1;width:45%;height:auto;max-height:290px;object-fit:contain;margin:35px auto 60px;display:block;box-shadow:0 8px 24px #0004}.photo{padding:0}.photo img{width:100%;height:100%;object-fit:cover}@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.gallery-grid,.gallery-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-tile img{height:165px}}@media(max-width:420px){.gallery-grid,.gallery-preview{grid-template-columns:1fr}.gallery-tile img{height:230px}}

/* v3.7 everyday catalogue */
.catalogue-intro{margin-top:56px;border-top:2px solid #dce8f5;padding-top:35px}.catalogue-intro input[type=search]{display:block;width:100%;max-width:600px;padding:14px;border:1px solid #b7c9df;border-radius:10px;margin:10px 0 22px;font:inherit}.catalogue-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:20px;margin:20px 0 35px}.catalogue-category{border:1px solid #d5e3f2;border-radius:13px;overflow:hidden;background:#fff;box-shadow:0 3px 14px #10335c12}.catalogue-category h3{margin:0;background:#123e7b;color:white;padding:15px 19px}.catalogue-category ul{list-style:none;margin:0;padding:15px 20px;columns:2;column-gap:24px}.catalogue-category li{break-inside:avoid;padding:5px 0;font-size:.94rem;border-bottom:1px solid #edf2f8}.catalogue-category .cat-image{height:160px;width:100%;object-fit:cover}.catalogue-intro .filters{margin:16px 0}.catalogue-category .count{font-size:.8rem;opacity:.8;font-weight:400}
/* v3.8: editable, responsive text wordmark over the real shop photograph */
.hero-art.has-image{display:flex;align-items:center;justify-content:center;isolation:isolate;background-position:center}
.hero-art.has-image:after{display:none}
.hero-wordmark{position:relative;z-index:2;display:block;max-width:95%;padding:12px 20px;color:#fff;text-align:center;font-family:Georgia,'Times New Roman',serif;font-weight:800;font-size:clamp(2.1rem,4.2vw,4.4rem);line-height:1.08;text-shadow:0 3px 12px #00152b,0 1px 3px #00152b;overflow-wrap:break-word}
@media(max-width:650px){.hero-art{min-height:300px!important}.hero-wordmark{font-size:clamp(2rem,8vw,3.2rem);padding:12px}}

/* v3.9 editable banner and contact link */
.trust-strip[hidden], [data-story-section][hidden], .facebook-contact[hidden]{display:none!important}
.facebook-contact{margin-top:1rem}.btn-facebook{background:#1769aa;color:#fff}.btn-facebook:hover{background:#104c81}

/* Our Story: editorial layout, responsive and editor-driven */
.story-article{max-width:860px}.story-block{margin:0 0 2.5rem}.story-block h2{margin-bottom:1rem}.story-block p{line-height:1.8}.story-emphasis{font-weight:700}.story-tagline{font-style:italic;font-weight:600;margin-top:2rem}.story-block[hidden]{display:none!important}

/* v4.0 */
.back-to-top{position:fixed;right:20px;bottom:22px;z-index:1000;border:2px solid white;border-radius:40px;padding:12px 18px;background:#153e79;color:white;box-shadow:0 4px 18px #001a3870;font:600 14px system-ui,sans-serif;cursor:pointer}.back-to-top[hidden]{display:none!important}.back-to-top:focus-visible{outline:3px solid #e4434b;outline-offset:3px}.story-photo{max-width:100%;max-height:480px;object-fit:cover;border-radius:12px;margin:12px 0 20px}@media(max-width:600px){.back-to-top{right:12px;bottom:12px;padding:11px 14px}}

/* v4.2 */
#product-search{display:block;width:min(100%,540px);padding:13px;margin:12px 0 20px;border:2px solid #a6b8d1;border-radius:8px;font:inherit}#product-search:focus-visible,.mobile-actions a:focus-visible,.menu-close:focus-visible{outline:3px solid #edb64d;outline-offset:3px}.mobile-actions{display:none}.awards-timeline{display:block!important;max-width:850px;margin:auto}.award-timeline-entry{display:grid;grid-template-columns:100px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid #dce5f0}.award-year{font-size:1.2rem;font-weight:800;color:#164983}.award-timeline-entry img{max-width:280px;width:100%;height:auto;border-radius:8px}.christmas-menu-dialog{width:min(95vw,920px);max-height:94dvh;border:0;border-radius:12px;padding:0;box-shadow:0 12px 50px #0008}.christmas-menu-dialog::backdrop{background:#0a1835c9}.menu-dialog-head{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:12px 18px;background:#143d77;color:white;z-index:2}.menu-close{padding:10px 16px;border:1px solid white;border-radius:8px;background:#fff;color:#153d75;font:inherit;cursor:pointer}.menu-dialog-scroll{padding:12px;overflow:auto;max-height:70dvh;text-align:center}.menu-dialog-scroll img{max-width:100%;height:auto}.menu-bottom{display:block;margin:10px auto 16px;background:#143d77;color:#fff}@media(max-width:720px){body{padding-bottom:68px}.mobile-actions{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:900;background:#123d79;justify-content:space-around;gap:3px;padding:9px max(8px,env(safe-area-inset-left)) calc(9px + env(safe-area-inset-bottom));box-shadow:0 -4px 18px #0003}.mobile-actions a{color:#fff;text-decoration:none;font-weight:700;font-size:.86rem;padding:9px 6px;text-align:center}.back-to-top{bottom:83px!important}.award-timeline-entry{grid-template-columns:70px 1fr;gap:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
