/*
Theme Name: FoodUp Restaurant
Theme URI: https://foodup.ch/
Author: FoodUp
Description: Reusable FoodUp restaurant theme for WooCommerce.
Version: 0.14.101
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: foodup-restaurant
*/

:root{
  --fu-primary:#ff6600;
  --fu-secondary:#00a5a0;
  --fu-hero-button:#b40000;
  --fu-bg:#f4f5f7;
  --fu-text:#171717;
  --fu-muted:#667085;
  --fu-border:#e4e7ec;
  --fu-radius:14px;

  /* This matches the Elementor container setting you showed. */
  --fu-site-width:1140px;

  /* Eatime header dimensions: 37px top + 78px main = 115px.
     Sticky: 5px top + 78px main = 83px. */
  --fu-top-height:37px;
  --fu-main-height:78px;
  --fu-logo-width:169px;
  --fu-logo-height:98.6px;
  --fu-sticky-logo-width:118.3px;
  --fu-sticky-logo-height:69px;
  --fu-normal-header-row:118.6px;
  --fu-sticky-header-row:78px;
  --fu-sticky-logo-factor:.7;
  --fu-sticky-speed:300ms;
  --fu-topbar-overlay:.42;
  --fu-topbar-blur:8px;
  --fu-topbar-border:#7a7a7a;
  --fu-topbar-radius:10px;
  --fu-sticky-shadow-alpha:.16;
  --fu-logo-padding-top:0px;
  --fu-logo-padding-bottom:0px;
  --fu-sticky-logo-padding-top:8px;
  --fu-sticky-logo-padding-bottom:8px;
  --fu-logo-art-max-height:calc(var(--fu-main-height) - var(--fu-logo-padding-top) - var(--fu-logo-padding-bottom));
}

*{box-sizing:border-box}
html{
  scroll-behavior:smooth;
  overflow-y:scroll;
  scrollbar-gutter:stable;
  scrollbar-width:thin;
  scrollbar-color:rgba(23,23,23,.30) transparent;
}
html::-webkit-scrollbar{width:6px}
html::-webkit-scrollbar-track{background:transparent}
html::-webkit-scrollbar-thumb{
  background:rgba(23,23,23,.30);
  border-radius:999px;
}
html::-webkit-scrollbar-thumb:hover{background:rgba(23,23,23,.44)}
body{
  margin:0;
  background:var(--fu-bg);
  color:var(--fu-text);
  font-family:'Inter',Arial,sans-serif;
  font-size:var(--fu-body-font-size);
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
button,input,textarea,select{font:inherit}

.fu-container{
  width:min(var(--fu-site-width),calc(100% - (var(--fu-page-side) * 2)));
  margin-inline:auto;
}

.fu-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:var(--fu-button-radius);
  padding:12px 18px;
  font-weight:700;
  cursor:pointer;
}
.fu-btn--primary{background:var(--fu-primary);color:#fff}
.fu-btn--surface{background:#fff;color:#111}

/* =========================================================
   EXACT EATIME HEADER
   ========================================================= */

.main-header1{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:1500;
  width:100%;
  background:none;
  border-bottom:2px solid transparent;
  color:#fff;
  transition:background var(--fu-sticky-speed) ease,border-color var(--fu-sticky-speed) ease,box-shadow var(--fu-sticky-speed) ease;
}

/* Top bar is boxed at 1140px, centered, exactly like your Elementor container. */
.main-header1 .header-top{
  width:min(var(--fu-site-width),calc(100% - (var(--fu-page-side) * 2)));
  height:var(--fu-topbar-height);
  margin:0 auto;
  padding:0 10px;
  overflow:hidden;
  border-top:0;
  border-left:1px solid var(--fu-topbar-border);
  border-right:1px solid var(--fu-topbar-border);
  border-bottom:1px solid var(--fu-topbar-border);
  border-radius:0 0 var(--fu-topbar-radius) var(--fu-topbar-radius);
  background:
    linear-gradient(115deg,rgba(255,255,255,.11) 0%,rgba(255,255,255,.025) 34%,rgba(255,255,255,.07) 68%,rgba(255,255,255,.015) 100%),
    rgba(0,0,0,var(--fu-topbar-overlay));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 2px 9px rgba(0,0,0,.10);
  backdrop-filter:saturate(180%) blur(var(--fu-topbar-blur));
  -webkit-backdrop-filter:saturate(180%) blur(var(--fu-topbar-blur));
  transition:
    height var(--fu-sticky-speed) cubic-bezier(.2,.7,.2,1),
    background var(--fu-sticky-speed) ease,
    border-color var(--fu-sticky-speed) ease,
    border-radius var(--fu-sticky-speed) ease,
    box-shadow var(--fu-sticky-speed) ease;
}

.fu-header-top-content{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  font-size:var(--fu-topbar-font-size);
  font-weight:600;
}

.user-greeting-styled{
  visibility:visible;
  opacity:1;
  margin-top:0;
  white-space:nowrap;
  transition:all var(--fu-sticky-speed) ease;
}

.header-ad{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  visibility:visible;
  opacity:1;
  margin-top:0;
  white-space:nowrap;
  transition:all var(--fu-sticky-speed) ease;
}

.fu-top-item{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#fff;
}
.fu-top-item .ti{
  width:14px;
  height:14px;
  flex:0 0 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  color:currentColor;
}
.fu-top-separator{
  width:1px;
  height:15px;
  background:rgba(255,255,255,.75);
}

/* Main row remains 78px both before and after sticky. */
.fu-header-main{
  width:100%;
  height:var(--fu-main-height);
  background:transparent;
  transition:background var(--fu-sticky-speed) ease,border-color var(--fu-sticky-speed) ease,box-shadow var(--fu-sticky-speed) ease;
}

.fu-header-main__inner{
  width:min(var(--fu-site-width),calc(100% - (var(--fu-page-side) * 2)));
  height:100%;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--fu-header-content-gap);
}

/* Logo: percentage control defines the NORMAL/base wrapper width.
   Sticky logo is a separate percentage of that base (default 70%). */
.fu-logo{
  width:var(--fu-logo-width);
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-width:0;
  line-height:0;
}

.logo-white{
  color:#fff;
}

.logo-white .fu-logo-svg{
  display:flex;
  align-items:center;
  width:100%;
}

.logo-white .fu-logo-svg svg{
  display:block;
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  fill:currentColor;
  overflow:visible;
  transition:width var(--fu-sticky-speed) ease,height var(--fu-sticky-speed) ease,color var(--fu-sticky-speed) ease;
}

.fu-logo-image{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}

/* Right side is one continuous Elementor-style container. */
.fu-header-right{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:24px;
}

.fu-nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  white-space:nowrap;
  font-size:var(--fu-menu-font-size);
  font-weight:var(--fu-menu-font-weight);
}

.fu-menu-link{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 var(--fu-menu-padding-x);
  color:var(--fu-menu-hero-color);
  transition:color .25s ease;
}

.fu-menu-divider{
  width:1px;
  height:var(--fu-menu-divider-height);
  background:currentColor;
  opacity:.9;
  flex:0 0 1px;
}

.fu-menu-link:hover{
  color:var(--fu-primary);
}

/* Only HOME is active on the homepage — not every URL ending in "/". */
body.home .fu-menu-home{
  color:var(--fu-primary);
}

/* Original account button CSS, mapped to SVG icon. */
.account-btn{
  display:inline-flex;
  align-items:center;
  padding:6px var(--fu-account-padding-x);
  font-size:var(--fu-account-font-size);
  line-height:1.2;
  font-weight:bold;
  text-decoration:none;
  border:var(--fu-account-border-width) solid var(--fu-primary);
  color:#fff !important;
  background:none;
  border-radius:var(--fu-account-radius);
  transition:all .3s ease;
  cursor:pointer;
  white-space:nowrap;
}

.account-btn .ti{
  width:16px;
  height:16px;
  margin-right:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  color:var(--fu-primary);
  transition:color .3s ease;
}

.account-btn:hover{
  background:var(--fu-primary);
  color:#fff !important;
}
.account-btn:hover .ti{color:#000}

/* White / black menu swap from your exact CSS. */
.header-menu-white{
  display:flex;
  transition:all var(--fu-sticky-speed) ease;
}
.header-menu-black{
  display:none;
  transition:all var(--fu-sticky-speed) ease;
}

/* Sticky */
body:not(.home) .main-header1.elementor-sticky--effects{
  background:#f5f5f5;
  border-bottom-color:#ccc;
  box-shadow:0 0 10px rgba(0,0,0,var(--fu-sticky-shadow-alpha));
  color:#000;
}

body:not(.home) .main-header1.elementor-sticky--effects .header-top{
  height:5px;
  padding:0 10px;
  background:var(--fu-primary);
  border-left-color:var(--fu-primary);
  border-right-color:var(--fu-primary);
  border-bottom-color:var(--fu-primary);
  border-radius:0 0 min(5px,var(--fu-topbar-radius)) min(5px,var(--fu-topbar-radius));
}

body:not(.home) .main-header1.elementor-sticky--effects .user-greeting-styled{
  visibility:hidden;
  opacity:0;
  margin-top:-20px;
}

body:not(.home) .main-header1.elementor-sticky--effects .header-ad{
  visibility:hidden;
  opacity:0;
  margin-top:-20px;
}

body:not(.home) .main-header1.elementor-sticky--effects .header-menu-black{
  display:flex;
}
body:not(.home) .main-header1.elementor-sticky--effects .header-menu-white{
  display:none;
}

body:not(.home) .main-header1.elementor-sticky--effects .header-menu-black .fu-menu-link{
  color:var(--fu-menu-sticky-color);
}
body:not(.home) .main-header1.elementor-sticky--effects .header-menu-black .fu-menu-link:hover{
  color:var(--fu-primary);
}
body:not(.home) .main-header1.elementor-sticky--effects .logo-white .fu-logo-svg svg{
  width:var(--fu-sticky-logo-width) !important;
  height:auto !important;
  max-width:none !important;
  max-height:none !important;
  transform:none !important;
  transform-origin:left center;
}

body:not(.home) .main-header1.elementor-sticky--effects .account-btn{
  border-color:var(--fu-primary);
  color:#000 !important;
}
body:not(.home) .main-header1.elementor-sticky--effects .account-btn:hover{
  background:var(--fu-primary);
  color:#fff !important;
}
body:not(.home) .main-header1.elementor-sticky--effects .account-btn:hover .ti{
  color:#000;
}

/* =========================================================
   HOME HERO
   ========================================================= */

.fu-hero{
  position:relative;
  isolation:isolate;
  width:100%;
  min-height:var(--fu-home-hero-height);
  height:var(--fu-home-hero-height);
  display:flex;
  align-items:center;
  overflow:hidden;
  color:#fff;
  background:#151515;
}

.fu-hero__media{
  position:absolute;
  inset:0;
  z-index:-2;
}
.fu-hero__media img{
  width:100%;
  height:100%;
  max-width:none;
  display:block;
  object-fit:cover;
  object-position:center center;
}

.fu-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:rgba(var(--fu-home-hero-overlay-rgb),var(--fu-home-hero-overlay));
}

/* No giant top padding. The content is vertically centered like Eatime. */
.fu-hero__content{
  width:min(var(--fu-site-width),calc(100% - (var(--fu-page-side) * 2)));
  margin:0 auto;
  padding:70px 0 0;
  transform:translateY(var(--fu-home-hero-offset-y));
}

.fu-hero h1{
  margin:0 0 15px;
  max-width:var(--fu-home-hero-content-width);
  color:var(--fu-primary);
  font-size:var(--fu-home-hero-title-size);
  line-height:1.2;
  font-weight:700;
}

.fu-hero p{
  margin:0 0 20px;
  max-width:var(--fu-home-hero-content-width);
  color:#fff;
  font-size:var(--fu-home-hero-text-size);
  line-height:1.65;
  font-weight:600;
}

.fu-hero__actions{
  display:flex;
  align-items:center;
}

.fu-hero-order-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 24px;
  border:0;
  border-radius:var(--fu-home-hero-button-radius);
  background:var(--fu-hero-button);
  color:#fff;
  font-size:14px;
  font-weight:700;
  transition:filter .2s ease,transform .2s ease;
}
.fu-hero-order-btn:hover{
  filter:brightness(1.08);
  transform:translateY(-1px);
}

/* =========================================================
   HOME CONTENT
   ========================================================= */

.fu-section{padding:72px 0}
.fu-section h2{
  margin:0 0 12px;
  font-size:clamp(30px,4vw,44px);
}
.fu-section__lead{
  max-width:720px;
  margin:0 0 28px;
  color:var(--fu-muted);
}

.fu-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.fu-card{
  min-height:160px;
  padding:24px;
  border:1px solid var(--fu-border);
  border-radius:var(--fu-radius);
  background:#fff;
}
.fu-card h3{margin:0 0 8px}
.fu-card p{margin:0;color:var(--fu-muted)}

.fu-promo{
  min-height:320px;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  overflow:hidden;
  border:1px solid var(--fu-border);
  border-radius:18px;
  background:#fff;
}
.fu-promo__content{
  padding:44px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.fu-promo__content h2{margin:0 0 12px}
.fu-promo__content p{margin:0 0 22px;color:var(--fu-muted)}
.fu-promo__image{
  min-height:300px;
  background:center center/cover no-repeat;
}

.fu-cta{
  position:relative;
  min-height:360px;
  display:flex;
  align-items:center;
  overflow:hidden;
  border-radius:18px;
  background:#222 center center/cover no-repeat;
  color:#fff;
}
.fu-cta::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.5);
}
.fu-cta__content{
  position:relative;
  z-index:1;
  max-width:650px;
  padding:44px;
}
.fu-cta__content h2{margin:0 0 12px}
.fu-cta__content p{margin:0 0 22px;font-size:18px}

/* =========================================================
   CONTACT / LEGAL
   ========================================================= */

.fu-contact-hero{
  position:relative;
  min-height:340px;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#222 center center/cover no-repeat;
  color:#fff;
  text-align:center;
}
.fu-contact-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.48);
}
.fu-contact-hero__inner{
  position:relative;
  z-index:1;
  padding:140px 20px 70px;
}
.fu-contact-hero h1{
  margin:0;
  font-size:clamp(38px,6vw,64px);
}

.fu-contact-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.fu-contact-card{
  padding:26px;
  border:1px solid var(--fu-border);
  border-radius:16px;
  background:#fff;
}
.fu-contact-card h3{margin:0 0 14px}
.fu-contact-card p{margin:7px 0;color:var(--fu-muted)}

.fu-hours-list,.fu-zone-list{list-style:none;margin:0;padding:0}
.fu-hours-list li,.fu-zone-list li{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:9px 0;
  border-bottom:1px solid var(--fu-border);
}
.fu-hours-list li:last-child,.fu-zone-list li:last-child{border-bottom:0}

.fu-map{
  width:100%;
  min-height:380px;
  display:block;
  border:0;
  border-radius:18px;
  background:#eee;
}

.fu-legal{
  max-width:900px;
  margin:0 auto;
  padding:clamp(24px,5vw,52px);
  border:1px solid var(--fu-border);
  border-radius:18px;
  background:#fff;
}
.fu-legal h1{margin-top:0}
.fu-legal h2,.fu-legal h3,.fu-legal h4{margin-top:28px}
.fu-legal hr{margin:24px 0;border:0;border-top:1px solid var(--fu-border)}
.fu-legal p,.fu-legal li{line-height:1.7}

/* =========================================================
   FOOTER / MOBILE NAV
   ========================================================= */

.fu-footer{
  padding:48px 0 100px;
  background:#111;
  color:#fff;
}
.fu-footer__grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:28px;
}
.fu-footer p{color:#c6c6c6}

.fu-bottom-nav{
  display:none;
  position:fixed;
  left:10px;
  right:10px;
  bottom:10px;
  z-index:1400;
  padding:8px;
  border:1px solid var(--fu-border);
  border-radius:18px;
  background:rgba(255,255,255,.96);
  box-shadow:0 10px 30px rgba(0,0,0,.14);
}
.fu-bottom-nav a{
  flex:1;
  min-height:52px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  border-radius:12px;
  color:#555;
  font-size:12px;
}
.fu-bottom-nav a.is-active{
  color:var(--fu-primary);
  background:color-mix(in srgb,var(--fu-primary) 7%,#fff);
}

/* =========================================================
   ACCOUNT
   ========================================================= */

.fu-account-page{
  min-height:100vh;
  padding:150px 20px 90px;
  background:#f4f5f7;
}
.fu-account-shell{
  width:min(1040px,100%);
  margin:0 auto;
}
.fu-account-heading{margin-bottom:26px}
.fu-account-eyebrow{
  display:inline-block;
  margin-bottom:8px;
  color:var(--fu-primary);
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.fu-account-heading h1{
  margin:0 0 8px;
  font-size:clamp(30px,4vw,44px);
}
.fu-account-heading p{
  margin:0;
  color:var(--fu-muted);
  font-size:16px;
}
.fu-account-alert{
  margin-bottom:20px;
  padding:14px 16px;
  border:1px solid #fecaca;
  border-radius:12px;
  background:#fff1f2;
  color:#991b1b;
}
.fu-account-alert p{margin:0 0 5px}
.fu-account-alert p:last-child{margin-bottom:0}

.fu-auth-grid{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:22px;
  align-items:start;
}
.fu-auth-card,.fu-account-card{
  border:1px solid var(--fu-border);
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 30px rgba(16,24,40,.06);
}
.fu-auth-card{padding:24px}
.fu-auth-card__header{
  display:flex;
  align-items:center;
  gap:13px;
  margin-bottom:22px;
}
.fu-auth-card__header h2{margin:0 0 3px;font-size:21px}
.fu-auth-card__header p{margin:0;color:var(--fu-muted);font-size:13px}
.fu-auth-icon{
  width:42px;
  height:42px;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:color-mix(in srgb,var(--fu-primary) 8%,#fff);
}
.fu-auth-icon svg{width:21px;height:21px;fill:var(--fu-primary)}

.fu-auth-form{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.fu-auth-form input[type="text"],
.fu-auth-form input[type="email"],
.fu-auth-form input[type="tel"],
.fu-auth-form input[type="password"]{
  width:100%;
  height:48px;
  padding:0 14px;
  border:1px solid #cfd4dc;
  border-radius:11px;
  outline:none;
  background:#fff;
  color:#111827;
}
.fu-auth-form input:focus{
  border-color:var(--fu-primary);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--fu-primary) 12%,transparent);
}
.fu-input-wrap,.fu-password-wrap{position:relative}
.fu-input-wrap>svg{
  position:absolute;
  left:14px;
  top:50%;
  width:18px;
  height:18px;
  transform:translateY(-50%);
  fill:var(--fu-muted);
}
.fu-input-wrap>input{}
.fu-password-wrap>input{}
.fu-input-wrap.fu-password-wrap>input{padding-left:42px!important}

.fu-password-toggle{
  position:absolute;
  right:6px;
  top:50%;
  width:36px;
  height:36px;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:9px;
  background:transparent;
  cursor:pointer;
}
.fu-password-toggle:hover{background:#f2f4f7}
.fu-password-toggle svg{width:18px;height:18px;fill:var(--fu-muted)}

.fu-form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.fu-auth-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:13px;
}
.fu-auth-meta a{color:var(--fu-primary);font-weight:600}
.fu-check{display:flex;align-items:center;gap:7px;color:var(--fu-muted)}

.fu-auth-submit{
  height:48px;
  border:2px solid var(--fu-primary);
  border-radius:11px;
  background:var(--fu-primary-btn);
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.fu-auth-submit--outline{background:#fff;color:#111}
.fu-auth-submit:hover,.fu-auth-submit--outline:hover{
  background:var(--fu-primary-btn);
  color:#fff;
}

.fu-account-dashboard{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}
.fu-account-card{
  position:relative;
  padding:22px;
}
.fu-account-card h2{margin:0 0 12px;font-size:18px}
.fu-account-card p{margin:5px 0;color:var(--fu-muted)}
.fu-account-card--link span{
  position:absolute;
  right:20px;
  top:50%;
  transform:translateY(-50%);
  color:var(--fu-primary);
  font-size:30px;
}
.fu-account-logout{
  display:inline-flex;
  margin-top:18px;
  color:#b42318;
  font-weight:700;
}
.fu-sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* Internal pages need room below fixed header. */
body:not(.home) main:not(.fu-account-page){
  padding-top:115px;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:900px){
  .fu-cards{grid-template-columns:1fr}
  .fu-promo{grid-template-columns:1fr}
  .fu-promo__image{min-height:240px}
  .fu-contact-grid{grid-template-columns:1fr}
  .fu-footer__grid{grid-template-columns:1fr}

  .fu-nav{
    font-size:12px;
  }
  .fu-menu-link{
    padding:0 10px;
  }
  .fu-header-right{
    gap:14px;
  }
}

@media(max-width:768px){
  :root{
    --fu-top-height:0px;
    --fu-main-height:64px;
  }

  .main-header1 .header-top{
    display:none;
  }

  .fu-header-main{
    height:64px;
  }
  .fu-header-main__inner{
    width:calc(100% - 24px);
  }

  .fu-header-right .fu-nav{
    display:none;
  }

  .fu-logo{
    max-width:130px;
  }

  .main-header1.elementor-sticky--effects .logo-white .fu-logo-svg svg{
    width:min(var(--fu-sticky-logo-width),130px) !important;
    height:auto !important;
    transform:none !important;
    transform-origin:left center;
  }

  .account-btn{
    width:38px;
    height:38px;
    padding:0;
    justify-content:center;
  }
  .account-btn svg{margin:0}
  .account-btn span{display:none}

  .fu-hero{
    min-height:100svh;
    height:100svh;
  }
  .fu-hero__content{
    width:calc(100% - 36px);
    padding:55px 0 80px;
  }
  .fu-hero h1{font-size:28px}
  .fu-hero p{font-size:17px;line-height:1.55}

  .fu-bottom-nav{display:flex}
  .fu-footer{padding-bottom:110px}

  .fu-auth-grid,.fu-account-dashboard{grid-template-columns:1fr}
  .fu-form-row{grid-template-columns:1fr}
  .fu-auth-meta{
    align-items:flex-start;
    flex-direction:column;
  }
  .fu-account-page{
    padding:95px 14px 90px;
  }

  body:not(.home) main:not(.fu-account-page){
    padding-top:64px;
  }
}


/* =========================================================
   FoodUp v0.12.9 — PARENT-FITS-LOGO MODEL
   ========================================================= */

/*
 * The normal header row is no longer fixed at 78px.
 * It expands to:
 *   actual logo height + top space + bottom space
 * with 78px as the minimum.
 */
@media(min-width:769px){
  body:not(.home) .main-header1:not(.elementor-sticky--effects) .fu-header-main{
    height:var(--fu-normal-header-row) !important;
  }

  body:not(.home) .main-header1.elementor-sticky--effects .fu-header-main{
    height:var(--fu-sticky-header-row) !important;
  }
}

.fu-header-main{
  transition:
    height var(--fu-sticky-speed) ease,
    background var(--fu-sticky-speed) ease,
    border-color var(--fu-sticky-speed) ease,
    box-shadow var(--fu-sticky-speed) ease;
}

/*
 * The wrapper keeps the base width so the navigation does not jump.
 * Artwork itself is always hard-left aligned.
 */
body:not(.home) body:not(.home) .main-header1 .fu-logo{
  width:var(--fu-logo-width) !important;
  flex:0 0 var(--fu-logo-width) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  align-self:stretch !important;
  margin:0 !important;
  overflow:visible !important;
}

body:not(.home) .main-header1 .fu-logo .fu-logo-svg{
  width:100% !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  overflow:visible !important;
}

/* NORMAL: actual selected width, auto height, real surrounding space. */
body:not(.home) .main-header1:not(.elementor-sticky--effects) .fu-logo{
  padding-top:var(--fu-logo-padding-top) !important;
  padding-bottom:var(--fu-logo-padding-bottom) !important;
}

body:not(.home) .main-header1:not(.elementor-sticky--effects) .fu-logo .fu-logo-svg svg{
  display:block !important;
  width:var(--fu-logo-width) !important;
  height:var(--fu-logo-height) !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 auto 0 0 !important;
  transform:none !important;
  transform-origin:left center !important;
  overflow:visible !important;
}

body:not(.home) .main-header1:not(.elementor-sticky--effects) .fu-logo .fu-logo-image{
  display:block !important;
  width:var(--fu-logo-width) !important;
  height:var(--fu-logo-height) !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 auto 0 0 !important;
  object-fit:contain !important;
  object-position:left center !important;
  transform:none !important;
}

/*
 * STICKY: actual smaller width is rendered, not transform-scaled.
 * Wrapper remains base width, therefore the left edge and menu position stay stable.
 */
body:not(.home) .main-header1.elementor-sticky--effects .fu-logo{
  padding-top:var(--fu-sticky-logo-padding-top) !important;
  padding-bottom:var(--fu-sticky-logo-padding-bottom) !important;
}

body:not(.home) .main-header1.elementor-sticky--effects .fu-logo .fu-logo-svg svg{
  display:block !important;
  width:var(--fu-sticky-logo-width) !important;
  height:var(--fu-sticky-logo-height) !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 auto 0 0 !important;
  transform:none !important;
  transform-origin:left center !important;
  overflow:visible !important;
}

body:not(.home) .main-header1.elementor-sticky--effects .fu-logo .fu-logo-image{
  display:block !important;
  width:var(--fu-sticky-logo-width) !important;
  height:var(--fu-sticky-logo-height) !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 auto 0 0 !important;
  object-fit:contain !important;
  object-position:left center !important;
  transform:none !important;
}

/* Mobile keeps the fixed compact header. */
@media(max-width:768px){
  .main-header1 .fu-logo{
    width:min(var(--fu-logo-width),130px) !important;
    flex-basis:min(var(--fu-logo-width),130px) !important;
    align-self:center !important;
  }

  .main-header1:not(.elementor-sticky--effects) .fu-logo{
    padding-top:0 !important;
    padding-bottom:0 !important;
  }

  .main-header1.elementor-sticky--effects .fu-logo{
    padding-top:0 !important;
    padding-bottom:0 !important;
  }

  .main-header1:not(.elementor-sticky--effects) .fu-logo .fu-logo-svg svg,
  .main-header1:not(.elementor-sticky--effects) .fu-logo .fu-logo-image{
    width:min(var(--fu-logo-width),130px) !important;
    height:auto !important;
  }

  .main-header1.elementor-sticky--effects .fu-logo .fu-logo-svg svg,
  .main-header1.elementor-sticky--effects .fu-logo .fu-logo-image{
    width:min(var(--fu-sticky-logo-width),130px) !important;
    height:auto !important;
  }
}


/* =========================================================
   FoodUp v0.12.11 — SMOOTH LOGO + HEADER STATE TRANSITION
   ========================================================= */

/* Parent row grows/shrinks smoothly. */
body:not(.home) .main-header1 .fu-header-main{
  transition:
    height var(--fu-sticky-speed) cubic-bezier(.2,.7,.2,1),
    background var(--fu-sticky-speed) ease,
    border-color var(--fu-sticky-speed) ease,
    box-shadow var(--fu-sticky-speed) ease !important;
}

/* Normal/sticky spacing changes smoothly too. */
.main-header1 .fu-logo{
  transition:
    padding-top var(--fu-sticky-speed) cubic-bezier(.2,.7,.2,1),
    padding-bottom var(--fu-sticky-speed) cubic-bezier(.2,.7,.2,1) !important;
}

/*
 * Logo artwork transitions between the two explicit sizes.
 * Both width AND height animate, so there is no snap from height:auto.
 */
body:not(.home) .main-header1 .fu-logo .fu-logo-svg svg,
body:not(.home) .main-header1 .fu-logo .fu-logo-image{
  transition:
    width var(--fu-sticky-speed) cubic-bezier(.2,.7,.2,1),
    height var(--fu-sticky-speed) cubic-bezier(.2,.7,.2,1),
    opacity var(--fu-sticky-speed) ease !important;
  transform-origin:left center !important;
}

/* SVG logo color parts transition with the same timing. */
body:not(.home) .main-header1 .fu-logo .fu-logo-svg svg *,
body:not(.home) .main-header1 .fu-logo .fu-logo-svg svg path,
body:not(.home) .main-header1 .fu-logo .fu-logo-svg svg g{
  transition:
    fill var(--fu-sticky-speed) ease,
    stroke var(--fu-sticky-speed) ease !important;
}


/* MOBILE LOGO TRANSITION v0.12.11 */
@media(max-width:768px){
  .main-header1 .fu-logo .fu-logo-svg svg,
  .main-header1 .fu-logo .fu-logo-image{
    transition:
      width var(--fu-sticky-speed) cubic-bezier(.2,.7,.2,1),
      opacity var(--fu-sticky-speed) ease !important;
  }
}


/* FoodUp v0.13.0 — Homepage configurable spacing */
body.home .fu-section{
  padding:var(--fu-home-section-padding-y) 0;
}
body.home .fu-card{
  border-radius:var(--fu-home-card-radius);
}
body.home .fu-promo,
body.home .fu-cta{
  border-radius:var(--fu-home-promo-radius);
}


/* =========================================================
   FoodUp v0.13.0 — CONTACT PAGE
   ========================================================= */

/*
 * Contact has its own fixed-header spacing. This avoids the generic page.php
 * padding and guarantees the custom contact hero/template is visible.
 */
body.foodup-contact-page main{
  padding-top:0 !important;
}

/* Eatime-style internal page header: top greeting stays visible, main row is surface. */
body.foodup-contact-page .main-header1:not(.elementor-sticky--effects){
  background:#f5f5f5;
  color:var(--fu-menu-sticky-color);
  border-bottom-color:#ccc;
}

body.foodup-contact-page .main-header1:not(.elementor-sticky--effects) .header-menu-white .fu-menu-link{
  color:var(--fu-menu-sticky-color);
}

body.foodup-contact-page .main-header1:not(.elementor-sticky--effects) .header-menu-white .fu-menu-link:hover,
body.foodup-contact-page .main-header1:not(.elementor-sticky--effects) .header-menu-white .fu-menu-home:hover{
  color:var(--fu-primary);
}

body.foodup-contact-page .main-header1:not(.elementor-sticky--effects) .account-btn{
  color:var(--fu-menu-sticky-color) !important;
}

/* Contact hero begins after the normal fixed header. */
body.foodup-contact-page .fu-contact-hero{
  margin-top:calc(var(--fu-topbar-height) + var(--fu-normal-header-row));
}

.fu-contact-hero{
  min-height:var(--fu-contact-hero-height);
  background-position:center center;
  background-size:cover;
}

.fu-contact-hero::before{
  background:rgba(0,0,0,var(--fu-contact-hero-overlay));
}

.fu-contact-hero__inner{
  min-height:var(--fu-contact-hero-height);
  padding:32px 20px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.fu-contact-hero h1{
  font-size:var(--fu-contact-hero-title-size);
}

.fu-contact-content{
  padding:var(--fu-contact-section-padding-y) 0;
}

.fu-contact-top-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--fu-contact-grid-gap);
  align-items:stretch;
}

.fu-contact-bottom-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:var(--fu-contact-grid-gap);
  align-items:stretch;
  margin-top:var(--fu-contact-grid-gap);
}

.fu-contact-card{
  padding:var(--fu-contact-card-padding);
  border-radius:var(--fu-contact-card-radius);
}

.fu-contact-logo-card{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:260px;
}

.fu-contact-logo{
  width:min(78%,280px);
  display:flex;
  align-items:center;
  justify-content:center;
}

.fu-contact-logo .fu-logo-svg{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}

.fu-contact-logo .fu-logo-svg svg,
.fu-contact-logo .fu-logo-image{
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  max-height:220px !important;
  display:block;
}

/* Contact card logo should use sticky/brand colors instead of hero-white colors. */
.fu-contact-logo .fu-logo-svg svg .black-part{
  fill:#000 !important;
  stroke:#000;
}
.fu-contact-logo .fu-logo-svg svg .orange-part{
  fill:var(--fu-primary) !important;
  stroke:var(--fu-primary);
}

.fu-contact-details-card,
.fu-contact-hours-card{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.fu-contact-card h3{
  margin:0 0 18px;
  font-size:20px;
}

.fu-contact-line{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:7px 0;
  color:var(--fu-text);
  line-height:1.5;
}

.fu-contact-line .ti{
  flex:0 0 18px;
  margin-top:2px;
  font-size:18px;
  color:var(--fu-primary);
}

.fu-contact-muted{
  margin:0;
  color:var(--fu-muted);
  line-height:1.6;
}

.fu-contact-map-card{
  min-height:var(--fu-contact-map-height);
  overflow:hidden;
  border:1px solid var(--fu-border);
  border-radius:var(--fu-contact-card-radius);
  background:#fff;
}

.fu-map{
  width:100%;
  min-height:var(--fu-contact-map-height);
  height:100%;
  border:0;
  border-radius:0;
}

@media(max-width:900px){
  .fu-contact-top-grid{
    grid-template-columns:1fr;
  }

  .fu-contact-bottom-grid{
    grid-template-columns:1fr;
  }

  .fu-contact-logo-card{
    min-height:200px;
  }
}

@media(max-width:768px){
  body.foodup-contact-page .fu-contact-hero{
    margin-top:64px;
  }

  .fu-contact-hero,
  .fu-contact-hero__inner{
    min-height:min(var(--fu-contact-hero-height),320px);
  }
}


/* =========================================================
   FoodUp v0.14.45 — SHARED INTERNAL DESKTOP HEADER
   Kontakt, Konto, legal/system pages and Bestellen share one compact header.
   Home remains separate because its SVG logo uses hero/sticky color states.
   ========================================================= */
@media(min-width:769px){
  body:not(.home){
    --fu-topbar-height:0px;
    --fu-normal-header-row:88px;
    --fu-sticky-header-row:88px;
    --fu-logo-width:126px;
    --fu-logo-height:58px;
    --fu-sticky-logo-width:126px;
    --fu-sticky-logo-height:58px;
    --fu-menu-font-size:12.5px;
    --fu-menu-font-weight:750;
    --fu-menu-padding-x:14px;
  }

  body:not(.home) .main-header1{
    height:88px;
    padding:0;
    overflow:visible;
    background:#fff;
    color:#20242a;
    border:0;
    border-top:3px solid var(--fu-primary);
    border-bottom:1px solid rgba(23,23,23,.08);
    box-shadow:0 5px 20px rgba(17,24,39,.07);
  }

  body:not(.home) .main-header1 .header-top{display:none}

  body:not(.home) .main-header1 .fu-header-main{
    height:85px!important;
    background:#fff;
    border:0;
    box-shadow:none;
  }

  body:not(.home) .main-header1 .fu-header-main__inner{
    width:min(var(--fu-site-width),calc(100% - 32px));
    height:85px;
    display:grid;
    grid-template-columns:330px minmax(0,1fr);
    column-gap:20px;
    align-items:center;
    justify-content:stretch;
  }

  body:not(.home) .main-header1 .fu-logo{
    grid-column:1;
    justify-self:start;
    align-self:center!important;
    padding:0!important;
  }

  body:not(.home) .main-header1 .fu-logo .fu-logo-svg{
    justify-content:flex-start!important;
  }

  body:not(.home) .fu-header-right{
    grid-column:2;
    justify-self:end;
    width:auto;
    gap:12px;
  }

  body:not(.home) .header-menu-white{display:none!important}

  body:not(.home) .header-menu-black{
    min-height:48px;
    display:flex!important;
    align-items:center;
    gap:3px;
    padding:4px;
    border:1px solid #eceef1;
    border-radius:15px;
    background:#f6f7f8;
  }

  body:not(.home) .fu-menu-divider{display:none}

  body:not(.home) .fu-menu-link{
    min-height:38px;
    justify-content:center;
    border-radius:11px;
    background:transparent;
    color:#444b54!important;
    letter-spacing:-.01em;
    transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;
  }

  body:not(.home) .fu-menu-link:hover{
    background:#fff;
    color:#15191e!important;
    box-shadow:none;
    transform:translateY(-1px);
  }

  body.fuo-ordering-page .fu-menu-order,
  body.fuo-ordering-page .fu-menu-order:hover,
  body.foodup-contact-page .fu-menu-contact,
  body.foodup-contact-page .fu-menu-contact:hover{
    color:#fff!important;
    box-shadow:none;
  }

  body.fuo-ordering-page .fu-menu-order,
  body.fuo-ordering-page .fu-menu-order:hover{
    background:var(--fu-primary);
  }

  body.foodup-contact-page .fu-menu-contact,
  body.foodup-contact-page .fu-menu-contact:hover{
    background:var(--fu-primary);
  }
}

@media(min-width:769px) and (max-width:1040px){
  body:not(.home) .main-header1 .fu-header-main__inner{
    grid-template-columns:220px minmax(0,1fr);
  }
  body:not(.home){
    --fu-logo-width:104px;
    --fu-sticky-logo-width:104px;
    --fu-menu-font-size:11.5px;
    --fu-menu-padding-x:9px;
  }
  body:not(.home) .fu-header-right{gap:8px}
  body:not(.home) .header-menu-black{padding:3px}
  body:not(.home) .account-btn__label,
  body:not(.home) .account-btn__arrow{display:none!important}
  body:not(.home) .account-btn{
    width:46px!important;
    min-width:46px!important;
    padding:5px!important;
    justify-content:center!important;
  }
}

/* =========================================================
   FoodUp v0.13.1 — ACCOUNT SLIDER EXPERIENCE
   ========================================================= */

.fu-account-page{
  min-height:100vh;
  padding:
    calc(var(--fu-topbar-height) + var(--fu-normal-header-row) + 42px)
    20px
    90px !important;
  background:var(--fu-account-page-bg) !important;
}

.fu-account-shell{
  width:min(1080px,100%);
  margin:0 auto;
}

.fu-account-heading--auth{
  max-width:760px;
  margin:0 auto 24px;
  text-align:center;
}

.fu-account-heading h1{
  font-size:clamp(30px,4vw,var(--fu-account-title-size));
}

.fu-auth-experience{
  width:min(var(--fu-account-form-width),100%);
  margin:0 auto;
}

.fu-auth-switcher{
  position:relative;
  width:100%;
  height:var(--fu-account-switch-height);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  padding:4px;
  margin:0 auto 16px;
  overflow:hidden;
  border:1px solid #d8dde5;
  border-radius:var(--fu-account-switch-radius);
  background:#e9edf2;
  box-shadow:inset 0 1px 2px rgba(16,24,40,.04);
}

.fu-auth-switcher__slider{
  position:absolute;
  z-index:0;
  top:4px;
  bottom:4px;
  left:4px;
  width:calc(50% - 4px);
  border-radius:max(6px,calc(var(--fu-account-switch-radius) - 4px));
  background:var(--fu-primary-btn);
  box-shadow:none;
  transform:translateX(0);
  transition:
    transform var(--fu-account-animation) cubic-bezier(.34,1.56,.64,1),
    background var(--fu-account-animation) ease;
}

.fu-auth-switcher.is-register .fu-auth-switcher__slider{
  transform:translateX(100%);
}

.fu-auth-switcher__tab{
  position:relative;
  z-index:1;
  min-width:0;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:0;
  border-radius:max(6px,calc(var(--fu-account-switch-radius) - 4px));
  background:transparent;
  color:#525a68;
  font-weight:700;
  cursor:pointer;
  transition:
    color calc(var(--fu-account-animation) * .7) ease,
    transform calc(var(--fu-account-animation) * .7) cubic-bezier(.34,1.56,.64,1);
}

.fu-auth-switcher__tab:hover{
  color:#111827;
}

.fu-auth-switcher__tab.is-active{
  color:#fff;
}

.fu-auth-switcher__tab.is-active .ti{
  transform:scale(1.08);
}

.fu-auth-switcher__tab .ti{
  font-size:18px;
  transition:transform var(--fu-account-animation) cubic-bezier(.34,1.56,.64,1);
}

.fu-auth-stage{
  position:relative;
  width:100%;
  min-height:1px;
  overflow:hidden;
  transition:height var(--fu-account-animation) cubic-bezier(.2,.75,.2,1);
}

.fu-auth-panel{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateX(52px) scale(.985);
  transition:
    opacity calc(var(--fu-account-animation) * .7) ease,
    transform var(--fu-account-animation) cubic-bezier(.34,1.56,.64,1),
    visibility 0s linear var(--fu-account-animation);
}

.fu-auth-panel.is-before{
  transform:translateX(-52px) scale(.985);
}

.fu-auth-panel.is-after{
  transform:translateX(52px) scale(.985);
}

.fu-auth-panel.is-active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(0) scale(1);
  transition-delay:0s;
}

.fu-auth-panel--bounce.is-active{
  animation:fu-auth-panel-bounce var(--fu-account-animation) cubic-bezier(.34,1.56,.64,1);
}

@keyframes fu-auth-panel-bounce{
  0%{transform:translateX(28px) scale(.97);opacity:.2}
  58%{transform:translateX(-5px) scale(1.008);opacity:1}
  78%{transform:translateX(2px) scale(.997)}
  100%{transform:translateX(0) scale(1);opacity:1}
}

.fu-auth-card,
.fu-account-card{
  border-radius:var(--fu-account-card-radius) !important;
}

.fu-auth-card{
  padding:var(--fu-account-card-padding) !important;
  border:1px solid #dde2e8;
  background:#fff;
  box-shadow:
    0 14px 36px rgba(16,24,40,.08),
    0 2px 6px rgba(16,24,40,.04);
}

.fu-auth-card__header{
  margin-bottom:24px;
}

.fu-auth-icon{
  width:46px;
  height:46px;
  border-radius:14px;
  background:color-mix(in srgb,var(--fu-primary) 10%,#fff);
  color:var(--fu-primary);
}

.fu-auth-icon .ti{
  font-size:21px;
}

.fu-auth-form{
  gap:12px;
}

.fu-auth-form input[type="text"],
.fu-auth-form input[type="email"],
.fu-auth-form input[type="tel"],
.fu-auth-form input[type="password"]{
  height:50px;
  border:1px solid #ccd3dc;
  border-radius:12px;
  background:#fff;
  font-size:15px;
  transition:
    border-color .18s ease,
    box-shadow .18s ease,
    transform .18s ease;
}

.fu-auth-form input:focus{
  transform:translateY(-1px);
}

.fu-input-wrap>.ti{
  position:absolute;
  z-index:2;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  width:18px;
  display:inline-flex;
  justify-content:center;
  color:#788294;
  font-size:18px;
  pointer-events:none;
}

.fu-input-wrap>input{
  padding-left:43px !important;
}

.fu-password-wrap>input{
  padding-right:48px !important;
}

.fu-password-toggle{
  color:#697386;
}

.fu-password-toggle .ti{
  font-size:18px;
}

.fu-auth-submit{
  height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:0;
  border-radius:12px;
  background:var(--fu-primary-btn);
  color:#fff;
  box-shadow:none;
  transition:
    transform .18s cubic-bezier(.34,1.56,.64,1),
    box-shadow .18s ease,
    filter .18s ease;
}

.fu-auth-submit:hover{
  transform:translateY(-2px);
  filter:brightness(1.04);
  box-shadow:none;
}

.fu-auth-submit:active{
  transform:translateY(0) scale(.985);
}

@media(max-width:768px){
  .fu-account-page{
  }

  .fu-account-heading--auth{
    text-align:left;
  }

  .fu-auth-switcher__tab{
    font-size:13px;
  }

  .fu-form-row{
    grid-template-columns:1fr;
  }

  .fu-auth-panel{
    transform:translateX(28px) scale(.99);
  }

  .fu-auth-panel.is-before{
    transform:translateX(-28px) scale(.99);
  }

  .fu-auth-panel.is-after{
    transform:translateX(28px) scale(.99);
  }
}

@media(prefers-reduced-motion:reduce){
  .fu-auth-switcher__slider,
  .fu-auth-switcher__tab,
  .fu-auth-stage,
  .fu-auth-panel,
  .fu-auth-panel--bounce.is-active{
    transition:none !important;
    animation:none !important;
  }
}


/* =========================================================
   FoodUp v0.13.2 — LIGHT AUTH SWITCHER + CLEAN ANIMATION
   ========================================================= */

/* Lighter overall switcher: less border, less contrast, no heavy inset feel. */
.fu-auth-switcher{
  padding:3px !important;
  border:1px solid #e0e4e9 !important;
  background:#eef1f4 !important;
  box-shadow:none !important;
}

/* Selected orange slider is flatter/lighter — no shadow and no heavy outline. */
.fu-auth-switcher__slider{
  top:3px !important;
  bottom:3px !important;
  left:3px !important;
  width:calc(50% - 3px) !important;
  border:0 !important;
  box-shadow:none !important;
  background:var(--fu-primary-btn) !important;
  transition:none !important;
}

/* Tab labels are a little lighter when inactive. */
.fu-auth-switcher__tab{
  font-weight:650 !important;
  color:#667085 !important;
  transition:
    color 180ms ease,
    transform 180ms ease !important;
}

.fu-auth-switcher__tab.is-active{
  color:#fff !important;
}

/*
 * Slider-only bounce.
 * The form/card itself never bounces.
 */
.fu-auth-switcher.is-register.fu-auth-switcher--bounce .fu-auth-switcher__slider{
  animation:fu-auth-slider-to-register var(--fu-account-animation) cubic-bezier(.22,.8,.2,1) both;
}

.fu-auth-switcher.is-login.fu-auth-switcher--bounce .fu-auth-switcher__slider{
  animation:fu-auth-slider-to-login var(--fu-account-animation) cubic-bezier(.22,.8,.2,1) both;
}

@keyframes fu-auth-slider-to-register{
  0%   { transform:translateX(0); }
  62%  { transform:translateX(104%); }
  78%  { transform:translateX(98.5%); }
  90%  { transform:translateX(100.7%); }
  100% { transform:translateX(100%); }
}

@keyframes fu-auth-slider-to-login{
  0%   { transform:translateX(100%); }
  62%  { transform:translateX(-4%); }
  78%  { transform:translateX(1.5%); }
  90%  { transform:translateX(-.7%); }
  100% { transform:translateX(0); }
}

/* Static end positions when no bounce animation is currently running. */
.fu-auth-switcher.is-login:not(.fu-auth-switcher--bounce) .fu-auth-switcher__slider{
  transform:translateX(0) !important;
}

.fu-auth-switcher.is-register:not(.fu-auth-switcher--bounce) .fu-auth-switcher__slider{
  transform:translateX(100%) !important;
}

/*
 * Form panels now simply slide/fade into view smoothly.
 * No scale bounce, overshoot or container jump.
 */
.fu-auth-panel{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateX(24px) !important;
  transition:
    opacity 260ms ease,
    transform var(--fu-account-animation) cubic-bezier(.2,.72,.2,1),
    visibility 0s linear var(--fu-account-animation) !important;
}

.fu-auth-panel.is-before{
  transform:translateX(-24px) !important;
}

.fu-auth-panel.is-after{
  transform:translateX(24px) !important;
}

.fu-auth-panel.is-active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(0) !important;
  transition-delay:0s !important;
}

/* Disable the old panel bounce animation completely. */
.fu-auth-panel--bounce,
.fu-auth-panel--bounce.is-active{
  animation:none !important;
}

/* Cleaner card appearance; form container itself stays visually stable. */
.fu-auth-card{
  box-shadow:0 8px 24px rgba(16,24,40,.055) !important;
}

/* Orange action button: flat Material-style button, no shadow. */
.fu-auth-submit,
.fu-auth-submit:hover,
.fu-auth-submit:focus,
.fu-auth-submit:active{
  box-shadow:none !important;
}

.fu-auth-submit:hover{
  transform:translateY(-1px) !important;
}

.fu-auth-submit:active{
  transform:scale(.99) !important;
}

/* The stage height can still adapt smoothly, but it does not bounce. */
.fu-auth-stage{
  transition:height 300ms cubic-bezier(.2,.72,.2,1) !important;
}

/* Reduced-motion users get immediate state changes. */
@media(prefers-reduced-motion:reduce){
  .fu-auth-switcher__slider,
  .fu-auth-panel,
  .fu-auth-stage{
    animation:none !important;
    transition:none !important;
  }
}


/* =========================================================
   FoodUp v0.13.3 — ACCOUNT HEADING WIDTH ALIGNMENT
   ========================================================= */

/*
 * The heading, subtitle, selector and form now share the exact
 * same horizontal footprint. Text will wrap before it can extend
 * beyond the form edges.
 */
.fu-account-heading--auth,
.fu-auth-experience{
  width:min(var(--fu-account-form-width),100%) !important;
  max-width:var(--fu-account-form-width) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.fu-account-heading--auth h1,
.fu-account-heading--auth p{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  overflow-wrap:break-word;
}

.fu-account-heading--auth h1{
  margin-left:auto !important;
  margin-right:auto !important;
  line-height:1.14;
}

/* Keep subtitle visually inside the same form width too. */
.fu-account-heading--auth p{
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Mobile remains naturally fluid. */
@media(max-width:768px){
  .fu-account-heading--auth,
  .fu-auth-experience{
    width:100% !important;
    max-width:100% !important;
  }
}


/* =========================================================
   FoodUp v0.13.4 — HOMEPAGE FOOTER
   ========================================================= */

.fu-home-footer{
  position:relative;
  overflow:hidden;
  background:var(--fu-footer-bg);
  color:var(--fu-footer-text);
}

.fu-home-footer__accent{
  width:100%;
  height:3px;
  background:linear-gradient(
    90deg,
    transparent 0,
    var(--fu-primary) 18%,
    var(--fu-primary) 82%,
    transparent 100%
  );
}

.fu-home-footer>.fu-container{
  padding-top:var(--fu-footer-padding-y);
  padding-bottom:26px;
}

.fu-home-footer__grid{
  display:grid;
  grid-template-columns:minmax(240px,1.45fr) repeat(3,minmax(150px,1fr));
  gap:clamp(28px,4vw,64px);
  align-items:start;
}

.fu-home-footer__brand{
  max-width:330px;
}

.fu-home-footer__logo{
  width:var(--fu-footer-logo-width);
  display:flex;
  align-items:center;
  justify-content:flex-start;
  margin-bottom:20px;
}

.fu-home-footer__logo .fu-logo-svg,
.fu-home-footer__logo .fu-logo-image{
  width:100% !important;
  display:block;
}

.fu-home-footer__logo .fu-logo-svg svg,
.fu-home-footer__logo .fu-logo-image{
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  display:block;
}

.fu-home-footer__intro{
  max-width:300px;
  margin:0 0 22px;
  color:var(--fu-footer-muted);
  font-size:var(--fu-footer-link-size);
  line-height:1.65;
}

.fu-home-footer__order{
  width:max-content;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 16px;
  border-radius:var(--fu-footer-order-radius);
  background:var(--fu-primary);
  color:#fff;
  font-size:var(--fu-footer-link-size);
  font-weight:700;
  transition:
    transform .18s ease,
    filter .18s ease;
}

.fu-home-footer__order:hover{
  color:#fff;
  filter:brightness(1.06);
  transform:translateY(-1px);
}

.fu-home-footer__column h3{
  position:relative;
  margin:3px 0 20px;
  color:var(--fu-footer-text);
  font-size:var(--fu-footer-heading-size);
  font-weight:700;
}

.fu-home-footer__column h3::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-9px;
  width:28px;
  height:2px;
  border-radius:999px;
  background:var(--fu-primary);
}

.fu-home-footer__links,
.fu-home-footer__contact{
  display:flex;
  flex-direction:column;
  gap:11px;
}

.fu-home-footer__links a,
.fu-home-footer__contact a,
.fu-home-footer__contact>div{
  color:var(--fu-footer-muted);
  font-size:var(--fu-footer-link-size);
  line-height:1.5;
}

.fu-home-footer__links a{
  width:max-content;
  max-width:100%;
  transition:
    color .18s ease,
    transform .18s ease;
}

.fu-home-footer__links a:hover{
  color:var(--fu-footer-text);
  transform:translateX(3px);
}

.fu-home-footer__contact a,
.fu-home-footer__contact>div{
  display:flex;
  align-items:flex-start;
  gap:9px;
}

.fu-home-footer__contact .ti{
  flex:0 0 17px;
  margin-top:2px;
  color:var(--fu-primary);
  font-size:17px;
}

.fu-home-footer__contact a:hover{
  color:var(--fu-footer-text);
}

.fu-home-footer__bottom{
  min-height:64px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-top:44px;
  padding-top:22px;
  border-top:1px solid var(--fu-footer-divider);
  color:var(--fu-footer-muted);
  font-size:12px;
}

.fu-home-footer__bottom-links{
  display:flex;
  align-items:center;
  gap:9px;
}

.fu-home-footer__bottom a{
  color:var(--fu-footer-muted);
}

.fu-home-footer__bottom a:hover{
  color:var(--fu-footer-text);
}

/* Supersede the old generic footer styles. */
.fu-footer{
  display:none !important;
}

@media(max-width:900px){
  .fu-home-footer__grid{
    grid-template-columns:1.4fr 1fr;
  }
}

@media(max-width:600px){
  .fu-home-footer>.fu-container{
    padding-top:42px;
    padding-bottom:105px;
  }

  .fu-home-footer__grid{
    grid-template-columns:1fr;
    gap:32px;
  }

  .fu-home-footer__brand{
    max-width:none;
  }

  .fu-home-footer__intro{
    max-width:420px;
  }

  .fu-home-footer__bottom{
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
    margin-top:36px;
  }
}


/* =========================================================
   FoodUp v0.13.5 — INTERNAL PAGE CLEARANCE + FULL WIDTH
   ========================================================= */

/*
 * Every internal page gets real visual breathing room below the fixed header.
 * This is in addition to the exact fixed-header height.
 */
body:not(.home) main:not(.fu-account-page):not(.fu-contact-page){
  padding-top:
    calc(
      var(--fu-topbar-height)
      + var(--fu-normal-header-row)
      + var(--fu-inner-page-gap)
    ) !important;
}

/* Contact hero also stays separated from the fixed header. */
body.foodup-contact-page .fu-contact-hero{
}

/* Account already has additional design spacing; include the same base gap. */
.fu-account-page{
  padding-top:
    calc(
      var(--fu-topbar-height)
      + var(--fu-normal-header-row)
      + var(--fu-inner-page-gap)
      + 14px
    ) !important;
}

/*
 * Generic internal pages (AGB, Impressum and normal pages) fill the available
 * browser width instead of being constrained to the 1140px site container.
 * Keep a clean 32px desktop gutter.
 */
@media(min-width:769px){
  body:not(.home) .fu-internal-page > .fu-container,
  body:not(.home) main.fu-section > .fu-container{
    width:calc(100% - 64px) !important;
    max-width:none !important;
    margin-left:32px !important;
    margin-right:32px !important;
  }
}

@media(max-width:768px){
  body:not(.home) .fu-internal-page > .fu-container,
  body:not(.home) main.fu-section > .fu-container{
    max-width:none !important;
  }

  .fu-ordering-page-shell{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    background:#f4f5f7 !important;
    box-shadow:none !important;
    overflow-x:hidden !important;
  }

  .fu-ordering-page-shell > .fu-container{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
  }

}

/* Legal cards fill their parent instead of being capped at 900px. */
body:not(.home) .fu-legal{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  box-sizing:border-box !important;
}

/* =========================================================
   FoodUp v0.13.5 — SOLID BLACK TOP GREETING BAR
   ========================================================= */

/*
 * Normal visible top bar is always pure black with white content.
 * Homepage sticky state still collapses to the existing orange 5px strip.
 */
body:not(.home) .main-header1:not(.elementor-sticky--effects) .header-top{
  background:#000 !important;
  color:#fff !important;
  border-left-color:#000 !important;
  border-right-color:#000 !important;
  border-bottom-color:#000 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

body:not(.home) .main-header1:not(.elementor-sticky--effects) .header-top,
body:not(.home) .main-header1:not(.elementor-sticky--effects) .header-top *,
body:not(.home) .main-header1:not(.elementor-sticky--effects) .user-greeting-styled,
body:not(.home) .main-header1:not(.elementor-sticky--effects) .header-ad,
body:not(.home) .main-header1:not(.elementor-sticky--effects) .fu-top-item{
  color:#fff !important;
}

/* Keep all header-top icons white too. */
body:not(.home) .main-header1:not(.elementor-sticky--effects) .header-top .ti{
  color:#fff !important;
}

/* Mobile gutters stay compact. */
@media(max-width:768px){
  body:not(.home) .fu-internal-page > .fu-container,
  body:not(.home) main.fu-section > .fu-container{
    width:calc(100% - 28px) !important;
    margin-left:14px !important;
    margin-right:14px !important;
  }

  body:not(.home) main:not(.fu-account-page):not(.fu-contact-page){
    padding-top:calc(64px + var(--fu-inner-page-gap)) !important;
  }

  body.foodup-contact-page .fu-contact-hero{
    margin-top:calc(64px + var(--fu-inner-page-gap)) !important;
  }

  .fu-account-page{
    padding-top:calc(64px + var(--fu-inner-page-gap)) !important;
  }
}


/* =========================================================
   FoodUp v0.13.7 — BANNER DIRECTLY BELOW HEADER
   ========================================================= */

/*
 * Large visual banners are different from ordinary page content:
 * - ordinary text/card pages keep --fu-inner-page-gap
 * - full-width hero/banner images start immediately after the fixed header
 *
 * This avoids the empty grey strip between the internal header and banner.
 */
body:not(.home) .fu-under-header-banner{
  margin-top:
    calc(
      var(--fu-topbar-height)
      + var(--fu-normal-header-row)
    ) !important;
}

/* Contact uses the shared banner behavior. */
body.foodup-contact-page .fu-contact-hero{
  margin-top:
    calc(
      var(--fu-topbar-height)
      + var(--fu-normal-header-row)
    ) !important;
}

/* The banner itself stays edge-to-edge. */
body:not(.home) .fu-under-header-banner{
  width:100% !important;
  max-width:none !important;
}

/* Mobile internal header is the compact 64px header. */
@media(max-width:768px){
  body:not(.home) .fu-under-header-banner,
  body.foodup-contact-page .fu-contact-hero{
    margin-top:64px !important;
  }
}


/* =========================================================
   FoodUp v0.14.45 — old internal top strip retired
   Internal desktop pages now use the shared 88px surface header above.
   ========================================================= */

/* =========================================================
   FoodUp Theme v0.13.14 — MOBILE SHELL FOR EATIME-BASED UI
   ========================================================= */

.fu-mobile-hero-logo{display:none}

@media(max-width:768px){
  html,
  body{
    overflow-x:hidden!important;
  }

  body{
    padding-bottom:66px!important;
    background:var(--fu-page-bg)!important;
  }

  /* No desktop header on mobile. */
  .main-header1{display:none!important}

  body:not(.home) main:not(.fu-account-page):not(.fu-contact-page),
  body.foodup-contact-page .fu-contact-hero,
  body:not(.home) .fu-under-header-banner{
    padding-top:0!important;
    margin-top:0!important;
  }

  /*
   * Critical: Ordering page truly fills the viewport.
   * This removes the gray side frame / right-side pseudo shadow.
   */
  body.fuo-ordering-page .fu-internal-page,
  .fu-ordering-page-shell{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    background:#f4f5f7!important;
  }

  body.fuo-ordering-page .fu-internal-page>.fu-container,
  .fu-ordering-page-shell>.fu-container{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }


  /* Home keeps the user-requested large white centered logo. */
  .fu-hero{
    min-height:100svh!important;
    height:100svh!important;
  }

  .fu-hero__content{
    width:calc(100% - 32px)!important;
    min-height:100%!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    padding:24px 0 86px!important;
    text-align:center!important;
  }

  .fu-mobile-hero-logo{
    width:min(56vw,210px)!important;
    display:block!important;
    margin:0 auto 18px!important;
    line-height:0!important;
  }

  .fu-mobile-hero-logo .fu-logo-svg,
  .fu-mobile-hero-logo .fu-logo-svg svg,
  .fu-mobile-hero-logo .fu-logo-image{
    width:100%!important;
    height:auto!important;
    display:block!important;
  }

  .fu-mobile-hero-logo .fu-logo-svg svg *{
    fill:#fff!important;
    stroke:#fff!important;
  }

  .fu-mobile-hero-logo .fu-logo-image{
    filter:brightness(0) invert(1)!important;
  }

}


/* =========================================================
   FoodUp Theme v0.13.16 — ORDERING PAGE STRUCTURAL SHELL
   ========================================================= */

.fu-ordering-page-shell{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}

@media(max-width:768px){
  html,
  body.fuo-ordering-page{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-left:0!important;
    padding-right:0!important;
    overflow-x:hidden!important;
    background:#f4f5f7!important;
  }

  /*
   * The ordering shortcode is now rendered DIRECTLY in this shell.
   * There is no .fu-container and no article wrapper around it anymore.
   */
  .fu-ordering-page-shell{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:#f4f5f7!important;
    box-shadow:none!important;
    overflow-x:hidden!important;
  }

  .fu-ordering-page-shell .foodup-ordering{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
}


/* =========================================================
   FoodUp Theme v0.13.17 — ORDERING STICKY CONTAINMENT FIX
   ========================================================= */

@media(max-width:768px){
  /*
   * Do not use overflow:hidden on any ancestor of FoodUp's sticky category
   * menu. `clip` prevents horizontal spill without becoming a scroll container.
   */
  html,
  body.fuo-ordering-page,
  .fu-ordering-page-shell{
    overflow-x:clip!important;
  }

  .fu-ordering-page-shell{
    overflow-y:visible!important;
    box-shadow:none!important;
    filter:none!important;
    border:0!important;
  }

  .fu-ordering-page-shell .foodup-ordering{
    overflow-x:clip!important;
    overflow-y:visible!important;
    box-shadow:none!important;
    filter:none!important;
  }

}


/* =========================================================
   FoodUp Theme v0.13.18 — ORDERING SHELL HARD RESET
   ========================================================= */
@media(max-width:768px){
  html,
  body.fuo-ordering-page,
  .fu-ordering-page-shell{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding-left:0!important;
    padding-right:0!important;
    border:0!important;
    box-shadow:none!important;
    filter:none!important;
    background:#f4f5f7!important;
    overflow-x:clip!important;
  }

  .fu-ordering-page-shell{
    overflow-y:visible!important;
  }

  .fu-ordering-page-shell .foodup-ordering{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    border:0!important;
    box-shadow:none!important;
    filter:none!important;
    overflow:visible!important;
  }

}

/* FoodUp Theme v0.14.0 — clean ordering page canvas */
@media(max-width:768px){html,body.fuo-ordering-page,.fu-ordering-page-shell{width:100%!important;max-width:none!important;margin:0!important;padding-left:0!important;padding-right:0!important;border:0!important;box-shadow:none!important;filter:none!important;background:#f4f5f7!important;overflow-x:clip!important}.fu-ordering-page-shell{overflow-y:visible!important}.fu-ordering-page-shell .foodup-ordering{width:100%!important;max-width:none!important;margin:0!important;box-shadow:none!important;filter:none!important;overflow:visible!important}}


/* =========================================================
   FoodUp Theme v0.14.1 — CLEAN ORDERING SHELL OWNERSHIP
   IMPORTANT: never target descendant article elements here.
   Product cards inside FoodUp are <article> elements and belong to the plugin.
   ========================================================= */
@media(max-width:768px){
  html,
  body.fuo-ordering-page,
  .fu-ordering-page-shell{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding-left:0!important;
    padding-right:0!important;
    border:0!important;
    background:#f4f5f7!important;
    box-shadow:none!important;
    filter:none!important;
    overflow-x:clip!important;
  }

  .fu-ordering-page-shell{
    padding-top:0!important;
    padding-bottom:0!important;
    overflow-y:visible!important;
  }

  .fu-ordering-page-shell > .foodup-ordering,
  .fu-ordering-page-shell .foodup-ordering{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
  }
}

/* =========================================================
   FoodUp Restaurant v0.14.9 — premium mobile ordering identity
   Theme-owned brand header above FoodUp Ordering.
   Ordering plugin product/category/cart markup remains untouched.
   ========================================================= */
.fu-ordering-mobile-brand{display:none}

@media(max-width:768px){
  .fu-ordering-page-shell{
    --fu-order-brand-gutter:15px;
  }

  .fu-ordering-mobile-brand{
    position:relative;
    isolation:isolate;
    width:calc(100% - (var(--fu-order-brand-gutter) * 2));
    min-height:96px;
    display:grid;
    grid-template-columns:70px minmax(0,1fr) 38px;
    align-items:center;
    gap:13px;
    margin:10px auto 10px;
    padding:13px 12px 13px 13px;
    box-sizing:border-box;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.06);
    border-radius:20px;
    background:
      radial-gradient(circle at 94% 0%,color-mix(in srgb,var(--fu-primary) 36%,transparent),transparent 39%),
      linear-gradient(145deg,#26221e 0%,#171513 72%);
    box-shadow:0 12px 28px rgba(30,23,18,.18);
  }

  .fu-ordering-mobile-brand::after{
    content:"";
    position:absolute;
    z-index:-1;
    right:-38px;
    bottom:-56px;
    width:130px;
    height:130px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:50%;
    box-shadow:
      0 0 0 24px rgba(255,255,255,.025),
      0 0 0 48px rgba(255,255,255,.018);
    pointer-events:none;
  }

  .fu-ordering-mobile-brand__logo{
    width:70px;
    height:70px;
    display:grid;
    place-items:center;
    overflow:hidden;
    box-sizing:border-box;
    padding:7px;
    border:1px solid rgba(255,255,255,.72);
    border-radius:17px;
    background:#fff;
    box-shadow:0 6px 18px rgba(0,0,0,.18);
    line-height:0;
  }
  .fu-ordering-mobile-brand__logo .fu-logo-svg,
  .fu-ordering-mobile-brand__logo .fu-logo-svg svg,
  .fu-ordering-mobile-brand__logo .fu-logo-image{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    display:block!important;
    object-fit:contain!important;
  }
  .fu-ordering-mobile-brand__logo .fu-logo-text{
    color:#201c19;
    font-size:12px;
    line-height:1.05;
    text-align:center;
  }

  .fu-ordering-mobile-brand__copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
  }

  .fu-ordering-mobile-brand__name{
    width:100%;
    overflow:hidden;
    color:#fff;
    font-size:20px;
    font-weight:850;
    line-height:1.04;
    letter-spacing:-.035em;
    white-space:nowrap;
    text-overflow:ellipsis;
  }

  .fu-ordering-mobile-brand__status{
    max-width:100%;
    min-height:24px;
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-top:7px;
    padding:0 9px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:999px;
    background:rgba(255,255,255,.08);
    color:rgba(255,255,255,.82);
    font-size:12px;
    font-weight:650;
    line-height:1;
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
  }
  .fu-ordering-mobile-brand__status > i{
    position:relative;
    width:7px;
    height:7px;
    flex:0 0 7px;
    border-radius:999px;
    background:#aaa;
  }
  .fu-ordering-mobile-brand__status.is-open{
    color:#d9fff1;
    border-color:rgba(38,191,139,.24);
    background:rgba(22,151,106,.15);
  }
  .fu-ordering-mobile-brand__status.is-open > i{
    background:#31d69b;
    box-shadow:0 0 0 3px rgba(49,214,155,.12);
  }
  .fu-ordering-mobile-brand__status.is-open > i::before,
  .fu-ordering-mobile-brand__status.is-open > i::after{
    content:"";
    position:absolute;
    inset:-1px;
    border:1.5px solid rgba(49,214,155,.72);
    border-radius:999px;
    opacity:0;
    pointer-events:none;
    animation:fu-order-open-wave 2.15s ease-out infinite;
  }
  .fu-ordering-mobile-brand__status.is-open > i::after{
    animation-delay:1.075s;
  }
  @keyframes fu-order-open-wave{
    0%{transform:scale(1);opacity:.72}
    70%{opacity:.16}
    100%{transform:scale(2.65);opacity:0}
  }
  .fu-ordering-mobile-brand__status.is-preorder{
    color:#ffe9bd;
    border-color:rgba(230,166,58,.24);
    background:rgba(183,119,18,.16);
  }
  .fu-ordering-mobile-brand__status.is-preorder > i{
    background:#efb34e;
    box-shadow:0 0 0 3px rgba(239,179,78,.12);
  }
  .fu-ordering-mobile-brand__status.is-closed{
    color:#ffd7d7;
    border-color:rgba(226,93,93,.24);
    background:rgba(170,48,48,.16);
  }
  .fu-ordering-mobile-brand__status.is-closed > i{
    background:#ef6a6a;
    box-shadow:0 0 0 3px rgba(239,106,106,.12);
  }
  .fu-ordering-mobile-brand__status > span{
    min-width:0;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
  }

  .fu-ordering-mobile-brand__home{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    align-self:center;
    border:1px solid rgba(255,255,255,.12);
    border-radius:13px;
    background:rgba(255,255,255,.08);
    color:#fff;
    text-decoration:none;
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
  }
  .fu-ordering-mobile-brand__home .ti{
    font-size:18px;
    line-height:1;
  }
  .fu-ordering-mobile-brand__home:active{
    border-color:color-mix(in srgb,var(--fu-primary) 55%,transparent);
    background:color-mix(in srgb,var(--fu-primary) 18%,transparent);
    color:#fff;
  }

  @media (prefers-reduced-motion:reduce){
    .fu-ordering-mobile-brand__status.is-open > i::before,
    .fu-ordering-mobile-brand__status.is-open > i::after{animation:none;display:none}
  }

  @media(max-width:360px){
    .fu-ordering-mobile-brand{
      grid-template-columns:64px minmax(0,1fr) 36px;
      gap:10px;
      padding-left:11px;
      padding-right:10px;
    }
    .fu-ordering-mobile-brand__logo{width:64px;height:64px;border-radius:16px}
    .fu-ordering-mobile-brand__name{font-size:18px}
    .fu-ordering-mobile-brand__status{font-size:12px;padding:0 7px}
  }
}

/* =========================================================
   FoodUp Restaurant v0.14.3 — Premium mobile HOME only
   This layer applies exclusively to body.home on <=768px.
   Bestellen / checkout / account pages are intentionally untouched.
   ========================================================= */
.fu-mobile-home{display:none}

@media(max-width:768px){
  body.home{
    --fu-mhome-gutter:var(--fu-mobile-gutter);
    --fu-mhome-radius:var(--fu-home-mobile-card-radius);
    --fu-mhome-surface:#ffffff;
    --fu-mhome-soft:#f4f2ef;
    --fu-mhome-ink:#171614;
    --fu-mhome-muted:#77716a;
    --fu-mhome-line:rgba(27,23,18,.08);
    background:#f4f5f7!important;
    padding-bottom:66px!important;
  }

  body.home .fu-home-desktop{display:none!important}
  body.home .fu-mobile-home{
    display:block!important;
    width:100%;
    margin:0;
    padding:0 0 22px;
    color:var(--fu-mhome-ink);
    background:var(--fu-page-bg);
  }

  body.home .fu-home-footer{display:none!important}

  body.home .fu-mhome-hero{
    position:relative;
    isolation:isolate;
    width:100%;
    min-height:calc(var(--fu-home-mobile-hero-height) + env(safe-area-inset-top));
    display:flex;
    align-items:stretch;
    justify-content:center;
    margin-top:calc(-1 * env(safe-area-inset-top));
    overflow:hidden;
    background:#1d1b18;
    color:#fff;
  }

  body.home .fu-mhome-hero__image{
    position:absolute;
    z-index:-3;
    inset:0;
    width:100%;
    height:100%;
    max-width:none;
    display:block;
    object-fit:cover;
    object-position:center 46%;
  }

  body.home .fu-mhome-hero__shade{
    position:absolute;
    z-index:-2;
    inset:0;
    background:rgba(var(--fu-home-mobile-hero-overlay-rgb),var(--fu-home-mobile-hero-overlay));
  }

  body.home .fu-mhome-hero.no-image{
    background:
      radial-gradient(circle at 82% 12%,color-mix(in srgb,var(--fu-primary) 52%,transparent),transparent 37%),
      linear-gradient(145deg,#28231f,#11100f);
  }

  body.home .fu-mhome-hero__content{
    width:100%;
    min-height:inherit;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:calc(24px + env(safe-area-inset-top)) var(--fu-mhome-gutter) 28px;
    text-align:center;
  }

  body.home .fu-mhome-logo{
    width:min(38vw,var(--fu-home-mobile-logo-width));
    margin:0 auto 18px;
    line-height:0;
  }
  body.home .fu-mhome-logo .fu-logo-svg,
  body.home .fu-mhome-logo .fu-logo-svg svg,
  body.home .fu-mhome-logo .fu-logo-image{
    width:100%!important;
    height:auto!important;
    display:block!important;
  }
  body.home .fu-mhome-logo .fu-logo-svg svg *{
    fill:#fff!important;
    stroke:#fff!important;
  }
  body.home .fu-mhome-logo .fu-logo-image{filter:brightness(0) invert(1)!important}

  body.home .fu-mhome-kicker,
  body.home .fu-mhome-eyebrow{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    color:var(--fu-primary);
    font-size:11px;
    font-weight:800;
    line-height:1;
    letter-spacing:.08em;
    text-transform:uppercase;
  }

  body.home .fu-mhome-hero .fu-mhome-kicker{
    justify-content:center;
    margin:0 auto 8px;
    padding:0 9px;
    border:1px solid rgba(255,255,255,.20);
    border-radius:999px;
    background:rgba(255,255,255,.12);
    color:#fff;
    letter-spacing:.055em;
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
  }

  body.home .fu-mhome-hero h1{
    max-width:350px;
    margin:0 auto;
    color:#fff;
    text-align:center;
    font-size:clamp(30px,10vw,var(--fu-home-mobile-title-size));
    font-weight:850;
    line-height:.98;
    letter-spacing:-.045em;
  }

  body.home .fu-mhome-hero p{
    max-width:350px;
    margin:13px auto 20px;
    color:rgba(255,255,255,.84);
    text-align:center;
    font-size:var(--fu-home-mobile-text-size);
    font-weight:500;
    line-height:1.48;
  }

  body.home .fu-mhome-primary{
    width:min(100%,360px);
    min-height:var(--fu-home-mobile-cta-height);
    margin-left:auto;
    margin-right:auto;
    display:grid;
    grid-template-columns:28px 1fr 28px;
    align-items:center;
    gap:8px;
    padding:0 14px;
    border-radius:var(--fu-home-mobile-cta-radius);
    background:var(--fu-primary-btn);
    color:#fff;
    font-size:15px;
    font-weight:800;
    box-shadow:none;
  }
  body.home .fu-mhome-primary .ti:first-child{font-size:19px}
  body.home .fu-mhome-primary .ti:last-child{font-size:18px;justify-self:end}

  body.home .fu-mhome-facts{
    width:calc(100% - (var(--fu-mhome-gutter) * 2));
    margin:-14px auto 0;
    position:relative;
    z-index:3;
    display:grid;
    /* One equal column per fact that is actually shown (1–3). */
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:minmax(0,1fr);
    overflow:hidden;
    border:1px solid var(--fu-mhome-line);
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 30px rgba(38,30,22,.08);
  }

  body.home .fu-mhome-fact{
    min-width:0;
    min-height:88px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:11px 6px;
    background:#fff;
    text-align:center;
  }
  body.home .fu-mhome-fact + .fu-mhome-fact{border-left:1px solid var(--fu-mhome-line)}

  body.home .fu-mhome-fact__icon{
    width:34px;
    height:34px;
    flex:0 0 34px;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:color-mix(in srgb,var(--fu-primary) 8%,#fff);
    color:var(--fu-primary);
    font-size:17px;
  }

  body.home .fu-mhome-fact__copy{
    width:100%;
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:3px;
  }
  body.home .fu-mhome-fact__copy strong{
    color:#24211e;
    font-size:12px;
    font-weight:800;
    line-height:1.1;
  }
  body.home .fu-mhome-fact__copy small{
    /* Stay inside the column: wrap to at most two lines, then ellipsis. */
    display:-webkit-box;
    max-width:100%;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    color:#7d7770;
    font-size:12px;
    font-weight:550;
    line-height:1.25;
    white-space:normal;
    overflow-wrap:break-word;
    -webkit-hyphens:auto;
    hyphens:auto;
  }

  body.home .fu-mhome-shell,
  body.home .fu-mhome-section{
    width:calc(100% - (var(--fu-mhome-gutter) * 2));
    margin:18px auto 0;
  }
  body.home .fu-mhome-section{margin-top:var(--fu-home-mobile-section-gap)}
  body.home .fu-mhome-shell--last{margin-bottom:4px}

  body.home .fu-mhome-promo,
  body.home .fu-mhome-cta{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    border:0;
    border-radius:var(--fu-mhome-radius);
    background:#1c1916;
    color:#fff;
    box-shadow:0 8px 24px rgba(38,30,22,.065);
  }

  body.home .fu-mhome-promo{min-height:var(--fu-home-mobile-promo-height)}
  body.home .fu-mhome-promo > img,
  body.home .fu-mhome-cta > img{
    position:absolute;
    z-index:-3;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
  }
  body.home .fu-mhome-promo__shade,
  body.home .fu-mhome-cta__shade{
    position:absolute;
    z-index:-2;
    inset:0;
    background:linear-gradient(90deg,rgba(15,12,10,.88) 0%,rgba(15,12,10,.58) 58%,rgba(15,12,10,.10) 100%);
  }
  body.home .fu-mhome-promo:not(.has-image){
    border:1px solid var(--fu-mhome-line);
    background:linear-gradient(145deg,#28231f,#161412);
  }

  body.home .fu-mhome-promo__content,
  body.home .fu-mhome-cta__content{
    width:75%;
    padding:22px;
  }
  body.home .fu-mhome-promo h2,
  body.home .fu-mhome-cta h2{
    margin:4px 0 7px;
    color:#fff;
    font-size:23px;
    font-weight:820;
    line-height:1.08;
    letter-spacing:-.025em;
  }
  body.home .fu-mhome-promo p,
  body.home .fu-mhome-cta p{
    margin:0 0 15px;
    color:rgba(255,255,255,.76);
    font-size:12.5px;
    line-height:1.42;
  }
  body.home .fu-mhome-promo a,
  body.home .fu-mhome-cta a{
    min-height:38px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:0 13px;
    border-radius:12px;
    background:var(--fu-primary-btn);
    color:#fff;
    font-size:12px;
    font-weight:800;
  }

  body.home .fu-mhome-section__head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    margin-bottom:7px;
  }
  body.home .fu-mhome-section__head h2{
    margin:2px 0 0;
    color:#1c1916;
    font-size:24px;
    font-weight:840;
    line-height:1.08;
    letter-spacing:-.03em;
  }
  body.home .fu-mhome-section__head > a{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    gap:3px;
    padding-bottom:2px;
    color:var(--fu-primary);
    font-size:11px;
    font-weight:800;
  }
  body.home .fu-mhome-section__intro{
    margin:0 0 13px;
    color:var(--fu-mhome-muted);
    font-size:12.5px;
    line-height:1.45;
  }

  body.home .fu-mhome-categories{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }
  body.home .fu-mhome-category{
    position:relative;
    isolation:isolate;
    min-height:var(--fu-home-mobile-category-height);
    overflow:hidden;
    border:0;
    border-radius:var(--fu-home-mobile-category-radius);
    background:#e9e5df;
    box-shadow:0 5px 16px rgba(38,30,22,.045);
  }
  body.home .fu-mhome-category > img{
    position:absolute;
    z-index:-3;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
  }
  body.home .fu-mhome-category__fallback{
    position:absolute;
    z-index:-2;
    inset:0;
    display:grid;
    place-items:center;
    color:var(--fu-primary);
    font-size:42px;
    background:#f1ede8;
  }
  body.home .fu-mhome-category__shade{
    position:absolute;
    z-index:-1;
    inset:0;
    background:linear-gradient(180deg,rgba(0,0,0,0) 38%,rgba(0,0,0,.74) 100%);
  }
  body.home .fu-mhome-category.no-image{
    border:1px solid var(--fu-mhome-line);
  }
  body.home .fu-mhome-category.no-image .fu-mhome-category__shade{background:linear-gradient(180deg,transparent 35%,rgba(255,255,255,.86) 100%)}
  body.home .fu-mhome-category__name{
    position:absolute;
    left:12px;
    right:40px;
    bottom:11px;
    color:#fff;
    font-size:15px;
    font-weight:800;
    line-height:1.1;
  }
  body.home .fu-mhome-category.no-image .fu-mhome-category__name{color:#211e1b}
  body.home .fu-mhome-category__arrow{
    position:absolute;
    right:9px;
    bottom:9px;
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:rgba(255,255,255,.92);
    color:#1c1916;
    font-size:14px;
  }

  body.home .fu-mhome-services-section{margin-top:28px}
  body.home .fu-mhome-services{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }
  body.home .fu-mhome-service{
    min-width:0;
    padding:13px 8px 12px;
    border:1px solid var(--fu-mhome-line);
    border-radius:var(--fu-home-mobile-service-radius);
    background:#fff;
    text-align:center;
  }
  body.home .fu-mhome-service > span{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    margin:0 auto 8px;
    border-radius:12px;
    background:color-mix(in srgb,var(--fu-primary) 8%,#fff);
    color:var(--fu-primary);
    font-size:18px;
  }
  body.home .fu-mhome-service strong,
  body.home .fu-mhome-service small{display:block}
  body.home .fu-mhome-service strong{
    color:#24211e;
    font-size:11.5px;
    font-weight:800;
    line-height:1.15;
  }
  body.home .fu-mhome-service small{
    margin-top:3px;
    color:#8b857e;
    font-size:12px;
    line-height:1.2;
  }

  body.home .fu-mhome-cta{
    min-height:var(--fu-home-mobile-cta-card-height);
    display:flex;
    align-items:flex-end;
  }
  body.home .fu-mhome-cta:not(.has-image){
    border:1px solid var(--fu-mhome-line);
    background:
      radial-gradient(circle at 88% 18%,color-mix(in srgb,var(--fu-primary) 45%,transparent),transparent 37%),
      #1c1916;
  }
  body.home .fu-mhome-cta__shade{
    background:linear-gradient(180deg,rgba(15,12,10,.08),rgba(15,12,10,.86));
  }
  body.home .fu-mhome-cta__content{width:100%;padding:22px}

  @media(max-width:370px){
    body.home{--fu-mhome-gutter:max(10px,calc(var(--fu-mobile-gutter) - 2px))}
    body.home .fu-mhome-hero{min-height:calc((var(--fu-home-mobile-hero-height) - 20px) + env(safe-area-inset-top))}
    body.home .fu-mhome-fact + .fu-mhome-fact{border-left:1px solid var(--fu-mhome-line)}
    body.home .fu-mhome-services{gap:6px}
    body.home .fu-mhome-service{padding-inline:5px}
  }
}


/* =========================================================
   FoodUp Restaurant v0.14.9 — unified page canvas
   Site-wide page background only. Cards/components keep their own surfaces.
   ========================================================= */
html,
body,
body.home,
body:not(.home),
body > main,
.fu-internal-page,
.fu-account-page,
.fu-ordering-page-shell,
body.home .fu-mobile-home,
body.foodup-contact-page main{
  background-color:var(--fu-page-bg)!important;
}


/* =========================================================
   FoodUp Restaurant v0.14.19 — Premium mobile KONTAKT
   Mobile-only redesign matching the Home visual language.
   Existing desktop Kontakt layout is preserved.
   ========================================================= */
.fu-mobile-contact{display:none}

@media(max-width:768px){
  body.foodup-contact-page{
    --fu-mcontact-gutter:var(--fu-mobile-gutter);
    --fu-mcontact-radius:var(--fu-contact-mobile-card-radius);
    --fu-mcontact-surface:#fff;
    --fu-mcontact-soft:#f4f2ef;
    --fu-mcontact-ink:#171614;
    --fu-mcontact-muted:#77716a;
    --fu-mcontact-line:rgba(27,23,18,.08);
    background:var(--fu-page-bg)!important;
  }

  body.foodup-contact-page .fu-contact-desktop{display:none!important}

  body.foodup-contact-page .fu-mobile-contact{
    width:100%;
    display:block!important;
    margin:0;
    padding:0 0 22px;
    color:var(--fu-mcontact-ink);
    background:var(--fu-page-bg);
  }

  body.foodup-contact-page .fu-footer{display:none!important}

  body.foodup-contact-page .fu-mcontact-hero{
    position:relative;
    isolation:isolate;
    width:100%;
    min-height:calc(var(--fu-account-mobile-hero-height) + env(safe-area-inset-top));
    display:flex;
    align-items:stretch;
    justify-content:center;
    margin-top:calc(-1 * env(safe-area-inset-top));
    overflow:hidden;
    background:#1d1b18;
    color:#fff;
  }

  body.foodup-contact-page .fu-mcontact-hero__image{
    position:absolute;
    z-index:-3;
    inset:0;
    width:100%;
    height:100%;
    max-width:none;
    display:block;
    object-fit:cover;
    object-position:center 48%;
  }

  body.foodup-contact-page .fu-mcontact-hero__shade{
    position:absolute;
    z-index:-2;
    inset:0;
    background:
      linear-gradient(180deg,rgba(10,9,8,.14) 0%,rgba(10,9,8,.26) 32%,rgba(10,9,8,.78) 78%,rgba(10,9,8,.94) 100%),
      linear-gradient(90deg,rgba(10,9,8,.28),rgba(10,9,8,0) 72%);
  }

  body.foodup-contact-page .fu-mcontact-hero.no-image{
    background:
      radial-gradient(circle at 82% 12%,color-mix(in srgb,var(--fu-primary) 52%,transparent),transparent 37%),
      linear-gradient(145deg,#28231f,#11100f);
  }

  body.foodup-contact-page .fu-mcontact-hero__content{
    width:100%;
    min-height:inherit;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:calc(22px + env(safe-area-inset-top)) var(--fu-mcontact-gutter) 34px;
    text-align:center;
  }

  body.foodup-contact-page .fu-mcontact-logo{
    width:min(32vw,var(--fu-contact-mobile-logo-width));
    margin:0 auto 15px;
    line-height:0;
  }

  body.foodup-contact-page .fu-mcontact-logo .fu-logo-svg,
  body.foodup-contact-page .fu-mcontact-logo .fu-logo-svg svg,
  body.foodup-contact-page .fu-mcontact-logo .fu-logo-image{
    width:100%!important;
    height:auto!important;
    display:block!important;
  }

  body.foodup-contact-page .fu-mcontact-logo .fu-logo-svg svg *{
    fill:#fff!important;
    stroke:#fff!important;
  }

  body.foodup-contact-page .fu-mcontact-logo .fu-logo-image{
    filter:brightness(0) invert(1)!important;
  }

  body.foodup-contact-page .fu-mcontact-kicker,
  body.foodup-contact-page .fu-mcontact-eyebrow{
    display:inline-flex;
    align-items:center;
    color:var(--fu-primary);
    font-size:11px;
    font-weight:800;
    line-height:1;
    letter-spacing:.08em;
    text-transform:uppercase;
  }

  body.foodup-contact-page .fu-mcontact-kicker{
    min-height:24px;
    justify-content:center;
    margin:0 auto 8px;
    padding:0 9px;
    border:1px solid rgba(255,255,255,.20);
    border-radius:999px;
    background:rgba(255,255,255,.12);
    color:#fff;
    letter-spacing:.055em;
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
  }

  body.foodup-contact-page .fu-mcontact-hero h1{
    max-width:350px;
    margin:0;
    color:#fff;
    font-size:clamp(28px,10vw,var(--fu-contact-mobile-title-size));
    font-weight:850;
    line-height:.98;
    letter-spacing:-.045em;
  }

  body.foodup-contact-page .fu-mcontact-hero-copy{
    width:min(100%,420px);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
  }

  body.foodup-contact-page .fu-mcontact-hero-copy p{
    max-width:340px;
    margin:0;
    color:rgba(255,255,255,.86);
    font-size:13px;
    font-weight:550;
    line-height:1.5;
    text-wrap:balance;
  }

  body.foodup-contact-page .fu-mcontact-actions{
    position:relative;
    z-index:3;
    width:calc(100% - (var(--fu-mcontact-gutter) * 2));
    margin:-22px auto 0;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    overflow:hidden;
    border:1px solid var(--fu-mcontact-line);
    border-radius:var(--fu-contact-mobile-action-radius);
    background:#fff;
    box-shadow:0 10px 30px rgba(38,30,22,.08);
  }

  body.foodup-contact-page .fu-mcontact-action{
    min-width:0;
    min-height:var(--fu-contact-mobile-action-height);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    padding:12px 8px;
    text-align:center;
    background:#fff;
  }

  body.foodup-contact-page .fu-mcontact-action + .fu-mcontact-action{
    border-left:1px solid var(--fu-mcontact-line);
  }

  body.foodup-contact-page .fu-mcontact-action__icon{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    margin-bottom:2px;
    border-radius:12px;
    background:color-mix(in srgb,var(--fu-primary) 8%,#fff);
    color:var(--fu-primary);
    font-size:18px;
  }

  body.foodup-contact-page .fu-mcontact-action strong{
    max-width:100%;
    overflow:hidden;
    color:#24211e;
    font-size:11.5px;
    font-weight:800;
    line-height:1.15;
    white-space:nowrap;
    text-overflow:ellipsis;
  }

  body.foodup-contact-page .fu-mcontact-action small{
    width:100%;
    overflow:hidden;
    color:#8a847d;
    font-size:12px;
    font-weight:550;
    line-height:1.2;
    white-space:nowrap;
    text-overflow:ellipsis;
  }

  body.foodup-contact-page .fu-mcontact-section{
    width:calc(100% - (var(--fu-mcontact-gutter) * 2));
    margin:var(--fu-contact-mobile-section-gap) auto 0;
  }

  body.foodup-contact-page .fu-mcontact-section--last{
    margin-bottom:4px;
  }

  body.foodup-contact-page .fu-mcontact-section__head{
    margin-bottom:9px;
  }

  body.foodup-contact-page .fu-mcontact-section__head h2{
    margin:3px 0 0;
    color:#1c1916;
    font-size:24px;
    font-weight:840;
    line-height:1.08;
    letter-spacing:-.03em;
  }

  body.foodup-contact-page .fu-mcontact-card,
  body.foodup-contact-page .fu-mcontact-map{
    overflow:hidden;
    border:1px solid var(--fu-mcontact-line);
    border-radius:var(--fu-mcontact-radius);
    background:#fff;
    box-shadow:0 6px 20px rgba(38,30,22,.045);
  }

  body.foodup-contact-page .fu-mcontact-hours ul,
  body.foodup-contact-page .fu-mcontact-zones ul{
    list-style:none;
    margin:0;
    padding:0;
  }

  body.foodup-contact-page .fu-mcontact-hours li{
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:0 15px;
    border-bottom:1px solid var(--fu-mcontact-line);
    color:#4b4640;
    font-size:12.5px;
  }

  body.foodup-contact-page .fu-mcontact-hours li:last-child{
    border-bottom:0;
  }

  body.foodup-contact-page .fu-mcontact-hours li > span{
    display:flex;
    align-items:center;
    gap:7px;
  }

  body.foodup-contact-page .fu-mcontact-hours li strong{
    color:#24211e;
    font-size:12px;
    font-weight:750;
    text-align:right;
  }

  body.foodup-contact-page .fu-mcontact-hours li em{
    min-height:20px;
    display:inline-flex;
    align-items:center;
    padding:0 7px;
    border-radius:999px;
    background:color-mix(in srgb,var(--fu-primary) 8%,#fff);
    color:var(--fu-primary);
    font-size:11px;
    font-style:normal;
    font-weight:800;
  }

  body.foodup-contact-page .fu-mcontact-hours li.is-today{
    background:color-mix(in srgb,var(--fu-primary) 3%,#fff);
  }

  body.foodup-contact-page .fu-mcontact-hours li.is-today > span,
  body.foodup-contact-page .fu-mcontact-hours li.is-today strong{
    color:#171614;
    font-weight:800;
  }

  body.foodup-contact-page .fu-mcontact-details > a{
    min-height:68px;
    display:grid;
    grid-template-columns:38px minmax(0,1fr) 20px;
    align-items:center;
    gap:11px;
    padding:10px 14px;
    border-bottom:1px solid var(--fu-mcontact-line);
  }

  body.foodup-contact-page .fu-mcontact-details > a:last-child{
    border-bottom:0;
  }

  body.foodup-contact-page .fu-mcontact-detail__icon{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:color-mix(in srgb,var(--fu-primary) 8%,#fff);
    color:var(--fu-primary);
    font-size:18px;
  }

  body.foodup-contact-page .fu-mcontact-detail__copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:3px;
  }

  body.foodup-contact-page .fu-mcontact-detail__copy small{
    color:#8b857e;
    font-size:11px;
    font-weight:650;
  }

  body.foodup-contact-page .fu-mcontact-detail__copy strong{
    overflow:hidden;
    color:#24211e;
    font-size:12px;
    font-weight:800;
    line-height:1.3;
    text-overflow:ellipsis;
  }

  body.foodup-contact-page .fu-mcontact-details > a > .ti-chevron-right{
    color:#b0aaa3;
    font-size:17px;
  }

  body.foodup-contact-page .fu-mcontact-map iframe{
    width:100%;
    height:var(--fu-contact-mobile-map-height);
    display:block;
    border:0;
    background:#eee;
  }

  body.foodup-contact-page .fu-mcontact-map > a{
    min-height:72px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 36px;
    align-items:center;
    gap:12px;
    padding:12px 14px;
    border-top:1px solid var(--fu-mcontact-line);
  }

  body.foodup-contact-page .fu-mcontact-map > a span{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:4px;
  }

  body.foodup-contact-page .fu-mcontact-map > a small{
    color:#8b857e;
    font-size:9.5px;
    font-weight:650;
  }

  body.foodup-contact-page .fu-mcontact-map > a strong{
    overflow:hidden;
    color:#24211e;
    font-size:12px;
    font-weight:800;
    line-height:1.3;
    text-overflow:ellipsis;
  }

  body.foodup-contact-page .fu-mcontact-map > a > .ti{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:var(--fu-primary);
    color:#fff;
    font-size:17px;
  }

  body.foodup-contact-page .fu-mcontact-zones li{
    min-height:62px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:10px 14px;
    border-bottom:1px solid var(--fu-mcontact-line);
  }

  body.foodup-contact-page .fu-mcontact-zones li:last-child{
    border-bottom:0;
  }

  body.foodup-contact-page .fu-mcontact-zones li > span{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:3px;
  }

  body.foodup-contact-page .fu-mcontact-zones li strong{
    color:#24211e;
    font-size:12px;
    font-weight:800;
  }

  body.foodup-contact-page .fu-mcontact-zones li small{
    color:#8b857e;
    font-size:11px;
    font-weight:550;
  }

  body.foodup-contact-page .fu-mcontact-zones li em{
    flex:0 0 auto;
    min-height:28px;
    display:inline-flex;
    align-items:center;
    padding:0 9px;
    border-radius:999px;
    background:color-mix(in srgb,var(--fu-primary) 8%,#fff);
    color:var(--fu-primary);
    font-size:12px;
    font-style:normal;
    font-weight:800;
  }

  body.foodup-contact-page .fu-mcontact-muted{
    margin:0;
    padding:16px;
    color:#7d7770;
    font-size:12px;
    line-height:1.5;
  }

  @media(max-width:370px){
    body.foodup-contact-page{--fu-mcontact-gutter:max(10px,calc(var(--fu-mobile-gutter) - 2px))}
    body.foodup-contact-page .fu-mcontact-actions{grid-template-columns:1fr}
    body.foodup-contact-page .fu-mcontact-action{
      min-height:66px;
      display:grid;
      grid-template-columns:36px minmax(0,1fr);
      grid-template-rows:auto auto;
      justify-items:start;
      text-align:left;
    }
    body.foodup-contact-page .fu-mcontact-action + .fu-mcontact-action{
      border-left:0;
      border-top:1px solid var(--fu-mcontact-line);
    }
    body.foodup-contact-page .fu-mcontact-action__icon{
      grid-row:1 / span 2;
    }
  }
}

@media(min-width:769px){
  .fu-mobile-contact{display:none!important}
  .fu-contact-desktop{display:block!important}
}


/* =========================================================
   FoodUp Restaurant v0.14.19 — Premium mobile ACCOUNT
   Mobile-only redesign matching Home and Kontakt.
   Desktop account experience remains intact.
   ========================================================= */
.fu-maccount-hero,
.fu-maccount-order-cta{
  display:none;
}

@media(max-width:768px){
  .fu-account-page{
    --fu-maccount-gutter:var(--fu-mobile-gutter);
    --fu-maccount-radius:var(--fu-account-mobile-auth-radius);
    --fu-maccount-line:rgba(27,23,18,.08);
    --fu-maccount-muted:#79736d;
    width:100%!important;
    min-height:100vh!important;
    margin:0!important;
    padding:0 0 88px!important;
    background:var(--fu-page-bg)!important;
  }

  .fu-account-page + .fu-footer,
  body:has(.fu-account-page) .fu-footer{
    display:none!important;
  }

  .fu-maccount-hero{
    position:relative;
    isolation:isolate;
    width:100%;
    min-height:calc(var(--fu-account-mobile-hero-height) + env(safe-area-inset-top));
    display:flex;
    align-items:stretch;
    justify-content:center;
    margin-top:calc(-1 * env(safe-area-inset-top));
    overflow:hidden;
    background:#1d1b18;
    color:#fff;
  }

  .fu-maccount-hero__image{
    position:absolute;
    z-index:-3;
    inset:0;
    width:100%;
    height:100%;
    max-width:none;
    display:block;
    object-fit:cover;
    object-position:center 46%;
  }

  .fu-maccount-hero__shade{
    position:absolute;
    z-index:-2;
    inset:0;
    background:
      linear-gradient(180deg,rgba(12,10,9,.16) 0%,rgba(12,10,9,.30) 38%,rgba(12,10,9,.82) 82%,rgba(12,10,9,.95) 100%),
      linear-gradient(90deg,rgba(12,10,9,.24),rgba(12,10,9,0) 68%);
  }

  .fu-maccount-hero.no-image{
    background:
      radial-gradient(circle at 82% 12%,color-mix(in srgb,var(--fu-primary) 52%,transparent),transparent 37%),
      linear-gradient(145deg,#28231f,#11100f);
  }

  .fu-maccount-hero__content{
    width:100%;
    min-height:inherit;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:calc(18px + env(safe-area-inset-top)) var(--fu-maccount-gutter) 22px;
    text-align:center;
  }

  .fu-maccount-logo{
    width:min(30vw,118px);
    margin:0 auto 14px;
    line-height:0;
  }

  .fu-maccount-logo .fu-logo-svg,
  .fu-maccount-logo .fu-logo-svg svg,
  .fu-maccount-logo .fu-logo-image{
    width:100%!important;
    height:auto!important;
    display:block!important;
  }

  .fu-maccount-logo .fu-logo-svg svg *{
    fill:#fff!important;
    stroke:#fff!important;
  }

  .fu-maccount-logo .fu-logo-image{
    filter:brightness(0) invert(1)!important;
  }

  .fu-maccount-kicker{
    min-height:24px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 8px;
    padding:0 9px;
    border:1px solid rgba(255,255,255,.20);
    border-radius:999px;
    background:rgba(255,255,255,.12);
    color:#fff;
    font-size:11px;
    font-weight:800;
    line-height:1;
    letter-spacing:.055em;
    text-transform:uppercase;
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
  }

  .fu-maccount-hero h1{
    max-width:360px;
    margin:0;
    color:#fff;
    font-size:clamp(28px,9vw,var(--fu-account-mobile-title-size));
    font-weight:850;
    line-height:1;
    letter-spacing:-.04em;
  }

  .fu-maccount-hero p{
    max-width:330px;
    margin:11px auto 0;
    color:rgba(255,255,255,.82);
    font-size:13px;
    font-weight:520;
    line-height:1.45;
  }

  .fu-account-shell{
    width:calc(100% - (var(--fu-maccount-gutter) * 2))!important;
    max-width:none!important;
    margin:var(--fu-account-mobile-shell-gap) auto 0!important;
  }

  .fu-account-heading{
    display:none!important;
  }

  .fu-account-alert{
    margin:0 0 12px!important;
    padding:13px 14px!important;
    border-radius:16px!important;
  }

  /* ---------- Login / registration ---------- */
  .fu-auth-experience{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }

  .fu-auth-switcher{
    height:var(--fu-account-mobile-switch-height)!important;
    margin:0 0 12px!important;
    padding:4px!important;
    border:1px solid #e1ddd8!important;
    border-radius:var(--fu-account-mobile-switch-radius)!important;
    background:#efedea!important;
    box-shadow:none!important;
  }

  .fu-auth-switcher__slider{
    top:4px!important;
    bottom:4px!important;
    left:4px!important;
    width:calc(50% - 4px)!important;
    border-radius:12px!important;
    box-shadow:none!important;
  }

  .fu-auth-switcher__tab{
    gap:6px!important;
    border-radius:12px!important;
    color:#6e6861!important;
    font-size:12.5px!important;
    font-weight:750!important;
  }

  .fu-auth-switcher__tab.is-active{
    color:#fff!important;
  }

  .fu-auth-card{
    padding:var(--fu-account-mobile-auth-padding)!important;
    border:1px solid var(--fu-maccount-line)!important;
    border-radius:var(--fu-account-mobile-auth-radius)!important;
    background:#fff!important;
    box-shadow:0 8px 24px rgba(38,30,22,.055)!important;
  }

  .fu-auth-card__header{
    gap:11px!important;
    margin-bottom:17px!important;
  }

  .fu-auth-card__header h2{
    margin:0 0 2px!important;
    color:#1e1b18!important;
    font-size:18px!important;
    font-weight:820!important;
    letter-spacing:-.02em!important;
  }

  .fu-auth-card__header p{
    color:#837d76!important;
    font-size:11.5px!important;
  }

  .fu-auth-icon{
    width:42px!important;
    height:42px!important;
    border-radius:13px!important;
    background:color-mix(in srgb,var(--fu-primary) 8%,#fff)!important;
    color:var(--fu-primary)!important;
  }

  .fu-auth-form{
    gap:10px!important;
  }

  .fu-auth-form input[type="text"],
  .fu-auth-form input[type="email"],
  .fu-auth-form input[type="tel"],
  .fu-auth-form input[type="password"]{
    height:var(--fu-account-mobile-input-height)!important;
    border:1px solid #ddd9d4!important;
    border-radius:var(--fu-account-mobile-input-radius)!important;
    background:#fff!important;
    color:#24211e!important;
    font-size:16px!important;
    box-shadow:none!important;
  }

  .fu-account-page input,
  .fu-account-page select,
  .fu-account-page textarea{
    font-size:16px!important;
  }

  .fu-form-row--address > input,
  .fu-form-row--location > input{
    height:var(--fu-account-mobile-input-height)!important;
    box-sizing:border-box!important;
    border:1px solid #ddd9d4!important;
    border-radius:var(--fu-account-mobile-input-radius)!important;
    background:#fff!important;
    color:#24211e!important;
    font-size:16px!important;
    box-shadow:none!important;
  }

  .fu-auth-form input:focus{
    border-color:var(--fu-primary)!important;
    box-shadow:0 0 0 3px color-mix(in srgb,var(--fu-primary) 10%,transparent)!important;
    transform:none!important;
  }

  .fu-input-wrap>.ti{
    color:#8a837b!important;
  }

  .fu-form-row{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  .fu-form-row--address{
    grid-template-columns:minmax(0,1fr) 82px!important;
    gap:8px!important;
  }

  .fu-form-row--location{
    grid-template-columns:112px minmax(0,1fr)!important;
    gap:8px!important;
  }

  .fu-form-row--address > *,
  .fu-form-row--location > *{
    min-width:0!important;
  }

  .fu-house-number{
    padding-left:12px!important;
    padding-right:12px!important;
    text-align:center!important;
  }

  .fu-auth-meta{
    margin:2px 0;
    font-size:11.5px!important;
  }

  .fu-auth-meta a{
    color:var(--fu-primary)!important;
  }

  .fu-check{
    color:#77716a!important;
  }

  .fu-auth-submit{
    height:var(--fu-account-mobile-button-height)!important;
    margin-top:2px!important;
    border-radius:14px!important;
    font-size:13px!important;
    font-weight:800!important;
    box-shadow:none!important;
  }

  /* ---------- Logged-in dashboard ---------- */
  .fu-maccount-order-cta{
    min-height:72px;
    display:grid;
    grid-template-columns:42px minmax(0,1fr) 24px;
    align-items:center;
    gap:11px;
    margin:0 0 12px;
    padding:11px 14px;
    border-radius:18px;
    background:var(--fu-primary-btn);
    color:#fff;
    box-shadow:none;
  }

  .fu-maccount-order-cta__icon{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:rgba(255,255,255,.16);
    font-size:20px;
  }

  .fu-maccount-order-cta > span:nth-child(2){
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:2px;
  }

  .fu-maccount-order-cta small{
    color:rgba(255,255,255,.78);
    font-size:9.5px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.05em;
  }

  .fu-maccount-order-cta strong{
    color:#fff;
    font-size:13px;
    font-weight:820;
  }

  .fu-maccount-order-cta > .ti{
    justify-self:end;
    font-size:18px;
  }

  .fu-account-dashboard{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  .fu-account-card{
    position:relative!important;
    padding:16px!important;
    overflow:hidden!important;
    border:1px solid var(--fu-maccount-line)!important;
    border-radius:var(--fu-account-mobile-card-radius)!important;
    background:#fff!important;
    box-shadow:0 5px 18px rgba(38,30,22,.04)!important;
  }

  .fu-account-card__title{
    min-width:0;
    display:flex;
    align-items:center;
    gap:11px;
    margin:0 0 12px;
  }

  .fu-account-card__title > span{
    width:40px;
    height:40px;
    flex:0 0 40px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:color-mix(in srgb,var(--fu-primary) 8%,#fff);
    color:var(--fu-primary);
    font-size:19px;
  }

  .fu-account-card__title > div{
    min-width:0;
  }

  .fu-account-card__title small{
    display:block;
    margin-bottom:2px;
    color:#9a938c;
    font-size:9px;
    font-weight:750;
    text-transform:uppercase;
    letter-spacing:.07em;
  }

  .fu-account-card__title h2{
    margin:0!important;
    color:#211e1b!important;
    font-size:16px!important;
    font-weight:820!important;
    line-height:1.15!important;
  }

  .fu-account-card p{
    margin:4px 0!important;
    color:#77716a!important;
    font-size:12px!important;
    line-height:1.45!important;
  }

  .fu-account-card p strong{
    color:#2b2723!important;
    font-weight:800!important;
  }

  .fu-account-card--link{
    min-height:86px;
    display:block!important;
    padding-right:50px!important;
  }

  .fu-account-card--link .fu-account-card__chevron{
    position:absolute!important;
    right:15px!important;
    top:50%!important;
    width:34px!important;
    height:34px!important;
    display:grid!important;
    place-items:center!important;
    transform:translateY(-50%)!important;
    border-radius:11px!important;
    background:color-mix(in srgb,var(--fu-primary) 8%,#fff)!important;
    color:var(--fu-primary)!important;
    font-size:18px!important;
  }

  .fu-account-card--link p{
    margin-left:51px!important;
  }

  .fu-account-card--legal p{
    margin:0!important;
    border-top:1px solid var(--fu-maccount-line);
  }

  .fu-account-card--legal p:first-of-type{
    margin-top:2px!important;
  }

  .fu-account-card--legal p a{
    min-height:44px;
    display:flex;
    align-items:center;
    color:#39342f;
    font-size:12px;
    font-weight:720;
  }

  .fu-account-logout{
    width:100%;
    min-height:48px;
    display:flex!important;
    align-items:center;
    justify-content:center;
    margin:12px 0 0!important;
    border:1px solid #efc7c4;
    border-radius:14px;
    background:#fff8f7;
    color:#b42318!important;
    font-size:12.5px;
    font-weight:800!important;
  }

  @media(max-width:370px){
    .fu-account-page{--fu-maccount-gutter:max(10px,calc(var(--fu-mobile-gutter) - 2px))}
    body.foodup-contact-page .fu-mcontact-hero,
    .fu-maccount-hero{min-height:calc((var(--fu-account-mobile-hero-height) - 15px) + env(safe-area-inset-top))}
    .fu-auth-switcher__tab{font-size:11.5px!important}
    .fu-form-row--address{grid-template-columns:minmax(0,1fr) 72px!important}
    .fu-form-row--location{grid-template-columns:96px minmax(0,1fr)!important}
  }
}


/* =========================================================
   FoodUp Restaurant v0.14.19 — CANONICAL MOBILE BOTTOM DOCK
   One visual implementation for every mobile page.
   ========================================================= */
@media(max-width:768px){
  body .fu-bottom-nav,
  body.fuo-ordering-page .fu-bottom-nav{
    --fu-dock-bottom-safe:max(var(--fu-dock-bottom),env(safe-area-inset-bottom));
    position:fixed!important;
    z-index:1800!important;
    left:var(--fu-dock-side)!important;
    right:var(--fu-dock-side)!important;
    bottom:var(--fu-dock-bottom-safe)!important;
    width:auto!important;
    height:var(--fu-dock-height)!important;
    min-height:var(--fu-dock-height)!important;
    max-height:var(--fu-dock-height)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:stretch!important;
    gap:5px!important;
    margin:0!important;
    padding:5px!important;
    box-sizing:border-box!important;
    border:1px solid rgba(28,24,20,.08)!important;
    border-radius:var(--fu-dock-radius)!important;
    background:color-mix(in srgb,var(--fu-dock-bg) 94%,transparent)!important;
    box-shadow:0 6px 18px rgba(17,24,39,.08)!important;
    filter:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translate3d(0,0,0)!important;
    backdrop-filter:blur(var(--fu-dock-blur)) saturate(1.18)!important;
    -webkit-backdrop-filter:blur(var(--fu-dock-blur)) saturate(1.18)!important;
    will-change:transform,opacity!important;
    transition:
      transform .34s cubic-bezier(.22,.72,.2,1),
      opacity .24s ease,
      visibility 0s!important;
  }

  body .fu-bottom-nav.is-scroll-hidden,
  body.fuo-ordering-page .fu-bottom-nav.is-scroll-hidden{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translate3d(0,calc(100% + 28px + env(safe-area-inset-bottom)),0)!important;
    transition:
      transform .28s cubic-bezier(.4,0,.7,.2),
      opacity .18s ease,
      visibility 0s .28s!important;
  }

  body .fu-bottom-nav a,
  body.fuo-ordering-page .fu-bottom-nav a{
    position:relative!important;
    flex:1 1 0!important;
    min-width:0!important;
    height:56px!important;
    min-height:56px!important;
    max-height:56px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    margin:0!important;
    padding:5px 3px!important;
    box-sizing:border-box!important;
    border:0!important;
    border-radius:var(--fu-dock-tab-radius)!important;
    background:transparent!important;
    color:var(--fu-dock-inactive)!important;
    font-size:max(11px,var(--fu-dock-label-size))!important;
    font-weight:760!important;
    line-height:1!important;
    letter-spacing:-.01em!important;
    box-shadow:none!important;
    transform:none!important;
    -webkit-tap-highlight-color:transparent!important;
    transition:
      background-color .22s ease,
      color .22s ease,
      box-shadow .22s ease,
      transform .16s ease!important;
  }

  body .fu-bottom-nav a .fu-bottom-nav__icon,
  body.fuo-ordering-page .fu-bottom-nav a .fu-bottom-nav__icon{
    width:var(--fu-dock-icon-size)!important;
    height:var(--fu-dock-icon-size)!important;
    display:grid!important;
    place-items:center!important;
    flex:0 0 var(--fu-dock-icon-size)!important;
    margin:0!important;
    overflow:visible!important;
    color:currentColor!important;
    font-size:var(--fu-dock-icon-size)!important;
    line-height:1!important;
    transform:none!important;
    transition:transform .22s cubic-bezier(.2,.75,.2,1)!important;
  }

  body .fu-bottom-nav a span,
  body.fuo-ordering-page .fu-bottom-nav a span{
    display:block!important;
    max-width:100%!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
  }

  body .fu-bottom-nav a.is-active,
  body.fuo-ordering-page .fu-bottom-nav a.is-active{
    background:var(--fu-primary)!important;
    color:#fff!important;
    box-shadow:none!important;
  }

  body .fu-bottom-nav a.is-active .fu-bottom-nav__icon,
  body.fuo-ordering-page .fu-bottom-nav a.is-active .fu-bottom-nav__icon{
    transform:translateY(-1px) scale(1.04)!important;
  }

  body .fu-bottom-nav a:not(.is-active):active,
  body.fuo-ordering-page .fu-bottom-nav a:not(.is-active):active{
    background:#f2f0ed!important;
    color:#4f4a45!important;
    transform:scale(.96)!important;
  }

  body .fu-bottom-nav a.is-active:active,
  body.fuo-ordering-page .fu-bottom-nav a.is-active:active{
    transform:scale(.97)!important;
    box-shadow:none!important;
  }

  body.woocommerce-checkout .fu-bottom-nav,
  body.fuo-order-confirmation-page .fu-bottom-nav{
    display:none!important;
  }

  body:not(.woocommerce-checkout):not(.fuo-order-confirmation-page){
    padding-bottom:max(92px,calc(82px + env(safe-area-inset-bottom)))!important;
  }

  body.woocommerce-checkout,
  body.fuo-order-confirmation-page{
    padding-bottom:0!important;
  }

  @media(max-width:360px){
    body .fu-bottom-nav,
    body.fuo-ordering-page .fu-bottom-nav{
      --fu-dock-side:max(8px,calc(var(--fu-mobile-gutter) - 4px));
      gap:3px!important;
      border-radius:22px!important;
    }

    body .fu-bottom-nav a,
    body.fuo-ordering-page .fu-bottom-nav a{
      font-size:11px!important;
      border-radius:16px!important;
    }

    body .fu-bottom-nav a .fu-bottom-nav__icon,
    body.fuo-ordering-page .fu-bottom-nav a .fu-bottom-nav__icon{
      width:21px!important;
      height:21px!important;
      flex-basis:21px!important;
      font-size:21px!important;
    }
  }
}


/* =========================================================
   FoodUp Restaurant v0.14.30 — floating cart / bottom dock spacing
   Keep the FoodUp Ordering floating cart above the configurable
   mobile bottom dock, including safe-area and dock-size changes.
   ========================================================= */
@media(max-width:768px){
  body.fuo-ordering-page .foodup-ordering .fuo-m-cart-fab{
    bottom:calc(
      max(var(--fu-dock-bottom,10px), env(safe-area-inset-bottom))
      + var(--fu-dock-height,68px)
      + 12px
    )!important;
  }
}

/* =========================================================
   FoodUp Restaurant v0.14.32 — premium desktop HOME
   Desktop adaptation of the mobile homepage visual language.
   Applies only above 768px; ordering/plugin screens are untouched.
   ========================================================= */
@media(min-width:769px){
  body.home{
    --fu-dhome-surface:#ffffff;
    --fu-dhome-soft:#f4f2ef;
    --fu-dhome-ink:#171614;
    --fu-dhome-muted:#746e67;
    --fu-dhome-line:rgba(27,23,18,.09);
    background:#f4f5f7;
  }

  body.home .fu-dhome{
    display:block;
    overflow:hidden;
    color:var(--fu-dhome-ink);
    background:#f4f5f7;
  }

  body.home .fu-dhome-hero{
    position:relative;
    isolation:isolate;
    width:100%;
    min-height:var(--fu-home-hero-height);
    display:flex;
    align-items:center;
    overflow:hidden;
    background:#1d1b18;
    color:#fff;
  }

  body.home .fu-dhome-hero__image{
    position:absolute;
    z-index:-3;
    inset:0;
    width:100%;
    height:100%;
    max-width:none;
    display:block;
    object-fit:cover;
    object-position:center 48%;
  }

  body.home .fu-dhome-hero__shade{
    position:absolute;
    z-index:-2;
    inset:0;
    background:rgba(var(--fu-home-hero-overlay-rgb),var(--fu-home-hero-overlay));
  }

  body.home .fu-dhome-hero.no-image{
    background:
      radial-gradient(circle at 82% 18%,color-mix(in srgb,var(--fu-primary) 40%,transparent),transparent 38%),
      linear-gradient(145deg,#28231f,#11100f);
  }

  body.home .fu-dhome-hero__inner{
    width:min(var(--fu-site-width),calc(100% - (var(--fu-page-side) * 2)));
    min-height:inherit;
    margin:0 auto;
    padding:calc(var(--fu-normal-header-row) + 54px) 0 82px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    text-align:left;
    transform:translateY(var(--fu-home-hero-offset-y));
  }

  body.home .fu-dhome-hero__content{
    width:min(max(var(--fu-home-hero-content-width),620px),700px);
    display:flex;
    flex-direction:column;
    align-items:flex-start;
  }

  body.home .fu-dhome-kicker,
  body.home .fu-dhome-eyebrow{
    display:inline-flex;
    align-items:center;
    color:var(--fu-primary);
    font-size:12px;
    font-weight:800;
    line-height:1;
    letter-spacing:.085em;
    text-transform:uppercase;
  }

  body.home .fu-dhome-kicker,
  body.home .fu-dhome-status{
    min-height:32px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin:0 0 17px;
    padding:0 12px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:999px;
    background:rgba(10,11,12,.24);
    color:#fff;
    font-size:11.5px;
    font-weight:750;
    letter-spacing:0;
    text-transform:none;
  }

  body.home .fu-dhome-status__dot{
    width:7px;
    height:7px;
    flex:0 0 7px;
    border-radius:50%;
    background:#31c779;
    box-shadow:none;
  }

  body.home .fu-dhome-status strong{
    color:rgba(255,255,255,.72);
    font-weight:650;
  }

  body.home .fu-dhome-hero h1{
    max-width:100%;
    margin:0;
    color:#fff;
    font-size:var(--fu-home-hero-title-size);
    font-weight:820;
    line-height:1.04;
    letter-spacing:-.04em;
    text-wrap:balance;
  }

  body.home .fu-dhome-hero p{
    max-width:min(590px,100%);
    margin:16px 0 26px;
    color:rgba(255,255,255,.80);
    font-size:var(--fu-home-hero-text-size);
    font-weight:500;
    line-height:1.55;
    text-wrap:balance;
  }

  body.home .fu-dhome-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
  }

  body.home .fu-dhome-primary,
  body.home .fu-dhome-secondary{
    min-height:50px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:0 17px;
    border-radius:var(--fu-home-hero-button-radius);
    font-size:13.5px;
    font-weight:800;
    transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease;
  }

  body.home .fu-dhome-primary{
    min-width:188px;
    background:var(--fu-primary-btn);
    color:#fff;
    box-shadow:none;
  }

  body.home .fu-dhome-primary:hover{
    color:#fff;
    transform:translateY(-1px);
    box-shadow:none;
  }

  body.home .fu-dhome-secondary{
    min-width:168px;
    border:1px solid rgba(255,255,255,.22);
    background:rgba(10,11,12,.18);
    color:#fff;
  }

  body.home .fu-dhome-secondary:hover{
    border-color:rgba(255,255,255,.38);
    background:rgba(255,255,255,.10);
    color:#fff;
    transform:translateY(-1px);
  }

  body.home .fu-dhome-primary .ti,
  body.home .fu-dhome-secondary .ti{font-size:18px}

  body.home .fu-dhome-service-pills{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:16px;
    margin-top:19px;
  }

  body.home .fu-dhome-service-pills span{
    min-height:24px;
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    color:rgba(255,255,255,.72);
    font-size:11.5px;
    font-weight:650;
  }

  body.home .fu-dhome-service-pills .ti{
    color:var(--fu-primary);
    font-size:14px;
  }

  body.home .fu-dhome-section{
    padding:var(--fu-home-section-padding-y) 0 0;
  }

  body.home .fu-dhome-section--cta{
    padding-bottom:var(--fu-home-section-padding-y);
  }

  body.home .fu-dhome-section__head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:28px;
    margin-bottom:12px;
  }

  body.home .fu-dhome-section__head h2{
    margin:8px 0 0;
    color:var(--fu-dhome-ink);
    font-size:clamp(30px,3.2vw,46px);
    font-weight:850;
    line-height:1.03;
    letter-spacing:-.035em;
  }

  body.home .fu-dhome-section__intro{
    max-width:720px;
    margin:0 0 26px;
    color:var(--fu-dhome-muted);
    font-size:15px;
    line-height:1.58;
  }

  body.home .fu-dhome-view-all{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:8px 0;
    color:var(--fu-primary);
    font-size:13px;
    font-weight:800;
  }

  body.home .fu-dhome-view-all .ti{font-size:17px}

  body.home .fu-dhome-promo,
  body.home .fu-dhome-cta{
    position:relative;
    isolation:isolate;
    min-height:390px;
    display:flex;
    align-items:flex-end;
    overflow:hidden;
    border:0;
    border-radius:var(--fu-home-promo-radius);
    background:#e9e5df;
    box-shadow:0 12px 36px rgba(40,30,22,.07);
  }

  body.home .fu-dhome-promo__image,
  body.home .fu-dhome-cta__image{
    position:absolute;
    z-index:-3;
    inset:0;
    width:100%;
    height:100%;
    max-width:none;
    object-fit:cover;
  }

  body.home .fu-dhome-promo__shade,
  body.home .fu-dhome-cta__shade{
    position:absolute;
    z-index:-2;
    inset:0;
    background:
      linear-gradient(90deg,rgba(12,10,8,.82) 0%,rgba(12,10,8,.58) 44%,rgba(12,10,8,.08) 76%),
      linear-gradient(180deg,rgba(12,10,8,.04),rgba(12,10,8,.42));
  }

  body.home .fu-dhome-promo.no-image,
  body.home .fu-dhome-cta.no-image{
    border:1px solid var(--fu-dhome-line);
    background:
      radial-gradient(circle at 82% 18%,color-mix(in srgb,var(--fu-primary) 16%,transparent),transparent 36%),
      #fff;
  }

  body.home .fu-dhome-promo.no-image .fu-dhome-promo__content,
  body.home .fu-dhome-cta.no-image .fu-dhome-cta__content{color:var(--fu-dhome-ink)}

  body.home .fu-dhome-promo__content,
  body.home .fu-dhome-cta__content{
    position:relative;
    z-index:2;
    width:min(620px,68%);
    padding:46px;
    color:#fff;
  }

  body.home .fu-dhome-promo.has-image .fu-dhome-eyebrow,
  body.home .fu-dhome-cta.has-image .fu-dhome-eyebrow{color:#fff}

  body.home .fu-dhome-promo__content h2,
  body.home .fu-dhome-cta__content h2{
    margin:9px 0 12px;
    color:inherit;
    font-size:clamp(34px,3.7vw,52px);
    font-weight:850;
    line-height:1.02;
    letter-spacing:-.04em;
    text-wrap:balance;
  }

  body.home .fu-dhome-promo__content p,
  body.home .fu-dhome-cta__content p{
    max-width:520px;
    margin:0 0 24px;
    color:inherit;
    opacity:.86;
    font-size:16px;
    line-height:1.58;
  }

  body.home .fu-dhome-link-btn{
    display:inline-flex;
    align-items:center;
    gap:9px;
    min-height:46px;
    padding:0 17px;
    border-radius:14px;
    background:var(--fu-primary-btn);
    color:#fff;
    font-size:14px;
    font-weight:800;
    box-shadow:none;
    transition:transform .2s ease,filter .2s ease;
  }

  body.home .fu-dhome-link-btn:hover{
    color:#fff;
    filter:brightness(1.04);
    transform:translateY(-2px);
  }

  body.home .fu-dhome-categories{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
  }

  body.home .fu-dhome-category{
    position:relative;
    isolation:isolate;
    min-height:250px;
    overflow:hidden;
    border:0;
    border-radius:var(--fu-home-card-radius);
    background:#e9e5df;
    box-shadow:0 8px 28px rgba(40,30,22,.055);
    transition:transform .22s ease,box-shadow .22s ease;
  }

  body.home .fu-dhome-category:hover{
    transform:translateY(-4px);
    box-shadow:0 16px 38px rgba(40,30,22,.11);
  }

  body.home .fu-dhome-category > img{
    position:absolute;
    z-index:-3;
    inset:0;
    width:100%;
    height:100%;
    max-width:none;
    object-fit:cover;
    transition:transform .35s ease;
  }

  body.home .fu-dhome-category:hover > img{transform:scale(1.035)}

  body.home .fu-dhome-category__fallback{
    position:absolute;
    z-index:-2;
    inset:0;
    display:grid;
    place-items:center;
    color:var(--fu-primary);
    font-size:60px;
    background:#f1ede8;
  }

  body.home .fu-dhome-category__shade{
    position:absolute;
    z-index:-1;
    inset:0;
    background:linear-gradient(180deg,rgba(0,0,0,.02) 35%,rgba(0,0,0,.78) 100%);
  }

  body.home .fu-dhome-category.no-image{
    border:1px solid var(--fu-dhome-line);
  }

  body.home .fu-dhome-category.no-image .fu-dhome-category__shade{
    background:linear-gradient(180deg,transparent 28%,rgba(255,255,255,.90) 100%);
  }

  body.home .fu-dhome-category__name{
    position:absolute;
    left:20px;
    right:60px;
    bottom:18px;
    color:#fff;
    font-size:20px;
    font-weight:850;
    line-height:1.08;
    letter-spacing:-.02em;
  }

  body.home .fu-dhome-category.no-image .fu-dhome-category__name{color:#211e1b}

  body.home .fu-dhome-category__arrow{
    position:absolute;
    right:16px;
    bottom:16px;
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:rgba(255,255,255,.94);
    color:#1c1916;
    font-size:18px;
  }

  body.home .fu-dhome-services{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:16px;
  }

  body.home .fu-dhome-service{
    min-width:0;
    min-height:150px;
    display:flex;
    align-items:center;
    gap:18px;
    padding:24px;
    border:1px solid var(--fu-dhome-line);
    border-radius:var(--fu-home-card-radius);
    background:#fff;
    box-shadow:0 8px 28px rgba(40,30,22,.045);
  }

  body.home .fu-dhome-service__icon{
    width:58px;
    height:58px;
    flex:0 0 58px;
    display:grid;
    place-items:center;
    border-radius:18px;
    background:color-mix(in srgb,var(--fu-primary) 10%,#fff);
    color:var(--fu-primary);
    font-size:27px;
  }

  body.home .fu-dhome-service > div{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:5px;
  }

  body.home .fu-dhome-service strong{
    color:var(--fu-dhome-ink);
    font-size:18px;
    font-weight:850;
  }

  body.home .fu-dhome-service small{
    color:var(--fu-dhome-muted);
    font-size:13px;
    line-height:1.4;
  }

  body.home .fu-dhome-cta{min-height:420px}
  body.home .fu-dhome-primary--compact{width:max-content;min-width:214px}
}

@media(min-width:769px) and (max-width:1100px){
  body.home .fu-dhome-hero__inner{
    padding-top:calc(var(--fu-normal-header-row) + 44px);
    padding-bottom:82px;
  }

  body.home .fu-dhome-categories{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  body.home .fu-dhome-category{min-height:230px}

  body.home .fu-dhome-promo__content,
  body.home .fu-dhome-cta__content{
    width:min(620px,76%);
    padding:38px;
  }
}

/* =========================================================
   FoodUp Restaurant v0.14.32 — homepage scroll motion
   Desktop reveals replay on viewport re-entry. Touch/mobile reveals stay
   visible after their first entry to avoid Safari safe-area edge flicker.
   ========================================================= */
@media (prefers-reduced-motion:no-preference){
  /* Upward reveal: hero copy + section headings / CTA copy. */
  html.fu-home-motion-js body.home .fu-mhome-logo,
  html.fu-home-motion-js body.home .fu-mhome-kicker,
  html.fu-home-motion-js body.home .fu-mhome-hero h1,
  html.fu-home-motion-js body.home .fu-mhome-hero p,
  html.fu-home-motion-js body.home .fu-mhome-primary,
  html.fu-home-motion-js body.home .fu-mhome-promo,
  html.fu-home-motion-js body.home .fu-mhome-section__head,
  html.fu-home-motion-js body.home .fu-mhome-section__intro,
  html.fu-home-motion-js body.home .fu-mhome-cta,
  html.fu-home-motion-js body.home .fu-dhome-status,
  html.fu-home-motion-js body.home .fu-dhome-kicker,
  html.fu-home-motion-js body.home .fu-dhome-hero h1,
  html.fu-home-motion-js body.home .fu-dhome-hero p,
  html.fu-home-motion-js body.home .fu-dhome-actions,
  html.fu-home-motion-js body.home .fu-dhome-service-pills,
  html.fu-home-motion-js body.home .fu-dhome-promo,
  html.fu-home-motion-js body.home .fu-dhome-section__head,
  html.fu-home-motion-js body.home .fu-dhome-section__intro,
  html.fu-home-motion-js body.home .fu-dhome-cta{
    opacity:0;
    transform:translate3d(0,18px,0);
    transition:
      opacity .78s cubic-bezier(.2,.72,.24,1) var(--fu-reveal-delay,0ms),
      transform .78s cubic-bezier(.2,.72,.24,1) var(--fu-reveal-delay,0ms);
    will-change:opacity,transform;
  }

  /* Softer card reveal. */
  html.fu-home-motion-js body.home .fu-mhome-facts,
  html.fu-home-motion-js body.home .fu-mhome-category,
  html.fu-home-motion-js body.home .fu-mhome-service,
  html.fu-home-motion-js body.home .fu-dhome-category,
  html.fu-home-motion-js body.home .fu-dhome-service{
    opacity:0;
    transform:translate3d(0,12px,0) scale(.985);
    transition:
      opacity .74s cubic-bezier(.2,.72,.24,1) var(--fu-reveal-delay,0ms),
      transform .74s cubic-bezier(.2,.72,.24,1) var(--fu-reveal-delay,0ms);
    will-change:opacity,transform;
  }

  /* Hero image settles in every time the hero returns to view. */
  html.fu-home-motion-js body.home .fu-mhome-hero__image,
  html.fu-home-motion-js body.home .fu-dhome-hero__image{
    opacity:.78;
    transform:scale(1.035);
    transition:
      opacity 1.18s cubic-bezier(.2,.72,.24,1),
      transform 1.18s cubic-bezier(.2,.72,.24,1);
    will-change:opacity,transform;
  }

  /* Visible state shared by every observed homepage element. */
  html.fu-home-motion-js body.home .is-fu-home-inview{
    opacity:1;
    transform:none;
  }

  /* Reset off-screen without playing the animation backwards. */
  html.fu-home-motion-js body.home .is-fu-home-resetting{
    transition:none!important;
  }
}

@media(prefers-reduced-motion:reduce){
  html.fu-home-motion-js body.home .fu-mhome-hero__image,
  html.fu-home-motion-js body.home .fu-mhome-logo,
  html.fu-home-motion-js body.home .fu-mhome-kicker,
  html.fu-home-motion-js body.home .fu-mhome-hero h1,
  html.fu-home-motion-js body.home .fu-mhome-hero p,
  html.fu-home-motion-js body.home .fu-mhome-primary,
  html.fu-home-motion-js body.home .fu-mhome-facts,
  html.fu-home-motion-js body.home .fu-mhome-promo,
  html.fu-home-motion-js body.home .fu-mhome-section__head,
  html.fu-home-motion-js body.home .fu-mhome-section__intro,
  html.fu-home-motion-js body.home .fu-mhome-cta,
  html.fu-home-motion-js body.home .fu-mhome-category,
  html.fu-home-motion-js body.home .fu-mhome-service,
  html.fu-home-motion-js body.home .fu-dhome-hero__image,
  html.fu-home-motion-js body.home .fu-dhome-status,
  html.fu-home-motion-js body.home .fu-dhome-kicker,
  html.fu-home-motion-js body.home .fu-dhome-hero h1,
  html.fu-home-motion-js body.home .fu-dhome-hero p,
  html.fu-home-motion-js body.home .fu-dhome-actions,
  html.fu-home-motion-js body.home .fu-dhome-service-pills,
  html.fu-home-motion-js body.home .fu-dhome-promo,
  html.fu-home-motion-js body.home .fu-dhome-section__head,
  html.fu-home-motion-js body.home .fu-dhome-section__intro,
  html.fu-home-motion-js body.home .fu-dhome-cta,
  html.fu-home-motion-js body.home .fu-dhome-category,
  html.fu-home-motion-js body.home .fu-dhome-service{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
    animation:none!important;
  }
}


/* =========================================================
   FoodUp Restaurant v0.14.32 — premium KONTAKT page
   Desktop redesigned to match the new Home visual language.
   Mobile keeps the premium contact experience and shares motion.
   ========================================================= */
@media(min-width:769px){
  body.foodup-contact-page{
    --fu-dcontact-surface:#fff;
    --fu-dcontact-soft:#f4f2ef;
    --fu-dcontact-ink:#171614;
    --fu-dcontact-muted:#746e67;
    --fu-dcontact-line:rgba(27,23,18,.09);
    background:#f4f5f7!important;
  }

  body.foodup-contact-page .fu-dcontact{
    display:block;
    overflow:hidden;
    color:var(--fu-dcontact-ink);
    background:#f4f5f7;
  }

  body.foodup-contact-page .fu-dcontact-hero{
    position:relative;
    isolation:isolate;
    min-height:var(--fu-contact-hero-height);
    margin-top:calc(var(--fu-topbar-height) + var(--fu-normal-header-row));
    display:flex;
    align-items:center;
    overflow:hidden;
    background:#1d1b18;
    color:#fff;
  }

  body.foodup-contact-page .fu-dcontact-hero__image{
    position:absolute;
    z-index:-3;
    inset:0;
    width:100%;
    height:100%;
    max-width:none;
    display:block;
    object-fit:cover;
    object-position:center 48%;
  }

  body.foodup-contact-page .fu-dcontact-hero__shade{
    position:absolute;
    z-index:-2;
    inset:0;
    background:
      linear-gradient(180deg,rgba(10,9,8,.14) 0%,rgba(10,9,8,.28) 40%,rgba(10,9,8,.78) 100%),
      linear-gradient(90deg,rgba(10,9,8,.30),rgba(10,9,8,.04) 60%,rgba(10,9,8,.18)),
      rgba(0,0,0,var(--fu-contact-hero-overlay));
  }

  body.foodup-contact-page .fu-dcontact-hero.no-image{
    background:
      radial-gradient(circle at 80% 14%,color-mix(in srgb,var(--fu-primary) 42%,transparent),transparent 38%),
      linear-gradient(145deg,#28231f,#11100f);
  }

  body.foodup-contact-page .fu-dcontact-hero__inner{
    width:min(var(--fu-site-width),calc(100% - (var(--fu-page-side) * 2)));
    min-height:inherit;
    margin:0 auto;
    padding:56px 0 86px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
  }

  body.foodup-contact-page .fu-dcontact-logo{
    width:min(170px,17vw);
    margin:0 auto 18px;
    line-height:0;
  }

  body.foodup-contact-page .fu-dcontact-logo .fu-logo-svg,
  body.foodup-contact-page .fu-dcontact-logo .fu-logo-svg svg,
  body.foodup-contact-page .fu-dcontact-logo .fu-logo-image{
    width:100%!important;
    height:auto!important;
    max-width:none!important;
    display:block!important;
  }

  body.foodup-contact-page .fu-dcontact-logo .fu-logo-svg svg *{
    fill:#fff!important;
    stroke:#fff!important;
  }

  body.foodup-contact-page .fu-dcontact-logo .fu-logo-image{
    filter:brightness(0) invert(1)!important;
  }

  body.foodup-contact-page .fu-dcontact-kicker,
  body.foodup-contact-page .fu-dcontact-eyebrow{
    display:inline-flex;
    align-items:center;
    color:var(--fu-primary);
    font-size:12px;
    font-weight:800;
    line-height:1;
    letter-spacing:.085em;
    text-transform:uppercase;
  }

  body.foodup-contact-page .fu-dcontact-kicker{
    min-height:28px;
    justify-content:center;
    margin:0 auto 12px;
    padding:0 11px;
    border:1px solid rgba(255,255,255,.20);
    border-radius:999px;
    background:rgba(255,255,255,.12);
    color:#fff;
    letter-spacing:.06em;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
  }

  body.foodup-contact-page .fu-dcontact-hero h1{
    max-width:760px;
    margin:0 auto;
    color:#fff;
    font-size:var(--fu-contact-hero-title-size);
    font-weight:850;
    line-height:1.02;
    letter-spacing:-.045em;
    text-wrap:balance;
  }

  body.foodup-contact-page .fu-dcontact-hero-copy{
    width:min(100%,840px);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:14px;
  }

  body.foodup-contact-page .fu-dcontact-hero-copy p{
    max-width:620px;
    margin:0 auto;
    color:rgba(255,255,255,.84);
    font-size:16px;
    font-weight:520;
    line-height:1.55;
    text-wrap:balance;
  }

  body.foodup-contact-page .fu-dcontact-actions-shell{
    position:relative;
    z-index:5;
    width:min(var(--fu-site-width),calc(100% - (var(--fu-page-side) * 2)));
    margin:-38px auto 0;
  }

  body.foodup-contact-page .fu-dcontact-actions{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    overflow:hidden;
    border:1px solid var(--fu-dcontact-line);
    border-radius:22px;
    background:#fff;
    box-shadow:0 18px 50px rgba(42,31,21,.12);
  }

  body.foodup-contact-page .fu-dcontact-action{
    min-width:0;
    min-height:94px;
    display:grid;
    grid-template-columns:48px minmax(0,1fr) 18px;
    align-items:center;
    gap:14px;
    padding:19px 22px;
    border-right:1px solid var(--fu-dcontact-line);
    color:var(--fu-dcontact-ink);
    background:#fff;
    transition:background .2s ease;
  }

  body.foodup-contact-page .fu-dcontact-action:last-child{border-right:0}
  body.foodup-contact-page .fu-dcontact-action:hover{background:#faf8f5}

  body.foodup-contact-page .fu-dcontact-action__icon,
  body.foodup-contact-page .fu-dcontact-card__title>span,
  body.foodup-contact-page .fu-dcontact-detail__icon,
  body.foodup-contact-page .fu-dcontact-map__icon,
  body.foodup-contact-page .fu-dcontact-zone__icon{
    display:grid;
    place-items:center;
    background:color-mix(in srgb,var(--fu-primary) 10%,#fff);
    color:var(--fu-primary);
  }

  body.foodup-contact-page .fu-dcontact-action__icon{
    width:46px;
    height:46px;
    border-radius:15px;
    font-size:21px;
  }

  body.foodup-contact-page .fu-dcontact-action__copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:4px;
  }

  body.foodup-contact-page .fu-dcontact-action__copy strong{
    font-size:13px;
    font-weight:800;
  }

  body.foodup-contact-page .fu-dcontact-action__copy small{
    overflow:hidden;
    color:var(--fu-dcontact-muted);
    font-size:12.5px;
    font-weight:500;
    line-height:1.35;
    white-space:nowrap;
    text-overflow:ellipsis;
  }

  body.foodup-contact-page .fu-dcontact-action__arrow{
    color:#aaa39b;
    font-size:16px;
  }

  body.foodup-contact-page .fu-dcontact-content{
    padding:var(--fu-contact-section-padding-y) 0;
  }

  body.foodup-contact-page .fu-dcontact-section+ .fu-dcontact-section{
    margin-top:56px;
  }

  body.foodup-contact-page .fu-dcontact-section--last{
    padding-bottom:4px;
  }

  body.foodup-contact-page .fu-dcontact-section__head{
    margin:0 0 22px;
  }

  body.foodup-contact-page .fu-dcontact-section__head h2{
    margin:8px 0 0;
    color:var(--fu-dcontact-ink);
    font-size:clamp(30px,3.2vw,44px);
    font-weight:850;
    line-height:1.03;
    letter-spacing:-.035em;
  }

  body.foodup-contact-page .fu-dcontact-overview{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(360px,1fr));
    gap:var(--fu-contact-grid-gap);
    align-items:stretch;
  }

  body.foodup-contact-page .fu-dcontact-card,
  body.foodup-contact-page .fu-dcontact-map,
  body.foodup-contact-page .fu-dcontact-zone{
    border:1px solid var(--fu-dcontact-line);
    background:#fff;
    box-shadow:0 8px 28px rgba(40,30,22,.045);
  }

  body.foodup-contact-page .fu-dcontact-card{
    overflow:hidden;
    padding:var(--fu-contact-card-padding);
    border-radius:var(--fu-contact-card-radius);
  }

  body.foodup-contact-page .fu-dcontact-card__title{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:20px;
  }

  body.foodup-contact-page .fu-dcontact-card__title>span{
    width:50px;
    height:50px;
    flex:0 0 50px;
    border-radius:16px;
    font-size:23px;
  }

  body.foodup-contact-page .fu-dcontact-card__title>div{
    min-width:0;
  }

  body.foodup-contact-page .fu-dcontact-card__title small{
    display:block;
    margin-bottom:3px;
    color:#9a938c;
    font-size:10px;
    font-weight:800;
    letter-spacing:.07em;
    text-transform:uppercase;
  }

  body.foodup-contact-page .fu-dcontact-card__title h3{
    margin:0;
    color:#211e1b;
    font-size:22px;
    font-weight:850;
    line-height:1.15;
    letter-spacing:-.02em;
  }

  body.foodup-contact-page .fu-dcontact-hours ul{
    list-style:none;
    margin:0;
    padding:0;
  }

  body.foodup-contact-page .fu-dcontact-hours li{
    min-height:46px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:0 4px;
    border-bottom:1px solid var(--fu-dcontact-line);
    color:#4b4640;
    font-size:13px;
  }

  body.foodup-contact-page .fu-dcontact-hours li:last-child{border-bottom:0}

  body.foodup-contact-page .fu-dcontact-hours li>span{
    display:flex;
    align-items:center;
    gap:8px;
  }

  body.foodup-contact-page .fu-dcontact-hours li strong{
    color:#24211e;
    font-size:12.5px;
    font-weight:750;
    text-align:right;
  }

  body.foodup-contact-page .fu-dcontact-hours li em{
    min-height:21px;
    display:inline-flex;
    align-items:center;
    padding:0 8px;
    border-radius:999px;
    background:color-mix(in srgb,var(--fu-primary) 8%,#fff);
    color:var(--fu-primary);
    font-size:9px;
    font-style:normal;
    font-weight:800;
  }

  body.foodup-contact-page .fu-dcontact-hours li.is-today{
    margin:0 -10px;
    padding:0 14px;
    border-radius:12px;
    background:color-mix(in srgb,var(--fu-primary) 3%,#fff);
  }

  body.foodup-contact-page .fu-dcontact-hours li.is-today>span,
  body.foodup-contact-page .fu-dcontact-hours li.is-today strong{
    color:#171614;
    font-weight:800;
  }

  body.foodup-contact-page .fu-dcontact-detail-list{
    overflow:hidden;
    border:1px solid var(--fu-dcontact-line);
    border-radius:16px;
    background:#fff;
  }

  body.foodup-contact-page .fu-dcontact-detail-list>a{
    min-height:74px;
    display:grid;
    grid-template-columns:42px minmax(0,1fr) 20px;
    align-items:center;
    gap:13px;
    padding:12px 15px;
    border-bottom:1px solid var(--fu-dcontact-line);
    transition:background .2s ease;
  }

  body.foodup-contact-page .fu-dcontact-detail-list>a:last-child{border-bottom:0}
  body.foodup-contact-page .fu-dcontact-detail-list>a:hover{background:#faf8f5}

  body.foodup-contact-page .fu-dcontact-detail__icon{
    width:40px;
    height:40px;
    border-radius:13px;
    font-size:18px;
  }

  body.foodup-contact-page .fu-dcontact-detail__copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:3px;
  }

  body.foodup-contact-page .fu-dcontact-detail__copy small{
    color:#9a938c;
    font-size:10px;
    font-weight:750;
    text-transform:uppercase;
    letter-spacing:.05em;
  }

  body.foodup-contact-page .fu-dcontact-detail__copy strong{
    overflow:hidden;
    color:#2b2723;
    font-size:13px;
    font-weight:780;
    line-height:1.35;
    white-space:nowrap;
    text-overflow:ellipsis;
  }

  body.foodup-contact-page .fu-dcontact-detail-list>a>.ti{
    color:#aaa39b;
    font-size:17px;
  }

  body.foodup-contact-page .fu-dcontact-map{
    overflow:hidden;
    border-radius:var(--fu-contact-card-radius);
  }

  body.foodup-contact-page .fu-dcontact-map iframe{
    width:100%;
    height:var(--fu-contact-map-height);
    min-height:300px;
    display:block;
    border:0;
  }

  body.foodup-contact-page .fu-dcontact-map__footer{
    min-height:88px;
    display:grid;
    grid-template-columns:48px minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
    padding:16px 20px;
    border-top:1px solid var(--fu-dcontact-line);
    background:#fff;
  }

  body.foodup-contact-page .fu-dcontact-map__icon{
    width:46px;
    height:46px;
    border-radius:15px;
    font-size:21px;
  }

  body.foodup-contact-page .fu-dcontact-map__footer>span:nth-child(2){
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:3px;
  }

  body.foodup-contact-page .fu-dcontact-map__footer small{
    color:#9a938c;
    font-size:10px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
  }

  body.foodup-contact-page .fu-dcontact-map__footer strong{
    overflow:hidden;
    color:#2b2723;
    font-size:13px;
    font-weight:800;
    white-space:nowrap;
    text-overflow:ellipsis;
  }

  body.foodup-contact-page .fu-dcontact-map__footer>a{
    min-height:44px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:0 15px;
    border-radius:13px;
    background:var(--fu-primary);
    color:#fff;
    font-size:12px;
    font-weight:800;
    box-shadow:none;
    transition:transform .2s ease,filter .2s ease;
  }

  body.foodup-contact-page .fu-dcontact-map__footer>a:hover{
    color:#fff;
    filter:brightness(1.04);
    transform:translateY(-1px);
  }

  body.foodup-contact-page .fu-dcontact-zones{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
  }

  body.foodup-contact-page .fu-dcontact-zone{
    min-width:0;
    min-height:98px;
    display:grid;
    grid-template-columns:44px minmax(0,1fr) auto;
    align-items:center;
    gap:13px;
    padding:17px;
    border-radius:var(--fu-contact-card-radius);
  }

  body.foodup-contact-page .fu-dcontact-zone__icon{
    width:42px;
    height:42px;
    border-radius:13px;
    font-size:18px;
  }

  body.foodup-contact-page .fu-dcontact-zone__copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:4px;
  }

  body.foodup-contact-page .fu-dcontact-zone__copy strong{
    overflow:hidden;
    color:#25211e;
    font-size:13px;
    font-weight:820;
    white-space:nowrap;
    text-overflow:ellipsis;
  }

  body.foodup-contact-page .fu-dcontact-zone__copy small{
    color:#918a83;
    font-size:10.5px;
    font-weight:600;
  }

  body.foodup-contact-page .fu-dcontact-zone em{
    color:var(--fu-primary);
    font-size:13px;
    font-style:normal;
    font-weight:850;
    white-space:nowrap;
  }

  body.foodup-contact-page .fu-dcontact-muted{
    margin:0;
    color:var(--fu-dcontact-muted);
    font-size:13px;
    line-height:1.6;
  }
}

@media(min-width:769px) and (max-width:1100px){
  body.foodup-contact-page .fu-dcontact-actions-shell{
    width:calc(100% - 48px);
  }

  body.foodup-contact-page .fu-dcontact-action{
    grid-template-columns:42px minmax(0,1fr);
    padding:17px 16px;
  }

  body.foodup-contact-page .fu-dcontact-action__icon{
    width:42px;
    height:42px;
  }

  body.foodup-contact-page .fu-dcontact-action__arrow{display:none}

  body.foodup-contact-page .fu-dcontact-overview{
    grid-template-columns:1fr;
  }

  body.foodup-contact-page .fu-dcontact-zones{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* Contact page reuses the Home motion; touch/mobile reveals only once. */
@media(prefers-reduced-motion:no-preference){
  html.fu-home-motion-js body.foodup-contact-page .fu-mcontact-logo,
  html.fu-home-motion-js body.foodup-contact-page .fu-mcontact-kicker,
  html.fu-home-motion-js body.foodup-contact-page .fu-mcontact-section__head,
  html.fu-home-motion-js body.foodup-contact-page .fu-dcontact-logo,
  html.fu-home-motion-js body.foodup-contact-page .fu-dcontact-kicker,
  html.fu-home-motion-js body.foodup-contact-page .fu-dcontact-section__head{
    opacity:0;
    transform:translate3d(0,18px,0);
    transition:
      opacity .78s cubic-bezier(.2,.72,.24,1) var(--fu-contact-reveal-delay,0ms),
      transform .78s cubic-bezier(.2,.72,.24,1) var(--fu-contact-reveal-delay,0ms);
    will-change:opacity,transform;
  }

  html.fu-home-motion-js body.foodup-contact-page .fu-mcontact-actions,
  html.fu-home-motion-js body.foodup-contact-page .fu-mcontact-card,
  html.fu-home-motion-js body.foodup-contact-page .fu-mcontact-map,
  html.fu-home-motion-js body.foodup-contact-page .fu-dcontact-actions-shell,
  html.fu-home-motion-js body.foodup-contact-page .fu-dcontact-card,
  html.fu-home-motion-js body.foodup-contact-page .fu-dcontact-map,
  html.fu-home-motion-js body.foodup-contact-page .fu-dcontact-zone{
    opacity:0;
    transform:translate3d(0,12px,0) scale(.985);
    transition:
      opacity .74s cubic-bezier(.2,.72,.24,1) var(--fu-contact-reveal-delay,0ms),
      transform .74s cubic-bezier(.2,.72,.24,1) var(--fu-contact-reveal-delay,0ms);
    will-change:opacity,transform;
  }

  html.fu-home-motion-js body.foodup-contact-page .fu-mcontact-hero__image,
  html.fu-home-motion-js body.foodup-contact-page .fu-dcontact-hero__image{
    opacity:.78;
    transform:scale(1.035);
    transition:
      opacity 1.18s cubic-bezier(.2,.72,.24,1),
      transform 1.18s cubic-bezier(.2,.72,.24,1);
    will-change:opacity,transform;
  }

  html.fu-home-motion-js body.foodup-contact-page .is-fu-contact-inview{
    opacity:1;
    transform:none;
  }

  html.fu-home-motion-js body.foodup-contact-page .is-fu-contact-resetting{
    transition:none!important;
  }
}

@media(prefers-reduced-motion:reduce){
  html.fu-home-motion-js body.foodup-contact-page .fu-mcontact-hero__image,
  html.fu-home-motion-js body.foodup-contact-page .fu-mcontact-logo,
  html.fu-home-motion-js body.foodup-contact-page .fu-mcontact-kicker,
  html.fu-home-motion-js body.foodup-contact-page .fu-mcontact-actions,
  html.fu-home-motion-js body.foodup-contact-page .fu-mcontact-section__head,
  html.fu-home-motion-js body.foodup-contact-page .fu-mcontact-card,
  html.fu-home-motion-js body.foodup-contact-page .fu-mcontact-map,
  html.fu-home-motion-js body.foodup-contact-page .fu-dcontact-hero__image,
  html.fu-home-motion-js body.foodup-contact-page .fu-dcontact-logo,
  html.fu-home-motion-js body.foodup-contact-page .fu-dcontact-kicker,
  html.fu-home-motion-js body.foodup-contact-page .fu-dcontact-actions-shell,
  html.fu-home-motion-js body.foodup-contact-page .fu-dcontact-section__head,
  html.fu-home-motion-js body.foodup-contact-page .fu-dcontact-card,
  html.fu-home-motion-js body.foodup-contact-page .fu-dcontact-map,
  html.fu-home-motion-js body.foodup-contact-page .fu-dcontact-zone{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
    animation:none!important;
  }
}

/* =========================================================
   FoodUp Restaurant v0.14.34 — Premium desktop KONTO
   Desktop account layout + unified account button.
   Authentication/account logic remains unchanged.
   ========================================================= */

/* Global Konto / Anmelden control used by the desktop header on every page. */
.account-btn{
  min-height:42px;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:4px max(9px,var(--fu-account-padding-x)) 4px 4px!important;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:max(13px,var(--fu-account-radius))!important;
  background:rgba(18,16,14,.22)!important;
  color:#fff!important;
  font-size:var(--fu-account-font-size)!important;
  font-weight:760!important;
  letter-spacing:-.01em;
  box-shadow:none;
  backdrop-filter:blur(10px) saturate(1.12);
  -webkit-backdrop-filter:blur(10px) saturate(1.12);
  transition:
    transform .22s ease,
    background .22s ease,
    border-color .22s ease,
    color .22s ease,
    box-shadow .22s ease!important;
}

.account-btn__icon{
  width:32px;
  height:32px;
  flex:0 0 32px;
  display:grid!important;
  place-items:center;
  border-radius:10px;
  background:var(--fu-primary);
  color:#fff!important;
  box-shadow:none;
  transition:transform .22s ease,background .22s ease,color .22s ease;
}

.account-btn__icon .ti{
  width:auto!important;
  height:auto!important;
  margin:0!important;
  color:inherit!important;
  font-size:17px!important;
}

.account-btn__label{display:inline!important}

.account-btn__arrow{
  width:auto!important;
  height:auto!important;
  margin:0 0 0 1px!important;
  color:rgba(255,255,255,.72)!important;
  font-size:15px!important;
  transition:transform .22s ease,color .22s ease;
}

.account-btn:hover{
  border-color:var(--fu-primary)!important;
  background:var(--fu-primary)!important;
  color:#fff!important;
  transform:translateY(-1px);
  box-shadow:none!important;
}

.account-btn:hover .account-btn__icon{
  background:rgba(255,255,255,.17)!important;
  color:#fff!important;
  transform:scale(1.03);
}

.account-btn:hover .account-btn__arrow{
  color:#fff!important;
  transform:translateX(2px);
}

/* Sticky and internal headers use a clean white Konto surface. */
body:not(.home) .main-header1.elementor-sticky--effects .account-btn,
body:not(.home) .account-btn{
  min-height:48px;
  gap:9px;
  border-color:rgba(33,29,25,.10)!important;
  border-radius:15px!important;
  background:#fff!important;
  color:#292521!important;
  box-shadow:none!important;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

body:not(.home) .main-header1.elementor-sticky--effects .account-btn__icon,
body:not(.home) .account-btn__icon{
  width:36px;
  height:36px;
  flex-basis:36px;
  border-radius:11px;
  box-shadow:none;
}

body:not(.home) .main-header1.elementor-sticky--effects .account-btn .account-btn__arrow,
body:not(.home) .account-btn .account-btn__arrow{
  color:#9a938b!important;
}

body:not(.home) .main-header1.elementor-sticky--effects .account-btn:hover,
body:not(.home) .account-btn:hover,
body.foodup-account-page .account-btn{
  border-color:var(--fu-primary)!important;
  background:var(--fu-primary)!important;
  color:#fff!important;
}

body:not(.home) .main-header1.elementor-sticky--effects .account-btn:hover .ti,
body:not(.home) .account-btn:hover .ti,
body.foodup-account-page .account-btn .ti,
body.foodup-account-page .account-btn .account-btn__arrow{
  color:#fff!important;
}

body.foodup-account-page .account-btn .account-btn__icon{
  background:rgba(255,255,255,.17)!important;
  box-shadow:none;
}

.fu-daccount-hero,
.fu-daccount-facts-shell{
  display:none;
}

@media(min-width:769px){
  .fu-account-page{
    --fu-daccount-line:rgba(31,26,22,.085);
    --fu-daccount-muted:#7e7770;
    --fu-daccount-soft:#f6f3f0;
    width:100%!important;
    min-height:100vh!important;
    padding:calc(var(--fu-topbar-height) + var(--fu-normal-header-row)) 0 90px!important;
    background:var(--fu-page-bg)!important;
  }

  .fu-daccount-hero{
    position:relative;
    isolation:isolate;
    width:100%;
    min-height:350px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:#1a1816;
    color:#fff;
  }

  .fu-daccount-hero__image{
    position:absolute;
    z-index:-3;
    inset:0;
    width:100%;
    height:100%;
    max-width:none;
    display:block;
    object-fit:cover;
    object-position:center 45%;
  }

  .fu-daccount-hero__shade{
    position:absolute;
    z-index:-2;
    inset:0;
    background:
      linear-gradient(180deg,rgba(11,9,8,.18),rgba(11,9,8,.48) 58%,rgba(11,9,8,.74)),
      linear-gradient(90deg,rgba(11,9,8,.24),rgba(11,9,8,0) 70%);
  }

  .fu-daccount-hero.no-image{
    background:
      radial-gradient(circle at 78% 14%,color-mix(in srgb,var(--fu-primary) 47%,transparent),transparent 34%),
      linear-gradient(145deg,#2b2520,#12100f);
  }

  .fu-daccount-hero__content{
    width:min(780px,calc(100% - 48px));
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:46px 0 70px;
    text-align:center;
  }

  .fu-daccount-logo{
    width:min(132px,18vw);
    margin:0 auto 15px;
    line-height:0;
  }

  .fu-daccount-logo .fu-logo-svg,
  .fu-daccount-logo .fu-logo-svg svg,
  .fu-daccount-logo .fu-logo-image{
    width:100%!important;
    height:auto!important;
    display:block!important;
  }

  .fu-daccount-logo .fu-logo-svg svg *{
    fill:#fff!important;
    stroke:#fff!important;
  }

  .fu-daccount-logo .fu-logo-image{
    filter:brightness(0) invert(1)!important;
  }

  .fu-daccount-kicker{
    min-height:28px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    margin:0 auto 12px;
    padding:0 11px;
    border:1px solid rgba(255,255,255,.22);
    border-radius:999px;
    background:rgba(255,255,255,.11);
    color:#fff;
    font-size:10.5px;
    font-weight:800;
    letter-spacing:.065em;
    text-transform:uppercase;
    backdrop-filter:blur(9px);
    -webkit-backdrop-filter:blur(9px);
  }

  .fu-daccount-kicker .ti{font-size:14px}

  .fu-daccount-hero h1{
    max-width:700px;
    margin:0;
    color:#fff;
    font-size:clamp(38px,4vw,var(--fu-account-title-size));
    font-weight:860;
    line-height:1.02;
    letter-spacing:-.045em;
  }

  .fu-daccount-hero p{
    max-width:620px;
    margin:13px auto 0;
    color:rgba(255,255,255,.82);
    font-size:15px;
    font-weight:520;
    line-height:1.55;
  }

  .fu-daccount-facts-shell{
    position:relative;
    z-index:3;
    width:min(1140px,calc(100% - 48px));
    display:block;
    margin:-44px auto 0;
  }

  .fu-daccount-facts{
    min-height:94px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    overflow:hidden;
    border:1px solid var(--fu-daccount-line);
    border-radius:22px;
    background:#fff;
    box-shadow:0 18px 42px rgba(42,33,24,.10);
  }

  .fu-daccount-fact{
    min-width:0;
    display:grid;
    grid-template-columns:46px minmax(0,1fr);
    align-items:center;
    gap:13px;
    padding:18px 22px;
  }

  .fu-daccount-fact + .fu-daccount-fact{
    border-left:1px solid var(--fu-daccount-line);
  }

  .fu-daccount-fact>span{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border-radius:14px;
    background:color-mix(in srgb,var(--fu-primary) 8%,#fff);
    color:var(--fu-primary);
    font-size:20px;
  }

  .fu-daccount-fact>div{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:4px;
  }

  .fu-daccount-fact strong{
    overflow:hidden;
    color:#25211e;
    font-size:13px;
    font-weight:820;
    white-space:nowrap;
    text-overflow:ellipsis;
  }

  .fu-daccount-fact small{
    overflow:hidden;
    color:#8b847d;
    font-size:10.5px;
    font-weight:570;
    white-space:nowrap;
    text-overflow:ellipsis;
  }

  .fu-account-shell{
    width:min(1140px,calc(100% - 48px))!important;
    max-width:none!important;
    margin:34px auto 0!important;
  }

  .fu-account-alert{
    margin:0 0 18px!important;
    border-radius:15px!important;
  }

  /* Logged-out account: supporting information left, login/register right. */
  .fu-daccount-auth-layout{
    display:grid;
    grid-template-columns:minmax(280px,.78fr) minmax(470px,1.12fr);
    gap:24px;
    align-items:start;
  }

  .fu-account-heading--auth{
    max-width:none!important;
    min-height:100%;
    margin:0!important;
    padding:30px!important;
    border:1px solid rgba(255,255,255,.07);
    border-radius:var(--fu-account-card-radius)!important;
    background:
      radial-gradient(circle at 88% 10%,color-mix(in srgb,var(--fu-primary) 34%,transparent),transparent 34%),
      linear-gradient(145deg,#24201c,#171513);
    color:#fff;
    text-align:left!important;
    box-shadow:0 14px 34px rgba(35,27,20,.10);
  }

  .fu-account-heading--auth .fu-account-eyebrow{
    min-height:25px;
    display:inline-flex;
    align-items:center;
    margin:0 0 13px;
    padding:0 9px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:999px;
    background:rgba(255,255,255,.08);
    color:#fff;
    font-size:9.5px;
    letter-spacing:.07em;
  }

  .fu-account-heading--auth h1{
    margin:0 0 11px!important;
    color:#fff!important;
    font-size:clamp(29px,3vw,38px)!important;
    font-weight:850!important;
    line-height:1.04!important;
    letter-spacing:-.035em!important;
  }

  .fu-account-heading--auth>p{
    max-width:430px;
    margin:0!important;
    color:rgba(255,255,255,.68)!important;
    font-size:13px!important;
    line-height:1.6!important;
  }

  .fu-daccount-benefits{
    display:grid;
    gap:10px;
    margin-top:26px;
  }

  .fu-daccount-benefits>div{
    min-width:0;
    display:grid;
    grid-template-columns:40px minmax(0,1fr);
    align-items:center;
    gap:12px;
    padding:11px 12px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:14px;
    background:rgba(255,255,255,.055);
  }

  .fu-daccount-benefits>div>span{
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:rgba(255,255,255,.11);
    color:var(--fu-primary);
    font-size:18px;
  }

  .fu-daccount-benefits p{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:3px;
    margin:0!important;
  }

  .fu-daccount-benefits strong{
    color:#fff;
    font-size:12px;
    font-weight:800;
  }

  .fu-daccount-benefits small{
    color:rgba(255,255,255,.57);
    font-size:10.5px;
    font-weight:520;
    line-height:1.4;
  }

  .fu-auth-experience{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }

  .fu-auth-switcher{
    margin-bottom:12px!important;
    border-color:var(--fu-daccount-line)!important;
    background:#efedea!important;
    box-shadow:none!important;
  }

  .fu-auth-card{
    border-color:var(--fu-daccount-line)!important;
    box-shadow:0 12px 32px rgba(42,33,24,.075)!important;
  }

  .fu-auth-card__header h2{
    color:#26221e!important;
    font-weight:840!important;
    letter-spacing:-.025em;
  }

  .fu-auth-card__header p{color:#8a837b!important}

  .fu-auth-icon{
    background:color-mix(in srgb,var(--fu-primary) 8%,#fff)!important;
    color:var(--fu-primary)!important;
  }

  .fu-auth-icon .ti{color:inherit!important}

  .fu-input-wrap>.ti{
    position:absolute;
    left:15px;
    top:50%;
    z-index:2;
    transform:translateY(-50%);
    color:#9b948c;
    font-size:18px;
  }

  .fu-password-toggle .ti{color:#8e877f!important}

  /* Logged-in dashboard. */
  .fu-account-heading--dashboard{
    margin:0 0 20px!important;
  }

  .fu-account-heading--dashboard .fu-account-eyebrow{
    margin-bottom:7px;
  }

  .fu-account-heading--dashboard h1{
    margin:0 0 7px!important;
    color:#24201c;
    font-size:clamp(28px,3vw,38px)!important;
    font-weight:850!important;
    letter-spacing:-.035em!important;
  }

  .fu-account-heading--dashboard p{
    color:#817a73!important;
    font-size:13px!important;
  }

  .fu-maccount-order-cta{
    min-height:84px;
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr) 28px;
    align-items:center;
    gap:14px;
    margin:0 0 16px!important;
    padding:14px 18px;
    border-radius:var(--fu-account-card-radius);
    background:linear-gradient(135deg,var(--fu-primary-btn),color-mix(in srgb,var(--fu-primary-btn) 78%,#000));
    color:#fff!important;
    box-shadow:none;
    transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;
  }

  .fu-maccount-order-cta:hover{
    color:#fff!important;
    transform:translateY(-2px);
    filter:brightness(1.025);
    box-shadow:none;
  }

  .fu-maccount-order-cta__icon{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:15px;
    background:rgba(255,255,255,.16);
    color:#fff;
    font-size:21px;
  }

  .fu-maccount-order-cta>span:nth-child(2){
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:3px;
  }

  .fu-maccount-order-cta small{
    color:rgba(255,255,255,.72);
    font-size:9.5px;
    font-weight:760;
    letter-spacing:.065em;
    text-transform:uppercase;
  }

  .fu-maccount-order-cta strong{
    color:#fff;
    font-size:15px;
    font-weight:840;
  }

  .fu-maccount-order-cta>.ti{
    justify-self:end;
    color:#fff;
    font-size:19px;
  }

  .fu-account-dashboard{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px!important;
  }

  .fu-account-card{
    position:relative!important;
    min-height:178px;
    padding:20px!important;
    overflow:hidden!important;
    border:1px solid var(--fu-daccount-line)!important;
    border-radius:var(--fu-account-card-radius)!important;
    background:#fff!important;
    box-shadow:0 8px 24px rgba(42,33,24,.05)!important;
    transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease!important;
  }

  a.fu-account-card:hover{
    border-color:color-mix(in srgb,var(--fu-primary) 28%,var(--fu-daccount-line))!important;
    color:inherit!important;
    transform:translateY(-2px);
    box-shadow:0 14px 30px rgba(42,33,24,.08)!important;
  }

  .fu-account-card__title{
    min-width:0;
    display:flex;
    align-items:center;
    gap:12px;
    margin:0 0 14px;
  }

  .fu-account-card__title>span{
    width:44px;
    height:44px;
    flex:0 0 44px;
    display:grid;
    place-items:center;
    border-radius:14px;
    background:color-mix(in srgb,var(--fu-primary) 8%,#fff);
    color:var(--fu-primary);
    font-size:20px;
  }

  .fu-account-card__title>div{min-width:0}

  .fu-account-card__title small{
    display:block;
    margin-bottom:3px;
    color:#9b948d;
    font-size:9px;
    font-weight:780;
    letter-spacing:.07em;
    text-transform:uppercase;
  }

  .fu-account-card__title h2{
    margin:0!important;
    color:#25211e!important;
    font-size:16px!important;
    font-weight:830!important;
    line-height:1.15!important;
  }

  .fu-account-card p{
    margin:5px 0!important;
    color:#7f7871!important;
    font-size:12px!important;
    line-height:1.5!important;
  }

  .fu-account-card p strong{
    color:#312c28!important;
    font-weight:800!important;
  }

  .fu-account-card--link{
    padding-right:62px!important;
  }

  .fu-account-card--link .fu-account-card__chevron{
    position:absolute!important;
    right:18px!important;
    top:50%!important;
    width:36px!important;
    height:36px!important;
    display:grid!important;
    place-items:center!important;
    transform:translateY(-50%)!important;
    border-radius:11px!important;
    background:color-mix(in srgb,var(--fu-primary) 8%,#fff)!important;
    color:var(--fu-primary)!important;
    font-size:18px!important;
    transition:transform .22s ease,background .22s ease,color .22s ease!important;
  }

  .fu-account-card--link:hover .fu-account-card__chevron{
    background:var(--fu-primary)!important;
    color:#fff!important;
    transform:translate(2px,-50%)!important;
  }

  .fu-account-card--legal p{
    margin:0!important;
    border-top:1px solid var(--fu-daccount-line);
  }

  .fu-account-card--legal p:first-of-type{margin-top:2px!important}

  .fu-account-card--legal p a{
    min-height:38px;
    display:flex;
    align-items:center;
    color:#403a35;
    font-size:11.5px;
    font-weight:720;
  }

  .fu-account-card--legal p a:hover{color:var(--fu-primary)}

  .fu-account-logout{
    min-height:44px;
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    margin:16px 0 0!important;
    padding:0 16px;
    border:1px solid #efcfcc;
    border-radius:13px;
    background:#fff8f7;
    color:#b42318!important;
    font-size:12px;
    font-weight:800!important;
    transition:background .2s ease,border-color .2s ease,transform .2s ease;
  }

  .fu-account-logout:hover{
    border-color:#eab4af;
    background:#fff2f0;
    transform:translateY(-1px);
  }
}

@media(min-width:769px) and (max-width:980px){
  .fu-daccount-hero{min-height:320px}
  .fu-daccount-facts-shell{width:calc(100% - 40px)}
  .fu-daccount-fact{padding:16px 14px;gap:10px}
  .fu-daccount-fact>span{width:42px;height:42px}
  .fu-account-shell{width:calc(100% - 40px)!important}

  .fu-daccount-auth-layout{
    grid-template-columns:1fr;
  }

  .fu-account-heading--auth{
    min-height:auto;
  }

  .fu-daccount-benefits{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .fu-daccount-benefits>div{
    grid-template-columns:36px minmax(0,1fr);
    padding:10px;
  }

  .fu-daccount-benefits>div>span{width:36px;height:36px}
  .fu-daccount-benefits small{font-size:9.5px}

  .fu-account-dashboard{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Mobile header Konto button keeps the same icon language without crowding. */
@media(max-width:900px){
  .account-btn{
    width:42px!important;
    min-width:42px!important;
    height:42px!important;
    min-height:42px!important;
    padding:4px!important;
    border-radius:13px!important;
    gap:0!important;
  }

  .account-btn .account-btn__icon{
    width:32px!important;
    height:32px!important;
    display:grid!important;
    margin:0!important;
  }

  .account-btn .account-btn__label,
  .account-btn .account-btn__arrow{
    display:none!important;
  }
}

/* Konto page scroll reveals — desktop replay; touch/mobile reveal once. */
@media(prefers-reduced-motion:no-preference){
  html.fu-home-motion-js .fu-account-page .fu-daccount-logo,
  html.fu-home-motion-js .fu-account-page .fu-daccount-kicker,
  html.fu-home-motion-js .fu-account-page .fu-daccount-hero h1,
  html.fu-home-motion-js .fu-account-page .fu-daccount-hero p,
  html.fu-home-motion-js .fu-account-page .fu-account-heading--dashboard{
    opacity:0;
    transform:translate3d(0,18px,0);
    transition:
      opacity .78s cubic-bezier(.2,.72,.24,1) var(--fu-account-reveal-delay,0ms),
      transform .78s cubic-bezier(.2,.72,.24,1) var(--fu-account-reveal-delay,0ms);
    will-change:opacity,transform;
  }

  html.fu-home-motion-js .fu-account-page .fu-daccount-facts-shell,
  html.fu-home-motion-js .fu-account-page .fu-daccount-auth-layout,
  html.fu-home-motion-js .fu-account-page .fu-maccount-order-cta,
  html.fu-home-motion-js .fu-account-page .fu-account-card{
    opacity:0;
    transform:translate3d(0,12px,0) scale(.985);
    transition:
      opacity .74s cubic-bezier(.2,.72,.24,1) var(--fu-account-reveal-delay,0ms),
      transform .74s cubic-bezier(.2,.72,.24,1) var(--fu-account-reveal-delay,0ms);
    will-change:opacity,transform;
  }

  html.fu-home-motion-js .fu-account-page .fu-daccount-hero__image,
  html.fu-home-motion-js .fu-account-page .fu-maccount-hero__image{
    opacity:.78;
    transform:scale(1.035);
    transition:
      opacity 1.18s cubic-bezier(.2,.72,.24,1),
      transform 1.18s cubic-bezier(.2,.72,.24,1);
    will-change:opacity,transform;
  }

  html.fu-home-motion-js .fu-account-page .is-fu-account-inview{
    opacity:1;
    transform:none;
  }

  html.fu-home-motion-js .fu-account-page .is-fu-account-resetting{
    transition:none!important;
  }
}

@media(prefers-reduced-motion:reduce){
  html.fu-home-motion-js .fu-account-page .fu-daccount-hero__image,
  html.fu-home-motion-js .fu-account-page .fu-daccount-logo,
  html.fu-home-motion-js .fu-account-page .fu-daccount-kicker,
  html.fu-home-motion-js .fu-account-page .fu-daccount-hero h1,
  html.fu-home-motion-js .fu-account-page .fu-daccount-hero p,
  html.fu-home-motion-js .fu-account-page .fu-daccount-facts-shell,
  html.fu-home-motion-js .fu-account-page .fu-daccount-auth-layout,
  html.fu-home-motion-js .fu-account-page .fu-maccount-hero__image,
  html.fu-home-motion-js .fu-account-page .fu-account-heading--dashboard,
  html.fu-home-motion-js .fu-account-page .fu-maccount-order-cta,
  html.fu-home-motion-js .fu-account-page .fu-account-card{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
    animation:none!important;
  }
}

/* =========================================================
   FoodUp Restaurant v0.14.35 — SYSTEM / SECONDARY PAGES
   Prevent raw WordPress/WooCommerce fallback screens from surfacing.
   Covers account endpoints, generic pages, search, archives, single and 404.
   ========================================================= */
:root{
  --fu-system-surface:#fff;
  --fu-system-soft:#f6f4f1;
  --fu-system-ink:#171614;
  --fu-system-muted:#756f68;
  --fu-system-line:rgba(25,21,17,.09);
  --fu-system-shadow:0 18px 50px rgba(32,25,18,.08);
  --fu-system-radius:24px;
}

.fu-system-page{
  min-height:100vh;
  padding:
    calc(var(--fu-topbar-height) + var(--fu-normal-header-row) + 38px)
    0 88px !important;
  background:var(--fu-page-bg,#f4f5f7) !important;
  color:var(--fu-system-ink);
}

.fu-system-page__wrap{
  width:min(1040px,calc(100% - 48px));
  margin:0 auto;
}

.fu-system-page__wrap--centered{
  width:min(760px,calc(100% - 48px));
  min-height:calc(100vh - 240px);
  display:grid;
  place-items:center;
}

.fu-system-hero{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:20px;
  margin-bottom:18px;
  padding:28px 30px;
  overflow:hidden;
  border:1px solid var(--fu-system-line);
  border-radius:var(--fu-system-radius);
  background:
    radial-gradient(circle at 96% 0%,color-mix(in srgb,var(--fu-primary) 10%,transparent),transparent 34%),
    #fff;
  box-shadow:0 10px 30px rgba(32,25,18,.05);
  animation:fuSystemRise .78s cubic-bezier(.2,.7,.2,1) both;
}

.fu-system-hero__icon,
.fu-system-empty__icon,
.fu-system-result-card__icon{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  color:var(--fu-primary);
  background:color-mix(in srgb,var(--fu-primary) 10%,#fff);
}

.fu-system-hero__icon{
  width:60px;
  height:60px;
  border-radius:18px;
  font-size:27px;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--fu-primary) 12%,transparent);
}

.fu-system-hero__copy{min-width:0}
.fu-system-eyebrow{
  display:block;
  margin:0 0 5px;
  color:var(--fu-primary);
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  line-height:1.2;
  text-transform:uppercase;
}
.fu-system-hero h1,
.fu-error-card h1{
  margin:0;
  color:var(--fu-system-ink);
  font-size:clamp(29px,3vw,42px);
  font-weight:800;
  letter-spacing:-.035em;
  line-height:1.08;
}
.fu-system-hero p,
.fu-error-card > p,
.fu-system-empty > p{
  max-width:720px;
  margin:9px 0 0;
  color:var(--fu-system-muted);
  font-size:15px;
  line-height:1.65;
}

.fu-system-card{
  width:100%;
  padding:30px;
  border:1px solid var(--fu-system-line);
  border-radius:var(--fu-system-radius);
  background:var(--fu-system-surface);
  box-shadow:var(--fu-system-shadow);
  animation:fuSystemRise .78s .06s cubic-bezier(.2,.7,.2,1) both;
}

.fu-system-content{
  color:#2d2925;
  font-size:15px;
  line-height:1.75;
}
.fu-system-content > :first-child{margin-top:0}
.fu-system-content > :last-child{margin-bottom:0}
.fu-system-content h1,
.fu-system-content h2,
.fu-system-content h3,
.fu-system-content h4{
  color:var(--fu-system-ink);
  line-height:1.2;
  letter-spacing:-.02em;
}
.fu-system-content a:not(.button):not(.fu-system-btn){color:var(--fu-primary);font-weight:700}

.fu-system-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}
.fu-system-actions--below{justify-content:flex-start;margin-top:18px}
.fu-system-btn{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:0 18px;
  border:1px solid transparent;
  border-radius:14px;
  font-size:14px;
  font-weight:800;
  line-height:1;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease;
}
.fu-system-btn:hover{transform:translateY(-1px)}
.fu-system-btn--primary{
  color:#fff;
  background:var(--fu-primary);
  box-shadow:none;
}
.fu-system-btn--secondary{
  color:#25211d;
  border-color:var(--fu-system-line);
  background:#fff;
  box-shadow:none;
}
.fu-system-text-link{
  width:max-content;
  display:flex;
  align-items:center;
  gap:7px;
  margin:22px auto 0;
  color:#716b65;
  font-size:13px;
  font-weight:700;
}
.fu-system-text-link:hover{color:var(--fu-primary)}

/* 404 */
.fu-error-card{
  position:relative;
  max-width:720px;
  padding:52px 54px;
  text-align:center;
  overflow:hidden;
}
.fu-error-code{
  position:absolute;
  right:-18px;
  top:-45px;
  color:color-mix(in srgb,var(--fu-primary) 7%,transparent);
  font-size:180px;
  font-weight:900;
  letter-spacing:-.08em;
  line-height:1;
  pointer-events:none;
  user-select:none;
}
.fu-system-empty__icon{
  width:52px;
  height:52px;
  margin:0 auto 14px;
  border-radius:16px;
  font-size:24px;
}
.fu-system-empty__icon--large{width:66px;height:66px;border-radius:20px;font-size:31px}
.fu-error-card .fu-system-eyebrow{margin-bottom:8px}
.fu-error-card > p{margin-left:auto;margin-right:auto}

/* Search / archive / fallback results */
.fu-search-card{padding:18px;margin-bottom:18px}
.fu-system-search{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:58px;
  padding:7px 7px 7px 17px;
  border:1px solid var(--fu-system-line);
  border-radius:17px;
  background:#faf9f7;
}
.fu-system-search > span{color:#928b84;font-size:20px}
.fu-system-search input{
  width:100%;
  min-width:0;
  height:42px;
  padding:0;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--fu-system-ink);
}
.fu-system-search button{
  height:44px;
  padding:0 18px;
  border:0;
  border-radius:12px;
  color:#fff;
  background:var(--fu-primary);
  font-weight:800;
  cursor:pointer;
}
.fu-system-results{display:grid;gap:12px}
.fu-system-result-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:16px;
  padding:22px;
  border:1px solid var(--fu-system-line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 8px 24px rgba(32,25,18,.045);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.fu-system-result-card:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--fu-primary) 18%,var(--fu-system-line));
  box-shadow:0 14px 34px rgba(32,25,18,.07);
}
.fu-system-result-card__icon{width:46px;height:46px;border-radius:14px;font-size:20px}
.fu-system-result-card h2{margin:1px 0 7px;font-size:18px;line-height:1.25}
.fu-system-result-card p{margin:0 0 10px;color:var(--fu-system-muted);font-size:14px;line-height:1.55}
.fu-system-result-card__link{display:inline-flex;align-items:center;gap:6px;color:var(--fu-primary);font-size:13px;font-weight:800}
.fu-system-empty{text-align:center}
.fu-system-empty h2{margin:0;color:var(--fu-system-ink);font-size:22px}
.fu-system-empty > p{margin-left:auto;margin-right:auto}
.fu-system-pagination{margin-top:20px}
.fu-system-pagination .nav-links{display:flex;justify-content:center;gap:6px}
.fu-system-pagination .page-numbers{
  min-width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid var(--fu-system-line);
  border-radius:11px;
  background:#fff;
  font-size:13px;
  font-weight:800;
}
.fu-system-pagination .page-numbers.current{color:#fff;border-color:var(--fu-primary);background:var(--fu-primary)}

/* WooCommerce / account secondary screens */
.foodup-account-subpage .fu-system-page{
  padding-top:calc(var(--fu-topbar-height) + var(--fu-normal-header-row) + 38px)!important;
}
.fu-system-card--account{padding:28px}
.fu-system-account-page .woocommerce{
  color:var(--fu-system-ink);
  font-family:'Inter',Arial,sans-serif;
}
.fu-system-account-page .woocommerce::before,
.fu-system-account-page .woocommerce::after{content:none!important}

.fu-system-account-page .woocommerce-MyAccount-navigation{
  width:100%!important;
  float:none!important;
  margin:0 0 22px!important;
}
.fu-system-account-page .woocommerce-MyAccount-navigation ul{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.fu-system-account-page .woocommerce-MyAccount-navigation li{margin:0!important;padding:0!important}
.fu-system-account-page .woocommerce-MyAccount-navigation a{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  padding:0 13px;
  border:1px solid var(--fu-system-line);
  border-radius:12px;
  color:#5f5953;
  background:#faf9f7;
  font-size:12px;
  font-weight:800;
}
.fu-system-account-page .woocommerce-MyAccount-navigation .is-active a{
  color:#fff;
  border-color:var(--fu-primary);
  background:var(--fu-primary);
}
.fu-system-account-page .woocommerce-MyAccount-content{
  width:100%!important;
  float:none!important;
}

.fu-system-account-page .woocommerce h2,
.fu-system-account-page .woocommerce h3{
  margin:0 0 16px;
  color:var(--fu-system-ink);
  font-weight:800;
  letter-spacing:-.02em;
}
.fu-system-account-page .woocommerce p{
  color:#625d57;
  font-size:14px;
  line-height:1.65;
}
.fu-system-account-page .woocommerce form{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.fu-system-account-page .woocommerce .form-row{
  margin:0 0 15px!important;
  padding:0!important;
}
.fu-system-account-page .woocommerce label{
  display:block;
  margin:0 0 7px;
  color:#302c28;
  font-size:13px;
  font-weight:750;
}
.fu-system-account-page .woocommerce .required{color:var(--fu-primary)}
.fu-system-account-page .woocommerce input.input-text,
.fu-system-account-page .woocommerce input[type="text"],
.fu-system-account-page .woocommerce input[type="email"],
.fu-system-account-page .woocommerce input[type="password"],
.fu-system-account-page .woocommerce input[type="tel"],
.fu-system-account-page .woocommerce select,
.fu-system-account-page .woocommerce textarea,
.fu-system-card input[type="text"],
.fu-system-card input[type="email"],
.fu-system-card input[type="password"],
.fu-system-card input[type="tel"],
.fu-system-card input[type="search"],
.fu-system-card select,
.fu-system-card textarea{
  width:100%;
  min-height:50px;
  padding:0 14px;
  border:1px solid #dedbd7!important;
  border-radius:13px!important;
  outline:0;
  color:var(--fu-system-ink);
  background:#fff!important;
  box-shadow:0 1px 2px rgba(24,19,14,.02)!important;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.fu-system-account-page .woocommerce textarea,
.fu-system-card textarea{min-height:120px;padding-top:12px;resize:vertical}
.fu-system-account-page .woocommerce input:focus,
.fu-system-account-page .woocommerce select:focus,
.fu-system-account-page .woocommerce textarea:focus,
.fu-system-card input:focus,
.fu-system-card select:focus,
.fu-system-card textarea:focus{
  border-color:color-mix(in srgb,var(--fu-primary) 55%,#dedbd7)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--fu-primary) 10%,transparent)!important;
}

.fu-system-account-page .woocommerce button.button,
.fu-system-account-page .woocommerce a.button,
.fu-system-account-page .woocommerce input.button,
.fu-system-account-page .woocommerce .woocommerce-Button,
.fu-system-account-page .woocommerce .button{
  min-height:48px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:13px!important;
  color:#fff!important;
  background:var(--fu-primary)!important;
  box-shadow:none!important;
  font-family:'Inter',Arial,sans-serif!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1!important;
  text-decoration:none!important;
  cursor:pointer!important;
}
.fu-system-account-page .woocommerce button.button:hover,
.fu-system-account-page .woocommerce a.button:hover,
.fu-system-account-page .woocommerce input.button:hover{filter:brightness(.96)}

.fu-system-account-page .woocommerce-ResetPassword,
.fu-system-account-page form.lost_reset_password{
  max-width:660px;
  margin:0!important;
}
.fu-system-account-page .woocommerce-ResetPassword > p:first-child,
.fu-system-account-page form.lost_reset_password > p:first-child{
  margin-top:0;
  margin-bottom:22px;
  padding:14px 16px;
  border:1px solid color-mix(in srgb,var(--fu-primary) 14%,var(--fu-system-line));
  border-radius:14px;
  color:#5d5750;
  background:color-mix(in srgb,var(--fu-primary) 5%,#fff);
}

.fu-system-account-page .woocommerce-message,
.fu-system-account-page .woocommerce-info,
.fu-system-account-page .woocommerce-error,
.fu-system-card .woocommerce-message,
.fu-system-card .woocommerce-info,
.fu-system-card .woocommerce-error{
  margin:0 0 18px!important;
  padding:14px 16px!important;
  border:1px solid var(--fu-system-line)!important;
  border-top:0!important;
  border-radius:14px!important;
  background:#faf9f7!important;
  color:#4f4943!important;
  box-shadow:none!important;
  list-style:none!important;
  font-size:13px!important;
  line-height:1.55!important;
}
.fu-system-account-page .woocommerce-message::before,
.fu-system-account-page .woocommerce-info::before,
.fu-system-account-page .woocommerce-error::before{display:none!important}
.fu-system-account-page .woocommerce-error{border-color:#f0c7c7!important;background:#fff7f7!important;color:#8f3131!important}
.fu-system-account-page .woocommerce-message{border-color:#cfe5d4!important;background:#f5fbf6!important;color:#356a41!important}

.fu-system-account-page table.shop_table{
  width:100%;
  border-collapse:separate!important;
  border-spacing:0!important;
  overflow:hidden;
  border:1px solid var(--fu-system-line)!important;
  border-radius:16px!important;
  background:#fff;
}
.fu-system-account-page table.shop_table th,
.fu-system-account-page table.shop_table td{
  padding:13px 14px!important;
  border:0!important;
  border-bottom:1px solid var(--fu-system-line)!important;
  text-align:left;
  font-size:13px;
}
.fu-system-account-page table.shop_table tr:last-child td{border-bottom:0!important}
.fu-system-account-page .woocommerce-Addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.fu-system-account-page .woocommerce-Addresses .col-1,
.fu-system-account-page .woocommerce-Addresses .col-2{
  width:100%!important;
  float:none!important;
  padding:18px!important;
  border:1px solid var(--fu-system-line);
  border-radius:16px;
  background:#faf9f7;
}

/* WordPress password-protected content and misc fallback forms. */
.fu-system-card .post-password-form{max-width:640px;margin:0}
.fu-system-card .post-password-form p{color:var(--fu-system-muted);line-height:1.6}
.fu-system-card .post-password-form input[type="submit"]{
  min-height:48px;
  margin-top:10px;
  padding:0 18px;
  border:0;
  border-radius:13px;
  color:#fff;
  background:var(--fu-primary);
  font-weight:800;
  cursor:pointer;
}

@keyframes fuSystemRise{
  from{opacity:0;transform:translate3d(0,14px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}

@media(max-width:768px){
  .fu-system-page,
  .foodup-account-subpage .fu-system-page{
    padding:calc(64px + 16px) 0 calc(104px + env(safe-area-inset-bottom))!important;
  }
  .fu-system-page__wrap,
  .fu-system-page__wrap--centered{
    width:calc(100% - 24px);
    min-height:0;
  }
  .fu-system-hero{
    grid-template-columns:1fr;
    gap:13px;
    padding:20px;
    border-radius:20px;
  }
  .fu-system-hero__icon{width:50px;height:50px;border-radius:15px;font-size:23px}
  .fu-system-hero h1,.fu-error-card h1{font-size:29px}
  .fu-system-hero p,.fu-error-card > p,.fu-system-empty > p{font-size:14px}
  .fu-system-card{padding:20px;border-radius:20px}
  .fu-error-card{padding:36px 22px}
  .fu-error-code{right:-12px;top:-24px;font-size:112px}
  .fu-system-actions,
  .fu-system-actions--below{display:grid;grid-template-columns:1fr;width:100%}
  .fu-system-btn{width:100%}
  .fu-system-search{grid-template-columns:auto minmax(0,1fr);padding-right:10px}
  .fu-system-search button{grid-column:1/-1;width:100%}
  .fu-system-result-card{padding:17px;gap:12px;border-radius:17px}
  .fu-system-result-card__icon{width:42px;height:42px}
  .fu-system-account-page .woocommerce-MyAccount-navigation ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .fu-system-account-page .woocommerce-MyAccount-navigation a{width:100%;justify-content:center;text-align:center}
  .fu-system-account-page .woocommerce-Addresses{grid-template-columns:1fr}
  .fu-system-account-page table.shop_table{display:block;overflow-x:auto}
}

@media(max-width:390px){
  .fu-system-account-page .woocommerce-MyAccount-navigation ul{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  .fu-system-hero,.fu-system-card{animation:none!important}
  .fu-system-btn,.fu-system-result-card{transition:none!important}
}


/* =========================================================
   FoodUp Restaurant v0.14.36 — FORM / SYSTEM PAGE POLISH
   Shared form proportions + canonical action buttons.
   ========================================================= */

/* Registration layout: keep related fields visually paired. */
.fu-auth-form .fu-form-row--contact{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
}
.fu-auth-form .fu-form-row--address{
  grid-template-columns:minmax(0,4fr) minmax(72px,1fr)!important;
  gap:10px!important;
}
.fu-auth-form .fu-form-row--address > *{
  min-width:0!important;
}
.fu-auth-form .fu-house-number{
  width:100%!important;
  min-width:0!important;
  padding-left:12px!important;
  padding-right:12px!important;
  text-align:center!important;
}

/* WooCommerce sometimes renders endpoint forms without an outer .woocommerce wrapper.
   Style their actions at the FoodUp system-card level as well. */
.fu-system-card button.button,
.fu-system-card input.button,
.fu-system-card a.button,
.fu-system-card .woocommerce-Button,
.fu-system-card .woocommerce-button,
.fu-system-card form:not(.fu-system-search) button[type="submit"],
.fu-system-card form:not(.fu-system-search) input[type="submit"],
.fu-system-card button[type="submit"].woocommerce-Button,
.fu-system-card button[type="submit"].button{
  min-height:48px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:0 20px!important;
  border:0!important;
  border-radius:13px!important;
  color:#fff!important;
  background:var(--fu-primary)!important;
  box-shadow:none!important;
  font-family:'Inter',Arial,sans-serif!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1!important;
  text-decoration:none!important;
  cursor:pointer!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}
.fu-system-card button.button:hover,
.fu-system-card input.button:hover,
.fu-system-card a.button:hover,
.fu-system-card .woocommerce-Button:hover,
.fu-system-card .woocommerce-button:hover,
.fu-system-card form:not(.fu-system-search) button[type="submit"]:hover,
.fu-system-card form:not(.fu-system-search) input[type="submit"]:hover{
  transform:translateY(-1px)!important;
  filter:brightness(.98)!important;
  box-shadow:none!important;
}
.fu-system-card button.button:active,
.fu-system-card input.button:active,
.fu-system-card a.button:active,
.fu-system-card .woocommerce-Button:active,
.fu-system-card .woocommerce-button:active,
.fu-system-card form:not(.fu-system-search) button[type="submit"]:active,
.fu-system-card form:not(.fu-system-search) input[type="submit"]:active{
  transform:translateY(0)!important;
}

/* Lost/reset password and similar task forms should read as one focused action area. */
.fu-system-card .woocommerce-ResetPassword,
.fu-system-card form.lost_reset_password{
  max-width:660px;
  margin:0!important;
}
.fu-system-card .woocommerce-ResetPassword .form-row,
.fu-system-card form.lost_reset_password .form-row{
  width:100%!important;
  float:none!important;
}

@media(max-width:768px){
  /* Contact fields stack on phones; street + number keep the requested 80/20 relationship. */
  .fu-auth-form .fu-form-row--contact{
    grid-template-columns:1fr!important;
  }
  .fu-auth-form .fu-form-row--address{
    grid-template-columns:minmax(0,4fr) minmax(64px,1fr)!important;
    gap:8px!important;
  }

  /* Primary task actions remain easy to tap on small screens. */
  .fu-system-card button.button,
  .fu-system-card input.button,
  .fu-system-card a.button,
  .fu-system-card .woocommerce-Button,
  .fu-system-card .woocommerce-button,
  .fu-system-card form:not(.fu-system-search) button[type="submit"],
  .fu-system-card form:not(.fu-system-search) input[type="submit"]{
    min-height:50px!important;
    width:100%!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .fu-system-card button.button,
  .fu-system-card input.button,
  .fu-system-card a.button,
  .fu-system-card .woocommerce-Button,
  .fu-system-card .woocommerce-button,
  .fu-system-card form:not(.fu-system-search) button[type="submit"],
  .fu-system-card form:not(.fu-system-search) input[type="submit"]{
    transition:none!important;
  }
}


/* =========================================================
   FoodUp Restaurant v0.14.37 — WOOCOMMERCE STATE / NOTICE HARDENING
   Normalize focused notices, validation states and secondary account controls.
   ========================================================= */

/* WooCommerce programmatically focuses notices after a failed action. Keep that
   accessible state visually consistent instead of exposing the browser's heavy
   black focus outline. Also neutralize Woo's legacy pseudo-icons so they never
   collide with notice copy. */
.fu-system-account-page .woocommerce-notices-wrapper:empty,
.fu-system-card .woocommerce-notices-wrapper:empty{
  display:none!important;
}

.fu-system-account-page .woocommerce-message,
.fu-system-account-page .woocommerce-info,
.fu-system-account-page .woocommerce-error,
.fu-system-card .woocommerce-message,
.fu-system-card .woocommerce-info,
.fu-system-card .woocommerce-error{
  position:relative!important;
  width:100%!important;
  margin:0 0 18px!important;
  padding:14px 16px!important;
  border:1px solid var(--fu-system-line)!important;
  border-top-width:1px!important;
  border-radius:14px!important;
  outline:0!important;
  background:#faf9f7!important;
  color:#4f4943!important;
  box-shadow:none!important;
  list-style:none!important;
  font-family:'Inter',Arial,sans-serif!important;
  font-size:13px!important;
  font-weight:600!important;
  line-height:1.55!important;
}
.fu-system-account-page .woocommerce-message:focus,
.fu-system-account-page .woocommerce-info:focus,
.fu-system-account-page .woocommerce-error:focus,
.fu-system-card .woocommerce-message:focus,
.fu-system-card .woocommerce-info:focus,
.fu-system-card .woocommerce-error:focus{
  outline:0!important;
  box-shadow:0 0 0 3px rgba(17,17,17,.035)!important;
}
.fu-system-account-page .woocommerce-error,
.fu-system-card .woocommerce-error{
  border-color:#efc7c7!important;
  background:#fff7f7!important;
  color:#8f3131!important;
}
.fu-system-account-page .woocommerce-message,
.fu-system-card .woocommerce-message{
  border-color:#cfe5d4!important;
  background:#f5fbf6!important;
  color:#356a41!important;
}
.fu-system-account-page .woocommerce-info,
.fu-system-card .woocommerce-info{
  border-color:#d9dde3!important;
  background:#f8f9fb!important;
  color:#535b66!important;
}

.fu-system-account-page .woocommerce-message::before,
.fu-system-account-page .woocommerce-message::after,
.fu-system-account-page .woocommerce-info::before,
.fu-system-account-page .woocommerce-info::after,
.fu-system-account-page .woocommerce-error::before,
.fu-system-account-page .woocommerce-error::after,
.fu-system-card .woocommerce-message::before,
.fu-system-card .woocommerce-message::after,
.fu-system-card .woocommerce-info::before,
.fu-system-card .woocommerce-info::after,
.fu-system-card .woocommerce-error::before,
.fu-system-card .woocommerce-error::after,
.fu-system-account-page .woocommerce-message li::before,
.fu-system-account-page .woocommerce-message li::after,
.fu-system-account-page .woocommerce-info li::before,
.fu-system-account-page .woocommerce-info li::after,
.fu-system-account-page .woocommerce-error li::before,
.fu-system-account-page .woocommerce-error li::after,
.fu-system-card .woocommerce-message li::before,
.fu-system-card .woocommerce-message li::after,
.fu-system-card .woocommerce-info li::before,
.fu-system-card .woocommerce-info li::after,
.fu-system-card .woocommerce-error li::before,
.fu-system-card .woocommerce-error li::after{
  content:none!important;
  display:none!important;
}
.fu-system-account-page .woocommerce-message li,
.fu-system-account-page .woocommerce-info li,
.fu-system-account-page .woocommerce-error li,
.fu-system-card .woocommerce-message li,
.fu-system-card .woocommerce-info li,
.fu-system-card .woocommerce-error li{
  margin:0!important;
  padding:0!important;
  border:0!important;
  color:inherit!important;
  background:transparent!important;
  list-style:none!important;
  font:inherit!important;
}
.fu-system-account-page .woocommerce-message li + li,
.fu-system-account-page .woocommerce-info li + li,
.fu-system-account-page .woocommerce-error li + li,
.fu-system-card .woocommerce-message li + li,
.fu-system-card .woocommerce-info li + li,
.fu-system-card .woocommerce-error li + li{
  margin-top:7px!important;
  padding-top:7px!important;
  border-top:1px solid rgba(17,17,17,.07)!important;
}
.fu-system-account-page .woocommerce-message a,
.fu-system-account-page .woocommerce-info a,
.fu-system-account-page .woocommerce-error a,
.fu-system-card .woocommerce-message a,
.fu-system-card .woocommerce-info a,
.fu-system-card .woocommerce-error a{
  color:inherit!important;
  font-weight:800!important;
  text-decoration:underline!important;
  text-underline-offset:2px;
}

/* Woo Blocks notices can appear on newer WooCommerce account/payment screens. */
.fu-system-account-page .wc-block-components-notice-banner,
.fu-system-card .wc-block-components-notice-banner{
  display:block!important;
  margin:0 0 18px!important;
  padding:14px 16px!important;
  border:1px solid #d9dde3!important;
  border-radius:14px!important;
  outline:0!important;
  background:#f8f9fb!important;
  color:#535b66!important;
  box-shadow:none!important;
  font-family:'Inter',Arial,sans-serif!important;
  font-size:13px!important;
  line-height:1.55!important;
}
.fu-system-account-page .wc-block-components-notice-banner.is-error,
.fu-system-card .wc-block-components-notice-banner.is-error{
  border-color:#efc7c7!important;
  background:#fff7f7!important;
  color:#8f3131!important;
}
.fu-system-account-page .wc-block-components-notice-banner.is-success,
.fu-system-card .wc-block-components-notice-banner.is-success{
  border-color:#cfe5d4!important;
  background:#f5fbf6!important;
  color:#356a41!important;
}
.fu-system-account-page .wc-block-components-notice-banner > svg,
.fu-system-card .wc-block-components-notice-banner > svg{
  display:none!important;
}
.fu-system-account-page .wc-block-components-notice-banner__content,
.fu-system-card .wc-block-components-notice-banner__content{
  margin:0!important;
  padding:0!important;
  color:inherit!important;
}

/* Keep password-request notices aligned with the focused form rather than
   stretching to the full system-card width. */
body.foodup-account-endpoint-lost-password .fu-system-card .woocommerce-notices-wrapper,
body.foodup-account-endpoint-lost-password .fu-system-card > .woocommerce-error,
body.foodup-account-endpoint-lost-password .fu-system-card > .woocommerce-info,
body.foodup-account-endpoint-lost-password .fu-system-card > .woocommerce-message{
  max-width:660px!important;
}

/* Validation states: no browser/Woo default red/green borders leaking through. */
.fu-system-account-page .woocommerce-invalid input.input-text,
.fu-system-account-page .woocommerce-invalid select,
.fu-system-account-page .woocommerce-invalid textarea,
.fu-system-card .woocommerce-invalid input,
.fu-system-card .woocommerce-invalid select,
.fu-system-card .woocommerce-invalid textarea,
.fu-system-card [aria-invalid="true"]{
  border-color:#dfa0a0!important;
  box-shadow:0 0 0 3px rgba(180,42,42,.07)!important;
}
.fu-system-account-page .woocommerce-validated input.input-text,
.fu-system-account-page .woocommerce-validated select,
.fu-system-account-page .woocommerce-validated textarea{
  border-color:#c8d9cc!important;
  box-shadow:none!important;
}

/* Checkbox/radio rows should not inherit the block label layout used by text inputs. */
.fu-system-account-page .woocommerce label.woocommerce-form__label-for-checkbox,
.fu-system-account-page .woocommerce label.checkbox,
.fu-system-card label.woocommerce-form__label-for-checkbox,
.fu-system-card label.checkbox{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:4px 0 12px!important;
  cursor:pointer;
}
.fu-system-account-page input[type="checkbox"],
.fu-system-account-page input[type="radio"],
.fu-system-card input[type="checkbox"],
.fu-system-card input[type="radio"]{
  width:16px!important;
  height:16px!important;
  min-height:0!important;
  margin:0!important;
  accent-color:var(--fu-primary);
  box-shadow:none!important;
}

/* Password helpers are often rendered with raw WooCommerce defaults. */
.fu-system-account-page .password-input,
.fu-system-card .password-input{
  position:relative!important;
  display:block!important;
  width:100%!important;
}
.fu-system-account-page .password-input input,
.fu-system-card .password-input input{
  padding-right:48px!important;
}
.fu-system-account-page .show-password-input,
.fu-system-card .show-password-input{
  right:12px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  margin:0!important;
}
.fu-system-account-page .woocommerce-password-strength,
.fu-system-card .woocommerce-password-strength{
  margin-top:8px!important;
  padding:8px 10px!important;
  border:0!important;
  border-radius:10px!important;
  background:#f1f2f4!important;
  color:#68615b!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.35!important;
  text-align:left!important;
}
.fu-system-account-page .woocommerce-password-strength.bad,
.fu-system-account-page .woocommerce-password-strength.short,
.fu-system-card .woocommerce-password-strength.bad,
.fu-system-card .woocommerce-password-strength.short{
  background:#fff0f0!important;
  color:#9a3d3d!important;
}
.fu-system-account-page .woocommerce-password-strength.good,
.fu-system-card .woocommerce-password-strength.good{
  background:#fff7e8!important;
  color:#8a641f!important;
}
.fu-system-account-page .woocommerce-password-strength.strong,
.fu-system-card .woocommerce-password-strength.strong{
  background:#eef8f0!important;
  color:#3e7048!important;
}
.fu-system-account-page .woocommerce-password-hint,
.fu-system-card .woocommerce-password-hint{
  display:block!important;
  margin-top:7px!important;
  color:#77716a!important;
  font-size:12px!important;
  line-height:1.45!important;
}

/* Address/account forms can load Select2. Keep it visually identical to our fields. */
.fu-system-account-page .select2-container{
  width:100%!important;
}
.fu-system-account-page .select2-container .select2-selection--single,
.fu-system-account-page .select2-container .select2-selection--multiple{
  min-height:50px!important;
  border:1px solid #dedbd7!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:0 1px 2px rgba(24,19,14,.02)!important;
}
.fu-system-account-page .select2-container .select2-selection--single .select2-selection__rendered{
  min-height:48px!important;
  display:flex!important;
  align-items:center!important;
  padding:0 42px 0 14px!important;
  color:var(--fu-system-ink)!important;
  line-height:1.2!important;
}
.fu-system-account-page .select2-container .select2-selection--single .select2-selection__arrow{
  height:48px!important;
  right:10px!important;
}
.fu-system-account-page .select2-container--focus .select2-selection,
.fu-system-account-page .select2-container--open .select2-selection{
  border-color:color-mix(in srgb,var(--fu-primary) 55%,#dedbd7)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--fu-primary) 10%,transparent)!important;
  outline:0!important;
}

.fu-system-account-page fieldset,
.fu-system-card fieldset{
  min-width:0!important;
  margin:22px 0 0!important;
  padding:0!important;
  border:0!important;
}
.fu-system-account-page fieldset legend,
.fu-system-card fieldset legend{
  margin:0 0 14px!important;
  padding:0!important;
  color:var(--fu-system-ink)!important;
  font-size:15px!important;
  font-weight:800!important;
}

@media(max-width:768px){
  body.foodup-account-endpoint-lost-password .fu-system-card .woocommerce-notices-wrapper,
  body.foodup-account-endpoint-lost-password .fu-system-card > .woocommerce-error,
  body.foodup-account-endpoint-lost-password .fu-system-card > .woocommerce-info,
  body.foodup-account-endpoint-lost-password .fu-system-card > .woocommerce-message{
    max-width:none!important;
  }
}

/* Browser/Woo helper states that otherwise flash native styling inside the shell. */
.fu-system-account-page input:-webkit-autofill,
.fu-system-account-page input:-webkit-autofill:hover,
.fu-system-account-page input:-webkit-autofill:focus,
.fu-system-card input:-webkit-autofill,
.fu-system-card input:-webkit-autofill:hover,
.fu-system-card input:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--fu-system-ink)!important;
  -webkit-box-shadow:0 0 0 1000px #fff inset!important;
  transition:background-color 9999s ease-out 0s!important;
}
.fu-system-account-page .wc-block-components-validation-error,
.fu-system-card .wc-block-components-validation-error{
  margin:6px 0 0!important;
  color:#9a3d3d!important;
  font-size:12px!important;
  font-weight:650!important;
  line-height:1.4!important;
}
.fu-system-account-page .wc-block-components-validation-error p,
.fu-system-card .wc-block-components-validation-error p{
  margin:0!important;
  color:inherit!important;
  font:inherit!important;
}
.fu-system-account-page .woocommerce button.button:focus-visible,
.fu-system-account-page .woocommerce a.button:focus-visible,
.fu-system-card button.button:focus-visible,
.fu-system-card a.button:focus-visible,
.fu-system-card input.button:focus-visible,
.fu-system-btn:focus-visible{
  outline:2px solid rgba(17,24,39,.28)!important;
  outline-offset:2px!important;
  box-shadow:none!important;
}


/* Mobile DeliverEat identity stays intentionally compact and separate from
   the desktop fixed header. */
@media(max-width:768px){
  .fu-ordering-mobile-brand--delivereat{
    min-height:90px;
    grid-template-columns:66px minmax(0,1fr) 40px;
    gap:12px;
    margin-top:10px;
    padding:12px 11px 12px 12px;
    border:1px solid rgba(23,23,23,.08);
    border-radius:20px;
    background:#fff;
    box-shadow:0 10px 28px rgba(17,24,39,.08);
  }
  .fu-ordering-mobile-brand--delivereat::after{display:none}
  .fu-ordering-mobile-brand--delivereat .fu-ordering-mobile-brand__logo{
    width:66px;height:66px;padding:7px;
    border:1px solid rgba(255,102,0,.13);
    border-radius:16px;
    background:#fff7f2;
    box-shadow:none;
  }
  .fu-ordering-mobile-brand--delivereat .fu-ordering-mobile-brand__name{
    color:#16191d;
    font-size:19px;
    font-weight:800;
    letter-spacing:-.025em;
  }
  .fu-ordering-mobile-brand--delivereat .fu-ordering-mobile-brand__status{
    min-height:24px;
    margin-top:5px;
    padding:0 8px;
    border-color:#e7e9ed;
    background:#f6f7f8;
    color:#68707b;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .fu-ordering-mobile-brand--delivereat .fu-ordering-mobile-brand__status.is-open{
    color:#16794e;border-color:#d7efe4;background:#f0faf5;
  }
  .fu-ordering-mobile-brand--delivereat .fu-ordering-mobile-brand__status.is-preorder{
    color:#946212;border-color:#f0e2c5;background:#fff9ec;
  }
  .fu-ordering-mobile-brand--delivereat .fu-ordering-mobile-brand__status.is-closed{
    color:#a43f3f;border-color:#f2d6d6;background:#fff3f3;
  }
  .fu-ordering-mobile-brand--delivereat .fu-ordering-mobile-brand__home{
    width:40px;height:40px;
    border:1px solid #e4e7eb;
    border-radius:13px;
    background:#f7f8f9;
    color:#353c45;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .fu-ordering-mobile-brand--delivereat .fu-ordering-mobile-brand__home:active{
    border-color:rgba(255,102,0,.22);
    background:#fff3eb;
    color:var(--fu-primary);
  }
}

/* =========================================================
   FoodUp Restaurant v0.14.43 — checkout shell isolation
   The FoodUp checkout renders its own layout. Keep the theme host neutral so
   generic system-page cards/heroes can never capture or duplicate checkout UI.
   ========================================================= */
body.fuo-checkout-page .fu-checkout-page-host{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}
body.fuo-checkout-page .fu-checkout-page-host > .fuo-checkout-shell{
  margin-left:auto!important;
  margin-right:auto!important;
}

/* =========================================================
   FoodUp Restaurant v0.14.54 — HOME HEADER / EXACT EATIME MODEL
   Home-only restoration of the original header geometry and transition.
   Internal pages intentionally keep the newer shared FoodUp header.
   ========================================================= */
@media(min-width:769px){
  body.home .main-header1{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:1500;
    width:100%;
    background:none;
    border-bottom:2px solid transparent;
    box-shadow:none;
    color:#fff;
    transition:background var(--fu-sticky-speed) ease,border-color var(--fu-sticky-speed) ease,box-shadow var(--fu-sticky-speed) ease;
  }

  /* Original boxed glass strip — exactly aligned to the 1140px content container. */
  body.home .main-header1 .header-top{
    width:min(var(--fu-site-width),calc(100% - (var(--fu-page-side) * 2)));
    height:37px;
    margin:0 auto;
    padding:0 10px;
    overflow:hidden;
    border-top:0;
    border-left:1px solid var(--fu-topbar-border);
    border-right:1px solid var(--fu-topbar-border);
    border-bottom:1px solid var(--fu-topbar-border);
    border-radius:0 0 var(--fu-topbar-radius) var(--fu-topbar-radius);
    background:rgba(0,0,0,.4);
    box-shadow:none;
    backdrop-filter:saturate(180%) blur(8px);
    -webkit-backdrop-filter:saturate(180%) blur(8px);
    transition:height var(--fu-sticky-speed) ease,background-color var(--fu-sticky-speed) ease,border-color var(--fu-sticky-speed) ease,border-radius var(--fu-sticky-speed) ease;
  }

  body.home .main-header1 .fu-header-top-content{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    color:#fff;
    font-size:var(--fu-topbar-font-size);
    font-weight:600;
  }

  body.home .main-header1 .user-greeting-styled,
  body.home .main-header1 .header-ad{
    opacity:1;
    transform:translateY(0);
    color:#fff;
    transition:opacity var(--fu-sticky-speed) ease,transform var(--fu-sticky-speed) ease;
    will-change:opacity,transform;
  }

  body.home .main-header1 .header-ad{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    white-space:nowrap;
  }

  body.home .main-header1 .fu-top-item{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:0;
    border:0;
    background:none;
    color:#fff;
    box-shadow:none;
    font-size:inherit;
    font-weight:inherit;
  }

  body.home .main-header1 .fu-top-item .ti{
    width:14px;
    height:14px;
    flex:0 0 14px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
    color:currentColor;
  }

  body.home .main-header1 .fu-top-separator{
    width:1px;
    height:15px;
    background:rgba(255,255,255,.75);
  }

  /* Main row follows the saved logo size + spacing controls. */
  body.home .main-header1 .fu-header-main{
    width:100%;
    height:var(--fu-normal-header-row);
    background:transparent;
    border:0;
    box-shadow:none;
    transition:height var(--fu-sticky-speed) cubic-bezier(.2,.7,.2,1);
  }

  body.home .main-header1.elementor-sticky--effects .fu-header-main{
    height:var(--fu-sticky-header-row);
  }

  body.home .main-header1 .fu-header-main__inner{
    width:min(var(--fu-site-width),calc(100% - (var(--fu-page-side) * 2)));
    height:100%;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
  }

  /* Keep the logo wrapper stable. Only the SVG artwork changes width, as in Eatime. */
  body.home .main-header1 .fu-logo{
    width:var(--fu-logo-width);
    flex:0 0 var(--fu-logo-width);
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    padding-top:var(--fu-logo-padding-top);
    padding-bottom:var(--fu-logo-padding-bottom);
    margin:0;
    line-height:0;
    transition:padding-top var(--fu-sticky-speed) cubic-bezier(.2,.7,.2,1),padding-bottom var(--fu-sticky-speed) cubic-bezier(.2,.7,.2,1);
    color:#fff;
  }

  body.home .main-header1 .fu-logo .fu-logo-svg{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:flex-start;
  }

  body.home .main-header1 .fu-logo .fu-logo-svg svg,
  body.home .main-header1 .fu-logo .fu-logo-image{
    display:block;
    width:var(--fu-logo-width)!important;
    height:var(--fu-logo-height)!important;
    max-width:none!important;
    max-height:none!important;
    margin:0;
    transform:none!important;
    transform-origin:left center;
    object-fit:contain;
    object-position:left center;
    fill:currentColor;
    transition:color var(--fu-sticky-speed) ease,width var(--fu-sticky-speed) cubic-bezier(.2,.7,.2,1),height var(--fu-sticky-speed) cubic-bezier(.2,.7,.2,1),fill var(--fu-sticky-speed) ease,stroke var(--fu-sticky-speed) ease;
  }

  body.home .main-header1 .fu-logo .fu-logo-svg svg *,
  body.home .main-header1 .fu-logo .fu-logo-svg svg path,
  body.home .main-header1 .fu-logo .fu-logo-svg svg g{
    transition:fill var(--fu-sticky-speed) ease,stroke var(--fu-sticky-speed) ease;
  }

  body.home .main-header1 .fu-header-right{
    flex:1 1 auto;
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:24px;
  }

  body.home .main-header1 .fu-nav{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:0;
    min-height:36px;
    padding:0;
    border:0;
    border-radius:0;
    background:none;
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    white-space:nowrap;
    font-size:var(--fu-menu-font-size);
    font-weight:var(--fu-menu-font-weight);
  }

  body.home .main-header1 .fu-menu-link{
    display:inline-flex;
    align-items:center;
    min-height:36px;
    padding:0 var(--fu-menu-padding-x);
    border-radius:0;
    background:none;
    color:var(--fu-menu-hero-color);
    transition:color .25s ease;
  }

  body.home .main-header1 .fu-menu-divider{
    width:1px;
    height:var(--fu-menu-divider-height);
    flex:0 0 1px;
    margin:0;
    background:currentColor;
    opacity:.9;
  }

  body.home .main-header1 .fu-menu-link:hover,
  body.home .main-header1 .fu-menu-home{
    color:var(--fu-primary);
  }

  body.home .main-header1 .header-menu-white{display:flex}
  body.home .main-header1 .header-menu-black{display:none}

  /* Home account button = original outlined Eatime treatment. */
  body.home .main-header1 .fu-home-account-btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:40px;
    padding:6px var(--fu-account-padding-x);
    border:var(--fu-account-border-width) solid var(--fu-primary)!important;
    border-radius:var(--fu-account-radius);
    background:transparent!important;
    color:#fff!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    font-size:var(--fu-account-font-size);
    line-height:1.2;
    font-weight:700;
    white-space:nowrap;
    transition:background-color var(--fu-sticky-speed) ease,color var(--fu-sticky-speed) ease,border-color var(--fu-sticky-speed) ease;
  }

  body.home .main-header1 .fu-home-account-btn .ti{
    width:16px;
    height:16px;
    margin:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:var(--fu-primary);
    font-size:16px;
    transition:color var(--fu-sticky-speed) ease;
  }

  body.home .main-header1 .fu-home-account-btn:hover{
    background:var(--fu-primary);
    color:#fff!important;
  }
  body.home .main-header1 .fu-home-account-btn:hover .ti{color:#000}

  /* Sticky state mirrors the supplied Eatime CSS. */
  body.home .main-header1.elementor-sticky--effects{
    background:#f5f5f5;
    border-bottom-color:#ccc;
    box-shadow:0 0 10px rgba(0,0,0,var(--fu-sticky-shadow-alpha));
    color:#000;
  }

  body.home .main-header1.elementor-sticky--effects .header-top{
    height:5px;
    padding:0 10px;
    background:var(--fu-primary);
    border-left-color:var(--fu-primary);
    border-right-color:var(--fu-primary);
    border-bottom-color:var(--fu-primary);
    border-radius:0 0 min(5px,var(--fu-topbar-radius)) min(5px,var(--fu-topbar-radius));
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }

  body.home .main-header1.elementor-sticky--effects .user-greeting-styled,
  body.home .main-header1.elementor-sticky--effects .header-ad{
    opacity:0;
    transform:translateY(-12px);
    pointer-events:none;
  }

  body.home .main-header1.elementor-sticky--effects .header-menu-black{display:flex}
  body.home .main-header1.elementor-sticky--effects .header-menu-white{display:none}

  body.home .main-header1.elementor-sticky--effects .header-menu-black .fu-menu-link{
    color:var(--fu-menu-sticky-color);
  }
  body.home .main-header1.elementor-sticky--effects .header-menu-black .fu-menu-link:hover,
  body.home .main-header1.elementor-sticky--effects .header-menu-black .fu-menu-home{
    color:var(--fu-primary);
  }

  body.home .main-header1.elementor-sticky--effects .fu-logo{
    padding-top:var(--fu-sticky-logo-padding-top);
    padding-bottom:var(--fu-sticky-logo-padding-bottom);
  }

  body.home .main-header1.elementor-sticky--effects .fu-logo .fu-logo-svg svg,
  body.home .main-header1.elementor-sticky--effects .fu-logo .fu-logo-image{
    width:var(--fu-sticky-logo-width)!important;
    height:var(--fu-sticky-logo-height)!important;
  }

  body.home .main-header1.elementor-sticky--effects .fu-home-account-btn{
    background:transparent!important;
    color:#000!important;
    border-color:var(--fu-primary)!important;
    box-shadow:none!important;
  }
  body.home .main-header1.elementor-sticky--effects .fu-home-account-btn:hover{
    background:var(--fu-primary);
    color:#fff!important;
  }
}

@media(min-width:769px) and (max-width:1040px){
  body.home .main-header1 .fu-logo{width:140px;flex-basis:140px}
  body.home .main-header1 .fu-menu-link{padding-inline:9px;font-size:11.5px}
  body.home .main-header1 .fu-header-right{gap:12px}
}

@media(max-width:768px){
  body.home .main-header1{display:none!important}
}


/* =========================================================
   FoodUp Restaurant v0.14.64 — Legal pages refresh
   Clean, responsive AGB + Impressum surfaces.
   ========================================================= */
.fu-legal-page{
  color:#1c1c1c;
}

.fu-legal-page .fu-legal-shell{
  width:min(1180px,100%);
  margin:0 auto;
  padding:0 0 56px;
}

.fu-legal-page .fu-legal-hero{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:18px;
  align-items:start;
  margin:0 0 24px;
  padding:28px 30px;
  border:1px solid #e6e7ea;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 30px rgba(18,24,40,.045);
}

.fu-legal-page .fu-legal-hero__icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:#fff2e9;
  color:var(--fu-primary);
  font-size:27px;
}

.fu-legal-page .fu-legal-hero__copy{
  min-width:0;
}

.fu-legal-page .fu-legal-eyebrow,
.fu-legal-page .fu-legal-card__kicker{
  display:block;
  margin:0 0 7px;
  color:var(--fu-primary);
  font-size:11px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.fu-legal-page .fu-legal-hero h1{
  margin:0;
  color:#171717;
  font-size:clamp(30px,4vw,48px);
  font-weight:850;
  line-height:1.04;
  letter-spacing:-.035em;
}

.fu-legal-page .fu-legal-hero p{
  max-width:760px;
  margin:11px 0 0;
  color:#6d7178;
  font-size:15px;
  line-height:1.6;
}

.fu-legal-page .fu-legal-hero p strong{
  color:#35383d;
  font-weight:750;
}

.fu-agb-list{
  display:grid;
  gap:12px;
}

.fu-agb-card,
.fu-legal-card{
  border:1px solid #e6e7ea;
  border-radius:16px;
  background:#fff;
  box-shadow:0 6px 22px rgba(18,24,40,.035);
}

.fu-agb-card{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:18px;
  align-items:start;
  padding:22px 24px;
}

.fu-agb-card__number{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:#fff2e9;
  color:var(--fu-primary);
  font-size:14px;
  font-weight:850;
  line-height:1;
}

.fu-agb-card__content{
  min-width:0;
}

.fu-agb-card__content h2{
  margin:2px 0 10px;
  color:#171717;
  font-size:18px;
  font-weight:820;
  line-height:1.25;
  letter-spacing:-.018em;
}

.fu-agb-card__content p,
.fu-agb-card__content li,
.fu-legal-prose p{
  color:#5e636b;
  font-size:14px;
  line-height:1.68;
}

.fu-agb-card__content p{
  margin:0 0 10px;
}

.fu-agb-card__content p:last-child{
  margin-bottom:0;
}

.fu-agb-card__content ul{
  margin:8px 0 0;
  padding:0;
  list-style:none;
}

.fu-agb-card__content li{
  position:relative;
  margin:7px 0;
  padding-left:18px;
}

.fu-agb-card__content li::before{
  content:"";
  position:absolute;
  left:1px;
  top:.73em;
  width:6px;
  height:6px;
  border-radius:999px;
  background:var(--fu-primary);
}

.fu-legal-card--document{
  padding:26px;
}

.fu-impressum-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.fu-impressum-card{
  min-width:0;
  padding:24px;
}

.fu-impressum-card--contact,
.fu-impressum-card--note{
  grid-column:1 / -1;
}

.fu-legal-card__head{
  display:flex;
  align-items:center;
  gap:13px;
  margin:0 0 20px;
}

.fu-legal-card__icon{
  flex:0 0 auto;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#fff2e9;
  color:var(--fu-primary);
  font-size:20px;
}

.fu-legal-card__head > div{
  min-width:0;
}

.fu-legal-card__head .fu-legal-card__kicker{
  margin-bottom:3px;
  font-size:9.5px;
}

.fu-legal-card__head h2{
  margin:0;
  color:#1a1a1a;
  font-size:19px;
  font-weight:820;
  line-height:1.2;
  letter-spacing:-.018em;
}

.fu-legal-details{
  margin:0;
}

.fu-legal-details > div{
  display:grid;
  grid-template-columns:126px minmax(0,1fr);
  gap:18px;
  padding:13px 0;
  border-top:1px solid #eceef0;
}

.fu-legal-details > div:first-child{
  border-top:0;
  padding-top:0;
}

.fu-legal-details > div:last-child{
  padding-bottom:0;
}

.fu-legal-details dt{
  color:#8a8f97;
  font-size:12px;
  font-weight:650;
}

.fu-legal-details dd{
  min-width:0;
  margin:0;
  color:#25282d;
  font-size:13px;
  font-weight:750;
  overflow-wrap:anywhere;
}

.fu-legal-address{
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:17px 18px;
  border:1px solid #eceef0;
  border-radius:13px;
  background:#fafafa;
  color:#2a2d31;
  font-size:13px;
  font-weight:700;
  line-height:1.55;
}

.fu-legal-address > i{
  flex:0 0 auto;
  color:var(--fu-primary);
  font-size:19px;
}

.fu-legal-contact-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.fu-legal-contact-list > a{
  min-width:0;
  min-height:70px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 18px;
  align-items:center;
  gap:11px;
  padding:10px 13px;
  border:1px solid #eceef0;
  border-radius:13px;
  background:#fafafa;
  transition:border-color .18s ease,background-color .18s ease,transform .18s ease;
}

.fu-legal-contact-list > a:hover{
  border-color:#ffd4b7;
  background:color-mix(in srgb,var(--fu-primary) 3%,#fff);
  transform:translateY(-1px);
}

.fu-legal-contact-list__icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:#fff2e9;
  color:var(--fu-primary);
  font-size:18px;
}

.fu-legal-contact-list > a > span:nth-child(2){
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}

.fu-legal-contact-list small{
  color:#8a8f97;
  font-size:10px;
  font-weight:650;
}

.fu-legal-contact-list strong{
  overflow:hidden;
  color:#25282d;
  font-size:13px;
  font-weight:780;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.fu-legal-contact-list > a > .ti-chevron-right{
  color:#a0a5ad;
  font-size:16px;
}

.fu-impressum-card--note .fu-legal-prose p{
  margin:0;
}

.fu-legal-empty{
  margin:0;
  color:#8a8f97;
  font-size:13px;
  line-height:1.55;
}

@media(max-width:768px){
  .fu-legal-page .fu-container{
    width:100%;
    margin:0;
    padding:0 14px;
  }

  .fu-legal-page .fu-legal-shell{
    padding:14px 0 88px;
  }

  .fu-legal-page .fu-legal-hero{
    grid-template-columns:46px minmax(0,1fr);
    gap:13px;
    margin-bottom:14px;
    padding:18px;
    border-radius:16px;
  }

  .fu-legal-page .fu-legal-hero__icon{
    width:46px;
    height:46px;
    border-radius:13px;
    font-size:22px;
  }

  .fu-legal-page .fu-legal-hero h1{
    font-size:clamp(27px,8vw,36px);
  }

  .fu-legal-page .fu-legal-hero p{
    margin-top:8px;
    font-size:12.5px;
    line-height:1.5;
  }

  .fu-agb-list{
    gap:9px;
  }

  .fu-agb-card{
    grid-template-columns:36px minmax(0,1fr);
    gap:12px;
    padding:16px;
    border-radius:14px;
  }

  .fu-agb-card__number{
    width:36px;
    height:36px;
    border-radius:11px;
    font-size:12px;
  }

  .fu-agb-card__content h2{
    margin-top:1px;
    font-size:15px;
  }

  .fu-agb-card__content p,
  .fu-agb-card__content li,
  .fu-legal-prose p{
    font-size:12.5px;
    line-height:1.62;
  }

  .fu-impressum-grid{
    grid-template-columns:1fr;
    gap:10px;
  }

  .fu-impressum-card,
  .fu-impressum-card--contact,
  .fu-impressum-card--note{
    grid-column:auto;
    padding:17px;
    border-radius:14px;
  }

  .fu-legal-card__head{
    margin-bottom:15px;
  }

  .fu-legal-card__head h2{
    font-size:16px;
  }

  .fu-legal-details > div{
    grid-template-columns:92px minmax(0,1fr);
    gap:12px;
    padding:11px 0;
  }

  .fu-legal-details dt{
    font-size:11px;
  }

  .fu-legal-details dd,
  .fu-legal-address{
    font-size:12px;
  }

  .fu-legal-address{
    min-height:72px;
    padding:14px;
  }

  .fu-legal-contact-list{
    grid-template-columns:1fr;
    gap:8px;
  }

  .fu-legal-contact-list > a{
    min-height:64px;
  }
}


/* =========================================================
   FoodUp Restaurant v0.14.67 — centered homepage hero redesign
   Stronger content hierarchy, editable eyebrow/button copy and
   stable hero copy that does not depend on scroll-reveal state.
   ========================================================= */
@media(min-width:769px){
  body.home .fu-dhome-hero__inner{
    align-items:flex-end;
    padding-top:calc(var(--fu-normal-header-row) + 74px);
    padding-bottom:clamp(48px,7vh,82px);
  }

  body.home .fu-dhome-hero__content{
    width:min(max(var(--fu-home-hero-content-width),620px),760px);
    padding:28px 30px 27px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:22px;
    background:rgba(10,11,12,.34);
    box-shadow:0 22px 58px rgba(0,0,0,.20);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
  }

  body.home .fu-dhome-hero__meta{
    width:100%;
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
    margin:0 0 16px;
  }

  body.home .fu-dhome-kicker,
  body.home .fu-dhome-status{
    min-height:31px;
    margin:0;
    padding:0 11px;
  }

  body.home .fu-dhome-kicker{
    gap:7px;
    border-color:color-mix(in srgb,var(--fu-primary) 46%,rgba(255,255,255,.16));
    background:color-mix(in srgb,var(--fu-primary) 16%,rgba(10,11,12,.24));
    color:#fff;
    font-weight:780;
  }

  body.home .fu-dhome-kicker .ti{
    color:var(--fu-primary);
    font-size:15px;
  }

  body.home .fu-dhome-hero h1{
    max-width:680px;
    font-size:clamp(42px,5.1vw,var(--fu-home-hero-title-size));
    line-height:.98;
    letter-spacing:-.05em;
  }

  body.home .fu-dhome-hero p{
    max-width:610px;
    margin:16px 0 23px;
    color:rgba(255,255,255,.88);
    line-height:1.5;
  }

  body.home .fu-dhome-actions{
    gap:10px;
  }

  body.home .fu-dhome-primary,
  body.home .fu-dhome-secondary{
    min-height:52px;
    padding-inline:18px;
  }

  body.home .fu-dhome-service-pills{
    width:100%;
    margin-top:18px;
    padding-top:16px;
    gap:0;
    border-top:1px solid rgba(255,255,255,.12);
  }

  body.home .fu-dhome-service-pills span{
    position:relative;
    margin-right:16px;
    padding-right:16px;
    color:rgba(255,255,255,.78);
  }

  body.home .fu-dhome-service-pills span:not(:last-child)::after{
    content:"";
    position:absolute;
    top:50%;
    right:0;
    width:1px;
    height:14px;
    background:rgba(255,255,255,.16);
    transform:translateY(-50%);
  }
}

@media(max-width:768px){
  body.home .fu-mhome-hero__content{
    align-items:flex-start;
    justify-content:flex-end;
    padding:calc(86px + env(safe-area-inset-top)) var(--fu-mhome-gutter) 24px;
    text-align:left;
  }

  body.home .fu-mhome-logo{
    width:min(34vw,var(--fu-home-mobile-logo-width));
    margin:0 0 auto;
  }

  body.home .fu-mhome-hero__panel{
    width:100%;
    padding:18px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:20px;
    background:rgba(10,11,12,.36);
    box-shadow:0 18px 42px rgba(0,0,0,.18);
    backdrop-filter:blur(9px);
    -webkit-backdrop-filter:blur(9px);
  }

  body.home .fu-mhome-hero__meta{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:12px;
  }

  body.home .fu-mhome-hero .fu-mhome-kicker,
  body.home .fu-mhome-status{
    min-height:28px;
    margin:0;
    padding:0 9px;
    display:inline-flex;
    align-items:center;
    gap:6px;
    border:1px solid rgba(255,255,255,.17);
    border-radius:999px;
    background:rgba(255,255,255,.10);
    color:#fff;
    font-size:11px;
    font-weight:750;
  }

  body.home .fu-mhome-status{
    font-size:12px;
  }

  body.home .fu-mhome-kicker .ti{
    color:var(--fu-primary);
    font-size:14px;
  }

  body.home .fu-mhome-status__dot{
    width:6px;
    height:6px;
    border-radius:50%;
    background:#31c779;
  }

  body.home .fu-mhome-status.is-open .fu-mhome-status__dot{background:#31c779}
  body.home .fu-mhome-status.is-preorder .fu-mhome-status__dot{background:var(--fu-primary)}
  body.home .fu-mhome-status.is-closed .fu-mhome-status__dot{background:#e24a4a}

  body.home .fu-mhome-hero h1{
    max-width:100%;
    margin:0;
    text-align:left;
    font-size:clamp(32px,10vw,var(--fu-home-mobile-title-size));
    line-height:1;
  }

  body.home .fu-mhome-hero p{
    max-width:100%;
    margin:11px 0 18px;
    text-align:left;
    color:rgba(255,255,255,.87);
  }

  body.home .fu-mhome-actions{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
    gap:9px;
  }

  body.home .fu-mhome-primary,
  body.home .fu-mhome-secondary{
    min-width:0;
    min-height:var(--fu-home-mobile-cta-height);
    margin:0;
    border-radius:var(--fu-home-mobile-cta-radius);
    font-size:13px;
    font-weight:800;
  }

  body.home .fu-mhome-primary{
    width:auto;
  }

  body.home .fu-mhome-secondary{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:0 12px;
    border:1px solid rgba(255,255,255,.20);
    background:rgba(255,255,255,.08);
    color:#fff;
  }

  body.home .fu-mhome-service-pills{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
    margin-top:14px;
    padding-top:13px;
    border-top:1px solid rgba(255,255,255,.12);
  }

  body.home .fu-mhome-service-pills span{
    display:inline-flex;
    align-items:center;
    gap:5px;
    color:rgba(255,255,255,.76);
    font-size:12px;
    font-weight:650;
  }

  body.home .fu-mhome-service-pills .ti{
    color:var(--fu-primary);
    font-size:13px;
  }
}

/* Hero copy is intentionally always visible; section cards keep replay motion. */
@media(prefers-reduced-motion:no-preference){
  html.fu-home-motion-js body.home .fu-mhome-logo,
  html.fu-home-motion-js body.home .fu-mhome-kicker,
  html.fu-home-motion-js body.home .fu-mhome-hero h1,
  html.fu-home-motion-js body.home .fu-mhome-hero p,
  html.fu-home-motion-js body.home .fu-mhome-primary,
  html.fu-home-motion-js body.home .fu-mhome-secondary,
  html.fu-home-motion-js body.home .fu-mhome-status,
  html.fu-home-motion-js body.home .fu-mhome-service-pills,
  html.fu-home-motion-js body.home .fu-dhome-status,
  html.fu-home-motion-js body.home .fu-dhome-kicker,
  html.fu-home-motion-js body.home .fu-dhome-hero h1,
  html.fu-home-motion-js body.home .fu-dhome-hero p,
  html.fu-home-motion-js body.home .fu-dhome-actions,
  html.fu-home-motion-js body.home .fu-dhome-service-pills{
    opacity:1;
    transform:none;
    transition:none;
    will-change:auto;
  }
}


/* ------------------------------------------------------------------
   FoodUp Restaurant v0.14.67 — centered homepage hero redesign
   - move hero content to true center on desktop and mobile
   - remove blurred background panel
   - keep editable hero text/buttons/settings from theme options
   ------------------------------------------------------------------ */
@media (min-width: 769px){
  body.home .fu-dhome-hero__inner{
    width:min(var(--fu-site-width),calc(100% - (var(--fu-page-side) * 2)));
    justify-content:center;
    text-align:center;
    padding:calc(var(--fu-normal-header-row) + 56px) 0 76px;
  }

  body.home .fu-dhome-hero__content{
    width:min(max(var(--fu-home-hero-content-width),640px),820px);
    align-items:center;
    text-align:center;
    margin-inline:auto;
  }

  body.home .fu-dhome-hero__meta{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:18px;
  }

  body.home .fu-dhome-kicker,
  body.home .fu-dhome-status{
    margin:0;
    background:rgba(14,14,15,.32);
    border-color:rgba(255,255,255,.16);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }

  body.home .fu-dhome-hero h1{
    max-width:min(760px,100%);
    margin:0 auto;
    font-size:clamp(44px,4.8vw,var(--fu-home-hero-title-size));
    line-height:1.02;
  }

  body.home .fu-dhome-hero p{
    max-width:min(660px,100%);
    margin:16px auto 28px;
    text-align:center;
    color:rgba(255,255,255,.88);
  }

  body.home .fu-dhome-actions{
    justify-content:center;
    gap:12px;
  }

  body.home .fu-dhome-service-pills{
    width:auto;
    justify-content:center;
    margin-top:18px;
    padding-top:16px;
    border-top:1px solid rgba(255,255,255,.12);
  }
}

@media (max-width: 768px){
  body.home .fu-mhome-hero__content{
    align-items:center;
    justify-content:center;
    padding:calc(78px + env(safe-area-inset-top)) var(--fu-mhome-gutter) 28px;
    text-align:center;
  }

  body.home .fu-mhome-logo{
    width:min(34vw,var(--fu-home-mobile-logo-width));
    margin:0 auto 20px;
  }

  body.home .fu-mhome-hero__panel{
    width:min(100%,420px);
    padding:0;
    border:0;
    border-radius:0;
    background:none;
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }

  body.home .fu-mhome-hero__meta{
    justify-content:center;
    margin-bottom:12px;
  }

  body.home .fu-mhome-hero .fu-mhome-kicker,
  body.home .fu-mhome-status{
    background:rgba(14,14,15,.32);
    border-color:rgba(255,255,255,.16);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }

  body.home .fu-mhome-hero h1{
    max-width:100%;
    margin:0 auto;
    text-align:center;
    font-size:clamp(34px,10vw,var(--fu-home-mobile-title-size));
    line-height:1.02;
  }

  body.home .fu-mhome-hero p{
    max-width:340px;
    margin:12px auto 20px;
    text-align:center;
    color:rgba(255,255,255,.88);
  }

  body.home .fu-mhome-actions{
    width:min(100%,360px);
    grid-template-columns:1fr;
    gap:10px;
    margin-inline:auto;
  }

  body.home .fu-mhome-primary,
  body.home .fu-mhome-secondary{
    width:100%;
  }

  body.home .fu-mhome-secondary{
    background:rgba(14,14,15,.26);
  }

  body.home .fu-mhome-service-pills{
    justify-content:center;
    margin-top:16px;
    padding-top:14px;
    border-top:1px solid rgba(255,255,255,.12);
  }
}


/* ------------------------------------------------------------------
   FoodUp Restaurant v0.14.68 — true center / no background homepage hero
   - remove all hero content panel backgrounds and blur
   - center content horizontally and vertically
   - keep existing editable hero text controls
   ------------------------------------------------------------------ */
@media (min-width: 769px){
  body.home .fu-dhome-hero{
    box-sizing:border-box;
    padding-top:calc(var(--fu-topbar-height) + var(--fu-normal-header-row));
  }

  body.home .fu-dhome-hero__inner{
    width:100%;
    min-height:calc(var(--fu-home-hero-height) - var(--fu-topbar-height) - var(--fu-normal-header-row));
    padding:0 var(--fu-page-side);
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    transform:none;
  }

  body.home .fu-dhome-hero__content{
    width:min(760px,100%);
    margin:0 auto;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    align-items:center;
    text-align:center;
  }

  body.home .fu-dhome-hero__meta{
    justify-content:center;
    margin:0 0 18px;
  }

  body.home .fu-dhome-kicker,
  body.home .fu-dhome-status{
    min-height:34px;
    padding:0 13px;
    background:rgba(12,12,12,.34);
    border:1px solid rgba(255,255,255,.16);
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }

  body.home .fu-dhome-hero h1{
    max-width:min(760px,100%);
    margin:0 auto;
    font-size:clamp(46px,5vw,var(--fu-home-hero-title-size));
    line-height:1.01;
    text-align:center;
    text-shadow:0 4px 18px rgba(0,0,0,.20);
  }

  body.home .fu-dhome-hero p{
    max-width:620px;
    margin:16px auto 28px;
    text-align:center;
    color:rgba(255,255,255,.90);
    text-shadow:0 2px 14px rgba(0,0,0,.18);
  }

  body.home .fu-dhome-actions{
    justify-content:center;
    gap:12px;
  }

  body.home .fu-dhome-primary,
  body.home .fu-dhome-secondary{
    min-height:52px;
  }

  body.home .fu-dhome-service-pills{
    width:auto;
    justify-content:center;
    margin:20px auto 0;
    padding-top:14px;
    gap:0;
    border-top:1px solid rgba(255,255,255,.12);
  }
}

@media (max-width: 768px){
  body.home .fu-mhome-logo{
    display:block;
    width:min(42vw,var(--fu-home-mobile-logo-width));
    margin:0 auto 14px;
  }

  body.home .fu-mhome-hero__content{
    min-height:calc(var(--fu-home-mobile-hero-height) + env(safe-area-inset-top));
    align-items:center;
    justify-content:center;
    padding:calc(18px + env(safe-area-inset-top)) var(--fu-mhome-gutter) 20px;
    text-align:center;
  }

  body.home .fu-mhome-hero__panel{
    width:min(100%,390px);
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }

  body.home .fu-mhome-hero__meta{
    justify-content:center;
    margin-bottom:12px;
  }

  body.home .fu-mhome-hero .fu-mhome-kicker,
  body.home .fu-mhome-status{
    background:rgba(12,12,12,.34);
    border:1px solid rgba(255,255,255,.16);
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }

  body.home .fu-mhome-hero h1{
    max-width:100%;
    margin:0 auto;
    text-align:center;
    font-size:clamp(34px,10vw,var(--fu-home-mobile-title-size));
    line-height:1.02;
    text-shadow:0 4px 16px rgba(0,0,0,.18);
  }

  body.home .fu-mhome-hero p{
    max-width:340px;
    margin:12px auto 20px;
    text-align:center;
    color:rgba(255,255,255,.90);
    text-shadow:0 2px 12px rgba(0,0,0,.16);
  }

  body.home .fu-mhome-actions{
    width:min(100%,350px);
    grid-template-columns:1fr;
    gap:10px;
    margin-inline:auto;
  }

  body.home .fu-mhome-primary,
  body.home .fu-mhome-secondary{
    width:100%;
  }

  body.home .fu-mhome-service-pills{
    justify-content:center;
    margin-top:16px;
    padding-top:14px;
    border-top:1px solid rgba(255,255,255,.12);
  }
}


/* ------------------------------------------------------------------
   FoodUp Restaurant v0.14.81 — canonical scheduled closure component
   Consolidates the historical v0.14.69–0.14.78 override chain.
   ------------------------------------------------------------------ */
body.home .fu-home-closure{
  width:min(760px,100%);
  position:relative;
  box-sizing:border-box;
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  align-items:center;
  gap:15px;
  margin:0 auto 26px;
  padding:18px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:16px;
  background:rgba(10,10,10,.82);
  color:#fff;
  text-align:left;
  box-shadow:0 14px 36px rgba(0,0,0,.18);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

body.home .fu-home-closure::before{
  content:"";
  position:absolute;
  top:14px;
  bottom:14px;
  left:0;
  width:4px;
  border-radius:0 4px 4px 0;
  background:var(--fu-primary);
}

body.home .fu-home-closure__icon{
  width:52px;
  height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:13px;
  background:color-mix(in srgb,var(--fu-primary) 24%,#1a120d);
  color:var(--fu-primary);
  font-size:24px;
}

body.home .fu-home-closure__copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:5px;
}

body.home .fu-home-closure__eyebrow{
  display:block;
  margin-bottom:1px;
  color:var(--fu-primary);
  font-size:10.5px;
  font-weight:850;
  line-height:1;
  letter-spacing:.09em;
  text-transform:uppercase;
}

body.home .fu-home-closure__copy strong{
  color:#fff;
  font-size:20px;
  font-weight:850;
  line-height:1.15;
  letter-spacing:-.015em;
}

body.home .fu-home-closure__copy small{
  max-width:640px;
  color:rgba(255,255,255,.84);
  font-size:13px;
  font-weight:560;
  line-height:1.45;
}

body.home .fu-home-closure--upcoming{
  border-color:color-mix(in srgb,var(--fu-primary) 38%,rgba(255,255,255,.16));
}

body.home .fu-home-closure--active{
  border-color:color-mix(in srgb,var(--fu-primary) 65%,rgba(255,255,255,.18));
  background:rgba(17,12,9,.90);
}

body.home .fu-home-closure__countdown{
  grid-column:1 / -1;
  width:100%;
  min-height:0;
  margin:8px 0 0;
  padding:16px 0 0;
  border-top:1px solid rgba(255,255,255,.12);
  border-radius:0;
  background:transparent;
  color:inherit;
  box-shadow:none;
  display:grid;
  grid-template-columns:minmax(150px,.9fr) minmax(0,2.1fr);
  align-items:center;
  gap:16px;
  font-size:inherit;
  font-weight:inherit;
  letter-spacing:normal;
  white-space:normal;
  box-sizing:border-box;
}

body.home .fu-home-closure--active .fu-home-closure__countdown::before{
  content:none;
  display:none;
}

body.home .fu-home-closure__countdown-label{
  width:auto;
  margin:0;
  color:rgba(255,255,255,.78);
  text-align:left;
  font-size:11px;
  font-weight:850;
  line-height:1.25;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.home .fu-home-closure__countdown-units{
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:stretch;
  align-self:center;
  gap:8px;
}

body.home .fu-home-closure__unit{
  width:auto;
  height:58px;
  min-width:0;
  min-height:58px;
  margin:0;
  padding:8px 6px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:11px;
  background:rgba(255,255,255,.055);
  display:flex;
  flex-direction:column;
  align-items:center;
  align-self:center;
  justify-content:center;
  gap:4px;
  box-sizing:border-box;
  transform:translateZ(0);
}

body.home .fu-home-closure__unit strong,
body.home .fu-home-closure__unit small{
  display:block;
  width:100%;
  margin:0;
  text-align:center;
}

body.home .fu-home-closure__unit strong{
  height:20px;
  min-width:0;
  color:#fff;
  font-size:20px;
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1;
  font-weight:900;
  line-height:1;
}

body.home .fu-home-closure__unit small{
  height:9px;
  color:rgba(255,255,255,.62);
  font-size:9px;
  font-weight:800;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.05em;
  white-space:nowrap;
}

body.home .fu-home-closure__unit--seconds{
  overflow:hidden;
  transform:none;
  border-color:color-mix(in srgb,var(--fu-primary) 58%,rgba(255,255,255,.14));
  background:color-mix(in srgb,var(--fu-primary) 16%,rgba(255,255,255,.045));
}

body.home .fu-home-closure__unit--seconds small{
  transform:none;
  animation:none;
  transition:none;
}

@media(prefers-reduced-motion:no-preference){
  body.home .fu-home-closure__unit--seconds.is-ticking strong{
    animation:fuClosureSecondValue81 .36s cubic-bezier(.22,.75,.24,1);
  }
}

@keyframes fuClosureSecondValue81{
  0%{opacity:.45;transform:translateY(3px);}
  55%{opacity:1;transform:translateY(-1px);}
  100%{opacity:1;transform:translateY(0);}
}

@media(max-width:768px){
  body.home .fu-home-closure{
    width:min(100%,390px);
    grid-template-columns:44px minmax(0,1fr);
    gap:11px;
    margin-bottom:20px;
    padding:14px;
    border-radius:14px;
  }

  body.home .fu-home-closure::before{
    top:12px;
    bottom:12px;
    width:3px;
  }

  body.home .fu-home-closure__icon{
    width:44px;
    height:44px;
    border-radius:11px;
    font-size:21px;
  }

  body.home .fu-home-closure__copy strong{font-size:16px;}
  body.home .fu-home-closure__copy small{font-size:12px;}

  body.home .fu-home-closure__countdown{
    grid-template-columns:1fr;
    gap:10px;
    padding:13px 0 0;
  }

  body.home .fu-home-closure__countdown-label{
    text-align:center;
    font-size:10px;
  }

  body.home .fu-home-closure__countdown-units{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:5px;
  }

  body.home .fu-home-closure__unit{
    height:52px;
    min-height:52px;
    padding:7px 3px;
    border-radius:9px;
  }

  body.home .fu-home-closure__unit strong{
    height:17px;
    font-size:17px;
  }

  body.home .fu-home-closure__unit small{
    height:8px;
    font-size:7.8px;
    letter-spacing:.025em;
  }
}


/* ------------------------------------------------------------------
   FoodUp Restaurant v0.14.80 — premium 404 page
   ------------------------------------------------------------------ */
.fu-error-page--404{
  display:flex;
  align-items:center;
}

.fu-404-shell{
  width:min(1040px,calc(100% - 48px));
  margin:0 auto;
}

.fu-404-card{
  position:relative;
  min-height:500px;
  display:grid;
  grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);
  overflow:hidden;
  border:1px solid var(--fu-system-line);
  border-radius:32px;
  background:#fff;
  box-shadow:0 24px 70px rgba(32,25,18,.09);
}

.fu-404-visual{
  position:relative;
  min-height:500px;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 24% 22%,color-mix(in srgb,var(--fu-primary) 21%,transparent),transparent 34%),
    linear-gradient(145deg,#181512,#0f0e0d);
  color:#fff;
}

.fu-404-visual::after{
  content:"";
  position:absolute;
  inset:20px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:24px;
  pointer-events:none;
}

.fu-404-code{
  position:absolute;
  inset:auto auto 18px 22px;
  color:rgba(255,255,255,.055);
  font-size:clamp(140px,18vw,260px);
  font-weight:900;
  line-height:.78;
  letter-spacing:-.09em;
  user-select:none;
}

.fu-404-mark{
  position:relative;
  z-index:1;
  width:112px;
  height:112px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.16);
  border-radius:32px;
  background:rgba(255,255,255,.08);
  color:var(--fu-primary);
  font-size:52px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.fu-404-copy{
  align-self:center;
  padding:64px clamp(40px,6vw,76px);
}

.fu-404-eyebrow{
  display:block;
  margin-bottom:12px;
  color:var(--fu-primary);
  font-size:12px;
  font-weight:850;
  line-height:1.2;
  letter-spacing:.10em;
  text-transform:uppercase;
}

.fu-404-copy h1{
  max-width:650px;
  margin:0;
  color:var(--fu-system-ink);
  font-size:clamp(38px,4.4vw,62px);
  font-weight:850;
  line-height:1.02;
  letter-spacing:-.05em;
}

.fu-404-copy > p{
  max-width:610px;
  margin:20px 0 0;
  color:var(--fu-system-muted);
  font-size:16px;
  line-height:1.7;
}

.fu-404-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin-top:30px;
}

.fu-404-btn{
  min-height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:0 19px;
  border:1px solid transparent;
  border-radius:15px;
  font-size:14px;
  font-weight:800;
  line-height:1;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;
}

.fu-404-btn:hover{
  transform:translateY(-1px);
}

.fu-404-btn--primary{
  background:var(--fu-primary);
  color:#fff;
  box-shadow:none;
}

.fu-404-btn--primary:hover{
  color:#fff;
  box-shadow:none;
}

.fu-404-btn--secondary{
  border-color:var(--fu-system-line);
  background:#fff;
  color:#26221e;
}

.fu-404-btn--secondary:hover{
  border-color:color-mix(in srgb,var(--fu-primary) 30%,var(--fu-system-line));
  color:#26221e;
}

.fu-404-contact{
  width:max-content;
  max-width:100%;
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:24px;
  color:#6f6962;
  font-size:13px;
  font-weight:750;
}

.fu-404-contact .ti:last-child{
  transition:transform .18s ease;
}

.fu-404-contact:hover{
  color:var(--fu-primary);
}

.fu-404-contact:hover .ti:last-child{
  transform:translateX(3px);
}

@media(max-width:768px){
  .fu-error-page--404{
    display:block;
  }

  .fu-404-shell{
    width:calc(100% - 24px);
  }

  .fu-404-card{
    min-height:0;
    grid-template-columns:1fr;
    border-radius:24px;
  }

  .fu-404-visual{
    min-height:220px;
  }

  .fu-404-visual::after{
    inset:12px;
    border-radius:18px;
  }

  .fu-404-code{
    left:16px;
    bottom:8px;
    font-size:136px;
  }

  .fu-404-mark{
    width:84px;
    height:84px;
    border-radius:24px;
    font-size:39px;
  }

  .fu-404-copy{
    padding:30px 22px 28px;
    text-align:center;
  }

  .fu-404-copy h1{
    font-size:clamp(32px,10vw,42px);
  }

  .fu-404-copy > p{
    margin-top:15px;
    font-size:14px;
  }

  .fu-404-actions{
    display:grid;
    grid-template-columns:1fr;
    margin-top:24px;
  }

  .fu-404-btn{
    width:100%;
  }

  .fu-404-contact{
    width:100%;
    justify-content:center;
    margin-top:20px;
  }
}


/* =========================================================
   FoodUp Theme v0.14.89 — Konto dashboard edit links
   ========================================================= */
.fu-account-card__edit{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:36px;
  margin-top:12px;
  padding:0 14px;
  border-radius:999px;
  background:color-mix(in srgb,var(--fu-primary) 8%,#fff);
  color:var(--fu-primary)!important;
  font-size:13px;
  font-weight:700;
  line-height:1;
  text-decoration:none!important;
}
.fu-account-card__edit .ti{font-size:15px;color:inherit}
.fu-account-card__edit:hover{background:color-mix(in srgb,var(--fu-primary) 14%,#fff)}
