/* Munro's Site Options: the navbar, announcement bar, footer and delivery pop-ups shown on every page.
   Sizes are in px on purpose: the theme sets the root font size to 10px, so rem units come out small. */

/* ═══════════ STICKY NAVBAR (every page) ═══════════
   Restyles the theme's own header rather than replacing it, so search, cart
   count and the slide-out menu keep working as the theme built them.
   site.js adds the logo, cart and account icons and the Shop panel. Bar height is 60px.
   The header sits straight inside #page on WordPress pages and straight inside
   the shop's form (#aspnetForm) on shop pages, hence each rule is written for both. */
#page > header,
#aspnetForm > header{ height:60px; background:#853824; }
#page > header .container-logo,
#aspnetForm > header .container-logo{ display:none; }     /* the bar carries the logo */
#page > header .header-tools,
#aspnetForm > header .header-tools{
  position:fixed; top:0; left:0; right:0; z-index:990;
  height:60px; margin:0; padding:0; border:0;
  background:#853824;
  transition:box-shadow .2s ease;
}
html.mq-scrolled #page > header .header-tools,
html.mq-scrolled #aspnetForm > header .header-tools{ box-shadow:0 6px 18px rgba(40,15,8,.3); }
body.admin-bar #page > header .header-tools,
body.admin-bar #aspnetForm > header .header-tools{ top:32px; }
@media (max-width:782px){ body.admin-bar #page > header .header-tools,
 body.admin-bar #aspnetForm > header .header-tools{ top:46px; } }
html.mq-nav-on #cart{ display:none !important; }              /* the round floating cart: now in the bar */

/* logo: hidden while the banner is on screen, slides in once it has scrolled away */
#page > header .mq-logo,
#aspnetForm > header .mq-logo{
  display:block; flex:0 0 auto; height:40px; width:0; margin:0; overflow:hidden;
  opacity:0; visibility:hidden;
  transition:width .3s ease, margin .3s ease, opacity .25s ease, visibility 0s linear .3s;
}
#page > header .mq-logo img,
#aspnetForm > header .mq-logo img{ display:block; height:48px; width:auto; max-width:none; margin:0; }
html.mq-past-hero #page > header .mq-logo,
html.mq-past-hero #aspnetForm > header .mq-logo{
  width:134px; margin-right:10px; opacity:1; visibility:visible;
  transition:width .3s ease, margin .3s ease, opacity .25s ease .05s, visibility 0s;
}
/* a logo chosen under "Munro's Options": shown whole, whatever its shape */
#page > header .mq-logo--custom img,
#aspnetForm > header .mq-logo--custom img{ width:134px; height:40px; object-fit:contain; object-position:left center; }

/* icon buttons (search, account, cart) */
#page > header .mq-icon,
#aspnetForm > header .mq-icon{
  position:relative; display:grid; place-items:center;
  flex:0 0 44px; width:44px; height:44px; padding:0; margin:0;
  background:none; border:0; border-radius:8px; cursor:pointer;
  color:#fbf3ea; font-size:20px; line-height:1; text-decoration:none;
}
/* the theme hides the "person" icon everywhere and shrinks icons to 14px: undo both inside the bar */
#page > header .mq-icon .fa,
#aspnetForm > header .mq-icon .fa{ display:inline-block !important; color:inherit; font-size:20px; line-height:1; }
#page > header .mq-icon:hover,
#aspnetForm > header .mq-icon:hover{ background:rgba(255,255,255,.14); color:#fff; }
#page > header .mq-icon:focus-visible,
#aspnetForm > header .mq-icon:focus-visible,
#page > header .mq-logo:focus-visible,
#aspnetForm > header .mq-logo:focus-visible{ outline:2px solid #fff; outline-offset:2px; }
#page > header .mq-cart__count,
#aspnetForm > header .mq-cart__count{
  position:absolute; top:2px; right:0;
  min-width:18px; height:18px; padding:0 5px; box-sizing:border-box;
  border-radius:9px; background:#f6efe6; color:#853824;
  font:700 12px/18px "Source Sans Pro",system-ui,sans-serif; text-align:center;
}
#page > header .mq-cart__count[hidden],
#aspnetForm > header .mq-cart__count[hidden]{ display:none; }

/* search field, shared by both layouts */
#page > header .search-col .input-group,
#aspnetForm > header .search-col .input-group{ display:block; width:auto; }
#page > header .searchControl,
#aspnetForm > header .searchControl{
  display:flex; align-items:center; width:100%; height:40px; margin:0; overflow:hidden;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.24); border-radius:8px;
}
#page > header .searchControl:focus-within,
#aspnetForm > header .searchControl:focus-within{ background:rgba(255,255,255,.22); border-color:#fff; }
#page > header .searchControl input.form-control,
#aspnetForm > header .searchControl input.form-control{
  display:block; float:none; flex:1 1 auto; min-width:0; width:auto; height:100%;
  margin:0; padding:0 12px; background:transparent; border:0 !important; border-radius:0; box-shadow:none;
  color:#fff; font:400 16px/1.2 "Source Sans Pro",system-ui,sans-serif;
}
#page > header .searchControl input.form-control::placeholder,
#aspnetForm > header .searchControl input.form-control::placeholder{ color:rgba(255,255,255,.82); opacity:1; }
#page > header .searchControl .btn,
#aspnetForm > header .searchControl .btn{
  display:grid; place-items:center; flex:0 0 42px; height:100%; padding:0;
  background:none; border:0; border-radius:0; color:#fff; font-size:16px;
}

/* ——— full bar: 900px and wider ——— */
@media (min-width:900px){
  #page > header .header-tools.mobile-view,
  #aspnetForm > header .header-tools.mobile-view{ display:none !important; }
  #page > header .header-tools.desktop-view,
  #aspnetForm > header .header-tools.desktop-view{ display:block !important; }
  #page > header .header-tools.desktop-view > .container,
  #aspnetForm > header .header-tools.desktop-view > .container{
    display:flex; align-items:center; gap:10px;
    width:auto; max-width:1218px; height:100%; margin:0 auto; padding:0 15px;
  }
  #page > header .header-tools.desktop-view > .container::before,
  #aspnetForm > header .header-tools.desktop-view > .container::before,
  #page > header .header-tools.desktop-view > .container::after,
  #aspnetForm > header .header-tools.desktop-view > .container::after{ display:none; }
  #page > header .header-tools.desktop-view .col,
  #aspnetForm > header .header-tools.desktop-view .col{ float:none; width:auto; min-height:0; padding:0; line-height:normal; }
  #page > header .header-tools.desktop-view .col-sm-8,
  #aspnetForm > header .header-tools.desktop-view .col-sm-8{ flex:1 1 auto; min-width:0; }
  #page > header .header-tools.desktop-view .col-sm-1,
  #aspnetForm > header .header-tools.desktop-view .col-sm-1{ display:none; }
  #page > header .header-tools.desktop-view .search-col,
  #aspnetForm > header .header-tools.desktop-view .search-col{ flex:0 1 230px; min-width:150px; }

  #page > header #top-links,
  #aspnetForm > header #top-links{ float:none !important; position:static; width:auto; z-index:auto; }
  #page > header #top-links.nav > div,
  #aspnetForm > header #top-links.nav > div{ display:block; }
  #page > header #top-links .menu,
  #aspnetForm > header #top-links .menu{ display:flex; align-items:center; gap:2px; margin:0; padding:0; list-style:none; }
  #page > header #top-links .menu > li,
  #aspnetForm > header #top-links .menu > li{ position:relative; display:block; min-height:0; margin:0; padding:0; line-height:normal; background:none; }
  #page > header #top-links .menu > li > a,
  #aspnetForm > header #top-links .menu > li > a{
    display:block; min-height:0; padding:10px 14px; border:0; border-radius:8px;
    color:#fbf3ea; text-decoration:none; white-space:nowrap; letter-spacing:0;
    font:600 16.5px/1.25 "Source Sans Pro",system-ui,sans-serif;
  }
  #page > header #top-links .menu > li > a:hover,
  #aspnetForm > header #top-links .menu > li > a:hover,
  #page > header #top-links .menu > li.mq-open > a,
  #aspnetForm > header #top-links .menu > li.mq-open > a{ background:rgba(255,255,255,.14); color:#fff; }
  #page > header #top-links .menu > li > a:focus-visible,
  #aspnetForm > header #top-links .menu > li > a:focus-visible{ outline:2px solid #fff; outline-offset:1px; }
  /* Home, Ts & Cs, My Account, Cart and Checkout leave the bar: the logo, the
     icons and the links at the foot of this page cover them */
  #page > header #top-links .menu > li.menu-item-55,
  #aspnetForm > header #top-links .menu > li.menu-item-55,
  #page > header #top-links .menu > li.menu-item-741,
  #aspnetForm > header #top-links .menu > li.menu-item-741,
  #page > header #top-links .menu > li.menu-item-18,
  #aspnetForm > header #top-links .menu > li.menu-item-18,
  #page > header #top-links .menu > li.menu-item-19,
  #aspnetForm > header #top-links .menu > li.menu-item-19,
  #page > header #top-links .menu > li.menu-item-20,
  #aspnetForm > header #top-links .menu > li.menu-item-20{ display:none; }

  /* Shop panel */
  #page > header #top-links .menu-item-has-children > a::after,
  #aspnetForm > header #top-links .menu-item-has-children > a::after{
    content:''; display:inline-block; width:7px; height:7px; margin:0 0 3px 8px;
    border-right:2px solid currentColor; border-bottom:2px solid currentColor;
    transform:rotate(45deg);
  }
  #page > header #top-links .sub-menu,
  #aspnetForm > header #top-links .sub-menu{ display:none !important; }     /* replaced by .mq-panel */
  #page > header .mq-panel,
  #aspnetForm > header .mq-panel{
    display:none; position:absolute; top:calc(100% + 10px); left:0; z-index:5;
    width:420px; max-width:90vw; padding:12px; box-sizing:border-box; text-align:left;
    background:#fffdfb; border:1px solid #e9e0dc; border-radius:12px;
    box-shadow:0 18px 40px rgba(40,15,8,.24);
  }
  #page > header .mq-panel::before,
  #aspnetForm > header .mq-panel::before{ content:''; position:absolute; left:0; right:0; top:-12px; height:12px; }  /* keeps hover alive across the gap */
  #page > header #top-links .menu > li.mq-open > .mq-panel,
  #aspnetForm > header #top-links .menu > li.mq-open > .mq-panel,
  #page > header #top-links .menu > li:focus-within > .mq-panel,
  #aspnetForm > header #top-links .menu > li:focus-within > .mq-panel{ display:block; }
  @media (hover:hover){
    #page > header #top-links .menu > li:hover > .mq-panel,
    #aspnetForm > header #top-links .menu > li:hover > .mq-panel{ display:block; }
  }
  #page > header .mq-panel__list,
  #aspnetForm > header .mq-panel__list{ columns:2; column-gap:8px; margin:0; padding:0; list-style:none; }   /* reads down, then across */
  #page > header .mq-panel__list li,
  #aspnetForm > header .mq-panel__list li{ break-inside:avoid; margin:0 0 2px; padding:0; }
  #page > header .mq-panel a,
  #aspnetForm > header .mq-panel a{
    display:block; min-height:0; padding:9px 12px; border-radius:8px;
    color:#4a1d12; text-decoration:none; white-space:normal;
    font:600 16.5px/1.25 "Source Sans Pro",system-ui,sans-serif;
  }
  #page > header .mq-panel a:hover,
  #aspnetForm > header .mq-panel a:hover{ background:#f5ece5; color:#853824; }
  #page > header .mq-panel a:focus-visible,
  #aspnetForm > header .mq-panel a:focus-visible{ outline:2px solid #ec6f20; outline-offset:1px; }
  #page > header .mq-panel a.mq-panel__all,
  #aspnetForm > header .mq-panel a.mq-panel__all{
    margin:6px 0 0; padding-top:12px; border-top:1px solid #efe6e1; border-radius:0 0 8px 8px;
    color:#853824; font-weight:700;
  }
}

/* ——— compact bar: under 900px ——— */
@media (max-width:899.98px){
  #page > header .header-tools.desktop-view,
  #aspnetForm > header .header-tools.desktop-view{ display:none !important; }
  #page > header .header-tools.mobile-view,
  #aspnetForm > header .header-tools.mobile-view{ display:flex !important; align-items:center; gap:2px; padding:0 6px 0 4px; }
  #page > header .header-tools.mobile-view::before,
  #aspnetForm > header .header-tools.mobile-view::before,
  #page > header .header-tools.mobile-view::after,
  #aspnetForm > header .header-tools.mobile-view::after{ display:none; }
  #page > header .header-tools.mobile-view > .col-xs-3,
  #aspnetForm > header .header-tools.mobile-view > .col-xs-3{ float:none; flex:0 0 auto; width:auto; min-height:0; padding:0; line-height:normal; }
  #page > header .mobile-menu-open,
  #aspnetForm > header .mobile-menu-open{
    display:flex; align-items:center; gap:9px; height:44px; padding:0 12px;
    border-radius:8px; cursor:pointer; color:#fbf3ea;
  }
  #page > header .mobile-menu-open:hover,
  #aspnetForm > header .mobile-menu-open:hover{ background:rgba(255,255,255,.14); }
  #page > header .mobile-menu-open:focus-visible,
  #aspnetForm > header .mobile-menu-open:focus-visible{ outline:2px solid #fff; outline-offset:1px; }
  #page > header .mobile-menu-open .fa,
  #aspnetForm > header .mobile-menu-open .fa{ display:block; padding:0; font-size:21px; }
  #page > header .mobile-menu-open > div.subtitle,
  #aspnetForm > header .mobile-menu-open > div.subtitle{
    font:600 16.5px/1 "Source Sans Pro",system-ui,sans-serif; text-transform:none; letter-spacing:0;
  }
  #page > header .mq-spacer,
  #aspnetForm > header .mq-spacer{ flex:1 1 auto; }
  /* phones: the menu button keeps its icon and drops the word, leaving the middle of the bar for the logo */
  @media (max-width:479.98px){
    #page > header .mobile-menu-open,
    #aspnetForm > header .mobile-menu-open{ padding:0 10px; }
    #page > header .mobile-menu-open > div.subtitle,
    #aspnetForm > header .mobile-menu-open > div.subtitle{ display:none; }
  }
  /* the logo sits in the middle of the bar: menu and search on its left, account and cart on its right */
  #page > header .header-tools.mobile-view .mq-logo,
  #aspnetForm > header .header-tools.mobile-view .mq-logo{
    position:absolute; left:50%; top:50%; width:112px; height:34px; margin:0;
    transform:translate(-50%,-50%) translateY(5px);
    transition:opacity .25s ease, transform .3s ease, visibility 0s linear .3s;
  }
  html.mq-past-hero #page > header .header-tools.mobile-view .mq-logo,
  html.mq-past-hero #aspnetForm > header .header-tools.mobile-view .mq-logo{
    width:112px; margin:0; transform:translate(-50%,-50%);
    transition:opacity .25s ease .05s, transform .3s ease, visibility 0s;
  }
  #page > header .header-tools.mobile-view .mq-logo img,
  #aspnetForm > header .header-tools.mobile-view .mq-logo img{ height:40px; }
  #page > header .header-tools.mobile-view .mq-logo--custom img,
  #aspnetForm > header .header-tools.mobile-view .mq-logo--custom img{ width:112px; height:34px; object-position:center; }
  /* search opens as a strip under the bar */
  #page > header .header-tools.mobile-view > .search-col,
  #aspnetForm > header .header-tools.mobile-view > .search-col{
    display:none; position:absolute; top:100%; left:0; right:0; float:none; width:auto;
    min-height:0; padding:10px 12px; line-height:normal; border:0;
    background:#6d2c1b; box-shadow:0 8px 18px rgba(40,15,8,.28);
  }
  html.mq-search-open #page > header .header-tools.mobile-view > .search-col,
  html.mq-search-open #aspnetForm > header .header-tools.mobile-view > .search-col{ display:block; }
  #page > header .header-tools.mobile-view .searchControl,
  #aspnetForm > header .header-tools.mobile-view .searchControl{ height:44px; }

  /* slide-out menu: one tidy list, categories first */
  #mobile-menu-container.blackout{ padding:0; background:rgba(30,12,6,.5); }
  #mobile-menu-container .mobile-menu{
    display:flex !important; flex-direction:column;
    width:min(340px,86vw); height:100%; max-height:100%; overflow-y:auto;
    background:#fffdfb; box-shadow:8px 0 30px rgba(30,12,6,.3);
  }
  #mobile-menu-container .mobile-menu > *{ flex:0 0 auto; }
  #mobile-menu-container .mobile-menu > .close-button{ order:0; padding:8px 8px 0; text-align:right; }
  #mobile-menu-container .mobile-menu > .mobile-menu-heading{ order:1; }
  #mobile-menu-container .mobile-menu > .categories-placeholder{ order:2; }
  #mobile-menu-container .mobile-menu > .flexnav:nth-child(4){ order:3; }    /* All / Favourite / New / Featured */
  #mobile-menu-container .mobile-menu > .flexnav:nth-child(2){ order:4; }    /* Deliveries, Careers, My Account */
  #mobile-menu-container .close-button > div{
    display:inline-flex; align-items:center; gap:8px; padding:10px 12px;
    background:none; border-radius:8px; cursor:pointer;
    color:#853824; text-transform:capitalize; letter-spacing:0;
    font:600 16.5px/1 "Source Sans Pro",system-ui,sans-serif;
  }
  #mobile-menu-container .close-button > div .fa{ color:inherit; font-size:18px; }
  #mobile-menu-container .mobile-menu-heading{
    padding:6px 18px 8px; background:none; text-align:left; color:#853824;
    font:700 20px/1.2 "Source Sans Pro",system-ui,sans-serif;
  }
  #mobile-menu-container .mobile-menu .menu a,
  #mobile-menu-container .flexnav li a,
  #mobile-menu-container .flexnav li .a{
    min-height:0; padding:14px 56px 14px 18px; letter-spacing:0;
    border-bottom:1px solid #f1e8e2; color:#3a2a22;
    font:600 17px/1.3 "Source Sans Pro",system-ui,sans-serif;
  }
  #mobile-menu-container .flexnav li ul li a{ padding-left:34px; font-weight:400; color:#4a3a32; }
  #mobile-menu-container .flexnav .touch-button{ width:52px; height:50px; background:none; }
  #mobile-menu-container .flexnav .touch-button .navicon{ top:17px; }
  #mobile-menu-container .flexnav .glyphicon{ color:#853824; }
  #mobile-menu-container .flexnav li.selected > a{ background:#f5ece5; color:#853824; }
  #mobile-menu-container .mobile-menu > .flexnav:nth-child(4){ margin-top:10px; border-top:8px solid #f7f1ec; }
  #mobile-menu-container .mobile-menu > .flexnav:nth-child(2){ border-top:8px solid #f7f1ec; }
  /* repeats of what the bar and the category list already offer */
  #mobile-menu-container li.menu-item-55,
  #mobile-menu-container li.menu-item-343,
  #mobile-menu-container li.menu-item-741,
  #mobile-menu-container li.menu-item-19,
  #mobile-menu-container li.menu-item-20{ display:none; }
}

@media (prefers-reduced-motion:reduce){
  #page > header .header-tools,
  #aspnetForm > header .header-tools,
  #page > header .mq-logo,
  #aspnetForm > header .mq-logo{ transition:none !important; }
}

/* ═══════════ ANNOUNCEMENT BAR (the strip under the navbar) ═══════════
   Stays under the navbar while the page scrolls. The ✕ hides it for that visitor for two weeks,
   or until the wording changes. The wording is set in WordPress under "Munro's Options". */
.mq-promo{
  position:fixed; top:60px; left:0; right:0; z-index:985;
  display:flex; align-items:center; justify-content:center;
  min-height:38px; padding:7px 48px; box-sizing:border-box;
  background:#f6efe6; color:#6d2c1b; border-bottom:1px solid #e3d5cd;
  font:600 15.5px/1.3 "Source Sans Pro",system-ui,sans-serif; text-align:center; letter-spacing:0;
}
body.admin-bar .mq-promo{ top:92px; }
@media (max-width:782px){ body.admin-bar .mq-promo{ top:106px; } }
.mq-promo .mq-promo__text{ color:inherit; text-decoration:none; }
.mq-promo a.mq-promo__text:hover{ color:#853824; text-decoration:underline; text-underline-offset:3px; }
.mq-promo a.mq-promo__text:focus-visible{ outline:2px solid #ec6f20; outline-offset:3px; border-radius:3px; }
.mq-promo button.mq-promo__close{
  position:absolute; top:50%; right:6px; transform:translateY(-50%);
  display:grid; place-items:center; width:34px; height:34px; padding:0; margin:0;
  background:none; border:0; border-radius:50%; cursor:pointer;
  color:#6d2c1b; font-size:17px; line-height:1;
}
.mq-promo button.mq-promo__close:hover{ background:#eadccf; }
.mq-promo button.mq-promo__close:focus-visible{ outline:2px solid #ec6f20; outline-offset:1px; }
html.mq-promo-off .mq-promo{ display:none; }
@media (max-width:699.98px){ .mq-promo{ font-size:14.5px; padding:6px 42px; } }

/* ═══════════ FOOTER ═══════════
   A slim bar that stays at the bottom of the screen (stores, delivery check, social links).
   At the end of the page it settles into place as the full footer; the button on the bar
   opens and closes the full footer anywhere else. The script is near the bottom of the page.
   All of the wording is set in WordPress under "Munro's Options". */
#page > footer,
#aspnetForm > footer{ display:none; }   /* the theme's own footer: this one replaces it */

.mq-foot-space{ position:relative; clear:both; }  /* holds the footer's place at the end of the page */
.mq-foot{
  --bar:64px;
  position:relative; margin:0; box-sizing:border-box;
  background:#853824; color:#f3e7dc;
  font:400 15.5px/1.45 "Source Sans Pro",system-ui,sans-serif; text-align:left; letter-spacing:0;
}
.mq-foot svg{ display:block; flex:0 0 auto; }
.mq-foot__bar{ height:var(--bar); background:#853824; }
.mq-foot__bar-in{
  display:flex; align-items:center; gap:14px; height:100%;
  max-width:1218px; margin:0 auto; padding:0 15px; box-sizing:border-box;
}

/* the bar while it floats: the short version */
.mq-foot__quick{ display:none; flex:1 1 auto; min-width:0; align-items:center; gap:26px; }
html.mq-foot-float:not(.mq-foot-open) .mq-foot__quick{ display:flex; }
html.mq-foot-float:not(.mq-foot-open) .mq-foot__brand{ display:none; }
.mq-foot__q-store{ display:flex; flex-direction:column; justify-content:center; min-width:0; }
.mq-foot a.mq-foot__q-call{
  display:inline-flex; align-items:center; gap:7px; box-sizing:border-box;
  color:#fff; font-weight:600; white-space:nowrap; text-decoration:none;
}
.mq-foot a.mq-foot__q-call:hover .mq-foot__q-phone{ text-decoration:underline; text-underline-offset:3px; }
.mq-foot a.mq-foot__q-call:focus-visible{ outline:2px solid #fff; outline-offset:3px; border-radius:6px; }
.mq-foot__q-name{ font-weight:700; }
/* wide screens show each store's number, and the link rings it ("Call" is there for screen readers).
   Narrower screens show a "Contact" button instead, which opens the footer at that store. */
.mq-foot__q-verb{ position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.mq-foot__q-verb--contact{ display:none; }
.mq-foot__q-hours{ margin-top:1px; font-size:13.5px; line-height:1.3; color:rgba(251,243,234,.8); white-space:nowrap; }
.mq-foot__q-check{ display:flex; align-items:center; gap:10px; margin-left:auto; }
.mq-foot label.mq-foot__q-label{ margin:0; max-width:none; font-weight:600; color:#fff; white-space:nowrap; }
.mq-foot__q-truck{ display:none; color:#fbf3ea; }      /* stands in for the "Home delivery" label on medium screens */
.mq-foot button.mq-foot__q-delivery{
  display:none; place-items:center; flex:0 0 auto; width:38px; height:38px; padding:0; margin:0;
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.24); border-radius:8px;
  color:#fff; cursor:pointer;
}

/* postcode box + button (used on the bar and in the open footer) */
.mq-check{ display:flex; align-items:stretch; gap:6px; margin:0; padding:0; }
.mq-foot input.mq-check__input{
  display:block; float:none; width:122px; min-width:0; height:40px; margin:0; padding:0 12px; box-sizing:border-box;
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.32); border-radius:8px; box-shadow:none;
  color:#fff; font:400 16px/1.2 "Source Sans Pro",system-ui,sans-serif;
}
.mq-foot input.mq-check__input::placeholder{ color:rgba(255,255,255,.82); opacity:1; }
.mq-foot input.mq-check__input:focus{ background:rgba(255,255,255,.22); border-color:#fff; outline:none; }
.mq-foot button.mq-check__btn{
  flex:0 0 auto; height:40px; margin:0; padding:0 16px;
  background:#fbf3ea; color:#6d2c1b; border:0; border-radius:8px; cursor:pointer;
  font:700 15.5px/1 "Source Sans Pro",system-ui,sans-serif; text-transform:none; letter-spacing:0;
}
.mq-foot button.mq-check__btn:hover{ background:#fff; }
.mq-foot button:focus-visible{ outline:2px solid #fff; outline-offset:2px; }

/* the bar when the footer is open: the shop's name */
.mq-foot__brand{ flex:1 1 auto; min-width:0; display:flex; flex-wrap:wrap; align-items:baseline; gap:0 14px; }
.mq-foot__brand-name{ font:700 20px/1.25 "Source Sans Pro",system-ui,sans-serif; color:#fff; }
.mq-foot__brand-tag{ font-size:15px; color:rgba(251,243,234,.82); }

.mq-foot__social{ display:flex; flex:0 0 auto; gap:2px; }
.mq-foot__social a{
  display:grid; place-items:center; width:40px; height:40px; border-radius:8px;
  color:#fbf3ea; text-decoration:none;
}
.mq-foot__social a:hover{ background:rgba(255,255,255,.14); color:#fff; }
.mq-foot__social a:focus-visible{ outline:2px solid #fff; outline-offset:1px; }
.mq-foot button.mq-foot__toggle{
  display:none; flex:0 0 auto; align-items:center; gap:6px; height:40px; margin:0; padding:0 11px 0 14px;
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.26); border-radius:8px; cursor:pointer;
  color:#fff; font:600 15.5px/1 "Source Sans Pro",system-ui,sans-serif; text-transform:none; letter-spacing:0;
}
html.mq-foot-float .mq-foot button.mq-foot__toggle{ display:inline-flex; }
.mq-foot button.mq-foot__toggle:hover{ background:rgba(255,255,255,.2); }
.mq-foot__toggle svg{ transition:transform .25s ease; }
html.mq-foot-open .mq-foot__toggle svg{ transform:rotate(180deg); }

/* floating at the bottom of the screen */
html.mq-foot-float .mq-foot{
  position:fixed; left:0; right:0; bottom:0; z-index:980;
  padding-bottom:env(safe-area-inset-bottom, 0px);
  box-shadow:0 -6px 18px rgba(40,15,8,.28);
}
/* opened by hand: it may grow as far as the navbar and announcement bar, then scrolls inside */
/* (the same limits hold while it folds away again, so it never jumps to full height on the way down) */
html.mq-foot-float.mq-foot-open .mq-foot,
html.mq-foot-float.mq-foot-closing .mq-foot{
  max-height:calc(100vh - 70px - var(--mq-promo-h, 0px)); max-height:calc(100dvh - 70px - var(--mq-promo-h, 0px));
  overflow-y:auto; overscroll-behavior:contain;
}
html.mq-foot-float.mq-foot-open body.admin-bar .mq-foot,
html.mq-foot-float.mq-foot-closing body.admin-bar .mq-foot{ max-height:calc(100dvh - 116px - var(--mq-promo-h, 0px)); }
html.mq-foot-float.mq-foot-closing .mq-foot{ overflow-y:hidden; }
html.mq-foot-float.mq-foot-open .mq-foot__bar,
html.mq-foot-float.mq-foot-closing .mq-foot__bar{ position:sticky; top:0; z-index:2; }

/* the rest of the footer: folded away under the bar while it floats */
.mq-foot__more{ display:grid; grid-template-rows:1fr; }
.mq-foot__more-in{ min-height:0; overflow:hidden; }
html.mq-foot-float .mq-foot__more{ grid-template-rows:0fr; }
html.mq-foot-float .mq-foot__more-in{ visibility:hidden; }
html.mq-foot-float.mq-foot-open .mq-foot__more{ grid-template-rows:1fr; }
html.mq-foot-float.mq-foot-open .mq-foot__more-in{ visibility:visible; }
/* The fold is animated only when the button (or a Contact button) is used. When scrolling carries
   the footer into or out of its place at the end of the page it switches at once. */
html.mq-foot-anim .mq-foot__more{ transition:grid-template-rows .32s ease; }
html.mq-foot-anim.mq-foot-closing .mq-foot__more-in{ visibility:visible; }

.mq-foot__grid{
  display:grid; gap:24px 34px; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr);
  max-width:1218px; margin:0 auto; padding:18px 15px 24px; box-sizing:border-box;
  border-top:1px solid rgba(255,255,255,.18);
}
.mq-foot__col{ min-width:0; }
/* the store whose Contact button was pressed */
.mq-foot__col--store{ border-radius:8px; transition:background-color .35s ease, box-shadow .35s ease; }
.mq-foot__col--lit{ background:rgba(255,255,255,.13); box-shadow:0 0 0 10px rgba(255,255,255,.13); }
.mq-foot .mq-foot__h:focus{ outline:none; }
.mq-foot .mq-foot__h{
  margin:0 0 9px; padding:0; border:0; background:none;
  font:700 18px/1.25 "Source Sans Pro",system-ui,sans-serif;
  color:#fff; text-align:left; text-transform:none; letter-spacing:0;
}
.mq-foot .mq-foot__row{ display:flex; align-items:flex-start; gap:9px; margin:0 0 7px; color:#f3e7dc; text-decoration:none; }
.mq-foot .mq-foot__row svg{ margin-top:3px; opacity:.85; }
.mq-foot a.mq-foot__row:hover{ color:#fff; }
.mq-foot a.mq-foot__row:hover span{ text-decoration:underline; text-underline-offset:3px; }
.mq-foot a.mq-foot__row:focus-visible{ outline:2px solid #fff; outline-offset:2px; border-radius:4px; }
.mq-foot__row > span{ min-width:0; overflow-wrap:anywhere; }
.mq-foot__hours{ display:grid; gap:1px; flex:1 1 auto; min-width:0; max-width:232px; }
.mq-foot__hrow{ display:flex; justify-content:space-between; gap:14px; }
.mq-foot__hrow span{ white-space:nowrap; }
.mq-foot__hrow span:first-child{ color:rgba(251,243,234,.8); }
.mq-foot label.mq-foot__p{ display:block; margin:0 0 9px; max-width:none; font-weight:400; color:#f3e7dc; }
.mq-foot__col--delivery .mq-check__input{ flex:1 1 auto; width:auto; max-width:170px; }
.mq-foot button.mq-foot__link-btn{
  display:inline-block; margin:11px 0 0; padding:0; background:none; border:0; cursor:pointer;
  color:#fff; font:600 15.5px/1.3 "Source Sans Pro",system-ui,sans-serif; text-align:left;
  text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(255,255,255,.55);
}
.mq-foot button.mq-foot__link-btn:hover{ text-decoration-color:#fff; }
.mq-foot__map{ height:190px; border-radius:10px; overflow:hidden; background:#6d2c1b; color:#222; line-height:1.4; }

/* strip at the foot: email, business details, copyright */
.mq-foot__bottom{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 28px;
  max-width:1218px; margin:0 auto; padding:13px 15px 16px; box-sizing:border-box;
  border-top:1px solid rgba(255,255,255,.18);
  font-size:14.5px; line-height:1.45; color:rgba(251,243,234,.8);
}
.mq-foot a.mq-foot__mail{ display:inline-flex; align-items:center; gap:8px; color:#fff; font-weight:600; text-decoration:none; overflow-wrap:anywhere; }
.mq-foot a.mq-foot__mail:hover span{ text-decoration:underline; text-underline-offset:3px; }
.mq-foot a.mq-foot__mail:focus-visible{ outline:2px solid #fff; outline-offset:3px; border-radius:4px; }
.mq-foot p.mq-foot__legal{ display:flex; flex-wrap:wrap; justify-content:flex-end; gap:0 9px; margin:0; }
.mq-foot__legal span + span::before{ content:'·'; margin-right:9px; }
.mq-foot p.mq-foot__copy{ flex:1 0 100%; margin:2px 0 0; text-align:center; }

/* medium screens: each store becomes a "Contact" button that opens the footer at that store */
@media (max-width:1099.98px){
  .mq-foot{ --bar:58px; }
  .mq-foot__quick{ gap:8px; }
  .mq-foot__q-phone, .mq-foot__q-hours, .mq-foot label.mq-foot__q-label{ display:none; }
  .mq-foot__q-truck{ display:block; }
  .mq-foot__q-check{ gap:8px; }
  .mq-foot a.mq-foot__q-call{
    height:38px; padding:0 12px; gap:5px;
    background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.24); border-radius:8px;
  }
  .mq-foot a.mq-foot__q-call:hover{ background:rgba(255,255,255,.2); }
  .mq-foot a.mq-foot__q-call svg{ display:none; }
  .mq-foot__q-verb--call{ display:none; }
  .mq-foot__q-verb--contact{
    display:inline; position:static; width:auto; height:auto; margin:0; clip:auto; overflow:visible;
    font-weight:400; color:rgba(251,243,234,.9);
  }
  .mq-foot__grid{ grid-auto-flow:row; grid-template-columns:repeat(2,minmax(0,1fr)); }
}
/* less room: "Contact" sits above the store's name */
@media (max-width:899.98px){
  .mq-foot__q-store{ flex:0 1 auto; }
  .mq-foot a.mq-foot__q-call{
    flex-direction:column; align-items:flex-start; justify-content:center; gap:0;
    max-width:100%; overflow:hidden; font-size:15px; line-height:1.15;
  }
  .mq-foot__q-verb--contact{ font-size:11.5px; line-height:1.15; color:rgba(251,243,234,.85); }
  .mq-foot__q-name{ max-width:100%; overflow:hidden; text-overflow:ellipsis; }
}
/* phones: the postcode box moves into the open footer; a delivery button opens it */
@media (max-width:699.98px){
  .mq-foot{ --bar:54px; font-size:15px; }
  .mq-foot__bar-in{ gap:5px; padding:0 8px; }
  .mq-foot__quick{ gap:5px; }
  .mq-foot a.mq-foot__q-call{ padding:0 10px; font-size:14.5px; }
  .mq-foot__q-check{ display:none; }
  .mq-foot button.mq-foot__q-delivery{ display:grid; }
  .mq-foot__social{ margin-left:auto; gap:0; }
  .mq-foot__social a{ width:35px; height:38px; }
  .mq-foot button.mq-foot__toggle{ width:38px; height:38px; padding:0; justify-content:center; }
  .mq-foot__toggle-text{ position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
  .mq-foot__brand-name{ font-size:18px; }
  .mq-foot__brand-tag{ display:none; }
  .mq-foot__grid{ grid-template-columns:minmax(0,1fr); gap:20px; padding:16px 16px 20px; }
  .mq-foot__hours{ max-width:260px; }
  .mq-foot__bottom{ flex-direction:column; align-items:flex-start; gap:8px; padding:14px 16px 18px; }
  .mq-foot p.mq-foot__legal{ display:block; }
  .mq-foot__legal span{ display:block; }
  .mq-foot__legal span + span::before{ content:none; }
  .mq-foot p.mq-foot__copy{ flex:0 0 auto; text-align:left; }
}
@media (max-width:389.98px){
  .mq-foot__bar-in, .mq-foot__quick{ gap:4px; }
  .mq-foot a.mq-foot__q-call{ padding:0 8px; }
}
@media (max-width:369.98px){
  .mq-foot__bar-in{ gap:3px; padding:0 5px; }
  .mq-foot__quick{ gap:3px; }
  .mq-foot a.mq-foot__q-call{ padding:0 6px; font-size:13.5px; }
  .mq-foot__social a{ width:30px; }
  .mq-foot button.mq-foot__toggle, .mq-foot button.mq-foot__q-delivery{ width:35px; }
}
/* the shop pages' "back to top" button keeps clear of the bar */
#backTop{ bottom:calc(40px + var(--mq-foot-bar, 0px)) !important; }
html.mq-foot-open #backTop{ display:none !important; }
@media (prefers-reduced-motion:reduce){
  .mq-foot__more, .mq-foot__more-in, .mq-foot__toggle svg, .mq-foot__col--store{ transition:none !important; }
}

/* ——— POP-UPS (delivery result, delivery suburbs) ——— */
.delivery-modal{position:fixed;inset:0;display:grid;place-items:center;
  background:rgba(0,0,0,.7);visibility:hidden;opacity:0;
  transition:opacity .25s ease;z-index:9999;}
.delivery-modal--show{visibility:visible;opacity:1;}

.modal__content{
  width:90vw;max-width:480px;box-sizing:border-box;
  max-height:calc(100vh - 32px);overflow:auto;
  background:#fffdfb;text-align:center;
  padding:46px clamp(20px,5vw,36px) 32px;position:relative;
  border-radius:14px;border-top:6px solid #853824;
  box-shadow:0 24px 60px rgba(30,12,6,.35);
}
.modal__close{
  position:absolute;top:6px;right:6px;
  width:40px;height:40px;padding:0;
  display:grid;place-items:center;
  background:none;border:0;border-radius:50%;
  font-size:20px;line-height:1;color:#6a5a54;cursor:pointer;
}
.modal__close:hover{background:#f3ebe6;color:#853824;}
.modal__close:focus-visible{outline:2px solid #ec6f20;outline-offset:2px;}
.modal__content .modal__heading{
  margin:0 0 12px;padding:0;
  font:700 clamp(26px,6.4vw,32px)/1.15 "Source Sans Pro",system-ui,sans-serif;
  color:#853824;text-align:center;text-transform:none;
}
.modal__content .modal__subheading{
  margin:0 auto 24px;max-width:34ch;
  font:400 clamp(15px,3.8vw,17px)/1.5 "Source Sans Pro",system-ui,sans-serif;
  color:#3a3a3a;text-transform:none;letter-spacing:0;
}
.modal__content .modal__cta{
  display:inline-block;padding:14px 26px;
  font:700 16.5px/1.1 "Source Sans Pro",system-ui,sans-serif;
  background:#853824;color:#fff;border:0;border-radius:8px;cursor:pointer;
  text-decoration:none;text-transform:none;
}
.modal__content .modal__cta:hover{background:#6d2c1b;color:#fff;opacity:1;}

.suburb-list{
  list-style:none;
  padding:0;
  margin:1rem 0 0;
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  justify-content:center;
  font-weight:600;
}
.suburb-list li{
  background:#f7f3ef;
  border:1px solid #e3d5cd;
  color:#6d2c1b;
  padding:.3rem .75rem;
  border-radius:999px;
  font-size:clamp(13px,1.5vw,15px);
  line-height:1.2;
  text-shadow:none;
}
.modal__content--wide{ max-width:640px; }
.modal__content .modal__heading--suburbs{ font:700 clamp(26px,4.2vw,32px)/1.1 "Source Sans Pro",system-ui,sans-serif; color:#853824; margin:0 0 6px; }
.modal__note{ margin:0 0 1.25rem; color:#4a4a4a; font-size:15px; }
