/* Al-Hazima widget internals. Layout and spacing stay in Elementor. */

/* ---- cart icon ---- */
/* Hello's reset uses [type="button"] (class-level specificity) and loads later,
   so these need the element qualifier to win the cascade. */
button.alhz-cart-ico,button.alhz-cart-ico:hover,button.alhz-cart-ico:focus{position:relative;display:flex;align-items:center;background:none;background-color:transparent;border:0;border-radius:0;box-shadow:none;padding:0;margin:0;cursor:pointer;line-height:0;color:inherit}
button.alhz-cart-ico svg{width:26px;height:26px}
.alhz-cart-badge{position:absolute;top:-8px;right:-9px;background:#F3C014;color:#20180C;font-family:'Mulish',sans-serif;font-size:11px;font-weight:800;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}
.alhz-cart-badge[hidden]{display:none}

/* ---- burger + drawer ---- */
button.alhz-burger,button.alhz-burger:hover,button.alhz-burger:focus{width:44px;height:44px;border:1.5px solid #e3ddcc;box-shadow:none;border-radius:9px;background:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0}
button.alhz-burger span{width:20px;height:2px;background:#20180C;display:block;transition:transform .2s ease,opacity .2s ease}
button.alhz-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
button.alhz-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
button.alhz-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* Fixed, not absolute: the burger sits inside its own Elementor container,
   which is position:relative, so an absolute drawer was being clipped to a
   44px-wide box at the right edge. JS anchors this under the header. */
.alhz-drawer{position:fixed;left:0;right:0;top:0;z-index:45;background:#fff;border-bottom:1px solid #f0ece0;padding:10px 5vw 18px;box-shadow:0 14px 30px rgba(0,0,0,.14);overflow-y:auto;-webkit-overflow-scrolling:touch}
.alhz-drawer[hidden]{display:none}
.alhz-drawer-inner{display:flex;flex-direction:column;gap:2px}
.alhz-drawer-link{padding:13px 6px;font-family:'Mulish',sans-serif;font-weight:700;font-size:16px;color:#20180C;cursor:pointer;border-bottom:1px solid #f5f1e6;text-decoration:none}
.alhz-drawer-link:last-of-type{border-bottom:none}
.alhz-drawer a.alhz-drawer-link.is-current,
.alhz-drawer a.alhz-drawer-link.is-current:link,
.alhz-drawer a.alhz-drawer-link.is-current:visited{color:#0A6B26}
.alhz-drawer-scrim{position:fixed;inset:0;z-index:44;background:rgba(20,12,4,.42)}
.alhz-drawer-scrim[hidden]{display:none}
.alhz-drawer-cta{margin-top:12px;background:#F3C014;color:#20180C;border:none;border-radius:8px;padding:14px;font-family:'Mulish',sans-serif;font-weight:800;font-size:15px;cursor:pointer;text-align:center;text-decoration:none}
@media(max-width:560px){.alhz-drawer{padding-left:18px;padding-right:18px}}

/* ============ menu browser ============ */
.alhz-menu{--alhz-accent:#0A6B26;--alhz-highlight:#F3C014;font-family:'Mulish',sans-serif}

.alhz-menubar{position:sticky;top:0;z-index:20;background:#FBF6EA;border-bottom:1px solid #ece6d4;box-shadow:0 4px 16px rgba(0,0,0,.05)}
.alhz-menubar-top{max-width:none;margin:0;padding:10px 5vw 0;display:flex;gap:6px;overflow-x:auto;border-bottom:1px solid #f0e9d6;align-items:center}
.alhz-search{position:relative;flex:0 0 auto;margin-bottom:8px}
.alhz-menu .alhz-search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:15px;height:15px;pointer-events:none;z-index:1}
/* Hello's reset styles input[type=search] at the same specificity and loads
   later, so this needs the extra qualifiers to keep the icon clear of the text. */
.alhz-menu .alhz-search input[type="search"]{width:190px;max-width:100%;box-sizing:border-box;border:1.5px solid #e9e2cf;border-radius:999px;padding:9px 14px 9px 36px;margin:0;font-size:13.5px;font-family:'Mulish',sans-serif;background:#fff;color:#20180C;outline:none;-webkit-appearance:none;appearance:none;transition:none}
.alhz-menu .alhz-search input[type="search"]::-webkit-search-cancel-button{margin-left:4px}
.alhz-menu .alhz-search input[type="search"]:focus{border-color:var(--alhz-accent)}

button.alhz-cuisine-tab{flex:0 0 auto;cursor:pointer;border:none;border-radius:8px;padding:10px 18px;font-family:'Mulish',sans-serif;font-weight:800;font-size:13.5px;letter-spacing:.3px;white-space:nowrap;background:transparent;color:#5f5848}
button.alhz-cuisine-tab.is-on{background:#06401A;color:var(--alhz-highlight)}

.alhz-menubar-cats{max-width:none;margin:0;display:flex;align-items:center;gap:8px;padding:10px 5vw 12px}
button.alhz-barbtn{flex:0 0 auto;width:38px;height:38px;border-radius:50%;border:1.5px solid #e9e2cf;background:#fff;cursor:pointer;font-size:18px;color:var(--alhz-accent);display:flex;align-items:center;justify-content:center;padding:0}
.alhz-catbar{flex:1;display:flex;gap:10px;overflow-x:auto;padding:4px 2px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}
.alhz-catbar::-webkit-scrollbar{height:0}
button.alhz-cat{flex:0 0 auto;cursor:pointer;border:1.5px solid #e9e2cf;background:#fff;color:#4a4233;border-radius:999px;padding:11px 20px;font-family:'Mulish',sans-serif;font-weight:700;font-size:14px;white-space:nowrap}
button.alhz-cat.is-on{background:var(--alhz-accent);border-color:var(--alhz-accent);color:#fff}
button.alhz-cat[hidden]{display:none}

.alhz-sections{padding:10px 5vw 80px}
/* Full width, matching the header and footer gutter. */
.alhz-sections-inner{max-width:none;margin:0}
.alhz-cuisine[hidden]{display:none}
.alhz-section{padding-top:42px;scroll-margin-top:130px}
.alhz-section[hidden]{display:none}
.alhz-grouphead{display:flex;align-items:center;gap:16px;margin:18px 0 30px}
.alhz-grouphead h2{font-family:'Playfair Display',serif;font-weight:800;font-size:clamp(26px,3.2vw,38px);color:var(--alhz-accent);margin:0;white-space:nowrap;text-transform:uppercase;letter-spacing:1px}
.alhz-grouphead span{flex:1;height:2px;background:linear-gradient(90deg,var(--alhz-highlight),rgba(243,192,20,0))}
.alhz-groupdesc{color:#6E6552;font-size:16px;margin:-16px 0 26px}
.alhz-sechead{margin-bottom:22px}
.alhz-sechead h2{font-family:'Playfair Display',serif;font-weight:800;font-size:30px;color:#20180C;margin:0 0 6px}
.alhz-note{color:#8a7f66;font-size:14px;margin:0;font-style:italic}
/* Full width, matching the rest of the menu now that the page is not capped. */
.alhz-callout{background:#fff;border:1.5px solid #ece6d4;border-left:5px solid var(--alhz-highlight);border-radius:12px;padding:18px 24px;margin-bottom:22px;max-width:none}
.alhz-callout-head{display:flex;align-items:center;gap:12px;margin-bottom:8px;font-family:'Playfair Display',serif;font-weight:800;font-size:18px;color:var(--alhz-accent);text-transform:uppercase;letter-spacing:1px}
.alhz-callout-head span{width:9px;height:9px;border-radius:50%;background:var(--alhz-highlight);flex:0 0 auto}
.alhz-callout p{color:#5f5848;font-size:14.5px;line-height:1.6;margin:0}

.alhz-rows{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(440px,100%),1fr));gap:16px;align-items:stretch}
.alhz-row{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 6px 18px rgba(0,0,0,.05);cursor:pointer;display:flex;align-items:stretch;border:1px solid #f1ecdd;min-height:108px;transition:box-shadow .18s ease}
.alhz-row:hover,.alhz-row:focus-visible{box-shadow:0 12px 28px rgba(0,0,0,.11);outline:none}
.alhz-row[hidden]{display:none}
.alhz-row-text{flex:1;min-width:0;padding:15px 18px;display:flex;flex-direction:column;justify-content:center}
.alhz-row-title{display:flex;gap:7px;align-items:baseline;margin-bottom:3px}
.alhz-code{font-size:11px;font-weight:800;color:#C99A06;letter-spacing:.5px;flex:0 0 auto}
.alhz-row-text h3{font-family:'Playfair Display',serif;font-weight:700;font-size:17px;color:#20180C;margin:0;line-height:1.25;text-wrap:balance}
.alhz-row-text p{color:#7a7059;font-size:13px;line-height:1.45;margin:2px 0 0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.alhz-choose{font-size:12px;color:var(--alhz-accent);font-weight:700;margin-top:6px}
.alhz-row-price{flex:0 0 auto;padding:15px 18px;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:9px;border-left:1px solid #f5f1e6}
.alhz-price{text-align:right;line-height:1.05}
.alhz-from{font-size:10px;font-weight:800;color:#9a8f78;text-transform:uppercase;letter-spacing:.6px;margin-bottom:1px}
.alhz-amount{font-family:'Playfair Display',serif;font-weight:800;font-size:19px;color:var(--alhz-accent);white-space:nowrap}
.alhz-amount .woocommerce-Price-amount{font-family:'Playfair Display',serif}
button.alhz-add{background:var(--alhz-highlight);color:#20180C;border:none;border-radius:8px;padding:9px 16px;font-weight:800;font-size:13px;cursor:pointer;font-family:'Mulish',sans-serif;white-space:nowrap}
.alhz-noresults{text-align:center;color:#8a7f66;padding:48px 0;font-size:15px}

/* ============ quick-view modal ============ */
.alhz-modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px}
.alhz-modal[hidden]{display:none}
.alhz-modal-scrim{position:absolute;inset:0;background:rgba(20,12,4,.55)}
.alhz-modal-box{position:relative;background:#fff;border-radius:18px;width:100%;max-width:860px;max-height:90vh;overflow:auto;display:grid;grid-template-columns:1fr;animation:alhz-pop .25s ease}
.alhz-modal-box.no-img{grid-template-columns:1fr}
@keyframes alhz-pop{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
@keyframes alhz-fade{from{opacity:0}to{opacity:1}}
@keyframes alhz-slidein{from{transform:translateX(100%)}to{transform:translateX(0)}}
button.alhz-modal-x{position:absolute;top:16px;right:16px;z-index:2;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.92);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.15);font-size:20px;color:#20180C;padding:0}
.alhz-modal-pane{padding:34px 32px}
.alhz-modal-code{font-size:12px;font-weight:800;letter-spacing:1.5px;color:#C99A06;margin-bottom:8px}
.alhz-modal-pane h2{font-family:'Playfair Display',serif;font-weight:800;font-size:28px;color:#20180C;margin:0 0 6px}
.alhz-modal-price{font-family:'Playfair Display',serif;font-weight:800;font-size:24px;color:#0A6B26;margin-bottom:14px}
.alhz-modal-desc{color:#6E6552;font-size:15px;line-height:1.6;margin:0 0 22px}
.alhz-group{margin-bottom:20px}
.alhz-group-title{font-weight:800;font-size:14px;color:#20180C;margin-bottom:10px}
.alhz-group-title em{font-weight:600;color:#9a8f78;font-style:normal}
.alhz-chips{display:flex;gap:8px;flex-wrap:wrap}
button.alhz-chip{border:1.5px solid #e3ddcc;background:#fff;color:#6E6552;border-radius:9px;padding:10px 16px;font-family:'Mulish',sans-serif;font-weight:700;font-size:13.5px;cursor:pointer}
button.alhz-chip.is-on{border-color:#0A6B26;background:#f3f9f3;color:#0A6B26;font-weight:800}
.alhz-addons{display:flex;flex-direction:column;gap:8px}
.alhz-addon{display:flex;align-items:center;justify-content:space-between;border:1.5px solid #e3ddcc;border-radius:10px;padding:11px 14px;cursor:pointer;background:#fff}
.alhz-addon.is-on{border-color:#0A6B26;background:#f3f9f3}
.alhz-addon-left{display:flex;align-items:center;gap:10px}
.alhz-tick{width:20px;height:20px;border-radius:5px;border:1.5px solid #cfc7b0;display:flex;align-items:center;justify-content:center;font-size:13px;color:#fff;background:#fff}
.alhz-addon.is-on .alhz-tick{background:#0A6B26;border-color:#0A6B26}
.alhz-addon-label{font-weight:700;font-size:14px;color:#20180C}
.alhz-addon-price{font-weight:800;font-size:14px;color:#0A6B26;white-space:nowrap}
.alhz-note-field{width:100%;border:1.5px solid #e3ddcc;border-radius:10px;padding:12px 14px;font-size:14px;font-family:'Mulish',sans-serif;resize:vertical;min-height:64px;color:#20180C}
.alhz-modal-foot{display:flex;align-items:center;gap:16px;margin-top:8px}
.alhz-qtybox{display:flex;align-items:center;border:1.5px solid #e3ddcc;border-radius:10px;overflow:hidden}
.alhz-qtybox button{width:42px;height:46px;border:none;background:#FBF6EA;font-size:20px;cursor:pointer;color:#20180C;border-radius:0;padding:0}
.alhz-qtybox span{width:46px;text-align:center;font-weight:800;font-size:17px}
button.alhz-addcart{flex:1;background:#0A6B26;color:#fff;border:none;border-radius:10px;padding:15px;font-weight:800;font-size:15px;cursor:pointer;font-family:'Mulish',sans-serif}

/* ============ cart drawer ============ */
.alhz-cart{position:fixed;inset:0;z-index:55}
.alhz-cart[hidden]{display:none}
.alhz-cart-scrim{position:absolute;inset:0;background:rgba(20,12,4,.5);animation:alhz-fade .2s ease}
.alhz-drawer-panel{position:absolute;top:0;right:0;bottom:0;z-index:56;width:420px;max-width:92vw;background:#fff;box-shadow:-10px 0 40px rgba(0,0,0,.2);display:flex;flex-direction:column;animation:alhz-slidein .28s ease}
.alhz-cart-head{padding:22px 24px;border-bottom:1px solid #f0ece0;display:flex;justify-content:space-between;align-items:center}
.alhz-cart-head h2{font-family:'Playfair Display',serif;font-weight:800;font-size:22px;color:#20180C;margin:0}
button.alhz-cart-x{background:none;border:none;cursor:pointer;font-size:26px;color:#6E6552;line-height:1;padding:0}
.alhz-cart-body{flex:1;display:flex;flex-direction:column;overflow:hidden}
.alhz-cart-lines{flex:1;overflow:auto;padding:8px 0}
.alhz-cart-line{display:flex;gap:14px;padding:16px 24px;border-bottom:1px solid #f5f1e6}
.alhz-cart-linemain{flex:1}
.alhz-cart-name{font-weight:800;font-size:15px;color:#20180C}
.alhz-cart-opts{font-size:13px;color:#6E6552;margin-top:2px}
.alhz-cart-qtyrow{display:flex;align-items:center;gap:10px;margin-top:10px}
.alhz-qty{display:flex;align-items:center;border:1.5px solid #e3ddcc;border-radius:8px;overflow:hidden}
.alhz-qty button{width:30px;height:32px;border:none;background:#FBF6EA;font-size:17px;cursor:pointer;color:#20180C;border-radius:0;padding:0}
.alhz-qty span{width:32px;text-align:center;font-weight:700;font-size:14px}
button.alhz-remove{background:none;border:none;color:#b04a32;font-size:13px;font-weight:700;cursor:pointer;padding:0}
.alhz-cart-linetotal{font-weight:800;font-size:15px;color:#0A6B26}
.alhz-cart-foot{border-top:1px solid #f0ece0;padding:20px 24px}
.alhz-cart-row{display:flex;justify-content:space-between;font-size:15px;color:#6E6552;margin-bottom:6px}
.alhz-cart-row strong{color:#20180C}
.alhz-cart-muted{font-size:13px;color:#9a8f78;margin-bottom:16px}
.alhz-checkout{display:block;width:100%;background:#0A6B26;color:#fff;border:none;border-radius:10px;padding:15px;font-weight:800;font-size:15px;cursor:pointer;font-family:'Mulish',sans-serif;text-align:center;text-decoration:none}
.alhz-cart-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center;color:#6E6552}
.alhz-cart-emoji{font-size:46px;margin-bottom:10px}
.alhz-cart-emptytitle{font-weight:700;color:#20180C;margin-bottom:6px}
.alhz-cart-emptycopy{font-size:14px;margin-bottom:20px}
.alhz-cart-browse{background:#F3C014;color:#20180C;border-radius:8px;padding:13px 26px;font-weight:800;text-decoration:none}

/* ============ responsive, mirroring the design's own breakpoints ============ */
@media(max-width:900px){
  button.alhz-cuisine-tab{min-height:44px;padding-top:11px;padding-bottom:11px}
  button.alhz-barbtn{width:44px;height:44px}
  button.alhz-cat{min-height:44px;padding-top:12px;padding-bottom:12px}
  button.alhz-add{min-height:44px;padding-left:20px;padding-right:20px}
}
@media(max-width:620px){
  .alhz-sections{padding:10px 18px 64px}
  .alhz-menubar-top{padding-left:18px;padding-right:18px}
  .alhz-menubar-cats{padding-left:18px;padding-right:18px}
  .alhz-row{flex-wrap:wrap}
  .alhz-row-text{flex:1 1 0%;padding:13px 14px}
  .alhz-row-price{flex:1 0 100%;flex-direction:row;align-items:center;justify-content:space-between;border-left:none;border-top:1px solid #f5f1e6;padding:10px 14px}
  .alhz-sechead h2{font-size:24px}
  .alhz-modal-pane{padding:24px 20px}
}


/* The utility bar's social line only fits once there is real room for it;
   below this the bar would wrap onto two lines. */
@media (max-width:1299px){
  .alhz-util-socials{display:none !important}
}

/* ============ WooCommerce notices & buttons in the site palette ============ */
.woocommerce-info,
.woocommerce-message,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments{
  background:#fff;border:1px solid #ece6d4;border-top:3px solid var(--alhz-accent,#0A6B26);
  border-radius:12px;color:#5f5848;font-family:'Mulish',sans-serif;font-size:15px;
  padding:18px 22px 18px 46px;position:relative;list-style:none
}
.woocommerce-error{border-top-color:#b04a32;color:#8c3a26}
.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before{color:var(--alhz-accent,#0A6B26);left:20px;top:18px}
.woocommerce-error::before{color:#b04a32}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt{
  background:#0A6B26;color:#fff;border:none;border-radius:10px;
  font-family:'Mulish',sans-serif;font-weight:800;font-size:15px;padding:14px 28px;
  text-transform:none;line-height:1.2
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover{background:#06401A;color:#fff}

.woocommerce .cart .button,
.woocommerce .cart input.button{background:#F3C014;color:#20180C}
.woocommerce .cart .button:hover,
.woocommerce .cart input.button:hover{background:#E6B400;color:#20180C}

/* Catering hero scrim. Holds solid behind the copy, then releases across the
   buffet — a longer, later fade than the original so the transition doesn't
   muddy against the green wall in the photograph. */
.alhz-catering-scrim::before{
  background-image:linear-gradient(95deg,
    #06401A 0%,
    #06401A 40%,
    rgba(6,64,26,.92) 52%,
    rgba(6,64,26,.55) 66%,
    rgba(6,64,26,.15) 82%,
    rgba(6,64,26,0) 100%) !important;
  opacity:1 !important;
}

/* On phones the band is narrow and the text runs the full width, so the
   sideways fade would drop copy onto the buffet. Fade top-to-bottom instead:
   solid behind the headline, easing off over the food at the base. */
@media(max-width:767px){
  .alhz-catering-scrim::before{
    background-image:linear-gradient(180deg,
      #06401A 0%,
      rgba(6,64,26,.95) 46%,
      rgba(6,64,26,.86) 72%,
      rgba(6,64,26,.72) 100%) !important;
  }
}

/* Footer contact rows: collapse the icon's line box so the text, not the icon,
   sets the row height — keeps this column on the same rhythm as the link lists. */
.alhz-foot-contact .elementor-widget-icon .elementor-icon-wrapper,
.alhz-foot-contact .elementor-widget-icon .elementor-icon{line-height:1;display:block}
.alhz-foot-contact .elementor-widget-icon svg{display:block}

/* A flex item will not shrink below its content's intrinsic width without
   min-width:0, so long hint lines were spilling out of the contact card. */
.alhz-detail-row > .e-con{min-width:0}
.alhz-detail-row .elementor-widget-text-editor,
.alhz-detail-row .elementor-widget-heading{min-width:0;overflow-wrap:anywhere}


/* These buttons are anchors, and the kit's global link colour
   (.elementor-kit-N a) outranks a bare class — so the label was rendering
   green on green until hover. Qualify the selectors to win the cascade. */
.alhz-cart a.alhz-checkout,
.alhz-cart a.alhz-checkout:link,
.alhz-cart a.alhz-checkout:visited,
.alhz-cart a.alhz-checkout:hover,
.alhz-cart a.alhz-checkout:focus{color:#fff;background:#0A6B26;text-decoration:none}
.alhz-cart a.alhz-checkout:hover{background:#06401A;color:#fff}

.alhz-cart a.alhz-cart-browse,
.alhz-cart a.alhz-cart-browse:link,
.alhz-cart a.alhz-cart-browse:visited,
.alhz-cart a.alhz-cart-browse:hover,
.alhz-cart a.alhz-cart-browse:focus{color:#20180C;background:#F3C014;text-decoration:none}
.alhz-cart a.alhz-cart-browse:hover{background:#E6B400;color:#20180C}

.alhz-drawer a.alhz-drawer-cta,
.alhz-drawer a.alhz-drawer-cta:link,
.alhz-drawer a.alhz-drawer-cta:visited,
.alhz-drawer a.alhz-drawer-cta:hover,
.alhz-drawer a.alhz-drawer-cta:focus{color:#20180C;background:#F3C014;text-decoration:none}
.alhz-drawer a.alhz-drawer-link,
.alhz-drawer a.alhz-drawer-link:link,
.alhz-drawer a.alhz-drawer-link:visited{color:#20180C;text-decoration:none}

/* ============ Checkout: palette over Woo/Elementor defaults ============ */
.woocommerce #place_order,
.woocommerce button#place_order,
.woocommerce-checkout button#place_order,
.woocommerce #payment #place_order{
  background:#0A6B26;color:#fff;border:none;border-radius:10px;
  font-family:'Mulish',sans-serif;font-weight:800;font-size:16px;
  padding:16px 28px;width:100%;text-transform:none;line-height:1.2
}
.woocommerce #place_order:hover,
.woocommerce button#place_order:hover,
.woocommerce #payment #place_order:hover{background:#06401A;color:#fff}

/* Links inside the Woo templates pick up a default blue */
.woocommerce a.showcoupon,
.woocommerce-checkout a.showcoupon,
.woocommerce-info a,
.woocommerce-message a,
.woocommerce-privacy-policy-text a,
.woocommerce form .woocommerce-privacy-policy-text a,
.woocommerce-terms-and-conditions-wrapper a{color:#0A6B26;text-decoration:underline}
.woocommerce a.showcoupon:hover,
.woocommerce-privacy-policy-text a:hover{color:#06401A}

/* Payment method list */
.woocommerce #payment ul.payment_methods{border-bottom:1px solid #ece6d4;padding:14px 16px}
.woocommerce #payment ul.payment_methods li{list-style:none;margin-bottom:8px}
.woocommerce #payment ul.payment_methods label{font-family:'Mulish',sans-serif;font-weight:700;color:#20180C}
.woocommerce #payment div.payment_box{background:#FBF6EA;color:#5f5848;font-size:14px;border-radius:10px}
.woocommerce #payment div.payment_box::before{border-bottom-color:#FBF6EA}
.woocommerce #payment{background:transparent}
.woocommerce-checkout #payment{background:#fff;border:1px solid #ece6d4;border-radius:12px}

/* ============ back to top ============ */
button.alhz-totop{position:fixed;right:20px;bottom:22px;z-index:45;width:52px;height:52px;border-radius:50%;
  border:none;background:#0A6B26;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.28);
  display:flex;align-items:center;justify-content:center;padding:0;animation:alhz-fade .2s ease}
button.alhz-totop[hidden]{display:none}
button.alhz-totop:hover{background:#08551E}
button.alhz-totop svg{stroke:#F3C014}
@media(max-width:900px){
  button.alhz-totop{width:48px;height:48px;right:14px;bottom:84px}
}

/* ============ first-visit popup ============ */
.alhz-welcome{position:fixed;inset:0;z-index:65;display:flex;align-items:center;justify-content:center;padding:20px}
.alhz-welcome[hidden]{display:none}
.alhz-welcome-scrim{position:absolute;inset:0;background:rgba(20,12,4,.55);animation:alhz-fade .2s ease}
.alhz-welcome-box{position:relative;background:#fff;border-radius:18px;width:100%;max-width:440px;overflow:hidden;
  animation:alhz-pop .25s ease;max-height:90vh;overflow-y:auto}
button.alhz-welcome-x{position:absolute;top:14px;right:16px;z-index:2;background:none;border:none;
  cursor:pointer;font-size:24px;color:#fff;line-height:1;padding:0}
.alhz-welcome-head{background:#0A6B26;padding:28px 32px;text-align:center}
.alhz-welcome-head img{width:64px;height:64px;object-fit:contain;margin:0 auto 10px;display:block}
.alhz-welcome-title{font-family:'Playfair Display',serif;font-weight:800;font-size:22px;color:#fff}
.alhz-welcome-body{padding:28px 32px;text-align:center}
.alhz-welcome-intro{color:#5f5848;font-size:16px;line-height:1.6;margin:0 0 16px;font-family:'Mulish',sans-serif}
.alhz-welcome a.alhz-welcome-phone{display:flex;align-items:center;justify-content:center;gap:10px;background:#0A6B26;
  border-radius:10px;padding:14px;font-family:'Playfair Display',serif;font-weight:800;font-size:20px;
  color:#fff;text-decoration:none;margin-bottom:14px}
.alhz-welcome a.alhz-welcome-phone:hover{background:#06401A;color:#fff}
.alhz-welcome-note{font-size:12.5px;color:#9a8f78;margin-bottom:14px;font-family:'Mulish',sans-serif;line-height:1.5}
.alhz-welcome-wa{display:flex;flex-direction:column;gap:10px;margin-bottom:22px}
.alhz-welcome a.alhz-welcome-wa-line,
.alhz-welcome-wa a{display:flex;align-items:center;justify-content:center;gap:10px;background:#FBF6EA;
  border:1.5px solid #ece6d4;border-radius:10px;padding:13px;font-family:'Playfair Display',serif;
  font-weight:800;font-size:19px;color:#0A6B26;text-decoration:none}
.alhz-welcome-wa a:hover{background:#f5efdf;color:#06401A}
button.alhz-welcome-go{width:100%;background:#F3C014;color:#20180C;border:none;border-radius:10px;padding:14px;
  font-weight:800;font-size:15px;cursor:pointer;font-family:'Mulish',sans-serif}
button.alhz-welcome-go:hover{background:#E6B400}
@media(max-width:620px){
  .alhz-welcome-head,.alhz-welcome-body{padding-left:22px;padding-right:22px}
}

/* ============ order received ============ */
.alhz-thanks{font-family:'Mulish',sans-serif}
.alhz-thanks-card{max-width:680px;margin:0 auto;background:#fff;border-radius:18px;
  box-shadow:0 16px 44px rgba(0,0,0,.10);overflow:hidden}
.alhz-thanks-head{background:#0A6B26;padding:44px 32px;text-align:center;color:#fff}
.alhz-thanks-tick{width:78px;height:78px;border-radius:50%;background:rgba(255,255,255,.15);
  display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:40px;
  border:2px solid rgba(255,255,255,.4);color:#fff;line-height:1}
.alhz-thanks-head h1{font-family:'Playfair Display',serif;font-weight:800;font-size:30px;margin:0 0 8px;color:#fff}
.alhz-thanks-head p{color:rgba(255,255,255,.88);font-size:16px;margin:0}
.alhz-thanks-body{padding:32px}
.alhz-thanks-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;background:#FBF6EA;
  border:1px solid #ece6d4;border-radius:12px;padding:16px 20px;margin-bottom:24px}
.alhz-thanks-label{font-size:12px;color:#9a8f78;font-weight:700;text-transform:uppercase;letter-spacing:1px}
.alhz-thanks-num{font-family:'Playfair Display',serif;font-weight:800;font-size:19px;color:#0A6B26}
.alhz-thanks-val{font-weight:700;font-size:15px;color:#20180C}
.alhz-thanks-title{font-weight:800;font-size:15px;color:#20180C;margin-bottom:12px}
.alhz-thanks-items{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}
.alhz-thanks-item{display:flex;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid #f5f1e6}
.alhz-thanks-qty{font-weight:800;color:#0A6B26}
.alhz-thanks-name{font-weight:700;color:#20180C}
.alhz-thanks-opts{font-size:13px;color:#6E6552;margin-top:2px}
.alhz-thanks-line{font-weight:700;color:#20180C;white-space:nowrap}
.alhz-thanks-row{display:flex;justify-content:space-between;font-size:14.5px;color:#6E6552;margin-bottom:5px}
.alhz-thanks-row strong{color:#20180C}
.alhz-thanks-total{border-top:1px solid #f0ece0;padding-top:12px;display:flex;justify-content:space-between;
  font-size:19px;margin:10px 0 22px}
.alhz-thanks-total span:first-child{font-weight:700;color:#20180C}
.alhz-thanks-grand{font-family:'Playfair Display',serif;font-weight:800;color:#0A6B26}
.alhz-thanks-mode{background:#FBF6EA;border:1px solid #ece6d4;border-radius:12px;padding:16px 20px;margin-bottom:24px}
.alhz-thanks-addr{font-size:14.5px;color:#20180C;line-height:1.5;margin-top:6px}
.alhz-thanks-addr p{margin:0}
.alhz-thanks-zone{font-size:13.5px;color:#6E6552;margin-top:4px}
.alhz-thanks-actions{display:flex;gap:12px;flex-wrap:wrap}
.alhz-thanks a.alhz-thanks-primary,
.alhz-thanks a.alhz-thanks-primary:hover{flex:1;min-width:160px;background:#0A6B26;color:#fff;border:none;
  border-radius:10px;padding:15px;font-weight:800;font-size:15px;text-align:center;text-decoration:none}
.alhz-thanks a.alhz-thanks-primary:hover{background:#06401A}
.alhz-thanks a.alhz-thanks-ghost,
.alhz-thanks a.alhz-thanks-ghost:hover{flex:1;min-width:160px;background:transparent;border:1.6px solid #0A6B26;
  color:#0A6B26;border-radius:10px;padding:14px;font-weight:700;font-size:15px;text-align:center;text-decoration:none}
.alhz-thanks a.alhz-thanks-ghost:hover{background:#f3f9f3}
.alhz-thanks-help{text-align:center;font-size:13px;color:#9a8f78;margin-top:18px}
.alhz-thanks-help strong{color:#0A6B26}
@media(max-width:620px){
  .alhz-thanks-head{padding:32px 20px}
  .alhz-thanks-body{padding:22px 20px}
  .alhz-thanks-meta{gap:14px}
}

/* ============ checkout ============ */
/* Named apart from the cart drawer's .alhz-checkout button, whose block
   rules were painting this form green and centring every label. */
.alhz-checkout-form{font-family:'Mulish',sans-serif}
/* Elementor's checkout widget owns the wrappers, so the two cards are built
   on its classes: column-start is the form, column-inner the summary side. */
.alhz-checkout-form .e-checkout__container{display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:start}
.alhz-checkout-form .e-checkout__column-start,
.alhz-checkout-form .e-checkout__column-inner{background:#fff;border-radius:16px;box-shadow:0 10px 26px rgba(0,0,0,.06)}
.alhz-checkout-form .e-checkout__column-start{padding:32px}
.alhz-checkout-form .e-checkout__column-inner{padding:28px}
.alhz-checkout-form .e-checkout__order_review,
.alhz-checkout-form .e-checkout__order_review-2{background:transparent;border:none;padding:0;margin:0}
.alhz-co-title{font-family:'Playfair Display',serif;font-weight:800;font-size:21px;color:#20180C;margin:0 0 20px}
.alhz-checkout-form .e-checkout__column-end .alhz-co-title{font-size:20px;margin-bottom:16px}
.alhz-co-title-pay{margin:22px 0 14px}

.alhz-mode{display:flex;gap:10px;margin-bottom:22px}
button.alhz-mode-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;
  border-radius:10px;padding:14px;font-weight:700;font-size:14px;font-family:'Mulish',sans-serif;
  border:1.5px solid #e3ddcc;background:#fff;color:#6E6552}
button.alhz-mode-btn.is-on{border:2px solid #0A6B26;background:#f3f9f3;color:#0A6B26;font-weight:800}

.alhz-co-fields .woocommerce-billing-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.alhz-co-fields .form-row{margin:0;padding:0;width:auto}
.alhz-co-fields .alhz-col-full{grid-column:1 / -1}
.alhz-co-fields .alhz-col-postal{grid-column:1 / -1;max-width:240px}
.alhz-co-fields .alhz-hidden{display:none}
.alhz-checkout-form label{font-size:13px;font-weight:700;color:#20180C;display:block;margin-bottom:6px}
.alhz-checkout-form label .required{color:#b04a32;text-decoration:none}
.alhz-checkout-form .woocommerce-input-wrapper{width:100%}
.alhz-checkout-form input.input-text,
.alhz-checkout-form textarea{width:100%;border:1.5px solid #e3ddcc;border-radius:9px;padding:12px;
  font-size:14px;font-family:'Mulish',sans-serif;color:#20180C;background:#fff;box-sizing:border-box}
.alhz-checkout-form textarea{min-height:70px;resize:vertical}
.alhz-checkout-form input.input-text:focus,.alhz-checkout-form textarea:focus{border-color:#0A6B26;outline:none}
.alhz-checkout-form [data-alhz-postal]{max-width:240px;letter-spacing:2px;font-weight:700;font-size:15px}
/* WooCommerce hides field hints until focus and paints them as a blue
   tooltip; the design shows plain grey helper text under the label. Its
   rule is four classes deep, hence the matching depth here. */
.woocommerce .alhz-checkout-form .form-row .woocommerce-input-wrapper .description{
  display:block;position:static;background:none;color:#9a8f78;
  border-radius:0;padding:0;margin:4px 0 0;font-size:12.5px;font-weight:500;line-height:1.45
}
.woocommerce .alhz-checkout-form .form-row .woocommerce-input-wrapper .description::before,
.woocommerce .alhz-checkout-form .form-row .woocommerce-input-wrapper .description::after{display:none}
.alhz-co-notes{margin-top:14px}
.alhz-co-notes .form-row{margin:0;padding:0}

.alhz-zone{border-radius:9px;padding:10px 12px;font-size:13px;font-weight:700;margin-top:12px;line-height:1.45}
.alhz-zone[hidden]{display:none}
.alhz-zone-ok{background:#f3f9f3;border:1px solid #cfe6d3;color:#0A6B26}
.alhz-zone-wait{background:#FBF6EA;border:1px solid #ece6d4;color:#8a7f66}
.alhz-zone-bad{background:#fdeee9;border:1px solid #f3cdbf;color:#b04a32}

.alhz-summary-items{display:flex;flex-direction:column;gap:12px;margin-bottom:18px;max-height:300px;overflow:auto}
.alhz-summary-item{display:flex;justify-content:space-between;gap:12px;font-size:14px}
.alhz-summary-qty{font-weight:800;color:#0A6B26}
.alhz-summary-name{color:#20180C}
.alhz-summary-opts{font-size:12px;color:#6E6552;margin-top:2px}
.alhz-summary-line{font-weight:700;color:#20180C;white-space:nowrap}
.alhz-summary-row{display:flex;justify-content:space-between;font-size:15px;color:#6E6552;margin-bottom:6px}
.alhz-summary-row strong{font-weight:700;color:#20180C}
.alhz-summary-sub{border-top:1px solid #f0ece0;padding-top:14px}
.alhz-summary-total{border-top:1px solid #f0ece0;padding-top:14px;display:flex;justify-content:space-between;
  font-size:18px;margin:6px 0 18px}
.alhz-summary-total span:first-child{font-weight:700;color:#20180C}
.alhz-summary-grand{font-family:'Playfair Display',serif;font-weight:800;color:#0A6B26}
.alhz-summary-grand .woocommerce-Price-amount{font-family:'Playfair Display',serif}
.alhz-summary-note{text-align:center;font-size:12px;color:#9a8f78;margin-top:12px}

.woocommerce .alhz-checkout-form #payment{background:transparent;border:none;padding:0}
.alhz-checkout-form ul.payment_methods{border:none;padding:0;margin:0 0 14px;list-style:none}
.alhz-checkout-form ul.payment_methods li{list-style:none;margin:0 0 8px;border:1.5px solid #e3ddcc;background:#fff;
  border-radius:10px;padding:12px 14px}
.alhz-checkout-form ul.payment_methods li:has(input:checked){border:2px solid #0A6B26;background:#f3f9f3}
.alhz-checkout-form ul.payment_methods label{font-weight:700;font-size:14px;color:#20180C;display:inline;margin:0}
.alhz-checkout-form .payment_box{background:transparent;padding:6px 0 0;margin:0;font-size:12px;color:#6E6552}
.alhz-checkout-form .payment_box::before{display:none}
.woocommerce .alhz-checkout-form button#place_order,
.woocommerce .alhz-checkout-form button.alhz-place-order{width:100%;background:#F3C014;color:#20180C;border:none;
  border-radius:10px;padding:16px;font-weight:800;font-size:15px;font-family:'Mulish',sans-serif;line-height:1.2}
.woocommerce .alhz-checkout-form button#place_order:hover{background:#E6B400;color:#20180C}
.alhz-place-total .woocommerce-Price-amount{font-weight:800}

/* Elementor's widget paints its own bordered panels and a blue submit button
   through per-widget CSS vars, which outrank plain class rules here. */
.elementor-widget-woocommerce-checkout-page .alhz-checkout-form .e-checkout__order_review,
.elementor-widget-woocommerce-checkout-page .alhz-checkout-form .e-checkout__order_review-2,
.elementor-widget-woocommerce-checkout-page .alhz-checkout-form .woocommerce-additional-fields,
.elementor-widget-woocommerce-checkout-page .alhz-checkout-form .woocommerce-billing-fields,
.elementor-widget-woocommerce-checkout-page .alhz-checkout-form #payment{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
}
.elementor-widget-woocommerce-checkout-page .alhz-checkout-form button#place_order,
.woocommerce .alhz-checkout-form button#place_order{
  background:#F3C014 !important;
  background-color:#F3C014 !important;
  color:#20180C !important;
  border:none !important;
  border-radius:10px !important;
}
.elementor-widget-woocommerce-checkout-page .alhz-checkout-form button#place_order:hover,
.elementor-widget-woocommerce-checkout-page .alhz-checkout-form button#place_order:focus{
  background:#E6B400 !important;color:#20180C !important;
}
/* "Delivery details" already titles this column. */
.alhz-checkout-form .woocommerce-billing-fields > h3{display:none}
.alhz-checkout-form .woocommerce-additional-fields > h3{display:none}

@media(max-width:900px){
  .alhz-checkout-form .e-checkout__container{grid-template-columns:1fr}
}
@media(max-width:620px){
  .alhz-checkout-form .e-checkout__column-start,
  .alhz-checkout-form .e-checkout__column-inner{padding:22px 18px}
  .alhz-co-fields .woocommerce-billing-fields__field-wrapper{grid-template-columns:1fr}
  .alhz-co-fields .alhz-col-postal{max-width:none}
}

/* ============ hover states ============
   Hello Elementor's reset sets button:hover/:focus to #c36 (magenta). Every
   control below therefore needs its own hover, element-qualified so it wins. */

button.alhz-cuisine-tab:hover,
button.alhz-cuisine-tab:focus{background:#f3f9f3;color:var(--alhz-accent,#0A6B26)}
button.alhz-cuisine-tab.is-on:hover,
button.alhz-cuisine-tab.is-on:focus{background:#06401A;color:var(--alhz-highlight,#F3C014)}

button.alhz-cat:hover,
button.alhz-cat:focus{background:#FBF6EA;border-color:var(--alhz-accent,#0A6B26);color:var(--alhz-accent,#0A6B26)}
button.alhz-cat.is-on:hover,
button.alhz-cat.is-on:focus{background:#06401A;border-color:#06401A;color:#fff}

button.alhz-barbtn:hover,
button.alhz-barbtn:focus{background:#FBF6EA;border-color:var(--alhz-accent,#0A6B26);color:var(--alhz-accent,#0A6B26)}

button.alhz-add:hover,
button.alhz-add:focus{background:#E6B400;color:#20180C}

button.alhz-chip:hover,
button.alhz-chip:focus{background:#FBF6EA;border-color:#0A6B26;color:#0A6B26}
button.alhz-chip.is-on:hover,
button.alhz-chip.is-on:focus{background:#f3f9f3;border-color:#0A6B26;color:#0A6B26}

button.alhz-addcart:hover,
button.alhz-addcart:focus{background:#06401A;color:#fff}

.alhz-qtybox button:hover,.alhz-qtybox button:focus,
.alhz-qty button:hover,.alhz-qty button:focus{background:#f3efe1;color:#20180C}

button.alhz-modal-x:hover,button.alhz-modal-x:focus,
button.alhz-cart-x:hover,button.alhz-cart-x:focus,
button.alhz-welcome-x:hover,button.alhz-welcome-x:focus{background:rgba(0,0,0,.06);color:#20180C}
button.alhz-welcome-x:hover,button.alhz-welcome-x:focus{background:rgba(255,255,255,.18);color:#fff}

button.alhz-remove:hover,
button.alhz-remove:focus{background:none;color:#8c3a26;text-decoration:underline}

button.alhz-mode-btn:hover,
button.alhz-mode-btn:focus{background:#FBF6EA;border-color:#0A6B26;color:#0A6B26}
button.alhz-mode-btn.is-on:hover,
button.alhz-mode-btn.is-on:focus{background:#f3f9f3;border-color:#0A6B26;color:#0A6B26}

button.alhz-cart-ico:hover,button.alhz-cart-ico:focus{background:none;background-color:transparent}
button.alhz-burger:hover,button.alhz-burger:focus{background:#FBF6EA;border-color:#0A6B26}
button.alhz-totop:focus{background:#08551E}
button.alhz-welcome-go:focus{background:#E6B400;color:#20180C}

/* ============ header nav active state ============
   Design: inactive #2a2113 / 600 with a transparent rule; current page turns
   green, goes to 800 and the rule under it becomes solid. */
/* Elementor writes per-widget colour at four classes deep, so the active state
   has to override it outright. */
.elementor .alhz-nav-current .elementor-heading-title,
.elementor .alhz-nav-current .elementor-heading-title a{color:#0A6B26 !important;font-weight:800 !important}
.elementor .elementor-element.alhz-nav-current{border-bottom-color:#0A6B26 !important}
.alhz-nav-link .elementor-heading-title a:hover,
.alhz-nav-link:hover .elementor-heading-title{color:#0A6B26}

/* "View Cart · N" keeps the yellow CTA styling but behaves as a button. */
.elementor-button[data-alhz-open-cart]{cursor:pointer}

/* Inline icons sitting beside a label: collapse the icon's line box so the
   glyph centres on the text rather than riding above it. */
.alhz-inline-icon .elementor-icon-wrapper,
.alhz-inline-icon .elementor-icon{line-height:1;display:flex;align-items:center;justify-content:center}
.alhz-inline-icon svg{display:block}
.alhz-inline-icon{display:flex;align-items:center}

/* ============ footer on phones ============
   Stacked one-per-row the footer ran to ~700px. Pair the two link lists,
   rule the blocks off from each other, and tighten the rhythm. Desktop and
   tablet keep the five- and three-column grids Elementor sets. */
@media(max-width:767px){
  .alhz-foot-grid{
    grid-template-columns:repeat(2,1fr) !important;
    column-gap:22px !important;
    row-gap:0 !important;
  }
  .alhz-foot-brand,.alhz-foot-wide{grid-column:1 / -1}
  /* The two link lists share a row, so the rule above them belongs to the
     brand block — one continuous line rather than two stubs with a gap. */
  .alhz-foot-brand{
    padding-bottom:24px;
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  .alhz-foot-col{padding-top:18px;margin-bottom:18px}
  .alhz-foot-wide{
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.12);
    margin-bottom:18px;
  }
  .alhz-foot-wide:last-child{margin-bottom:2px}
  /* Pair the contact rows only where both actually fit. Measured intrinsic
     widths are phone 134px, hours 189px, email 193px, address 216px, so a
     fixed 2x2 wrapped the long ones under their icons on a 375px screen.
     auto-fit with a 220px floor gives two columns on wide phones and one
     clean column below that. */
  .alhz-foot-contact-col .alhz-foot-contact{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    column-gap:14px;
    row-gap:8px;
  }
  .alhz-foot-contact-col .alhz-foot-contact > .e-con{width:auto}
  .alhz-foot-contact-col .alhz-foot-contact .elementor-heading-title{font-size:13px}
  .alhz-foot-social .elementor-social-icons-wrapper{justify-content:flex-start}
}
/* Below ~380px two columns get too tight; fall back to one. */
@media(max-width:379px){
  .alhz-foot-grid{grid-template-columns:1fr !important}
}

/* ============ top bar on phones ============
   Each strip must stay on one line; on a 375px screen the first group was
   breaking after "Islandwide Delivery Available" and stranding its pipe. */
@media(max-width:767px){
  .alhz-topbar{flex-wrap:wrap;row-gap:2px;max-width:100%}
  .alhz-top-grp{flex-wrap:nowrap;white-space:nowrap}
}
/* Under ~480px the delivery note can no longer share a line, so it and its
   separator go rather than wrap and strand the pipe. */
@media(max-width:480px){
  .alhz-top-ship,.alhz-top-sep{display:none !important}
}

/* ============ policy lists ============
   Elementor centres the bullet against the whole item, so on a phone a
   two-line point put its dot halfway down. Anchor it to the first line.
   Icon lists are used only on the Privacy and Refunds pages. */
.elementor-widget-icon-list .elementor-icon-list-item{align-items:flex-start}
.elementor-widget-icon-list .elementor-icon-list-icon{margin-top:.45em}

/* ============ phone-only trims ============ */
@media(max-width:767px){
  /* The 1px rules either side of a catering section label wrap onto their own
     full-width lines on a phone, which reads as stray rules. */
  .alhz-rule{display:none !important}

  /* Storefront caption: on a narrow screen the heading, address and button
     need so much height that any scrim over the photo swallows the shopfront.
     Drop the caption out of the overlay and sit it under the image instead —
     the card's radius and overflow keep the two reading as one piece. */
  .alhz-store-cap{
    --position:static;
    position:static !important;
    background-image:none !important;
    background-color:#06401A !important;
    padding-top:18px !important;
  }
  .alhz-store-cap .elementor-widget-heading:nth-child(2) .elementor-heading-title{font-size:13px;line-height:1.4}
}

/* ============ contact quick-contact cards on phones ============
   Elementor gives container children full width at the mobile breakpoint, so
   each card broke into four stacked lines — icon, label, number, chevron —
   and the four cards ran to ~600px. Keep them as single rows. */
@media(max-width:767px){
  .alhz-quickcards > .e-con{flex-wrap:nowrap;align-items:center;gap:14px}
  .alhz-quickcards > .e-con > .elementor-widget-icon{width:auto;flex:0 0 auto}
  .alhz-quickcards > .e-con > .e-con{width:auto;flex:1 1 auto;min-width:0}
  .alhz-quickcards > .e-con > .elementor-widget-heading{width:auto;flex:0 0 auto;margin-left:auto}
}

/* The order-received endpoint renders the Checkout page, so a placed order was
   still headed "Checkout · Almost there. Enter your details below." The
   thank-you card has its own heading. */
body.woocommerce-order-received .alhz-co-hero{display:none}

/* ============ footer height on phones ============
   Second pass: the block rhythm, the brand mark and the social row were all
   sized for the desktop five-column footer, which made the stacked version
   run long. Everything here is phone-only. */
@media(max-width:767px){
  .alhz-foot-root{padding-top:28px !important;padding-bottom:12px !important}
  .alhz-foot-grid{padding-bottom:14px !important}

  .alhz-foot-brand{padding-bottom:14px}
  /* Elementor sizes the mark through a per-element custom property. */
  .alhz-foot-brand .elementor-widget-image{--container-widget-width:44px;width:44px !important}
  .alhz-foot-brand .elementor-widget-image .elementor-widget-container,
  .alhz-foot-brand .elementor-widget-image img{width:44px !important;height:44px !important}
  .alhz-foot-brand .elementor-widget-text-editor p{line-height:1.5;margin:0}
  .alhz-foot-col,.alhz-foot-wide{padding-top:14px;margin-bottom:14px}

  /* Section labels ("Quick Links", "Contact", …) carry a 16px gap meant for
     the roomier desktop columns. */
  .alhz-foot-col > .elementor-widget-heading:first-child,
  .alhz-foot-contact-col > .elementor-widget-heading:first-child,
  .alhz-foot-social > .elementor-widget-heading:first-child{margin-bottom:9px !important}

  .alhz-foot-col > .e-con{gap:6px}
  .alhz-foot-contact-col .alhz-foot-contact{row-gap:7px}

  /* Label, icons and handle on one line instead of three stacked rows. */
  .alhz-foot-social{
    --flex-direction:row;
    --flex-wrap:wrap;
    --align-items:center;
    --justify-content:flex-start;
    flex-direction:row !important;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-start;
    column-gap:14px;
    row-gap:6px;
  }
  .alhz-foot-social > .elementor-widget{width:auto;flex:0 0 auto}
  .alhz-foot-social > .elementor-widget-heading:first-child{margin-bottom:0 !important}
}

/* ============ contact page: one action block, not three ============
   The phone appears five times on this page and each WhatsApp line three
   times. On a phone the quick-contact strip is the first of those copies and
   costs ~390px before anything new is said, so it goes; the "Get in touch"
   card immediately below carries the same details with more context and its
   rows are now tappable in its place. */
@media(max-width:767px){
  .alhz-quickband{display:none !important}

  /* Same reasoning for the urgent band's second and third pills: both
     WhatsApp lines are already tappable in "Get in touch" just above, so
     this band keeps one call action instead of repeating all three. */
  .alhz-urgent-alt{display:none !important}
  .alhz-urgent-main{width:100%}
}
/* Rows render as anchors so they can be tapped; they must not pick up the
   kit's link colour or underline. */
a.alhz-detail-row,
a.alhz-detail-row:link,
a.alhz-detail-row:visited,
a.alhz-detail-row:hover,
a.alhz-detail-row:focus{color:inherit;text-decoration:none}

/* Two-line blocks that used to be one paragraph with a <br>. Split into real
   paragraphs so no markup lives in the editor; the zeroed margin keeps the
   pair sitting exactly where the line break put them. */
.alhz-lines p{margin:0}
/* Elementor gives container children full width at the mobile breakpoint,
   which dropped the address under its icon. */
.alhz-foot-addr{width:auto;flex:1 1 auto;min-width:0}

/* ============ cart table ============
   The design's cart carries no dish photos and 439 of the 482 dishes have no
   image, so the thumbnail column only ever held an empty box. */
.woocommerce-cart-form .shop_table th.product-thumbnail,
.woocommerce-cart-form .shop_table td.product-thumbnail{display:none}

/* ============ cart rows on phones ============
   WooCommerce stacks each cell as its own block with 20px of padding, which
   left the remove "x" sitting alone in a 65px band above the dish. Lay the row
   out as a grid instead: name and x share the first line, the rest follow. */
@media(max-width:767px){
  .woocommerce-cart-form .shop_table tr.cart_item{
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    column-gap:12px;
    padding:14px 0;
  }
  .woocommerce-cart-form .shop_table tr.cart_item > td{
    padding:3px 0 !important;
    border:none !important;
    grid-column:1 / -1;
  }
  /* WooCommerce right-aligns every stacked cell; the dish name reads left. */
  .woocommerce-cart-form .shop_table td.product-name{
    grid-column:1;grid-row:1;
    text-align:left !important;
    min-width:0;padding-right:4px !important;
  }
  /* the dish name says what it is; the "Product:" label is noise here */
  .woocommerce-cart-form .shop_table td.product-name::before{display:none !important}
  .woocommerce-cart-form .shop_table td.product-remove{grid-column:2;grid-row:1;text-align:right}
}
