/*
 * FoodUp Ordering v0.3.2 — MOBILE APP ONLY
 * Loaded only with media="(max-width: 768px)".
 * This file is intentionally self-contained: each mobile component is defined once.
 */

:root{
  --fuo-m-gutter:15px;
  --fuo-m-page:#f4f5f7;
  --fuo-m-top-surface:#fff;
  --fuo-m-card:#fff;
  --fuo-m-text:#11151a;
  --fuo-m-muted:#727b84;
  --fuo-m-border:#d9dde1;
  --fuo-m-control:#d6dadd;
  --fuo-m-image:92px;
  --fuo-m-card-pad:12px;
  --fuo-m-card-gap:12px;
  --fuo-m-title-size:15px;
  --fuo-m-desc-size:11.5px;
}

@keyframes fuo-m-open-flash{0%,100%{background:#05694A}50%{background:#009846}}
@keyframes fuo-m-closed-flash{0%,100%{background:#E31E24}50%{background:#9C2720}}
@keyframes fuo-m-preorder-flash{0%,100%{background:#A96400}50%{background:#D98200}}

html{
  overflow-x:clip!important;
  background:var(--fuo-m-top-surface)!important;
}
body.fuo-ordering-page{
  overflow-x:clip!important;
  background:var(--fuo-m-page)!important;
}
.foodup-ordering{width:100%!important;max-width:none!important;margin:0!important;padding:0 0 138px!important;background:var(--fuo-m-page)!important;overflow:visible!important;--fuo-header-offset:0px!important}
.foodup-ordering .fuo-mobile-app-only{display:block!important}
.foodup-ordering .fuo-desktop-ordering-only,.foodup-ordering .fuo-sidebar{display:none!important}
.fuo-layout,.fuo-menu-content{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;overflow:visible!important}

/* Opening status */
.fuo-m-status-wrap{
  margin:0!important;
  padding:calc(15px + env(safe-area-inset-top)) 15px 10px!important;
  background:var(--fuo-m-top-surface)!important;
}
.fuo-m-status{height:50px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;border-radius:10px;color:#fff;font-size:13px;font-weight:750;text-align:center;white-space:nowrap;box-shadow:none}
.fuo-m-status__dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:currentColor}
.fuo-m-status.is-open{animation:fuo-m-open-flash 1s infinite}
.fuo-m-status.is-closed{animation:fuo-m-closed-flash 1s infinite}
.fuo-m-status.is-preorder{animation:fuo-m-preorder-flash 1s infinite}

/* Sticky categories */
.fuo-m-nav-slot{
  width:100%;
  height:61px!important;
  min-height:61px!important;
  max-height:61px!important;
  margin:0;
  padding:0;
  box-sizing:border-box;
}
.fuo-m-nav{
  position:sticky;
  z-index:2100;
  top:0;
  width:100%;
  height:61px;
  min-height:61px;
  max-height:61px;
  padding:0;
  box-sizing:border-box;
  border:0;
  border-bottom:1px solid #ccc;
  background:var(--fuo-m-top-surface);
  box-shadow:none;
  transition:box-shadow .26s ease;
  overflow:hidden;
}
.fuo-m-nav.is-fixed{
  position:fixed!important;
  z-index:9999;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%;
  transform:translate3d(0,0,0);
  box-shadow:0 9px 20px -12px rgba(17,24,39,.34);
}
.fuo-m-nav__track{
  display:flex;
  align-items:flex-start;
  gap:8px!important;
  column-gap:8px!important;
  width:100%;
  height:60px;
  min-height:60px;
  max-height:60px;
  margin:0;
  padding:12px 15px;
  box-sizing:border-box;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-behavior:smooth;
  scroll-padding-inline:15px;
  scrollbar-width:none;
  -ms-overflow-style:none;
  -webkit-overflow-scrolling:touch;
}
.fuo-m-nav__track::-webkit-scrollbar{display:none;width:0;height:0}
@keyframes fuo-m-nav-active-bounce{
  0%{
    transform:translate3d(0,0,0) scale(1);
  }
  24%{
    transform:translate3d(0,-5px,0) scale(1.055);
  }
  46%{
    transform:translate3d(0,1.5px,0) scale(.985);
  }
  66%{
    transform:translate3d(0,-2px,0) scale(1.022);
  }
  84%{
    transform:translate3d(0,.5px,0) scale(.997);
  }
  100%{
    transform:translate3d(0,0,0) scale(1);
  }
}

.fuo-m-nav__track{
  position:relative;
}

/*
 * v0.3.24 — intentionally simple:
 * no moving pill, no width morph, no fill/wipe.
 * The active tab just fades to orange and does one tiny spring settle.
 */
.fuo-m-nav__item{
  position:relative;
  flex:0 0 auto;
  height:36px;
  min-height:36px;
  max-height:36px;
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  border:1px solid #d6dade;
  border-radius:7px;
  background:#f2f3f4;
  color:#3f474f;
  font-size:11.5px;
  font-weight:750;
  line-height:1;
  white-space:nowrap;
  text-decoration:none;
  transform:translate3d(0,0,0) scale(1);
  transform-origin:center center;
  will-change:transform;
  transition:
    background-color .20s ease,
    border-color .20s ease,
    color .20s ease,
    transform .20s ease;
  -webkit-tap-highlight-color:transparent;
}

.fuo-m-nav__label{
  display:block;
  pointer-events:none;
}

.fuo-m-nav__item.is-active{
  border-color:var(--fuo-primary);
  background:var(--fuo-primary);
  color:#fff;
}

.fuo-m-nav__item.is-activating{
  animation:fuo-m-nav-active-bounce .46s cubic-bezier(.2,.8,.2,1) both;
  z-index:3;
}

/* Category */
.fuo-m-category-view{
  width:auto!important;
  margin:0 15px 24px!important;
  padding:0!important;
  scroll-margin-top:70px!important;
}

.fuo-m-category-cover{
  position:relative!important;
  width:100%!important;
  height:170px!important;
  min-height:170px!important;

  display:flex!important;
  align-items:flex-start!important;

  margin:15px 0 12px!important;
  padding:16px!important;

  overflow:hidden!important;

  border:0!important;
  border-radius:12px!important;

  background-color:#181a1d!important;
  background-size:cover!important;
  background-position:center center!important;

  box-shadow:none!important;
}

.fuo-m-category-cover__shade{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;

  background:linear-gradient(
    180deg,
    rgba(0,0,0,.82) 0%,
    rgba(0,0,0,.58) 22%,
    rgba(0,0,0,.28) 44%,
    rgba(0,0,0,.08) 68%,
    rgba(0,0,0,0) 100%
  )!important;
}

.fuo-m-category-cover.no-image .fuo-m-category-cover__shade{
  background:linear-gradient(135deg,#1d1f22 0%,#121416 100%)!important;
}

.fuo-m-category-cover h2{
  position:relative!important;
  z-index:1!important;

  max-width:92%!important;

  margin:0!important;

  color:#fff!important;

  font-size:27px!important;
  font-weight:700!important;
  line-height:1.05!important;
  letter-spacing:-.02em!important;
  text-transform:uppercase!important;

  text-shadow:0 1px 8px rgba(0,0,0,.58)!important;
}

/* Product list */
.fuo-m-product-list{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin:0!important;padding:0!important}

/* =========================================================
   FoodUp Ordering v0.3.4 — EXACT USER-SUPPLIED CARD GEOMETRY
   ========================================================= */


/* Container card */
.fuo-m-product-card{
  position:relative!important;

  width:100%!important;
  max-width:none!important;
  height:118px!important;
  min-height:118px!important;

  margin:0!important;
  padding:0!important;

  display:block!important;

  background:#fff!important;
  border:1px solid #E6E6E6!important;
  border-radius:16px!important;

  box-sizing:border-box!important;
  overflow:hidden!important;

  box-shadow:none!important;
  filter:none!important;
  transform:none!important;
}

/* Keep mobile cart product background aligned with mobile product cards. */
body .fuo-m-cart-drawer .fuo-cart-item{
  background:#fff;
}

/* IMAGE: very close to outer card */
.fuo-m-product-card__media{
  position:absolute!important;

  width:104px!important;
  height:auto!important;
  min-width:104px!important;
  min-height:0!important;

  display:flex!important;
  align-items:center!important;
  justify-content:center!important;

  margin:0!important;
  padding:0!important;

  background:#f7f7f8!important;
  border:1px solid #E6E6E6!important;

  overflow:hidden!important;
  box-sizing:border-box!important;
}

.fuo-m-product-card__media img{
  width:100%!important;
  height:100%!important;
  display:block!important;

  margin:0!important;
  padding:0!important;

  border:0!important;
  border-radius:10px!important;

  object-fit:cover!important;
  object-position:center!important;
}

.fuo-m-product-card__media img.is-fuo-placeholder{
  padding:0!important;
  object-fit:contain!important;
  background:transparent!important;
}

/* TEXT: more breathing room than image */
.fuo-m-product-card__body{
  position:absolute!important;

  left:var(--fuo-mobile-product-body-left,121px);
  top:13px!important;
  right:58px!important;
  bottom:14px!important;

  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;

  min-width:0!important;
  min-height:0!important;
  height:auto!important;

  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
}

.fuo-m-product-card__body h3{
  margin:0!important;
  padding:0!important;

  color:#1a1a1a!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:1.18!important;
  letter-spacing:0!important;
}

.fuo-m-product-card__body p{
  margin:4px 0 0!important;
  padding:0!important;

  display:-webkit-box!important;
  overflow:hidden!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;

  color:#6f7479!important;
  font-size:11.5px!important;
  font-weight:400!important;
  line-height:1.3!important;
}

/* Bottom row is only responsible for price placement */
.fuo-m-product-card__bottom{
  width:100%!important;
  display:block!important;

  margin-top:auto!important;
  padding:0!important;
}

/* Price */
.fuo-m-product-price,
.fuo-m-product-price .amount{
  color:#1a1a1a!important;
  font-size:14px!important;
  font-weight:850!important;
  line-height:1!important;
}

/* Mobile product action controls — one source of truth. */
.foodup-ordering .fuo-m-product-card > .fuo-m-product-action{
  position:absolute;
  right:8px;
  top:8px;
  bottom:8px;
  width:36px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  margin:0;
  padding:0;
  overflow:hidden;
  box-sizing:border-box;
  border-radius:10px;
  isolation:isolate;
  z-index:2;
}

.foodup-ordering .fuo-m-product-action .fuo-m-add-button{
  position:relative;
  width:36px;
  height:36px;
  min-width:36px;
  min-height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:0;
  box-sizing:border-box;
  border:1px solid #E6E6E6;
  border-radius:10px;
  background:#fff;
  color:var(--fuo-primary);
  appearance:none;
  -webkit-appearance:none;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  box-shadow:none;
  cursor:pointer;
}

.foodup-ordering .fuo-m-product-action .fuo-m-add-button .ti,
.foodup-ordering .fuo-m-product-action .fuo-m-card-qty [data-fuo-card-plus] .ti,
.foodup-ordering .fuo-m-product-action .fuo-m-card-qty [data-fuo-card-minus]:not(.is-trash) .ti{
  font-size:22px;
  line-height:1;
}

.foodup-ordering .fuo-m-product-action .fuo-m-add-button:active:not(:disabled){
  transform:scale(.92);
}

.foodup-ordering .fuo-m-product-action .fuo-m-card-qty{
  position:relative;
  z-index:1;
  width:36px;
  height:100%;
  min-width:36px;
  min-height:36px;
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:1fr 1fr 1fr;
  align-items:stretch;
  margin:0;
  padding:0;
  overflow:hidden;
  box-sizing:border-box;
  border:1px solid #E6E6E6;
  border-radius:10px;
  background:#fff;
  box-shadow:none;
}

.foodup-ordering .fuo-m-product-action .fuo-m-card-qty button{
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:0;
  border:0;
  background:#fff;
  color:var(--fuo-primary);
  appearance:none;
  -webkit-appearance:none;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  outline:0;
  box-shadow:none;
  cursor:pointer;
}

.foodup-ordering .fuo-m-product-action .fuo-m-card-qty > span{
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:0;
  box-sizing:border-box;
  border-top:1px solid #E6E6E6;
  border-bottom:1px solid #E6E6E6;
  color:#1a1a1a;
  font-size:12px;
  font-weight:700;
}

.foodup-ordering .fuo-m-product-action .fuo-m-card-qty button.is-trash{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  color:#d93636;
}

.foodup-ordering .fuo-m-product-action .fuo-m-card-qty button.is-trash::before{
  content:"";
  position:absolute;
  z-index:0;
  left:50%;
  top:50%;
  width:0;
  height:0;
  border-radius:999px;
  background:#d93636;
  transform:translate(-50%,-50%);
  transition:width .26s cubic-bezier(.2,.8,.2,1),height .26s cubic-bezier(.2,.8,.2,1);
}

.foodup-ordering .fuo-m-product-action .fuo-m-card-qty button.is-trash .ti{
  position:relative;
  z-index:1;
  transition:color .22s ease;
}

@media (hover:hover){
  .foodup-ordering .fuo-m-product-action .fuo-m-card-qty button.is-trash:hover::before{
    width:150%;
    height:150%;
  }

  .foodup-ordering .fuo-m-product-action .fuo-m-card-qty button.is-trash:hover,
  .foodup-ordering .fuo-m-product-action .fuo-m-card-qty button.is-trash:hover .ti{
    color:#fff;
  }
}


/*
 * Stationary 36x36 + surface under the mobile quantity rail.
 * It is a complete surface of its own, not a visual override of the rail.
 * During final removal it moves above the translating rail so the rail
 * disappears physically behind the unchanged + button, matching desktop.
 */
.foodup-ordering .fuo-m-product-action .fuo-action-underlay{
  position:absolute;
  left:0;
  bottom:0;
  z-index:0;
  width:36px;
  height:36px;
  min-width:36px;
  min-height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:0;
  box-sizing:border-box;
  overflow:hidden;
  border:1px solid #E6E6E6;
  border-radius:10px;
  background:#fff;
  color:var(--fuo-primary);
  pointer-events:none;
  transform:none;
  animation:none;
  transition:none;
}

.foodup-ordering .fuo-m-product-action .fuo-action-underlay .ti{
  margin:0;
  font-size:22px;
  line-height:1;
  color:var(--fuo-primary);
  transform:none;
  animation:none;
  transition:none;
}


/* Do not change the requested geometry on normal phones. */
@media(max-width:390px){
  .fuo-m-product-card{
    max-width:none!important;
  }
}

/* Mobile cart bar is UNIQUE; desktop .fuo-cart-fab cannot affect it. */
.fuo-m-cart-fab{
  position:fixed!important;
  z-index:1700!important;

  right:15px!important;
  bottom:82px!important;

  width:64px!important;
  height:64px!important;

  display:grid!important;
  place-items:center!important;

  margin:0!important;
  padding:0!important;

  border:1px solid #e3e6ea!important;
  border-radius:22px!important;

  background:#ffffff!important;
  color:#111317!important;

  appearance:none!important;

  box-shadow:0 10px 28px rgba(17,24,39,.14);

  opacity:0!important;
  visibility:hidden!important;
  transform:translate3d(0,12px,0) scale(.94)!important;
  pointer-events:none!important;

  transition:
    opacity .22s ease,
    transform .24s cubic-bezier(.2,.75,.2,1),
    visibility 0s linear .24s!important;
}

.fuo-m-cart-fab.has-items{
  opacity:1!important;
  visibility:visible!important;
  transform:translate3d(0,0,0) scale(1)!important;
  pointer-events:auto!important;

  transition:
    opacity .22s ease,
    transform .24s cubic-bezier(.2,.75,.2,1),
    visibility 0s!important;
}

.fuo-m-cart-fab.has-items.is-scroll-hidden,
body.fuo-cart-open .fuo-m-cart-fab{
  opacity:0!important;
  visibility:hidden!important;
  transform:translate3d(0,12px,0) scale(.94)!important;
  pointer-events:none!important;

  transition:
    opacity .18s ease,
    transform .2s cubic-bezier(.2,.75,.2,1),
    visibility 0s linear .2s!important;
}

.fuo-m-cart-fab__icon{
  width:100%!important;
  height:100%!important;

  display:grid!important;
  place-items:center!important;

  color:#111317!important;
}

.fuo-m-cart-fab__icon .ti{
  line-height:1!important;
}

.fuo-m-cart-fab__count{
  position:absolute!important;
  top:-4px!important;
  right:-4px!important;

  min-width:24px!important;
  height:24px!important;

  display:grid!important;
  place-items:center!important;

  padding:0 6px!important;

  border:3px solid #ffffff!important;
  border-radius:999px!important;

  background:#ef3129!important;
  color:#ffffff!important;

  font-size:11px!important;
  font-weight:850!important;
  line-height:1!important;

  box-shadow:none!important;
}

/* =========================================================
   CLEAN MOBILE CART SHEET
   ========================================================= */

body .fuo-m-cart-overlay{

  background:rgba(17,19,23,.38)!important;

  backdrop-filter:blur(3px)!important;
  -webkit-backdrop-filter:blur(3px)!important;
}

body .fuo-m-cart-drawer{
  --fuo-primary:var(--foodup-brand-color,var(--fu-primary,#ff6600))!important;

  position:fixed!important;
  z-index:2999!important;

  top:auto!important;
  right:0!important;
  bottom:0!important;
  left:0!important;

  width:100%!important;
  max-width:none!important;
  height:min(92svh,760px)!important;

  display:flex!important;
  flex-direction:column!important;

  overflow:hidden!important;

  border:0!important;
  border-radius:22px 22px 0 0!important;

  background:#fff!important;

  box-shadow:none!important;

  transform:translateY(104%)!important;

  visibility:hidden!important;
  pointer-events:none!important;

  transition:
    transform .28s cubic-bezier(.2,.75,.2,1),
    visibility 0s linear .28s!important;
}

body .fuo-m-cart-drawer.is-open{
  transform:translateY(0)!important;

  visibility:visible!important;
  pointer-events:auto!important;

  box-shadow:0 -14px 40px rgba(0,0,0,.12)!important;

  transition:
    transform .28s cubic-bezier(.2,.75,.2,1),
    visibility 0s!important;
}


/* v0.3.69: requested taller mobile cart sheet. */
/* grab handle */
body .fuo-m-cart-drawer::before{
  content:""!important;

  position:absolute!important;
  z-index:4!important;

  top:8px!important;
  left:50%!important;

  width:36px!important;
  height:4px!important;

  border-radius:999px!important;

  background:#d8dadd!important;

  transform:translateX(-50%)!important;
}

/* header */
body .fuo-m-cart-drawer .fuo-cart-drawer__head{
  min-height:70px!important;

  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;

  padding:20px 15px 11px!important;

  border:0!important;
  border-bottom:1px solid #e7e9eb!important;

  background:#fff!important;
}

.fuo-m-cart-sheet__heading{
  min-width:0!important;
}

body .fuo-m-cart-drawer .fuo-m-cart-sheet__eyebrow{
  display:none!important;
}

.fuo-m-cart-sheet__title-row{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}

body .fuo-m-cart-drawer .fuo-m-cart-sheet__title-row h2{
  margin:0!important;

  color:#15181b!important;

  font-size:20px!important;
  font-weight:850!important;
  line-height:1!important;
}

.fuo-m-cart-sheet__count{
  min-width:22px!important;
  height:22px!important;

  display:grid!important;
  place-items:center!important;

  padding:0 6px!important;

  border-radius:999px!important;

  background:#fff0e5!important;
  color:var(--fuo-primary)!important;

  font-size:10px!important;
  font-weight:850!important;
}

body .fuo-m-cart-drawer .fuo-cart-drawer__head>button{
  width:36px!important;
  height:36px!important;
  flex:0 0 36px!important;

  display:grid!important;
  place-items:center!important;

  padding:0!important;

  border:1px solid #e0e3e6!important;
  border-radius:50%!important;

  background:#fff!important;
  color:#34383d!important;

  box-shadow:none!important;
}

body .fuo-m-cart-drawer .fuo-cart-drawer__head>button .ti{
  font-size:18px!important;
}

/* order context */
body .fuo-m-cart-drawer .fuo-cart-order-context{
  flex:0 0 auto!important;

  padding:11px 15px!important;

  border:0!important;
  border-bottom:1px solid #eceef0!important;

  background:#fff!important;
}

body .fuo-m-cart-drawer .fuo-cart-mode{
  min-height:40px;
  grid-template-columns:1fr 1fr;
  gap:4px;
  padding:4px;
  border:1px solid #e1e4e7;
  border-radius:11px;
  background:#f1f3f4;
}

body .fuo-m-cart-drawer .fuo-cart-mode::before{
  top:4px;
  left:4px;
  width:calc((100% - 12px) / 2);
  height:calc(100% - 8px);
  border-radius:8px;
}

body .fuo-m-cart-drawer .fuo-cart-mode button{
  min-height:32px;
  gap:5px;
  padding:0 9px;
  border-radius:8px;
  background:transparent;
  color:#777e86;
  font-size:11px;
  font-weight:750;
  box-shadow:none;
  -webkit-tap-highlight-color:transparent;
}

body .fuo-m-cart-drawer .fuo-cart-mode button.is-active{
  background:transparent;
  color:var(--fuo-primary);
}

body .fuo-m-cart-drawer .fuo-cart-zone{
  display:block!important;

  margin:9px 0 0!important;
}

body .fuo-m-cart-drawer .fuo-cart-zone>span:first-child{
  display:flex;
  align-items:center;
  gap:5px;
  margin:0 0 5px;
  color:#717880;
  font-size:12px;
  font-weight:700;
}

body .fuo-m-cart-drawer .fuo-cart-zone__select{
  position:relative!important;
  display:block!important;
}

body .fuo-m-cart-drawer .fuo-cart-zone__select select{
  width:100%!important;
  height:40px!important;

  padding:0 36px 0 11px!important;

  border:1px solid #e1e4e7!important;
  border-radius:10px!important;

  background:#fff!important;
  color:#171a1e!important;

  font-size:11.5px!important;
}

body .fuo-m-cart-drawer .fuo-cart-zone__select>.ti{
  position:absolute!important;

  top:50%!important;
  right:11px!important;

  color:#798089!important;

  transform:translateY(-50%)!important;

  pointer-events:none!important;
}

body .fuo-m-cart-drawer .fuo-cart-minimum{
  margin-top:7px;
  padding:8px 9px;
  border:1px solid #e5e7e9;
  border-radius:9px;
  background:#f8f9fa;
}

body .fuo-m-cart-drawer .fuo-cart-minimum__copy>span{
  font-size:12px;
  white-space:normal!important;
  flex-wrap:wrap;
}

body .fuo-m-cart-drawer .fuo-cart-minimum__copy small{
  font-size:11px;
}

/* item list */
body .fuo-m-cart-drawer .fuo-cart-drawer__body{
  flex:1 1 auto!important;
  min-height:0!important;

  overflow-y:auto!important;
  overscroll-behavior:contain!important;

  padding:8px 15px 14px!important;

  background:#fff!important;

  scrollbar-width:none!important;
}

body .fuo-m-cart-drawer .fuo-cart-drawer__body::-webkit-scrollbar{
  display:none!important;
}

body .fuo-m-cart-drawer .fuo-cart-item{
  position:relative;
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:9px;
  align-items:start;
  min-height:72px;
  margin:0 0 7px;
  padding:7px;
  border:1px solid #E6E6E6;
  border-radius:14px;
  background:#fff;
}

body .fuo-m-cart-drawer .fuo-cart-item:last-child{margin-bottom:0}

body .fuo-m-cart-drawer .fuo-cart-item__image{
  width:54px;
  height:54px;
  overflow:hidden;
  align-self:start;
  border:1px solid #E6E6E6;
  border-radius:10px;
  background:#f4f5f6;
}

body .fuo-m-cart-drawer .fuo-cart-item__image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
}

body .fuo-m-cart-drawer .fuo-cart-item__info{
  min-width:0;
  padding:1px 0 28px;
}

body .fuo-m-cart-drawer .fuo-cart-item.is-fuo-no-image{
  grid-template-columns:minmax(0,1fr);
}

body .fuo-m-cart-drawer .fuo-cart-item__headline{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:10px;
}

body .fuo-m-cart-drawer .fuo-cart-item__info h3{
  min-width:0;
  margin:0;
  color:#171a1e;
  font-size:13px;
  font-weight:800;
  line-height:1.25;
}

body .fuo-m-cart-drawer .fuo-cart-item__line-total{
  margin:0;
  color:#171a1e;
  font-size:15px;
  font-weight:800;
  line-height:1.25;
  white-space:nowrap;
}

body .fuo-m-cart-drawer .fuo-cart-item__addons{
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:2px 0 0;
  padding-right:82px;
  color:#737b84;
}

body .fuo-m-cart-drawer .fuo-cart-item__addons small{
  display:block;
  margin:0;
  color:inherit;
  font-size:10.5px;
  font-weight:500;
  line-height:1.35;
}

body .fuo-m-cart-drawer .fuo-cart-item__addons strong{
  color:#5e6670;
  font-weight:700;
}

body .fuo-m-cart-drawer .fuo-cart-qty{
  position:absolute;
  right:8px;
  bottom:8px;
  width:84px;
  height:28px;
  display:grid;
  grid-template-columns:28px 28px 28px;
  grid-template-rows:28px;
  margin:0;
  overflow:hidden;
  border:1px solid #E6E6E6;
  border-radius:10px;
  background:#fff;
}

body .fuo-m-cart-drawer .fuo-cart-qty button,
body .fuo-m-cart-drawer .fuo-cart-qty span{
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  display:grid;
  place-items:center;
  margin:0;
  padding:0;
}

body .fuo-m-cart-drawer .fuo-cart-qty button{
  border:0;
  background:#fff;
  color:var(--fuo-primary);
  -webkit-tap-highlight-color:transparent;
  transition:background-color .18s ease,color .18s ease;
}

body .fuo-m-cart-drawer .fuo-cart-qty button:hover{background:#fff6ed}
body .fuo-m-cart-drawer .fuo-cart-qty button.is-trash{color:#d93636}
body .fuo-m-cart-drawer .fuo-cart-qty button.is-trash:hover{background:#d93636;color:#fff}
body .fuo-m-cart-drawer .fuo-cart-qty button .ti{font-size:16px;line-height:1}

body .fuo-m-cart-drawer .fuo-cart-qty span{
  border-left:1px solid #E6E6E6;
  border-right:1px solid #E6E6E6;
  color:#171a1e;
  font-size:11px;
  font-weight:800;
  line-height:1;
}


/* empty */
body .fuo-m-cart-drawer .fuo-cart-empty{
  min-height:240px!important;

  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;

  color:#7a8189!important;

  text-align:center!important;
}

body .fuo-m-cart-drawer .fuo-cart-empty .ti{
  font-size:36px!important;
  opacity:.45!important;
}

body .fuo-m-cart-drawer .fuo-cart-empty p{
  margin:0!important;
  font-size:11.5px!important;
}

/* footer */
body .fuo-m-cart-drawer .fuo-cart-drawer__footer{
  flex:0 0 auto!important;

  padding:11px 15px calc(13px + env(safe-area-inset-bottom))!important;

  border:0!important;
  border-top:1px solid #e5e7e9!important;

  background:#fff!important;
}

body .fuo-m-cart-drawer .fuo-cart-summary{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;

  margin:0 0 9px!important;

  color:#727981!important;

  font-size:13px!important;
  font-weight:650!important;
}

body .fuo-m-cart-drawer .fuo-cart-summary strong{
  color:#171a1e!important;

  font-size:15px!important;
  font-weight:850!important;
}

body .fuo-m-cart-drawer .fuo-cart-checkout-blocker{
  margin:0 0 8px!important;
  padding:8px 9px!important;

  border-radius:9px!important;

  font-size:12px!important;
}

body .fuo-m-cart-drawer .fuo-checkout-button,
body .fuo-m-cart-drawer .fuo-checkout-button:visited{
  width:100%!important;
  min-height:48px!important;

  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;

  padding:0 13px!important;

  border:0!important;
  border-radius:11px!important;

  background:var(--fuo-primary-btn,var(--fuo-primary))!important;
  color:#fff!important;

  font-size:13px!important;
  font-weight:850!important;
  text-decoration:none!important;

  box-shadow:none!important;
}

body .fuo-m-cart-drawer .fuo-checkout-button .ti{
  font-size:17px!important;
}

@media(max-width:390px){
  :root{
    --fuo-m-gutter:12px;
    --fuo-m-image:84px;
    --fuo-m-card-pad:11px;
    --fuo-m-card-gap:11px;
    --fuo-m-title-size:14.5px;
    --fuo-m-desc-size:11px;
  }
  .fuo-m-cart-fab{right:12px;bottom:80px;width:60px;height:60px;border-radius:20px}
}


/* =========================================================
   FoodUp Ordering v0.3.7 — requested image / price refinements
   ========================================================= */

.fuo-m-product-card__media{
  left:8px!important;
  top:8px!important;
  bottom:8px!important;
  width:104px!important;
  border-radius:11px!important;
}

/* Built-in restaurant placeholder: 20% larger than before (60% -> 72%). */
.fuo-m-product-card__media img.is-fuo-placeholder{
  width:72%!important;
  height:72%!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:transparent!important;
}

/* User-uploaded default image behaves like a normal product photo. */
.fuo-m-product-card__media img.is-fuo-default-upload{
  width:100%!important;
  height:100%!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center center!important;
  background:transparent!important;
}

/* Visible CHF / amount separation. */
.fuo-m-product-price .woocommerce-Price-currencySymbol{
  margin-right:4px!important;
}


/* =========================================================
   FoodUp Ordering v0.3.12 — floating cart visibility + icon
   ========================================================= */

.fuo-m-cart-fab__icon{
  color:#111317!important;
}

.fuo-m-cart-fab__icon .ti{
  display:block!important;
  width:auto!important;
  height:auto!important;
  color:#111317!important;
  font-size:27px!important;
  line-height:1!important;
  opacity:1!important;
  visibility:visible!important;
}


/* =========================================================
   FoodUp Ordering v0.3.15 — unified top surface + centered categories
   ========================================================= */

.fuo-m-nav.is-fixed{
  background:var(--fuo-m-top-surface)!important;
}

/* Paint the iPhone/browser safe-area with the same top-surface color. */
body.fuo-ordering-page::before{
  content:"";
  position:fixed;
  z-index:10000;
  top:0;
  left:0;
  right:0;
  height:env(safe-area-inset-top);
  background:var(--fuo-m-top-surface);
  pointer-events:none;
}


/* =========================================================
   FoodUp Ordering v0.3.68 — cart overlay above fixed mobile category bar
   ========================================================= */

/*
 * IMPORTANT: mobile-app.css loads after frontend.css.
 * The older mobile cart rules in this file use !important and therefore
 * previously reset the cart overlay to z-index:2998, while .fuo-m-nav.is-fixed
 * sits at z-index:9999. Keep this override at the END of this file.
 */
body .fuo-m-cart-overlay{
  position:fixed!important;
  z-index:2147483000!important;
  inset:0!important;
  background:rgba(17,19,23,.38)!important;
  backdrop-filter:blur(3px)!important;
  -webkit-backdrop-filter:blur(3px)!important;
}

body .fuo-m-cart-overlay.is-visible{
  pointer-events:auto!important;
}

body .fuo-m-cart-drawer,
body .fuo-m-cart-drawer.is-open{
  z-index:2147483001!important;
}

/* Belt-and-suspenders: the fixed category navigation cannot receive taps
 * while the cart is open, even if another theme/plugin creates a stacking
 * context around it. */
body.fuo-cart-open .fuo-m-nav,
body.fuo-cart-open .fuo-m-nav.is-fixed,
body.fuo-cart-open .fuo-m-nav *,
body.fuo-cart-open .fuo-m-nav.is-fixed *{
  pointer-events:none!important;
  touch-action:none!important;
}

/* Built-in placeholder should stay fully visible inside the mobile cart
 * instead of being cropped by the generic cart image rule above. */
body .fuo-m-cart-drawer .fuo-cart-item__image img.is-fuo-placeholder{
  object-fit:contain;
  object-position:center center;
}


/* =========================================================
   FoodUp Ordering v0.3.90 — pickup must never show delivery zone
   ========================================================= */
body .fuo-m-cart-drawer .fuo-cart-zone[hidden]{
  display:none!important;
  margin:0!important;
}


/* =========================================================
   FoodUp Ordering v0.4.38 — MOBILE CLOSED / PREORDER STATUS RED
   ========================================================= */

@keyframes fuo-m-preorder-flash-red{0%,100%{background:#d83a3a}50%{background:#ef4c4c}}
@keyframes fuo-m-closed-flash-red{0%,100%{background:#d83a3a}50%{background:#ef4c4c}}

.fuo-m-status.is-preorder{animation:fuo-m-preorder-flash-red 1s infinite !important}
.fuo-m-status.is-closed{animation:fuo-m-closed-flash-red 1s infinite !important}


/* =========================================================
   FoodUp Ordering v0.5.106 — Tabler floating cart icon
   Official Tabler webfont glyph; button geometry/behavior unchanged.
   ========================================================= */
body .foodup-ordering .fuo-m-cart-fab__icon > .ti{
  display:block!important;
  font-size:34px!important;
  line-height:1!important;
  margin:0!important;
  padding:0!important;
}

/* =========================================================
   FoodUp Ordering v0.5.08 — mobile cart/product parity + modal quantity
   Final mobile rules live here because mobile-app.css is loaded after the
   shared storefront stylesheet.
   ========================================================= */

/* Cart rows now use the same geometry as the mobile storefront product card. */
body .fuo-m-cart-drawer .fuo-cart-item{
  position:relative;
  width:100%;
  height:118px;
  min-height:118px;
  max-height:118px;
  display:block;
  margin:0 0 10px;
  padding:0;
  overflow:hidden;
  border:1px solid #E6E6E6;
  border-radius:12px;
  background:#fff;
  box-shadow:none;
}

body .fuo-m-cart-drawer .fuo-cart-item__image{
  position:absolute;
  left:6px;
  top:6px;
  width:104px;
  min-width:104px;
  margin:0;
  padding:0;
  overflow:hidden;
  border:1px solid #E6E6E6;
  border-radius:10px;
  background:#f7f7f8;
  box-sizing:border-box;
}

body .fuo-m-cart-drawer .fuo-cart-item__image img{
  width:100%;
  height:100%;
  display:block;
  margin:0;
  padding:0;
  border:0;
  border-radius:10px;
  object-fit:cover;
  object-position:center center;
}

body .fuo-m-cart-drawer .fuo-cart-item__image img.is-fuo-placeholder{
  object-fit:contain;
  background:transparent;
}

body .fuo-m-cart-drawer .fuo-cart-item__info{
  position:absolute;
  left:121px;
  top:13px;
  right:58px;
  bottom:14px;
  min-width:0;
  min-height:0;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  margin:0;
  padding:0;
  box-sizing:border-box;
}

body .fuo-m-cart-drawer .fuo-cart-item__headline{
  display:block;
  min-width:0;
  margin:0;
}

body .fuo-m-cart-drawer .fuo-cart-item__info h3{
  margin:0;
  padding:0;
  color:#1a1a1a;
  font-size:15px;
  font-weight:800;
  line-height:1.18;
  letter-spacing:0;
}

body .fuo-m-cart-drawer .fuo-cart-item__addons{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  margin:4px 0 0;
  padding:0;
  color:#6f7479;
  font-size:11.5px;
  line-height:1.3;
}

body .fuo-m-cart-drawer .fuo-cart-item__addons small{
  display:inline;
  margin:0;
  color:inherit;
  font-size:11.5px;
  font-weight:400;
  line-height:1.3;
}

body .fuo-m-cart-drawer .fuo-cart-item__bottom{
  width:100%;
  display:block;
  margin-top:auto;
  padding:0;
}

body .fuo-m-cart-drawer .fuo-cart-item__line-total,
body .fuo-m-cart-drawer .fuo-cart-item__line-total .amount{
  margin:0;
  color:#1a1a1a;
  font-size:14px;
  font-weight:850;
  line-height:1;
  white-space:nowrap;
}

/* Same always-visible vertical action rail as the mobile storefront card. */
body .fuo-m-cart-drawer .fuo-cart-actions{
  position:absolute;
  z-index:4;
  right:6px;
  top:6px;
  bottom:6px;
  width:36px;
  height:auto;
  margin:0;
  padding:0;
}

body .fuo-m-cart-drawer .fuo-cart-actions > .fuo-cart-qty,
body .fuo-m-cart-drawer .fuo-cart-qty{
  position:absolute;
  inset:0;
  width:36px;
  height:auto;
  min-width:36px;
  min-height:0;
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:1fr 1fr 1fr;
  margin:0;
  padding:0;
  overflow:hidden;
  box-sizing:border-box;
  border:1px solid #E6E6E6;
  border-radius:10px;
  background:#fff;
  box-shadow:none;
}

body .fuo-m-cart-drawer .fuo-cart-qty button,
body .fuo-m-cart-drawer .fuo-cart-qty > span{
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  display:grid;
  place-items:center;
  margin:0;
  padding:0;
}

body .fuo-m-cart-drawer .fuo-cart-qty button{
  border:0;
  background:#fff;
  color:var(--fuo-primary);
  -webkit-appearance:none;
  appearance:none;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}

body .fuo-m-cart-drawer .fuo-cart-qty > span{
  border-left:0;
  border-right:0;
  border-top:1px solid #E6E6E6;
  border-bottom:1px solid #E6E6E6;
  color:#1a1a1a;
  font-size:12px;
  font-weight:700;
  line-height:1;
}

body .fuo-m-cart-drawer .fuo-cart-qty button .ti,
body .fuo-m-cart-drawer .fuo-cart-qty [data-fuo-qty-plus] .ti{
  display:block;
  font-size:20px;
  line-height:1;
  font-weight:400;
}

body .fuo-m-cart-drawer .fuo-cart-qty button.is-trash{
  color:#d93636;
}

body .fuo-m-cart-drawer .fuo-cart-qty button.is-trash .ti-trash{
  font-size:18px;
  line-height:1;
  font-weight:400;
}

/* Product add-on modal quantity: balanced 3-part segmented control. */
.fuo-addon-modal .fuo-addon-modal__footer{
  grid-template-columns:116px minmax(0,1fr)!important;
  gap:10px!important;
}

.fuo-addon-modal .fuo-addon-qty{
  width:116px!important;
  height:48px!important;
  display:grid!important;
  grid-template-columns:38px 40px 38px!important;
  align-items:stretch!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  border:1px solid #d6dce1!important;
  border-radius:10px!important;
  background:#fff!important;
}

.fuo-addon-modal .fuo-addon-qty button,
.fuo-addon-modal .fuo-addon-qty > span{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
}

.fuo-addon-modal .fuo-addon-qty button{
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:var(--fuo-primary)!important;
  -webkit-appearance:none!important;
  appearance:none!important;
  -webkit-tap-highlight-color:transparent!important;
  touch-action:manipulation!important;
}

.fuo-addon-modal .fuo-addon-qty > span{
  border-left:1px solid #e3e6e9!important;
  border-right:1px solid #e3e6e9!important;
  color:#1a1a1a!important;
  font-size:14px!important;
  font-weight:750!important;
  line-height:1!important;
}

.fuo-addon-modal .fuo-addon-qty button .ti{
  display:block!important;
  margin:0!important;
  color:inherit!important;
  font-size:20px!important;
  line-height:1!important;
  font-weight:400!important;
}

.fuo-addon-modal .fuo-addon-qty button:active{
  background:#fff4eb!important;
}

@media(max-width:360px){
  .fuo-addon-modal .fuo-addon-modal__footer{
    grid-template-columns:108px minmax(0,1fr)!important;
  }
  .fuo-addon-modal .fuo-addon-qty{
    width:108px!important;
    grid-template-columns:34px 40px 34px!important;
  }
}


/* =========================================================
   FoodUp Ordering v0.5.10 — Safari cart images + discount/minimum clarity
   ========================================================= */

/* iOS Safari is more reliable when the AJAX-inserted cart media has an
 * explicit box instead of percentage children inside a top+bottom/auto box. */
body .fuo-m-cart-drawer .fuo-cart-item__image{
  top:6px;
  bottom:auto;
  width:104px;
  height:104px;
  min-width:104px;
  min-height:104px;
  display:flex;
  align-items:center;
  justify-content:center;
}

body .fuo-m-cart-drawer .fuo-cart-item__image img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-width:100%;
  min-height:100%;
  max-width:none;
  max-height:none;
  margin:0;
  opacity:1;
  visibility:visible;
}

body .fuo-m-cart-drawer .fuo-cart-item__image img.is-fuo-placeholder{
  inset:14%;
  width:72%;
  height:72%;
  min-width:72%;
  min-height:72%;
  margin:0;
  object-fit:contain;
}

body .fuo-m-cart-drawer .fuo-cart-minimum__helper{
  display:block!important;
  margin:2px 0 8px 19px!important;
  color:#7b6540!important;
  font-size:11px!important;
  font-weight:600!important;
  line-height:1.3!important;
}


/* =========================================================
   FoodUp Ordering v0.5.20 — mobile cart quantity badge cleanup
   The mobile quantity rail is permanently visible, so the separate
   orange aggregate badge is redundant. Keep it desktop-only.
   ========================================================= */
body .fuo-m-cart-drawer .fuo-cart-row-badge{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

@media (max-width:768px), (hover:none), (pointer:coarse){
  .fuo-cart-drawer .fuo-cart-row-badge{
    display:none!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}


/* =========================================================
   FoodUp Ordering v0.5.23 — mobile product quantity badge cleanup
   Mobile product quantity rails are permanently visible, so the separate
   orange simple-product quantity bubble is redundant. Keep desktop behavior.
   ========================================================= */
.foodup-ordering .fuo-m-product-action > .fuo-simple-cart-badge{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}


/* =========================================================
   FoodUp Ordering v0.5.28 — EXACT MOBILE +/- ICON PARITY
   Inline FoodUp icons render an SVG inside a 1em box. The previous
   width:auto override let the selected SVG expand to the full 36px
   quantity button. Keep the selected +/- in the exact same 22px/1em
   icon box as the standalone mobile + button.
   ========================================================= */
.foodup-ordering .fuo-m-product-action .fuo-m-card-qty [data-fuo-card-plus] .ti,
.foodup-ordering .fuo-m-product-action .fuo-m-card-qty [data-fuo-card-minus]:not(.is-trash) .ti{
  color:inherit!important;
  font-size:22px!important;
  font-weight:400!important;
  line-height:1!important;
  width:1em!important;
  height:1em!important;
  display:inline-grid!important;
  place-items:center!important;
}

.foodup-ordering .fuo-m-product-action .fuo-m-card-qty [data-fuo-card-plus] .ti > svg,
.foodup-ordering .fuo-m-product-action .fuo-m-card-qty [data-fuo-card-minus]:not(.is-trash) .ti > svg{
  width:100%!important;
  height:100%!important;
}

body .fuo-m-cart-drawer .fuo-cart-qty [data-fuo-qty-plus] .ti,
body .fuo-m-cart-drawer .fuo-cart-qty [data-fuo-qty-minus]:not(.is-trash) .ti{
  color:inherit;
  font-size:16px;
  font-weight:400;
  line-height:1;
  width:1em;
  height:1em;
}

.fuo-addon-modal .fuo-addon-qty [data-fuo-modal-qty-plus] .ti,
.fuo-addon-modal .fuo-addon-qty [data-fuo-modal-qty-minus] .ti{
  color:inherit!important;
  font-size:16px!important;
  font-weight:400!important;
  line-height:1!important;
  width:1em!important;
  height:1em!important;
}


/* =========================================================
   FoodUp Ordering v0.5.36 — presentation-only mobile polish
   ========================================================= */
.foodup-ordering :where(.fuo-m-nav__item,.fuo-m-add-button,.fuo-m-card-qty button) > .ti,
body .fuo-m-cart-drawer :where(button,a) > .ti{
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  line-height:1!important;
  vertical-align:middle;
}
.foodup-ordering .fuo-m-product-card,
.foodup-ordering .fuo-m-product-action,
body .fuo-m-cart-drawer{
  background-clip:padding-box;
}


@keyframes fuo-de-status-dot{
  0%{box-shadow:0 0 0 0 rgba(255,255,255,.42)}
  70%{box-shadow:0 0 0 7px rgba(255,255,255,0)}
  100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}
}

/* =========================================================
   FoodUp Ordering v0.5.53 — DeliverEat theme: mobile menu + cart
   Visual-only theme layer over the existing FoodUp mobile behavior.
   ========================================================= */
@media(max-width:768px){
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat{
    --fuo-de-mobile-gutter:15px;
    font-family:Inter,Arial,sans-serif!important;
    background:#F4F5F7!important;
  }

  body.fuo-ordering-page,
  body.fuo-theme-delivereat,
  body.fuo-theme-delivereat .fu-ordering-page-shell,
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat,
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-layout,
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-menu-content{
    background:#F4F5F7!important;
  }

  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-status-wrap{
    padding:10px var(--fuo-de-mobile-gutter) 8px!important;
    background:#fff!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-status{
    min-height:52px!important;
    border-radius:14px!important;
    font-size:14px!important;
    font-weight:750!important;
    letter-spacing:.005em!important;
    box-shadow:0 6px 18px rgba(21,31,27,.10)!important;
    animation:none!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-status.is-open{
    background:#087a58!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-status.is-closed{
    background:#c93636!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-status.is-preorder{
    background:#bd7412!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-status__dot{
    width:7px!important;
    height:7px!important;
    flex-basis:7px!important;
    box-shadow:0 0 0 0 rgba(255,255,255,.45)!important;
    animation:fuo-de-status-dot 1.8s ease-out infinite!important;
  }

  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-nav-slot{
    background:#fff!important;
    border-bottom:1px solid rgba(0,0,0,.07)!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-nav{
    background:#fff!important;
    border:0!important;
    box-shadow:none;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-nav.is-fixed{
    box-shadow:0 9px 20px -12px rgba(17,24,39,.34);
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-nav__track{
    gap:8px!important;
    padding:10px var(--fuo-de-mobile-gutter) 11px!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-nav__item{
    height:auto!important;
    min-height:39px!important;
    max-height:none!important;
    padding:7px 14px!important;
    border:1px solid #e8e4df!important;
    border-radius:12px!important;
    background:#f3f1ee!important;
    color:#26231f!important;
    font-weight:700!important;
    line-height:22px!important;
    box-shadow:none!important;
    transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-nav__item:hover{
    border-color:#ff6600!important;
    background:#fff8f3!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-nav__item.is-active{
    border-color:#ff6600!important;
    background:#ff6600!important;
    color:#fff!important;
    box-shadow:none!important;
  }

  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-category-view{
    margin:0 var(--fuo-de-mobile-gutter) 30px!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-category-cover{
    height:188px!important;
    min-height:188px!important;
    margin:14px 0 12px!important;
    padding:18px!important;
    border:1px solid rgba(0,0,0,.055)!important;
    border-radius:20px!important;
    background-color:#fff!important;
    box-shadow:0 10px 28px rgba(28,23,18,.08)!important;
  }
  /* Image banners must not keep a 1px border outside the shade layer.
     Removing it lets the gradient reach the clipped rounded edge exactly. */
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-category-cover.has-image{
    border:0!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-category-cover__shade{
    background:
      linear-gradient(180deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.58) 25%,rgba(0,0,0,.24) 48%,rgba(0,0,0,0) 76%),
      linear-gradient(90deg,rgba(0,0,0,.48) 0%,rgba(0,0,0,.22) 38%,rgba(0,0,0,0) 72%)!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-category-cover.no-image{
    height:auto!important;
    min-height:70px!important;
    padding:14px 16px!important;
    border:1px solid #ebe7e2!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 6px 18px rgba(28,23,18,.045)!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-category-cover.no-image .fuo-m-category-cover__shade{display:none!important}
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-category-cover.no-image .fuo-m-category-cover__count{
    position:static!important;
    margin-top:6px!important;
    padding:0!important;
    min-height:0!important;
    border:0!important;
    background:transparent!important;
    color:#8a837c!important;
    font-size:12px!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-category-cover h2{
    max-width:82%!important;
    color:#fff!important;
    font-size:29px!important;
    font-weight:800!important;
    line-height:31px!important;
    letter-spacing:-.02em!important;
    text-transform:none!important;
    text-shadow:0 2px 14px rgba(0,0,0,.35)!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-category-cover.has-image h2{
    position:absolute!important;
    z-index:2!important;
    top:16px!important;
    left:18px!important;
    right:18px!important;
    bottom:auto!important;
    margin:0!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-category-cover__count{
    position:absolute!important;
    z-index:2!important;
    left:18px!important;
    top:53px!important;
    display:block!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:rgba(255,255,255,.90)!important;
    font-size:12px!important;
    font-weight:600!important;
    line-height:16px!important;
    text-shadow:0 1px 8px rgba(0,0,0,.38)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-category-cover.no-image h2{
    color:#17191c!important;
    font-size:25px!important;
    line-height:28px!important;
    letter-spacing:-.02em!important;
  }

  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-product-list{
    gap:10px!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-product-card{
    height:134px!important;
    min-height:134px!important;
    overflow:hidden!important;
    border:1px solid rgba(0,0,0,.065)!important;
    border-radius:20px!important;
    background:#fff!important;
    box-shadow:0 4px 16px rgba(28,23,18,.035)!important;
    transition:border-color .3s ease-out,box-shadow .3s ease-out!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-product-card:active,
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-product-card:focus-visible{
    border-color:#ff6600!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-product-card__media{
    left:8px!important;
    top:8px!important;
    bottom:8px!important;
    width:115px!important;
    min-width:115px!important;
    border:0!important;
    border-radius:14px!important;
    background:#eee8e1!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-product-card__media img{
    border-radius:14px!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-product-card__body{
    left:var(--fuo-mobile-product-body-left,133px);
    top:12px!important;
    right:58px!important;
    bottom:12px!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-product-card__body h3{
    color:#000!important;
    font-weight:600!important;
    line-height:20px!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-product-card__body p{
    margin-top:5px!important;
    -webkit-line-clamp:3!important;
    color:#77716a!important;
    line-height:18px!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-product-price,
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-product-price .amount,
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-product-price .woocommerce-Price-amount{
    color:#000!important;
    font-weight:700!important;
    line-height:20px!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-product-card > .fuo-m-product-action{
    right:12px!important;
    top:12px!important;
    bottom:12px!important;
    width:38px!important;
    overflow:visible!important;
    border-radius:19px!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-product-action .fuo-m-add-button,
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-product-action .fuo-action-underlay{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    border:0!important;
    border-radius:50%!important;
    background:#ff6600!important;
    color:#fff!important;
    box-shadow:none!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-product-action .fuo-m-add-button .ti,
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-product-action .fuo-action-underlay .ti{
    color:#fff!important;
    font-size:20px!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-product-action .fuo-m-card-qty{
    width:38px!important;
    border-color:#ffc7a5!important;
    border-radius:19px!important;
    background:#fff!important;
  }

  body.fuo-theme-delivereat .fuo-m-cart-fab{
    right:18px!important;
    bottom:78px!important;
    width:58px!important;
    height:58px!important;
    border:0!important;
    border-radius:999px!important;
    background:#191816!important;
    color:#fff!important;
    box-shadow:0 10px 28px rgba(17,24,39,.14);
  }
  body.fuo-theme-delivereat .fuo-m-cart-fab__icon .ti{
    font-size:28px!important;
    line-height:1!important;
    color:#fff!important;
  }
  body.fuo-theme-delivereat .fuo-m-cart-fab__count{
    top:-4px!important;
    right:-4px!important;
    min-width:22px!important;
    height:22px!important;
    padding:0 6px!important;
    border:2px solid #fff!important;
    background:#ff6422!important;
    color:#fff!important;
    font-size:10px!important;
  }

  body.fuo-theme-delivereat .fuo-m-cart-overlay{
    background:rgba(0,0,0,.50)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer{
    --fuo-mobile-cart-footer-px:104px;
    top:auto!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    width:100%!important;
    max-width:none!important;
    height:90svh!important;
    max-height:90svh!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:24px 24px 0 0!important;
    background:#fff!important;
    box-shadow:none!important;
    transform:translate3d(0,104%,0)!important;
    opacity:1!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:
      transform .34s cubic-bezier(.22,.72,.2,1),
      visibility 0s linear .34s!important;
    will-change:transform!important;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer.is-open{
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    box-shadow:0 -18px 48px rgba(0,0,0,.16)!important;
    will-change:auto!important;
    transition:
      transform .34s cubic-bezier(.22,.72,.2,1),
      visibility 0s!important;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer::before{
    display:block!important;
    content:""!important;
    position:absolute!important;
    z-index:4!important;
    top:8px!important;
    left:50%!important;
    width:40px!important;
    height:4px!important;
    border-radius:999px!important;
    background:#cbc5be!important;
    transform:translateX(-50%)!important;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-drawer__head{
    min-height:72px!important;
    padding:24px 18px 14px!important;
    border-bottom:1px solid rgba(0,0,0,.08)!important;
    background:#fff!important;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-m-cart-sheet__title-row h2{
    color:#191816!important;
    font-weight:900!important;
    letter-spacing:-.035em!important;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-m-cart-sheet__count{
    min-width:23px!important;
    height:23px!important;
    background:#fff0e8!important;
    color:#d94f10!important;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-drawer__head>button{
    width:36px!important;
    height:36px!important;
    flex:0 0 36px!important;
    border:0!important;
    background:#f2efeb!important;
    color:#191816!important;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-order-context{
    flex:0 0 auto!important;
    gap:0!important;
    padding:10px 18px!important;
    border-bottom:1px solid rgba(0,0,0,.07)!important;
    background:#fff!important;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-mode{
    min-height:50px!important;
    padding:6px!important;
    border:1px solid rgba(0,0,0,.08)!important;
    border-radius:20px!important;
    background:#f6f3ef!important;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-mode::before{
    top:6px!important;
    left:6px!important;
    width:calc((100% - 18px) / 2)!important;
    height:calc(100% - 12px)!important;
    border-radius:15px!important;
    background:#ff6422!important;
    box-shadow:none!important;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-mode[data-active-mode="pickup"]::before{
    transform:translate3d(calc(100% + 6px),0,0)!important;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-mode button{
    min-height:38px!important;
    color:#6f6861!important;
    font-size:12px!important;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-mode button.is-active{color:#fff!important}
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-zone__select select{
    height:44px!important;
    border-color:rgba(0,0,0,.11)!important;
    border-radius:12px!important;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-minimum{
    border:0!important;
    border-radius:12px!important;
    background:#fff4ee!important;
  }

  /* Mobile context spacing exists only while the section is visible.
     This removes the empty flex-gap left behind in Abholung mode and lets
     Lieferung reveal as one continuous height/margin motion. */
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-zone.fuo-cart-context-motion,
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-minimum.fuo-cart-context-motion{
    max-height:none;
    height:auto;
    margin-top:10px;
    overflow:hidden;
    box-sizing:border-box;
    opacity:1;
    transform:none;
    will-change:height,margin-top,opacity,padding,border-width;
    transition:
      height .46s cubic-bezier(.22,.72,.2,1),
      margin-top .46s cubic-bezier(.22,.72,.2,1),
      opacity .30s ease,
      padding-top .46s cubic-bezier(.22,.72,.2,1),
      padding-bottom .46s cubic-bezier(.22,.72,.2,1),
      border-top-width .46s cubic-bezier(.22,.72,.2,1),
      border-bottom-width .46s cubic-bezier(.22,.72,.2,1);
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-zone.fuo-cart-context-motion:not(.is-fuo-context-visible),
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-minimum.fuo-cart-context-motion:not(.is-fuo-context-visible){
    max-height:none;
    height:0;
    margin-top:0;
    padding-top:0;
    padding-bottom:0;
    border-top-width:0;
    border-bottom-width:0;
    opacity:0;
    transform:none;
    pointer-events:none;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-zone.fuo-cart-context-motion.is-fuo-context-measuring,
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-minimum.fuo-cart-context-motion.is-fuo-context-measuring{
    transition:none;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-drawer__body{
    position:relative!important;
    flex:1 1 0!important;
    min-height:0!important;
    max-height:none!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-y!important;
    overscroll-behavior-y:contain!important;
    padding:10px 16px calc(var(--fuo-mobile-cart-footer-px) + 12px)!important;
    background:#fff!important;
    contain:layout paint!important;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-item{
    position:relative;
    width:100%;
    height:84px;
    min-height:84px;
    max-height:84px;
    display:block;
    margin:0 0 7px;
    padding:0;
    overflow:hidden;
    box-sizing:border-box;
    border:1px solid rgba(0,0,0,.07);
    border-radius:12px;
    background:#fff;
    box-shadow:none;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-item:last-child{
    margin-bottom:0;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-item.is-fuo-no-image{
    --fuo-m-cart-info-left:12px;
  }

  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-item__image{
    position:absolute;
    left:8px;
    top:8px;
    bottom:auto;
    width:66px;
    height:66px;
    min-width:66px;
    min-height:66px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0;
    padding:0;
    overflow:hidden;
    border:0;
    border-radius:14px;
    background:#eee8e1;
    box-sizing:border-box;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-item__image img{
    width:100%;
    height:100%;
    min-width:0;
    min-height:0;
    margin:0;
    padding:0;
    display:block;
    border:0;
    object-fit:cover;
    object-position:center center;
    border-radius:14px;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-item__image img.is-fuo-placeholder{
    width:60%;
    height:60%;
    margin:0;
    padding:0;
    object-fit:contain;
    background:transparent;
  }

  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-item__info{
    position:absolute;
    left:var(--fuo-m-cart-info-left,82px);
    top:8px;
    right:42px;
    bottom:8px;
    min-width:0;
    min-height:0;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    margin:0;
    padding:0;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-item__headline{
    display:block;
    min-width:0;
    margin:0;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-item__info h3{
    margin:0;
    color:#191816;
    font-weight:700;
    line-height:16px;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-item__addons{
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    margin:2px 0 0;
    padding:0;
    color:#817a73;
    font-size:10.5px;
    line-height:13px;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-item__addons small{
    display:inline;
    margin:0;
    color:inherit;
    font-size:10.5px;
    font-weight:400;
    line-height:13px;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-item__bottom{
    margin-top:auto;
    padding:0;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-item__line-total,
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-item__line-total .amount{
    margin:0;
    color:#191816;
    font-size:13px;
    font-weight:800;
    line-height:16px;
  }

  /* Mobile cart uses the same new-theme vertical quantity language as selected products. */
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-actions{
    position:absolute;
    z-index:4;
    right:8px;
    top:8px;
    bottom:8px;
    width:28px;
    height:auto;
    margin:0;
    padding:0;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-compact-add,
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-row-badge{
    display:none!important;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-actions > .fuo-cart-qty,
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-qty{
    position:absolute;
    inset:0;
    width:28px;
    height:auto;
    min-width:28px;
    min-height:0;
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:1fr 1fr 1fr;
    margin:0;
    padding:0;
    overflow:hidden;
    box-sizing:border-box;
    border:1px solid #ff6600;
    border-radius:15px;
    background:#fff;
    box-shadow:none;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-qty button,
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-qty > span{
    width:100%;
    height:100%;
    min-width:0;
    min-height:0;
    display:grid;
    place-items:center;
    margin:0;
    padding:0;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-qty button{
    border:0;
    background:#fff;
    color:#ff6600;
    -webkit-appearance:none;
    appearance:none;
    box-shadow:none;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-qty > span{
    border-top:1px solid rgba(255,102,0,.24);
    border-bottom:1px solid rgba(255,102,0,.24);
    background:#fff;
    color:#191816;
    font-size:10.5px;
    font-weight:700;
    line-height:1;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-qty button .ti{
    color:inherit;
    font-size:15px;
    line-height:1;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-qty button.is-trash{
    color:#e6403b;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-qty button:active{
    background:#fff3ec;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-qty button.is-trash:active{
    background:#fff0ef;
  }

  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-drawer__footer{
    position:absolute!important;
    z-index:6!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    flex:none!important;
    margin:0!important;
    padding:14px 18px calc(16px + env(safe-area-inset-bottom))!important;
    border-top:1px solid rgba(0,0,0,.08)!important;
    background:#fff!important;
    transform:none!important;
    backface-visibility:hidden!important;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-summary{
    color:#726c65!important;
    font-size:13px!important;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-summary strong{color:#191816!important}
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-checkout-button{
    min-height:52px!important;
    border-radius:999px!important;
    background:#ff6422!important;
    font-size:14px!important;
  }
}

/* FoodUp Ordering v0.5.95 — Safari mobile cart product-list scrolling
   Only the product-list body scrolls; header/context/footer remain fixed. */
@media(max-width:768px){
  body.fuo-theme-delivereat .fuo-m-cart-drawer [data-fuo-cart-items][data-fuo-scrollable="1"]{
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-y!important;
    overscroll-behavior-y:contain!important;
  }

  body.fuo-theme-delivereat .fuo-m-cart-drawer [data-fuo-cart-items] > *{
    touch-action:pan-y!important;
  }
}


/* =========================================================
   FoodUp Ordering v0.5.107 — FoodUp Theme CSS Control bridge
   Mobile presentation only. Existing values remain the fallbacks.
   ========================================================= */
@media(max-width:768px){
  /* FoodUp Classic */
  
  
  
  
  
  

  /* DeliverEat storefront theme */
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-category-cover:not(.no-image){
    height:var(--fu-order-category-banner-mobile-height,188px)!important;
    min-height:var(--fu-order-category-banner-mobile-height,188px)!important;
    border-radius:var(--fu-order-category-banner-mobile-radius,20px)!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-category-cover:not(.no-image) h2{
    font-size:var(--fu-order-category-title-mobile-size,29px)!important;
    font-weight:var(--fu-order-category-title-mobile-weight,800)!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-nav__item{
    font-size:var(--fu-order-category-menu-mobile-size,15px)!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-product-card__body h3{
    font-size:var(--fu-order-product-title-mobile-size,17px)!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-product-card__body p{
    font-size:var(--fu-order-product-description-mobile-size,13px)!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-product-price,
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-product-price .amount,
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-product-price .woocommerce-Price-amount{
    font-size:var(--fu-order-product-price-mobile-size,17px)!important;
  }

  /* Mobile cart typography */
  
  
  
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-m-cart-sheet__title-row h2{
    font-size:var(--fu-order-cart-title-mobile-size,22px)!important;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-item__info h3{
    font-size:var(--fu-order-cart-item-title-mobile-size,13px);
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-summary strong{
    font-size:var(--fu-order-cart-total-mobile-size,15px)!important;
  }
}

/* FoodUp Ordering v0.5.116 — canonical hover-capable touch/tablet controls. */
@media (hover:hover) and (pointer:fine){
  .foodup-ordering .fuo-m-product-action .fuo-m-card-qty button,
  body .fuo-m-cart-drawer .fuo-cart-qty button,
  .fuo-addon-modal .fuo-addon-qty button{
    transition:background-color .10s ease-out,color .10s ease-out,transform .10s cubic-bezier(.2,.8,.2,1);
  }
  .foodup-ordering .fuo-m-product-action .fuo-m-card-qty button::before,
  .foodup-ordering .fuo-m-product-action .fuo-m-card-qty button::after{
    content:none;
    display:none;
  }
  .foodup-ordering .fuo-m-product-action .fuo-m-card-qty button:not(.is-trash):hover,
  .foodup-ordering .fuo-m-product-action .fuo-m-card-qty button:not(.is-trash):focus-visible,
  body .fuo-m-cart-drawer .fuo-cart-qty button:not(.is-trash):hover,
  body .fuo-m-cart-drawer .fuo-cart-qty button:not(.is-trash):focus-visible,
  .fuo-addon-modal .fuo-addon-qty button:hover,
  .fuo-addon-modal .fuo-addon-qty button:focus-visible{
    background:var(--fuo-primary);
    color:#fff;
  }
  .foodup-ordering .fuo-m-product-action .fuo-m-card-qty button.is-trash:hover,
  .foodup-ordering .fuo-m-product-action .fuo-m-card-qty button.is-trash:focus-visible,
  body .fuo-m-cart-drawer .fuo-cart-qty button.is-trash:hover,
  body .fuo-m-cart-drawer .fuo-cart-qty button.is-trash:focus-visible{
    background:#d93636;
    color:#fff;
  }
  .foodup-ordering .fuo-m-product-action .fuo-m-card-qty button:hover .ti,
  .foodup-ordering .fuo-m-product-action .fuo-m-card-qty button:focus-visible .ti,
  body .fuo-m-cart-drawer .fuo-cart-qty button:hover .ti,
  body .fuo-m-cart-drawer .fuo-cart-qty button:focus-visible .ti,
  .fuo-addon-modal .fuo-addon-qty button:hover .ti,
  .fuo-addon-modal .fuo-addon-qty button:focus-visible .ti{
    color:#fff;
  }
}


/* =========================================================
   FoodUp Ordering v0.5.126 — mobile cart card geometry cleanup
   Final card geometry without !important. The selector is intentionally
   more specific than the legacy mobile/DeliverEat blocks above.
   ========================================================= */
body .foodup-ordering .fuo-cart-drawer.fuo-m-cart-drawer .fuo-cart-item{
  border-radius:12px;
}

body .foodup-ordering .fuo-cart-drawer.fuo-m-cart-drawer .fuo-cart-item.is-fuo-no-image{
  height:68px;
  min-height:68px;
  max-height:68px;
  padding:0;
}

body .foodup-ordering .fuo-cart-drawer.fuo-m-cart-drawer .fuo-cart-item.is-fuo-no-image .fuo-cart-item__info{
  left:10px;
  top:8px;
  right:42px;
  bottom:8px;
  padding:0;
}

body .foodup-ordering .fuo-cart-drawer.fuo-m-cart-drawer .fuo-cart-item.is-fuo-no-image .fuo-cart-actions{
  top:6px;
  bottom:6px;
}


/* =========================================================
   FoodUp Ordering v0.5.127 — mobile cart horizontal quantity control
   Restores the original 32px button size and lays trash / quantity / plus
   side-by-side. No !important is used in this layer.
   ========================================================= */
body .fuo-m-cart-drawer .fuo-cart-actions,
body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-actions{
  right:6px;
  top:auto;
  bottom:6px;
  width:96px;
  height:32px;
  margin:0;
  padding:0;
}

body .fuo-m-cart-drawer .fuo-cart-actions > .fuo-cart-qty,
body .fuo-m-cart-drawer .fuo-cart-qty,
body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-actions > .fuo-cart-qty,
body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-qty{
  position:absolute;
  inset:auto 0 0 auto;
  width:96px;
  height:32px;
  min-width:96px;
  min-height:32px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:minmax(0,1fr);
  margin:0;
  padding:0;
  overflow:hidden;
  box-sizing:border-box;
  border:1px solid #e0e4e8;
  border-radius:999px;
  background:#fff;
  box-shadow:none;
}

body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-actions > .fuo-cart-qty,
body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-qty{
  border-color:#ff6600;
}

body .fuo-m-cart-drawer .fuo-cart-qty button,
body .fuo-m-cart-drawer .fuo-cart-qty > span,
body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-qty button,
body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-qty > span{
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  margin:0;
  padding:0;
  text-align:center;
  line-height:1;
}

body .fuo-m-cart-drawer .fuo-cart-qty > span,
body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-qty > span{
  border-top:0;
  border-bottom:0;
  border-left:1px solid #e0e4e8;
  border-right:1px solid #e0e4e8;
  background:#fff;
  font-size:11px;
  line-height:1;
}

body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-qty > span{
  border-left-color:rgba(255,102,0,.24);
  border-right-color:rgba(255,102,0,.24);
}

body .fuo-m-cart-drawer .fuo-cart-qty button .ti,
body .fuo-m-cart-drawer .fuo-cart-qty [data-fuo-qty-plus] .ti,
body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-qty button .ti{
  display:block;
  font-size:16px;
  line-height:1;
}

body .fuo-m-cart-drawer .fuo-cart-qty button.is-trash .ti-trash,
body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-qty button.is-trash .ti-trash{
  font-size:16px;
}

body .fuo-m-cart-drawer .fuo-cart-compact-add,
body .fuo-m-cart-drawer .fuo-cart-row-badge,
body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-compact-add,
body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-row-badge{
  display:none;
}

body .fuo-m-cart-drawer .fuo-cart-item__info,
body .fuo-m-cart-drawer .fuo-cart-item.is-fuo-no-image .fuo-cart-item__info,
body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-item__info,
body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-item.is-fuo-no-image .fuo-cart-item__info{
  right:10px;
}

body .fuo-m-cart-drawer .fuo-cart-item__bottom,
body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-item__bottom{
  padding-right:104px;
}


/* FoodUp Ordering v0.5.130 — no-image catalogue cards only. */
@media (max-width:768px){
  .foodup-ordering .fuo-m-product-list > .fuo-m-product-card.is-fuo-image-suppressed{
    --fuo-mobile-product-body-left:14px;
  }
}

/* ===== Touch: no sticky hover colours on quantity buttons (v0.5.170) =====
   On touch screens the browser keeps :hover after a tap, so a tapped trash
   stayed red and a tapped plus stayed filled. Devices without a real hover
   keep the buttons in their normal look. */
@media (hover:none){
  .foodup-ordering .fuo-m-product-action .fuo-m-card-qty button:hover,
  body .fuo-m-cart-drawer .fuo-cart-qty button:hover,
  .fuo-addon-modal .fuo-addon-qty button:hover{
    background:#fff;
    color:var(--fuo-primary);
  }
  .foodup-ordering .fuo-m-product-action .fuo-m-card-qty button.is-trash:hover,
  body .fuo-m-cart-drawer .fuo-cart-qty button.is-trash:hover{
    background:#fff;
    color:#d93636;
  }
  body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-qty button.is-trash:hover{
    color:#e6403b;
  }
  .foodup-ordering .fuo-m-product-action .fuo-m-card-qty button:hover .ti,
  body .fuo-m-cart-drawer .fuo-cart-qty button:hover .ti,
  .fuo-addon-modal .fuo-addon-qty button:hover .ti{
    color:inherit;
  }
}

/* ===== Mobile cart quantity exact centring =====
   The 96x32 outer control includes a 1px border, so the three cells must share
   the inner box instead of each forcing 32px. Draw +/- geometrically so iOS
   font baselines cannot shift them off-centre. */
body .fuo-m-cart-drawer .fuo-cart-qty [data-fuo-qty-plus],
body .fuo-m-cart-drawer .fuo-cart-qty [data-fuo-qty-minus]:not(.is-trash),
body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-qty [data-fuo-qty-plus],
body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-qty [data-fuo-qty-minus]:not(.is-trash){
  position:relative;
}

body .fuo-m-cart-drawer .fuo-cart-qty [data-fuo-qty-plus] .ti,
body .fuo-m-cart-drawer .fuo-cart-qty [data-fuo-qty-minus]:not(.is-trash) .ti,
body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-qty [data-fuo-qty-plus] .ti,
body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-qty [data-fuo-qty-minus]:not(.is-trash) .ti{
  display:none;
}

body .fuo-m-cart-drawer .fuo-cart-qty [data-fuo-qty-plus]::before,
body .fuo-m-cart-drawer .fuo-cart-qty [data-fuo-qty-plus]::after,
body .fuo-m-cart-drawer .fuo-cart-qty [data-fuo-qty-minus]:not(.is-trash)::before,
body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-qty [data-fuo-qty-plus]::before,
body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-qty [data-fuo-qty-plus]::after,
body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-qty [data-fuo-qty-minus]:not(.is-trash)::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:13px;
  height:2px;
  display:block;
  margin:0;
  border-radius:999px;
  background:currentColor;
  transform:translate(-50%,-50%);
  pointer-events:none;
}

body .fuo-m-cart-drawer .fuo-cart-qty [data-fuo-qty-plus]::after,
body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-qty [data-fuo-qty-plus]::after{
  transform:translate(-50%,-50%) rotate(90deg);
}

body .fuo-m-cart-drawer .fuo-cart-qty button.is-trash .ti,
body.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-qty button.is-trash .ti{
  width:1em;
  height:1em;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
  line-height:1;
}

/* v0.5.198: category header without image — title and "x Artikel" stacked, no hero shadow. */
@media (max-width:768px){
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-category-cover.no-image{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    gap:4px!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-category-cover.no-image h2{
    position:static!important;
    max-width:100%!important;
    margin:0!important;
    text-shadow:none!important;
  }
  body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-category-cover.no-image .fuo-m-category-cover__count{
    position:static!important;
    margin:0!important;
    text-shadow:none!important;
  }
}
