/* Foodie shared page primitives. Derived from the bundled page components; isolated fd namespace. */
:root{
  --fd-brand:#1e5b3f;
  --fd-on-brand:#ffffff;
  --fd-accent:#f4a62a;
  --fd-on-accent:#161d19;
  --fd-ink:#161d19;
  --fd-muted:#59645e;
  --fd-paper:#ffffff;
  --fd-surface:#f3f5f3;
  --fd-line:#e2e6e3;
  --fd-brand-soft:color-mix(in srgb,var(--fd-brand) 9%,#fff);
  --fd-brand-hover:color-mix(in srgb,var(--fd-brand) 86%,#000);
  --fd-display:'Inter',Arial,sans-serif;
  --fd-text:'Inter',Arial,sans-serif;
  --fd-r-ctl:12px;
  --fd-r-card:18px;
  --fd-r-media:28px;
  --fd-e1:0 1px 2px rgba(22,29,25,.06),0 10px 24px -14px rgba(22,29,25,.22);
  --fd-e2:0 1px 2px rgba(22,29,25,.06),0 22px 44px -18px rgba(22,29,25,.40);
  --fd-header-h:76px;
  --fd-tabbar-h:64px;
  --fd-gutter:24px;
  --fd-wrap:min(var(--fu-site-width,1180px),calc(100% - (var(--fd-gutter) * 2)));
}
@media(max-width:768px){
  :root{--fd-gutter:16px}
}

/* ---------- base ---------- */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--fd-paper)}
/* resets carry no specificity (:where), so every component class wins */
:where(#foodie),:where(#foodie) *,:where(#foodie) *::before,:where(#foodie) *::after{box-sizing:border-box}
:where(#foodie){
  margin:0;
  min-height:100vh;
  background:var(--fd-paper);
  color:var(--fd-ink);
  font-family:var(--fd-text);
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
:where(#foodie) :where(img,svg,video){max-width:100%;height:auto}
:where(#foodie) :where(a){color:inherit;text-decoration-skip-ink:auto}
:where(#foodie) :where(h1,h2,h3,h4,h5,h6){margin:0;font-weight:700;line-height:1.15}
:where(#foodie) :where(p){margin:0}
:where(#foodie) :where(button,input,select,textarea){font:inherit;color:inherit}
:where(#foodie) :where(button){cursor:pointer}
#foodie ::selection{background:color-mix(in srgb,var(--fd-brand) 22%,transparent)}
:where(#foodie) :focus-visible{outline:3px solid color-mix(in srgb,var(--fd-brand) 55%,#fff);outline-offset:2px;border-radius:6px}
:where(#foodie) .ti{line-height:1}
#foodie :is(.screen-reader-text,.fu-sr-only){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.fd-skip{
  position:fixed;
  z-index:10000;
  top:8px;
  left:8px;
  padding:10px 14px;
  border-radius:10px;
  background:var(--fd-ink);
  color:#fff;
  font-weight:600;
  text-decoration:none;
  transform:translateY(-200%);
}
.fd-skip:focus{transform:none}

.fd-wrap{width:var(--fd-wrap);margin-inline:auto}

/* ---------- buttons, links, chips ---------- */
.fd-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  padding:0 22px;
  border:0;
  border-radius:var(--fd-r-ctl);
  font-family:var(--fd-display);
  font-size:15.5px;
  font-weight:700;
  line-height:1;
  letter-spacing:.005em;
  text-decoration:none;
  white-space:nowrap;
  transition:background-color .18s ease,box-shadow .18s ease,color .18s ease;
}
.fd-btn .ti{font-size:19px}
.fd-btn--brand{background:var(--fd-brand);color:var(--fd-on-brand)}
.fd-btn--brand:hover{background:var(--fd-brand-hover)}
.fd-btn--accent{background:var(--fd-accent);color:var(--fd-on-accent)}
.fd-btn--accent:hover{background:color-mix(in srgb,var(--fd-accent) 88%,#000)}
.fd-btn--outline{background:var(--fd-paper);color:var(--fd-ink);box-shadow:inset 0 0 0 1.5px var(--fd-line)}
.fd-btn--outline:hover{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--fd-ink) 45%,transparent)}
.fd-btn--ghost{background:var(--fd-surface);color:var(--fd-ink)}
.fd-btn--ghost:hover{background:color-mix(in srgb,var(--fd-surface) 80%,#000 6%)}
.fd-btn--lg{min-height:56px;padding:0 28px;font-size:16.5px}
.fd-btn--sm{min-height:42px;padding:0 16px;font-size:14.5px}
.fd-btn--block{display:flex;width:100%}

.fd-link{
  color:var(--fd-ink);
  font-weight:600;
  text-decoration:underline;
  text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);
  text-decoration-thickness:1.5px;
  text-underline-offset:5px;
}
.fd-link:hover{text-decoration-color:currentColor}
.fd-link--brand{color:var(--fd-brand)}

.fd-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:0 14px;
  border-radius:12px;
  background:var(--fd-paper);
  color:var(--fd-ink);
  font-size:13.5px;
  font-weight:600;
  line-height:1;
  white-space:nowrap;
  text-decoration:none;
  box-shadow:0 8px 20px -10px rgba(0,0,0,.35);
}
.fd-chip--logo .fu-logo-text{color:var(--fd-ink);font-family:var(--fd-display);font-size:18px;font-weight:800;letter-spacing:-.01em}
.fd-chip--logo :is(img,svg){display:block;max-height:28px;width:auto}

.fd-status{display:inline-flex;align-items:center;gap:8px}
.fd-status__dot{flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:#1f9d57;box-shadow:0 0 0 4px rgba(31,157,87,.16)}
.fd-status.is-preorder .fd-status__dot{background:#c77c00;box-shadow:0 0 0 4px rgba(199,124,0,.16)}
.fd-status.is-closed .fd-status__dot{background:#c2332a;box-shadow:0 0 0 4px rgba(194,51,42,.14)}

.fd-price{
  color:var(--fd-brand);
  font-family:var(--fd-display);
  font-size:17px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}
.fd-price *{color:inherit}
.fd-price .woocommerce-Price-currencySymbol{margin-right:.22em;font-size:.82em;font-weight:700}
.fd-price del{margin-right:6px;opacity:.55;font-weight:600}
.fd-price ins{text-decoration:none}
.fd-add{
  display:grid;
  place-items:center;
  flex:0 0 38px;
  width:38px;
  height:38px;
  border-radius:12px;
  background:var(--fd-accent);
  color:var(--fd-on-accent);
  font-size:19px;
}

/* section heads, rails, arrows */
.fd-section{padding:64px 0}
.fd-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px 24px;margin-bottom:24px}
.fd-head h2,.fd-h2{
  margin:0;
  color:var(--fd-ink);
  font-family:var(--fd-display);
  font-size:clamp(28px,3.2vw,42px);
  font-weight:800;
  font-stretch:92%;
  line-height:1.02;
  letter-spacing:-.03em;
}
.fd-head p{max-width:36em;margin-top:8px;color:var(--fd-muted);font-size:15.5px;line-height:1.55}
.fd-head__side{display:flex;align-items:center;gap:18px;flex:0 0 auto}
.fd-arrows{display:none;gap:8px}
.fd-arrow{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  padding:0;
  border:0;
  border-radius:12px;
  background:var(--fd-paper);
  color:var(--fd-ink);
  font-size:20px;
  box-shadow:inset 0 0 0 1.5px var(--fd-line);
  transition:box-shadow .18s ease,opacity .18s ease;
}
.fd-arrow:hover:not(:disabled){box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--fd-ink) 45%,transparent)}
.fd-arrow:disabled{opacity:.35;cursor:default}
.fd-rail{
  --fd-rail-gutter:calc((100% - var(--fd-wrap)) / 2);
  display:grid;
  grid-auto-flow:column;
  gap:16px;
  margin:0;
  padding:4px var(--fd-rail-gutter) 20px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:var(--fd-rail-gutter);
  scrollbar-width:none;
}
.fd-rail::-webkit-scrollbar{display:none}
.fd-rail > *{scroll-snap-align:start}

/* =====================================================================
   HEADER (desktop / tablet). Phones use the bottom tab bar instead.
   ===================================================================== */
.fd-header{
  position:fixed;
  z-index:1000;
  top:0;
  left:0;
  right:0;
  height:var(--fd-header-h);
  background:color-mix(in srgb,var(--fd-paper) 94%,transparent);
  -webkit-backdrop-filter:saturate(1.4) blur(14px);
  backdrop-filter:saturate(1.4) blur(14px);
  box-shadow:0 1px 0 var(--fd-line);
  transition:box-shadow .2s ease;
}
.fd-header.is-scrolled{box-shadow:0 1px 0 var(--fd-line),0 12px 28px -18px rgba(22,29,25,.35)}
body.admin-bar .fd-header{top:32px}
.fd-header__inner{display:flex;align-items:center;gap:32px;height:100%}
.fd-logo{display:inline-flex;align-items:center;flex:0 0 auto;color:var(--fd-ink);text-decoration:none}
.fd-logo .fu-logo-text{font-family:var(--fd-display);font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--fd-ink)}
.fd-logo :is(img,svg){display:block;width:auto;max-height:44px}
.fd-nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.fd-nav__link{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 14px;
  border-radius:10px;
  color:var(--fd-ink);
  font-size:15px;
  font-weight:600;
  text-decoration:none;
  transition:background-color .18s ease;
}
.fd-nav__link:hover{background:var(--fd-surface)}
.fd-nav__link.is-current{color:var(--fd-brand)}
.fd-nav__link.is-current::after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:4px;
  height:2px;
  border-radius:2px;
  background:currentColor;
}
.fd-header__actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.fd-header__account{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:0 14px;
  border-radius:10px;
  color:var(--fd-ink);
  font-size:15px;
  font-weight:600;
  text-decoration:none;
}
.fd-header__account .ti{font-size:22px}
.fd-header__account:hover,.fd-header__account.is-current{background:var(--fd-surface)}
.fd-main{display:block;padding-top:var(--fd-header-h)}
@media(max-width:1024px){
  .fd-header__inner{gap:20px}
  .fd-nav__link,.fd-header__account{padding:0 10px}
  .fd-header__account span{display:none}
}

/* =====================================================================
   FOOTER
   ===================================================================== */
.fd-footer{
  margin-top:0;
  padding:64px 0 28px;
  background:var(--fd-ink);
  color:rgba(255,255,255,.92);
  font-size:15px;
}
.fd-footer__grid{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:40px}
.fd-footer__brand{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.fd-footer__logo{color:#fff;text-decoration:none}
.fd-footer__logo .fu-logo-text{color:#fff;font-family:var(--fd-display);font-size:24px;font-weight:800;letter-spacing:-.02em}
.fd-footer__logo :is(img,svg){display:block;max-height:48px;width:auto}
.fd-footer__brand p{max-width:30em;color:rgba(255,255,255,.72);line-height:1.6}
.fd-footer__col h2{
  margin-bottom:16px;
  color:#fff;
  font-family:var(--fd-display);
  font-size:17px;
  font-weight:700;
  letter-spacing:0;
}
.fd-footer__today{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}
.fd-footer__today span{color:rgba(255,255,255,.72);font-size:13.5px}
.fd-footer__today strong{color:#fff;font-size:16px;font-weight:600}
.fd-footer__list{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}
.fd-footer__list li{display:flex;gap:10px;align-items:flex-start;line-height:1.45}
.fd-footer__list .ti{flex:0 0 18px;margin-top:2px;color:var(--fd-accent);font-size:18px}
.fd-footer :is(.fd-footer__list a,.fd-footer__link){color:rgba(255,255,255,.92);text-decoration:none}
.fd-footer :is(.fd-footer__list a,.fd-footer__link):hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.fd-footer__link{font-weight:600}
.fd-footer__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px 24px;
  margin-top:48px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.14);
  color:rgba(255,255,255,.72);
  font-size:13.5px;
}
.fd-footer__legal{display:flex;gap:20px}
.fd-footer__legal a{color:rgba(255,255,255,.86);text-decoration:none}
.fd-footer__legal a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
@media(max-width:1024px){
  .fd-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fd-footer__brand{grid-column:1 / -1}
}

/* =====================================================================
   PHONE TAB BAR
   ===================================================================== */
.fd-tabbar{display:none}
@media(max-width:768px){
  .fd-header{display:none}
  .fd-main{padding-top:0}
  #foodie{padding-bottom:calc(var(--fd-tabbar-h) + env(safe-area-inset-bottom,0px))}
  .fd-tabbar{
    position:fixed;
    z-index:1000;
    left:0;
    right:0;
    bottom:0;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    height:calc(var(--fd-tabbar-h) + env(safe-area-inset-bottom,0px));
    padding:0 8px env(safe-area-inset-bottom,0px);
    background:color-mix(in srgb,var(--fd-paper) 96%,transparent);
    -webkit-backdrop-filter:saturate(1.4) blur(14px);
    backdrop-filter:saturate(1.4) blur(14px);
    box-shadow:0 -1px 0 var(--fd-line);
  }
  .fd-tabbar__item{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    color:var(--fd-muted);
    font-size:11.5px;
    font-weight:600;
    line-height:1;
    text-decoration:none;
    -webkit-tap-highlight-color:transparent;
  }
  .fd-tabbar__item .ti{
    display:grid;
    place-items:center;
    width:56px;
    height:30px;
    border-radius:15px;
    font-size:22px;
    transition:background-color .2s ease;
  }
  .fd-tabbar__item.is-active{color:var(--fd-brand)}
  .fd-tabbar__item.is-active .ti{background:var(--fd-brand-soft)}
  .fd-footer{padding:44px 0 24px}
  .fd-footer__grid{grid-template-columns:minmax(0,1fr);gap:32px}
  .fd-footer__bottom{flex-direction:column;align-items:flex-start;margin-top:36px}
  .fd-section{padding:40px 0}
  .fd-head{margin-bottom:16px;align-items:baseline}
  .fd-head h2,.fd-h2{font-size:25px}
  .fd-rail{gap:12px}
}
@media(max-width:380px){
  .fd-head h2,.fd-h2{font-size:22px}
}
@media(min-width:769px){
  .fd-arrows{display:flex}
}

/* =====================================================================
   CLOSURE NOTICE (filled by theme.js)
   ===================================================================== */
.fd-closure-slot:empty{display:none}
.fd-closure-slot{margin-bottom:20px}
.fd-closure-slot .fu-home-closure{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:4px 14px;
  align-items:start;
  padding:14px 16px;
  border-radius:var(--fd-r-card);
  background:#fff4e5;
  color:var(--fd-ink);
  box-shadow:inset 0 0 0 1px #f3d9b1;
}
.fd-closure-slot .fu-home-closure--active{background:#fdecea;box-shadow:inset 0 0 0 1px #f4c7c2}
.fd-closure-slot .fu-home-closure__icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#fff;font-size:19px}
.fd-closure-slot .fu-home-closure__copy{display:flex;flex-direction:column;gap:2px}
.fd-closure-slot .fu-home-closure__eyebrow{font-size:12.5px;font-weight:700;color:#8a4b00}
.fd-closure-slot .fu-home-closure--active .fu-home-closure__eyebrow{color:#a12a20}
.fd-closure-slot .fu-home-closure__copy strong{font-size:15.5px}
.fd-closure-slot .fu-home-closure__copy small{color:var(--fd-muted);font-size:14px}
.fd-closure-slot .fu-home-closure__countdown{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13.5px;color:var(--fd-muted)}

/* =====================================================================
   SHARED PAGE PIECES
   ===================================================================== */
.fd-muted{color:var(--fd-muted)}
.fd-h3{
  margin-bottom:16px;
  font-family:var(--fd-display);
  font-size:24px;
  font-weight:800;
  font-stretch:94%;
  line-height:1.1;
  letter-spacing:-.02em;
}
.fd-btn--light{background:rgba(255,255,255,.96);color:var(--fd-ink)}
.fd-btn--light:hover{background:#fff}
.fd-readable{max-width:760px;padding-bottom:72px}
.fd-actions-row{display:flex;flex-wrap:wrap;gap:12px}

/* typographic page header (legal, account, generic) */
.fd-pagehead{padding:56px 0 40px}
.fd-pagehead h1{
  max-width:16em;
  font-family:var(--fd-display);
  font-size:clamp(36px,4.6vw,64px);
  font-weight:800;
  font-stretch:90%;
  line-height:1;
  letter-spacing:-.035em;
  text-wrap:balance;
  hyphens:manual;
}
.fd-pagehead p{max-width:40em;margin-top:14px;color:var(--fd-muted);font-size:17px;line-height:1.55}
.fd-pagehead__row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px 32px;flex-wrap:wrap}
.fd-back{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:18px;
  color:var(--fd-muted);
  font-size:14.5px;
  font-weight:600;
  text-decoration:none;
}
.fd-back:hover{color:var(--fd-ink)}

/* photo banner (Kontakt) */
.fd-banner{padding:32px 0 0}
.fd-banner__frame{
  position:relative;
  display:flex;
  align-items:flex-end;
  width:var(--fd-wrap);
  min-height:440px;
  margin:0 auto;
  overflow:hidden;
  border-radius:var(--fd-r-media);
  background:var(--fd-brand);
  isolation:isolate;
}
.fd-banner__photo{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover}
.fd-banner.has-photo .fd-banner__frame::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(90deg,rgba(10,16,12,.82) 0%,rgba(10,16,12,.62) 42%,rgba(10,16,12,.08) 78%),
             linear-gradient(0deg,rgba(10,16,12,.45) 0%,rgba(10,16,12,0) 45%);
}
.fd-banner__topbar{position:absolute;top:20px;left:20px;right:20px;display:none;align-items:center;justify-content:space-between;gap:12px}
.fd-banner__copy{max-width:600px;padding:48px;color:#fff}
.fd-banner__copy h1{
  font-family:var(--fd-display);
  font-size:clamp(40px,5vw,72px);
  font-weight:800;
  font-stretch:90%;
  line-height:.98;
  letter-spacing:-.035em;
}
.fd-banner__copy p{margin-top:14px;color:rgba(255,255,255,.9);font-size:17px;line-height:1.55}
.fd-banner__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}

/* contact */
.fd-contact__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px 56px;align-items:start}
.fd-contact__grid.is-single{grid-template-columns:minmax(0,640px)}
.fd-week--light{padding:6px;background:var(--fd-surface);color:var(--fd-ink)}
.fd-week--light .fd-week__row + .fd-week__row:not(.is-today)::before{background:var(--fd-line)}
.fd-rows{display:flex;flex-direction:column;margin:0 0 20px;padding:0;list-style:none;border-radius:var(--fd-r-card);background:var(--fd-surface)}
.fd-rows li + li{box-shadow:inset 0 1px 0 var(--fd-line)}
.fd-rows a{display:flex;align-items:center;gap:14px;padding:14px 16px;color:var(--fd-ink);text-decoration:none}
.fd-rows a:hover .fd-rows__chev{transform:translateX(2px)}
.fd-rows__icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:var(--fd-paper);color:var(--fd-brand);font-size:20px}
.fd-rows__copy{display:flex;flex:1 1 auto;flex-direction:column;gap:2px;min-width:0}
.fd-rows__copy small{color:var(--fd-muted);font-size:13px;font-weight:500}
.fd-rows__copy strong{font-size:16px;font-weight:600;overflow-wrap:anywhere}
.fd-rows__chev{color:var(--fd-muted);font-size:18px;transition:transform .18s ease}
.fd-map{position:relative;overflow:hidden;border-radius:var(--fd-r-media);background:var(--fd-surface)}
.fd-map iframe{display:block;width:100%;height:420px;border:0;filter:saturate(.85)}
.fd-map__label{
  position:absolute;
  left:16px;
  bottom:16px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  max-width:calc(100% - 32px);
  min-height:48px;
  padding:0 16px;
  border-radius:12px;
  background:var(--fd-paper);
  color:var(--fd-ink);
  font-weight:600;
  text-decoration:none;
  box-shadow:var(--fd-e2);
}
.fd-map__label .ti:first-child{color:var(--fd-brand);font-size:20px}
.fd-zones{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:0;padding:0;list-style:none}
.fd-zones li{display:flex;flex-direction:column;gap:2px;padding:16px 18px;border-radius:var(--fd-r-card);background:var(--fd-surface)}
.fd-zones strong{font-size:16px}
.fd-zones span{color:var(--fd-muted);font-size:14px}

/* legal */
.fd-legal__layout{padding-bottom:80px}
.fd-legal__layout.has-toc{display:grid;grid-template-columns:260px minmax(0,1fr);gap:64px;align-items:start}
.fd-toc{position:sticky;top:calc(var(--fd-header-h) + 24px);padding:20px;border-radius:var(--fd-r-card);background:var(--fd-surface)}
.fd-toc__title{margin-bottom:10px;font-family:var(--fd-display);font-size:17px;font-weight:700}
.fd-toc ol{margin:0;padding:0 0 0 20px;font-size:14.5px;line-height:1.4}
.fd-toc li + li{margin-top:8px}
.fd-toc a{color:var(--fd-muted);text-decoration:none}
.fd-toc a:hover{color:var(--fd-ink);text-decoration:underline;text-underline-offset:3px}
.fd-legal__body{max-width:760px}
.fd-clause{scroll-margin-top:calc(var(--fd-header-h) + 24px);padding:28px 0;border-top:1px solid var(--fd-line)}
.fd-clause:first-child{padding-top:0;border-top:0}
.fd-clause h2{display:flex;align-items:baseline;gap:14px;margin-bottom:12px;font-family:var(--fd-display);font-size:22px;font-weight:700;letter-spacing:-.015em}
.fd-clause__num{flex:0 0 auto;color:var(--fd-brand);font-variant-numeric:tabular-nums}
.fd-prose{color:var(--fd-ink);font-size:16px;line-height:1.7}
.fd-prose > * + *{margin-top:14px}
.fd-prose a{color:var(--fd-brand);text-underline-offset:3px}
.fd-prose :is(ul,ol){padding-left:22px}
.fd-prose h2{margin-top:28px;font-family:var(--fd-display);font-size:24px;font-weight:700}
.fd-prose h3{margin-top:22px;font-size:18px}
.fd-facts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:0 0 56px}
.fd-facts-grid > div{padding:20px;border-radius:var(--fd-r-card);background:var(--fd-surface)}
.fd-facts-grid dt{margin-bottom:6px;color:var(--fd-muted);font-size:13.5px;font-weight:600}
.fd-facts-grid dd{margin:0;font-size:17px;font-weight:600;line-height:1.45}
.fd-facts-grid a{color:var(--fd-ink);text-decoration:underline;text-decoration-color:var(--fd-line);text-underline-offset:4px}
.fd-legal__note{max-width:760px;padding-bottom:72px}

/* =====================================================================
   FORMS
   ===================================================================== */
.fd-form{display:flex;flex-direction:column;gap:16px}
.fd-form__grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.fd-form__grid > .fd-field{grid-column:span 3}
.fd-form__grid > .fd-field--wide{grid-column:span 4}
.fd-form__grid > .fd-field--narrow{grid-column:span 2}
.fd-form__row{display:flex;align-items:center;gap:12px}
.fd-form__row--between{justify-content:space-between;flex-wrap:wrap}
.fd-form__hint{color:var(--fd-muted);font-size:13.5px}
.fd-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.fd-field > span,.fd-field > label{font-size:14px;font-weight:600;color:var(--fd-ink)}
.fd-field input,.fd-wc :is(input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],select,textarea),
.fd-field__control input{
  width:100%;
  min-height:50px;
  padding:0 14px;
  border:1.5px solid var(--fd-line);
  border-radius:var(--fd-r-ctl);
  background:var(--fd-paper);
  color:var(--fd-ink);
  font-size:16px;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.fd-wc textarea{min-height:120px;padding:12px 14px}
.fd-field input:hover,.fd-wc :is(input,select,textarea):hover{border-color:color-mix(in srgb,var(--fd-ink) 30%,var(--fd-line))}
.fd-field input:focus,.fd-wc :is(input,select,textarea):focus{outline:none;border-color:var(--fd-brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--fd-brand) 16%,transparent)}
.fd-field__control{position:relative}
.fd-field__control input{padding-right:52px}
.fd-field__toggle{
  position:absolute;
  top:50%;
  right:6px;
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:var(--fd-muted);
  font-size:20px;
  transform:translateY(-50%);
}
.fd-field__toggle:hover{background:var(--fd-surface);color:var(--fd-ink)}
.fd-check{display:inline-flex;align-items:center;gap:10px;font-size:15px;cursor:pointer}
.fd-check input{width:20px;height:20px;margin:0;accent-color:var(--fd-brand)}
.fd-alert{
  display:flex;
  gap:12px;
  align-items:flex-start;
  margin-bottom:20px;
  padding:14px 16px;
  border-radius:var(--fd-r-ctl);
  background:#fdecea;
  color:#7a1c14;
  font-size:15px;
  box-shadow:inset 0 0 0 1px #f4c7c2;
}
.fd-alert .ti{flex:0 0 20px;margin-top:2px;font-size:20px}
.fd-segmented{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
  margin-bottom:28px;
  padding:4px;
  border-radius:14px;
  background:var(--fd-surface);
}
.fd-segmented button{
  min-height:44px;
  border:0;
  border-radius:11px;
  background:transparent;
  color:var(--fd-muted);
  font-family:var(--fd-display);
  font-size:15.5px;
  font-weight:700;
  transition:background-color .2s ease,color .2s ease,box-shadow .2s ease;
}
.fd-segmented button[aria-selected="true"]{background:var(--fd-paper);color:var(--fd-ink);box-shadow:0 1px 2px rgba(22,29,25,.08),0 4px 12px -6px rgba(22,29,25,.25)}

/* =====================================================================
   ACCOUNT
   ===================================================================== */
.fd-auth{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start;padding:40px 0 80px}
.fd-auth__visual{
  position:sticky;
  top:calc(var(--fd-header-h) + 24px);
  display:flex;
  align-items:flex-end;
  min-height:620px;
  overflow:hidden;
  border-radius:var(--fd-r-media);
  background:var(--fd-brand);
  color:#fff;
  isolation:isolate;
}
.fd-auth__visual img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover}
.fd-auth__visual.has-photo::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(0deg,rgba(10,16,12,.86) 0%,rgba(10,16,12,.5) 45%,rgba(10,16,12,.05) 75%)}
.fd-auth__topbar{position:absolute;top:20px;left:20px;display:none}
.fd-auth__pitch{padding:40px}
.fd-auth__pitch h1{font-family:var(--fd-display);font-size:clamp(40px,4.4vw,60px);font-weight:800;font-stretch:90%;line-height:1;letter-spacing:-.035em}
.fd-auth__pitch ul{display:flex;flex-direction:column;gap:12px;margin:22px 0 0;padding:0;list-style:none}
.fd-auth__pitch li{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:500}
.fd-auth__pitch .ti{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.16);font-size:19px}
.fd-auth__panel{padding-top:8px}
.fd-auth__form h2{font-family:var(--fd-display);font-size:30px;font-weight:800;font-stretch:94%;letter-spacing:-.025em}
.fd-auth__form > .fd-muted{margin:6px 0 24px}

.fd-dash{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-bottom:80px}
.fd-card{padding:24px;border-radius:var(--fd-r-card);background:var(--fd-surface)}
.fd-card__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}
.fd-card__head h2{font-family:var(--fd-display);font-size:20px;font-weight:700;letter-spacing:-.01em}
.fd-card__text{font-size:16px;line-height:1.55}
.fd-dash__orders{grid-column:1 / -1;background:var(--fd-paper);box-shadow:inset 0 0 0 1.5px var(--fd-line)}
.fd-orderlist{margin:0;padding:0;list-style:none}
.fd-orderlist li + li{box-shadow:inset 0 1px 0 var(--fd-line)}
.fd-orderlist a{display:grid;grid-template-columns:minmax(0,1fr) auto auto 18px;align-items:center;gap:16px;padding:14px 4px;color:var(--fd-ink);text-decoration:none}
.fd-orderlist a:hover{background:linear-gradient(90deg,transparent,var(--fd-surface) 20%,var(--fd-surface) 80%,transparent)}
.fd-orderlist__main{display:flex;flex-direction:column;gap:2px;min-width:0}
.fd-orderlist__main strong{font-size:16px}
.fd-orderlist__main small{color:var(--fd-muted);font-size:13.5px}
.fd-orderlist .ti{color:var(--fd-muted)}
.fd-badge{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;background:var(--fd-surface);color:var(--fd-ink);font-size:12.5px;font-weight:700;white-space:nowrap}
.fd-badge--completed{background:#e3f4ea;color:#14532d}
.fd-badge--processing{background:#e8f0fb;color:#1e3a8a}
.fd-badge--on-hold,.fd-badge--pending{background:#fff3df;color:#7c4a03}
.fd-badge--cancelled,.fd-badge--failed,.fd-badge--refunded{background:#fdecea;color:#7a1c14}
.fd-empty{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;padding:20px;border-radius:14px;background:var(--fd-surface)}
.fd-empty p{display:flex;flex-direction:column;gap:2px;color:var(--fd-muted)}
.fd-empty strong{color:var(--fd-ink);font-size:16px}
.fd-dl{margin:0;display:flex;flex-direction:column;gap:12px}
.fd-dl dt{color:var(--fd-muted);font-size:13px;font-weight:500}
.fd-dl dd{margin:0;font-size:16px;font-weight:600;overflow-wrap:anywhere}
.fd-dash__more{padding:8px}
.fd-linklist{margin:0;padding:0;list-style:none}
.fd-linklist li + li{box-shadow:inset 0 1px 0 var(--fd-line)}
.fd-linklist a{display:flex;align-items:center;gap:12px;min-height:50px;padding:0 14px;border-radius:12px;color:var(--fd-ink);font-weight:600;text-decoration:none}
.fd-linklist a span{flex:1 1 auto}
.fd-linklist a .ti:first-child{color:var(--fd-brand);font-size:19px}
.fd-linklist a .ti:last-child{color:var(--fd-muted)}
.fd-linklist a:hover{background:var(--fd-paper)}
.fd-linklist a.is-danger,.fd-linklist a.is-danger .ti:first-child{color:#b42318}

/* =====================================================================
   WOOCOMMERCE CONTENT (account pages, cart page, notices)
   ===================================================================== */
.fd-account__wc{padding-bottom:80px}
.fd-wc .woocommerce{display:grid;grid-template-columns:240px minmax(0,1fr);gap:40px;align-items:start}
.fd-wc .woocommerce-MyAccount-navigation ul{display:flex;flex-direction:column;gap:2px;margin:0;padding:6px;list-style:none;border-radius:var(--fd-r-card);background:var(--fd-surface)}
.fd-wc .woocommerce-MyAccount-navigation a{display:flex;align-items:center;min-height:46px;padding:0 14px;border-radius:12px;color:var(--fd-ink);font-weight:600;text-decoration:none}
.fd-wc .woocommerce-MyAccount-navigation a:hover{background:var(--fd-paper)}
.fd-wc .woocommerce-MyAccount-navigation .is-active a{background:var(--fd-paper);color:var(--fd-brand);box-shadow:0 1px 2px rgba(22,29,25,.08)}
.fd-wc .woocommerce-MyAccount-navigation-link--customer-logout a{color:#b42318}
.fd-wc .woocommerce > *{grid-column:1 / -1;min-width:0}
.fd-wc .woocommerce > .woocommerce-MyAccount-navigation{grid-column:1;float:none;width:auto;position:sticky;top:calc(var(--fd-header-h) + 20px)}
.fd-wc .woocommerce > .woocommerce-MyAccount-content{grid-column:2;float:none;width:auto}
.fd-wc :is(.col2-set,.u-columns) > *{float:none;width:auto}
.fd-wc .woocommerce-notices-wrapper:empty{display:none}
.fd-wc .woocommerce-MyAccount-content{min-width:0}
.fd-wc .woocommerce-MyAccount-content > * + *{margin-top:18px}
.fd-wc table{width:100%;border-collapse:collapse;font-size:15px}
.fd-wc :is(th,td){padding:14px 12px;border-bottom:1px solid var(--fd-line);text-align:left;vertical-align:middle}
.fd-wc thead th{color:var(--fd-muted);font-size:13px;font-weight:600}
.fd-wc :is(.button,button[type=submit],input[type=submit]){
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 20px;
  border:0;
  border-radius:var(--fd-r-ctl);
  background:var(--fd-brand);
  color:var(--fd-on-brand);
  font-family:var(--fd-display);
  font-size:15px;
  font-weight:700;
  text-decoration:none;
  cursor:pointer;
}
.fd-wc :is(.button,button[type=submit]):hover{background:var(--fd-brand-hover)}
.fd-wc .woocommerce-orders-table .button{min-height:38px;padding:0 14px;font-size:14px}
.fd-wc form .form-row{display:flex;flex-direction:column;gap:6px;margin:0 0 16px}
.fd-wc form .form-row label{font-size:14px;font-weight:600}
.fd-wc form .form-row .required{color:#b42318;text-decoration:none}
.fd-wc fieldset{margin:24px 0 0;padding:20px;border:1.5px solid var(--fd-line);border-radius:var(--fd-r-card)}
.fd-wc legend{padding:0 8px;font-family:var(--fd-display);font-size:18px;font-weight:700}
.fd-wc .woocommerce-Addresses{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.fd-wc .woocommerce-Address{padding:20px;border-radius:var(--fd-r-card);background:var(--fd-surface)}
.fd-wc .woocommerce-Address-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.fd-wc :is(.woocommerce,.woocommerce-Addresses,.col2-set,.u-columns,.woocommerce-Address-title)::before,
.fd-wc :is(.woocommerce,.woocommerce-Addresses,.col2-set,.u-columns,.woocommerce-Address-title)::after{content:none;display:none}
.fd-wc .woocommerce-Address-title .edit{float:none;margin-left:auto}
.fd-wc .woocommerce-Address-title h2{font-family:var(--fd-display);font-size:19px}
.fd-wc .woocommerce-Address-title .edit{color:var(--fd-brand);font-weight:600}
.fd-wc address{font-style:normal;line-height:1.6}
.fd-wc :is(.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-notice){
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 18px;
  padding:16px 18px;
  border-radius:var(--fd-r-ctl);
  background:var(--fd-surface);
  list-style:none;
  font-size:15px;
}
.fd-wc :is(.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-notice){position:static;border:0;width:auto}
.fd-wc :is(.woocommerce-message,.woocommerce-info,.woocommerce-error)::before{content:none;display:none}
.fd-wc :is(.woocommerce-message,.woocommerce-info,.woocommerce-error)::after{content:none}
.fd-wc :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) .button{order:2;margin:0}
.fd-wc [tabindex="-1"]:focus{outline:none}
.fd-wc .woocommerce-error{background:#fdecea;color:#7a1c14}
.fd-wc .woocommerce-message{background:#e3f4ea;color:#14532d}
.fd-wc :is(.woocommerce-message,.woocommerce-info) .button{min-height:40px;font-size:14px}
.fd-wc .woocommerce-pagination{display:flex;gap:10px;margin-top:18px}
.fd-wc em{color:var(--fd-muted);font-size:14px}

/* =====================================================================
   MENU PAGE HEADER (the FoodUp menu itself: foodie-shop.css)
   ===================================================================== */
.fd-orderhead{position:relative;padding:40px 0 28px}
.fd-orderhead__photo,.fd-orderhead__topbar{display:none}
.fd-orderhead__inner{display:flex;align-items:flex-end;justify-content:space-between;gap:16px 32px;flex-wrap:wrap}
.fd-orderhead h1{font-family:var(--fd-display);font-size:clamp(36px,4.4vw,60px);font-weight:800;font-stretch:90%;line-height:1;letter-spacing:-.035em}
.fd-orderhead__copy p{margin-top:10px;color:var(--fd-muted);font-size:16px}
.fd-orderhead__meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.fd-orderhead__meta .fd-services{margin:0}
.fd-orderhead__status{min-height:34px;padding:0 12px;border-radius:10px;background:var(--fd-surface);font-size:13.5px;font-weight:600}

/* =====================================================================
   PAGES — tablet & phone
   ===================================================================== */
@media(max-width:1024px){
  .fd-dash{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fd-auth{gap:32px}
  .fd-legal__layout.has-toc{grid-template-columns:200px minmax(0,1fr);gap:40px}
  .fd-wc .woocommerce{grid-template-columns:200px minmax(0,1fr);gap:28px}
}
@media(max-width:768px){
  .fd-pagehead{padding:28px 0 24px}
  .fd-pagehead h1{font-size:36px}
  .fd-pagehead p{font-size:16px}
  .fd-pagehead--dash .fd-btn{flex:1 1 100%}

  /* Kontakt: full-bleed photo header */
  .fd-banner{padding:0}
  .fd-banner__frame{width:100%;min-height:440px;border-radius:0 0 28px 28px}
  .fd-banner.has-photo .fd-banner__frame::before{background:linear-gradient(0deg,rgba(10,16,12,.88) 0%,rgba(10,16,12,.55) 50%,rgba(10,16,12,.15) 100%)}
  .fd-banner__topbar{display:flex;top:max(14px,env(safe-area-inset-top));left:var(--fd-gutter);right:var(--fd-gutter)}
  .fd-banner__copy{padding:24px var(--fd-gutter) 24px}
  .fd-banner__copy h1{font-size:38px}
  .fd-banner__copy p{font-size:15.5px}
  .fd-banner__actions .fd-btn{flex:1 1 0;min-width:0;padding:0 10px}
  .fd-contact__grid{grid-template-columns:minmax(0,1fr);gap:32px}
  .fd-map iframe{height:300px}

  .fd-legal__layout.has-toc{grid-template-columns:minmax(0,1fr);gap:24px}
  .fd-toc{position:static}
  .fd-clause h2{font-size:19px}

  .fd-auth{grid-template-columns:minmax(0,1fr);gap:0;width:100%;padding:0 0 48px}
  .fd-auth__visual{position:relative;top:0;min-height:300px;border-radius:0 0 28px 28px}
  .fd-auth__visual.has-photo::before{background:linear-gradient(0deg,rgba(10,16,12,.9) 0%,rgba(10,16,12,.72) 55%,rgba(10,16,12,.3) 100%)}
  .fd-auth__topbar{display:block;top:max(14px,env(safe-area-inset-top));left:var(--fd-gutter)}
  .fd-auth__pitch{padding:24px var(--fd-gutter)}
  .fd-auth__pitch h1{font-size:38px}
  .fd-auth__pitch ul{gap:8px;margin-top:14px}
  .fd-auth__pitch li{font-size:14.5px}
  .fd-auth__pitch .ti{flex-basis:30px;width:30px;height:30px;font-size:17px}
  .fd-auth__panel{width:var(--fd-wrap);margin:0 auto;padding-top:24px}
  .fd-form__grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
  .fd-form__grid > .fd-field{grid-column:1 / -1}
  .fd-form__grid > .fd-field--wide{grid-column:span 4}
  .fd-form__grid > .fd-field--narrow{grid-column:span 2}

  .fd-dash{grid-template-columns:minmax(0,1fr);gap:14px}
  .fd-orderlist a{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px}
  .fd-orderlist .fd-badge{grid-row:2;grid-column:1;justify-self:start}
  .fd-orderlist .fd-price{grid-row:1;grid-column:2}
  .fd-orderlist a > .ti{display:none}

  .fd-wc .woocommerce{grid-template-columns:minmax(0,1fr);gap:20px}
  .fd-wc .woocommerce > :is(.woocommerce-MyAccount-navigation,.woocommerce-MyAccount-content){grid-column:1;position:static}
  .fd-wc .woocommerce-MyAccount-navigation{margin:0 calc(var(--fd-gutter) * -1)}
  .fd-wc .woocommerce-MyAccount-navigation ul{flex-direction:row;gap:8px;padding:0 var(--fd-gutter) 4px;overflow-x:auto;border-radius:0;background:transparent;scrollbar-width:none}
  .fd-wc .woocommerce-MyAccount-navigation ul::-webkit-scrollbar{display:none}
  .fd-wc .woocommerce-MyAccount-navigation li{flex:0 0 auto}
  .fd-wc .woocommerce-MyAccount-navigation a{min-height:40px;white-space:nowrap;background:var(--fd-surface)}
  .fd-wc .woocommerce-MyAccount-navigation .is-active a{background:var(--fd-brand);color:var(--fd-on-brand)}
  .fd-wc .woocommerce-orders-table thead{display:none}
  .fd-wc .woocommerce-orders-table tr{display:grid;grid-template-columns:1fr auto;padding:12px 0;border-bottom:1px solid var(--fd-line)}
  .fd-wc .woocommerce-orders-table td{padding:4px 0;border:0}
  .fd-wc .woocommerce-orders-table td::before{content:attr(data-title) ": ";color:var(--fd-muted);font-size:13px}
  .fd-wc .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before{content:none}

  /* menu page: photo strip with logo + status on phones */
  .fd-orderhead{padding:0 0 18px}
  .fd-orderhead__photo{display:block;height:180px;overflow:hidden}
  .fd-orderhead__photo img{display:block;width:100%;height:100%;object-fit:cover}
  .fd-orderhead__topbar{position:absolute;top:max(14px,env(safe-area-inset-top));left:var(--fd-gutter);right:var(--fd-gutter);display:flex;align-items:center;justify-content:space-between;gap:12px}
  .fd-orderhead__inner{position:relative;z-index:1;margin-top:-24px;padding:22px var(--fd-gutter) 0;width:100%;border-radius:24px 24px 0 0;background:var(--fd-paper)}
  .fd-orderhead h1{font-size:34px}
  .fd-orderhead__copy p{margin-top:6px;font-size:14.5px}
  .fd-orderhead__status{display:none}
}

/* =====================================================================
   PHONE BRAND BAR (pages without a photo top) + sticky footer
   ===================================================================== */
.fd-mbar{display:none}
@media(max-width:768px){
  .fd-mbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:64px;
    padding:max(10px,env(safe-area-inset-top)) var(--fd-gutter) 10px;
    border-bottom:1px solid var(--fd-line);
    background:var(--fd-paper);
  }
  .fd-mbar__logo{display:flex;align-items:center;min-width:0;color:var(--fd-ink);text-decoration:none}
  .fd-mbar__logo .fu-logo-text{font-family:var(--fd-display);font-size:20px;font-weight:800;letter-spacing:-.02em}
  .fd-mbar__logo :is(img,svg){display:block;max-height:36px;width:auto}
  .fd-mbar__status{flex:0 0 auto;min-height:34px;padding:0 12px 0 14px;border-radius:999px;background:var(--fd-surface);font-size:13px;font-weight:600}
}
#foodie{display:flex;flex-direction:column;min-height:100vh;min-height:100svh}
#foodie > .fd-main{flex:1 0 auto}
#foodie > .fd-footer{flex-shrink:0}
