/* =====================================================================
   FoodUp Restaurant — Motion (v0.14.148)
   Apple Human Interface style (raintree-technology/apple-hig-skills),
   made colourful: grouped inset cards on the system grey, frosted-glass
   bars, large titles, 44px touch targets, the iOS system colours for
   categories, widgets and icons, purposeful motion with a reduced-motion
   fallback.

   Type   Inter (bundled, variable) everywhere
   Icons  Tabler Icons (bundled webfont) everywhere
   Tokens --mo-brand / --mo-accent come from FoodUp Website → Brand / Accent.
          --c / --cc  a system colour and its text colour (set per element).
          --mo-stage  live colour of the Home stage (sampled from the photo).
   Grid   gutters 16 / 24 / 40 px · spacing 4 8 12 16 24 32 48 64 96
   ===================================================================== */

:root{
  --mo-bg:#f2f2f7;            /* systemGroupedBackground */
  --mo-card:#ffffff;          /* secondarySystemGroupedBackground */
  --mo-ink:#1d1d1f;           /* label */
  --mo-ink2:#5f5f66;          /* secondaryLabel (AA on white and on #f2f2f7) */
  --mo-sep:rgba(60,60,67,.16);/* separator */
  --mo-fill:rgba(118,118,128,.12);
  --mo-fill2:rgba(118,118,128,.2);
  --mo-glass:rgba(250,250,252,.72);
  --mo-brand:#1e5b3f;
  --mo-on-brand:#ffffff;
  --mo-accent:#f4a62a;
  --mo-on-accent:#1d1d1f;
  --mo-font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;
  --mo-gutter:16px;
  --mo-hdr:64px;
  --mo-tabs:76px;               /* floating tab bar (64) + its 12px gap to the screen edge */
  --mo-sec:40px;
  --mo-gap:12px;
  --mo-r-xl:32px;--mo-r-lg:24px;--mo-r-md:20px;--mo-r-sm:14px;
  --mo-content:var(--fu-site-width,1200px);
  --mo-spring:cubic-bezier(.32,.72,0,1);   /* iOS sheet / navigation curve */
  --mo-ease:cubic-bezier(.2,.75,.15,1);
  --mo-shadow:0 1px 2px rgba(0,0,0,.04),0 8px 24px -12px rgba(0,0,0,.12);
  --mo-shadow-lg:0 2px 6px rgba(0,0,0,.05),0 24px 48px -24px rgba(0,0,0,.25);
  /* aliases kept for the shop layer (motion-shop.css) */
  --mo-paper:var(--mo-card);--mo-mist:var(--mo-bg);--mo-line:var(--mo-sep);--mo-muted:var(--mo-ink2);
  --mo-display:var(--mo-font);--mo-text:var(--mo-font);
}
@media (min-width:640px){:root{--mo-gutter:24px;--mo-sec:56px;--mo-gap:16px;--mo-stage-pad:28px}}
@media (min-width:1024px){:root{--mo-gutter:40px;--mo-hdr:76px;--mo-sec:80px;--mo-gap:20px;--mo-stage-pad:40px}}
@media (min-width:900px){:root{--mo-tabs:0px}}
/* phones: no top bar (each page opens with its own title section, the tab bar navigates) */
@media (max-width:899px){:root{--mo-hdr:0px}}

/* Perfecto components (forms, account, legal, WooCommerce) re-tokened for Motion */
#motion{
  --pf-brand:var(--mo-brand);--pf-on-brand:var(--mo-on-brand);
  --pf-accent:var(--mo-accent);--pf-on-accent:var(--mo-on-accent);
  --pf-ink:var(--mo-ink);--pf-muted:var(--mo-ink2);
  --pf-paper:var(--mo-card);--pf-surface:var(--mo-bg);--pf-line:var(--mo-sep);
  --pf-display:var(--mo-font);--pf-text:var(--mo-font);
  --pf-r-ctl:12px;--pf-r-card:var(--mo-r-md);--pf-r-media:var(--mo-r-lg);
  --pf-header-h:var(--mo-hdr);--pf-tabbar-h:var(--mo-tabs);--pf-gutter:var(--mo-gutter);
  --pf-wrap:min(var(--mo-content),calc(100% - (var(--mo-gutter) * 2)));
  --mo-stage:var(--mo-brand);--mo-on-stage:var(--mo-on-brand);
}

/* ---------- base (zero-specificity resets) ---------- */
:where(#motion),:where(#motion) *,:where(#motion) *::before,:where(#motion) *::after{box-sizing:border-box}
:where(#motion){margin:0;background:var(--mo-bg);color:var(--mo-ink);font-family:var(--mo-font);font-size:17px;line-height:1.47;letter-spacing:-.011em;font-feature-settings:'cv11','ss01';-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}
:where(#motion) :where(img,svg,video){max-width:100%;height:auto}
:where(#motion) :where(a){color:inherit}
:where(#motion) :where(h1,h2,h3,h4,h5,h6){margin:0;line-height:1.12}
:where(#motion) :where(p,ul,ol,dl,figure){margin:0}
:where(#motion) :where(button,input,select,textarea){font:inherit;color:inherit;letter-spacing:inherit}
:where(#motion) :where(button){cursor:pointer}
:where(#motion) :focus-visible{outline:3px solid #0070ea;outline-offset:3px;border-radius:12px}
#motion,#motion :is(input,select,textarea,button){font-family:var(--mo-font)}
#motion .ti{line-height:1;font-size:1.2em}
#motion ::selection{background:rgba(0,112,234,.2)}
#motion :is(.screen-reader-text,.fu-sr-only,.mo-sr){position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#motion [hidden]{display:none!important}
#motion{display:flex;flex-direction:column;min-height:100vh;min-height:100svh}
#motion > .mo-main{flex:1 0 auto;display:block;padding-top:calc(var(--mo-hdr) + env(safe-area-inset-top,0px))}
#motion > .mo-foot{flex-shrink:0}
.mo-wrap{width:100%;max-width:calc(var(--mo-content) + var(--mo-gutter) * 2);margin-inline:auto;padding-inline:var(--mo-gutter)}
#motion .pf-wrap{width:var(--pf-wrap)}
.mo-skip{position:absolute;left:var(--mo-gutter);top:-80px;z-index:900;padding:var(--s3) var(--s4);border-radius:999px;background:var(--mo-ink);color:#fff!important;font-weight:600;text-decoration:none}
.mo-skip:focus{top:var(--s3)}

/* ---------- squircle icons (iOS Settings style) ---------- */
.mo-sq{display:inline-grid;place-items:center;flex:none;width:32px;height:32px;border-radius:9px;background:var(--c,#0070ea);color:var(--cc,#fff);box-shadow:inset 0 0 0 .5px rgba(0,0,0,.06)}
.mo-sq .ti{font-size:19px}
.mo-sq--lg{width:52px;height:52px;border-radius:14px}
.mo-sq--lg .ti{font-size:28px}

/* ---------- buttons, links ---------- */
.mo-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:44px;padding:0 20px;border:0;border-radius:999px;font-weight:600;font-size:16px;line-height:1;letter-spacing:-.01em;text-decoration:none!important;white-space:nowrap;transition:transform .35s var(--mo-spring),background-color .2s,box-shadow .2s,color .2s,filter .2s}
.mo-btn:active{transform:scale(.96)}
.mo-btn .ti{font-size:19px}
.mo-btn--lg{min-height:52px;padding:0 var(--s5);font-size:17px}
.mo-btn--brand{background:var(--mo-brand);color:var(--mo-on-brand)!important}
.mo-btn--brand:hover{filter:brightness(.92)}
.mo-btn--tint{background:var(--c);color:var(--cc)!important}
.mo-btn--tint:hover{filter:brightness(.92)}
.mo-btn--plain{background:var(--mo-fill);color:var(--mo-ink)!important}
.mo-btn--plain:hover{background:var(--mo-fill2)}
.mo-btn--stage{background:var(--mo-on-stage);color:var(--mo-stage-cs,#fff)!important;box-shadow:0 10px 24px -14px rgba(0,0,0,.45)}
.mo-btn--ghost{background:rgba(255,255,255,.7);color:var(--mo-ink)!important;box-shadow:inset 0 0 0 1px var(--mo-sep);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.mo-textlink{display:inline-flex;align-items:center;gap:2px;min-height:44px;color:#0066cc!important;font-weight:600;font-size:16px;text-decoration:none!important;white-space:nowrap}
.mo-textlink:hover span{text-decoration:underline;text-underline-offset:3px}
.mo-textlink .ti{font-size:18px;transition:transform .35s var(--mo-spring)}
.mo-textlink:hover .ti{transform:translateX(3px)}
.mo-round{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:color-mix(in srgb,var(--mo-on-stage) 16%,transparent);color:inherit!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background-color .2s,transform .35s var(--mo-spring)}
.mo-round:active{transform:scale(.92)}
.mo-round .ti{font-size:20px}
.mo-iconbtn{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;background:var(--mo-fill);color:var(--mo-ink)!important;text-decoration:none!important;transition:background-color .2s,transform .35s var(--mo-spring)}
.mo-iconbtn:hover{background:var(--mo-fill2)}
.mo-iconbtn:active{transform:scale(.92)}
.mo-iconbtn[aria-current="page"]{background:var(--mo-ink);color:#fff!important}
.mo-iconbtn .ti{font-size:22px}

/* status pill (live-refreshed by theme.js) */
.mo-status{display:inline-flex;align-items:center;align-self:flex-start;gap:var(--s2);min-height:34px;padding:0 14px 0 12px;border-radius:999px;background:rgba(255,255,255,.88);color:var(--mo-ink);font-size:14px;font-weight:600;line-height:1.2;white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.mo-status__dot{width:9px;height:9px;flex:none;border-radius:50%;background:#1f9d4d;animation:mo-pulse 2s infinite}
.mo-status.is-preorder .mo-status__dot{background:#c77700;animation:none}
.mo-status.is-closed .mo-status__dot{background:#d0342c;animation:none}
.mo-status--plain{min-height:0;padding:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;font-size:15px;white-space:normal}
@keyframes mo-pulse{0%{box-shadow:0 0 0 0 rgba(31,157,77,.5)}70%{box-shadow:0 0 0 9px rgba(31,157,77,0)}100%{box-shadow:0 0 0 0 rgba(31,157,77,0)}}
.mo-chips{display:flex;flex-wrap:wrap;gap:var(--s2);margin:0;padding:0;list-style:none}
.mo-chips li{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 14px 0 12px;border-radius:999px;background:rgba(255,255,255,.88);color:var(--mo-ink);font-size:14px;font-weight:600;line-height:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.mo-chips .ti{font-size:17px}
.mo-price{font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1}
.mo-price *{color:inherit;font:inherit}
.mo-price .woocommerce-Price-currencySymbol{margin-right:.25em;font-size:.78em;font-weight:600}
.mo-price del{opacity:.55;font-size:.75em;margin-right:.3em}
.mo-price ins{text-decoration:none}
.mo-price--xl{font-size:30px}
.mo-price.mo-pop{animation:mo-pop .6s var(--mo-spring)}
@keyframes mo-pop{0%{transform:scale(.7);opacity:0}60%{transform:scale(1.06);opacity:1}100%{transform:none}}

/* =====================================================================
   HEADER (frosted glass) + FLOATING TAB BAR (phones)
   ===================================================================== */
.mo-hdr{position:fixed;z-index:500;inset:0 0 auto;padding-top:env(safe-area-inset-top,0px);background:var(--mo-glass);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:0 .5px 0 var(--mo-sep);color:var(--mo-ink)}
body.admin-bar .mo-hdr{top:32px}
@media (max-width:782px){body.admin-bar .mo-hdr{top:46px}}
@media (max-width:600px){body.admin-bar .mo-hdr{top:0}}
.mo-hdr__in{display:flex;align-items:center;gap:var(--s4);height:var(--mo-hdr)}
.mo-logo{display:inline-flex;align-items:center;min-height:44px;max-width:240px;color:var(--mo-ink)!important;text-decoration:none!important}
.mo-logo :is(img,svg){display:block;max-height:36px;width:auto}
.mo-logo .fu-logo-text,.mo-foot__logo .fu-logo-text{color:var(--mo-ink)!important;font-weight:800;font-size:20px;letter-spacing:-.03em;white-space:nowrap}
.mo-nav{display:flex;gap:2px;margin-left:auto}
.mo-nav__link{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:999px;color:var(--mo-ink)!important;font-weight:500;font-size:15px;text-decoration:none!important;transition:background-color .2s}
.mo-nav__link:hover{background:var(--mo-fill)}
.mo-nav__link[aria-current="page"]{background:var(--mo-ink);color:#fff!important}
.mo-hdr__end{display:flex;align-items:center;gap:var(--s2);flex:none}
.mo-hdr__order{min-height:44px;padding:0 18px 0 14px;font-size:15px}

.mo-tabs{display:none}
@media (max-width:899px){
  .mo-hdr{display:none}
  .mo-nav{display:none}
  .mo-hdr__end{margin-left:auto}
  .mo-hdr__order{width:44px;padding:0;gap:0}
  .mo-hdr__order span{display:none}
  .mo-logo{max-width:58vw}
  #motion{padding-bottom:calc(var(--mo-tabs) + env(safe-area-inset-bottom,0px))}
  .mo-tabs{position:fixed;z-index:450;left:var(--s3);right:var(--s3);bottom:calc(var(--s3) + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:64px;padding:6px;border-radius:32px;background:rgba(252,252,253,.78);-webkit-backdrop-filter:saturate(180%) blur(22px);backdrop-filter:saturate(180%) blur(22px);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.6),0 0 0 .5px var(--mo-sep),0 16px 40px -16px rgba(0,0,0,.35)}
  .mo-tabs__item{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:26px;color:var(--mo-ink2)!important;font-size:11px;font-weight:600;letter-spacing:0;text-decoration:none!important;transition:color .3s}
  .mo-tabs__item .ti{font-size:24px}
  .mo-tabs__item[aria-current="page"]{color:var(--mo-on-brand)!important}
  .mo-tabs{transition:transform .5s var(--mo-spring),opacity .3s ease}
  .mo-tabs.is-hidden{transform:translateY(calc(100% + var(--s3) + env(safe-area-inset-bottom,0px)));opacity:0;pointer-events:none}
  .mo-tabs__blob{position:absolute;z-index:0;top:6px;left:0;width:var(--mo-blob-w,80px);height:52px;border-radius:26px;background:var(--mo-brand);transform:translateX(var(--mo-blob-x,-200px));transition:transform .55s var(--mo-spring),width .55s var(--mo-spring)}
}

/* toast (re-order result) */
.mo-toast{position:fixed;z-index:600;top:calc(var(--mo-hdr) + env(safe-area-inset-top,0px) + var(--s3));left:50%;display:flex;align-items:center;gap:var(--s3);width:min(560px,calc(100% - var(--mo-gutter) * 2));padding:var(--s3) var(--s2) var(--s3) var(--s3);border-radius:var(--mo-r-md);background:rgba(255,255,255,.92);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:0 0 0 .5px var(--mo-sep),var(--mo-shadow-lg);font-size:15px;font-weight:500;line-height:1.35;transform:translateX(-50%);animation:mo-toast .6s var(--mo-spring)}
body.admin-bar .mo-toast{top:calc(var(--mo-hdr) + 32px + var(--s3))}
.mo-toast > span:not(.mo-sq){flex:1;min-width:0}
.mo-toast__x{display:grid;place-items:center;flex:none;width:44px;height:44px;border:0;border-radius:50%;background:none;color:var(--mo-ink2)}
.mo-toast.is-gone{opacity:0;transform:translate(-50%,-12px);transition:opacity .3s,transform .3s}
@keyframes mo-toast{from{opacity:0;transform:translate(-50%,-16px) scale(.96)}}

/* =====================================================================
   HOME
   ===================================================================== */
.mo-hello{padding-top:var(--s5)}
.mo-hello__date{color:var(--mo-ink2);font-size:13px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}
.mo-hello__title{margin-top:2px;font-weight:800;font-size:34px;letter-spacing:-.035em;line-height:1.08}

/* the stage: an App-Store-"Today"-style card in the colour of the dish photo */
.mo-stagewrap{padding-top:var(--mo-gap)}
.mo-stage{position:relative;overflow:hidden;isolation:isolate;padding:var(--mo-stage-pad,20px);border-radius:var(--mo-r-xl);background:radial-gradient(120% 90% at 85% 15%,color-mix(in srgb,var(--mo-stage) 78%,var(--mo-stage-cs,#000)) 0%,transparent 60%),var(--mo-stage);color:var(--mo-on-stage);box-shadow:var(--mo-shadow-lg);transition:background-color .9s var(--mo-ease),color .6s var(--mo-ease)}
.mo-stage__top{position:relative;z-index:1;display:flex;align-items:center;gap:var(--s3);min-height:44px}
.mo-stage__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:var(--s6);margin-top:var(--s2)}
.mo-sprinkles{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;color:var(--mo-on-stage)}
/* sprinkles drift up — pure CSS (GPU), so they move smoothly with the card and on every card of the pile */
.mo-sprinkles i{position:absolute;top:0;bottom:0;left:var(--x);width:16px;animation:mo-spr var(--t) linear var(--d) infinite;will-change:transform}
.mo-sprinkles i::before{content:"";position:absolute;top:100%;left:0;width:var(--w);height:4px;border-radius:3px;background:currentColor;opacity:.16;transform:rotate(var(--r))}
@keyframes mo-spr{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,-110%,0)}}
@media (prefers-reduced-motion:reduce){.mo-sprinkles i{animation:none;transform:translate3d(0,-50%,0)}}
.mo-bars{display:flex;gap:6px;flex:1;max-width:340px}
.mo-bars button{position:relative;flex:1;height:4px;padding:0;border:0;border-radius:4px;background:color-mix(in srgb,var(--mo-on-stage) 25%,transparent);overflow:hidden}
.mo-bars button::before{content:"";position:absolute;inset:-20px 0}
.mo-bars i{position:absolute;inset:0;background:var(--mo-on-stage);transform:scaleX(0);transform-origin:left}
.mo-stage .mo-round{margin-left:auto}
.mo-copy{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s4);min-width:0}
.mo-copy .mo-closure-slot{margin:0;color:var(--mo-ink)}
.mo-kicker{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:15px}
.mo-kicker .ti{font-size:18px}
.mo-bigname{font-weight:800;font-size:clamp(40px,5.6vw,76px);line-height:1;letter-spacing:-.045em;overflow-wrap:normal}
.mo-bigname.is-long{font-size:clamp(32px,4.2vw,56px)}
.mo-bigname .w{display:inline-block;white-space:nowrap;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.mo-bigname .c{display:inline-block;transform:translateY(105%);transition:transform .8s var(--mo-spring)}
.mo-bigname.is-in .c{transform:none}
.mo-bigname.is-out .c{transform:translateY(-105%);transition-duration:.3s;transition-timing-function:cubic-bezier(.5,0,.75,0)}
.mo-sub{max-width:36ch;font-size:17px;line-height:1.5}
.mo-buy{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s3) var(--s4);margin-top:auto;padding-top:var(--s1)}
.mo-plate{position:relative;justify-self:center;width:100%;max-width:500px;aspect-ratio:1}
.mo-plate__float{position:absolute;inset:4%;animation:mo-bob 6s ease-in-out infinite}
@keyframes mo-bob{50%{transform:translateY(-10px) rotate(-1.5deg)}}
.mo-plate__float::before{content:"";position:absolute;inset:6%;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.28),transparent);transform:translateY(12%) scale(.92);filter:blur(18px)}
.mo-plate img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%;box-shadow:0 0 0 6px color-mix(in srgb,var(--mo-on-stage) 18%,transparent);transition:transform 1.1s var(--mo-spring),opacity .7s var(--mo-ease)}
.mo-plate img.is-next{transform:translate3d(18%,4%,0) scale(1.1) rotate(8deg);opacity:0}
.mo-plate img.is-gone{transform:translate3d(-16%,-2%,0) scale(.86) rotate(-8deg);opacity:0;transition-duration:.7s}

/* quick-info widgets */
.mo-widgets{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:var(--mo-gap);padding-top:var(--mo-gap)}
.mo-widget{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;padding:var(--s4);border-radius:var(--mo-r-md);background:var(--mo-card);color:var(--mo-ink)!important;text-decoration:none!important;box-shadow:var(--mo-shadow);transition:transform .45s var(--mo-spring),box-shadow .3s}
a.mo-widget:hover{transform:translateY(-3px);box-shadow:var(--mo-shadow-lg)}
a.mo-widget:active{transform:scale(.97)}
.mo-widget .mo-sq{margin-bottom:var(--s2)}
.mo-widget__label{color:var(--mo-ink2);font-size:13px;font-weight:600}
.mo-widget__value{max-width:100%;font-size:16px;font-weight:600;line-height:1.3;letter-spacing:-.015em;overflow-wrap:anywhere;hyphens:auto;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.mo-widget .mo-status--plain{max-width:100%;overflow-wrap:anywhere}
.mo-widget .mo-closure-slot{margin:0;font-size:13px}

/* sections */
.mo-sec{padding-top:var(--mo-sec)}
.mo-sec--tight{padding-top:var(--mo-gap)}
.mo-home > .mo-sec:last-child,.mo-main > .mo-sec:last-child{padding-bottom:var(--mo-sec)}
.mo-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s2) var(--s5);margin-bottom:var(--s5)}
.mo-head:last-child{margin-bottom:0}
.mo-eyebrow{display:inline-flex;align-items:center;gap:6px;margin-bottom:var(--s2);padding:4px 10px 4px 8px;border-radius:999px;background:var(--c);color:var(--cc);font-size:13px;font-weight:700;letter-spacing:.01em}
.mo-eyebrow .ti{font-size:16px}
.mo-h2{font-weight:800;font-size:clamp(28px,3.6vw,44px);line-height:1.06;letter-spacing:-.035em;text-wrap:balance}
.mo-h3{font-weight:700;font-size:22px;letter-spacing:-.025em;line-height:1.15}
.mo-lead{max-width:52ch;margin-top:var(--s2);color:var(--mo-ink2);font-size:17px}

/* last order + re-order */
.mo-last{border-radius:var(--mo-r-lg);background:var(--mo-card);box-shadow:var(--mo-shadow);overflow:hidden}
.mo-last__head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--s3);padding:var(--s4) var(--s5)}
.mo-last__head .mo-sq{width:44px;height:44px;border-radius:12px}
.mo-last__head .mo-sq .ti{font-size:24px}
.mo-last__title{font-size:20px;font-weight:700;letter-spacing:-.025em}
.mo-last__meta{margin-top:2px;color:var(--mo-ink2);font-size:14px;font-variant-numeric:tabular-nums}
.mo-last__total .woocommerce-Price-currencySymbol{margin-right:.25em;font-size:.78em;font-weight:600}
.mo-last__total{font-size:20px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
.mo-last__items{margin:0 var(--s5);padding:0;list-style:none;border-top:.5px solid var(--mo-sep)}
.mo-last__items li{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) 0;border-bottom:.5px solid var(--mo-sep)}
.mo-last__items li.is-off .mo-last__thumb{opacity:.5}
.mo-last__items li.is-off .mo-last__name strong{color:var(--mo-ink2)}
.mo-last__thumb{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:12px;overflow:hidden;background:var(--mo-bg);color:var(--mo-ink2)}
.mo-last__thumb img{width:100%;height:100%;object-fit:cover}
.mo-last__name{display:flex;flex-direction:column;min-width:0}
.mo-last__name strong{font-size:16px;font-weight:600;letter-spacing:-.015em}
.mo-last__name small{color:var(--mo-ink2);font-size:14px;line-height:1.35}
.mo-last__off{color:#c42b23!important}
.mo-last__more{color:var(--mo-ink2);font-size:14px;font-weight:600}
.mo-last__foot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3);padding:var(--s4) var(--s5) var(--s5)}
.mo-last__foot .fuo-reorder-form{display:contents}
.mo-last__foot .mo-btn--tint{flex:1 1 220px}

/* top sellers */

/* categories: photo on top, a strip in the category colour below (name, count, arrow) */
.mo-cats{display:grid;grid-template-columns:repeat(var(--cols,5),minmax(0,1fr));gap:var(--mo-gap)}
.mo-cat{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:184px;padding:var(--s4) var(--s4) var(--s4);border-radius:var(--mo-r-lg);background:linear-gradient(160deg,var(--c) 40%,color-mix(in srgb,var(--c) 84%,var(--cs,#000)));color:var(--cc)!important;text-decoration:none!important;overflow:hidden;isolation:isolate;box-shadow:var(--mo-shadow);transition:transform .45s var(--mo-spring),box-shadow .3s}
.mo-cat:hover{transform:translateY(-4px);box-shadow:var(--mo-shadow-lg)}
.mo-cat:active{transform:scale(.97)}
.mo-cat__copy{position:relative;z-index:1;display:flex;flex-direction:column;gap:2px;max-width:100%}
.mo-cat__copy strong{font-size:19px;font-weight:700;letter-spacing:-.025em;line-height:1.2;overflow-wrap:anywhere}
.mo-cat__copy small{font-size:13px;font-weight:600}
.mo-cat__img{position:absolute;z-index:0;right:-14%;bottom:-16%;width:68%;aspect-ratio:1;border-radius:50%;object-fit:cover;box-shadow:0 0 0 5px color-mix(in srgb,var(--cc) 14%,transparent),0 18px 30px -14px rgba(0,0,0,.5);transition:transform .9s var(--mo-spring)}
.mo-cat:hover .mo-cat__img{transform:rotate(-8deg) scale(1.06)}
.mo-cat__ini{position:absolute;z-index:0;right:-4%;bottom:-18%;font-weight:900;font-size:140px;line-height:1;letter-spacing:-.06em;opacity:.18}
.mo-cat__go{position:relative;z-index:1;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:color-mix(in srgb,var(--cc) 16%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.mo-cat__go .ti{font-size:18px}

/* today: activity-ring style opening hours */
.mo-today{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--s5);padding:var(--s5);border-radius:var(--mo-r-lg);background:var(--mo-card);box-shadow:var(--mo-shadow)}
.mo-today__ring{position:relative;width:112px;height:112px}
.mo-today__ring svg{width:100%;height:100%;transform:rotate(-90deg);overflow:visible}
.mo-ring__track{fill:none;stroke:rgba(52,199,89,.16);stroke-width:14}
.mo-ring__arc{fill:none;stroke:url(#mo-ring-grad);stroke-width:14;stroke-linecap:round;transition:stroke-dashoffset 1.6s var(--mo-spring)}
.mo-ring__now{fill:#fff;stroke:#1d1d1f;stroke-width:3}
.mo-today__icon{position:absolute;inset:0;display:grid;place-items:center;color:#1f9d4d;font-size:30px}
.mo-today__copy{min-width:0}
.mo-today__copy .mo-eyebrow{margin-bottom:6px}
.mo-today__hours{margin-top:4px;font-size:28px;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.mo-today__addr{display:flex;align-items:center;gap:6px;margin-top:6px;color:var(--mo-ink2);font-size:15px}

/* reveal on scroll: spring up with a small stagger */
.mo-js [data-mo-reveal]:not(.is-seen),.mo-js [data-mo-reveal]:not(.is-seen) > :is(.mo-top,.mo-cat){opacity:0;transform:translateY(24px)}
[data-mo-reveal],[data-mo-reveal] > :is(.mo-top,.mo-cat){transition:opacity .7s var(--mo-ease),transform .9s var(--mo-spring)}
.mo-tops[data-mo-reveal],.mo-cats[data-mo-reveal]{opacity:1!important;transform:none!important}
[data-mo-reveal] > :nth-child(2){transition-delay:.06s}[data-mo-reveal] > :nth-child(3){transition-delay:.12s}[data-mo-reveal] > :nth-child(4){transition-delay:.18s}[data-mo-reveal] > :nth-child(5){transition-delay:.24s}[data-mo-reveal] > :nth-child(n+6){transition-delay:.3s}

/* =====================================================================
   PAGE HEADER: large title on a colourful mesh (Speisekarte, Kontakt, Konto …)
   ===================================================================== */
.mo-band{position:relative;overflow:hidden;isolation:isolate;color:var(--mo-ink);background:color-mix(in srgb,var(--c) 14%,var(--mo-bg))}
.mo-band__mesh{position:absolute;z-index:-1;inset:0 -10% -10%;background:radial-gradient(38% 60% at 12% 30%,color-mix(in srgb,var(--c) 34%,transparent),transparent 70%),radial-gradient(30% 50% at 88% 20%,color-mix(in srgb,var(--c) 22%,transparent),transparent 70%),radial-gradient(40% 50% at 60% 90%,color-mix(in srgb,var(--c) 14%,transparent),transparent 70%);animation:mo-mesh 18s ease-in-out infinite alternate}
@keyframes mo-mesh{to{transform:translate3d(-3%,4%,0) scale(1.05)}}
.mo-band__in{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:var(--s4) var(--s5);padding-top:var(--s6);padding-bottom:var(--s5)}
.mo-band__copy{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s3);min-width:0;max-width:100%}
.mo-band h1{font-weight:800;font-size:clamp(34px,5vw,64px);letter-spacing:-.045em;line-height:1.02;hyphens:manual;-webkit-hyphens:manual;text-wrap:balance}
.mo-band p{max-width:56ch;color:var(--mo-ink2);font-size:17px}
.mo-band__tools{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2)}
.mo-band .mo-status,.mo-band .mo-chips li{background:var(--mo-card);box-shadow:0 0 0 .5px var(--mo-sep)}

/* grouped card + inset list (shared) */
.mo-group{border-radius:var(--mo-r-lg);background:var(--mo-card);box-shadow:var(--mo-shadow);overflow:hidden}
.mo-group__title{display:flex;align-items:center;gap:var(--s3);padding:var(--s4) var(--s5) var(--s3)}
.mo-list{margin:0;padding:0;list-style:none}
.mo-list > li{position:relative}
.mo-list > li + li::before{content:"";position:absolute;left:var(--mo-list-inset,var(--s5));right:0;top:0;height:.5px;background:var(--mo-sep)}
.mo-row{display:flex;align-items:center;gap:var(--s3);min-height:52px;padding:10px var(--s5);color:var(--mo-ink)!important;text-decoration:none!important}
a.mo-row:hover{background:rgba(118,118,128,.06)}
.mo-row__main{display:flex;flex-direction:column;flex:1;min-width:0}
.mo-row__main strong{font-size:16px;font-weight:600;letter-spacing:-.015em;overflow-wrap:anywhere}
.mo-row__main small{color:var(--mo-ink2);font-size:14px}
.mo-row__end{color:var(--mo-ink2);font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}
.mo-row > .ti-chevron-right{color:#b0b0b6;font-size:18px}
.mo-row--danger strong{color:#c42b23}
.mo-group__title .mo-h3{flex:1;min-width:0;font-size:20px}
.mo-group__more{margin-left:auto;min-height:36px;font-size:15px}
.mo-sq--row{width:36px;height:36px;border-radius:10px}
.mo-sq--row .ti{font-size:20px}
.mo-list .mo-row .mo-sq{flex:none}

/* =====================================================================
   KONTAKT
   ===================================================================== */
.mo-visit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:var(--mo-gap)}
.mo-visit > *{min-width:0}
.mo-dialcard{display:grid;place-items:center;padding:var(--s5);border-radius:var(--mo-r-lg);background:var(--mo-card);box-shadow:var(--mo-shadow)}
.mo-dial{position:relative;width:min(380px,100%);aspect-ratio:1}
.mo-dial svg{width:100%;height:100%;overflow:visible}
.mo-dial__track{stroke:rgba(52,199,89,.14)}
.mo-dial__arc{stroke:url(#mo-dial-grad);transition:stroke-dashoffset 1.6s var(--mo-spring)}
.mo-dial__tick{stroke:#aeaeb2}
.mo-dial__num{fill:var(--mo-ink2);font-family:var(--mo-font);font-weight:600;font-size:15px}
.mo-dial__marker{transition:transform 1.6s var(--mo-spring);transform-origin:210px 210px}
.mo-dial__knob{fill:#fff;stroke:#1d1d1f}
.mo-dial__pin{fill:#34c759}
.mo-dial__mid{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:var(--s1);padding:24%;text-align:center}
.mo-dial__mid span{color:var(--mo-ink2);font-weight:600;font-size:15px}
.mo-dial__mid strong{font-weight:800;font-size:clamp(28px,3.4vw,40px);letter-spacing:-.04em;line-height:1.05;font-variant-numeric:tabular-nums}
.mo-week .mo-row{min-height:48px}
.mo-week .is-today{background:rgba(52,199,89,.12)}
.mo-week .is-today strong{color:#1a7f3c}
.mo-week__badge{display:inline-flex;margin-left:var(--s2);padding:2px 8px;border-radius:999px;background:#15803D;color:#fff;font-size:12px;font-weight:700;vertical-align:middle}
.mo-reach{--mo-list-inset:68px}

/* =====================================================================
   KONTO (Perfecto forms in Apple cards + orbit)
   ===================================================================== */
#motion .mo-auth{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:var(--mo-gap);width:var(--pf-wrap)!important;padding:var(--s5) 0 var(--mo-sec);overflow-x:clip}
#motion .mo-auth .pf-auth__panel{width:auto;min-width:0;margin:0;padding:var(--s5);border-radius:var(--mo-r-lg);background:var(--mo-card);box-shadow:var(--mo-shadow)}
#motion .pf-auth__panel h2{font-weight:800;letter-spacing:-.03em}
#motion .pf-segmented{background:var(--mo-fill);border-radius:999px;padding:4px}
#motion .pf-segmented button{border-radius:999px;font-weight:600;font-size:15px;white-space:nowrap}
#motion .pf-segmented [aria-selected="true"]{background:var(--mo-card);color:var(--mo-ink);box-shadow:0 3px 8px rgba(0,0,0,.12),0 3px 1px rgba(0,0,0,.04)}
#motion .pf-field input,#motion .pf-field select,#motion .pf-field textarea{border-radius:12px;background:var(--mo-bg);border-color:transparent}
#motion .pf-field input:focus,#motion .pf-field select:focus,#motion .pf-field textarea:focus{background:var(--mo-card);border-color:#0070ea;box-shadow:0 0 0 4px rgba(0,112,234,.18)}
#motion .pf-btn{border-radius:999px;font-weight:600;letter-spacing:-.01em}
#motion .pf-card{border:0;border-radius:var(--mo-r-lg);box-shadow:var(--mo-shadow)}
#motion .pf-card__head{align-items:baseline;gap:var(--s3)}
#motion .pf-card__head h2{font-size:20px;font-weight:700;letter-spacing:-.025em;line-height:1.2}
#motion .pf-card__head .pf-link{white-space:nowrap}
#motion .mo-dash{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--mo-gap);align-items:start;padding-top:var(--s5);padding-bottom:var(--mo-sec)}
#motion .mo-dash > *{min-width:0}
#motion :is(.mo-dash__side,.mo-dash__main){display:grid;gap:var(--mo-gap);align-content:start}
#motion .mo-account__body{padding-top:var(--s5);padding-bottom:var(--mo-sec)}
.mo-empty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s3);padding:var(--s5)}
.mo-empty p{color:var(--mo-ink2)}
.mo-empty strong{display:block;color:var(--mo-ink);font-size:18px}

/* legal + generic pages keep Perfecto's body, inside a card */
#motion .mo-legal > .pf-wrap,#motion .mo-generic > .pf-wrap,#motion .mo-main > .mo-readable{padding-top:var(--s5);padding-bottom:var(--mo-sec)}
#motion .mo-legal .pf-toc{top:calc(var(--mo-hdr) + var(--s5));border-radius:var(--mo-r-lg);background:var(--mo-card);box-shadow:var(--mo-shadow)}
#motion .pf-legal__body,#motion .mo-generic article.pf-prose{padding:var(--s6);border-radius:var(--mo-r-lg);background:var(--mo-card);box-shadow:var(--mo-shadow)}
#motion .pf-legal__layout + *{margin-top:0}
#motion :is(.mo-generic,.mo-legal) > .pf-wrap > :last-child{margin-bottom:0!important}

/* =====================================================================
   FOOTER (compact)
   ===================================================================== */
.mo-foot{margin-top:0;padding-block:var(--s5);background:var(--mo-card);box-shadow:0 -.5px 0 var(--mo-sep);color:var(--mo-ink2);font-size:15px}
.mo-foot__in{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--s3) var(--s6)}
.mo-foot a{color:inherit;text-decoration:none!important}
.mo-foot__brand{display:flex;flex-wrap:wrap;align-items:center;gap:4px var(--s4);min-width:0}
.mo-foot__name{color:var(--mo-ink)!important;font-size:17px;font-weight:700;letter-spacing:-.02em}
.mo-foot__today{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--mo-ink2)!important;font-size:15px;font-variant-numeric:tabular-nums}
.mo-foot__today .ti{font-size:16px;color:#b0b0b6}
.mo-foot__dot{width:8px;height:8px;border-radius:50%;background:#1f9d4d}
.mo-foot__dot.is-closed{background:#d0342c}
.mo-foot__reach{display:flex;gap:var(--s2);margin:0;padding:0;list-style:none}
.mo-foot__reach a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--c);color:var(--cc)!important;transition:transform .35s var(--mo-spring)}
.mo-foot__reach a:hover{transform:translateY(-2px)}
.mo-foot__reach .ti{font-size:20px}
.mo-foot__links{display:flex;flex-wrap:wrap;gap:0 var(--s4)}
.mo-foot__links a{display:inline-flex;align-items:center;min-height:44px;color:var(--mo-ink)!important;font-weight:500}
.mo-foot__links a:hover{color:#0066cc!important}
.mo-foot__bottom{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0 var(--s4);padding-top:var(--s3);border-top:.5px solid var(--mo-sep);font-size:13px}
.mo-foot__bottom nav{display:flex;gap:var(--s4)}
.mo-foot__bottom a{display:inline-flex;align-items:center;min-height:36px}
.mo-foot__bottom a:hover{color:var(--mo-ink)!important}
@media (max-width:899px){
  .mo-foot__in{grid-template-columns:minmax(0,1fr) auto}
  .mo-foot__links{grid-column:1 / -1;order:3}
  .mo-foot__bottom{order:4}
}
@media (max-width:639px){
  .mo-foot{padding-block:var(--s4)}
  .mo-foot__in{grid-template-columns:minmax(0,1fr);gap:var(--s2)}
  .mo-foot__brand{flex-direction:column;align-items:flex-start;gap:0}
  .mo-foot__reach{order:2}
  .mo-foot__links{gap:0 var(--s4)}
  .mo-foot__bottom{flex-direction:column;align-items:flex-start;gap:0;padding-top:var(--s2)}
}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width:1199px){
  .mo-cats{grid-template-columns:repeat(min(var(--cols,4),4),minmax(0,1fr))}
}
@media (max-width:1023px){
  .mo-cats{grid-template-columns:repeat(3,minmax(0,1fr))}
  #motion .mo-dash{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:899px){
  .mo-stage__grid,.mo-visit,#motion .mo-auth{grid-template-columns:minmax(0,1fr)}
  .mo-plate{order:-1;width:min(70vw,320px)}
}
@media (max-width:639px){
  :where(#motion){font-size:16px}
  .mo-hello{padding-top:var(--s5)}
  .mo-hello__title{font-size:30px}
  .mo-stage{border-radius:28px}
  .mo-bigname{font-size:clamp(34px,10.4vw,48px)}
  .mo-bigname.is-long{font-size:clamp(28px,8.2vw,38px)}
  .mo-sub{font-size:16px}
  .mo-price--xl{font-size:26px}
  .mo-widgets{display:flex;overflow-x:auto;width:100%;max-width:none;margin-inline:0;padding:var(--mo-gap) var(--mo-gutter) var(--s1);scroll-snap-type:x mandatory;scroll-padding-inline:var(--mo-gutter);scrollbar-width:none}
  .mo-widgets::-webkit-scrollbar{display:none}
  .mo-widget{flex:0 0 156px;scroll-snap-align:start}
  .mo-widget--wide{flex-basis:220px}
  .mo-sec--tight{padding-top:calc(var(--mo-gap) - var(--s1))} /* the widget row keeps 4px under its cards for their shadow */
  .mo-head{flex-direction:column;align-items:flex-start;margin-bottom:var(--s4)}
  .mo-head .mo-textlink{margin-top:-6px}
  .mo-last__head{grid-template-columns:auto minmax(0,1fr);padding:var(--s4)}
  .mo-last__total{grid-column:2;font-size:17px}
  .mo-last__items{margin:0 var(--s4)}
  .mo-last__foot{padding:var(--s4)}
  .mo-last__foot .mo-btn{flex:1 1 100%}
  .mo-top__foot{padding-top:var(--s2)}
  .mo-top__foot .mo-price{font-size:16px}
  .mo-top__add{width:36px;height:36px}
  .mo-cats{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
  .mo-cats > :last-child:nth-child(odd){grid-column:1 / -1}
  .mo-tops > :last-child:nth-child(odd){grid-column:auto}
  .mo-cat{min-height:148px;border-radius:var(--mo-r-md)}
  .mo-cat__copy strong{font-size:17px}
  .mo-today{grid-template-columns:auto minmax(0,1fr);gap:var(--s4);padding:var(--s4)}
  .mo-today__ring{width:88px;height:88px}
  .mo-today__hours{font-size:22px}
  .mo-today__cta{grid-column:1 / -1}
  .mo-today__cta .mo-btn{width:100%}
  .mo-band__in{padding-top:var(--s5);padding-bottom:var(--s4)}
  .mo-band__tools{width:100%}
  #motion .mo-auth .pf-auth__panel{padding:var(--s4)}
  #motion .pf-legal__body,#motion .mo-generic article.pf-prose{padding:var(--s5) var(--s4)}
}
@media (prefers-reduced-motion:reduce){
  #motion *,#motion *::before,#motion *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important}
}

/* =====================================================================
   v0.14.151 — Konto: welcome card, profile card, sub-page header, fields
   ===================================================================== */
.mo-welcome,.mo-profile{position:relative;overflow:hidden;isolation:isolate;border-radius:var(--mo-r-lg);background:linear-gradient(150deg,#1f6fe0 0%,#005fd0 45%,#4b45c8 100%);color:#fff;box-shadow:var(--mo-shadow-lg)}
.mo-welcome{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s3);padding:var(--s6) var(--s5)}
.mo-welcome__shape{position:absolute;z-index:-1;right:-80px;top:-90px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.1);pointer-events:none}
.mo-welcome__shape::after{content:"";position:absolute;left:-120px;top:260px;width:180px;height:180px;border-radius:50%;background:rgba(0,0,0,.08)}
.mo-welcome__icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:rgba(255,255,255,.18)}
.mo-welcome__icon .ti{font-size:28px}
.mo-welcome__title{font-size:clamp(30px,3.4vw,40px);font-weight:800;letter-spacing:-.04em;line-height:1.05}
.mo-welcome__text{font-size:17px;line-height:1.45}
.mo-welcome__list{display:grid;gap:var(--s3);width:100%;margin:var(--s3) 0 0;padding:var(--s4) 0 0;list-style:none;border-top:.5px solid rgba(255,255,255,.3)}
.mo-welcome__list li{display:flex;align-items:center;gap:var(--s3)}
.mo-welcome__list li > span:last-child{display:flex;flex-direction:column;min-width:0}
.mo-welcome__list strong{font-size:16px;font-weight:600;letter-spacing:-.015em}
.mo-welcome__list small{font-size:14px;line-height:1.35}
.mo-welcome__sq{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.18)}
.mo-welcome__sq .ti{font-size:20px}
.mo-profile{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--s4) var(--s5);margin-top:var(--s5);padding:var(--s5)}
.mo-profile__avatar{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:#fff;color:#0070ea;font-size:26px;font-weight:800;letter-spacing:-.02em;box-shadow:0 8px 20px -10px rgba(0,0,0,.45)}
.mo-profile__name{font-size:clamp(26px,3vw,34px);font-weight:800;letter-spacing:-.04em;line-height:1.08}
.mo-profile__mail{margin-top:2px;font-size:15px;overflow-wrap:anywhere}
.mo-profile__stats{display:flex;flex-wrap:wrap;gap:var(--s2);margin:var(--s3) 0 0;padding:0;list-style:none}
.mo-profile__stats li{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px 0 10px;border-radius:999px;background:rgba(0,20,60,.22);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);font-size:14px;font-weight:600}
.mo-profile__stats .ti{font-size:16px}
.mo-btn--light{background:#fff;color:#0060c9!important;box-shadow:0 10px 24px -14px rgba(0,0,0,.45)}
.mo-btn--light:hover{filter:brightness(.96)}
#motion .pf-account--dash .mo-dash{padding-top:var(--mo-gap)}
.mo-subhead{padding-top:var(--s5)}
.mo-subhead__back{display:inline-flex;align-items:center;gap:2px;min-height:44px;margin-left:-6px;color:#0066cc!important;font-size:17px;font-weight:500;text-decoration:none!important}
.mo-subhead__back .ti{font-size:24px}
.mo-subhead__title{margin-top:2px;font-size:clamp(30px,3.6vw,40px);font-weight:800;letter-spacing:-.04em;line-height:1.08}
.mo-subhead__text{margin-top:var(--s2);color:var(--mo-ink2);font-size:17px}
/* fields: placeholder only, iOS style */
#motion .pf-field input:not([type=checkbox]):not([type=radio]),#motion .pf-field select,#motion .pf-field textarea{min-height:52px;padding:0 16px;border:1px solid transparent;border-radius:12px;background:var(--mo-bg);color:var(--mo-ink);font-size:17px}
#motion .pf-field textarea{padding-block:14px}
#motion .pf-field input::placeholder,#motion .pf-field textarea::placeholder,#motion .woocommerce-MyAccount-content :is(input,textarea)::placeholder{color:#8a8a8e;opacity:1}
#motion .pf-form{gap:var(--s3)}
#motion .pf-form__grid{gap:var(--s3)}
#motion .pf-auth__panel h2{margin-top:var(--s2);font-size:24px}
@media (max-width:899px){
  .mo-welcome{padding:var(--s5) var(--s4)}
  .mo-profile{grid-template-columns:auto minmax(0,1fr);padding:var(--s4)}
  .mo-profile__avatar{width:56px;height:56px;font-size:20px}
  .mo-profile__cta{grid-column:1 / -1;width:100%}
}
@media (max-width:639px){
  .mo-welcome__list{gap:10px}
  .mo-subhead{padding-top:var(--s5)}
}
/* WooCommerce account forms (details, addresses): same fields as Konto */
#motion .woocommerce-MyAccount-content :is(input.input-text,input[type=text],input[type=email],input[type=tel],input[type=password],select,textarea){width:100%;min-height:52px;padding:0 16px;border:1px solid transparent!important;border-radius:12px!important;background:var(--mo-bg)!important;color:var(--mo-ink);font-size:17px;box-shadow:none!important}
#motion .woocommerce-MyAccount-content textarea{padding-block:14px}
#motion .woocommerce-MyAccount-content :is(input,select,textarea):focus{background:var(--mo-card)!important;border-color:#0070ea!important;box-shadow:0 0 0 4px rgba(0,112,234,.18)!important;outline:0}
#motion .woocommerce-MyAccount-content .form-row{margin:0 0 var(--s3)!important;padding:0!important}
#motion .woocommerce-MyAccount-content fieldset{margin:var(--s5) 0 0;padding:var(--s4);border:0;border-radius:var(--mo-r-lg);background:var(--mo-card);box-shadow:var(--mo-shadow)}
#motion .woocommerce-MyAccount-content legend{padding:0;font-size:17px;font-weight:700;letter-spacing:-.02em}
#motion .woocommerce-MyAccount-content :is(em,.description){color:var(--mo-ink2);font-size:13px;font-style:normal}
#motion .woocommerce-MyAccount-content :is(button,.button)[type=submit],#motion .woocommerce-MyAccount-content .woocommerce-Button{min-height:52px;padding:0 var(--s5);border:0;border-radius:999px;background:var(--mo-brand);color:var(--mo-on-brand);font-weight:600;font-size:17px}

/* =====================================================================
   v0.14.152 — page title band: no icon, a calm tinted panel.
   ===================================================================== */
.mo-band h1{margin:0}
.mo-band p{margin:0}
@media (max-width:899px){
  .mo-band{border-radius:0 0 var(--mo-r-xl) var(--mo-r-xl)}
  .mo-band__in{padding-top:var(--s5);padding-bottom:var(--s5)}
}
.mo-band{margin-bottom:var(--s5)}
.mo-order .mo-band{margin-bottom:var(--s2)}
.mo-band p{color:color-mix(in srgb,var(--mo-ink) 74%,var(--c))}

/* delivery zones: one tile per place (PLZ, town, minimum order) */
.mo-zones{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--mo-gap);margin:0;padding:0;list-style:none}
.mo-zone{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;padding:var(--s4);border-radius:var(--mo-r-md);background:var(--mo-card);box-shadow:var(--mo-shadow)}
.mo-zone__plz{display:inline-flex;align-items:center;gap:4px;min-height:26px;padding:0 10px 0 7px;border-radius:999px;background:var(--c);color:var(--cc);font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.01em}
.mo-zone__plz .ti{font-size:15px}
.mo-zone__city{font-size:19px;font-weight:700;letter-spacing:-.02em;line-height:1.2;overflow-wrap:anywhere}
.mo-zone__min{display:flex;flex-direction:column;gap:1px;margin-top:auto;padding-top:var(--s2);width:100%;border-top:.5px solid var(--mo-sep)}
.mo-zone__min small{color:var(--mo-ink2);font-size:12px;font-weight:600}
.mo-zone__min b{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}
@media (max-width:599px){
  .mo-zones{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
  .mo-zone{padding:14px}
  .mo-zone__city{font-size:17px}
}

/* "now" marker on the opening-hours dial: soft waves */
.mo-dial svg{overflow:visible}
.mo-dial__wave{fill:color-mix(in srgb,#34c759 22%,transparent);stroke:#34c759;stroke-width:2;transform-box:fill-box;transform-origin:center;opacity:0;animation:mo-wave 3s cubic-bezier(.25,.6,.3,1) infinite}
.mo-dial__wave:nth-child(2){animation-delay:1s}
.mo-dial__wave:nth-child(3){animation-delay:2s}
@keyframes mo-wave{0%{transform:scale(1);opacity:.7}100%{transform:scale(2.4);opacity:0}}
@media (prefers-reduced-motion:reduce){.mo-dial__wave{animation:none}}
.mo-dial.is-closed .mo-dial__pin{fill:#e66a00}
.mo-dial.is-closed .mo-dial__wave{fill:color-mix(in srgb,#e66a00 20%,transparent);stroke:#e66a00}
@media (max-width:599px){.mo-zones > :last-child:nth-child(odd){grid-column:1 / -1}}
/* today in the week list: no hairline touching the highlighted row */
.mo-week li.is-today::before,.mo-week li.is-today + li::before{display:none}
/* Home stories without progress bars; on phones a shorter card that fits the screen. */
.mo-stage__grid{margin-top:0}
@media (max-width:899px){
  .mo-stage{padding:var(--s5) var(--s5) var(--s5)}
  .mo-stage__grid{gap:var(--s4)}
  .mo-plate{width:min(52vw,230px)}
  .mo-copy{gap:var(--s3)}
  .mo-sub{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
}

/* Home "Heute" widget: today's hours + a small "now" line */
.mo-widget__now{display:flex;align-items:flex-start;gap:6px;margin-top:4px;color:var(--mo-ink2);font-size:13px;font-weight:600;line-height:1.3}
.mo-widget__now i{flex:none;width:8px;height:8px;margin-top:4px;border-radius:50%;background:#15803D}
.mo-widget__now.is-preorder i{background:#CC5500}
.mo-widget__now.is-closed i{background:#DB3229}
/* Konto: Anmelden / Konto erstellen — a white thumb that slides between the two tabs */
#motion .pf-segmented{position:relative;isolation:isolate;gap:4px}
#motion .pf-segmented::before{content:"";position:absolute;z-index:-1;top:4px;bottom:4px;left:4px;width:calc((100% - 12px) / 2);border-radius:999px;background:var(--mo-card);box-shadow:0 3px 8px rgba(0,0,0,.12),0 3px 1px rgba(0,0,0,.04);transition:transform .5s var(--mo-spring)}
#motion .pf-segmented[data-index="1"]::before{transform:translateX(calc(100% + 4px))}
#motion .pf-segmented button,#motion .pf-segmented [aria-selected="true"]{position:relative;background:transparent!important;box-shadow:none!important}
@media (prefers-reduced-motion:reduce){#motion .pf-segmented::before{transition:none}}

/* Home: restaurant name as the title, logo badge beside it (phones only; desktop has the header) */
.mo-hello{display:flex;align-items:center;justify-content:space-between;gap:var(--s4)}
.mo-hello__copy{min-width:0}
.mo-hello__title{overflow-wrap:anywhere}
.mo-hello__logo{display:none}
@media (max-width:899px){
  .mo-hello__logo{display:grid;place-items:center;flex:none;width:60px;height:60px;padding:6px;border-radius:50%;background:#fff;box-shadow:0 0 0 .5px var(--mo-sep),0 6px 16px -8px rgba(0,0,0,.35);overflow:hidden}
  .mo-hello__logo :is(img,svg,.fu-logo-pair,.fu-logo-svg){display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
  .mo-hello__logo .fu-logo-image--light{display:none}
  .mo-hello__logo .fu-logo-text,.mo-hello__logo span:not(.fu-logo-pair):not(.fu-logo-svg){font-size:12px;font-weight:800;line-height:1.05;text-align:center;color:var(--mo-ink)}
}
.mo-widget__now{align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mo-widget__now i{margin-top:0}

/* =====================================================================
   v0.14.159 — PAGE HEADER (every page except Home): same identity as Home —
   uppercase line (restaurant name or back link), large title, logo badge on
   phones — on a colourful panel in the page colour with moving light and
   drifting sprinkles (like the Home dish card).
   ===================================================================== */
.mo-band{background:linear-gradient(160deg,color-mix(in srgb,var(--c) 30%,#fff) 0%,color-mix(in srgb,var(--c) 14%,var(--mo-bg)) 55%,color-mix(in srgb,var(--c) 22%,var(--mo-bg)) 100%)}
.mo-band__mesh{inset:-30% -20%;background:none;animation:none}
.mo-band__mesh::before,.mo-band__mesh::after{content:"";position:absolute;border-radius:50%;filter:blur(40px);opacity:.75}
.mo-band__mesh::before{width:46%;aspect-ratio:1;left:2%;top:10%;background:color-mix(in srgb,var(--c) 45%,transparent);animation:mo-band-orbit 16s ease-in-out infinite alternate}
.mo-band__mesh::after{width:38%;aspect-ratio:1;right:4%;top:18%;background:color-mix(in srgb,var(--c) 30%,#fff);animation:mo-band-orbit 21s ease-in-out infinite alternate-reverse}
@keyframes mo-band-orbit{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(8%,10%,0) scale(1.12)}100%{transform:translate3d(-6%,4%,0) scale(.94)}}
.mo-band__fx{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.mo-band__fx i{position:absolute;width:6px;height:18px;border-radius:6px;background:var(--c);opacity:.32;animation:mo-band-drift 9s ease-in-out infinite alternate}
.mo-band__fx i:nth-child(1){left:62%;top:14%;transform:rotate(28deg);animation-duration:8s}
.mo-band__fx i:nth-child(2){left:78%;top:58%;transform:rotate(-34deg);background:#E0274A;animation-duration:11s}
.mo-band__fx i:nth-child(3){left:90%;top:24%;transform:rotate(62deg);background:#15803D;animation-duration:9s}
.mo-band__fx i:nth-child(4){left:70%;top:82%;transform:rotate(12deg);background:#0070EA;animation-duration:12s}
.mo-band__fx i:nth-child(5){left:84%;top:8%;transform:rotate(-70deg);background:#CC5500;animation-duration:10s}
.mo-band__fx i:nth-child(6){left:52%;top:70%;transform:rotate(80deg);width:5px;height:12px;animation-duration:13s}
.mo-band__fx i:nth-child(7){left:95%;top:72%;transform:rotate(-12deg);background:#A44DD0;animation-duration:8.5s}
.mo-band__fx i:nth-child(8){left:40%;top:10%;transform:rotate(46deg);width:5px;height:12px;background:#A16207;animation-duration:14s}
.mo-band__fx i:nth-child(9){left:6%;top:86%;transform:rotate(-40deg);width:5px;height:12px;background:#0284C7;animation-duration:12.5s}
@keyframes mo-band-drift{to{translate:0 -14px;rotate:40deg}}
.mo-band__in{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:var(--s4)}
.mo-band__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s4)}
.mo-band__copy{gap:var(--s2)}
.mo-band .mo-band__eyebrow{max-width:none;margin:0;color:color-mix(in srgb,var(--mo-ink) 62%,var(--c));font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.mo-band__back{display:inline-flex;align-items:center;gap:2px;min-height:32px;margin-left:-4px;padding:0 12px 0 6px;border-radius:999px;background:color-mix(in srgb,#fff 70%,transparent);color:var(--mo-ink)!important;font-size:15px;font-weight:600;text-decoration:none!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.mo-band__back .ti{font-size:20px}
.mo-band__text{max-width:56ch}
.mo-band__tools:empty{display:none}
.mo-account .mo-profile{margin-top:0}
.mo-welcome__kicker{margin:0;font-size:20px;font-weight:700;letter-spacing:-.02em}
.mo-welcome .mo-welcome__list{margin-top:var(--s2)}
@media (max-width:899px){
  .mo-band h1{font-size:clamp(30px,8.6vw,40px)}
  .mo-band .mo-hello__logo{display:grid}
}
@media (min-width:900px){ .mo-band__in{padding-top:var(--s7,48px);padding-bottom:var(--s6)} }
@media (prefers-reduced-motion:reduce){.mo-band__mesh::before,.mo-band__mesh::after,.mo-band__fx i{animation:none}}
.mo-band__head{align-items:flex-start}.mo-band .mo-hello__logo{margin-top:2px}

/* =====================================================================
   v0.14.161 — TOP-SELLER: the Nr. 1 as a large colour card with its photo,
   numbers 2–4 as small white cards with a coloured rank badge.
   ===================================================================== */
.mo-tops{display:grid;grid-template-columns:minmax(0,1.7fr) repeat(3,minmax(0,1fr));gap:var(--mo-gap);margin:0;padding:0;list-style:none}
.mo-tops.is-single{grid-template-columns:minmax(0,1fr)}
.mo-top{min-width:0}
.mo-top__link{position:relative;display:flex;height:100%;text-decoration:none!important;transition:transform .45s var(--mo-spring),box-shadow .3s}
.mo-top__link:active{transform:scale(.97)}
.mo-top__price{font-weight:700;font-variant-numeric:tabular-nums}
.mo-top__price .woocommerce-Price-currencySymbol{margin-right:.2em;font-size:.78em;font-weight:600}
/* Nr. 1 */
.mo-top--first .mo-top__link{min-height:220px;border-radius:var(--mo-r-xl);overflow:hidden;isolation:isolate;background:radial-gradient(90% 120% at 100% 0%,color-mix(in srgb,#fff 16%,var(--c)),var(--c) 60%);color:var(--cc)!important;box-shadow:0 18px 40px -20px color-mix(in srgb,var(--c) 70%,#000)}
.mo-top--first .mo-top__link:hover{transform:translateY(-4px)}
.mo-top__copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:58%;padding:var(--s5)}
.mo-top__badge{display:inline-flex;align-items:center;gap:5px;padding:5px 11px 5px 8px;border-radius:999px;background:rgba(255,255,255,.22);font-size:12px;font-weight:800;letter-spacing:.01em}
.mo-top__badge .ti{font-size:15px}
.mo-top--first .mo-top__name{margin-top:4px;font-size:clamp(22px,2.4vw,30px);font-weight:800;letter-spacing:-.035em;line-height:1.08;overflow-wrap:anywhere}
.mo-top--first .mo-top__cat{font-size:14px;font-weight:600;opacity:.9}
.mo-top__foot{display:flex;align-items:center;gap:var(--s3);margin-top:auto;padding-top:var(--s3)}
.mo-top--first .mo-top__price{font-size:19px}
.mo-top__add{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--c);box-shadow:0 6px 16px -6px rgba(0,0,0,.45);transition:transform .45s var(--mo-spring)}
.mo-top__add .ti{font-size:22px}
.mo-top--first .mo-top__link:hover .mo-top__add{transform:rotate(90deg)}
.mo-top__plate{position:absolute;z-index:0;right:-14%;top:50%;display:grid;place-items:center;width:62%;aspect-ratio:1;border-radius:50%;overflow:hidden;transform:translateY(-46%);background:color-mix(in srgb,#fff 18%,var(--c));box-shadow:0 0 0 6px rgba(255,255,255,.22),0 20px 40px -18px rgba(0,0,0,.55);font-size:64px;animation:mo-top-float 7s ease-in-out infinite}
.mo-top__plate img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--mo-spring)}
.mo-top--first .mo-top__link:hover .mo-top__plate img{transform:scale(1.06) rotate(-4deg)}
@keyframes mo-top-float{50%{transform:translateY(-50%) rotate(-3deg)}}
/* 2–4 */
.mo-top--small .mo-top__link{flex-direction:column;align-items:center;gap:6px;padding:10px 10px 14px;border-radius:var(--mo-r-md);background:var(--mo-card);color:var(--mo-ink)!important;text-align:center;box-shadow:var(--mo-shadow)}
.mo-top--small .mo-top__link:hover{transform:translateY(-4px);box-shadow:var(--mo-shadow-lg)}
.mo-top__img{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:1;border-radius:14px;background:color-mix(in srgb,var(--c) 14%,#fff);color:var(--c);font-size:36px}
.mo-top__img img{width:100%;height:100%;border-radius:14px;object-fit:cover}
.mo-top__rank{position:absolute;left:-4px;top:-4px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--c);color:var(--cc);font-size:14px;font-weight:800;font-variant-numeric:tabular-nums;box-shadow:0 0 0 3px var(--mo-card),0 4px 10px -4px rgba(0,0,0,.4)}
.mo-top--small .mo-top__name{margin-top:4px;font-size:14px;font-weight:700;letter-spacing:-.015em;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em}
.mo-top--small .mo-top__price{margin-top:auto;color:var(--mo-ink2);font-size:14px}
@media (max-width:1023px){
  .mo-tops{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}
  .mo-top--first{grid-column:1 / -1}
}
@media (max-width:599px){
  .mo-top--first .mo-top__link{min-height:200px}
  .mo-top__copy{width:56%;padding:var(--s5) var(--s3) var(--s4) var(--s5)}
  .mo-top--first .mo-top__name{font-size:22px}
  .mo-top__plate{width:54%;right:-12%}
  .mo-tops{gap:10px}
  .mo-top--small .mo-top__link{padding:8px 8px 12px}
  .mo-top--small .mo-top__name{font-size:13px}
  .mo-top--small .mo-top__price{font-size:13px}
}
@media (prefers-reduced-motion:reduce){.mo-top__plate{animation:none}}
/* Top-Seller: lighter shadows, more air between the cards */
.mo-top--first .mo-top__link{box-shadow:0 1px 2px rgba(0,0,0,.06),0 10px 24px -18px rgba(0,0,0,.35)}
.mo-top--small .mo-top__link{box-shadow:0 0 0 .5px var(--mo-sep),0 4px 14px -10px rgba(0,0,0,.18)}
.mo-top--small .mo-top__link:hover{box-shadow:0 0 0 .5px var(--mo-sep),0 10px 24px -14px rgba(0,0,0,.25)}
.mo-top__add{box-shadow:0 3px 10px -4px rgba(0,0,0,.3)}
.mo-top__rank{box-shadow:0 0 0 3px var(--mo-card)}
.mo-tops{gap:var(--s5) var(--s4)}
@media (max-width:599px){ .mo-tops{gap:var(--s4) var(--s3)} }
/* Konto switch: smoother — the thumb glides with a soft ease (no spring overshoot),
   labels fade their colour, and the new form fades in instead of jumping */
#motion .pf-segmented::before{transition:transform .42s cubic-bezier(.25,.8,.25,1);will-change:transform;backface-visibility:hidden}
#motion .pf-segmented button{transition:color .3s ease!important}
#motion [data-pf-auth-panel]:not([hidden]){animation:mo-auth-in .38s cubic-bezier(.25,.8,.25,1) both}
@keyframes mo-auth-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){#motion [data-pf-auth-panel]:not([hidden]){animation:none}}
/* Home dish card: the next dish lies underneath as a real card (photo, name, price) */
.mo-stagewrap{position:relative;isolation:isolate;padding-bottom:44px;perspective:1400px}
.mo-stage--under{position:absolute!important;z-index:-1;top:var(--mo-gap);left:var(--mo-gutter);right:var(--mo-gutter);transform:translate3d(0,14px,0) scale(.94);transform-origin:50% 100%;pointer-events:none;transition:none;-webkit-backface-visibility:hidden;backface-visibility:hidden}
@media (min-width:900px){.mo-stagewrap{padding-bottom:0}}
.mo-stage{touch-action:pan-y;will-change:transform;transform-origin:50% 100%}
.mo-swipe-hint{position:absolute;z-index:5;top:var(--s4);left:var(--s4);padding:7px 13px;border-radius:999px;background:rgba(255,255,255,.92);color:#1d1d1f;font-size:13px;font-weight:700;opacity:0;pointer-events:none;box-shadow:0 6px 16px -8px rgba(0,0,0,.35);transition:transform .25s cubic-bezier(.34,1.4,.5,1),background-color .2s}
.mo-swipe-hint.is-right{left:auto;right:var(--s4)}
.mo-swipe-hint.is-ready{transform:scale(1.08);background:#fff}
@media (min-width:900px){.mo-stagewrap::before,.mo-stagewrap::after{display:none}.mo-stagewrap{padding-bottom:0}}

/* cards underneath: exactly the same edge and shadow as the top card (no inner line, no jump when it becomes the top card) */
.mo-stage--under{box-shadow:var(--mo-shadow-lg)!important;border:0!important;outline:0!important}

/* =====================================================================
   v0.14.184 — PAGE CARD ("card + plate") for every page except Home:
   a card in the page's own colour (--c from foodup_motion_tint) with drifting
   sprinkles, a dish photo or big icon peeking in top right, the restaurant
   name / back link, a big title, a small pill and one element inside.
   ===================================================================== */
.mo-pcard-wrap{padding-top:calc(env(safe-area-inset-top,0px) + 12px);margin-bottom:var(--s4,16px)}
.mo-order .mo-pcard-wrap{margin-bottom:var(--s2,8px)}
.mo-pcard{position:relative;isolation:isolate;overflow:hidden;padding:22px 20px 20px;border-radius:28px;background:var(--c);color:var(--cc,#fff)}
.mo-pcard__spr{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;color:#fff}
.mo-pcard__spr i{position:absolute;top:0;bottom:0;left:var(--x);width:16px;animation:mo-spr var(--t) linear var(--d) infinite;will-change:transform}
.mo-pcard__spr i::before{content:"";position:absolute;top:100%;left:0;width:var(--w);height:4px;border-radius:3px;background:currentColor;opacity:.22;transform:rotate(var(--r))}
.mo-pcard__spr i:nth-child(1){--x:6%;--w:12px;--t:13s;--d:-2s;--r:30deg}
.mo-pcard__spr i:nth-child(2){--x:24%;--w:9px;--t:16s;--d:-9s;--r:-40deg}
.mo-pcard__spr i:nth-child(3){--x:41%;--w:13px;--t:12s;--d:-5s;--r:65deg}
.mo-pcard__spr i:nth-child(4){--x:57%;--w:8px;--t:15s;--d:-12s;--r:-20deg}
.mo-pcard__spr i:nth-child(5){--x:73%;--w:11px;--t:14s;--d:-3s;--r:50deg}
.mo-pcard__spr i:nth-child(6){--x:90%;--w:9px;--t:17s;--d:-8s;--r:-60deg}
.mo-pcard__peek{position:absolute;z-index:-1;right:-28px;top:-24px;width:156px;height:156px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 8px rgba(255,255,255,.15)}
.mo-pcard__peek.is-icon{display:grid;place-items:center;background:rgba(255,255,255,.16);box-shadow:none;color:#fff}
.mo-pcard__peek.is-icon .ti{margin:22px 26px 0 0;font-size:60px;opacity:.95}
.mo-pcard__copy{max-width:calc(100% - 110px)}
.mo-pcard__eyebrow{margin:0 0 4px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.8}
.mo-pcard__back{display:inline-flex;align-items:center;gap:4px;margin:0 0 4px;color:inherit;font-size:14px;font-weight:700;text-decoration:none;opacity:.9}
.mo-pcard__back .ti{font-size:18px}
.mo-pcard h1{margin:0;color:inherit;font-size:clamp(30px,8.6vw,38px);font-weight:800;letter-spacing:-.035em;line-height:1.06;hyphens:manual;overflow-wrap:break-word}
.mo-pcard.is-long h1{font-size:clamp(24px,6.6vw,30px);line-height:1.12}
.mo-pcard__pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.mo-pcard .mo-pill,.mo-pcard .mo-status.mo-pill{display:inline-flex;align-items:center;gap:7px;height:28px;margin:0;padding:0 11px;border:0;border-radius:999px;background:rgba(255,255,255,.18);color:inherit;font-size:13px;font-weight:700;box-shadow:none}
.mo-pcard .mo-pill .ti{font-size:15px;color:inherit}
.mo-pcard .mo-status.mo-pill .mo-status__dot{width:8px;height:8px;margin:0;border:0;box-shadow:none}
.mo-pcard .mo-status.mo-pill.is-open .mo-status__dot{background:#34C759}
.mo-pcard .mo-status.mo-pill:not(.is-open) .mo-status__dot{background:#ffd60a}
.mo-pcard__inner{position:relative;margin-top:18px}
/* search (Speisekarte, 404) */
.mo-pcard .mo-search{display:flex;align-items:center;gap:10px;height:52px;margin:0;padding:0 8px 0 16px;border-radius:999px;background:#fff;box-shadow:0 10px 24px -16px rgba(0,0,0,.45)}
.mo-pcard .mo-search > .ti{flex:none;color:#6e6e73;font-size:20px}
.mo-pcard .mo-search input{flex:1;min-width:0;height:100%;margin:0;padding:0;border:0;outline:0;background:transparent;color:#1d1d1f;font:inherit;font-size:16px;box-shadow:none;-webkit-appearance:none;appearance:none}
.mo-pcard .mo-search input::placeholder{color:#8e8e93;opacity:1}
.mo-pcard .mo-search input::-webkit-search-cancel-button{display:none}
.mo-search__clear{display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:#f2f2f7;color:#6e6e73;cursor:pointer}
.mo-search__clear[hidden]{display:none}
.mo-search__clear .ti{font-size:17px}
.mo-search-empty p{display:flex;align-items:center;justify-content:center;gap:8px;margin:18px 0;padding:22px;border-radius:20px;background:#fff;color:var(--mo-ink2,#6e6e73);font-weight:600}
/* contact buttons */
.mo-acts{display:grid;grid-template-columns:repeat(var(--n,3),1fr);gap:8px}
.mo-act{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:64px;padding:8px 4px;border-radius:18px;background:#fff;color:#1d1d1f;font-size:13.5px;font-weight:700;text-decoration:none;transition:transform .25s var(--mo-spring,ease)}
.mo-act .ti{font-size:22px;color:var(--c)}
.mo-act:active{transform:scale(.95)}
/* sign-in / register switch */
.mo-wseg{position:relative;display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:999px;background:rgba(0,0,0,.16)}
.mo-wseg__thumb{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:999px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.14);transition:transform .45s var(--mo-spring,cubic-bezier(.3,1.3,.5,1))}
.mo-wseg[data-index="1"] .mo-wseg__thumb{transform:translateX(100%)}
.mo-wseg button{position:relative;z-index:1;height:44px;padding:0 6px;border:0;border-radius:999px;background:transparent;color:rgba(255,255,255,.9);font:inherit;font-size:15px;font-weight:700;cursor:pointer;transition:color .3s}
.mo-wseg button[aria-selected="true"]{color:var(--c)}
@media (max-width:899px){#motion .pf-auth__panel > .pf-segmented{display:none}}
/* account stats */
.mo-stats{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px}
.mo-stat{display:flex;flex-direction:column;justify-content:center;gap:1px;min-width:0;min-height:60px;padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.16);color:inherit;text-decoration:none}
.mo-stat strong{overflow:hidden;font-size:19px;font-weight:800;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}
.mo-stat small{font-size:11.5px;font-weight:600;opacity:.88}
.mo-stat--go{align-items:center;background:#fff;color:var(--c)}
.mo-stat--go .ti{font-size:22px}
.mo-stat--go small{opacity:1;color:#1d1d1f}
/* AGB: jump to section */
.mo-jump{position:relative;display:flex;align-items:center;height:52px;border-radius:999px;background:#fff;color:#1d1d1f}
.mo-jump > .ti{position:absolute;pointer-events:none;color:var(--c);font-size:19px}
.mo-jump > .ti:first-of-type{left:16px}
.mo-jump > .ti:last-of-type{right:16px;color:#c7c7cc}
.mo-jump select{width:100%;height:100%;margin:0;padding:0 44px 0 46px;border:0;border-radius:999px;background:transparent;color:#1d1d1f;font:inherit;font-size:15.5px;font-weight:600;-webkit-appearance:none;appearance:none;cursor:pointer}
/* 404: the card carries the title and search; keep the text, buttons and categories */
#motion .mo-404 .fu-nf__art,#motion .mo-404 .fu-nf__eyebrow,#motion .mo-404 .fu-nf__title{display:none!important}
#motion .mo-404 .fu-nf{padding-top:0!important}
/* confirmation: the card replaces the plugin's own "Vielen Dank" hero */
#motion .mo-confirmation .mo-pcard-wrap ~ * .fuo-thankyou__hero{display:none!important}
@media (min-width:768px){
  .mo-pcard{padding:28px 28px 26px;border-radius:32px}
  .mo-pcard__peek{width:220px;height:220px;right:-30px;top:-40px}
  .mo-pcard__peek.is-icon .ti{font-size:80px;margin:40px 40px 0 0}
  .mo-pcard__copy{max-width:calc(100% - 200px)}
  .mo-pcard__inner{max-width:560px}
}
@media (prefers-reduced-motion:reduce){.mo-pcard__spr i{animation:none}}
.mo-search-hide{display:none!important}
#motion .mo-pcard .mo-pcard__peek.is-icon .ti{font-size:62px!important;width:auto!important;height:auto!important;line-height:1!important}
#motion .mo-confirmation .mo-pcard-wrap ~ * :is(.fuo-thankyou__body,.fuo-thankyou__info-grid){margin-top:0!important}
#motion .mo-confirmation .mo-pcard-wrap ~ * .fuo-thankyou__body{padding-top:16px!important}
@media (min-width:768px){#motion .mo-pcard .mo-pcard__peek.is-icon .ti{font-size:84px!important}}
/* v0.14.185: compact category banners while searching */
#motion.mo-searching .foodup-ordering .fuo-m-category-cover.mo-cban.is-tinted{min-height:76px!important;margin:12px 0 10px!important;padding:14px 96px 14px 18px!important}
#motion.mo-searching .foodup-ordering .fuo-m-category-cover.mo-cban.is-tinted h2{font-size:22px!important}
#motion.mo-searching .foodup-ordering :is(.fuo-category-hero,.fuo-m-category-cover).mo-cban.is-tinted::after{width:60px!important;height:60px!important;right:16px!important;font-size:28px!important;transform:translateY(-50%)!important;margin:0!important}
#motion.mo-searching .foodup-ordering .fuo-category-hero.mo-cban.is-tinted{min-height:96px!important;padding:18px 120px 18px 26px!important}
#motion .foodup-ordering [data-fuo-menu-item].mo-search-hide,#motion .fuo-m-nav .fuo-m-nav__item.mo-search-hide{display:none!important}
#motion.mo-searching .fuo-m-nav .fuo-m-nav__item.is-active{background:#fff!important;color:var(--mo-ink,#1d1d1f)!important;box-shadow:inset 0 0 0 1px rgba(60,60,67,.12)!important}
#motion.mo-searching .fuo-m-nav .fuo-m-nav__item.is-active *{color:inherit!important}
/* v0.14.186: Konto (signed out) — advantages as a white list at the bottom; no footer on Konto */
#motion .mo-perks{min-width:0;margin:0;padding:16px 16px 6px;border-radius:24px;background:#fff}
#motion .mo-perks__title{margin:0 0 4px;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--mo-ink2,#6e6e73)}
#motion .mo-perks__list{margin:0;padding:0;list-style:none}
#motion .mo-perks__list li{position:relative;display:flex;align-items:center;gap:12px;padding:11px 0}
#motion .mo-perks__list li + li::before{content:"";position:absolute;left:46px;right:0;top:0;height:.5px;background:var(--mo-sep,rgba(60,60,67,.16))}
#motion .mo-perks__list .mo-sq{flex:none;width:34px;height:34px;border-radius:10px}
#motion .mo-perks__list strong{display:block;font-size:15.5px;font-weight:700;color:var(--mo-ink,#1d1d1f)}
#motion .mo-perks__list small{display:block;margin-top:1px;font-size:13px;line-height:1.35;color:var(--mo-ink2,#6e6e73)}
#motion:has(.mo-account) footer.mo-foot{display:none!important}
#motion .mo-account .mo-auth{padding-top:0!important}

/* v0.14.187 — phone tab bar "Klassisch": a white full-width bar along the bottom
   edge (safe area included), the active tab in the restaurant colour with a short
   line above it; the line slides to the new tab (same data-mo-tab-blob logic). */
@media (max-width:899px){
  :root{--mo-tabs:58px}
  .mo-tabs{left:0;right:0;bottom:0;height:auto;padding:0 6px env(safe-area-inset-bottom,0px);border-radius:0;background:rgba(255,255,255,.98);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:0 -.5px 0 rgba(60,60,67,.18),0 -10px 30px -22px rgba(0,0,0,.35)}
  .mo-tabs__item{height:58px;padding-top:4px;border-radius:0;color:#8e8e93!important;font-size:10.5px;font-weight:600}
  .mo-tabs__item .ti{font-size:25px}
  .mo-tabs__item[aria-current="page"]{color:var(--mo-brand-text,var(--mo-brand))!important}
  .mo-tabs__item[aria-current="page"] .ti{-webkit-text-stroke:.5px currentColor}
  .mo-tabs__blob{top:0;height:3px;border-radius:0;background:transparent}
  .mo-tabs__blob::before{content:"";position:absolute;top:0;left:30%;right:30%;height:3px;border-radius:0 0 3px 3px;background:var(--mo-brand-text,var(--mo-brand))}
  .mo-tabs.is-hidden{transform:translateY(100%)}
}
/* v0.14.188: tab bar in the page background (merges with the bottom of the screen / Safari bar), larger icons */
@media (max-width:899px){
  :root{--mo-tabs:64px}
  .mo-tabs{background:var(--mo-bg,#f2f2f7);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 -.5px 0 rgba(60,60,67,.16)}
  .mo-tabs__item{height:64px;padding-top:6px;gap:3px;font-size:11px;font-weight:600}
  .mo-tabs__item .ti{font-size:29px;line-height:1}
  .mo-tabs__item[aria-current="page"] .ti{-webkit-text-stroke:.7px currentColor}
  .mo-tabs__blob::before{left:28%;right:28%}
}
@media (max-width:899px){#motion .mo-tabs .mo-tabs__item .ti{font-size:28px;line-height:1}}
/* v0.14.189: room for the card pile under the Home dish card at every width
   (desktop had none, so the cards underneath ran into the info tiles) */
.mo-stagewrap{padding-bottom:60px}
@media (min-width:900px){.mo-stagewrap{padding-bottom:76px}}
/* v0.14.193: page card — a proper gap under the desktop header (12 px was meant for phones) */
@media (min-width:900px){.mo-pcard-wrap{padding-top:32px}}

/* v0.14.194 — Konto (signed out) on desktop: "Minimal" — a calm centred head (blue icon,
   "Mein Konto", "Kostenlos · in 1 Minute erstellt"), one narrow card with the
   Anmelden / Konto erstellen switch and the form, the advantages as one quiet line.
   The page card itself becomes the head, so there is no second title in the markup. */
@media (min-width:900px){
  .pf-account--auth .mo-pcard{padding:8px 0 0;border-radius:0;background:none;color:var(--mo-ink,#1d1d1f);text-align:center;overflow:visible}
  .pf-account--auth :is(.mo-pcard__spr,.mo-pcard__peek,.mo-pcard__eyebrow,.mo-pcard__inner){display:none}
  .pf-account--auth .mo-pcard__copy{display:flex;flex-direction:column;align-items:center;max-width:none}
  .pf-account--auth .mo-pcard__copy::before{content:"\ef68";display:grid;place-items:center;width:64px;height:64px;margin-bottom:14px;border-radius:20px;background:var(--c);color:#fff;font-family:"tabler-icons";font-size:34px;line-height:1}
  .pf-account--auth .mo-pcard h1{font-size:34px}
  .pf-account--auth .mo-pcard__pills{margin-top:4px}
  .pf-account--auth .mo-pcard .mo-pill{height:auto;padding:0;background:none;color:var(--mo-ink2,#6e6e73);font-size:15px;font-weight:500}
  .pf-account--auth .mo-pcard .mo-pill .ti{display:none}
  .pf-account--auth .mo-pcard .mo-pill span::after{content:" erstellt"}
  #motion .pf-account--auth .mo-auth{display:flex;flex-direction:column;align-items:center;gap:20px;padding-top:6px}
  #motion .pf-account--auth .mo-auth .pf-auth__panel{width:440px;max-width:100%;padding:24px;box-shadow:0 1px 3px rgba(0,0,0,.05)}
  #motion .pf-account--auth .pf-auth__panel > .pf-segmented{margin-bottom:20px}
  #motion .pf-account--auth .mo-perks{padding:0;background:none}
  #motion .pf-account--auth .mo-perks__title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  #motion .pf-account--auth .mo-perks__list{display:flex;gap:22px}
  #motion .pf-account--auth .mo-perks__list li{gap:6px;padding:0}
  #motion .pf-account--auth .mo-perks__list li + li::before{display:none}
  #motion .pf-account--auth .mo-perks__list .mo-sq{width:auto;height:auto;background:none;color:var(--c,#0070EA)}
  #motion .pf-account--auth .mo-perks__list .mo-sq .ti{font-size:17px;color:#0070EA}
  #motion .pf-account--auth .mo-perks__list strong{font-size:13px;font-weight:600;color:var(--mo-ink2,#6e6e73)}
  #motion .pf-account--auth .mo-perks__list small{display:none}
}
@media (min-width:900px){#motion .pf-account--auth .pf-form__grid > .fu-password-wrap{grid-column:1 / -1}}
/* v0.14.195: desktop — permanent scrollbar (no sideways jump between short and long pages or when a sheet locks scrolling) */
@media (min-width:900px){html{overflow-y:scroll;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(78,88,98,.34) transparent}}
/* the Bestellen button marks the ordering pages (it is the same header everywhere now) */
.mo-hdr__order[aria-current="page"]{box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)}

/* v0.14.203 — Dropdown list (design 2 "Brand pill"), opened by motion.js on desktop */
.mo-dd{position:fixed;z-index:2147483647;box-sizing:border-box;padding:6px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;
  background:#fff;border-radius:16px;box-shadow:0 24px 50px -18px rgba(0,0,0,.35),0 0 0 1px rgba(0,0,0,.05);
  font:500 14.5px/1.3 var(--pf-text,Inter,system-ui,sans-serif);color:var(--mo-ink,#1d1d1f);
  opacity:0;transform:translateY(-4px) scale(.98);transform-origin:top center;transition:opacity .14s ease,transform .18s cubic-bezier(.2,.8,.2,1)}
.mo-dd.is-up{transform-origin:bottom center;transform:translateY(4px) scale(.98)}
.mo-dd.is-in{opacity:1;transform:none}
.mo-dd__head{padding:8px 12px 6px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#6e6e73}
.mo-dd__row{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:10px;cursor:pointer;white-space:nowrap}
.mo-dd__label{flex:1;overflow:hidden;text-overflow:ellipsis}
.mo-dd__chip{flex:none;padding:3px 9px;border-radius:999px;background:#f2f2f7;color:#6e6e73;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}
.mo-dd__row.is-active{background:#f2f2f7}
.mo-dd__row.is-active .mo-dd__chip{background:#fff}
.mo-dd__row.is-sel{background:color-mix(in srgb,var(--mo-brand) 11%,#fff);color:var(--mo-brand-text,var(--mo-brand));font-weight:700}
.mo-dd__row.is-sel .mo-dd__chip{background:#fff;color:var(--mo-brand-text,var(--mo-brand))}
.mo-dd__row.is-sel.is-active{background:color-mix(in srgb,var(--mo-brand) 16%,#fff)}
.mo-dd__row[aria-disabled]{opacity:.4;cursor:default}
@media (prefers-reduced-motion:reduce){.mo-dd{transition:none}}
.mo-dd__num{flex:none;min-width:18px;color:#8e8e93;font-weight:600;font-variant-numeric:tabular-nums}
.mo-dd__row.is-sel .mo-dd__num{color:inherit}
