
.foodup-ordering{
  --fuo-primary:var(--foodup-brand-color,var(--fu-primary,#ff6600));
  --fuo-secondary:var(--fu-secondary,#00a5a0);
  --fuo-text:#17191c;
  --fuo-muted:#6b7280;
  --fuo-border:#d8dde3;
  --fuo-surface:#fff;
  --fuo-soft:#f6f7f8;
  --fuo-header-offset:calc(var(--fu-topbar-height,37px) + var(--fu-normal-header-row,78px) + 8px);
  width:min(1180px,calc(100% - 30px));
  margin:0 auto;
  padding:0 0 70px;
  color:var(--fuo-text);
  font-family:'Inter',Arial,sans-serif;
}

.foodup-ordering *,
.foodup-ordering *::before,
.foodup-ordering *::after{
  box-sizing:border-box;
}

.fuo-toolbar{
  position:sticky;
  z-index:30;
  top:var(--fuo-header-offset);
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:16px;
  align-items:stretch;
  margin-bottom:16px;
  padding:8px 0;
  background:rgba(245,245,245,.96);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.fuo-shop-status{
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:10px 14px;
  border-radius:10px;
  color:#fff;
  font-size:14px;
  font-weight:700;
  text-align:center;
}

.fuo-shop-status.is-open{background:#009b53}
.fuo-shop-status.is-preorder{background:#d98200}
.fuo-shop-status.is-closed{background:#c9362b}
.fuo-shop-status .ti{font-size:19px}

.fuo-horizontal-menu{
  min-width:0;
  display:flex;
  align-items:center;
  border:1px solid var(--fuo-border);
  border-radius:10px;
  background:var(--fuo-surface);
  overflow:hidden;
}

.fuo-horizontal-menu__track{
  width:100%;
  display:flex;
  align-items:center;
  gap:8px;
  overflow-x:auto;
  padding:8px;
  scrollbar-width:none;
  scroll-behavior:smooth;
}
.fuo-horizontal-menu__track::-webkit-scrollbar{display:none}

.fuo-horizontal-menu__item{
  flex:0 0 auto;
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 14px;
  border:1px solid #d4d7db;
  border-radius:5px;
  background:#ecebea;
  color:#111;
  font-size:14px;
  font-weight:700;
  text-decoration:none;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}

.fuo-horizontal-menu__item:hover{
  border-color:var(--fuo-primary);
  color:#111;
}

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

.fuo-layout{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:16px;
  align-items:start;
}

.fuo-sidebar{
  min-width:0;
}

.fuo-vertical-menu{
  position:sticky;
  top:calc(var(--fuo-header-offset) + 82px);
  max-height:calc(100vh - var(--fuo-header-offset) - 100px);
  overflow-y:auto;
  padding:8px;
  border:1px solid var(--fuo-border);
  border-radius:10px;
  background:#fff;
  scrollbar-width:thin;
  scrollbar-color:rgba(0,0,0,.22) transparent;
}

.fuo-vertical-menu ul{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin:0;
  padding:0;
  list-style:none;
}

.fuo-vertical-menu__item{
  position:relative;
  min-height:42px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 12px 8px 15px;
  overflow:hidden;
  border:1px solid #d4d7db;
  border-radius:5px;
  background:#f7f7f7;
  color:#111;
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}

.fuo-vertical-menu__item::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:var(--fuo-secondary);
  transform:scaleY(0);
  transform-origin:center;
  transition:transform .2s ease;
}

.fuo-vertical-menu__item .ti{
  margin-left:auto;
  font-size:16px;
  transition:transform .18s ease,color .18s ease;
}

.fuo-vertical-menu__item:hover{
  border-color:var(--fuo-primary);
  background:#f2f2f2;
}
.fuo-vertical-menu__item:hover::before{transform:scaleY(1)}
.fuo-vertical-menu__item:hover .ti{color:var(--fuo-primary);transform:translateX(2px)}

.fuo-vertical-menu__item.is-active{
  border-color:var(--fuo-primary);
  background:var(--fuo-primary);
  color:#fff;
}
.fuo-vertical-menu__item.is-active::before{transform:scaleY(1)}
.fuo-vertical-menu__item.is-active .ti{color:#fff}

.fuo-menu-content{
  min-width:0;
}

.fuo-category-section{
  scroll-margin-top:calc(var(--fuo-header-offset) + 94px);
  margin:0 0 26px;
}

.fuo-category-hero{
  position:relative;
  min-height:180px;
  display:flex;
  align-items:flex-start;
  padding:18px 20px;
  overflow:hidden;
  border:1px solid var(--fuo-border);
  border-radius:10px;
  background:#181818;
  background-size:cover;
  background-position:center;
}

.fuo-category-hero.no-image{
  background:linear-gradient(135deg,#26282b,#111);
}

.fuo-category-hero h2{
  position:relative;
  font-family:'Inter',Arial,sans-serif;
  z-index:1;
  margin:0;
  color:#fff;
  font-size:27px;
  font-weight:600;
  text-transform:uppercase;
  line-height:1.15;
}

.fuo-product-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}

.fuo-product-card{
  min-height:122px;
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  overflow:hidden;
  border:1px solid var(--fuo-border);
  border-radius:10px;
  background:#fff;
  transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}

.fuo-product-card:hover{
  border-color:#c5cbd2;
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(17,24,39,.055);
}

.fuo-product-card__media{
  min-height:122px;
  background:#f2f2f2;
  overflow:hidden;
}

.fuo-product-card__media img{
  width:100%;
  height:100%;
  min-height:122px;
  display:block;
  object-fit:cover;
  object-position:center;
}

.fuo-product-card__body{
  min-width:0;
  display:flex;
  flex-direction:column;
  padding:11px 11px 9px;
}

.fuo-product-card__body h3{
  margin:0 0 4px;
  color:#111;
  font-size:15px;
  font-weight:700;
  line-height:1.25;
}

.fuo-product-card__body p{
  margin:0;
  display:-webkit-box;
  overflow:hidden;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  color:#24272c;
  font-size:12px;
  line-height:1.35;
}

.fuo-product-card__bottom{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:8px;
  margin-top:auto;
  padding-top:8px;
}

.fuo-product-price{
  color:#111;
  font-size:14px;
  font-weight:800;
}
.fuo-product-price del{opacity:.5;font-weight:500}
.fuo-product-price ins{text-decoration:none}

/* While the add-on modal is open, show messages at the top of the screen so
   they never cover the options the customer has to choose. */

.fuo-notice{
  width:min(900px,calc(100% - 32px));
  margin:30px auto;
  padding:18px;
  border:1px solid #d7dce1;
  border-radius:10px;
  background:#fff;
}
.fuo-notice--error{border-color:#e5b9b9;background:#fff8f8;color:#8d2626}

@media(max-width:900px){
  .fuo-toolbar{
    grid-template-columns:210px minmax(0,1fr);
  }
  .fuo-layout{
    grid-template-columns:210px minmax(0,1fr);
  }
  .fuo-product-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:768px){
  .foodup-ordering{
    width:100%;
    padding:0 10px 95px;
    --fuo-header-offset:70px;
  }

  .fuo-toolbar{
    top:64px;
    grid-template-columns:1fr;
    gap:8px;
    margin-left:-10px;
    margin-right:-10px;
    padding:8px 10px;
    background:rgba(245,245,245,.98);
  }

  .fuo-shop-status{
    min-height:50px;
    border-radius:12px;
  }

  .fuo-horizontal-menu{
    border-radius:8px;
  }

  .fuo-horizontal-menu__item{
    min-height:38px;
    font-size:14px;
    padding:7px 14px;
  }

  .fuo-layout{
    display:block;
  }

  .fuo-sidebar{
    display:none;
  }

  .fuo-category-section{
    scroll-margin-top:176px;
    margin-bottom:22px;
  }

  .fuo-category-hero{
    min-height:142px;
    padding:15px 16px;
    border-radius:9px;
  }

  .fuo-category-hero h2{
    font-size:23px;
  }

  .fuo-product-grid{
    grid-template-columns:1fr;
    gap:9px;
    margin-top:10px;
  }

  .fuo-product-card{
    grid-template-columns:102px minmax(0,1fr);
    min-height:112px;
  }

  .fuo-product-card__media,
.fuo-product-card__media img{
    min-height:112px;
  }
}

@media(max-width:420px){
  .fuo-product-card{
    grid-template-columns:92px minmax(0,1fr);
  }
  .fuo-product-card__body{
    padding:9px;
  }
  .fuo-product-card__body h3{
    font-size:14px;
  }
  .fuo-product-card__body p{
    -webkit-line-clamp:2;
    font-size:11.5px;
  }
  .fuo-product-card__media,
.fuo-product-card__media img{
    min-height:106px;
  }
}


/* =========================================================
   FoodUp Ordering v0.1.2 — DESKTOP STICKY MENU / MOBILE TABS
   ========================================================= */

/* Horizontal category navigation is MOBILE ONLY. */
.fuo-mobile-toolbar{
  display:none;
}

/*
 * Desktop layout must stretch the sidebar to the full height of the
 * product column. Without this, CSS sticky has no scrollable containing
 * block and the left menu appears non-sticky.
 */
@media(min-width:769px){
  .fuo-layout{
    align-items:stretch !important;
  }

  .fuo-sidebar{
    display:block !important;
    align-self:stretch !important;
    position:relative;
    min-width:0;
  }

  .fuo-sidebar__sticky{
    display:flex;
    flex-direction:column;
    gap:10px;
  }

  .fuo-sidebar__sticky .fuo-shop-status{
    width:100%;
    flex:0 0 auto;
  }

  .fuo-category-section{
    scroll-margin-top:calc(
      var(--fu-topbar-height,37px)
      + var(--fu-normal-header-row,78px)
      + 10px
    ) !important;
  }
}

/* Mobile: status + horizontal swipe tabs become the sticky navigation. */
@media(max-width:768px){
  .fuo-mobile-toolbar{
    position:sticky;
    z-index:35;
    top:64px;
    display:flex;
    flex-direction:column;
    gap:8px;
    margin:0 -10px 10px;
    padding:8px 10px;
    background:rgba(245,245,245,.98);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
  }

  .fuo-mobile-toolbar .fuo-shop-status{
    width:100%;
    min-height:50px;
    border-radius:10px;
  }

  .fuo-horizontal-menu{
    display:flex !important;
    width:100%;
    border-radius:8px;
  }

  .fuo-sidebar{
    display:none !important;
  }

  .fuo-category-section{
    scroll-margin-top:176px !important;
  }
}


/* =========================================================
   FoodUp Ordering v0.1.3 — MINIMAL MODERN SIDEBAR
   ========================================================= */

/* ---------- Status box ---------- */

.fuo-shop-status{
  position:relative;
  min-height:48px !important;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px !important;
  overflow:hidden;
  border:1px solid transparent;
  box-shadow:none !important;
  color:#fff !important;
  font-size:13.5px !important;
  font-weight:750 !important;
  line-height:1.2 !important;
  letter-spacing:-.01em;
  white-space:nowrap;
  text-align:center;
}

/*
 * Flash = a gentle color pulse, not opacity blinking.
 * Text stays readable at all times.
 */
.fuo-shop-status.is-open{
  background:#078b50 !important;
  border-color:#078b50 !important;
  animation:fuo-status-open-pulse 1.65s ease-in-out infinite;
}

.fuo-shop-status.is-preorder{
  border-color:#c97c08 !important;
  animation:fuo-status-preorder-pulse 1.65s ease-in-out infinite;
}

.fuo-shop-status.is-closed{
  border-color:#bf3131 !important;
  animation:fuo-status-closed-pulse 1.65s ease-in-out infinite;
}

@keyframes fuo-status-open-pulse{
  0%,100%{
    background:#078b50;
    border-color:#078b50;
  }
  50%{
    background:#00a95c;
    border-color:#00a95c;
  }
}

@keyframes fuo-status-preorder-pulse{
  0%,100%{
    background:#b86f07;
    border-color:#b86f07;
  }
  50%{
    background:#dc930f;
    border-color:#dc930f;
  }
}

@keyframes fuo-status-closed-pulse{
  0%,100%{
    background:#b72f2f;
    border-color:#b72f2f;
  }
  50%{
    background:#df4242;
    border-color:#df4242;
  }
}

/* ---------- Sidebar shell ---------- */

@media(min-width:769px){
  .fuo-sidebar__sticky{
  }

  .fuo-vertical-menu{
    border-radius:10px !important;
    background:#fff !important;
    box-shadow:none !important;
  }

  .fuo-vertical-menu ul{
    gap:4px !important;
  }
}

/* ---------- Category menu items ---------- */

.fuo-vertical-menu__item{
  min-height:40px !important;
  display:flex !important;
  align-items:center !important;
  padding:8px 11px !important;
  overflow:hidden !important;
  border:1px solid transparent !important;
  border-radius:7px !important;
  background:#f7f8f9 !important;
  color:#23272d !important;
  box-shadow:none !important;
  font-size:13.5px !important;
  font-weight:620 !important;
  line-height:1.2 !important;
  text-decoration:none !important;
  transition:
    background-color .16s ease,
    border-color .16s ease,
    color .16s ease,
    transform .16s ease !important;
}

/* remove the old thick turquoise active/hover bar */
.fuo-vertical-menu__item::before{
  display:none !important;
  content:none !important;
}

.fuo-vertical-menu__label{
  min-width:0;
  width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap !important;
}

/* Hover: subtle, clean and flat */
.fuo-vertical-menu__item:hover{
  background:#fff8f3 !important;
  border-color:color-mix(in srgb, var(--fuo-primary) 55%, #dfe3e8) !important;
  color:var(--fuo-primary) !important;
  transform:translateX(2px);
}

/* Active: light orange surface rather than a heavy filled block */
.fuo-vertical-menu__item.is-active{
  background:color-mix(in srgb, var(--fuo-primary) 10%, #ffffff) !important;
  border-color:var(--fuo-primary) !important;
  color:var(--fuo-primary) !important;
  font-weight:760 !important;
  box-shadow:none !important;
}

/* keyboard accessibility */
.fuo-vertical-menu__item:focus-visible{
  outline:2px solid rgba(17,24,39,.28);
  outline-offset:1px;
}

/* ---------- Mobile horizontal categories ---------- */

.fuo-horizontal-menu{
  border:1px solid #dfe3e8 !important;
  border-radius:9px !important;
  background:#fff !important;
  box-shadow:none !important;
}

.fuo-horizontal-menu__track{
  gap:6px !important;
  padding:6px !important;
}

.fuo-horizontal-menu__item{
  min-height:36px !important;
  padding:7px 13px !important;
  border:1px solid #e0e3e7 !important;
  border-radius:7px !important;
  background:#f6f7f8 !important;
  color:#30343a !important;
  box-shadow:none !important;
  font-size:13.5px !important;
  font-weight:650 !important;
  transition:
    background-color .16s ease,
    border-color .16s ease,
    color .16s ease,
    transform .16s ease !important;
}

.fuo-horizontal-menu__item:hover{
  background:#fff8f3 !important;
  border-color:color-mix(in srgb, var(--fuo-primary) 55%, #dfe3e8) !important;
  color:var(--fuo-primary) !important;
}

.fuo-horizontal-menu__item.is-active{
  background:var(--fuo-primary) !important;
  border-color:var(--fuo-primary) !important;
  color:#fff !important;
  box-shadow:none !important;
}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
  .fuo-shop-status.is-open,
.fuo-shop-status.is-preorder,
.fuo-shop-status.is-closed{
    animation:none !important;
  }

  .fuo-vertical-menu__item,
.fuo-horizontal-menu__item{
    transition:none !important;
  }
}


/* =========================================================
   FoodUp Ordering v0.1.4 — CLEAN SIDEBAR REDESIGN
   ========================================================= */

/* Hide the theme's generic page heading on the dedicated ordering page. */
body.fuo-ordering-page main.fu-section article > h1:first-child,
body.fuo-ordering-page .entry-title,
body.fuo-ordering-page .wp-block-post-title{
  display:none !important;
}

/* Avoid leaving an oversized title gap once the page heading is removed. */
body.fuo-ordering-page main.fu-section article{
  margin-top:0 !important;
}

/* Desktop left column is 15px wider than before. */
@media(min-width:769px){
  .fuo-layout{
    grid-template-columns:275px minmax(0,1fr) !important;
  }

  .fuo-sidebar{
    width:275px;
  }
}

/* ---------------------------------------------------------
   Status box: clearly visible flashing color, without blinking text
   --------------------------------------------------------- */

.fuo-shop-status{
  position:relative !important;
  isolation:isolate;
  overflow:hidden !important;
  min-height:48px !important;
  border:0 !important;
  border-radius:9px !important;
  box-shadow:none !important;
  white-space:nowrap !important;
}

.fuo-shop-status span{
  position:relative;
  z-index:2;
  white-space:nowrap;
}

/*
 * A soft light layer flashes over the background.
 * This avoids the old CSS issue where !important background colors
 * prevented the keyframe background animation from being visible.
 */
.fuo-shop-status::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  background:rgba(255,255,255,.24);
  opacity:0;
  pointer-events:none;
  animation:fuo-status-visible-flash 1.35s ease-in-out infinite;
}

.fuo-shop-status.is-open{
  background:#078b50 !important;
}

.fuo-shop-status.is-closed{
  background:#c63434 !important;
}

.fuo-shop-status.is-preorder{
  background:#c98209 !important;
}

@keyframes fuo-status-visible-flash{
  0%,100%{opacity:0}
  46%{opacity:0}
  58%{opacity:.30}
  72%{opacity:0}
}

/* ---------------------------------------------------------
   Desktop category menu: modern flat navigation list
   --------------------------------------------------------- */

@media(min-width:769px){
  .fuo-sidebar__sticky{
    gap:8px !important;
  }

  .fuo-vertical-menu{
    padding:5px !important;
    overflow-y:auto;
    border:1px solid #dde1e6 !important;
    border-radius:10px !important;
    background:#fff !important;
    box-shadow:none !important;
  }

  .fuo-vertical-menu ul{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
  }

  .fuo-vertical-menu li{
    position:relative;
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
  }

  .fuo-vertical-menu li + li{
    border-top:1px solid #edf0f2;
  }

  .fuo-vertical-menu__item{
    position:relative;
    min-height:42px !important;
    display:flex !important;
    align-items:center !important;
    width:100%;
    margin:0 !important;
    padding:9px 12px 9px 13px !important;
    overflow:hidden;
    border:0 !important;
    border-radius:6px !important;
    background:transparent !important;
    color:#24282e !important;
    box-shadow:none !important;
    font-size:13.5px !important;
    font-weight:600 !important;
    line-height:1.2 !important;
    text-decoration:none !important;
    cursor:pointer;
    transition:
      background-color .16s ease,
      color .16s ease,
      padding-left .16s ease !important;
  }

  .fuo-vertical-menu__label{
    display:block;
    width:100%;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap !important;
  }

  /* Thin active marker, not the old heavy turquoise/orange block. */
  .fuo-vertical-menu__item::before{
    content:"" !important;
    display:block !important;
    position:absolute;
    left:0;
    top:8px;
    bottom:8px;
    width:3px;
    border-radius:0 3px 3px 0;
    background:var(--fuo-primary);
    opacity:0;
    transform:scaleY(.35);
    transition:
      opacity .16s ease,
      transform .16s ease !important;
  }

  /* Hover stays neutral and minimal. */
  .fuo-vertical-menu__item:hover{
    padding-left:15px !important;
    background:#f5f6f7 !important;
    color:#171a1e !important;
    transform:none !important;
  }

  .fuo-vertical-menu__item:hover::before{
    opacity:.45;
    transform:scaleY(.7);
  }

  /* Active state is light, clean and easy to scan. */
  .fuo-vertical-menu__item.is-active{
    padding-left:15px !important;
    background:#fff5ec !important;
    color:var(--fuo-primary) !important;
    font-weight:750 !important;
  }

  .fuo-vertical-menu__item.is-active::before{
    opacity:1;
    transform:scaleY(1);
  }

  .fuo-vertical-menu__item.is-active:hover{
    background:#fff1e5 !important;
    color:var(--fuo-primary) !important;
  }

  .fuo-vertical-menu__item:focus-visible{
    outline:2px solid rgba(17,24,39,.28);
    outline-offset:-2px;
  }
}

/* Mobile pills stay modern but visually separate from desktop sidebar. */
@media(max-width:768px){
  .fuo-horizontal-menu{
    border:1px solid #dde1e6 !important;
    border-radius:9px !important;
    box-shadow:none !important;
  }

  .fuo-horizontal-menu__track{
    gap:6px !important;
    padding:6px !important;
  }

  .fuo-horizontal-menu__item{
    border:1px solid #e0e3e7 !important;
    border-radius:7px !important;
    background:#f7f8f9 !important;
    color:#292d32 !important;
    box-shadow:none !important;
    font-weight:650 !important;
  }

  .fuo-horizontal-menu__item:hover{
    background:#fff5ec !important;
    border-color:#ffc28f !important;
    color:var(--fuo-primary) !important;
  }

  .fuo-horizontal-menu__item.is-active{
    background:var(--fuo-primary) !important;
    border-color:var(--fuo-primary) !important;
    color:#fff !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .fuo-shop-status::after{
    animation:none !important;
  }
}


/* =========================================================
   FoodUp Ordering v0.1.6 — PRODUCT INTERACTION REFINEMENT
   ========================================================= */

/* Smooth status pulse: no abrupt flash, text stays steady. */
.fuo-shop-status.is-open,
.fuo-shop-status.is-closed,
.fuo-shop-status.is-preorder{
  animation:none !important;
}

.fuo-shop-status::after{
  background:rgba(255,255,255,.20) !important;
  opacity:.04;
  animation:fuo-status-soft-pulse 2.35s ease-in-out infinite !important;
}

@keyframes fuo-status-soft-pulse{
  0%,100%{opacity:.03}
  50%{opacity:.23}
}

/* Product card is the clickable surface. Keep the hover motion lightweight. */
.fuo-product-card{
  cursor:pointer;
  box-shadow:none;
  transform:translate3d(0,0,0);
  transition:
    border-color .16s ease,
    background-color .16s ease,
    box-shadow .16s cubic-bezier(.2,.8,.2,1),
    transform .16s cubic-bezier(.2,.8,.2,1);
}

.fuo-product-card:hover{
  border-color:var(--fuo-primary);
  box-shadow:0 8px 20px rgba(17,24,39,.07);
  transform:translate3d(0,-1px,0);
}

.fuo-product-card:focus-visible{
  outline:2px solid color-mix(in srgb, var(--fuo-primary) 35%, transparent);
  outline-offset:2px;
}

/* Guarantee readable CHF spacing even when inherited theme CSS is tight. */
.fuo-product-price .woocommerce-Price-currencySymbol{
  margin-right:4px;
}

/* Action area has enough room for either + or inline quantity control. */


/* Smooth lightweight loading state for the + button. */


@keyframes fuo-spin{
  to{transform:rotate(360deg)}
}

/* [-] [quantity] [+] shown after a simple product is in cart. */


/*
 * Invisible tail lets the final category align to the exact same top position
 * as Pizza/Burger without forcing the wrong active menu item.
 */
.fuo-scroll-tail{
  width:100%;
  height:0;
  pointer-events:none;
}

/* Mobile quantity control stays compact. */


@media(prefers-reduced-motion:reduce){
  .fuo-shop-status::after{
    animation:none !important;
    opacity:.08;
  }
}


/* =========================================================
   FoodUp Ordering v0.2 — Add-on Modal
   ========================================================= */

html.fuo-modal-open,
html.fuo-modal-open body{
  overflow:hidden!important;
}

.fuo-addon-backdrop{
  position:fixed;
  z-index:99990;
  inset:0;
  background:rgba(16,20,24,.42);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
  opacity:0;
  animation:fuo-backdrop-in .18s ease forwards;
}

@keyframes fuo-backdrop-in{
  to{opacity:1}
}

.fuo-addon-modal{
  position:fixed;
  z-index:99991;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  pointer-events:none;
  visibility:hidden;
}

.fuo-addon-modal.is-open{
  pointer-events:auto;
  visibility:visible;
}

.fuo-addon-modal__shell{
  width:min(620px,100%);
  max-height:min(760px,calc(100vh - 44px));
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid #dde2e6;
  border-radius:16px;
  background:#fff;
  box-shadow:0 18px 55px rgba(18,24,29,.16);
  opacity:0;
  transform:translateY(16px) scale(.985);
  transition:opacity .20s ease,transform .24s cubic-bezier(.2,.8,.2,1);
}

.fuo-addon-modal.is-open .fuo-addon-modal__shell{
  opacity:1;
  transform:translateY(0) scale(1);
}

.fuo-addon-modal__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:16px;
  border-bottom:1px solid #edf0f2;
}

.fuo-addon-modal__product{
  min-width:0;
  display:flex;
  align-items:center;
  gap:12px;
}

.fuo-addon-modal__image{
  width:68px;
  height:68px;
  flex:0 0 68px;
  overflow:hidden;
  border-radius:10px;
  background:#f1f3f4;
}

.fuo-addon-modal__image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
}

.fuo-addon-modal__product>div:last-child{
  min-width:0;
}

.fuo-addon-modal__product span{
  display:block;
  margin-bottom:3px;
  color:#7b838d;
  font-size:11px;
  font-weight:650;
}

.fuo-addon-modal__product h2{
}

.fuo-addon-modal__product strong{
  font-size:13px;
}

.fuo-addon-modal__close{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:1px solid #dfe3e6;
  border-radius:50%;
  background:#fff;
  color:#2a3036;
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease;
}

.fuo-addon-modal__close:hover{
  background:#f4f5f6;
  border-color:#c8ced3;
}

.fuo-addon-form{
  min-height:0;
  display:flex;
  flex-direction:column;
}

.fuo-addon-modal__body{
  min-height:0;
  overflow-y:auto;
  padding:4px 16px 16px;
}

.fuo-addon-field{
  padding:16px 0;
  border-bottom:1px solid #edf0f2;
}

.fuo-addon-field:last-child{
  border-bottom:0;
}

.fuo-addon-field.has-error{
  animation:fuo-field-error .35s ease 2;
}

/* Persistent required-field error: red "Erforderlich" badge and red list border. */
.fuo-addon-field.has-error .fuo-addon-field__head>span.is-required{
  background:#fee2e2;
  color:#b91c1c;
}
.fuo-addon-field.has-error .fuo-addon-options{
  border-color:#dc2626 !important;
  box-shadow:0 0 0 3px rgba(220,38,38,.12);
}

@keyframes fuo-field-error{
  50%{background:#fff1f1}
}

.fuo-addon-field__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.fuo-addon-field__head h3{
  margin:0!important;
}

.fuo-addon-field__head p{
  margin:3px 0 0!important;
  color:#717a83;
}

.fuo-addon-field__head>span{
  flex:0 0 auto;
  padding:4px 7px;
  border-radius:999px;
  background:#f1f3f4;
  color:#6d757e;
  font-size:10px;
  font-weight:700;
}

.fuo-addon-field__head>span.is-required{
  background:color-mix(in srgb,var(--fuo-primary) 10%,#fff);
  color:var(--fuo-primary);
}

.fuo-addon-options{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.fuo-addon-option{
  position:relative;
  min-height:50px;
  display:grid;
  grid-template-columns:24px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:9px 11px;
  border:1px solid #dde2e6;
  border-radius:10px;
  background:#fff;
  cursor:pointer;
  transition:border-color .17s ease,background-color .17s ease;
}

.fuo-addon-option:hover{
  border-color:color-mix(in srgb,var(--fuo-primary) 60%,#dde2e6);
  background:color-mix(in srgb,var(--fuo-primary) 3%,#fff);
}

.fuo-addon-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.fuo-addon-option__control{
  width:20px;
  height:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1.5px solid #bcc4cb;
  border-radius:6px;
  background:#fff;
  transition:border-color .16s ease,background-color .16s ease;
}

.fuo-addon-option input[type="radio"] + .fuo-addon-option__control{
  border-radius:50%;
}

.fuo-addon-option input:checked + .fuo-addon-option__control{
  border-color:var(--fuo-primary);
  background:var(--fuo-primary);
  box-shadow:inset 0 0 0 4px #fff;
}

.fuo-addon-option input[type="checkbox"]:checked + .fuo-addon-option__control{
  box-shadow:none;
}

.fuo-addon-option input[type="checkbox"]:checked + .fuo-addon-option__control::after{
  content:"";
  width:7px;
  height:4px;
  border-left:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(-45deg) translateY(-1px);
}

.fuo-addon-option:has(input:checked){
  border-color:var(--fuo-primary);
  background:color-mix(in srgb,var(--fuo-primary) 5%,#fff);
}

.fuo-addon-option__label{
  min-width:0;
  color:#20262c;
  font-size:13px;
  font-weight:600;
}

.fuo-addon-option__price{
  color:#505860;
  font-size:12px;
  font-weight:650;
}

.fuo-addon-modal__footer{
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:10px;
  padding:12px 16px 16px;
  border-top:1px solid #e8ecef;
  background:#fff;
}

.fuo-addon-qty{
  height:48px;
  display:grid;
  grid-template-columns:36px 40px 36px;
  align-items:center;
  border:1px solid #d6dce1;
  border-radius:10px;
  background:#fff;
}

.fuo-addon-qty button{
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:0;
  background:transparent;
  color:#30363c;
  cursor:pointer;
}

.fuo-addon-qty span{
  display:flex;
  align-items:center;
  justify-content:center;
  height:100%;
  font-size:13px;
  font-weight:750;
}

.fuo-addon-submit{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 16px;
  border:1px solid var(--fuo-primary);
  border-radius:10px;
  background:var(--fuo-primary-btn,var(--fuo-primary));
  color:#fff;
  font-weight:750;
  cursor:pointer;
  transition:opacity .16s ease,transform .14s ease;
}

.fuo-addon-submit:hover{
  opacity:.94;
}

.fuo-addon-submit:active{
  transform:scale(.99);
}

.fuo-addon-submit:disabled{
  opacity:.55;
  cursor:wait;
}

@media(max-width:600px){
  .fuo-addon-modal{
    align-items:flex-end;
    padding:0;
  }

  .fuo-addon-modal__shell{
    width:100%;
    max-height:88vh;
    border-radius:16px 16px 0 0;
    transform:translateY(30px);
  }

  .fuo-addon-modal__footer{
    grid-template-columns:104px minmax(0,1fr);
    padding-bottom:max(14px,env(safe-area-inset-bottom));
  }
}

@media(prefers-reduced-motion:reduce){
  .fuo-addon-modal__shell{
    transition:none;
  }
}


/* =========================================================
   FoodUp Ordering v0.2.6 — compact add-on popup
   ========================================================= */

/* Add-on products use the same + action icon as every other product. */


/* More compact field spacing. */
.fuo-addon-field{
}

.fuo-addon-field__head{
}

.fuo-addon-field__head h3{
}

.fuo-addon-field__head p{
}

/*
 * One clean list per add-on field.
 * Individual choices are rows with dividers, not separate rounded boxes.
 */
.fuo-addon-options{
  --fuo-addon-option-row-height:42px;
  display:block !important;
  gap:0 !important;
  overflow:hidden;
  border:1px solid #e2e6e9;
  border-radius:10px;
  background:#fff;
}

.fuo-addon-options.is-scrollable{
  max-height:calc(var(--fuo-addon-option-row-height) * 7);
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:#c7cdd3 transparent;
}

.fuo-addon-options.is-scrollable::-webkit-scrollbar{
  width:7px;
}

.fuo-addon-options.is-scrollable::-webkit-scrollbar-track{
  background:transparent;
}

.fuo-addon-options.is-scrollable::-webkit-scrollbar-thumb{
  border:2px solid transparent;
  border-radius:999px;
  background:#c7cdd3;
  background-clip:padding-box;
}

.fuo-addon-option{
  display:grid !important;
  align-items:center !important;
  margin:0 !important;
  border:0 !important;
  border-bottom:1px solid #edf0f2 !important;
  background:#fff !important;
  box-sizing:border-box;
}

.fuo-addon-option:last-child{
  border-bottom:0 !important;
}

.fuo-addon-option:hover{
}

.fuo-addon-option:has(input:checked){
}

.fuo-addon-option__control{
}

.fuo-addon-option__label{
  font-size:12px !important;
  font-weight:600 !important;
}

.fuo-addon-option__price{
  font-size:11px !important;
  white-space:nowrap;
}

.fuo-addon-modal__body{
}


/* =========================================================
   FoodUp Ordering v0.2.7 — control polish + cart add-on summary
   ========================================================= */

/* Clean centered checkbox checkmark using Tabler Icons. */
.fuo-addon-option__control{
  position:relative;
  overflow:hidden;
}

.fuo-addon-option__control .ti{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  color:#fff;
  font-size:14px;
  line-height:1;
  opacity:0;
  transform:scale(.68);
  transition:opacity .14s ease,transform .16s cubic-bezier(.2,.8,.2,1);
}

.fuo-addon-option input[type="checkbox"]:checked + .fuo-addon-option__control{
  border-color:var(--fuo-primary)!important;
  background:var(--fuo-primary)!important;
  box-shadow:none!important;
}

.fuo-addon-option input[type="checkbox"]:checked + .fuo-addon-option__control .ti{
  opacity:1;
  transform:scale(1);
}

/* Disable the older CSS-drawn checkbox tick. */
.fuo-addon-option input[type="checkbox"]:checked + .fuo-addon-option__control::after{
  content:none!important;
}

/* Radio gets a precise centered dot instead of an inset box-shadow. */
.fuo-addon-option input[type="radio"] + .fuo-addon-option__control{
  border-radius:50%!important;
}

.fuo-addon-option input[type="radio"] + .fuo-addon-option__control::after{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--fuo-primary);
  opacity:0;
  transform:scale(.55);
  transition:opacity .14s ease,transform .16s cubic-bezier(.2,.8,.2,1);
}

.fuo-addon-option input[type="radio"]:checked + .fuo-addon-option__control{
  border-color:var(--fuo-primary)!important;
}

.fuo-addon-option input[type="radio"]:checked + .fuo-addon-option__control::after{
  opacity:1;
  transform:scale(1);
}


/* =========================================================
   FoodUp Ordering v0.5.117 — viewport cart portal essentials
   Drawer/overlay motion is defined once in the base component above.
   ========================================================= */

/* =========================================================
   FoodUp Ordering v0.5.119 — restored cart context structure
   Structural rules only. Visual DeliverEat overrides continue later in file.
   ========================================================= */


/* =========================================================
   FoodUp Ordering v0.2.15 — portaled cart variable + CTA fix
   ========================================================= */

/*
 * The drawer is intentionally moved outside .foodup-ordering and into <body>.
 * Re-declare the design tokens here so var(--fuo-primary) does not disappear
 * after the portal. A missing custom property made the checkout CTA white on
 * white even though the link itself remained clickable.
 */


/* New mobile app DOM is impossible to see on desktop. */
.fuo-mobile-app-only{display:none!important}
.fuo-desktop-ordering-only{display:block}

/* =========================================================
   FoodUp Ordering v0.3.46 — CURRENT DESKTOP PRODUCT CARD
   One source of truth for desktop card + action controls.
   ========================================================= */


@media (min-width:769px){
  .foodup-ordering .fuo-product-card{
    position:relative;
    width:100%;
    height:118px;
    min-height:118px;
    max-height:118px;
    display:block;
    margin:0;
    padding:0;
    overflow:hidden;
    box-sizing:border-box;
    border:1px solid #E6E6E6;
    border-radius:16px;
    background:#fff;
    box-shadow:0 1px 2px rgba(17,24,39,.025);
    transform:translate3d(0,0,0);
    transition:
      border-color .16s ease,
      box-shadow .16s cubic-bezier(.2,.8,.2,1),
      transform .16s cubic-bezier(.2,.8,.2,1);
  }

  .foodup-ordering .fuo-product-card:hover{
    border-color:var(--fuo-primary);
    box-shadow:0 8px 20px rgba(17,24,39,.065);
    transform:translate3d(0,-1px,0);
  }

  .foodup-ordering .fuo-product-card__media{
    position:absolute;
    left:8px;
    top:8px;
    width:104px;
    height:102px;
    min-width:104px;
    min-height:102px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0;
    padding:0;
    overflow:hidden;
    box-sizing:border-box;
    border:1px solid #E6E6E6;
    border-radius:10px;
    background:#f7f7f8;
  }

  .foodup-ordering .fuo-product-card__media img{
    width:100%;
    height:100%;
    min-width:0;
    min-height:0;
    max-width:none;
    max-height:none;
    display:block;
    margin:0;
    padding:0;
    border:0;
    border-radius:10px;
    object-fit:cover;
    object-position:center;
  }

  .foodup-ordering .fuo-product-card__media img.is-fuo-placeholder{
    width:72%;
    height:72%;
    object-fit:contain;
    background:transparent;
  }

  .foodup-ordering .fuo-product-card__media img.is-fuo-default-upload{
    width:100%;
    height:100%;
    object-fit:cover;
    background:transparent;
  }

  .foodup-ordering .fuo-product-card__body{
    position:absolute;
    left:var(--fuo-product-body-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;
  }

  .foodup-ordering .fuo-product-card__body h3{
    margin:0;
    padding:0;
    color:#1a1a1a;
    font-size:15px;
    font-weight:800;
    line-height:1.18;
    letter-spacing:0;
  }

  .foodup-ordering .fuo-product-card__body p{
    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;
    font-weight:400;
    line-height:1.3;
  }

  .foodup-ordering .fuo-product-card__bottom{
    width:100%;
    display:block;
    margin-top:auto;
    padding:0;
  }

  .foodup-ordering .fuo-product-price,
  .foodup-ordering .fuo-product-price .amount{
    color:#1a1a1a;
    font-size:14px;
    font-weight:850;
    line-height:1;
  }

  .foodup-ordering .fuo-product-price .woocommerce-Price-currencySymbol{
    margin-right:4px;
  }

  .foodup-ordering .fuo-product-card > .fuo-product-action{
    position:absolute;
    right:8px;
    top:8px;
    width:36px;
    height:102px;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    margin:0;
    padding:0;
    overflow:visible;
    box-sizing:border-box;
    z-index:2;
  }

  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-add-button{
    position:relative;
    width:36px;
    height:36px;
    min-width:36px;
    min-height:36px;
    flex:0 0 36px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0;
    padding:0;
    overflow:hidden;
    isolation:isolate;
    box-sizing:border-box;
    border:1px solid #E6E6E6;
    border-radius:10px;
    background:#fff;
    color:var(--fuo-primary);
    appearance:none;
    box-shadow:none;
    cursor:pointer;
    transform:none;
    transition:border-color .11s ease-out,color .11s ease-out,background-color .11s ease-out;
  }

  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-add-button::before,
  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty button::before{
    content:"";
    position:absolute;
    z-index:0;
    left:50%;
    top:50%;
    width:140%;
    height:140%;
    border-radius:999px;
    background:var(--fuo-primary);
    transform:translate(-50%,-50%) scale(0);
    transition:transform .15s cubic-bezier(.2,.8,.2,1);
  }

  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-add-button .ti,
  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty button .ti{
    position:relative;
    z-index:1;
    margin:0;
    line-height:1;
    transform:none;
    transition:color .11s ease-out;
  }

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

  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-add-button:hover:not(:disabled)::before,
  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-add-button:focus-visible:not(:disabled)::before,
  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty [data-fuo-card-plus]:hover::before,
  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty [data-fuo-card-plus]:focus-visible::before,
  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty [data-fuo-card-minus]:not(.is-trash):hover::before,
  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty [data-fuo-card-minus]:not(.is-trash):focus-visible::before{
    transform:translate(-50%,-50%) scale(1);
  }

  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-add-button:hover:not(:disabled),
  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-add-button:focus-visible:not(:disabled),
  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty [data-fuo-card-plus]:hover,
  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty [data-fuo-card-plus]:focus-visible,
  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty [data-fuo-card-minus]:not(.is-trash):hover,
  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty [data-fuo-card-minus]:not(.is-trash):focus-visible{
    color:#fff;
    background:var(--fuo-primary);
  }

  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-add-button:hover:not(:disabled) .ti,
  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-add-button:focus-visible:not(:disabled) .ti,
  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty [data-fuo-card-plus]:hover .ti,
  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty [data-fuo-card-plus]:focus-visible .ti,
  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty [data-fuo-card-minus]:not(.is-trash):hover .ti,
  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty [data-fuo-card-minus]:not(.is-trash):focus-visible .ti{
    color:#fff;
    transform:none;
  }


  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty{
    position:relative;
    z-index:1;
    width:36px;
    height:102px;
    min-width:36px;
    min-height:102px;
    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;
    color:#20242a;
    box-shadow:none;
  }

  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty button{
    position:relative;
    width:100%;
    height:100%;
    min-width:0;
    min-height:0;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0;
    padding:0;
    overflow:hidden;
    isolation:isolate;
    border:0;
    background:#fff;
    color:var(--fuo-primary);
    cursor:pointer;
    transform:none;
  }

  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty button.is-trash{
    color:#d93636;
  }

  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty button.is-trash::before{
    background:#d93636;
  }

  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty button.is-trash:hover::before,
  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty button.is-trash:focus-visible::before{
    transform:translate(-50%,-50%) scale(1);
  }

  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty button.is-trash:hover,
  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty button.is-trash:focus-visible,
  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty button.is-trash:hover .ti,
  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty button.is-trash:focus-visible .ti{
    color:#fff;
    background:#d93636;
  }

  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-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;
    line-height:1;
  }

  /* Quantity 1 uses the official Tabler Icons webfont trash glyph. */
  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty button.is-trash .ti-trash{
    font-size:var(--fuo-card-trash-icon-size,19px);
    line-height:1;
    font-weight:400;
  }

  /* Permanent stationary + underneath the quantity control. */
  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-add-button.is-loading{
    opacity:.65;
    pointer-events:none;
  }

  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-action-underlay{
    position:absolute;
    z-index:0;
    left:0;
    bottom:0;
    pointer-events:none;
    color:var(--fuo-primary);
    background:#fff;
    transform:none;
    animation:none;
    transition:none;
  }

}


@media (prefers-reduced-motion:reduce){
  .foodup-ordering .fuo-product-card > .fuo-product-action *,
  .foodup-ordering .fuo-product-card > .fuo-product-action *::before{
    animation:none;
    transition:none;
  }
}


/* =========================================================
   FoodUp Ordering v0.3.65 — fixed desktop sidebar shell
   One source of truth for desktop sidebar geometry + scrollbar.
   ========================================================= */

@media (min-width:769px){
  .foodup-ordering .fuo-sidebar{
    position:relative;
    align-self:stretch;
    min-width:0;
    width:275px;
  }

  .foodup-ordering .fuo-sidebar__sticky.is-fixed-shell{
    position:fixed;
    z-index:25;
    top:var(--fuo-desktop-sidebar-top);
    left:var(--fuo-desktop-sidebar-left);
    width:var(--fuo-desktop-sidebar-width);
    max-height:calc(100vh - var(--fuo-desktop-sidebar-top) - 20px);
    display:flex;
    flex-direction:column;
    gap:8px;
    margin:0;
    padding:0;
    overflow:visible;
    transform:none;
    transition:none;
  }

  .foodup-ordering .fuo-sidebar__sticky .fuo-shop-status{
    flex:0 0 auto;
    width:100%;
  }

  .foodup-ordering .fuo-vertical-menu{
    position:relative;
    top:auto;
    flex:1 1 auto;
    min-height:0;
    max-height:none;
    padding:5px;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    background:#fff;
    scrollbar-width:thin;
    scrollbar-color:transparent transparent;
  }

  .foodup-ordering .fuo-vertical-menu.is-scrolling{
    scrollbar-color:rgba(31,41,55,.18) transparent;
  }

  .foodup-ordering .fuo-vertical-menu::-webkit-scrollbar{
    width:3px;
    height:3px;
  }

  .foodup-ordering .fuo-vertical-menu::-webkit-scrollbar-track{
    background:transparent;
  }

  .foodup-ordering .fuo-vertical-menu::-webkit-scrollbar-thumb{
    background:transparent;
    border:0;
    border-radius:999px;
  }

  .foodup-ordering .fuo-vertical-menu.is-scrolling::-webkit-scrollbar-thumb{
    background:rgba(31,41,55,.18);
  }
}


/* =========================================================
   FoodUp Ordering v0.3.66 — fully lock mobile sticky tabs behind cart
   ========================================================= */


/* =========================================================
   FoodUp Ordering v0.3.67 — cart backdrop must cover fixed mobile category nav
   ========================================================= */

@media(max-width:768px){
  /*
   * mobile-app.css gives the fixed category navigation z-index: 9999 and
   * previously forced the mobile cart overlay back down to z-index: 2998.
   * Keep the cart as the highest viewport layer so the category bar is
   * blurred and blocked together with the rest of the page.
   */
}


/* =========================================================
   FoodUp Ordering v0.3.70 — desktop cart image inset matches product cards
   ========================================================= */


/* FoodUp Ordering v0.4.09 — cart to checkout handoff */


/* =========================================================
   FoodUp Ordering v0.4.32 — STOREFRONT SOFT POLISH
   Customer-facing ordering page only.
   No cart/order/add-on runtime behavior changed.
   ========================================================= */

.foodup-ordering{
  --fuo-border-soft:#e7eaee;
  --fuo-page-soft:#f7f8fa;
  --fuo-shadow-soft:0 4px 16px rgba(20,28,36,.045);
}

/* ---------- Desktop structure ---------- */
@media(min-width:769px){
  .foodup-ordering{
    width:min(var(--fu-site-width,1140px),calc(100% - 32px));
    padding-bottom:84px;
  }

  .foodup-ordering .fuo-layout{
    gap:18px;
  }

  .foodup-ordering .fuo-sidebar{
    width:275px;
  }

  .foodup-ordering .fuo-sidebar__sticky{
    gap:10px!important;
  }

  /* Shop state */
  .foodup-ordering .fuo-shop-status{
    min-height:50px!important;
    border-radius:12px!important;
    font-size:13px!important;
    box-shadow:0 3px 12px rgba(20,28,36,.045)!important;
  }

  /* Category navigation */
  .foodup-ordering .fuo-vertical-menu{
    padding:6px!important;
    border:1px solid #e1e5e9!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 2px 10px rgba(20,28,36,.025)!important;
  }

  .foodup-ordering .fuo-vertical-menu ul{
    gap:4px!important;
  }

  .foodup-ordering .fuo-vertical-menu__item{
    min-height:41px!important;
    padding:8px 11px!important;
    border-radius:7px!important;
    background:#f8f9fa!important;
    color:#353c44!important;
    font-size:13px!important;
    font-weight:650!important;
  }

  .foodup-ordering .fuo-vertical-menu__item:hover{
    background:color-mix(in srgb,var(--fuo-primary) 5%,#fff)!important;
    border-color:color-mix(in srgb,var(--fuo-primary) 38%,#e1e5e9)!important;
    color:var(--fuo-primary)!important;
    transform:none!important;
  }

  .foodup-ordering .fuo-vertical-menu__item.is-active{
    background:color-mix(in srgb,var(--fuo-primary) 9%,#fff)!important;
    border-color:color-mix(in srgb,var(--fuo-primary) 58%,#e1e5e9)!important;
    color:var(--fuo-primary)!important;
  }

  /* Category hero */
  .foodup-ordering .fuo-category-section{
    margin-bottom:30px;
  }

  .foodup-ordering .fuo-category-hero{
    min-height:174px;
    padding:20px 22px;
    border:1px solid #e0e4e8;
    border-radius:14px;
    background-color:#17191c;
    box-shadow:none;
  }

  .foodup-ordering .fuo-category-hero::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    background:linear-gradient(
      180deg,
      rgba(0,0,0,.50) 0%,
      rgba(0,0,0,.22) 40%,
      rgba(0,0,0,.04) 72%,
      rgba(0,0,0,0) 100%
    );
    pointer-events:none;
  }

  .foodup-ordering .fuo-category-hero.no-image::after{
    background:linear-gradient(135deg,rgba(0,0,0,.18),rgba(0,0,0,.04));
  }

  .foodup-ordering .fuo-category-hero h2{
    z-index:1;
    font-size:25px;
    font-weight:750;
    letter-spacing:-.02em;
    text-shadow:0 2px 10px rgba(0,0,0,.22);
  }

  .foodup-ordering .fuo-product-grid{
    gap:12px;
    margin-top:12px;
  }

  /* Product cards — keep current exact geometry, only visual polish. */
  .foodup-ordering .fuo-product-card{
    border-color:#e1e5e9!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 1px 2px rgba(16,24,40,.02)!important;
    transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease!important;
  }

  .foodup-ordering .fuo-product-card:hover{
    border-color:color-mix(in srgb,var(--fuo-primary) 58%,#dfe3e8)!important;
    background:#fff!important;
    box-shadow:0 5px 16px rgba(17,24,39,.045)!important;
  }

  .foodup-ordering .fuo-product-card__media{
    border-color:#e6e9ec!important;
    border-radius:9px!important;
    background:#f6f7f8!important;
  }

  .foodup-ordering .fuo-product-card__media img{
    border-radius:9px!important;
  }

  .foodup-ordering .fuo-product-card__body h3{
    color:#22272d!important;
    font-size:14.5px!important;
    font-weight:750!important;
  }

  .foodup-ordering .fuo-product-card__body p{
    color:#727b84!important;
    font-size:11px!important;
    line-height:1.38!important;
  }

  .foodup-ordering .fuo-product-price,
  .foodup-ordering .fuo-product-price .amount{
    color:#20262c!important;
    font-size:13.5px!important;
    font-weight:800!important;
  }

  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-add-button,
  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty{
    border-color:#e0e4e8!important;
    border-radius:9px!important;
  }
}

/* ---------- Cart ---------- */

/* ---------- Add-on modal ---------- */
.fuo-addon-backdrop{
  background:rgba(17,22,27,.38)!important;
  backdrop-filter:blur(5px)!important;
  -webkit-backdrop-filter:blur(5px)!important;
}

.fuo-addon-modal__shell{
  border-color:#e1e5e9!important;
  border-radius:15px!important;
  box-shadow:0 24px 64px rgba(16,22,28,.17)!important;
}

.fuo-addon-modal__head{
  border-bottom-color:#edf0f2!important;
}

.fuo-addon-modal__image{
  border:1px solid #e5e8eb!important;
  border-radius:10px!important;
  background:#f5f6f7!important;
}

.fuo-addon-modal__product h2{
  color:#252c33!important;
  font-weight:760!important;
}

.fuo-addon-modal__product span{
  color:#818a93!important;
}

.fuo-addon-modal__close{
  border-color:#dfe4e8!important;
  border-radius:10px!important;
  color:#59636d!important;
}

.fuo-addon-modal__body{
  padding-left:18px!important;
  padding-right:18px!important;
}

.fuo-addon-field{
  border-bottom-color:#edf0f2!important;
}

.fuo-addon-field__head h3{
  color:#2a3138!important;
  font-weight:740!important;
}

.fuo-addon-field__head p{
  color:#7d8690!important;
}

.fuo-addon-option{
  border-color:#e0e4e8!important;
  background:#fff!important;
}

.fuo-addon-option:hover{
}

.fuo-addon-option:has(input:checked){
}

.fuo-addon-modal__footer{
  border-top-color:#e8ecef!important;
}

.fuo-addon-submit{
  border-radius:10px!important;
  font-size:12.5px!important;
  font-weight:780!important;
  box-shadow:none!important;
}

/* ---------- Floating cart ---------- */

/* ---------- Mobile: keep existing exact geometry, only soften surfaces ---------- */
@media(max-width:768px){
  .foodup-ordering .fuo-m-status{
    border-radius:11px!important;
  }

  .foodup-ordering .fuo-m-nav{
    border-bottom-color:#e1e4e7!important;
    box-shadow:0 5px 14px -13px rgba(0,0,0,.55)!important;
  }

  .foodup-ordering .fuo-m-nav__item{
    border-color:#dde1e5!important;
    background:#f5f6f7!important;
    color:#414950!important;
  }

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

  .foodup-ordering .fuo-m-category-cover{
    border-radius:13px!important;
  }

  .foodup-ordering .fuo-m-product-card{
    border-color:#e1e5e9!important;
    box-shadow:0 1px 2px rgba(16,24,40,.02)!important;
  }

  .fuo-addon-modal__shell{
    border-radius:16px 16px 0 0!important;
  }
}

/* Accessibility */
.foodup-ordering button:focus-visible,
.foodup-ordering a:focus-visible,
.fuo-cart-drawer button:focus-visible,
.fuo-cart-drawer a:focus-visible,
.fuo-addon-modal button:focus-visible,
.fuo-addon-modal label:has(input:focus-visible){
  outline:2px solid rgba(17,24,39,.28)!important;
  outline-offset:2px!important;
}

@media(prefers-reduced-motion:reduce){
  .fuo-checkout-button,
  .fuo-cart-fab,
  .fuo-product-card{
    transition:none!important;
  }
}


/* =========================================================
   FoodUp Ordering v0.4.33 — RESTORE STOREFRONT CONTENT WIDTH
   Keep storefront aligned with the original/header content width.
   ========================================================= */


/* =========================================================
   FoodUp Ordering v0.4.34 — ALIGN STOREFRONT WITH THEME HEADER
   The FoodUp Restaurant theme uses --fu-site-width:1140px and
   16px side gutters. Use the exact same container here.
   ========================================================= */
@media(min-width:769px){
  .foodup-ordering{
    width:min(var(--fu-site-width,1140px),calc(100% - 32px))!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}


/* =========================================================
   FoodUp Ordering v0.4.35 — desktop category corner logic
   First item: top corners only
   Last item: bottom corners only
   Middle items: no corner radius on normal / hover / active
   ========================================================= */
@media(min-width:769px){
  .fuo-vertical-menu li > .fuo-vertical-menu__item,
  .fuo-vertical-menu li > .fuo-vertical-menu__item:hover,
  .fuo-vertical-menu li > .fuo-vertical-menu__item.is-active,
  .fuo-vertical-menu li > .fuo-vertical-menu__item.is-active:hover{
    border-radius:0 !important;
  }

  .fuo-vertical-menu li:first-child > .fuo-vertical-menu__item,
  .fuo-vertical-menu li:first-child > .fuo-vertical-menu__item:hover,
  .fuo-vertical-menu li:first-child > .fuo-vertical-menu__item.is-active,
  .fuo-vertical-menu li:first-child > .fuo-vertical-menu__item.is-active:hover{
    border-top-left-radius:8px !important;
    border-top-right-radius:8px !important;
    border-bottom-left-radius:0 !important;
    border-bottom-right-radius:0 !important;
  }

  .fuo-vertical-menu li:last-child > .fuo-vertical-menu__item,
  .fuo-vertical-menu li:last-child > .fuo-vertical-menu__item:hover,
  .fuo-vertical-menu li:last-child > .fuo-vertical-menu__item.is-active,
  .fuo-vertical-menu li:last-child > .fuo-vertical-menu__item.is-active:hover{
    border-top-left-radius:0 !important;
    border-top-right-radius:0 !important;
    border-bottom-left-radius:8px !important;
    border-bottom-right-radius:8px !important;
  }

  .fuo-vertical-menu li:only-child > .fuo-vertical-menu__item,
  .fuo-vertical-menu li:only-child > .fuo-vertical-menu__item:hover,
  .fuo-vertical-menu li:only-child > .fuo-vertical-menu__item.is-active,
  .fuo-vertical-menu li:only-child > .fuo-vertical-menu__item.is-active:hover{
    border-radius:8px !important;
  }
}


/* =========================================================
   FoodUp Ordering v0.4.36 — compact storefront add-on modal
   ========================================================= */
.fuo-addon-modal__shell{
  max-height:min(720px,calc(100vh - 36px))!important;
}

.fuo-addon-modal__head{
  gap:12px!important;
  padding:14px 18px!important;
}

.fuo-addon-modal__product{
  gap:10px!important;
}

.fuo-addon-modal__image{
  width:58px!important;
  height:58px!important;
  flex:0 0 58px!important;
}

.fuo-addon-modal__product span{
  margin-bottom:2px!important;
  font-size:10.5px!important;
}

.fuo-addon-modal__product h2{
  margin:0 0 3px!important;
  font-size:16px!important;
  line-height:1.18!important;
}

.fuo-addon-modal__product strong{
  font-size:12px!important;
}

.fuo-addon-modal__close{
  width:36px!important;
  height:36px!important;
  flex:0 0 36px!important;
}

.fuo-addon-modal__body{
  padding:2px 18px 8px!important;
}

.fuo-addon-field{
  padding:9px 0!important;
}

.fuo-addon-field__head{
  gap:10px!important;
  margin-bottom:6px!important;
}

.fuo-addon-field__head h3{
  font-size:13.5px!important;
  line-height:1.25!important;
}

.fuo-addon-field__head p{
  margin-top:1px!important;
  font-size:10.5px!important;
  line-height:1.35!important;
}

.fuo-addon-field__head>span{
  padding:3px 7px!important;
  font-size:9.5px!important;
}

.fuo-addon-options{
  --fuo-addon-option-row-height:38px!important;
  border-radius:10px!important;
}

.fuo-addon-options.is-scrollable{
  max-height:calc(var(--fuo-addon-option-row-height) * 8)!important;
}

.fuo-addon-option{
  min-height:38px!important;
  grid-template-columns:20px minmax(0,1fr) auto!important;
  gap:8px!important;
  padding:6px 10px!important;
}

.fuo-addon-option__control{
  width:17px!important;
  height:17px!important;
}

.fuo-addon-option__label{
  font-size:12px!important;
  line-height:1.25!important;
}

.fuo-addon-option__price{
  font-size:11px!important;
}

.fuo-addon-modal__footer{
  gap:10px!important;
  padding:10px 18px 14px!important;
}

.fuo-addon-qty{
  height:46px!important;
}

.fuo-addon-qty button{
  height:44px!important;
}


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

.fuo-shop-status.is-preorder,
.fuo-shop-status.is-closed{
  background:#d83a3a !important;
}

.fuo-shop-status.is-preorder::after,
.fuo-shop-status.is-closed::after,
.fuo-shop-status.is-open::after{
  animation:fuo-status-soft-pulse 2.35s ease-in-out infinite !important;
}


/* =========================================================
   FoodUp Ordering v0.4.39 — FORCE VISIBLE RED STATUS FLASH
   ========================================================= */
@keyframes fuo-status-red-flash{
  0%,100%{background-color:#d83a3a}
  50%{background-color:#f05555}
}

.fuo-shop-status.is-preorder,
.fuo-shop-status.is-closed{
  background:#d83a3a !important;
  animation:fuo-status-red-flash 1.05s ease-in-out infinite !important;
}

/* Keep the text steady; the whole red surface now flashes visibly. */
.fuo-shop-status.is-preorder::after,
.fuo-shop-status.is-closed::after{
  animation:none !important;
  opacity:0 !important;
}


/* =========================================================
   FoodUp Ordering v0.4.48 — flat add-on / variation choice rows
   Match the desktop category-menu interaction: neutral hover, light active
   state, accent marker; only the first/last rows own outer corner radii.
   ========================================================= */
.fuo-addon-options{
  gap:0!important;
  overflow:hidden!important;
  border:1px solid #e2e6e9!important;
  border-radius:10px!important;
  background:#fff!important;
}
.fuo-addon-option{
  position:relative!important;
  margin:0!important;
  border:0!important;
  border-bottom:1px solid #edf0f2!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
  color:#24282e!important;
  transition:background-color .16s ease,color .16s ease,padding-left .16s ease!important;
}
.fuo-addon-option:first-child{
  border-top-left-radius:8px!important;
  border-top-right-radius:8px!important;
}
.fuo-addon-option:last-child{
  border-bottom:0!important;
  border-bottom-left-radius:8px!important;
  border-bottom-right-radius:8px!important;
}
.fuo-addon-option:only-child{
  border-radius:8px!important;
}
.fuo-addon-option::before{
  content:"";
  position:absolute;
  left:0;
  top:7px;
  bottom:7px;
  width:3px;
  border-radius:0 3px 3px 0;
  background:var(--fuo-primary);
  opacity:0;
  transform:scaleY(.35);
  transition:opacity .16s ease,transform .16s ease!important;
}
.fuo-addon-option:hover{
  border-color:transparent!important;
  background:#f5f6f7!important;
}
.fuo-addon-option:hover::before{
  opacity:.45;
  transform:scaleY(.7);
}
.fuo-addon-option:has(input:checked){
  border-color:transparent!important;
  background:color-mix(in srgb,var(--fuo-primary) 8%,#fff)!important;
  box-shadow:none!important;
}
.fuo-addon-option:has(input:checked)::before{
  opacity:1;
  transform:scaleY(1);
}
.fuo-addon-option:has(input:checked) .fuo-addon-option__label,
.fuo-addon-option:has(input:checked) .fuo-addon-option__price{
  color:var(--fuo-primary)!important;
}
.fuo-addon-option:has(input:checked) .fuo-addon-option__label{
  font-weight:750!important;
}
.fuo-addon-option:has(input:checked):hover{
  background:color-mix(in srgb,var(--fuo-primary) 11%,#fff)!important;
}

/* =========================================================
   FoodUp Ordering v0.4.53 — card geometry + variation price polish
   Restore the deliberate product-card insets, keep "ab CHF 3.50" on one
   line, and center custom radio dots mathematically.
   ========================================================= */

/* Product prices must stay on one line on cards and inside the option modal. */
.fuo-product-price,
.fuo-product-price .amount,
.fuo-product-price .woocommerce-Price-amount,
.fuo-product-price bdi,
.fuo-m-product-price,
.fuo-m-product-price .amount,
.fuo-m-product-price .woocommerce-Price-amount,
.fuo-m-product-price bdi,
.fuo-addon-modal__product strong[data-fuo-addon-base-price],
.fuo-addon-modal__product strong[data-fuo-addon-base-price] .amount,
.fuo-addon-modal__product strong[data-fuo-addon-base-price] .woocommerce-Price-amount,
.fuo-addon-modal__product strong[data-fuo-addon-base-price] bdi{
  white-space:nowrap!important;
}

.fuo-product-price,
.fuo-m-product-price,
.fuo-addon-modal__product strong[data-fuo-addon-base-price]{
  display:inline-flex!important;
  align-items:baseline!important;
  flex-wrap:nowrap!important;
  gap:0!important;
}

/* The "Produkt anpassen" eyebrow is the only block span in the modal header.
   Nested WooCommerce price spans remain inline. */
.fuo-addon-modal__product > div:last-child > span:not(.fuo-price-from){
  display:block!important;
}
.fuo-addon-modal__product strong[data-fuo-addon-base-price] span{
  display:inline!important;
  margin:0!important;
}
.fuo-addon-modal__product strong[data-fuo-addon-base-price] .fuo-price-from{
  margin-right:4px!important;
}

/* True centered radio dot. */
.fuo-addon-option input[type="radio"] + .fuo-addon-option__control::after{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  margin:0!important;
  transform:translate(-50%,-50%) scale(.55)!important;
  transform-origin:center center!important;
}
.fuo-addon-option input[type="radio"]:checked + .fuo-addon-option__control::after{
  transform:translate(-50%,-50%) scale(1)!important;
}

/* Desktop card geometry: image and action rail use the shared card-edge inset. */
@media(min-width:769px){
  .foodup-ordering .fuo-product-card{
    position:relative!important;
    height:118px!important;
    min-height:118px!important;
    max-height:118px!important;
    display:block!important;
    padding:0!important;
    overflow:hidden!important;
  }
  .foodup-ordering .fuo-product-card__media{
    position:absolute!important;
    width:104px!important;
    min-width:104px!important;
    margin:0!important;
    padding:0!important;
  }
  .foodup-ordering .fuo-product-card__body{
    position:absolute!important;
    left:var(--fuo-product-body-left,121px);
    top:13px!important;
    right:58px!important;
    bottom:14px!important;
    margin:0!important;
    padding:0!important;
  }
  .foodup-ordering .fuo-product-card > .fuo-product-action{
    position:absolute!important;
    width:36px!important;
    margin:0!important;
    padding:0!important;
    align-items:flex-end!important;
  }
}

/* Mobile uses the same visual rhythm around image/action, with independent text breathing room. */
@media(max-width:768px){
  .foodup-ordering .fuo-m-product-card__media{
    left:8px!important;
    top:8px!important;
    bottom:8px!important;
    width:104px!important;
    margin:0!important;
    padding:0!important;
  }
  .foodup-ordering .fuo-m-product-card__body{
    left:var(--fuo-mobile-product-body-left,121px);
    top:13px!important;
    right:58px!important;
    bottom:14px!important;
    margin:0!important;
    padding:0!important;
  }
  .foodup-ordering .fuo-m-product-card > .fuo-m-product-action{
    right:8px!important;
    top:8px!important;
    bottom:8px!important;
    width:36px!important;
    margin:0!important;
    padding:0!important;
  }
}


/* =========================================================
   FoodUp Ordering v0.4.54 — exact option radio + card edge rhythm
   ========================================================= */

/* Use the control's own inset ring for the radio mark. This keeps the
   selected dot perfectly concentric in every browser and avoids half-pixel
   offsets from a transformed pseudo-element. */
.fuo-addon-option input[type="radio"] + .fuo-addon-option__control{
  box-sizing:border-box!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:#fff!important;
  box-shadow:none!important;
}
.fuo-addon-option input[type="radio"] + .fuo-addon-option__control::after{
  content:none!important;
  display:none!important;
}
.fuo-addon-option input[type="radio"]:checked + .fuo-addon-option__control{
  border-color:var(--fuo-primary)!important;
  background:var(--fuo-primary)!important;
  box-shadow:inset 0 0 0 4px #fff!important;
}

/* Preserve readable spacing in lightweight variation prices. */
.fuo-product-price > .fuo-price-from,
.fuo-m-product-price > .fuo-price-from,
.fuo-addon-modal__product strong[data-fuo-addon-base-price] > .fuo-price-from{
  margin-right:4px!important;
}

/* Equal edge rhythm on desktop cards. top/bottom offsets are explicit rather
   than inferred from a fixed height, so the image has exactly the same visual
   inset on the left, top and bottom. The add/options button uses the same
   top/right/bottom inset and fills that rail. */
@media(min-width:769px){
  .foodup-ordering .fuo-product-card{
    --fuo-card-edge:8px;
  }
  .foodup-ordering .fuo-product-card__media{
    left:var(--fuo-card-edge)!important;
    top:var(--fuo-card-edge)!important;
    bottom:var(--fuo-card-edge)!important;
    width:104px!important;
    height:auto!important;
    min-height:0!important;
  }
  /* Keep the full v0.4.53 action-control behavior. Only the rail itself gets
     the same 8px top/right/bottom outer inset as the product image. */
  .foodup-ordering .fuo-product-card > .fuo-product-action{
    right:var(--fuo-card-edge)!important;
    top:var(--fuo-card-edge)!important;
    bottom:var(--fuo-card-edge)!important;
    width:36px!important;
    height:auto!important;
    min-height:0!important;
    align-items:flex-end!important;
    justify-content:center!important;
  }
  .foodup-ordering .fuo-product-card > .fuo-product-action > .fuo-add-button{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    min-height:36px!important;
    flex:0 0 36px!important;
    align-self:auto!important;
  }
  .foodup-ordering .fuo-product-card > .fuo-product-action > .fuo-card-qty{
    width:36px!important;
    height:102px!important;
    min-width:36px!important;
    min-height:102px!important;
    align-self:auto!important;
    flex:0 0 auto!important;
  }
}

/* Keep the same mathematically equal image inset on the compact/mobile card.
   Do not change the mobile action-control shape here. */
@media(max-width:768px){
  .foodup-ordering .fuo-m-product-card__media{
    left:8px!important;
    top:8px!important;
    bottom:8px!important;
    height:auto!important;
    min-height:0!important;
  }
  .foodup-ordering .fuo-m-product-card > .fuo-m-product-action{
    right:8px!important;
    top:8px!important;
    bottom:8px!important;
  }
}

/* =========================================================
   FoodUp Ordering v0.4.57 — configured-product cart badge
   ========================================================= */

/* Products with add-ons / lightweight variations keep the normal + action.
   This badge communicates the aggregate quantity already in the cart without
   pretending that multiple configurations share one editable quantity. */
.foodup-ordering [data-fuo-product-action] .fuo-option-cart-badge{
  position:absolute;
  right:0;
  bottom:28px;
  z-index:6;
  min-width:18px;
  height:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  padding:0 4px;
  border:2px solid #fff;
  border-radius:999px;
  background:var(--fuo-primary);
  color:#fff;
  box-shadow:0 1px 3px rgba(15,23,42,.16);
  font-size:9px;
  font-weight:800;
  line-height:1;
  letter-spacing:0;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
  pointer-events:none;
  user-select:none;
}

/* Keep the count visually stable while the + button runs its normal hover /
   active animation. */
.foodup-ordering [data-fuo-product-action].has-option-cart-items
  .fuo-option-cart-badge{
  transform:translateZ(0);
}


/* =========================================================
   FoodUp Ordering v0.5.117 — canonical desktop product quantity actions
   One interaction model: opacity + tiny translate reveal; direct color hover.
   No scale shrink, pseudo-fill, height/width animation or stacked overrides.
   ========================================================= */

.foodup-ordering [data-fuo-product-action] .fuo-option-cart-badge{
  line-height:1;
  text-align:center;
}
.foodup-ordering [data-fuo-product-action] .fuo-option-cart-badge .fuo-cart-badge__value{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:0;
  line-height:1;
  text-align:center;
}
.foodup-ordering [data-fuo-product-action] .fuo-simple-cart-badge{
  display:none;
}

@media(min-width:769px){
  .foodup-ordering .fuo-product-card{
    --fuo-card-edge:6px;
  }
  .foodup-ordering .fuo-product-card__media{
    left:6px;
    top:6px;
    bottom:6px;
    width:106px;
    height:auto;
  }
  .foodup-ordering .fuo-product-card > .fuo-product-action,
  .foodup-ordering .fuo-product-card > .fuo-product-action.has-simple-cart-items{
    right:6px;
    top:6px;
    bottom:6px;
    width:36px;
    height:auto;
    padding:0;
  }
  .foodup-ordering .fuo-product-card > .fuo-product-action.has-simple-cart-items{
    overflow:visible;
  }

  .foodup-ordering .fuo-product-card > .fuo-product-action.has-simple-cart-items > .fuo-action-underlay{
    position:absolute;
    left:0;
    bottom:0;
    width:36px;
    height:36px;
    min-width:36px;
    min-height:36px;
    opacity:1;
    visibility:visible;
    transform:translate3d(0,0,0);
    border-radius:10px;
    transition:opacity .10s ease-out,visibility 0s linear 0s;
  }
  .foodup-ordering .fuo-product-card > .fuo-product-action.has-simple-cart-items > .fuo-action-underlay::before{
    content:none;
  }

  .foodup-ordering .fuo-product-card > .fuo-product-action.has-simple-cart-items > .fuo-simple-cart-badge{
    display:block;
    right:0;
    bottom:28px;
    opacity:1;
    visibility:visible;
    transform:translate3d(0,0,0) scale(1);
    transform-origin:center;
    transition:opacity .10s ease-out,transform .12s cubic-bezier(.2,.8,.2,1),visibility 0s linear 0s;
  }

  .foodup-ordering .fuo-product-card > .fuo-product-action.has-simple-cart-items > .fuo-card-qty{
    position:absolute;
    inset:0;
    width:36px;
    height:auto;
    min-width:36px;
    min-height:0;
    max-height:none;
    box-sizing:border-box;
    border:1px solid #E6E6E6;
    border-radius:10px;
    background:#fff;
    box-shadow:none;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate3d(0,2px,0) scaleY(.34);
    transform-origin:center bottom;
    transition:opacity .16s ease-out,transform .17s cubic-bezier(.2,.75,.2,1),visibility 0s linear .17s;
  }

  .foodup-ordering .fuo-product-card.is-fuo-qty-expanded > .fuo-product-action.has-simple-cart-items > .fuo-card-qty{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translate3d(0,0,0) scaleY(1);
    transition:opacity .16s ease-out,transform .17s cubic-bezier(.2,.75,.2,1),visibility 0s linear 0s;
  }

  .foodup-ordering .fuo-product-card.is-fuo-qty-expanded > .fuo-product-action.has-simple-cart-items > .fuo-action-underlay,
  .foodup-ordering .fuo-product-card.is-fuo-qty-expanded > .fuo-product-action.has-simple-cart-items > .fuo-simple-cart-badge{
    opacity:0;
    visibility:hidden;
    transform:translate3d(0,1px,0);
    transition:opacity .10s ease-out,transform .13s cubic-bezier(.2,.75,.2,1),visibility 0s linear .13s;
  }

  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty button::before,
  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty button::after{
    content:none;
    display:none;
  }
  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty button{
    background:#fff;
    color:var(--fuo-primary);
    transform:none;
    transition:background-color .14s ease-out,color .14s ease-out,border-color .14s ease-out;
  }
  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty button .ti{
    color:inherit;
    transform:none;
    transition:color .14s ease-out;
  }
  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty button:not(.is-trash):hover,
  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty button:not(.is-trash):focus-visible{
    background:var(--fuo-primary);
    color:#fff;
  }
  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty button.is-trash{
    color:#d93636;
  }
  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty button.is-trash:hover,
  .foodup-ordering .fuo-product-card > .fuo-product-action .fuo-card-qty button.is-trash:focus-visible{
    background:#d93636;
    color:#fff;
  }
}

@media(max-width:768px){
  .foodup-ordering .fuo-m-product-card__media{
    left:6px;
    top:6px;
    bottom:6px;
  }
  .foodup-ordering .fuo-m-product-card > .fuo-m-product-action{
    right:6px;
    top:6px;
    bottom:6px;
  }
}

/* =========================================================
   FoodUp Ordering v0.5.120 — explicit quantity-control state
   JS owns expanded/collapsed state; CSS only animates transform + opacity.
   No width/height animation and no !important is required by this state layer.
   ========================================================= */

/* =========================================================
   FoodUp Ordering v0.4.65 — exact 6px mobile cart edge rhythm
   ========================================================= */
@media (max-width:768px), (hover:none), (pointer:coarse){
  /* A 78px square thumbnail + 6px top/bottom + the row borders yields
     a 92px minimum row, so the visible thumbnail inset is truly 6px. */
}

/* =========================================================
   FoodUp Ordering v0.4.96 — refined product quantity badge
   Keep the count optically centered, with a lighter ring and typography that
   matches the rest of the FoodUp controls. No action/button geometry changes.
   ========================================================= */
.foodup-ordering [data-fuo-product-action] .fuo-option-cart-badge{
  min-width:17px!important;
  width:auto!important;
  height:17px!important;
  padding:0 4px!important;
  border:1px solid #fff!important;
  box-shadow:0 1px 2px rgba(15,23,42,.12)!important;
  font-family:'Inter',Arial,sans-serif!important;
  font-size:9px!important;
  font-weight:650!important;
  line-height:1!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}
.foodup-ordering [data-fuo-product-action] .fuo-option-cart-badge .fuo-cart-badge__value{
  display:grid!important;
  place-items:center!important;
  transform:none!important;
  line-height:1!important;
}


/* =========================================================
   FoodUp Ordering v0.5.00 — cart cards match storefront cards
   Visual-only override. Cart mutation/event logic remains unchanged.
   ========================================================= */

/* Use one badge treatment everywhere a product/cart quantity bubble appears. */
.foodup-ordering [data-fuo-product-action] .fuo-option-cart-badge,
.fuo-cart-row-badge{
  min-width:17px;
  width:auto;
  height:17px;
  padding:0 4px;
  border:1px solid #fff;
  border-radius:999px;
  background:var(--fuo-primary);
  color:#fff;
  box-shadow:0 1px 2px rgba(15,23,42,.12);
  font-family:'Inter',Arial,sans-serif;
  font-size:9px;
  font-weight:650;
  line-height:1;
  letter-spacing:0;
  font-variant-numeric:tabular-nums;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}
.foodup-ordering [data-fuo-product-action] .fuo-option-cart-badge .fuo-cart-badge__value,
.fuo-cart-row-badge .fuo-cart-badge__value{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  justify-content:center;
  margin:0;
  padding:0;
  line-height:1;
  text-align:center;
  transform:none;
}

/* Compact desktop cart row: 78px card with balanced 6px insets,
   66px image and a 26px right action rail. */

/* Touch/mobile mirrors the storefront's always-visible vertical quantity rail. */


/* =========================================================
   FoodUp Ordering v0.5.26 — QUANTITY +/- VISUAL PARITY
   Keep minus and plus identical in color, icon weight and scale.
   Trash remains intentionally red when quantity reaches 1.
   ========================================================= */
.foodup-ordering .fuo-product-grid > .fuo-product-card .fuo-card-qty [data-fuo-card-plus] .ti,
.foodup-ordering .fuo-product-grid > .fuo-product-card .fuo-card-qty [data-fuo-card-minus]:not(.is-trash) .ti{
  color:inherit!important;
  font-size:var(--fuo-card-qty-icon-size,22px)!important;
  font-weight:400!important;
  line-height:1!important;
  width:auto!important;
  height:auto!important;
  display:inline-block!important;
}

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

/* =========================================================
   FoodUp Ordering v0.5.31 — DESKTOP SELECTED +/- ICON PARITY
   The website uses the same inline SVG icons as the mobile app. Keep the
   selected product-card +/- glyphs inside the same 22px/1em icon box as the
   standalone + so they cannot stretch to the full quantity-button width.
   ========================================================= */
.foodup-ordering .fuo-product-grid > .fuo-product-card > .fuo-product-action .fuo-card-qty [data-fuo-card-plus] .ti,
.foodup-ordering .fuo-product-grid > .fuo-product-card > .fuo-product-action .fuo-card-qty [data-fuo-card-minus]:not(.is-trash) .ti{
  color:inherit!important;
  font-size:var(--fuo-card-qty-icon-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-product-grid > .fuo-product-card > .fuo-product-action .fuo-card-qty [data-fuo-card-plus] .ti > svg,
.foodup-ordering .fuo-product-grid > .fuo-product-card > .fuo-product-action .fuo-card-qty [data-fuo-card-minus]:not(.is-trash) .ti > svg{
  width:100%!important;
  height:100%!important;
}


/* =========================================================
   FoodUp Ordering v0.5.36 — presentation-only storefront polish
   ========================================================= */
.foodup-ordering :where(button,a,input,select,textarea),
.fuo-cart-drawer :where(button,a,input,select,textarea),
.fuo-addon-modal :where(button,a,input,select,textarea){
  box-sizing:border-box;
}
.foodup-ordering :where(button,a) > .ti,
.fuo-cart-drawer :where(button,a) > .ti,
.fuo-addon-modal :where(button,a) > .ti{
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  line-height:1!important;
  vertical-align:middle;
}
.foodup-ordering :where(button,a,[role="button"]):focus-visible,
.fuo-cart-drawer :where(button,a,[role="button"]):focus-visible,
.fuo-addon-modal :where(button,a,[role="button"]):focus-visible{
  outline:2px solid rgba(17,24,39,.28);
  outline-offset:2px;
}
.foodup-ordering .fuo-product-card{
  height:100%;
  min-width:0;
}
.foodup-ordering .fuo-product-card__body{
  min-width:0;
}
.foodup-ordering .fuo-product-card__bottom{
  margin-top:auto;
}
.fuo-cart-drawer,
.fuo-addon-modal__shell{
  background-clip:padding-box;
}


/* =========================================================
   FoodUp Ordering v0.5.45 — Storefront Theme: DeliverEat
   Presentation only. Existing FoodUp data attributes/actions stay untouched.
   ========================================================= */
.fuo-vertical-menu__count,
.fuo-vertical-menu__chevron,
.fuo-category-hero__count{
  display:none;
}

@media(min-width:769px){
  .foodup-ordering.fuo-theme-delivereat{
    width:min(1380px,calc(100% - 40px));
    --fuo-de-card-radius:20px;
    font-family:'Inter',Arial,sans-serif;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-layout{
    grid-template-columns:330px minmax(0,1fr)!important;
    gap:20px!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-sidebar{
    width:330px!important;
    min-width:330px!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-sidebar__sticky{
    gap:12px!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-shop-status{
    min-height:53px!important;
    margin:0 0 12px!important;
    padding:14px 12px!important;
    border:0!important;
    border-radius:10px!important;
    color:#fff!important;
    font-size:15px!important;
    font-weight:700!important;
    line-height:18px!important;
    box-shadow:none!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu{
    max-height:67vh!important;
    border:1px solid rgba(0,0,0,.07)!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:none!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu ul{
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li,
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li + li{
    margin:0!important;
    padding:0!important;
    border:0!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__item,
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li:first-child > .fuo-vertical-menu__item,
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li:last-child > .fuo-vertical-menu__item,
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li:only-child > .fuo-vertical-menu__item{
    position:relative!important;
    min-height:48px!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    padding:10px 14px!important;
    overflow:hidden!important;
    border:1px solid transparent!important;
    border-radius:10px!important;
    background:#f7f7f6!important;
    color:#242424!important;
    font-size:16px!important;
    font-weight:700!important;
    line-height:20px!important;
    box-shadow:none!important;
    transform:none!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__item::before{
    content:""!important;
    position:absolute!important;
    inset:8px auto 8px 0!important;
    width:4px!important;
    border:0!important;
    border-radius:0 999px 999px 0!important;
    background:#ff6600!important;
    opacity:1!important;
    transform:scaleY(0)!important;
    transform-origin:center!important;
    transition:transform .2s ease!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__item:hover{
    border-color:#ffd7c2!important;
    background:#fff8f4!important;
    color:#242424!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__item:hover::before{
    transform:scaleY(.75)!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__item.is-active,
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__item.is-active:hover{
    border-color:#ffc5a8!important;
    background:#fff1e8!important;
    color:#d94f10!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__item.is-active::before{
    transform:scaleY(1)!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__label{
    min-width:0!important;
    flex:1 1 auto!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__count{
    min-width:24px!important;
    height:24px!important;
    flex:0 0 auto!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 6px!important;
    border-radius:999px!important;
    background:#ebe9e6!important;
    color:#77716a!important;
    font-size:11px!important;
    font-weight:700!important;
    line-height:1!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__item:hover .fuo-vertical-menu__count{
    background:#ebe9e6!important;
    color:#77716a!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__item.is-active .fuo-vertical-menu__count,
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__item.is-active:hover .fuo-vertical-menu__count{
    background:#fff!important;
    color:#d94f10!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__chevron{
    align-items:center!important;
    justify-content:center!important;
    width:17px!important;
    flex:0 0 17px!important;
    color:#938d86!important;
    font-size:23px!important;
    font-weight:400!important;
    line-height:1!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__item:hover .fuo-vertical-menu__chevron,
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__item.is-active .fuo-vertical-menu__chevron{
    color:#ff6600!important;
    transform:translateX(2px)!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-category-section{
    margin-bottom:28px!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-category-hero{
    min-height:190px!important;
    height:190px!important;
    display:block!important;
    padding:20px!important;
    border:1px solid rgba(0,0,0,.06)!important;
    border-radius:20px!important;
    background-color:#fff!important;
    background-size:cover!important;
    background-position:center!important;
    box-shadow:none!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-category-hero::after{
    content:none!important;
    display:none!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-category-hero.no-image{
    height:auto!important;
    min-height:64px!important;
    padding:0 0 7px!important;
    overflow:visible!important;
    border:0!important;
    border-bottom:1px solid var(--fuo-primary)!important;
    border-radius:0!important;
    background:#fff!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-category-hero h2{
    position:relative!important;
    z-index:1!important;
    margin:0!important;
    color:#fff!important;
    font-size:29px!important;
    font-weight:700!important;
    line-height:32px!important;
    letter-spacing:0!important;
    text-transform:none!important;
    text-shadow:none!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-category-hero.no-image h2{
    color:#17191c!important;
    font-size:25px!important;
    line-height:28px!important;
    letter-spacing:-.02em!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-category-hero__count{
    position:relative;
    z-index:1;
    display:block;
    margin:4px 0 0;
    color:rgba(255,255,255,.85);
    font-size:13px;
    font-weight:400;
    line-height:17px;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-category-hero.no-image .fuo-category-hero__count{
    margin-top:2px;
    color:#777;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    margin-top:10px!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-product-grid > .fuo-product-card{
    --fuo-card-edge:8px;
    height:134px!important;
    min-height:134px!important;
    max-height:134px!important;
    overflow:hidden!important;
    border:1px solid rgba(0,0,0,.07)!important;
    border-radius:var(--fuo-de-card-radius)!important;
    background:#fff!important;
    box-shadow:none!important;
    transform:none!important;
    transition:border-color .22s ease!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-product-grid > .fuo-product-card:hover{
    border-color:var(--fuo-primary)!important;
    box-shadow:none!important;
    transform:none!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-product-grid > .fuo-product-card .fuo-product-card__media{
    left:8px!important;
    top:8px!important;
    bottom:8px!important;
    width:115px!important;
    height:auto!important;
    min-width:115px!important;
    min-height:0!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:14px!important;
    background:#eee8e1!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-product-grid > .fuo-product-card .fuo-product-card__media img{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    border-radius:14px!important;
    object-fit:cover!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-product-grid > .fuo-product-card .fuo-product-card__body{
    left:var(--fuo-product-body-left,133px);
    top:12px!important;
    right:58px!important;
    bottom:12px!important;
    display:flex!important;
    flex-direction:column!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-product-grid > .fuo-product-card .fuo-product-card__body h3{
    margin:0!important;
    color:#000!important;
    font-size:17px!important;
    font-weight:600!important;
    line-height:20px!important;
    letter-spacing:0!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-product-grid > .fuo-product-card .fuo-product-card__body p{
    margin:5px 0 0!important;
    -webkit-line-clamp:3!important;
    color:#77716a!important;
    font-size:13px!important;
    font-weight:400!important;
    line-height:18px!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-product-grid > .fuo-product-card .fuo-product-card__bottom{
    margin-top:auto!important;
    padding-top:8px!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-product-grid > .fuo-product-card .fuo-product-price,
  .foodup-ordering.fuo-theme-delivereat .fuo-product-grid > .fuo-product-card .fuo-product-price .amount,
  .foodup-ordering.fuo-theme-delivereat .fuo-product-grid > .fuo-product-card .fuo-product-price .woocommerce-Price-amount{
    color:#000!important;
    font-size:17px!important;
    font-weight:700!important;
    line-height:20px!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-product-grid > .fuo-product-card > .fuo-product-action{
    right:12px!important;
    top:12px!important;
    bottom:12px!important;
    width:38px!important;
    align-items:flex-end!important;
    justify-content:flex-end!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-product-grid > .fuo-product-card > .fuo-product-action > .fuo-add-button{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    flex:0 0 38px!important;
    border:0!important;
    border-radius:50%!important;
    background:var(--fuo-primary)!important;
    color:#fff!important;
    box-shadow:none!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-product-grid > .fuo-product-card > .fuo-product-action > .fuo-add-button .ti{
    color:#fff!important;
    font-size:20px!important;
  }

  /* Keep the existing quantity-control behavior exactly as implemented; only
     make its outer treatment fit the DeliverEat template. */
  .foodup-ordering.fuo-theme-delivereat .fuo-product-grid > .fuo-product-card > .fuo-product-action > .fuo-card-qty{
    width:38px!important;
    height:auto!important;
    min-height:0!important;
    border-color:#ff6600!important;
    border-radius:19px!important;
    background:#fff!important;
  }
}

/* DeliverEat theme keeps the proven FoodUp mobile interaction model, while
   giving the compact cards the same softer visual family. */
@media(max-width:768px){
  .foodup-ordering.fuo-theme-delivereat .fuo-m-nav__item.is-active{
    border-color:var(--fuo-primary)!important;
    background:var(--fuo-primary)!important;
    color:#fff!important;
  }
  .foodup-ordering.fuo-theme-delivereat .fuo-m-category-cover{
    border-radius:18px!important;
  }
  .foodup-ordering.fuo-theme-delivereat .fuo-m-product-card{
    border-radius:18px!important;
  }
  .foodup-ordering.fuo-theme-delivereat .fuo-m-product-card__media,
  .foodup-ordering.fuo-theme-delivereat .fuo-m-product-card__media img{
    border-radius:13px!important;
  }
}

/* =========================================================
   FoodUp Ordering v0.5.52 — exact current DeliverEat category states + quantity bubble
   Source-matched to the current DeliverEat restaurant page.
   ========================================================= */
@media(min-width:769px){
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu{
    max-height:67vh!important;
    overflow-y:auto!important;
    border:1px solid rgba(0,0,0,.07)!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:none!important;
    scrollbar-width:thin!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu ul{
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
    margin:0!important;
    padding:0!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li,
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li + li{
    margin:0!important;
    padding:0!important;
    border:0!important;
    list-style:none!important;
  }

  /* Exact DeliverEat category button: rounded-[10px] border. */
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__item,
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li:first-child > .fuo-vertical-menu__item,
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li:last-child > .fuo-vertical-menu__item,
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li:only-child > .fuo-vertical-menu__item{
    position:relative!important;
    width:100%!important;
    min-height:48px!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    margin:0!important;
    padding:10px 14px!important;
    border:1px solid transparent!important;
    border-radius:10px!important;
    background:#f7f7f6!important;
    color:#242424!important;
    font-size:16px!important;
    font-weight:700!important;
    line-height:20px!important;
    text-align:left!important;
    text-decoration:none!important;
    box-shadow:none!important;
    transform:none!important;
    transition:all .2s ease!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__item::before{
    content:""!important;
    position:absolute!important;
    top:8px!important;
    bottom:8px!important;
    left:0!important;
    width:4px!important;
    border-radius:0 999px 999px 0!important;
    background:#ff6600!important;
    transform:scaleY(0)!important;
    transform-origin:center!important;
    transition:transform .2s ease!important;
  }

  /* Exact DeliverEat hover state. */
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__item:not(.is-active):hover{
    border:1px solid #ffd7c2!important;
    border-radius:10px!important;
    background:#fff8f4!important;
    color:#242424!important;
  }
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__item:not(.is-active):hover::before{
    transform:scaleY(.75)!important;
  }

  /* Exact DeliverEat active state. */
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__item.is-active,
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__item.is-active:hover{
    border:1px solid #ffc5a8!important;
    border-radius:10px!important;
    background:#fff1e8!important;
    color:#d94f10!important;
  }
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__item.is-active::before,
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__item.is-active:hover::before{
    transform:scaleY(1)!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__label{
    min-width:0!important;
    flex:1 1 auto!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    color:inherit!important;
    font-size:16px!important;
    font-weight:700!important;
    line-height:20px!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__count{
    min-width:24px!important;
    width:auto!important;
    height:24px!important;
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    padding:0 6px!important;
    border-radius:999px!important;
    background:#ebe9e6!important;
    color:#77716a!important;
    font-size:11px!important;
    font-weight:700!important;
    line-height:1!important;
  }
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__item.is-active .fuo-vertical-menu__count,
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__item.is-active:hover .fuo-vertical-menu__count{
    background:#fff!important;
    color:#d94f10!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__chevron{
    width:17px!important;
    min-width:17px!important;
    flex:0 0 17px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    color:#938d86!important;
    font-size:23px!important;
    font-weight:400!important;
    line-height:1!important;
    transition:all .2s ease!important;
  }
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__item:not(.is-active):hover .fuo-vertical-menu__chevron,
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__item.is-active .fuo-vertical-menu__chevron,
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__item.is-active:hover .fuo-vertical-menu__chevron{
    color:#ff6600!important;
    transform:translateX(2px)!important;
  }

  /* Let top+bottom define the action rail so the 38px + sits exactly 12px from
     the card bottom, matching DeliverEat. */
  .foodup-ordering.fuo-theme-delivereat .fuo-product-grid > .fuo-product-card > .fuo-product-action{
    right:12px!important;
    top:12px!important;
    bottom:12px!important;
    height:auto!important;
    width:38px!important;
    overflow:visible!important;
  }

  /* Exact DeliverEat quantity badge geometry: right -5, top -6 relative to the
     38px +. In FoodUp the badge is a sibling, so bottom:26 reproduces that same
     overlap: 12px of the 18px badge sits over the + circle. */
  .foodup-ordering.fuo-theme-delivereat [data-fuo-product-action] .fuo-option-cart-badge,
  .foodup-ordering.fuo-theme-delivereat [data-fuo-product-action] .fuo-simple-cart-badge{
    position:absolute!important;
    right:-5px!important;
    top:auto!important;
    bottom:26px!important;
    left:auto!important;
    z-index:20!important;
    min-width:18px!important;
    width:auto!important;
    height:18px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    padding:0 4px!important;
    border:1px solid #ff6600!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#ff6600!important;
    box-shadow:none!important;
    font-size:10px!important;
    font-weight:700!important;
    line-height:12px!important;
    transform:none!important;
  }

  .foodup-ordering.fuo-theme-delivereat [data-fuo-product-action] .fuo-option-cart-badge .fuo-cart-badge__value,
  .foodup-ordering.fuo-theme-delivereat [data-fuo-product-action] .fuo-simple-cart-badge .fuo-cart-badge__value{
    color:#ff6600!important;
  }
}


/* =========================================================
   FoodUp Ordering v0.5.64 — clean DeliverEat desktop side cart
   One scoped cart implementation. No product-action class reuse and no
   stacked emergency overrides. Cart mutation/data handlers are unchanged.
   ========================================================= */
@media (min-width:769px){
  body.fuo-theme-delivereat .fuo-m-cart-sheet__eyebrow{display:none}
  body.fuo-theme-delivereat .fuo-m-cart-sheet__title-row{gap:8px}
  body.fuo-theme-delivereat .fuo-m-cart-sheet__count{
    min-width:20px;
    height:20px;
    padding:0 6px;
    border-radius:999px;
    background:#f1efec;
    color:#77716a;
    font-size:10px;
    font-weight:800;
  }

  /* Cart rows now use the exact storefront .fuo-product-card component.
     No duplicate cart-card/action CSS lives here. */
}


/* FoodUp Ordering v0.5.69 — cart uses the storefront product-card component verbatim.
   No cart-specific product-card declarations; normal cascade only. */

/* =========================================================
   FoodUp Ordering v0.5.65 — shared product card in desktop cart + DeliverEat FAB
   The cart row intentionally reuses the storefront product-card component.
   This block uses the normal CSS cascade only.
   ========================================================= */


/* =========================================================
   FoodUp Ordering v0.5.75 — DeliverEat cart product card + unified motion
   Desktop cart rows stay visually aligned with the DeliverEat storefront card,
   with a slightly denser cart rhythm and smoother action reveal/collapse.
   ========================================================= */


/* =========================================================
   FoodUp Ordering v0.5.71 — DeliverEat cart header + mode label cleanup
   Normal cascade only; no !important declarations.
   ========================================================= */


/* =========================================================
   FoodUp Ordering v0.5.107 — FoodUp Theme responsive CSS Control bridge
   Mobile <= 768px, tablet 769–1199px (automatic), desktop >= 1200px.
   Presentation only. Existing storefront values remain the fallbacks.
   ========================================================= */
@media(min-width:1200px){
  /* FoodUp Classic — desktop */
  
  
  
  
  
  

  /* DeliverEat storefront theme — desktop */
  .foodup-ordering.fuo-theme-delivereat .fuo-category-hero:not(.no-image){
    height:var(--fu-order-category-banner-desktop-height,190px)!important;
    min-height:var(--fu-order-category-banner-desktop-height,190px)!important;
    border-radius:var(--fu-order-category-banner-desktop-radius,20px)!important;
  }
  .foodup-ordering.fuo-theme-delivereat .fuo-category-hero:not(.no-image) h2{
    font-size:var(--fu-order-category-title-desktop-size,29px)!important;
    font-weight:var(--fu-order-category-title-desktop-weight,700)!important;
  }
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__item{
    font-size:var(--fu-order-category-menu-desktop-size,16px)!important;
  }
  .foodup-ordering.fuo-theme-delivereat .fuo-product-grid > .fuo-product-card .fuo-product-card__body h3{
    font-size:var(--fu-order-product-title-desktop-size,17px)!important;
  }
  .foodup-ordering.fuo-theme-delivereat .fuo-product-grid > .fuo-product-card .fuo-product-card__body p{
    font-size:var(--fu-order-product-description-desktop-size,13px)!important;
  }
  .foodup-ordering.fuo-theme-delivereat .fuo-product-grid > .fuo-product-card .fuo-product-price,
  .foodup-ordering.fuo-theme-delivereat .fuo-product-grid > .fuo-product-card .fuo-product-price .amount,
  .foodup-ordering.fuo-theme-delivereat .fuo-product-grid > .fuo-product-card .fuo-product-price .woocommerce-Price-amount{
    font-size:var(--fu-order-product-price-desktop-size,17px)!important;
  }
}

@media(min-width:769px) and (max-width:1199px){
  /* FoodUp Classic — tablet values are generated by the theme. */
  
  
  
  
  
  

  /* DeliverEat storefront theme — tablet */
  .foodup-ordering.fuo-theme-delivereat .fuo-category-hero:not(.no-image){
    height:var(--fu-order-category-banner-tablet-height,var(--fu-order-category-banner-desktop-height,190px))!important;
    min-height:var(--fu-order-category-banner-tablet-height,var(--fu-order-category-banner-desktop-height,190px))!important;
    border-radius:var(--fu-order-category-banner-tablet-radius,var(--fu-order-category-banner-desktop-radius,20px))!important;
  }
  .foodup-ordering.fuo-theme-delivereat .fuo-category-hero:not(.no-image) h2{
    font-size:var(--fu-order-category-title-tablet-size,var(--fu-order-category-title-desktop-size,29px))!important;
    font-weight:var(--fu-order-category-title-tablet-weight,var(--fu-order-category-title-desktop-weight,700))!important;
  }
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu__item{
    font-size:var(--fu-order-category-menu-tablet-size,var(--fu-order-category-menu-desktop-size,16px))!important;
  }
  .foodup-ordering.fuo-theme-delivereat .fuo-product-grid > .fuo-product-card .fuo-product-card__body h3{
    font-size:var(--fu-order-product-title-tablet-size,var(--fu-order-product-title-desktop-size,17px))!important;
  }
  .foodup-ordering.fuo-theme-delivereat .fuo-product-grid > .fuo-product-card .fuo-product-card__body p{
    font-size:var(--fu-order-product-description-tablet-size,var(--fu-order-product-description-desktop-size,13px))!important;
  }
  .foodup-ordering.fuo-theme-delivereat .fuo-product-grid > .fuo-product-card .fuo-product-price,
  .foodup-ordering.fuo-theme-delivereat .fuo-product-grid > .fuo-product-card .fuo-product-price .amount,
  .foodup-ordering.fuo-theme-delivereat .fuo-product-grid > .fuo-product-card .fuo-product-price .woocommerce-Price-amount{
    font-size:var(--fu-order-product-price-tablet-size,var(--fu-order-product-price-desktop-size,17px))!important;
  }
}


/* =========================================================
   FoodUp Ordering v0.5.110 — DeliverEat category state specificity fix
   First/last category buttons inherit higher-specificity legacy shape rules.
   Repeat the visual hover/active states at equal-or-higher specificity so the
   first category (for example Pizza - Ø32cm) looks active exactly like every
   middle category. No scroll/order logic changes.
   ========================================================= */
@media(min-width:769px){
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li:first-child > .fuo-vertical-menu__item:not(.is-active):hover,
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li:last-child > .fuo-vertical-menu__item:not(.is-active):hover,
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li:only-child > .fuo-vertical-menu__item:not(.is-active):hover{
    border:1px solid #ffd7c2!important;
    border-radius:10px!important;
    background:#fff8f4!important;
    color:#242424!important;
  }

  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li:first-child > .fuo-vertical-menu__item.is-active,
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li:first-child > .fuo-vertical-menu__item.is-active:hover,
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li:last-child > .fuo-vertical-menu__item.is-active,
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li:last-child > .fuo-vertical-menu__item.is-active:hover,
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li:only-child > .fuo-vertical-menu__item.is-active,
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li:only-child > .fuo-vertical-menu__item.is-active:hover{
    border:1px solid #ffc5a8!important;
    border-radius:10px!important;
    background:#fff1e8!important;
    color:#d94f10!important;
  }
}


/* =========================================================
   FoodUp Ordering v0.5.111 — DeliverEat sidebar optical padding fix
   The native desktop scrollbar reserves space on the right. Removing only
   the menu's right padding makes the visible gutter match the 10px left gap.
   ========================================================= */
@media(min-width:769px){
  .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu{
    padding:10px 0 10px 10px!important;
  }
}


/* =========================================================
   FoodUp Ordering v0.5.126 — cart card geometry cleanup
   One final, higher-specificity card layer. No !important.
   Image-less cart rows are intentionally shorter so the title/price
   do not float inside an image-sized empty card.
   ========================================================= */


/* =========================================================
   FoodUp Ordering v0.5.127 — cart quantity control restored horizontally
   Canonical cart control geometry. The three 32px segments keep the original
   button size while the expanded control opens sideways instead of vertically.
   No !important is used in this layer.
   ========================================================= */

/* DeliverEat desktop cart uses the shared storefront card component.
   Keep the compact 32px add button, then open the quantity control sideways. */


/* =========================================================
   FoodUp Ordering v0.5.128 — cart control optical alignment
   Cart-only cleanup. Legacy !important icon rules are scoped back to the
   storefront grid above, so this layer needs no !important declarations.
   ========================================================= */


/* =========================================================
   FoodUp Ordering v0.5.130 — catalogue fallback-image geometry
   Cart imagery is intentionally independent: cart rows always render an image.
   When the Website theme suppresses catalogue fallback imagery, collapse only
   the catalogue text offset. No !important is needed for this state.
   ========================================================= */
@media (min-width:769px){
  .foodup-ordering .fuo-product-grid > .fuo-product-card.is-fuo-image-suppressed{
    --fuo-product-body-left:14px;
  }
}

@media (max-width:768px){
  .foodup-ordering .fuo-m-product-list > .fuo-m-product-card.is-fuo-image-suppressed{
    --fuo-mobile-product-body-left:14px;
  }
}


/* =========================================================
   FoodUp Ordering v0.5.137 — cart closure notice + small-screen hardening
   ========================================================= */
.fuo-cart-closure{
  box-sizing:border-box;
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  align-items:start;
  gap:10px;
  margin-bottom:12px;
  padding:11px 12px;
  border:1px solid rgba(255,102,0,.28);
  border-radius:12px;
  background:#fff9f5;
  color:#2b211b;
}
.fuo-cart-closure[hidden]{display:none}
.fuo-cart-closure.is-active{
  border-color:rgba(255,102,0,.55);
  background:#fff4ed;
}
.fuo-cart-closure__icon{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#fff0e6;
  color:#ff6600;
  font-size:18px;
}
.fuo-cart-closure__copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.fuo-cart-closure__copy strong{
  color:#1d1815;
  font-size:12.5px;
  font-weight:800;
  line-height:1.25;
}
.fuo-cart-closure__copy small{
  color:#6e6158;
  font-size:11px;
  line-height:1.4;
}
.fuo-cart-closure__copy em{
  display:flex;
  align-items:center;
  gap:5px;
  margin-top:2px;
  color:#c94d0a;
  font-size:10.5px;
  font-style:normal;
  font-weight:750;
  line-height:1.35;
}

@media(max-width:430px){
  .foodup-ordering,
  .foodup-ordering *,
  .fuo-cart-drawer,
  .fuo-cart-drawer *{
    box-sizing:border-box;
  }
  .foodup-ordering .fuo-product-card,
  .foodup-ordering .fuo-m-product-card,
  .fuo-cart-drawer .fuo-cart-item,
  .fuo-cart-drawer .fuo-product-card{
    min-width:0;
    max-width:100%;
  }
  .fuo-cart-order-context select,
  .foodup-ordering select,
  .foodup-ordering input,
  .foodup-ordering textarea{
    max-width:100%;
    font-size:16px;
  }
  .fuo-cart-minimum__copy span,
  .fuo-cart-closure__copy small,
  .fuo-cart-closure__copy em{
    overflow-wrap:anywhere;
  }
}


/* =========================================================
   FoodUp Ordering v0.5.139 — cart add-on wrapping + disabled CTA polish
   ========================================================= */


/* ===== Cart — canonical (v0.5.164) ===== */

.fuo-cart-fab{
  position:fixed;
  z-index:1700;
  right:15px;
  bottom:24px;
  width:64px;
  height:64px;
  min-height:0;
  display:grid;
  place-items:center;
  margin:0;
  padding:0;
  border:1px solid #e3e6ea;
  border-radius:22px;
  background:#fff;
  color:#111317;
  appearance:none;
  box-shadow:0 10px 28px rgba(17,24,39,.14);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translate3d(0,12px,0) scale(.94);
  pointer-events:none;
  transition:opacity .22s ease,transform .24s cubic-bezier(.2,.75,.2,1),visibility 0s linear .24s;
}

.fuo-cart-fab.has-items{
  opacity:1;
  visibility:visible;
  transform:translate3d(0,0,0) scale(1);
  pointer-events:auto;
  transition:opacity .22s ease,transform .24s cubic-bezier(.2,.75,.2,1),visibility 0s;
}

.fuo-cart-fab.has-items.is-scroll-hidden,
body.fuo-cart-open .fuo-cart-fab{
  opacity:0;
  visibility:hidden;
  transform:translate3d(0,12px,0) scale(.94);
  pointer-events:none;
  transition:opacity .18s ease,transform .2s cubic-bezier(.2,.75,.2,1),visibility 0s linear .2s;
}

.fuo-cart-fab__icon{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  pointer-events:none;
}

.fuo-cart-fab__icon .ti{
  display:block;
  font-size:34px;
  line-height:1;
}

.fuo-cart-fab__count{
  position:absolute;
  top:-4px;
  right:-4px;
  min-width:24px;
  height:24px;
  display:grid;
  place-items:center;
  padding:0 6px;
  border:3px solid #fff;
  border-radius:999px;
  background:#ef3129;
  color:#fff;
  font-size:11px;
  font-weight:850;
  line-height:1;
  box-shadow:none;
}

.fuo-cart-fab__total{
  display:none;
}

.fuo-cart-overlay{
  position:fixed;
  z-index:2147483000;
  inset:0;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease-out;
}

.fuo-cart-overlay.is-visible{
  opacity:1;
  pointer-events:auto;
}

.fuo-cart-drawer{
  position:fixed;
  z-index:2147483001;
  top:0;
  right:0;
  bottom:0;
  width:min(420px,100vw);
  height:100dvh;
  max-height:100dvh;
  display:flex;
  flex-direction:column;
  box-shadow:-14px 0 40px rgba(0,0,0,.16);
  transform:translate3d(calc(100% + 40px),0,0);
  visibility:hidden;
  pointer-events:none;
  will-change:transform;
  transition:transform .22s cubic-bezier(.22,.8,.2,1),visibility 0s linear .22s;
}

.fuo-cart-drawer.is-open{
  transform:translate3d(0,0,0);
  visibility:visible;
  pointer-events:auto;
  transition:transform .22s cubic-bezier(.22,.8,.2,1),visibility 0s linear 0s;
}

.fuo-cart-drawer__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.fuo-cart-drawer__head span{
  display:block;
  margin-bottom:3px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.fuo-cart-drawer__head h2{
  margin:0;
}

.fuo-cart-drawer__head button{
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

.fuo-cart-drawer__head button .ti{
  font-size:20px;
}

.fuo-cart-drawer__body{
  flex:1;
  min-height:0;
  overflow-y:auto;
  padding:12px 18px 20px;
}

.fuo-cart-empty{
  min-height:320px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  text-align:center;
}

.fuo-cart-empty .ti{
  font-size:42px;
  opacity:.55;
}

.fuo-cart-empty p{
  margin:0;
}

.fuo-cart-item{
  position:relative;
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  column-gap:10px;
  min-height:92px;
  margin:0 0 8px;
  padding:6px;
  border:1px solid #E6E6E6;
}

.fuo-cart-item:last-child{
  margin-bottom:0;
}

.fuo-cart-item__image{
  width:72px;
  height:72px;
  overflow:hidden;
  align-self:center;
  border:1px solid #E6E6E6;
}

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

.fuo-cart-item__info{
  min-width:0;
  padding:2px 0 34px;
}

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

.fuo-cart-item__info h3{
  min-width:0;
  margin:0;
  font-size:14px;
  line-height:1.25;
}

.fuo-cart-item__line-total{
  margin:0;
  font-size:14px;
  line-height:1.25;
  white-space:nowrap;
}

.fuo-cart-item__addons{
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:4px 0 0;
  color:#737b84;
}

.fuo-cart-item__addons small{
  display:block;
  margin:0;
  font-size:11px;
  font-weight:500;
  line-height:1.35;
}

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

.fuo-cart-qty{
  position:absolute;
  right:6px;
  bottom:6px;
  width:96px;
  height:32px;
  display:grid;
  grid-template-columns:32px 32px 32px;
  grid-template-rows:32px;
  overflow:hidden;
  border:1px solid #E6E6E6;
}

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

.fuo-cart-qty button{
  border:0;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}

.fuo-cart-qty button:hover{
  background:#fff6ed;
}

.fuo-cart-qty button.is-trash:hover{
  background:#d93636;
  color:#fff;
}

.fuo-cart-qty button .ti{
  font-size:16px;
  line-height:1;
}

.fuo-cart-qty [data-fuo-qty-plus]{
  position:relative;
}

.fuo-cart-qty [data-fuo-qty-plus] .ti{
  display:none;
}

.fuo-cart-qty [data-fuo-qty-plus]::before,
.fuo-cart-qty [data-fuo-qty-plus]::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:12px;
  height:2px;
  border-radius:999px;
  background:currentColor;
  transform:translate(-50%,-50%);
  pointer-events:none;
}

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

.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;
}

.fuo-cart-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:13px;
  font-size:16px;
}

.fuo-cart-summary strong{
  font-size:16px;
}

.fuo-checkout-button{
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border-radius:10px;
  background:var(--fuo-primary-btn);
  color:#fff;
  font-size:14px;
  font-weight:800;
  text-decoration:none;
}

.fuo-checkout-button:hover{
  color:#fff;
  filter:brightness(1.04);
}

.fuo-toast{
  position:fixed;
  /* Above the add-on modal (99991) and the cart sheet (2147483001), so messages
     are never hidden while the cart is open. */
  z-index:2147483646;
  left:50%;
  bottom:28px;
  max-width:min(440px,calc(100vw - 32px));
  padding:11px 15px;
  border-radius:10px;
  background:#181a1e;
  color:#fff;
  font-size:13px;
  font-weight:600;
  text-align:center;
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,12px);
  transition:opacity .18s ease,transform .18s ease;
}

.fuo-toast.is-visible{
  opacity:1;
  transform:translate(-50%,0);
}

html.fuo-modal-open .fuo-toast{
  top:calc(16px + env(safe-area-inset-top, 0px));
  bottom:auto;
  transform:translate(-50%,-12px);
}

html.fuo-modal-open .fuo-toast.is-visible{
  transform:translate(-50%,0);
}

body.fuo-cart-open{
  overflow:hidden;
}

@media (max-width:768px){

  .fuo-cart-fab{
    right:12px;
    bottom:82px;
  }

  .fuo-cart-drawer{
    width:100%;
  }

  .fuo-toast{
    bottom:90px;
  }
}

@media (max-width:420px){

  .fuo-cart-fab__total{
    display:none;
  }
}

html:has(body.fuo-cart-open),
body.fuo-cart-open{
  overflow:hidden;
}

.fuo-cart-order-context{
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
}

.fuo-cart-mode{
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
  padding:4px;
  overflow:hidden;
  isolation:isolate;
  border:1px solid #dde2e6;
  border-radius:11px;
}

.fuo-cart-mode::before{
  content:"";
  position:absolute;
  z-index:0;
  top:4px;
  left:4px;
  width:calc((100% - 12px) / 2);
  height:calc(100% - 8px);
  border-radius:8px;
  background:#fff;
  box-shadow:0 1px 3px rgba(19,29,38,.09);
  transform:translate3d(0,0,0);
  transition:transform .22s cubic-bezier(.22,.8,.2,1);
  pointer-events:none;
}

.fuo-cart-mode[data-active-mode="pickup"]::before{
  transform:translate3d(calc(100% + 4px),0,0);
}

.fuo-cart-mode[hidden]{
  display:none;
}

.fuo-cart-mode.is-single{
  grid-template-columns:1fr;
}

.fuo-cart-mode.is-single::before{
  width:calc(100% - 8px);
  transform:none;
}

.fuo-cart-mode button{
  position:relative;
  z-index:1;
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 12px;
  border:0;
  border-radius:8px;
  background:transparent;
  font-size:12px;
  cursor:pointer;
  transition:color .14s ease-out,opacity .14s ease-out;
}

.fuo-cart-mode button:hover:not(:disabled){
  color:#26313a;
}

.fuo-cart-mode button.is-active{
  background:transparent;
  box-shadow:none;
}

.fuo-cart-mode button .ti{
  font-size:17px;
}

.fuo-cart-zone{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.fuo-cart-zone[hidden]{
  display:none;
}

.fuo-cart-zone>span:first-child{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  font-weight:750;
}

.fuo-cart-zone>span:first-child .ti{
  color:var(--fuo-primary);
  font-size:14px;
}

.fuo-cart-zone__select{
  position:relative;
  display:block;
}

.fuo-cart-zone__select select{
  width:100%;
  height:42px;
  margin:0;
  padding:0 38px 0 11px;
  border:1px solid #d9e0e5;
  color:#26313a;
  appearance:none;
  -webkit-appearance:none;
  font-size:11px;
  font-weight:650;
  box-shadow:none;
  cursor:pointer;
}

.fuo-cart-zone__select>.ti{
  position:absolute;
  top:50%;
  right:12px;
  transform:translateY(-50%);
  color:#7c8791;
  font-size:14px;
  pointer-events:none;
}

.fuo-cart-zone.fuo-cart-context-motion,
.fuo-cart-minimum.fuo-cart-context-motion{
  overflow:hidden;
  opacity:1;
  transition:height .22s cubic-bezier(.22,.8,.2,1),opacity .16s ease-out;
}

.fuo-cart-zone.fuo-cart-context-motion:not(.is-fuo-context-visible),
.fuo-cart-minimum.fuo-cart-context-motion:not(.is-fuo-context-visible){
  opacity:0;
  pointer-events:none;
}

.fuo-cart-zone.fuo-cart-context-motion.is-fuo-context-measuring,
.fuo-cart-minimum.fuo-cart-context-motion.is-fuo-context-measuring{
  transition:none;
}

.fuo-cart-minimum{
  padding:9px 10px;
  border:1px solid #f1d7b9;
  border-radius:9px;
  background:#fff8ef;
}

.fuo-cart-minimum[hidden]{
  display:none;
}

.fuo-cart-minimum.is-met{
  border-color:#cfe7d8;
  background:#f4faf6;
}

.fuo-cart-minimum__copy{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:7px;
}

.fuo-cart-minimum__copy>span{
  display:flex;
  align-items:center;
  gap:5px;
  min-width:0;
  color:#7d591f;
  font-size:12px;
  line-height:1.25;
}

.fuo-cart-minimum:not(.is-met) .fuo-cart-minimum__copy{
  justify-content:flex-start;
}

.fuo-cart-minimum:not(.is-met) .fuo-cart-minimum__copy>span{
  white-space:nowrap;
}

.fuo-cart-minimum.is-met .fuo-cart-minimum__copy>span{
  color:#25734e;
}

.fuo-cart-minimum__copy .ti{
  font-size:14px;
}

.fuo-cart-minimum__copy small{
  color:#7b8187;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}

.fuo-cart-minimum__helper{
  margin:-1px 0 7px 19px;
  color:#7b6540;
  font-size:11px;
  font-weight:600;
  line-height:1.3;
}

.fuo-cart-minimum__track{
  height:10px;
  overflow:hidden;
  border-radius:999px;
  background:#eadfd1;
}

.fuo-cart-minimum.is-met .fuo-cart-minimum__track{
  background:#dcebe2;
}

.fuo-cart-minimum__track>span{
  position:relative;
  height:100%;
  display:block;
  overflow:hidden;
  border-radius:999px;
  background-color:var(--fuo-primary);
  transition:width .7s cubic-bezier(.34,1.56,.64,1),background-color .4s;
}

.fuo-cart-minimum:not(.is-met) .fuo-cart-minimum__track>span{
  background-image:repeating-linear-gradient(-45deg,rgba(255,255,255,.28) 0 8px,transparent 8px 16px);
  background-size:23px 23px;
  animation:fuo-cart-minimum-stripes .9s linear infinite;
}

.fuo-cart-minimum.is-met .fuo-cart-minimum__track>span{
  background-color:#20a367;
  background-image:none;
  animation:none;
}

.fuo-cart-minimum__copy strong{
  display:inline-block;
}

.fuo-cart-minimum__copy strong.is-fuo-minimum-bump{
  animation:fuo-cart-minimum-bump .45s cubic-bezier(.34,1.56,.64,1) 1;
}

.fuo-cart-minimum__ok{
  color:#178a55;
  font-weight:600;
}

.fuo-cart-minimum__ok.is-fuo-minimum-pop{
  animation:fuo-cart-minimum-pop .5s cubic-bezier(.34,1.56,.64,1) 1;
}

@keyframes fuo-cart-minimum-stripes{
  to{background-position:23px 0}
}

@keyframes fuo-cart-minimum-bump{
  40%{transform:scale(1.18)}
}

@keyframes fuo-cart-minimum-pop{
  0%{transform:scale(.4);opacity:0}
  100%{transform:scale(1);opacity:1}
}

@media (prefers-reduced-motion:reduce){
  .fuo-cart-minimum__track>span,
  .fuo-cart-minimum:not(.is-met) .fuo-cart-minimum__track>span{
    transition:none;
    animation:none;
  }
  .fuo-cart-minimum__copy strong.is-fuo-minimum-bump,
  .fuo-cart-minimum__ok.is-fuo-minimum-pop{
    animation:none;
  }
}

.fuo-cart-checkout-blocker{
  margin:-3px 0 10px;
  padding:8px 9px;
  border-radius:8px;
  background:#fff4e9;
  color:#875e25;
  font-size:10px;
  font-weight:650;
  line-height:1.35;
  text-align:center;
}

.fuo-cart-checkout-blocker[hidden]{
  display:none;
}

.fuo-checkout-button.is-disabled{
  background:#c8cdd1;
  color:#fff;
  cursor:not-allowed;
  pointer-events:auto;
  filter:none;
  opacity:1;
}

.fuo-cart-order-context + .fuo-cart-drawer__body{
  min-height:0;
}

.fuo-cart-drawer{
  --fuo-primary:var(--foodup-brand-color,var(--fu-primary,#ff6600));
  --fuo-secondary:var(--fu-secondary,#00a5a0);
  --fuo-text:#17191c;
  --fuo-muted:#6b7280;
  --fuo-border:#d8dde3;
  --fuo-surface:#fff;
  --fuo-soft:#f6f7f8;
}

.fuo-cart-drawer,
.fuo-cart-drawer *,
.fuo-cart-drawer *::before,
.fuo-cart-drawer *::after,
.fuo-cart-overlay{
  box-sizing:border-box;
}

.fuo-cart-drawer__head,
.fuo-cart-order-context,
.fuo-cart-drawer__footer{
  flex:0 0 auto;
}

.fuo-checkout-button,
.fuo-checkout-button:visited{
  width:100%;
  background:var(--fuo-primary-btn,var(--fuo-primary,#ff6600));
  color:#fff;
  opacity:1;
  visibility:visible;
}

.fuo-checkout-button:hover,
.fuo-checkout-button:focus{
  color:#fff;
}

.fuo-cart-fab__label,
.fuo-cart-fab__arrow{
  display:none;
}

@media (max-width:768px){

  body.fuo-cart-open .foodup-ordering .fuo-mobile-toolbar,
  body.fuo-cart-open .foodup-ordering .fuo-mobile-toolbar *,
  body.fuo-cart-open .foodup-ordering [data-fuo-horizontal-menu],
  body.fuo-cart-open .foodup-ordering [data-fuo-horizontal-menu] *{
    pointer-events:none;
    touch-action:none;
  }
}

.fuo-cart-item__image{
  display:grid;
  place-items:center;
}

.fuo-cart-item__image img.is-fuo-placeholder{
  width:84%;
  height:84%;
  object-fit:contain;
  object-position:center center;
}

@media (max-width:768px){

  body .fuo-m-cart-overlay{
    z-index:2147483000;
    inset:0;
    pointer-events:none;
  }

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

  body .fuo-m-cart-drawer{
    z-index:2147483001;
  }

  body.fuo-cart-open .fuo-m-nav,
  body.fuo-cart-open .fuo-m-nav.is-fixed{
    pointer-events:none;
    touch-action:none;
  }
}

@media (min-width:769px){

  .fuo-cart-drawer .fuo-cart-item{
    grid-template-columns:98px minmax(0,1fr);
  }

  .fuo-cart-drawer .fuo-cart-item__image{
    align-self:start;
  }
}

.fuo-checkout-button.is-syncing{
  opacity:.7;
  pointer-events:none;
}

.fuo-cart-overlay{
  background:rgba(17,22,27,.34);
}

.fuo-cart-drawer{
  border-left:1px solid #e2e6ea;
  background:#fff;
}

.fuo-cart-drawer__head{
  min-height:72px;
  padding:17px 18px;
  border-bottom:1px solid #eceff2;
  background:#fff;
}

.fuo-cart-drawer__head h2{
  color:#242b32;
  font-size:18px;
  font-weight:760;
  letter-spacing:-.015em;
}

.fuo-cart-drawer__head span{
  color:#7b858f !important;   /* needed: beats mobile-app.css on phones */
  font-size:11px !important;  /* needed: beats mobile-app.css on phones */
}

.fuo-cart-drawer__head button{
  width:38px;
  height:38px;
  border:1px solid #e0e4e8;
  border-radius:10px;
  background:#fff;
  color:#4f5963;
}

.fuo-cart-drawer__head button:hover{
  border-color:#cdd4db;
  background:#f7f8f9;
}

.fuo-cart-order-context{
  gap:10px;
  padding:14px 18px;
  border-bottom:1px solid #edf0f2;
  background:#fbfcfd;
}

.fuo-cart-mode{
  border-color:#e0e4e8 !important;  /* needed: beats mobile-app.css on phones */
  background:#f1f3f5 !important;    /* needed: beats mobile-app.css on phones */
}

.fuo-cart-mode button{
  color:#69737d;
  font-weight:720;
}

.fuo-cart-mode button.is-active{
  color:var(--fuo-primary);
}

.fuo-cart-zone>span:first-child{
  color:#55616c !important;   /* needed: beats mobile-app.css on phones */
}

.fuo-cart-zone__select select{
  border-color:#d9dee3;
  border-radius:9px;
  background:#fff;
}

.fuo-cart-drawer__body{
  background:#fff;
}

.fuo-cart-empty{
  color:#78818a;
}

.fuo-cart-item{
  border-color:#e3e7ea;
  border-radius:12px;
  background:#fff;
  box-shadow:0 1px 2px rgba(16,24,40,.02);
}

.fuo-cart-item__image{
  border-radius:9px;
  background:#f5f6f7;
}

.fuo-cart-item__info h3{
  color:#293038;
  font-weight:740;
}

.fuo-cart-item__line-total{
  color:#293038;
  font-weight:760;
}

.fuo-cart-item__addons small{
  color:#7a848d;
}

.fuo-cart-qty{
  border-color:#e0e4e8;
  border-radius:9px;
  background:#fff;
}

.fuo-cart-drawer__footer{
  padding:16px 18px 18px;
  border-top:1px solid #e8ecef;
  background:#fff;
}

.fuo-cart-summary{
  color:#343c44;
}

.fuo-checkout-button,
.fuo-checkout-button:visited{
  min-height:50px;
  border-radius:11px;
  font-size:13px;
  font-weight:780;
  transition:filter .16s ease,transform .14s ease,box-shadow .16s ease;
}

.fuo-checkout-button:not(.is-disabled){
  box-shadow:none;
}

.fuo-checkout-button:not(.is-disabled):hover,
.fuo-checkout-button:not(.is-disabled):focus{
  filter:brightness(1.02);
  transform:translateY(-1px);
  box-shadow:none;
}

.fuo-checkout-button.is-disabled{
  box-shadow:none;
  transform:none;
}


.fuo-cart-item{
  --fuo-cart-edge:6px;
}

.fuo-cart-actions{
  position:absolute;
  z-index:4;
  right:var(--fuo-cart-edge);
  bottom:var(--fuo-cart-edge);
  width:96px;
  height:32px;
  margin:0;
  padding:0;
  overflow:visible;
  pointer-events:none;
}

.fuo-cart-actions > .fuo-cart-qty{
  position:absolute;
  z-index:2;
  right:0;
  bottom:0;
  width:96px;
  height:32px;
  margin:0;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate3d(2px,0,0) scaleX(.34);
  transform-origin:right center;
  clip-path:none;
  transition:opacity .15s ease-out,transform .17s cubic-bezier(.2,.75,.2,1),visibility 0s linear .17s;
}

.fuo-cart-compact-add{
  position:absolute;
  z-index:3;
  right:0;
  bottom:0;
  width:32px;
  height:32px;
  min-width:32px;
  min-height:32px;
  display:grid;
  place-items:center;
  margin:0;
  padding:0;
  box-sizing:border-box;
  border:1px solid #e0e4e8;
  border-radius:9px;
  background:#fff;
  color:var(--fuo-primary);
  appearance:none;
  box-shadow:none;
  cursor:pointer;
  pointer-events:auto;
  overflow:hidden;
  opacity:1;
  visibility:visible;
  transform:translate3d(0,0,0) scale(1);
  transition:background-color .14s ease-out,color .14s ease-out,border-color .14s ease-out,opacity .12s ease-out,visibility 0s linear 0s;
}

.fuo-cart-compact-add::before,
.fuo-cart-compact-add::after,
.fuo-cart-qty button::before,
.fuo-cart-qty button::after{
  content:none;
  display:none;
}

.fuo-cart-compact-add .ti,
.fuo-cart-qty button .ti,
.fuo-cart-qty [data-fuo-qty-plus] .ti{
  position:relative;
  z-index:1;
  display:block;
  margin:0;
  padding:0;
  color:inherit;
  font-size:16px;
  line-height:1;
  transform:none;
  transition:color .14s ease-out;
}

.fuo-cart-qty button{
  position:relative;
  overflow:hidden;
  background:#fff;
  color:var(--fuo-primary);
  transform:none;
  transition:background-color .14s ease-out,color .14s ease-out;
}

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

.fuo-cart-compact-add:hover,
.fuo-cart-compact-add:focus-visible,
.fuo-cart-qty button:not(.is-trash):hover,
.fuo-cart-qty button:not(.is-trash):focus-visible{
  background:var(--fuo-primary);
  color:#fff;
}

.fuo-cart-qty button.is-trash:hover,
.fuo-cart-qty button.is-trash:focus-visible{
  background:#d93636;
  color:#fff;
}

.fuo-cart-qty > span{
  border-left:1px solid #e0e4e8;
  border-right:1px solid #e0e4e8;
}

.fuo-cart-qty [data-fuo-qty-plus]{
  border-left:0;
}

.fuo-cart-row-badge{
  position:absolute;
  z-index:6;
  right:0;
  bottom:28px;
  min-width:17px;
  width:auto;
  height:17px;
  display:none;
  box-sizing:border-box;
  padding:0 4px;
  border:1px solid #fff;
  border-radius:999px;
  background:var(--fuo-primary);
  color:#fff;
  box-shadow:0 1px 2px rgba(15,23,42,.12);
  font-family:'Inter',Arial,sans-serif;
  font-size:9px;
  font-weight:650;
  line-height:1;
  letter-spacing:0;
  font-variant-numeric:tabular-nums;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
  white-space:nowrap;
  pointer-events:none;
  user-select:none;
}

.fuo-cart-row-badge .fuo-cart-badge__value{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  margin:0;
  padding:0;
  line-height:1;
  text-align:center;
  transform:none;
}

@media (min-width:769px) and (hover:hover) and (pointer:fine){

  .fuo-cart-row-badge{
    display:block;
    opacity:1;
    visibility:visible;
    transform:translate3d(0,0,0) scale(1);
    transition:opacity .10s ease-out,transform .12s cubic-bezier(.2,.8,.2,1),visibility 0s linear 0s;
  }

  .fuo-cart-actions.is-fuo-qty-expanded > .fuo-cart-qty{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translate3d(0,0,0) scaleX(1);
    transition:opacity .15s ease-out,transform .17s cubic-bezier(.2,.75,.2,1),visibility 0s linear 0s;
  }

  .fuo-cart-actions.is-fuo-qty-expanded > .fuo-cart-compact-add,
  .fuo-cart-actions.is-fuo-qty-expanded > .fuo-cart-row-badge{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate3d(0,0,0);
    transition:opacity .10s ease-out,visibility 0s linear .10s;
  }
}

@media (max-width:768px), (hover:none), (pointer:coarse){

  .fuo-cart-actions > .fuo-cart-qty{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    clip-path:none;
    transform:none;
  }

  .fuo-cart-compact-add,
  .fuo-cart-row-badge{
    display:none;
  }

  .fuo-cart-drawer .fuo-cart-item{
    --fuo-cart-edge:6px;
    grid-template-columns:78px minmax(0,1fr);
    column-gap:10px;
  }

  .fuo-cart-drawer .fuo-cart-item__image{
    width:78px;
    height:78px;
    align-self:start;
    margin:0;
  }

  .fuo-cart-drawer .fuo-cart-qty{
    right:0;
    bottom:0;
  }
}

@media (min-width:769px){

  .fuo-cart-drawer .fuo-cart-item{
    --fuo-cart-edge:6px;
    position:relative;
    height:78px;
    min-height:78px;
    max-height:78px;
    display:block;
    margin:0 0 8px;
    padding:0;
    overflow:hidden;
    border:1px solid #E6E6E6;
    border-radius:12px;
    background:#fff;
    box-shadow:none;
    transition:border-color .20s ease;
  }

  .fuo-cart-drawer .fuo-cart-item:hover{
    border-color:var(--fuo-primary);
    box-shadow:none;
  }

  .fuo-cart-drawer .fuo-cart-item__image{
    position:absolute;
    left:6px;
    top:6px;
    bottom:6px;
    width:66px;
    height:auto;
    min-width:66px;
    min-height:0;
    margin:0;
    border:1px solid #E6E6E6;
    border-radius:10px;
    background:#f7f7f8;
  }

  .fuo-cart-drawer .fuo-cart-item__image img{
    width:100%;
    height:100%;
    min-height:0;
    border-radius:10px;
    object-fit:cover;
    object-position:center center;
  }

  .fuo-cart-drawer .fuo-cart-item__image img.is-fuo-placeholder{
    width:72%;
    height:72%;
    object-fit:contain;
    background:transparent;
  }

  .fuo-cart-drawer .fuo-cart-item__info{
    position:absolute;
    left:82px;
    top:7px;
    right:40px;
    bottom:7px;
    min-width:0;
    min-height:0;
    display:flex;
    flex-direction:column;
    margin:0;
    padding:0;
    box-sizing:border-box;
  }

  .fuo-cart-drawer .fuo-cart-item.is-fuo-no-image .fuo-cart-item__info{
    left:12px;
    top:10px;
    right:42px;
    bottom:10px;
  }

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

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

  .fuo-cart-drawer .fuo-cart-item__addons{
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    margin:2px 0 0;
    color:#6f7479;
    font-size:9.5px;
    line-height:1.22;
  }

  .fuo-cart-drawer .fuo-cart-item__addons small{
    display:inline;
    color:inherit;
    font-size:9.5px;
    font-weight:400;
    line-height:1.22;
  }

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

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

  .fuo-cart-drawer .fuo-cart-actions{
    position:absolute;
    z-index:4;
    right:6px;
    top:6px;
    bottom:6px;
    width:26px;
    height:auto;
    margin:0;
    padding:0;
    overflow:visible;
    pointer-events:none;
    contain:layout style;
  }

  .fuo-cart-drawer .fuo-cart-actions > .fuo-cart-qty{
    position:absolute;
    z-index:2;
    inset:0;
    width:26px;
    height:auto;
    min-width:26px;
    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 #e0e4e8;
    border-radius:10px;
    background:#fff;
    box-shadow:none;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    clip-path:none;
    transform:translate3d(0,2px,0) scaleY(.34);
    transform-origin:bottom center;
    transition:transform .17s cubic-bezier(.2,.75,.2,1),opacity .15s ease-out,visibility 0s linear .17s;
  }

  .fuo-cart-drawer .fuo-cart-qty button,
  .fuo-cart-drawer .fuo-cart-qty > span{
    width:100%;
    height:100%;
    min-width:0;
    min-height:0;
  }

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

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

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

  .fuo-cart-drawer .fuo-cart-compact-add{
    position:absolute;
    z-index:3;
    right:0;
    bottom:0;
    width:26px;
    height:26px;
    min-width:26px;
    min-height:26px;
    display:grid;
    place-items:center;
    border:1px solid #e0e4e8;
    border-radius:10px;
    background:#fff;
    color:var(--fuo-primary);
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
    transition:opacity .12s ease-out,background-color .14s ease-out,color .14s ease-out,border-color .14s ease-out;
  }

  .fuo-cart-drawer .fuo-cart-compact-add .ti{
    font-size:14px;
    line-height:1;
  }

  .fuo-cart-drawer .fuo-cart-row-badge{
    display:block;
    right:0;
    bottom:20px;
    opacity:1;
    visibility:visible;
    pointer-events:none;
    transform:none;
    transition:opacity .11s ease-out,visibility 0s linear 0s;
  }

  .fuo-cart-drawer .fuo-cart-actions.is-fuo-qty-expanded > .fuo-cart-qty{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translate3d(0,0,0) scaleY(1);
    transition:transform .17s cubic-bezier(.2,.75,.2,1),opacity .15s ease-out,visibility 0s linear 0s;
  }

  .fuo-cart-drawer .fuo-cart-actions.is-fuo-qty-expanded > .fuo-cart-compact-add,
  .fuo-cart-drawer .fuo-cart-actions.is-fuo-qty-expanded > .fuo-cart-row-badge{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .10s ease-out,visibility 0s linear .10s;
  }
}

@media (max-width:768px), (hover:none), (pointer:coarse){

  .fuo-cart-drawer .fuo-cart-item{
    position:relative;
    min-height:78px;
    padding:6px 38px 6px 6px;
  }

  .fuo-cart-drawer .fuo-cart-actions{
    right:6px;
    top:6px;
    bottom:6px;
    width:26px;
    height:auto;
  }

  .fuo-cart-drawer .fuo-cart-actions > .fuo-cart-qty{
    inset:0;
    width:26px;
    height:auto;
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:1fr 1fr 1fr;
    border-radius:10px;
  }

  .fuo-cart-drawer .fuo-cart-qty > span{
    border-left:0;
    border-right:0;
    border-top:1px solid #e0e4e8;
    border-bottom:1px solid #e0e4e8;
  }

  .fuo-cart-drawer .fuo-cart-qty button .ti,
  .fuo-cart-drawer .fuo-cart-qty [data-fuo-qty-plus] .ti{
    display:block;
    font-size:14px;
  }
}

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

@media (min-width:769px){

  body.fuo-theme-delivereat .fuo-cart-overlay{
    background:rgba(16,14,12,.28);
  }

  .fuo-cart-drawer.fuo-theme-delivereat{
    --fuo-primary:var(--foodup-brand-color,var(--fu-primary,#ff6600));
    top:0;
    right:0;
    bottom:0;
    left:auto;
    width:min(430px,100vw);
    height:100dvh;
    max-height:none;
    overflow:hidden;
    border:0;
    border-left:1px solid rgba(0,0,0,.07);
    border-radius:24px 0 0 24px;
    background:#f7f7f6;
    box-shadow:-18px 0 48px rgba(0,0,0,.16);
    opacity:1;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-cart-drawer__head{
    min-height:70px;
    padding:17px 18px;
    border-bottom:1px solid #eceff2;
    background:#fff;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-cart-drawer__head h2{
    color:#242b32;
    font-family:'Inter',Arial,sans-serif;
    font-size:22px;
    font-weight:760;
    line-height:1.12;
    letter-spacing:-.025em;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-cart-drawer__head>button{
    width:38px;
    height:38px;
    flex:0 0 36px;
    border:1px solid #e0e4e8;
    border-radius:10px;
    background:#fff;
    color:#4f5963;
    box-shadow:none;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-cart-drawer__head>button:hover{
    border-color:#cdd4db;
    background:#f7f8f9;
    color:#4f5963;
  }

  body.fuo-theme-delivereat .fuo-cart-order-context{
    gap:10px;
    padding:14px 18px;
    border-bottom:1px solid #edf0f2;
    background:#fbfcfd;
  }

  body.fuo-theme-delivereat .fuo-cart-mode{
    min-height:44px;
    padding:4px;
    border:1px solid #e0e4e8;
    border-radius:14px;
    background:#f1f3f5;
  }

  body.fuo-theme-delivereat .fuo-cart-mode::before{
    top:4px;
    left:4px;
    width:calc((100% - 12px)/2);
    height:calc(100% - 8px);
    border:0;
    border-radius:10px;
    background:#ff6600;
    box-shadow:none;
  }

  body.fuo-theme-delivereat .fuo-cart-mode[data-active-mode="pickup"]::before{
    transform:translate3d(calc(100% + 4px),0,0);
  }

  body.fuo-theme-delivereat .fuo-cart-mode.is-single::before{
    width:calc(100% - 8px);
    transform:none;
  }

  body.fuo-theme-delivereat .fuo-cart-mode button{
    min-height:34px;
    border-radius:10px;
    color:#6e6862;
    font-size:12.5px;
    font-weight:700;
  }

  body.fuo-theme-delivereat .fuo-cart-mode button.is-active{
    color:#fff;
  }

  body.fuo-theme-delivereat .fuo-cart-zone__select select{
    height:40px;
    border:1px solid #d9dee3;
    border-radius:9px;
    background:#fff;
    color:#191816;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-cart-drawer__body{
    flex:1 1 auto;
    min-height:0;
    max-height:none;
    overflow-y:auto;
    padding:12px;
    background:#fff;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-cart-drawer__body{
    display:flex;
    flex-direction:column;
    gap:8px;
  }

  body.fuo-theme-delivereat .fuo-cart-empty{
    min-height:260px;
    border:1px dashed rgba(0,0,0,.10);
    border-radius:16px;
    background:#fff;
    color:#78818a;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-cart-drawer__footer{
    padding:16px 18px 18px;
    border-top:1px solid #e8ecef;
    background:#fff;
  }

  body.fuo-theme-delivereat .fuo-cart-summary{
    margin-bottom:10px;
    color:#343c44;
    font-size:13px;
  }

  body.fuo-theme-delivereat .fuo-cart-summary strong{
    color:#171717;
    font-size:16px;
    font-weight:800;
  }

  body.fuo-theme-delivereat .fuo-checkout-button,
  body.fuo-theme-delivereat .fuo-checkout-button:visited{
    min-height:50px;
    border:0;
    border-radius:11px;
    background:var(--fuo-primary-btn,var(--fuo-primary,#ff6600));
    color:#fff;
    box-shadow:none;
    font-size:13px;
    font-weight:780;
  }

  body.fuo-theme-delivereat .fuo-checkout-button:hover{
    background:var(--fuo-primary-btn,var(--fuo-primary,#ff6600));
    color:#fff;
    filter:none;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-cart-drawer__body > .fuo-product-card{
    flex:0 0 auto;
    margin:0;
  }

  body.fuo-theme-delivereat .fuo-cart-fab{
    right:24px;
    bottom:24px;
    width:auto;
    height:44px;
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0 14px;
    border:0;
    border-radius:999px;
    background:#191816;
    color:#fff;
    box-shadow:0 10px 28px rgba(17,24,39,.14);
  }

  body.fuo-theme-delivereat .fuo-cart-fab:hover{
    background:#000;
    color:#fff;
    box-shadow:0 10px 28px rgba(17,24,39,.14);
  }

  body.fuo-theme-delivereat .fuo-cart-fab__icon{
    width:18px;
    height:18px;
    display:grid;
    place-items:center;
    flex:0 0 18px;
  }

  body.fuo-theme-delivereat .fuo-cart-fab__icon .ti{
    font-size:18px;
    line-height:1;
  }

  body.fuo-theme-delivereat .fuo-cart-fab__count{
    position:static;
    min-width:20px;
    height:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 6px;
    border:0;
    border-radius:999px;
    background:#ff6422;
    color:#fff;
    font-size:11px;
    font-weight:700;
    line-height:1;
  }

  body.fuo-theme-delivereat .fuo-cart-fab__total{
    display:block;
    color:#fff;
    font-size:13px;
    font-weight:700;
    line-height:1;
    white-space:nowrap;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-cart-order-context{
    gap:10px;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-cart-mode::before{
    backface-visibility:hidden;
    transform-style:preserve-3d;
    transition:transform .28s cubic-bezier(.22,.8,.2,1);
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-cart-mode button{
    transform:translateZ(0);
    transition:color .20s ease-out,opacity .20s ease-out;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-cart-zone.fuo-cart-context-motion,
  .fuo-cart-drawer.fuo-theme-delivereat .fuo-cart-minimum.fuo-cart-context-motion{
    max-height:none;
    height:auto;
    margin-top:9px;
    overflow:hidden;
    box-sizing:border-box;
    opacity:1;
    transform:none;
    transition:height .22s cubic-bezier(.22,.8,.2,1),
      margin-top .22s cubic-bezier(.22,.8,.2,1),
      opacity .16s ease-out,
      padding-top .22s cubic-bezier(.22,.8,.2,1),
      padding-bottom .22s cubic-bezier(.22,.8,.2,1),
      border-top-width .22s cubic-bezier(.22,.8,.2,1),
      border-bottom-width .22s cubic-bezier(.22,.8,.2,1);
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-cart-zone.fuo-cart-context-motion:not(.is-fuo-context-visible),
  .fuo-cart-drawer.fuo-theme-delivereat .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;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-cart-zone.fuo-cart-context-motion.is-fuo-context-measuring,
  .fuo-cart-drawer.fuo-theme-delivereat .fuo-cart-minimum.fuo-cart-context-motion.is-fuo-context-measuring{
    transition:none;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-card{
    --fuo-primary:var(--foodup-brand-color,var(--fu-primary,#ff6600));
    --fuo-card-qty-icon-size:15px;
    --fuo-card-trash-icon-size:13px;
    --fu-order-product-price-desktop-size:13px;
    --fu-order-product-price-tablet-size:13px;
    position:relative;
    width:100%;
    height:88px;
    min-height:88px;
    max-height:88px;
    display:block;
    margin:0;
    padding:0;
    overflow:hidden;
    box-sizing:border-box;
    border:1px solid rgba(0,0,0,.07);
    border-radius:10px;
    background:#fff;
    box-shadow:none;
    transform:none;
    cursor:pointer;
    transition:border-color .22s ease;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-card.is-fuo-no-image{
    --fuo-cart-body-left:10px;
    height:68px;
    min-height:68px;
    max-height:68px;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-card:hover,
  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-card:focus-within{
    border-color:rgba(0,0,0,.07);
    box-shadow:none;
    transform:none;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-card__media{
    position:absolute;
    left:8px;
    top:8px;
    bottom:8px;
    width:72px;
    height:auto;
    min-width:72px;
    min-height:0;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0;
    padding:0;
    overflow:hidden;
    box-sizing:border-box;
    border:0;
    border-radius:7px;
    background:#eee8e1;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-card__media img{
    width:100%;
    height:100%;
    min-width:0;
    min-height:0;
    max-width:none;
    max-height:none;
    display:block;
    margin:0;
    padding:0;
    border:0;
    border-radius:7px;
    object-fit:cover;
    object-position:center;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-card__body{
    position:absolute;
    left:var(--fuo-cart-body-left,92px);
    top:8px;
    right:42px;
    bottom:8px;
    min-width:0;
    min-height:0;
    display:flex;
    flex-direction:column;
    margin:0;
    padding:0;
    box-sizing:border-box;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-card.is-fuo-no-image .fuo-product-card__body{
    left:10px;
    top:8px;
    right:40px;
    bottom:8px;
    padding:0;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-card__body h3{
    margin:0;
    padding:0;
    color:#000;
    font-size:13px;
    font-weight:650;
    line-height:16px;
    letter-spacing:0;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-card__body p{
    margin:3px 0 0;
    padding:0;
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    color:#77716a;
    font-size:10px;
    font-weight:400;
    line-height:13px;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-card__bottom{
    width:100%;
    display:block;
    margin-top:auto;
    padding-top:3px;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-price,
  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-price .amount,
  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-price .woocommerce-Price-amount{
    color:#000;
    font-size:13px;
    font-weight:750;
    line-height:16px;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-card > .fuo-product-action{
    position:absolute;
    display:flex;
    margin:0;
    padding:0;
    box-sizing:border-box;
    z-index:2;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-action.has-simple-cart-items > .fuo-action-underlay{
    position:absolute;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0;
    padding:0;
    overflow:hidden;
    box-sizing:border-box;
    border:0;
    border-radius:50%;
    background:var(--fuo-primary);
    color:#fff;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    transform:none;
    transition:opacity .12s ease-out,visibility 0s linear 0s;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-action.has-simple-cart-items > .fuo-action-underlay::before{
    content:none;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-action.has-simple-cart-items > .fuo-action-underlay .ti{
    color:#fff;
    line-height:1;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-action.has-simple-cart-items > .fuo-simple-cart-badge{
    position:absolute;
    z-index:20;
    min-width:18px;
    width:auto;
    height:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    padding:0 4px;
    border:1px solid #ff6600;
    border-radius:999px;
    background:#fff;
    color:#ff6600;
    box-shadow:none;
    font-size:10px;
    font-weight:700;
    line-height:12px;
    opacity:1;
    visibility:visible;
    transform:none;
    transition:opacity .12s ease-out,visibility 0s linear 0s;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-simple-cart-badge .fuo-cart-badge__value{
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    margin:0;
    padding:0;
    color:#ff6600;
    line-height:1;
    text-align:center;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-action.has-simple-cart-items > .fuo-card-qty{
    z-index:1;
    align-items:stretch;
    margin:0;
    padding:0;
    overflow:hidden;
    box-sizing:border-box;
    border:1px solid var(--fuo-primary);
    background:#fff;
    color:#20242a;
    box-shadow:none;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .16s ease-out,transform .17s cubic-bezier(.2,.75,.2,1),visibility 0s linear .17s;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-card.is-fuo-qty-expanded > .fuo-product-action.has-simple-cart-items > .fuo-card-qty{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transition:opacity .16s ease-out,transform .17s cubic-bezier(.2,.75,.2,1),visibility 0s linear 0s;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-card.is-fuo-qty-expanded > .fuo-product-action.has-simple-cart-items > .fuo-action-underlay,
  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-card.is-fuo-qty-expanded > .fuo-product-action.has-simple-cart-items > .fuo-simple-cart-badge{
    opacity:0;
    visibility:hidden;
    transform:none;
    transition:opacity .10s ease-out,visibility 0s linear .10s;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-card-qty button::before,
  .fuo-cart-drawer.fuo-theme-delivereat .fuo-card-qty button::after{
    content:none;
    display:none;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-card-qty button{
    position:relative;
    width:100%;
    height:100%;
    min-width:0;
    min-height:0;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0;
    padding:0;
    overflow:hidden;
    border:0;
    background:#fff;
    color:var(--fuo-primary);
    box-shadow:none;
    cursor:pointer;
    transform:none;
    transition:background-color .14s ease-out,color .14s ease-out;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-card-qty button .ti{
    color:inherit;
    font-size:var(--fuo-card-qty-icon-size,16px);
    line-height:1;
    transition:color .14s ease-out;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-card-qty button:not(.is-trash):hover,
  .fuo-cart-drawer.fuo-theme-delivereat .fuo-card-qty button:not(.is-trash):focus-visible{
    background:var(--fuo-primary);
    color:#fff;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-card-qty button.is-trash{
    color:#d93636;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-card-qty button.is-trash:hover,
  .fuo-cart-drawer.fuo-theme-delivereat .fuo-card-qty button.is-trash:focus-visible{
    background:#d93636;
    color:#fff;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-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;
    background:#fff;
    color:#1a1a1a;
    font-size:12px;
    font-weight:700;
    line-height:1;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-m-cart-sheet__title-row{
    display:flex;
    align-items:center;
    gap:7px;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-m-cart-sheet__title-row h2{
    margin:0;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-m-cart-sheet__count{
    position:static;
    min-width:18px;
    width:auto;
    height:18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin:0;
    padding:0 5px;
    border:0;
    border-radius:999px;
    background:#f1efec;
    color:#7b858f;
    font-size:11px;
    font-weight:700;
    line-height:1;
    letter-spacing:0;
    text-transform:none;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-cart-mode button{
    color:#6e6862;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-cart-mode button > .ti,
  .fuo-cart-drawer.fuo-theme-delivereat .fuo-cart-mode button > span{
    color:inherit;
    opacity:1;
    visibility:visible;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-cart-mode button.is-active,
  .fuo-cart-drawer.fuo-theme-delivereat .fuo-cart-mode button.is-active > .ti,
  .fuo-cart-drawer.fuo-theme-delivereat .fuo-cart-mode button.is-active > span{
    color:#fff;
  }
}

@media (min-width:1200px){

  

  

  

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-cart-drawer__head h2{
    font-size:var(--fu-order-cart-title-desktop-size,22px);
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-card__body h3,
  .fuo-cart-drawer.fuo-theme-delivereat .fuo-cart-item__info h3{
    font-size:var(--fu-order-cart-item-title-desktop-size,13.5px);
  }

  body.fuo-theme-delivereat .fuo-cart-summary strong{
    font-size:var(--fu-order-cart-total-desktop-size,16px);
  }
}

@media (min-width:769px) and (max-width:1199px){

  

  

  

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-cart-drawer__head h2{
    font-size:var(--fu-order-cart-title-tablet-size,var(--fu-order-cart-title-desktop-size,22px));
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-card__body h3,
  .fuo-cart-drawer.fuo-theme-delivereat .fuo-cart-item__info h3{
    font-size:var(--fu-order-cart-item-title-tablet-size,var(--fu-order-cart-item-title-desktop-size,13.5px));
  }

  body.fuo-theme-delivereat .fuo-cart-summary strong{
    font-size:var(--fu-order-cart-total-tablet-size,var(--fu-order-cart-total-desktop-size,16px));
  }
}

@media (min-width:769px){

  body .foodup-ordering .fuo-cart-drawer .fuo-cart-item{
    border-radius:12px;
  }

  body .foodup-ordering .fuo-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-cart-item.is-fuo-no-image .fuo-cart-item__info{
    left:10px;
    top:8px;
    right:40px;
    bottom:8px;
    padding:0;
  }

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

.fuo-cart-drawer .fuo-cart-actions{
  right:6px;
  top:auto;
  bottom:6px;
  width:98px;
  height:32px;
  overflow:visible;
  contain:none;
}

.fuo-cart-drawer .fuo-cart-actions > .fuo-cart-qty,
.fuo-cart-drawer .fuo-cart-qty{
  position:absolute;
  inset:auto 0 0 auto;
  width:98px;
  height:32px;
  min-width:98px;
  min-height:32px;
  display:grid;
  grid-template-columns:32px 32px 32px;
  grid-template-rows:32px;
  margin:0;
  padding:0;
  overflow:hidden;
  box-sizing:border-box;
  border:1px solid #e0e4e8;
  border-radius:10px;
  background:#fff;
  box-shadow:none;
  transform-origin:right center;
}

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

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

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

.fuo-cart-drawer .fuo-cart-qty button.is-trash .ti-trash{
  font-size:16px;
}

.fuo-cart-drawer .fuo-cart-compact-add{
  right:0;
  bottom:0;
  width:32px;
  height:32px;
  min-width:32px;
  min-height:32px;
}

.fuo-cart-drawer .fuo-cart-compact-add .ti{
  font-size:16px;
}

.fuo-cart-drawer .fuo-cart-row-badge{
  right:0;
  bottom:28px;
}

@media (min-width:769px) and (hover:hover) and (pointer:fine){

  .fuo-cart-drawer .fuo-cart-actions > .fuo-cart-qty{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate3d(2px,0,0) scaleX(.34);
    transition:opacity .15s ease-out,transform .17s cubic-bezier(.2,.75,.2,1),visibility 0s linear .17s;
  }

  .fuo-cart-drawer .fuo-cart-actions.is-fuo-qty-expanded > .fuo-cart-qty{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translate3d(0,0,0) scaleX(1);
    transition:opacity .15s ease-out,transform .17s cubic-bezier(.2,.75,.2,1),visibility 0s linear 0s;
  }
}

@media (max-width:768px), (hover:none), (pointer:coarse){

  .fuo-cart-drawer .fuo-cart-actions > .fuo-cart-qty{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }

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

@media (min-width:769px){

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

  .fuo-cart-drawer .fuo-cart-item__bottom{
    padding-right:106px;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-card > .fuo-product-action{
    right:8px;
    top:auto;
    bottom:8px;
    width:98px;
    height:32px;
    align-items:flex-end;
    justify-content:flex-end;
    overflow:visible;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-action.has-simple-cart-items > .fuo-action-underlay{
    left:auto;
    right:0;
    bottom:0;
    width:32px;
    height:32px;
    min-width:32px;
    min-height:32px;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-action.has-simple-cart-items > .fuo-action-underlay .ti{
    font-size:16px;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-action.has-simple-cart-items > .fuo-simple-cart-badge{
    right:-4px;
    bottom:26px;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-action.has-simple-cart-items > .fuo-card-qty{
    position:absolute;
    inset:auto 0 0 auto;
    width:98px;
    height:32px;
    min-width:98px;
    min-height:32px;
    display:grid;
    grid-template-columns:32px 32px 32px;
    grid-template-rows:32px;
    border-radius:16px;
    transform:translate3d(2px,0,0) scaleX(.34);
    transform-origin:right center;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-card.is-fuo-qty-expanded > .fuo-product-action.has-simple-cart-items > .fuo-card-qty{
    transform:translate3d(0,0,0) scaleX(1);
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-card-qty button,
  .fuo-cart-drawer.fuo-theme-delivereat .fuo-card-qty > span{
    width:32px;
    height:32px;
    min-width:32px;
    min-height:32px;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-card-qty > span{
    border-top:0;
    border-bottom:0;
    border-left:1px solid #e6e6e6;
    border-right:1px solid #e6e6e6;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-card__body,
  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-card.is-fuo-no-image .fuo-product-card__body{
    right:10px;
  }

  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-card__bottom{
    padding-right:106px;
  }
}

.fuo-cart-drawer .fuo-cart-qty,
.fuo-cart-drawer.fuo-theme-delivereat .fuo-card-qty{
  width:98px;
  min-width:98px;
  grid-template-columns:32px 32px 32px;
  box-sizing:border-box;
}

.fuo-cart-drawer .fuo-cart-actions,
.fuo-cart-drawer.fuo-theme-delivereat .fuo-product-card > .fuo-product-action{
  width:98px;
}

.fuo-cart-drawer.fuo-theme-delivereat .fuo-card-qty [data-fuo-card-plus]{
  position:relative;
  display:grid;
  place-items:center;
}

.fuo-cart-drawer.fuo-theme-delivereat .fuo-card-qty [data-fuo-card-plus] .ti-plus{
  display:none;
}

.fuo-cart-drawer.fuo-theme-delivereat .fuo-card-qty [data-fuo-card-plus]::before,
.fuo-cart-drawer.fuo-theme-delivereat .fuo-card-qty [data-fuo-card-plus]::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  display:block;
  width:12px;
  height:1.5px;
  border-radius:999px;
  background:currentColor;
  transform:translate(-50%,-50%);
  pointer-events:none;
}

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

.fuo-cart-drawer.fuo-theme-delivereat .fuo-product-card:focus-within{
  border-color:rgba(0,0,0,.07);
}

.fuo-cart-drawer.fuo-theme-delivereat .fuo-product-card__media,
.fuo-cart-drawer.fuo-theme-delivereat .fuo-product-card__media img{
  border-radius:7px;
}

@media (min-width:769px){

  .fuo-cart-drawer .fuo-cart-item__bottom,
  .fuo-cart-drawer.fuo-theme-delivereat .fuo-product-card__bottom{
    padding-right:106px;
  }
}

@media (max-width:768px){

  .fuo-cart-checkout-blocker{
    font-size:12px;
  }
}

@media (max-width:430px){

  .fuo-cart-mode button{
    min-width:0;
    padding-left:8px;
    padding-right:8px;
  }
}

.fuo-cart-drawer .fuo-cart-item__addons{
  min-width:0;
  max-width:100%;
  padding-right:30px;
  overflow:hidden;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
}

.fuo-cart-drawer .fuo-cart-item__addons small{
  display:block;
  min-width:0;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
}

@media (min-width:769px){

  .fuo-cart-drawer .fuo-cart-item__addons{
    padding-right:0;
  }
}

body.fuo-theme-delivereat .fuo-checkout-button.is-disabled,
body.fuo-theme-delivereat .fuo-checkout-button.is-disabled:hover,
body.fuo-theme-delivereat .fuo-checkout-button.is-disabled:focus{
  background:#c8cdd1;
  box-shadow:none;
  transform:none;
  filter:none;
}

/* ===== Cart zone select focus (v0.5.168) =====
   The delivery-zone select in the cart had no focus style of its own, so
   browsers drew their default blue/black focus ring on every tap. It now
   behaves like the checkout fields: no ring, no shadow, border unchanged. */
.fuo-cart-zone select:focus,
.fuo-cart-zone select:focus-visible{
  outline:none;
  box-shadow:none;
}

/* ===== DeliverEat — button colours (v0.5.166) ===== */
body.fuo-theme-delivereat,
.fuo-cart-drawer.fuo-theme-delivereat{
  --fuo-de-btn:#ff6422;
  --fuo-de-btn-hover:#C95100;
}

/* Desktop/horizontal active category reuses the existing priority rule via
   a local primary value, so no extra override is needed here. */
body.fuo-theme-delivereat .fuo-horizontal-menu__item.is-active{
  --fuo-primary:var(--fuo-de-btn);
}
body.fuo-theme-delivereat .fuo-horizontal-menu__item.is-active:hover,
body.fuo-theme-delivereat .fuo-horizontal-menu__item.is-active:focus-visible{
  --fuo-primary:var(--fuo-de-btn-hover);
}

/* Product-card add buttons are filled white-on-colour actions too.
   Desktop rules already resolve their fill through --fuo-primary. */
body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-product-grid > .fuo-product-card > .fuo-product-action > .fuo-add-button{
  --fuo-primary:var(--fuo-de-btn);
}
body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-product-grid > .fuo-product-card > .fuo-product-action > .fuo-add-button:hover,
body.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-product-grid > .fuo-product-card > .fuo-product-action > .fuo-add-button:focus-visible{
  --fuo-primary:var(--fuo-de-btn-hover);
}

/* Add-on modal primary action. */
body.fuo-theme-delivereat .fuo-addon-submit{
  border-color:var(--fuo-de-btn);
  background:var(--fuo-de-btn);
  color:#fff;
}
body.fuo-theme-delivereat .fuo-addon-submit:hover,
body.fuo-theme-delivereat .fuo-addon-submit:focus-visible{
  border-color:var(--fuo-de-btn-hover);
  background:var(--fuo-de-btn-hover);
}

/* Cart checkout button; disabled stays on the existing grey rule. */
body.fuo-theme-delivereat .fuo-checkout-button:not(.is-disabled),
body.fuo-theme-delivereat .fuo-checkout-button:not(.is-disabled):visited,
.fuo-cart-drawer.fuo-theme-delivereat .fuo-checkout-button:not(.is-disabled),
.fuo-cart-drawer.fuo-theme-delivereat .fuo-checkout-button:not(.is-disabled):visited{
  background:var(--fuo-de-btn);
  color:#fff;
}
body.fuo-theme-delivereat .fuo-checkout-button:not(.is-disabled):hover,
body.fuo-theme-delivereat .fuo-checkout-button:not(.is-disabled):focus-visible,
.fuo-cart-drawer.fuo-theme-delivereat .fuo-checkout-button:not(.is-disabled):hover,
.fuo-cart-drawer.fuo-theme-delivereat .fuo-checkout-button:not(.is-disabled):focus-visible{
  background:var(--fuo-de-btn-hover);
  color:#fff;
  filter:none;
}

/* Cart delivery/pickup slider highlight. */
body.fuo-theme-delivereat .fuo-cart-mode::before,
.fuo-cart-drawer.fuo-theme-delivereat .fuo-cart-mode::before{
  background:var(--fuo-de-btn);
}
body.fuo-theme-delivereat .fuo-cart-mode button.is-active,
body.fuo-theme-delivereat .fuo-cart-mode button.is-active > .ti,
body.fuo-theme-delivereat .fuo-cart-mode button.is-active > span,
.fuo-cart-drawer.fuo-theme-delivereat .fuo-cart-mode button.is-active,
.fuo-cart-drawer.fuo-theme-delivereat .fuo-cart-mode button.is-active > .ti,
.fuo-cart-drawer.fuo-theme-delivereat .fuo-cart-mode button.is-active > span{
  color:#fff;
}

/* DeliverEat desktop cart FAB is also a filled white-on-colour action. */
body.fuo-theme-delivereat .fuo-cart-fab{
  background:var(--fuo-de-btn);
  color:#fff;
}
body.fuo-theme-delivereat .fuo-cart-fab:hover,
body.fuo-theme-delivereat .fuo-cart-fab:focus-visible{
  background:var(--fuo-de-btn-hover);
  color:#fff;
}

/* mobile-app.css loads after frontend.css with priority overrides for these
   DeliverEat controls, so these higher-specificity overrides must match them. */
@media(max-width:768px){
  body.fuo-ordering-page.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-nav__item.is-active{
    border-color:var(--fuo-de-btn)!important; /* needed: beats mobile-app.css on phones */
    background:var(--fuo-de-btn)!important; /* needed: beats mobile-app.css on phones */
  }
  /* Touch Safari keeps :hover after a tap. The active category must keep the
     normal DeliverEat orange instead of switching to the darker desktop hover. */
  @media (hover:none){
    body.fuo-ordering-page.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-nav__item.is-active:hover,
    body.fuo-ordering-page.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-nav__item.is-active:focus-visible{
      border-color:var(--fuo-de-btn)!important; /* needed: matches the existing mobile priority rule */
      background:var(--fuo-de-btn)!important; /* needed: matches the existing mobile priority rule */
    }
  }

  body.fuo-ordering-page.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-product-action .fuo-m-add-button,
  body.fuo-ordering-page.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-product-action .fuo-action-underlay{
    background:var(--fuo-de-btn)!important; /* needed: beats mobile-app.css on phones */
  }
  body.fuo-ordering-page.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-product-action .fuo-m-add-button:hover,
  body.fuo-ordering-page.fuo-theme-delivereat .foodup-ordering.fuo-theme-delivereat .fuo-m-product-action .fuo-m-add-button:focus-visible{
    background:var(--fuo-de-btn-hover)!important; /* needed: beats mobile-app.css on phones */
  }

  body.fuo-ordering-page.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-cart-mode::before{
    background:var(--fuo-de-btn)!important; /* needed: beats mobile-app.css on phones */
  }
  body.fuo-ordering-page.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-checkout-button:not(.is-disabled){
    background:var(--fuo-de-btn)!important; /* needed: beats mobile-app.css on phones */
  }
  body.fuo-ordering-page.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-checkout-button:not(.is-disabled):hover,
  body.fuo-ordering-page.fuo-theme-delivereat .fuo-m-cart-drawer .fuo-checkout-button:not(.is-disabled):focus-visible{
    background:var(--fuo-de-btn-hover)!important; /* needed: beats mobile-app.css on phones */
  }

  body.fuo-ordering-page.fuo-theme-delivereat .fuo-m-cart-fab{
    background:var(--fuo-de-btn)!important; /* needed: beats mobile-app.css on phones */
  }
  body.fuo-ordering-page.fuo-theme-delivereat .fuo-m-cart-fab:hover,
  body.fuo-ordering-page.fuo-theme-delivereat .fuo-m-cart-fab:focus-visible{
    background:var(--fuo-de-btn-hover)!important; /* needed: beats mobile-app.css on phones */
  }
}

/* v0.5.199: sold-out add-on options */
.foodup-ordering .fuo-addon-option.is-sold-out,
.fuo-addon-modal .fuo-addon-option.is-sold-out{opacity:.5;cursor:not-allowed}
.foodup-ordering .fuo-addon-option.is-sold-out .fuo-addon-option__label,
.fuo-addon-modal .fuo-addon-option.is-sold-out .fuo-addon-option__label{text-decoration:line-through}
.foodup-ordering .fuo-addon-option.is-sold-out .fuo-addon-option__price,
.fuo-addon-modal .fuo-addon-option.is-sold-out .fuo-addon-option__price{color:#c62828!important;font-size:11px;text-transform:uppercase;letter-spacing:.04em}


/* =========================================================
   FoodUp Ordering v0.5.204 — Desktop category list as one joined block
   No gap between categories, a thin divider instead. Only the outer
   corners are rounded (top of the first, bottom of the last), in every
   state (normal, hover, active). Colours/hover/active stay unchanged.
   ========================================================= */
@media(min-width:769px){
  /* Same visible space on both sides: 10px minus the real scrollbar width
     (measured in frontend.js; without it the old 0px right padding stays). */
  body .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu{
    padding-right:max(0px, calc(10px - var(--fuo-menu-scrollbar, 10px)))!important;
  }

  body .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu ul{
    gap:0!important;
  }
  /* Neighbours share one 1px line: each item overlaps the one above by 1px.
     The divider is the item's own top border, so a hovered/active item's
     orange border replaces it instead of adding a second line. */
  body .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li + li{
    margin-top:-1px!important;
  }
  body .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li + li > .fuo-vertical-menu__item:not(:hover):not(.is-active){
    border-top-color:#ebebe8!important;
  }
  body .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li > .fuo-vertical-menu__item:hover,
  body .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li > .fuo-vertical-menu__item.is-active{
    z-index:1!important;
  }
  body .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li > .fuo-vertical-menu__item:hover{
    z-index:2!important;
  }
  /* The line under a highlighted item belongs to it, not to the next item. */
  body .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li:has(> .fuo-vertical-menu__item:is(:hover, .is-active)) + li > .fuo-vertical-menu__item:not(:hover):not(.is-active){
    border-top-color:transparent!important;
  }
  body .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li > .fuo-vertical-menu__item,
  body .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li > .fuo-vertical-menu__item:hover,
  body .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li > .fuo-vertical-menu__item.is-active{
    border-radius:0!important;
  }
  body .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li:first-child > .fuo-vertical-menu__item,
  body .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li:first-child > .fuo-vertical-menu__item:hover,
  body .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li:first-child > .fuo-vertical-menu__item.is-active{
    border-radius:10px 10px 0 0!important;
  }
  body .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li:last-child > .fuo-vertical-menu__item,
  body .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li:last-child > .fuo-vertical-menu__item:hover,
  body .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li:last-child > .fuo-vertical-menu__item.is-active{
    border-radius:0 0 10px 10px!important;
  }
  body .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li:only-child > .fuo-vertical-menu__item,
  body .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li:only-child > .fuo-vertical-menu__item:hover,
  body .foodup-ordering.fuo-theme-delivereat .fuo-vertical-menu li:only-child > .fuo-vertical-menu__item.is-active{
    border-radius:10px!important;
  }
}
