.tk-gastro-menu{max-width:980px;margin:0 auto;font-family:inherit}
.tk-gastro-header{margin-bottom:1.5rem}
.tk-gastro-header h2{margin:0 0 .35rem;font-size:clamp(1.75rem,3vw,2.5rem)}
.tk-gastro-header p{margin:0;color:#646970}
.tk-gastro-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.5rem}
.tk-gastro-filters button{border:1px solid #c3c4c7;background:#fff;padding:.55rem .8rem;border-radius:999px;cursor:pointer;font:inherit}
.tk-gastro-filters button.is-active{background:#1d2327;color:#fff;border-color:#1d2327}
.tk-gastro-category{margin:2rem 0}
.tk-gastro-category>h3{font-size:1.4rem;border-bottom:2px solid currentColor;padding-bottom:.4rem;margin-bottom:.5rem}
.tk-gastro-item{padding:1rem 0;border-bottom:1px solid #dcdcde}
.tk-gastro-item-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,260px);gap:1.5rem;align-items:start}
.tk-gastro-item h4{margin:0 0 .25rem;font-size:1.08rem}
.tk-gastro-description{margin:.15rem 0 .6rem;color:#50575e}
.tk-gastro-components{margin:.15rem 0 .45rem;font-size:.88rem;color:#50575e}
.tk-gastro-variants{display:flex;flex-direction:column;gap:.35rem}
.tk-gastro-variant{display:flex;justify-content:space-between;gap:1rem}
.tk-gastro-tags{display:flex;flex-wrap:wrap;gap:.35rem}
.tk-gastro-tags span{font-size:.78rem;border:1px solid #dcdcde;border-radius:999px;padding:.18rem .45rem}
.tk-gastro-meta{font-size:.78rem;color:#646970;margin-top:.65rem;display:flex;flex-direction:column;gap:.15rem}
.tk-gastro-empty{padding:1rem;border:1px solid #dcdcde;background:#fff}
@media(max-width:640px){
  .tk-gastro-item-main{grid-template-columns:1fr;gap:.7rem}
  .tk-gastro-variants{max-width:none}
}

.tk-gastro-filter-panel{margin:1.2rem 0 2rem;padding:1rem;border:1px solid #dcdcde;border-radius:10px;background:rgba(255,255,255,.55)}
.tk-gastro-filter-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem}
.tk-gastro-filter-group{display:grid;grid-template-columns:minmax(110px,150px) 1fr;gap:.75rem;align-items:start;padding:.45rem 0}
.tk-gastro-filter-label{font-size:.86rem;font-weight:600;color:#50575e;padding-top:.45rem}
.tk-gastro-filter-reset{border:0;background:transparent;text-decoration:underline;cursor:pointer;font:inherit;padding:.35rem .2rem}
.tk-gastro-filters{margin:0}
.tk-gastro-filters button{transition:background-color .15s ease,color .15s ease,border-color .15s ease}
.tk-gastro-filters button.is-active{background:#1d2327;color:#fff;border-color:#1d2327}
.tk-gastro-variant.is-single-price{justify-content:flex-end}
@media(max-width:640px){
  .tk-gastro-filter-group{grid-template-columns:1fr;gap:.15rem}
  .tk-gastro-filter-label{padding-top:0}
}

.tk-gastro-filter-wrap{margin:1rem 0 1.4rem}
.tk-filter-toggle{display:none;border:1px solid #c3c4c7;background:#fff;border-radius:999px;padding:.45rem .8rem;font:inherit;cursor:pointer}
.tk-gastro-filter-panel{margin:0;padding:.65rem .8rem;border:1px solid #dcdcde;border-radius:8px;background:rgba(255,255,255,.42)}
.tk-gastro-filter-heading{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.35rem}
.tk-gastro-filter-heading strong{font-size:.9rem}
.tk-gastro-filter-group{display:flex;align-items:center;gap:.55rem;padding:.25rem 0}
.tk-gastro-filter-label{min-width:92px;font-size:.78rem;font-weight:600;color:#646970;padding:0}
.tk-gastro-filters{display:flex;flex-wrap:wrap;gap:.35rem;margin:0}
.tk-gastro-filters button{padding:.32rem .58rem;font-size:.8rem;line-height:1.2;border-radius:999px}
.tk-filter-reset{font-size:.78rem;text-decoration:none;border:0;background:transparent;color:#646970;cursor:pointer;padding:.2rem .3rem}
.tk-filter-reset:hover{text-decoration:underline}
@media(max-width:640px){
  .tk-filter-toggle{display:inline-flex;align-items:center;gap:.35rem;margin-bottom:.5rem}
  .tk-gastro-filter-panel{display:none}
  .tk-gastro-filter-panel.is-open{display:block}
  .tk-gastro-filter-group{display:block;padding:.35rem 0}
  .tk-gastro-filter-label{display:block;margin-bottom:.25rem;min-width:0}
}

.tk-gastro-filter-wrap{margin:.75rem 0 1.2rem}
.tk-gastro-filter-topline{display:flex;justify-content:flex-end;align-items:center;gap:.5rem;margin-bottom:.35rem}
.tk-gastro-filter-panel{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.45rem;
  padding:.45rem .55rem;
  border:1px solid #e2e4e7;
  border-radius:999px;
  background:rgba(255,255,255,.38)
}
.tk-gastro-filter-group{
  display:flex;
  align-items:center;
  gap:.4rem;
  padding:0;
}
.tk-gastro-filter-label{
  min-width:auto;
  font-size:.72rem;
  font-weight:600;
  color:#72777c;
  padding:0;
  white-space:nowrap;
}
.tk-gastro-filters{gap:.28rem}
.tk-gastro-filters button{
  padding:.28rem .52rem;
  font-size:.76rem;
  line-height:1.15;
  border-radius:999px;
}
.tk-filter-separator{
  width:1px;
  height:22px;
  background:#dcdcde;
  display:inline-block;
}
.tk-filter-reset{
  font-size:.76rem;
  border:0;
  background:transparent;
  color:#646970;
  cursor:pointer;
  padding:.25rem .35rem;
}
.tk-filter-reset:hover{text-decoration:underline}
.tk-filter-toggle{display:none}
@media(max-width:760px){
  .tk-gastro-filter-topline{justify-content:flex-start}
  .tk-filter-toggle{
    display:inline-flex;
    border:1px solid #c3c4c7;
    background:#fff;
    border-radius:999px;
    padding:.4rem .7rem;
    font:inherit;
    font-size:.8rem;
    cursor:pointer
  }
  .tk-gastro-filter-panel{
    display:none;
    border-radius:10px;
    align-items:flex-start;
    gap:.6rem;
    padding:.65rem
  }
  .tk-gastro-filter-panel.is-open{display:block}
  .tk-gastro-filter-group{
    display:block;
    margin:.35rem 0 .55rem
  }
  .tk-gastro-filter-label{
    display:block;
    margin-bottom:.25rem
  }
  .tk-filter-separator{display:none}
}

/* v0.10 Branding */
.tk-gastro-menu{--tk-gastro-accent:currentColor}
.tk-gastro-brand-logo{margin:0 0 1rem}
.tk-gastro-brand-logo img{display:block;max-width:min(260px,70%);max-height:130px;width:auto;height:auto}
.tk-gastro-menu .tk-gastro-category>h3{border-bottom-color:var(--tk-gastro-accent)}
.tk-gastro-menu .tk-gastro-filters button.is-active{background:var(--tk-gastro-accent);border-color:var(--tk-gastro-accent)}
.tk-gastro-style-inherit{font-family:inherit;color:inherit}
.tk-gastro-style-modern{padding:clamp(1rem,3vw,2rem);border-radius:14px;background:#fff}
.tk-gastro-style-modern .tk-gastro-header h2{letter-spacing:-.025em}
.tk-gastro-style-elegant .tk-gastro-header{text-align:center;margin-bottom:2rem}
.tk-gastro-style-elegant .tk-gastro-header h2,
.tk-gastro-style-elegant .tk-gastro-category>h3{font-family:Georgia,"Times New Roman",serif;font-weight:400}
.tk-gastro-style-elegant .tk-gastro-brand-logo img{margin-inline:auto}
.tk-gastro-style-elegant .tk-gastro-category>h3{text-align:center;border-bottom-width:1px}
.tk-gastro-style-rustic{padding:clamp(1rem,3vw,2rem);border:1px solid rgba(80,65,45,.22);border-radius:6px;background:#fbf8f1}
.tk-gastro-style-rustic .tk-gastro-header h2,
.tk-gastro-style-rustic .tk-gastro-category>h3{font-family:Georgia,"Times New Roman",serif}
.tk-gastro-style-minimal .tk-gastro-filter-panel{border:0;padding-left:0;padding-right:0;background:transparent}
.tk-gastro-style-minimal .tk-gastro-tags span{border:0;padding-left:0}


/* ==========================================================
   TK Gastro v0.10.2 – Design-Presets & Mobile Filter
   ========================================================== */

/* Gemeinsame Basis */
.tk-gastro-menu{
  --tkg-space: 1rem;
  --tkg-radius: 10px;
}
.tk-gastro-header{margin-bottom:1.5rem}
.tk-gastro-item{transition:background .18s ease}
.tk-gastro-item-title,
.tk-gastro-price{font-weight:700}

/* WEBSITE ÜBERNEHMEN – bewusst neutral */
.tk-gastro-style-inherit{
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  font-family:inherit;
  color:inherit;
}

/* MODERN – klar, kompakt, Kartencharakter */
.tk-gastro-style-modern{
  padding:clamp(1.1rem,3vw,2.25rem);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 35px rgba(0,0,0,.07);
}
.tk-gastro-style-modern .tk-gastro-category>h3{
  padding-bottom:.55rem;
  border-bottom-width:3px;
}
.tk-gastro-style-modern .tk-gastro-item{
  padding:1.2rem .25rem;
}
.tk-gastro-style-modern .tk-gastro-tags span{
  border-radius:999px;
}

/* ELEGANT – ruhig, luftig, fein */
.tk-gastro-style-elegant{
  max-width:960px;
  margin-inline:auto;
  padding:clamp(1.25rem,4vw,3rem);
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:2px;
}
.tk-gastro-style-elegant .tk-gastro-header{
  text-align:center;
  margin-bottom:2.5rem;
}
.tk-gastro-style-elegant .tk-gastro-header h2{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2rem,5vw,3.1rem);
  font-weight:400;
  letter-spacing:.02em;
  margin-bottom:.4rem;
}
.tk-gastro-style-elegant .tk-gastro-header p{
  opacity:.68;
}
.tk-gastro-style-elegant .tk-gastro-brand-logo img{
  margin-inline:auto;
}
.tk-gastro-style-elegant .tk-gastro-category>h3{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.45rem,3vw,2rem);
  font-weight:400;
  text-align:center;
  padding-bottom:.65rem;
  margin-bottom:.4rem;
  border-bottom-width:1px;
}
.tk-gastro-style-elegant .tk-gastro-item{
  padding:1.45rem .15rem;
}
.tk-gastro-style-elegant .tk-gastro-item-title{
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.08em;
  font-weight:600;
}
.tk-gastro-style-elegant .tk-gastro-tags span{
  border-radius:2px;
  opacity:.82;
}

/* RUSTIKAL – warm, kräftiger, Gasthaus-Charakter */
.tk-gastro-style-rustic{
  padding:clamp(1.2rem,4vw,2.5rem);
  border:1px solid rgba(84,61,37,.28);
  border-radius:8px;
  background:#f7f1e5;
  box-shadow:inset 0 0 0 4px rgba(84,61,37,.035);
}
.tk-gastro-style-rustic .tk-gastro-header h2,
.tk-gastro-style-rustic .tk-gastro-category>h3,
.tk-gastro-style-rustic .tk-gastro-item-title{
  font-family:Georgia,"Times New Roman",serif;
}
.tk-gastro-style-rustic .tk-gastro-category>h3{
  border-bottom:2px solid var(--tk-gastro-accent);
}
.tk-gastro-style-rustic .tk-gastro-item{
  border-bottom-style:dashed;
}

/* MINIMAL – praktisch keine Dekoration */
.tk-gastro-style-minimal{
  background:transparent;
  border:0;
  box-shadow:none;
}
.tk-gastro-style-minimal .tk-gastro-header{
  margin-bottom:1.25rem;
}
.tk-gastro-style-minimal .tk-gastro-category>h3{
  border:0;
  padding-bottom:.25rem;
}
.tk-gastro-style-minimal .tk-gastro-filter-panel{
  border:0;
  border-radius:0;
  padding-left:0;
  padding-right:0;
  background:transparent;
}
.tk-gastro-style-minimal .tk-gastro-item{
  padding:1rem 0;
  border-bottom:1px solid rgba(0,0,0,.10);
}
.tk-gastro-style-minimal .tk-gastro-tags span{
  border:0;
  border-radius:0;
  padding-left:0;
  padding-right:.6rem;
}

/* Mobiler Filter: echte, gut bedienbare Klappe */
.tk-gastro-mobile-filter-toggle{
  display:none;
}

@media (max-width: 700px){
  .tk-gastro-mobile-filter-toggle{
    display:flex;
    width:100%;
    min-height:44px;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
    margin:0 0 .65rem;
    padding:.7rem .9rem;
    border:1px solid rgba(0,0,0,.18);
    border-radius:9px;
    background:#fff;
    color:inherit;
    font:inherit;
    font-weight:700;
    cursor:pointer;
  }
  .tk-gastro-mobile-filter-toggle::after{
    content:"＋";
    font-size:1.15em;
    line-height:1;
  }
  .tk-gastro-mobile-filter-toggle[aria-expanded="true"]::after{
    content:"−";
  }
  .tk-gastro-menu.tkg-mobile-filter-ready .tk-gastro-filter-panel{
    display:none;
  }
  .tk-gastro-menu.tkg-mobile-filter-ready .tk-gastro-filter-panel.is-open{
    display:block;
  }

  .tk-gastro-style-elegant{
    padding:1.35rem 1rem;
  }
  .tk-gastro-style-elegant .tk-gastro-header{
    margin-bottom:1.7rem;
  }
  .tk-gastro-style-elegant .tk-gastro-item{
    padding:1.25rem 0;
  }
}


/* TK Gastro v0.10.3 – nur EIN mobiler Filter-Button */
@media (max-width: 700px){
  /* Alter kompakter Trigger aus der bisherigen Filterdarstellung */
  .tk-gastro-menu.tkg-mobile-filter-ready .tk-gastro-filter-toggle,
  .tk-gastro-menu.tkg-mobile-filter-ready .tk-gastro-filter-button,
  .tk-gastro-menu.tkg-mobile-filter-ready button[data-tk-gastro-filter-toggle]{
    display:none !important;
  }

  /* Der neue Accordion-Trigger bleibt der einzige sichtbare Filter-Schalter */
  .tk-gastro-menu.tkg-mobile-filter-ready .tk-gastro-mobile-filter-toggle{
    display:flex !important;
  }
}


/* TK Gastro v0.10.4 – Mobile Stabilisierung */
.tk-gastro-menu,
.tk-gastro-menu *{
  box-sizing:border-box;
}
.tk-gastro-menu{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
.tk-gastro-menu img{
  max-width:100%;
  height:auto;
}
.tk-gastro-item-main{
  min-width:0;
}
.tk-gastro-description,
.tk-gastro-item h4,
.tk-gastro-header h2,
.tk-gastro-category>h3{
  overflow-wrap:anywhere;
  word-break:normal;
}

/* Der alte Trigger darf nirgends mehr sichtbar sein */
.tk-filter-toggle{
  display:none !important;
}

@media (max-width:700px){
  .tk-gastro-menu{
    font-size:16px;
  }

  .tk-gastro-header h2,
  .tk-gastro-style-elegant .tk-gastro-header h2{
    font-size:clamp(1.65rem,8vw,2.1rem) !important;
    line-height:1.12 !important;
    max-width:100%;
  }

  .tk-gastro-category>h3,
  .tk-gastro-style-elegant .tk-gastro-category>h3{
    font-size:clamp(1.2rem,6vw,1.5rem) !important;
    line-height:1.2 !important;
    max-width:100%;
  }

  .tk-gastro-item h4,
  .tk-gastro-style-elegant .tk-gastro-item-title{
    font-size:1rem !important;
    line-height:1.25 !important;
  }

  .tk-gastro-description{
    font-size:.92rem !important;
    line-height:1.4 !important;
  }

  .tk-gastro-variant{
    font-size:.95rem;
  }

  .tk-gastro-style-elegant{
    width:100%;
    max-width:100%;
    padding:1.15rem .9rem !important;
    margin:0 !important;
  }

  .tk-gastro-style-elegant .tk-gastro-header{
    margin-bottom:1.5rem !important;
  }

  .tk-gastro-mobile-filter-toggle{
    width:100%;
    min-height:44px;
    font-size:.9rem !important;
    line-height:1.2 !important;
  }
}


/* TK Gastro v0.10.5 – frei wählbare Logo-Ausrichtung */
.tk-gastro-brand-logo.tk-gastro-logo-left{
  display:flex;
  justify-content:flex-start;
}
.tk-gastro-brand-logo.tk-gastro-logo-center{
  display:flex;
  justify-content:center;
}
.tk-gastro-brand-logo.tk-gastro-logo-right{
  display:flex;
  justify-content:flex-end;
}
.tk-gastro-brand-logo.tk-gastro-logo-left img,
.tk-gastro-brand-logo.tk-gastro-logo-center img,
.tk-gastro-brand-logo.tk-gastro-logo-right img{
  margin-left:0 !important;
  margin-right:0 !important;
}


/* TK Gastro 0.12.0 – Filter besser erkennbar */
.tk-gastro-filters button,
.tk-gastro-filter button,
.tk-gastro-filter-chip,
.tkg-filter {
    font-weight: 600;
    opacity: 1;
    border-width: 1px;
}
.tk-gastro-filters button:disabled,
.tk-gastro-filter button:disabled,
.tk-gastro-filter-chip:disabled,
.tkg-filter:disabled {
    opacity: .45;
}
#tk-gastro-reset-filters {
    display: none;
    margin-top: 12px;
    font-weight: 600;
}
#tk-gastro-reset-filters.is-visible {
    display: inline-flex;
}


/* v0.12.6 – klarere Filter- und Inhaltsdarstellung */
.tk-gastro-menu .tk-gastro-filter-panel{
  border:1px solid #c3c4c7;
  background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.08);
  padding:.7rem .8rem;
}
.tk-gastro-menu .tk-gastro-filter-label{
  font-size:.82rem;
  font-weight:700;
  color:#3c434a;
}
.tk-gastro-menu .tk-gastro-filters button{
  background:#fff;
  color:#2c3338;
  border:1px solid #a7aaad;
  font-weight:600;
  padding:.38rem .65rem;
}
.tk-gastro-menu .tk-gastro-filters button:hover{
  border-color:var(--tk-gastro-accent);
  color:var(--tk-gastro-accent);
}
.tk-gastro-menu .tk-gastro-filters button.is-active{
  background:var(--tk-gastro-accent);
  border-color:var(--tk-gastro-accent);
  color:#fff;
}
.tk-gastro-content-traits{
  margin:.15rem 0 .45rem;
  font-size:.88rem;
  color:#50575e;
}

/* v0.13.3: Kennzeichnungen und moderne Kartenoptik */
.tk-gastro-category>h3{color:var(--tk-gastro-accent,currentColor);margin-top:2.4rem}
.tk-gastro-item{padding:1.15rem 1rem;margin:.35rem 0;border:1px solid #e7e7e7;border-radius:10px;background:#fff}
.tk-gastro-item h4{font-weight:700}
.tk-gastro-meta{margin-top:.75rem;padding-top:.55rem;border-top:1px dashed #e2e2e2;gap:.3rem}
.tk-gastro-tags span{background:color-mix(in srgb,var(--tk-gastro-accent,#1d2327) 8%,white);border-color:color-mix(in srgb,var(--tk-gastro-accent,#1d2327) 28%,#ddd);font-weight:600}
.tk-gastro-filter-label{font-weight:700}
@media(max-width:640px){.tk-gastro-item{padding:1rem .85rem}.tk-gastro-filter-panel{padding:.8rem}.tk-gastro-meta{font-size:.74rem}}


/* v0.13.4 – eindeutige Ein-/Ausschlussfilter */
.tk-gastro-menu .tk-filter-state{display:none;font-weight:800;margin-right:.28rem;line-height:1}
.tk-gastro-menu .tk-filter.is-active .tk-filter-state{display:inline-block}
.tk-gastro-menu .tk-gastro-filters button.is-active{
  background:#1f5f99 !important;
  border-color:#1f5f99 !important;
  color:#fff !important;
  box-shadow:0 0 0 2px rgba(31,95,153,.14);
}
.tk-gastro-menu .tk-filter-exclude.is-active{
  background:#1f5f99 !important;
  border-color:#1f5f99 !important;
  color:#fff !important;
}
.tk-gastro-menu .tk-filter-exclude.is-active .tk-filter-state{font-size:1.08em}

/* ==========================================================
   TK Gastro v0.13.6 – Kompakte Frontend-Karte + Details
   ========================================================== */
.tk-gastro-quick-tags{
  display:flex;
  flex-wrap:wrap;
  gap:.3rem;
  margin:.45rem 0 0;
}
.tk-gastro-quick-tag{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:.14rem .44rem;
  border:1px solid #dcdcde;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:#50575e;
  font-size:.72rem;
  font-weight:600;
  line-height:1.15;
}
.tk-gastro-quick-tag-trait{
  border-color:color-mix(in srgb, var(--tk-gastro-accent) 35%, #dcdcde);
}
.tk-gastro-quick-tag-allergen{font-weight:700}
.tk-gastro-quick-tag-additive{font-weight:600}

.tk-gastro-details{
  margin-top:.55rem;
  padding-top:.45rem;
  border-top:1px dashed rgba(0,0,0,.10);
}
.tk-gastro-details summary{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  cursor:pointer;
  color:#646970;
  font-size:.78rem;
  font-weight:600;
  list-style:none;
  user-select:none;
}
.tk-gastro-details summary::-webkit-details-marker{display:none}
.tk-gastro-details summary::before{
  content:'+';
  display:inline-grid;
  place-items:center;
  width:1.1rem;
  height:1.1rem;
  border:1px solid #c3c4c7;
  border-radius:50%;
  font-size:.82rem;
  line-height:1;
}
.tk-gastro-details[open] summary::before{content:'−'}
.tk-gastro-details-content{
  margin-top:.5rem;
  padding:.6rem .7rem;
  border-radius:8px;
  background:rgba(0,0,0,.025);
  color:#50575e;
  font-size:.82rem;
  line-height:1.45;
}
.tk-gastro-details-content p{margin:.2rem 0 .45rem}
.tk-gastro-details-content p:last-child{margin-bottom:.2rem}
.tk-gastro-details .tk-gastro-components{margin:.2rem 0 .45rem;font-size:inherit;color:inherit}

@media(max-width:640px){
  .tk-gastro-quick-tags{margin-top:.35rem}
  .tk-gastro-quick-tag{font-size:.7rem;min-height:22px}
  .tk-gastro-details-content{font-size:.8rem}
}


/* TK Gastro v0.14.0 – Kategorienavigation & optionale Produktbilder */
.tk-gastro-category-nav{
  position:sticky;top:0;z-index:20;display:flex;gap:.45rem;overflow-x:auto;
  margin:1rem 0 1.25rem;padding:.55rem .2rem;scrollbar-width:thin;
  background:color-mix(in srgb, #fff 94%, var(--tk-gastro-accent, #2271b1) 6%);
  border-block:1px solid rgba(0,0,0,.07);-webkit-overflow-scrolling:touch;
}
.tk-gastro-category-link{
  flex:0 0 auto;text-decoration:none!important;border:1px solid #dcdcde;border-radius:999px;
  padding:.42rem .72rem;background:#fff;color:#2c3338!important;font-size:.82rem;font-weight:650;line-height:1.1;
}
.tk-gastro-category-link:hover,.tk-gastro-category-link:focus,.tk-gastro-category-link.is-active{
  background:var(--tk-gastro-accent,#2271b1);border-color:var(--tk-gastro-accent,#2271b1);color:#fff!important;
}
.tk-gastro-category{scroll-margin-top:4.25rem}
.tk-gastro-item.has-image{display:grid;grid-template-columns:150px minmax(0,1fr);gap:1rem;overflow:hidden}
.tk-gastro-item-image{min-height:120px}
.tk-gastro-product-image{display:block;width:100%;height:100%;max-height:180px;object-fit:cover;border-radius:10px}
.tk-gastro-item-body{min-width:0}
.tk-gastro-details summary{padding:.18rem .1rem;min-height:30px}
@media(max-width:640px){
  .tk-gastro-category-nav{margin:.75rem -.25rem 1rem;padding:.48rem .25rem;top:0}
  .tk-gastro-category-link{font-size:.78rem;padding:.4rem .65rem}
  .tk-gastro-category{scroll-margin-top:3.7rem}
  .tk-gastro-item{padding:.65rem .7rem}
  .tk-gastro-item.has-image{grid-template-columns:92px minmax(0,1fr);gap:.7rem}
  .tk-gastro-item-image{min-height:86px}
  .tk-gastro-product-image{height:92px;max-height:none;border-radius:8px}
  .tk-gastro-details{margin-top:.35rem;padding-top:.3rem}
}
@media(max-width:390px){
  .tk-gastro-item.has-image{grid-template-columns:1fr}
  .tk-gastro-product-image{height:170px}
}


/* ==========================================================
   TK Gastro v0.15.0 – Mobile-first Frontend Redesign
   ========================================================== */
.tk-gastro-menu{
  --tkg-surface:#ffffff;
  --tkg-surface-soft:#f6f7f8;
  --tkg-border:rgba(31,41,55,.11);
  --tkg-text:#1f2937;
  --tkg-muted:#667085;
  --tkg-shadow:0 8px 24px rgba(17,24,39,.055);
  color:var(--tkg-text);
}

/* Header: bewusst ruhig, aber eindeutig */
.tk-gastro-menu .tk-gastro-header{
  margin:0 0 1rem;
}
.tk-gastro-menu .tk-gastro-header h2{
  margin:0 0 .28rem;
  font-size:clamp(1.65rem,4vw,2.25rem);
  line-height:1.12;
  letter-spacing:-.025em;
}
.tk-gastro-menu .tk-gastro-header p{
  max-width:70ch;
  color:var(--tkg-muted);
  line-height:1.5;
}

/* Filter als eigener Werkzeugbereich statt Teil der Produktliste */
.tk-gastro-menu .tk-gastro-mobile-filter-toggle{
  border:1px solid var(--tkg-border);
  border-radius:12px;
  background:var(--tkg-surface);
  box-shadow:0 2px 8px rgba(17,24,39,.03);
  min-height:46px;
  padding:.7rem .85rem;
}
.tk-gastro-menu .tk-gastro-filter-panel{
  border:1px solid var(--tkg-border);
  background:var(--tkg-surface-soft);
  border-radius:14px;
  padding:.75rem;
}
.tk-gastro-menu .tk-gastro-filter-label{
  color:var(--tkg-muted);
  font-size:.73rem;
  letter-spacing:.01em;
}
.tk-gastro-menu .tk-gastro-filters button{
  border-color:rgba(31,41,55,.14);
  background:#fff;
  color:#344054;
  font-weight:650;
}

/* Sticky Kategorien: echte Navigation, nicht nur Links */
.tk-gastro-menu .tk-gastro-category-nav{
  position:sticky;
  top:0;
  z-index:30;
  display:flex;
  gap:.42rem;
  overflow-x:auto;
  margin:.85rem 0 1.1rem;
  padding:.52rem .18rem;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-top:1px solid var(--tkg-border);
  border-bottom:1px solid var(--tkg-border);
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.tk-gastro-menu .tk-gastro-category-nav::-webkit-scrollbar{display:none}
.tk-gastro-menu .tk-gastro-category-link{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:.46rem .72rem;
  border:1px solid var(--tkg-border);
  border-radius:10px;
  background:#fff;
  color:#475467!important;
  text-decoration:none!important;
  font-size:.8rem;
  font-weight:700;
  line-height:1;
  box-shadow:0 1px 2px rgba(17,24,39,.02);
  transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;
}
.tk-gastro-menu .tk-gastro-category-link:hover,
.tk-gastro-menu .tk-gastro-category-link:focus{
  border-color:color-mix(in srgb,var(--tk-gastro-accent,#2271b1) 42%,#d0d5dd);
  color:var(--tk-gastro-accent,#2271b1)!important;
}
.tk-gastro-menu .tk-gastro-category-link.is-active{
  background:var(--tk-gastro-accent,#2271b1);
  border-color:var(--tk-gastro-accent,#2271b1);
  color:#fff!important;
  box-shadow:0 5px 12px color-mix(in srgb,var(--tk-gastro-accent,#2271b1) 18%,transparent);
}

/* Kategorie = eigener Abschnitt mit klarer visueller Hierarchie */
.tk-gastro-menu .tk-gastro-category{
  margin:1.35rem 0 2rem;
  scroll-margin-top:4.7rem;
}
.tk-gastro-menu .tk-gastro-category>h3{
  display:flex;
  align-items:center;
  gap:.6rem;
  margin:0 0 .7rem;
  padding:0;
  border:0;
  color:var(--tkg-text);
  font-size:clamp(1.22rem,3vw,1.48rem);
  font-weight:800;
  line-height:1.2;
  letter-spacing:-.015em;
}
.tk-gastro-menu .tk-gastro-category>h3::after{
  content:"";
  height:2px;
  flex:1 1 auto;
  background:linear-gradient(90deg,color-mix(in srgb,var(--tk-gastro-accent,#2271b1) 60%,#fff),transparent);
  opacity:.5;
}

/* Produkt: kleine, hochwertige Karte statt Tabellenzeile */
.tk-gastro-menu .tk-gastro-item{
  margin:0 0 .58rem;
  padding:.78rem .86rem;
  border:1px solid var(--tkg-border);
  border-radius:14px;
  background:var(--tkg-surface);
  box-shadow:0 2px 7px rgba(17,24,39,.025);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.tk-gastro-menu .tk-gastro-item:hover{
  border-color:rgba(31,41,55,.17);
  box-shadow:var(--tkg-shadow);
}
.tk-gastro-menu .tk-gastro-item-main{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:.65rem 1rem;
  align-items:start;
}
.tk-gastro-menu .tk-gastro-item h4{
  margin:0;
  color:var(--tkg-text);
  font-size:1rem;
  font-weight:780;
  line-height:1.28;
  letter-spacing:-.008em;
}
.tk-gastro-menu .tk-gastro-description{
  margin:.26rem 0 0;
  color:var(--tkg-muted);
  font-size:.88rem;
  line-height:1.42;
}
.tk-gastro-menu .tk-gastro-variants{
  display:flex;
  flex-direction:column;
  gap:.24rem;
  min-width:max-content;
}
.tk-gastro-menu .tk-gastro-variant{
  display:grid;
  grid-template-columns:auto auto;
  align-items:baseline;
  justify-content:end;
  gap:.48rem;
  color:var(--tkg-muted);
  font-size:.78rem;
}
.tk-gastro-menu .tk-gastro-variant strong{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:.25rem .52rem;
  border-radius:8px;
  background:color-mix(in srgb,var(--tk-gastro-accent,#2271b1) 8%,#fff);
  color:var(--tkg-text);
  font-size:.91rem;
  font-weight:800;
  white-space:nowrap;
}
.tk-gastro-menu .tk-gastro-variant.is-single-price{
  display:flex;
  justify-content:flex-end;
}
.tk-gastro-menu .tk-gastro-no-price{
  color:var(--tkg-muted);
  font-size:.82rem;
  font-style:italic;
}

/* Kennzeichnungen dezent, Details klar aber sekundär */
.tk-gastro-menu .tk-gastro-quick-tags{
  margin:.42rem 0 0;
  gap:.28rem;
}
.tk-gastro-menu .tk-gastro-quick-tag{
  min-height:22px;
  padding:.12rem .4rem;
  border-color:rgba(31,41,55,.11);
  background:#f8fafc;
  color:#667085;
  font-size:.68rem;
  font-weight:700;
}
.tk-gastro-menu .tk-gastro-details{
  margin:.55rem 0 0;
  padding:.45rem 0 0;
  border-top:1px solid rgba(31,41,55,.07);
}
.tk-gastro-menu .tk-gastro-details summary{
  width:max-content;
  min-height:30px;
  padding:.1rem 0;
  color:#667085;
  font-size:.76rem;
  font-weight:700;
}
.tk-gastro-menu .tk-gastro-details summary::before{
  width:1rem;
  height:1rem;
  border:0;
  background:#f2f4f7;
  color:#667085;
  font-size:.78rem;
}
.tk-gastro-menu .tk-gastro-details-content{
  margin-top:.42rem;
  padding:.62rem .72rem;
  border:1px solid rgba(31,41,55,.07);
  border-radius:10px;
  background:#f8fafc;
  color:#667085;
  font-size:.79rem;
}

/* Bildprodukte: Bild als Verkaufsfläche, ohne Bilder bleibt alles kompakt */
.tk-gastro-menu .tk-gastro-item.has-image{
  display:grid;
  grid-template-columns:132px minmax(0,1fr);
  gap:.8rem;
  align-items:stretch;
  padding:.65rem;
  overflow:hidden;
}
.tk-gastro-menu .tk-gastro-item-image{
  min-height:112px;
  border-radius:11px;
  overflow:hidden;
  background:#f2f4f7;
}
.tk-gastro-menu .tk-gastro-product-image{
  display:block;
  width:100%;
  height:100%;
  min-height:112px;
  max-height:168px;
  object-fit:cover;
  border-radius:0;
}

/* Presets dürfen Typografie variieren, Layout bleibt konsistent */
.tk-gastro-style-modern,
.tk-gastro-style-elegant,
.tk-gastro-style-rustic{
  box-shadow:none;
}
.tk-gastro-style-modern,
.tk-gastro-style-elegant{
  border-color:transparent;
}
.tk-gastro-style-elegant .tk-gastro-category>h3{text-align:left}

@media(max-width:700px){
  .tk-gastro-menu{
    width:100%;
  }
  .tk-gastro-menu .tk-gastro-header{
    margin-bottom:.72rem;
  }
  .tk-gastro-menu .tk-gastro-header h2{
    font-size:1.52rem;
  }
  .tk-gastro-menu .tk-gastro-category-nav{
    margin:.62rem -.35rem .9rem;
    padding:.46rem .35rem;
  }
  .tk-gastro-menu .tk-gastro-category-link{
    min-height:36px;
    padding:.44rem .66rem;
    border-radius:9px;
    font-size:.77rem;
  }
  .tk-gastro-menu .tk-gastro-category{
    margin:1rem 0 1.55rem;
    scroll-margin-top:4.3rem;
  }
  .tk-gastro-menu .tk-gastro-category>h3{
    margin-bottom:.58rem;
    font-size:1.14rem;
  }
  .tk-gastro-menu .tk-gastro-item{
    margin-bottom:.46rem;
    padding:.68rem .72rem;
    border-radius:12px;
  }
  .tk-gastro-menu .tk-gastro-item-main{
    grid-template-columns:minmax(0,1fr) auto;
    gap:.5rem .7rem;
  }
  .tk-gastro-menu .tk-gastro-item h4{
    font-size:.94rem;
  }
  .tk-gastro-menu .tk-gastro-description{
    font-size:.82rem;
    line-height:1.38;
  }
  .tk-gastro-menu .tk-gastro-variant strong{
    min-height:28px;
    padding:.22rem .44rem;
    font-size:.84rem;
  }
  .tk-gastro-menu .tk-gastro-details{
    margin-top:.42rem;
    padding-top:.34rem;
  }
  .tk-gastro-menu .tk-gastro-details summary{
    min-height:28px;
    font-size:.72rem;
  }
  .tk-gastro-menu .tk-gastro-details-content{
    font-size:.76rem;
  }
  .tk-gastro-menu .tk-gastro-item.has-image{
    grid-template-columns:100px minmax(0,1fr);
    gap:.66rem;
    padding:.58rem;
  }
  .tk-gastro-menu .tk-gastro-item-image,
  .tk-gastro-menu .tk-gastro-product-image{
    min-height:96px;
  }
}

@media(max-width:390px){
  .tk-gastro-menu .tk-gastro-item-main{
    grid-template-columns:minmax(0,1fr) auto;
  }
  .tk-gastro-menu .tk-gastro-item.has-image{
    grid-template-columns:1fr;
  }
  .tk-gastro-menu .tk-gastro-product-image{
    height:170px;
    max-height:none;
  }
}


/* ==========================================================
   TK Gastro v0.15.1 – Scroll-/Navigations-Stabilität
   Keine sticky Navigation und keine scroll-beeinflussenden Effekte.
   ========================================================== */
.tk-gastro-menu .tk-gastro-category-nav{
  position:relative !important;
  top:auto !important;
  z-index:5;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x pan-y;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.tk-gastro-menu .tk-gastro-category{
  scroll-margin-top:1rem !important;
}
.tk-gastro-menu .tk-gastro-category-link{
  scroll-margin:0;
}
@media(max-width:700px){
  .tk-gastro-menu .tk-gastro-category-nav{
    position:relative !important;
    top:auto !important;
    margin:.62rem -.15rem .9rem;
    padding:.46rem .15rem;
  }
  .tk-gastro-menu .tk-gastro-category{
    scroll-margin-top:.75rem !important;
  }
}

/* ==========================================================
   TK Gastro v0.16.1 – Responsive Bildkarten
   Desktop/Tablet: großzügiges Bild links.
   Mobile: Bild als volle Verkaufsfläche oberhalb des Inhalts.
   ========================================================== */
.tk-gastro-menu .tk-gastro-item.has-image{
  grid-template-columns:minmax(220px,32%) minmax(0,1fr);
  gap:1rem;
  padding:.72rem;
  align-items:stretch;
}
.tk-gastro-menu .tk-gastro-item.has-image .tk-gastro-item-image{
  min-height:170px;
  border-radius:12px;
  overflow:hidden;
  background:#f2f4f7;
}
.tk-gastro-menu .tk-gastro-item.has-image .tk-gastro-product-image{
  display:block;
  width:100%;
  height:100%;
  min-height:170px;
  max-height:230px;
  object-fit:cover;
  object-position:center;
}
.tk-gastro-menu .tk-gastro-item.has-image .tk-gastro-item-body{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:.08rem .1rem;
}

@media(max-width:700px){
  .tk-gastro-menu .tk-gastro-item.has-image{
    display:block;
    padding:0;
    overflow:hidden;
  }
  .tk-gastro-menu .tk-gastro-item.has-image .tk-gastro-item-image{
    width:100%;
    min-height:0;
    aspect-ratio:16/9;
    border-radius:0;
  }
  .tk-gastro-menu .tk-gastro-item.has-image .tk-gastro-product-image{
    width:100%;
    height:100%;
    min-height:0;
    max-height:none;
    aspect-ratio:16/9;
    object-fit:cover;
    object-position:center;
    border-radius:0;
  }
  .tk-gastro-menu .tk-gastro-item.has-image .tk-gastro-item-body{
    display:block;
    padding:.78rem .82rem .8rem;
  }
}

/* ==========================================================
   TK Gastro v0.16.3 – Kontrastfeste Navigation
   Kategorienlinks bleiben auch bei sehr heller/weißer Branding-
   Akzentfarbe und bei Theme-Linkregeln zuverlässig lesbar.
   ========================================================== */
.tk-gastro-menu .tk-gastro-category-link,
.tk-gastro-menu .tk-gastro-category-link:visited{
  color:#344054 !important;
  background:#ffffff !important;
  border-color:#d0d5dd !important;
  text-decoration:none !important;
}
.tk-gastro-menu .tk-gastro-category-link:hover,
.tk-gastro-menu .tk-gastro-category-link:focus-visible{
  color:#174ea6 !important;
  background:#f5f8ff !important;
  border-color:#84a9e8 !important;
  outline:none;
}
.tk-gastro-menu .tk-gastro-category-link.is-active,
.tk-gastro-menu .tk-gastro-category-link.is-active:visited,
.tk-gastro-menu .tk-gastro-category-link.is-active:hover,
.tk-gastro-menu .tk-gastro-category-link.is-active:focus-visible{
  color:#ffffff !important;
  background:#174ea6 !important;
  border-color:#174ea6 !important;
  box-shadow:0 4px 12px rgba(23,78,166,.18);
}

/* ==========================================================
   TK Gastro v0.17.1 – Responsive Breitenfix für sehr viele Kategorien
   Der Kategorienbereich darf horizontal scrollen, die Seite selbst nie.
   ========================================================== */
.tk-gastro-menu{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow-x:hidden !important;
}
.tk-gastro-menu > *,
.tk-gastro-menu .tk-gastro-header,
.tk-gastro-menu .tk-gastro-filter-wrap,
.tk-gastro-menu .tk-gastro-filter-panel,
.tk-gastro-menu .tk-gastro-category,
.tk-gastro-menu .tk-gastro-item,
.tk-gastro-menu .tk-gastro-item-body,
.tk-gastro-menu .tk-gastro-item-main{
  min-width:0;
  max-width:100%;
}
.tk-gastro-menu .tk-gastro-category-nav{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  white-space:nowrap;
  flex-wrap:nowrap !important;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  touch-action:pan-x pan-y;
}
.tk-gastro-menu .tk-gastro-category-link{
  flex:0 0 auto !important;
  max-width:min(82vw,320px);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.tk-gastro-menu .tk-gastro-item-main > *,
.tk-gastro-menu .tk-gastro-description,
.tk-gastro-menu .tk-gastro-components,
.tk-gastro-menu .tk-gastro-meta,
.tk-gastro-menu .tk-gastro-variants{
  min-width:0;
  max-width:100%;
}
.tk-gastro-menu .tk-gastro-description,
.tk-gastro-menu .tk-gastro-components,
.tk-gastro-menu .tk-gastro-meta{
  overflow-wrap:anywhere;
}
@media(max-width:700px){
  .tk-gastro-menu .tk-gastro-category-nav{
    margin:.62rem 0 .9rem !important;
    padding:.46rem 0 !important;
  }
  .tk-gastro-menu .tk-gastro-category-link{
    max-width:78vw;
  }
}

/* v0.18.2: Auswahlregeln bereits in der kompakten Kartenansicht sichtbar */
.tk-gastro-selection-summary{margin:.38rem 0 0;color:#42546a;font-size:.92em;line-height:1.35}
.tk-gastro-selection-summary strong{color:inherit}


/* ==========================================================
   TK Gastro v0.19.0 – Mobile UX & Sticky Kategorienavigation
   ========================================================== */
.tk-gastro-menu .tk-gastro-category-nav{
  position:relative !important;
  top:auto !important;
  z-index:45 !important;
  margin:.7rem 0 1rem !important;
  padding:.48rem .2rem !important;
  background:rgba(255,255,255,.97) !important;
  border-top:1px solid rgba(31,41,55,.08) !important;
  border-bottom:1px solid rgba(31,41,55,.10) !important;
  box-shadow:0 5px 14px rgba(17,24,39,.06);
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
  scrollbar-width:none !important;
}
.tk-gastro-menu .tk-gastro-category-nav::-webkit-scrollbar{display:none}
.tk-gastro-menu .tk-gastro-category{
  scroll-margin-top:calc(var(--tkg-sticky-top,0px) + var(--tkg-nav-height,54px) + 14px) !important;
}
.tk-gastro-menu .tk-gastro-category-link{
  min-height:40px;
  padding:.48rem .76rem;
  font-size:.82rem;
  border-radius:11px;
}
.tk-gastro-menu .tk-gastro-selection-summary{
  display:inline-flex;
  align-items:center;
  margin:.34rem 0 0;
  padding:.18rem .48rem;
  border-radius:999px;
  background:color-mix(in srgb,var(--tk-gastro-accent,#2271b1) 7%,#fff);
  color:#42546a;
  font-size:.82rem;
  font-weight:700;
  line-height:1.35;
}
.tk-gastro-menu .tk-gastro-selection-group{
  margin:.15rem 0 .25rem;
}
.tk-gastro-menu .tk-gastro-selection-heading{
  display:block;
  margin:0 0 .5rem;
  color:#344054;
  font-size:.9rem;
  line-height:1.35;
}
.tk-gastro-menu .tk-gastro-selection-options{
  display:flex;
  flex-wrap:wrap;
  gap:.34rem;
}
.tk-gastro-menu .tk-gastro-selection-option{
  display:inline-flex;
  align-items:center;
  min-height:29px;
  padding:.28rem .5rem;
  border:1px solid #d9dee7;
  border-radius:999px;
  background:#fff;
  color:#56657a;
  font-size:.76rem;
  line-height:1.2;
}

@media(max-width:700px){
  .tk-gastro-menu .tk-gastro-category-nav{
    margin:.45rem 0 .78rem !important;
    padding:.4rem 0 !important;
  }
  .tk-gastro-menu .tk-gastro-category-link{
    min-height:38px;
    padding:.44rem .68rem;
    font-size:.78rem;
  }
  .tk-gastro-menu .tk-gastro-category{
    margin:.88rem 0 1.25rem;
  }
  .tk-gastro-menu .tk-gastro-item{
    margin-bottom:.46rem;
    padding:.7rem .74rem;
    border-radius:13px;
  }
  .tk-gastro-menu .tk-gastro-item-main{
    gap:.5rem .7rem;
  }
  .tk-gastro-menu .tk-gastro-item h4{
    font-size:1rem;
  }
  .tk-gastro-menu .tk-gastro-description{
    margin-top:.2rem;
    line-height:1.38;
  }
  .tk-gastro-menu .tk-gastro-details{
    margin-top:.42rem;
    padding-top:.34rem;
  }
  .tk-gastro-menu .tk-gastro-details summary{
    min-height:32px;
    font-size:.78rem;
  }
  .tk-gastro-menu .tk-gastro-details-content{
    padding:.66rem;
  }
  .tk-gastro-menu .tk-gastro-selection-summary{
    font-size:.79rem;
  }
}


/* ==========================================================
   TK Gastro v0.20.0 – Gast-Navigation für große Speisekarten
   Kategorien + Filter bleiben als gemeinsame Bedienzone erreichbar.
   ========================================================== */
.tk-gastro-menu .tk-gastro-guest-toolbar{
  position:relative;
  top:auto;
  z-index:50;
  margin:.7rem 0 1rem;
  padding:.42rem .5rem .5rem;
  background:rgba(255,255,255,.97);
  border:1px solid rgba(31,41,55,.10);
  border-radius:14px;
  box-shadow:0 7px 20px rgba(17,24,39,.08);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.tk-gastro-menu .tk-gastro-guest-toolbar .tk-gastro-filter-wrap{margin:0 0 .35rem}
.tk-gastro-menu .tk-gastro-guest-toolbar .tk-gastro-category-nav{
  position:static !important;
  top:auto !important;
  z-index:auto !important;
  margin:0 !important;
  padding:.34rem 0 0 !important;
  border:0 !important;
  border-top:1px solid rgba(31,41,55,.08) !important;
  box-shadow:none !important;
  background:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.tk-gastro-menu .tk-gastro-guest-toolbar .tk-gastro-filter-topline{margin:0;justify-content:flex-start}
.tk-gastro-menu .tk-gastro-guest-toolbar .tk-gastro-mobile-filter-toggle{
  display:inline-flex;align-items:center;min-height:38px;border:1px solid #c3c4c7;background:#fff;
  border-radius:999px;padding:.42rem .72rem;font:inherit;font-size:.8rem;cursor:pointer
}
.tk-gastro-menu .tk-gastro-guest-toolbar .tk-gastro-filter-panel{margin-top:.4rem}
.tk-gastro-menu .tk-gastro-category{
  scroll-margin-top:calc(var(--tkg-sticky-top,0px) + var(--tkg-toolbar-height,100px) + 14px) !important;
}
@media(max-width:900px){
  .tk-gastro-menu .tk-gastro-guest-toolbar{margin:.45rem 0 .78rem;padding:.38rem .42rem;border-radius:12px}
  .tk-gastro-menu .tk-gastro-guest-toolbar .tk-gastro-filter-panel{display:none;border-radius:10px;padding:.65rem}
  .tk-gastro-menu .tk-gastro-guest-toolbar .tk-gastro-filter-panel.is-open{display:block}
  .tk-gastro-menu .tk-gastro-guest-toolbar .tk-gastro-filter-group{display:block;margin:.35rem 0 .55rem}
  .tk-gastro-menu .tk-gastro-guest-toolbar .tk-gastro-filter-label{display:block;margin-bottom:.25rem}
  .tk-gastro-menu .tk-gastro-guest-toolbar .tk-filter-separator{display:none}
}


/* ==========================================================
   TK Gastro v0.20.1 – stabile Sticky-Leiste + kompakte Tablet-Navigation
   overflow-x:clip verhindert, dass der Menü-Container zum Scroll-Container
   wird und dadurch position:sticky in Safari/iPadOS verliert.
   ========================================================== */
.tk-gastro-menu{
  overflow-x:clip !important;
}
.tk-gastro-menu .tk-gastro-guest-toolbar{
  position:relative !important;
  top:auto !important;
  z-index:100 !important;
}
.tk-gastro-menu .tk-gastro-toolbar-actions{
  display:none;
}

@media(max-width:900px){
  .tk-gastro-menu .tk-gastro-guest-toolbar{
    padding:.42rem !important;
    box-shadow:0 8px 24px rgba(17,24,39,.14) !important;
  }
  .tk-gastro-menu .tk-gastro-toolbar-actions{
    display:flex;
    align-items:center;
    gap:.42rem;
    min-height:42px;
  }
  .tk-gastro-menu .tk-gastro-category-toggle,
  .tk-gastro-menu .tk-gastro-mobile-filter-toggle,
  .tk-gastro-menu .tk-filter-reset{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    min-height:38px;
    margin:0 !important;
    padding:.42rem .72rem !important;
    border:1px solid #cbd2dc !important;
    border-radius:999px !important;
    background:#fff !important;
    color:#344054 !important;
    font:inherit;
    font-size:.8rem !important;
    font-weight:700;
    line-height:1.1;
    text-decoration:none !important;
    cursor:pointer;
  }
  .tk-gastro-menu .tk-gastro-category-toggle::before{content:'☰';margin-right:.38rem}
  .tk-gastro-menu .tk-gastro-mobile-filter-toggle::before{content:'⚙';margin-right:.38rem}
  .tk-gastro-menu .tk-gastro-category-toggle.is-active,
  .tk-gastro-menu .tk-gastro-mobile-filter-toggle.is-active{
    background:var(--tk-gastro-accent,#174ea6) !important;
    border-color:var(--tk-gastro-accent,#174ea6) !important;
    color:#fff !important;
  }
  .tk-gastro-menu .tk-filter-reset[hidden]{display:none !important}
  .tk-gastro-menu .tk-filter-reset:not([hidden]){margin-left:auto !important}

  .tk-gastro-menu .tk-gastro-guest-toolbar .tk-gastro-filter-wrap{
    margin:0 !important;
  }
  .tk-gastro-menu .tk-gastro-guest-toolbar .tk-gastro-filter-panel{
    display:none !important;
    max-height:min(58vh,520px);
    overflow-y:auto;
    margin:.42rem 0 0 !important;
    padding:.7rem !important;
    border:1px solid #e1e5eb !important;
    background:#fff !important;
  }
  .tk-gastro-menu .tk-gastro-guest-toolbar .tk-gastro-filter-panel.is-open{
    display:block !important;
  }

  .tk-gastro-menu .tk-gastro-guest-toolbar .tk-gastro-category-nav{
    display:none !important;
    width:100% !important;
    max-height:min(55vh,480px);
    margin:.42rem 0 0 !important;
    padding:.42rem !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    white-space:normal !important;
    flex-wrap:wrap !important;
    gap:.38rem !important;
    border:1px solid #e1e5eb !important;
    border-radius:10px !important;
    background:#fff !important;
  }
  .tk-gastro-menu .tk-gastro-guest-toolbar .tk-gastro-category-nav.is-open{
    display:flex !important;
  }
  .tk-gastro-menu .tk-gastro-category-link{
    max-width:100% !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }
  .tk-gastro-menu .tk-gastro-category{
    scroll-margin-top:calc(var(--tkg-sticky-top,0px) + 68px) !important;
  }
}

/* ==========================================================
   TK Gastro v0.21.0 – visuelle Produktkarten
   Lange Speisekarten werden auf Tablet/Desktop als kompaktes
   Kartenraster dargestellt. Bilder erhalten echte Verkaufsfläche;
   Produkte ohne Bild bleiben bewusst kompakt und funktional.
   ========================================================== */
.tk-gastro-menu .tk-gastro-products{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.78rem;
  align-items:start;
}
.tk-gastro-menu .tk-gastro-products .tk-gastro-item{
  margin:0;
  min-height:0;
  padding:.82rem .88rem;
  border:1px solid #e3e7ed;
  border-radius:16px;
  background:#fff;
  box-shadow:0 2px 8px rgba(17,24,39,.045);
}
.tk-gastro-menu .tk-gastro-products .tk-gastro-item:hover{
  transform:none;
  box-shadow:0 5px 16px rgba(17,24,39,.075);
}
.tk-gastro-menu .tk-gastro-products .tk-gastro-item-main{
  grid-template-columns:minmax(0,1fr) auto;
  gap:.6rem .75rem;
}
.tk-gastro-menu .tk-gastro-products .tk-gastro-item h4{
  font-size:1rem;
  line-height:1.3;
}
.tk-gastro-menu .tk-gastro-products .tk-gastro-description{
  margin:.22rem 0 0;
  font-size:.86rem;
  line-height:1.42;
  color:#667085;
}
.tk-gastro-menu .tk-gastro-products .tk-gastro-variants{
  min-width:0;
}
.tk-gastro-menu .tk-gastro-products .tk-gastro-variant{
  justify-content:flex-end;
}
.tk-gastro-menu .tk-gastro-products .tk-gastro-variant strong{
  white-space:nowrap;
}

/* Bildkarten: Foto oben, Inhalt darunter. So bleibt das Motiv auf
   Tablet und Desktop groß genug, um Appetit zu machen. */
.tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image{
  display:block;
  padding:0;
  overflow:hidden;
}
.tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image .tk-gastro-item-image{
  width:100%;
  min-height:0;
  aspect-ratio:4/3;
  overflow:hidden;
  border-radius:0;
  background:#f2f4f7;
}
.tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image .tk-gastro-product-image{
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  max-height:none;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center;
  border-radius:0;
  transition:transform .28s ease;
}
.tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image:hover .tk-gastro-product-image{
  transform:scale(1.025);
}
.tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image .tk-gastro-item-body{
  display:block;
  padding:.86rem .9rem .9rem;
}
.tk-gastro-menu .tk-gastro-products .tk-gastro-details{
  margin-top:.48rem;
}

@media(max-width:1180px){
  .tk-gastro-menu .tk-gastro-products{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:700px){
  .tk-gastro-menu .tk-gastro-products{
    grid-template-columns:1fr;
    gap:.5rem;
  }
  .tk-gastro-menu .tk-gastro-products .tk-gastro-item{
    padding:.7rem .74rem;
    border-radius:13px;
  }
  .tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image{
    padding:0;
  }
  .tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image .tk-gastro-item-image,
  .tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image .tk-gastro-product-image{
    aspect-ratio:16/9;
  }
  .tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image .tk-gastro-item-body{
    padding:.78rem .82rem .82rem;
  }
}

@media(prefers-reduced-motion:reduce){
  .tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image .tk-gastro-product-image{
    transition:none;
  }
}


/* TK Gastro v0.23.15 – kompakte Produktbild-Vorschau + Lightbox */
.tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image{
  display:grid;
  grid-template-columns:144px minmax(0,1fr);
  gap:.9rem;
  padding:.72rem;
  overflow:visible;
  align-items:start;
}
.tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image .tk-gastro-item-image{
  width:144px;
  height:112px;
  aspect-ratio:auto;
  overflow:hidden;
  border-radius:10px;
  background:#f2f4f7;
}
.tk-gastro-menu .tk-gastro-image-button{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  border-radius:inherit;
  overflow:hidden;
  background:transparent;
  cursor:zoom-in;
}
.tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image .tk-gastro-product-image{
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  max-height:none;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center;
  border-radius:0;
  transition:transform .2s ease;
}
.tk-gastro-menu .tk-gastro-image-button:hover .tk-gastro-product-image,
.tk-gastro-menu .tk-gastro-image-button:focus-visible .tk-gastro-product-image{transform:scale(1.04)}
.tk-gastro-menu .tk-gastro-image-button:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.tk-gastro-menu .tk-gastro-image-hint{
  position:absolute;
  right:6px;
  bottom:6px;
  padding:3px 6px;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  color:#344054;
  font-size:10px;
  font-weight:700;
  line-height:1.2;
}
.tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image .tk-gastro-item-body{
  display:block;
  padding:0;
  min-width:0;
}
.tk-gastro-lightbox{
  position:fixed;
  inset:0;
  z-index:100000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(0,0,0,.82);
}
.tk-gastro-lightbox[hidden]{display:none}
.tk-gastro-lightbox-image{
  display:block;
  max-width:min(1200px,94vw);
  max-height:90vh;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:12px;
  box-shadow:0 20px 60px rgba(0,0,0,.35);
}
.tk-gastro-lightbox-close{
  position:fixed;
  top:18px;
  right:18px;
  width:44px;
  height:44px;
  border:0;
  border-radius:50%;
  background:#fff;
  color:#111;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 4px 18px rgba(0,0,0,.25);
}
body.tk-gastro-lightbox-open{overflow:hidden}
@media(max-width:700px){
  .tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image{
    grid-template-columns:96px minmax(0,1fr);
    gap:.7rem;
    padding:.7rem .74rem;
  }
  .tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image .tk-gastro-item-image{
    width:96px;
    height:82px;
    aspect-ratio:auto;
  }
  .tk-gastro-menu .tk-gastro-image-hint{display:none}
  .tk-gastro-lightbox{padding:14px}
  .tk-gastro-lightbox-close{top:12px;right:12px}
}
@media(prefers-reduced-motion:reduce){
  .tk-gastro-menu .tk-gastro-image-button .tk-gastro-product-image{transition:none}
}


/* TK Gastro v0.23.16 – Kartenauswahl + robuste Touch-Bedienung */
.tk-gastro-card-switcher{width:100%;max-width:100%}
.tk-gastro-card-switcher-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin:0 0 1rem;
  padding:.55rem;
  border:1px solid rgba(31,41,55,.10);
  border-radius:14px;
  background:#fff;
  box-shadow:0 4px 14px rgba(17,24,39,.05);
}
.tk-gastro-card-switch{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:.55rem .85rem;
  border:1px solid #cbd2dc;
  border-radius:999px;
  background:#fff;
  color:#344054;
  font:inherit;
  font-size:.86rem;
  font-weight:700;
  line-height:1.15;
  cursor:pointer;
  touch-action:manipulation;
}
.tk-gastro-card-switch.is-active{
  background:var(--tk-gastro-accent,#174ea6);
  border-color:var(--tk-gastro-accent,#174ea6);
  color:#fff;
}
.tk-gastro-card-panel[hidden]{display:none!important}
.tk-gastro-category-toggle,
.tk-gastro-mobile-filter-toggle,
.tk-gastro-image-button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
@media(max-width:700px){
  .tk-gastro-card-switcher-buttons{
    position:relative;
    top:auto;
    z-index:110;
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    padding:.45rem;
    margin-bottom:.65rem;
  }
  .tk-gastro-card-switch{flex:0 0 auto;min-height:44px;font-size:.82rem}
}

/* ==========================================================
   TK Gastro v0.23.17 – einheitlicher Sticky-Navigationsstapel
   Kartenauswahl bleibt oben, darunter Kategorien/Filter der aktiven Karte.
   ========================================================== */
@media(max-width:900px){
  .tk-gastro-card-switcher-buttons{
    position:relative !important;
    top:var(--tkg-page-sticky-top,0px) !important;
    z-index:130 !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
    margin:0 0 .45rem !important;
    background:rgba(255,255,255,.98) !important;
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    box-shadow:0 6px 18px rgba(17,24,39,.10) !important;
  }
  .tk-gastro-card-panel:not([hidden]) .tk-gastro-menu .tk-gastro-guest-toolbar{
    top:auto !important;
    z-index:120 !important;
  }
  .tk-gastro-card-panel:not([hidden]) .tk-gastro-menu .tk-gastro-category{
    scroll-margin-top:calc(var(--tkg-page-sticky-top,0px) + var(--tkg-card-switcher-height,0px) + var(--tkg-toolbar-height,58px) + 18px) !important;
  }
}


/* ==========================================================
   TK Gastro v0.23.18 – konsistente Sticky-Reihenfolge Mobil/Tablet
   1. Kartenauswahl
   2. Kategorien + Filter der aktiven Karte
   3. Logo/Branding und Karteninhalt scrollen darunter
   ========================================================== */
@media(max-width:1180px){
  .tk-gastro-card-switcher{
    --tkg-page-sticky-top:0px;
    --tkg-card-switcher-height:54px;
  }
  .tk-gastro-card-switcher-buttons{
    position:relative !important;
    top:var(--tkg-page-sticky-top,0px) !important;
    z-index:210 !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:.4rem !important;
    overflow-x:auto !important;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    margin:0 !important;
    padding:.42rem .45rem !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.985) !important;
    box-shadow:0 4px 14px rgba(17,24,39,.10) !important;
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
  }
  .tk-gastro-card-switcher-buttons::-webkit-scrollbar{display:none}
  .tk-gastro-card-switcher-buttons .tk-gastro-card-switch{
    flex:0 0 auto !important;
    min-height:40px !important;
  }
  .tk-gastro-card-panel:not([hidden]) .tk-gastro-menu .tk-gastro-guest-toolbar{
    position:relative !important;
    top:auto !important;
    z-index:200 !important;
    margin:.35rem 0 .65rem !important;
    background:rgba(255,255,255,.985) !important;
    box-shadow:0 5px 14px rgba(17,24,39,.08) !important;
  }
  .tk-gastro-card-panel:not([hidden]) .tk-gastro-menu .tk-gastro-header{
    position:relative !important;
    z-index:1 !important;
    margin-top:.85rem !important;
  }
  .tk-gastro-card-panel:not([hidden]) .tk-gastro-menu .tk-gastro-category{
    scroll-margin-top:calc(var(--tkg-page-sticky-top,0px) + var(--tkg-card-switcher-height,54px) + var(--tkg-toolbar-height,62px) + 14px) !important;
  }
}

/* Ohne Kartenauswahl (Shortcode mit fixer card-ID) bleibt nur die Gastleiste sticky. */
@media(max-width:1180px){
  .tk-gastro-menu:not(.tk-gastro-card-switcher .tk-gastro-menu) .tk-gastro-guest-toolbar{
    top:var(--tkg-page-sticky-top,0px) !important;
  }
}

/* Produktbild ist unabhängig von der Anzahl der Varianten immer sichtbar. */
.tk-gastro-menu .tk-gastro-item.has-image .tk-gastro-item-image{
  align-self:start;
  flex:none;
}
.tk-gastro-menu .tk-gastro-item.has-image .tk-gastro-image-button{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}

/* TK Gastro v0.23.23 – zusätzlicher Sicherheitsabstand für Kategorieziele. */
@media(max-width:1180px){
  .tk-gastro-menu .tk-gastro-category{
    scroll-margin-top:calc(var(--tkg-page-sticky-top,0px) + var(--tkg-card-switcher-height,0px) + var(--tkg-toolbar-height,62px) + 14px) !important;
  }
}

/* TK Gastro v0.23.24 – nur eine Kategorie wirkt optisch aktiv.
   Tastaturfokus bleibt sichtbar, bekommt aber keine zweite hellblaue Fläche. */
.tk-gastro-menu .tk-gastro-category-link:focus-visible:not(.is-active){
  color:#174ea6 !important;
  background:#ffffff !important;
  border-color:#84a9e8 !important;
  outline:2px solid rgba(23,78,166,.28);
  outline-offset:2px;
}


/* TK Gastro v0.24.8 – Frontend-Suche und klarere Gastfilter */
.tk-gastro-menu .tk-gastro-search{display:block;flex:1 1 250px;max-width:390px;margin-right:auto}
.tk-gastro-menu .tk-gastro-search-input{width:100%;min-height:38px;border:1px solid #c3c4c7;border-radius:999px;background:#fff;padding:.48rem .85rem;font:inherit;font-size:.88rem;line-height:1.2}
.tk-gastro-menu .tk-gastro-search-input:focus{outline:2px solid var(--tk-gastro-accent,#2271b1);outline-offset:1px;border-color:transparent}
.tk-gastro-menu .tk-filter.is-active{background:var(--tk-gastro-accent,#2271b1)!important;color:#fff!important;border-color:var(--tk-gastro-accent,#2271b1)!important;font-weight:700}
.tk-gastro-menu .tk-filter.is-active .tk-filter-state{display:inline-block!important}
@media(max-width:700px){
 .tk-gastro-menu .tk-gastro-toolbar-actions{display:flex;flex-wrap:wrap;gap:.4rem}
 .tk-gastro-menu .tk-gastro-search{flex:1 0 100%;max-width:none;margin:0}
 .tk-gastro-menu .tk-gastro-search-input{min-height:40px;font-size:16px}
}

/* TK Gastro v0.24.9 – Suche auch im Tablet-Querformat (901–1180px).
   In diesem Bereich sind Kategorien und Filter bereits vollständig sichtbar;
   deshalb wird nur die Suche eingeblendet, ohne zusätzliche Toggle-Buttons. */
@media (min-width:901px) and (max-width:1180px){
  .tk-gastro-menu .tk-gastro-toolbar-actions{
    display:flex !important;
    align-items:center;
    gap:.42rem;
    min-height:42px;
    margin:0 0 .35rem;
  }
  .tk-gastro-menu .tk-gastro-search{
    display:block !important;
    flex:0 1 390px;
    width:min(390px,100%);
    max-width:390px;
    margin:0;
  }
  .tk-gastro-menu .tk-gastro-category-toggle,
  .tk-gastro-menu .tk-gastro-mobile-filter-toggle,
  .tk-gastro-menu .tk-filter-reset{
    display:none !important;
  }
}


/* TK Gastro v0.24.10 – Markenbanner vor der technischen Speisekarten-Navigation. */
.tk-gastro-brand-banner{
  width:100%;
  margin:0 0 .75rem;
  padding:0;
  position:relative;
  z-index:1;
}
.tk-gastro-brand-banner img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
}
.tk-gastro-brand-banner.tk-gastro-logo-center img{margin-inline:auto}
.tk-gastro-brand-banner.tk-gastro-logo-right img{margin-left:auto}
.tk-gastro-card-description{margin:.35rem 0 1rem;color:var(--tk-gastro-muted,#666)}
@media (max-width:1180px){
  .tk-gastro-brand-banner{margin-bottom:.55rem}
}


/* ==========================================================
   TK Gastro v0.24.11 – kompakter Übergang Kartenauswahl -> Bedienleiste
   Verhindert zusätzlich Theme-Abstände auf dem gerenderten Kartenpanel.
   ========================================================== */
.tk-gastro-card-panel:not([hidden]) > .tk-gastro-menu{
  margin-top:0 !important;
  padding-top:0 !important;
}
.tk-gastro-card-panel:not([hidden]) .tk-gastro-menu .tk-gastro-guest-toolbar{
  margin-top:.18rem !important;
}
@media(max-width:1180px){
  .tk-gastro-card-panel:not([hidden]) .tk-gastro-menu .tk-gastro-guest-toolbar{
    margin:.18rem 0 .55rem !important;
  }
}


/* ==========================================================
   TK Gastro v0.25.2 – kompakte Branding-/Logozeile
   Das Originalbild bleibt unverändert; nur die Frontend-Anzeige
   wird proportional begrenzt.
   ========================================================== */
.tk-gastro-brand-banner{
  display:flex;
  align-items:center;
  overflow:hidden;
}
.tk-gastro-brand-banner img{
  width:auto !important;
  max-width:100% !important;
  height:auto !important;
  max-height:60px !important;
  object-fit:contain !important;
}
.tk-gastro-brand-banner.tk-gastro-logo-left{justify-content:flex-start}
.tk-gastro-brand-banner.tk-gastro-logo-center{justify-content:center}
.tk-gastro-brand-banner.tk-gastro-logo-right{justify-content:flex-end}
@media(max-width:700px){
  .tk-gastro-brand-banner img{
    max-height:50px !important;
  }
}


/* TK Gastro v0.25.3 – Kartenhinweis und Suche schnell zurücksetzen */
.tk-gastro-card-switcher-label{
  padding:.15rem .65rem .25rem;
  font-size:.78rem;
  line-height:1.2;
  font-weight:700;
  color:#59636f;
}
.tk-gastro-search{position:relative}
.tk-gastro-search > label{display:block}
.tk-gastro-search-input{padding-right:2.5rem!important}
.tk-gastro-search-clear{
  position:absolute;
  right:.42rem;
  top:50%;
  transform:translateY(-50%);
  width:1.85rem;
  height:1.85rem;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#59636f;
  font:700 1.35rem/1 Arial,sans-serif;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
}
.tk-gastro-search-clear:hover,.tk-gastro-search-clear:focus-visible{
  background:#eef1f4;
  color:#1f2937;
  outline:2px solid var(--tk-gastro-accent,#2271b1);
  outline-offset:1px;
}
.tk-gastro-search-clear[hidden]{display:none!important}
.tk-gastro-search-input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}


/* TK Gastro v0.25.4 – Produktsuche auf allen Bildschirmgrößen sichtbar.
   Die mobilen Toggle-Buttons bleiben auf Desktop ausgeblendet. */
.tk-gastro-menu .tk-gastro-toolbar-actions{
  display:flex !important;
  align-items:center;
  gap:.42rem;
  min-height:42px;
  flex-wrap:wrap;
}
@media (min-width:1181px){
  .tk-gastro-menu .tk-gastro-search{
    display:block !important;
    flex:0 1 420px;
    width:min(420px,100%);
    max-width:420px;
    margin:0;
  }
  .tk-gastro-menu .tk-gastro-category-toggle,
  .tk-gastro-menu .tk-gastro-mobile-filter-toggle,
  .tk-gastro-menu .tk-filter-reset{
    display:none !important;
  }
}


/* ==========================================================
   TK Gastro v0.26.1 – kompakter und verständlicher Gastfilter
   Keine neue Filterlogik: nur klare Ein-/Ausschluss-Hierarchie
   und eine deutlich ruhigere mobile Darstellung.
   ========================================================== */
.tk-gastro-menu .tk-gastro-filter-section-title{
  display:flex;
  align-items:center;
  gap:.38rem;
  margin:.08rem 0 .55rem;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.035em;
  text-transform:uppercase;
  color:#475467;
}
.tk-gastro-menu .tk-gastro-filter-section-title span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.35rem;
  height:1.35rem;
  border-radius:999px;
  background:#eef2f6;
  font-size:.82rem;
  line-height:1;
}
.tk-gastro-menu .tk-filter-section-exclude{
  margin-top:.72rem;
  padding-top:.72rem;
  border-top:1px solid #e4e7ec;
}
.tk-gastro-menu .tk-gastro-filter-group{
  min-width:0;
}

@media(max-width:900px){
  .tk-gastro-menu .tk-gastro-toolbar-actions{
    align-items:center !important;
  }
  .tk-gastro-menu .tk-gastro-category-toggle,
  .tk-gastro-menu .tk-gastro-mobile-filter-toggle{
    flex:0 0 auto !important;
    width:auto !important;
    min-width:0 !important;
    max-width:max-content !important;
    padding:.4rem .66rem !important;
  }
  .tk-gastro-menu .tk-gastro-guest-toolbar .tk-gastro-filter-panel{
    max-height:min(62vh,520px) !important;
    padding:.72rem !important;
    border-radius:12px !important;
    box-shadow:0 10px 26px rgba(17,24,39,.10) !important;
  }
  .tk-gastro-menu .tk-gastro-filter-section-title{
    margin:.02rem 0 .48rem;
    font-size:.72rem;
  }
  .tk-gastro-menu .tk-gastro-filter-group{
    margin:.28rem 0 .62rem !important;
  }
  .tk-gastro-menu .tk-gastro-filter-label{
    margin:0 0 .34rem !important;
    font-size:.78rem !important;
    color:#475467 !important;
  }
  .tk-gastro-menu .tk-gastro-filters{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:.34rem !important;
  }
  .tk-gastro-menu .tk-gastro-filters .tk-filter{
    flex:0 1 auto !important;
    width:auto !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:34px !important;
    margin:0 !important;
    padding:.36rem .58rem !important;
    border-radius:999px !important;
    font-size:.76rem !important;
    line-height:1.18 !important;
    white-space:normal !important;
    text-align:left !important;
  }
  .tk-gastro-menu .tk-filter-section-exclude{
    margin-top:.62rem;
    padding-top:.62rem;
  }
}

@media(max-width:420px){
  .tk-gastro-menu .tk-gastro-category-toggle,
  .tk-gastro-menu .tk-gastro-mobile-filter-toggle,
  .tk-gastro-menu .tk-filter-reset{
    font-size:.76rem !important;
    min-height:36px !important;
  }
  .tk-gastro-menu .tk-gastro-guest-toolbar .tk-gastro-filter-panel{
    padding:.62rem !important;
  }
}


/* TK Gastro v0.26.2 – direkte Produktanker + Desktop-Kategorienavigation */
.tk-gastro-menu .tk-gastro-item[data-tk-gastro-product-anchor]{
  scroll-margin-top:calc(var(--tkg-sticky-top,0px) + var(--tkg-toolbar-height,100px) + 22px);
}
@media(min-width:901px){
  .tk-gastro-menu .tk-gastro-category-nav{
    scrollbar-width:auto !important;
    cursor:grab;
    overscroll-behavior-inline:contain;
  }
  .tk-gastro-menu .tk-gastro-category-nav:active{cursor:grabbing}
  .tk-gastro-menu .tk-gastro-category-nav::-webkit-scrollbar{display:block !important;height:9px}
}


/* ==========================================================
   TK Gastro v0.26.3 – Mobile Sticky Feinschliff, Bild-Fallback, Allergene
   ========================================================== */

/* Fehlende Produktbilder: einheitliche, ruhige Gastro-Medienfläche. */
.tk-gastro-menu .tk-gastro-product-placeholder{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.32rem;
  width:144px;
  height:112px;
  padding:.6rem;
  border:1px solid #e2e7ec;
  border-radius:10px;
  background:linear-gradient(145deg,#f7f9fb,#eef2f5);
  color:#7a8795;
  text-align:center;
}
.tk-gastro-menu .tk-gastro-placeholder-icon{
  width:38px;
  height:38px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.8;
}
.tk-gastro-menu .tk-gastro-product-placeholder span{
  font-size:.66rem;
  font-weight:750;
  letter-spacing:.015em;
}
.tk-gastro-menu .tk-gastro-item.has-placeholder .tk-gastro-item-body{
  align-self:start;
}

/* Allergene als echte Pill-Badges: klarer als Fließtext, weiterhin dezent. */
.tk-gastro-menu .tk-gastro-quick-tag-allergen{
  border-color:color-mix(in srgb,var(--tk-gastro-accent,#2271b1) 20%,#d7dde4) !important;
  background:color-mix(in srgb,var(--tk-gastro-accent,#2271b1) 6%,#f7f9fb) !important;
  color:#465466 !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);
}

/* Smartphone/Tablet: der Sticky-Stapel erhält klar getrennte Ebenen.
   Der kleine Abstand verhindert optisches bzw. tatsächliches Ineinanderschieben. */
@media(max-width:1180px){
  .tk-gastro-card-switcher-buttons{
    isolation:isolate;
    border-bottom:1px solid #e1e6eb !important;
  }
  .tk-gastro-card-panel:not([hidden]) .tk-gastro-menu .tk-gastro-guest-toolbar{
    top:calc(var(--tkg-page-sticky-top,0px) + var(--tkg-card-switcher-height,54px) + 4px) !important;
    margin:.2rem 0 .65rem !important;
    border:1px solid #dfe4ea !important;
    box-shadow:0 6px 18px rgba(17,24,39,.10) !important;
    isolation:isolate;
  }
  .tk-gastro-card-panel:not([hidden]) .tk-gastro-menu .tk-gastro-category,
  .tk-gastro-card-panel:not([hidden]) .tk-gastro-menu .tk-gastro-item[data-tk-gastro-product-anchor]{
    scroll-margin-top:calc(var(--tkg-page-sticky-top,0px) + var(--tkg-card-switcher-height,54px) + var(--tkg-toolbar-height,62px) + 26px) !important;
  }
}

@media(max-width:700px){
  .tk-gastro-menu .tk-gastro-product-placeholder{
    width:96px;
    height:82px;
    min-height:82px;
    padding:.4rem;
  }
  .tk-gastro-menu .tk-gastro-placeholder-icon{width:30px;height:30px}
  .tk-gastro-menu .tk-gastro-product-placeholder span{font-size:.61rem}
  .tk-gastro-menu .tk-gastro-guest-toolbar{
    padding:.46rem !important;
  }
  .tk-gastro-menu .tk-gastro-toolbar-actions{
    row-gap:.44rem !important;
  }
  .tk-gastro-menu .tk-gastro-search{
    padding:0 !important;
  }
}


/* v0.27.1: Ziel eines externen Produkt-Ankers kurz hervorheben. */
.tk-gastro-menu .tk-gastro-item.tk-gastro-anchor-target{
  outline:3px solid color-mix(in srgb,var(--tk-gastro-accent,#2271b1) 42%,transparent);
  outline-offset:4px;
  transition:outline-color .25s ease, box-shadow .25s ease;
  box-shadow:0 8px 24px rgba(17,24,39,.12);
}


/* TK Gastro v0.27.2 – Startseite / Nach oben */
.tk-gastro-menu .tk-gastro-page-nav{
  display:flex;align-items:center;justify-content:space-between;gap:.75rem;
  margin:.5rem 0 .8rem;padding:.15rem .1rem;
}
.tk-gastro-menu .tk-gastro-home-link,
.tk-gastro-menu .tk-gastro-top-link{
  display:inline-flex;align-items:center;gap:.35rem;min-height:36px;
  padding:.42rem .7rem;border:1px solid rgba(0,0,0,.10);border-radius:999px;
  background:#fff;color:inherit;text-decoration:none;font:inherit;font-size:.9rem;line-height:1;
  cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.05);
}
.tk-gastro-menu .tk-gastro-home-link:hover,
.tk-gastro-menu .tk-gastro-top-link:hover{border-color:var(--tk-gastro-accent,currentColor);}
.tk-gastro-menu .tk-gastro-floating-top{
  position:fixed;right:18px;bottom:18px;z-index:9996;width:44px;height:44px;
  align-items:center;justify-content:center;border:0;border-radius:50%;
  background:var(--tk-gastro-accent,#222);color:#fff;font-size:22px;line-height:1;
  cursor:pointer;box-shadow:0 5px 18px rgba(0,0,0,.22);
}
.tk-gastro-menu .tk-gastro-floating-top:not([hidden]){display:flex;}
@media (max-width:640px){
  .tk-gastro-menu .tk-gastro-page-nav{margin:.35rem 0 .65rem;}
  .tk-gastro-menu .tk-gastro-home-link,.tk-gastro-menu .tk-gastro-top-link{font-size:.82rem;padding:.4rem .58rem;}
  .tk-gastro-menu .tk-gastro-floating-top{right:12px;bottom:14px;width:42px;height:42px;}
}


/* ==========================================================
   TK Gastro v0.27.3 – ruhige Sticky-Navigation
   "Zur Startseite" scrollt am Kartenanfang normal weg.
   "Nach oben" bleibt mit der Bedienleiste erreichbar; Suche,
   Kategorien und Filter liegen direkt darunter.
   ========================================================== */
.tk-gastro-menu .tk-gastro-page-nav{
  justify-content:flex-start !important;
}
.tk-gastro-menu .tk-gastro-sticky-top-row{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  width:100%;
  margin:0 0 .38rem;
}
.tk-gastro-menu .tk-gastro-top-link{
  flex:0 0 auto;
}
.tk-gastro-menu .tk-gastro-floating-top{
  display:none !important;
}
@media(max-width:1180px){
  .tk-gastro-menu .tk-gastro-guest-toolbar{
    overflow:visible !important;
  }
  .tk-gastro-menu .tk-gastro-sticky-top-row{
    margin-bottom:.36rem;
    padding-bottom:.36rem;
    border-bottom:1px solid #e6e9ed;
  }
}
@media(max-width:700px){
  .tk-gastro-menu .tk-gastro-sticky-top-row{
    margin-bottom:.4rem;
    padding:0 0 .38rem;
  }
  .tk-gastro-menu .tk-gastro-top-link{
    min-height:34px;
    font-size:.8rem;
    padding:.38rem .58rem;
  }
}


/* ==========================================================
   TK Gastro v0.27.4 – erzwungene mobile Sticky-Gastleiste
   Kadence/Theme-Overflow darf die Gastnavigation nicht mehr
   aus dem Viewport schieben. JS schaltet die Leiste am
   Sticky-Punkt auf position:fixed und hält ihren Platz frei.
   ========================================================== */
@media(max-width:1180px){
  .tk-gastro-menu .tk-gastro-guest-toolbar.tkg-force-fixed{
    position:fixed !important;
    top:var(--tkg-force-top,0px) !important;
    left:var(--tkg-force-left,0px) !important;
    width:var(--tkg-force-width,100%) !important;
    max-width:none !important;
    margin:0 !important;
    z-index:9990 !important;
    box-sizing:border-box !important;
  }
  .tk-gastro-menu .tkg-toolbar-placeholder{
    display:block;
    width:100%;
    height:0;
    margin:0;
    padding:0;
    border:0;
    pointer-events:none;
  }
  .tk-gastro-menu .tkg-toolbar-placeholder.is-active{
    height:var(--tkg-placeholder-height,0px);
    margin:0 0 .65rem;
  }
}

/* ==========================================================
   TK Gastro v0.27.5 – EIN mobile Positionierungsmodell
   Wichtig: Auf Mobil/Tablet ist die Gastleiste im Normalzustand
   bewusst NICHT sticky. Erst die JS-Steuerung setzt sie auf fixed.
   Damit konkurrieren native Safari-sticky und Fixed-Fallback nicht.
   ========================================================== */
@media(max-width:1180px){
  .tk-gastro-menu .tk-gastro-guest-toolbar:not(.tkg-force-fixed),
  .tk-gastro-card-panel:not([hidden]) .tk-gastro-menu .tk-gastro-guest-toolbar:not(.tkg-force-fixed){
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    width:auto !important;
    max-width:none !important;
    transform:none !important;
  }

  .tk-gastro-menu .tk-gastro-guest-toolbar.tkg-force-fixed,
  .tk-gastro-card-panel:not([hidden]) .tk-gastro-menu .tk-gastro-guest-toolbar.tkg-force-fixed{
    position:fixed !important;
    top:var(--tkg-force-top,0px) !important;
    left:var(--tkg-force-left,0px) !important;
    right:auto !important;
    width:var(--tkg-force-width,100%) !important;
    max-width:none !important;
    margin:0 !important;
    transform:none !important;
    z-index:9990 !important;
    box-sizing:border-box !important;
  }
}


/* ==========================================================
   TK Gastro v0.27.6 – EINDEUTIGE mobile Navigation
   Zielzustand:
   - Kartenwahl/Startbereich scrollt normal weg.
   - Nur die Gastleiste mit "Nach oben", Suche, Kategorien und Filter
     wird vom v0.27.6-JS bei Bedarf fixed positioniert.
   - Alle älteren Sticky-Regeln für Kartenwahl/Gastleiste werden
     auf Mobil/Tablet neutralisiert.
   ========================================================== */
@media(max-width:1180px){
  .tk-gastro-card-switcher-buttons{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    z-index:auto !important;
    transform:none !important;
  }

  .tk-gastro-menu .tk-gastro-guest-toolbar:not(.tkg-force-fixed),
  .tk-gastro-card-panel:not([hidden]) .tk-gastro-menu .tk-gastro-guest-toolbar:not(.tkg-force-fixed){
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    width:auto !important;
    max-width:none !important;
    transform:none !important;
  }

  .tk-gastro-menu .tk-gastro-guest-toolbar.tkg-force-fixed,
  .tk-gastro-card-panel:not([hidden]) .tk-gastro-menu .tk-gastro-guest-toolbar.tkg-force-fixed{
    position:fixed !important;
    top:var(--tkg-force-top,0px) !important;
    left:var(--tkg-force-left,0px) !important;
    right:auto !important;
    width:var(--tkg-force-width,100%) !important;
    max-width:none !important;
    margin:0 !important;
    transform:none !important;
    z-index:9990 !important;
    box-sizing:border-box !important;
  }
}


/* ==========================================================
   TK Gastro v0.27.7 – alte mobile Sticky-Positionen vollständig deaktiviert.
   Es existiert nur noch der JS-gesteuerte Zustand .tkg-force-fixed.
   ========================================================== */
@media(max-width:1180px){
  .tk-gastro-card-switcher-buttons,
  .tk-gastro-menu .tk-gastro-category-nav,
  .tk-gastro-menu .tk-gastro-guest-toolbar:not(.tkg-force-fixed),
  .tk-gastro-card-panel:not([hidden]) .tk-gastro-menu .tk-gastro-guest-toolbar:not(.tkg-force-fixed){
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
  }
  .tk-gastro-menu .tk-gastro-guest-toolbar.tkg-force-fixed,
  .tk-gastro-card-panel:not([hidden]) .tk-gastro-menu .tk-gastro-guest-toolbar.tkg-force-fixed{
    position:fixed !important;
    top:var(--tkg-force-top,0px) !important;
    left:var(--tkg-force-left,0px) !important;
    right:auto !important;
    width:var(--tkg-force-width,100%) !important;
    margin:0 !important;
    transform:none !important;
    z-index:9990 !important;
  }
}


/* ==========================================================
   TK Gastro v0.27.18 – EINE mobile Toolbar-Struktur
   Der komplette Kern bleibt Bestandteil der Guest-Toolbar:
   Zeile 1: Nach oben | Suche
   Zeile 2: Kategorien | Filter
   Keine absolute Positionierung; beim Fixieren bewegt sich
   der gesamte Kern als eine Einheit.
   ========================================================== */
.tk-gastro-menu .tk-gastro-toolbar-core{
  width:100%;
}

@media (max-width:700px){
  .tk-gastro-menu .tk-gastro-toolbar-core{
    display:grid !important;
    grid-template-columns:minmax(132px,auto) minmax(0,1fr) !important;
    grid-template-rows:40px 40px !important;
    gap:.38rem !important;
    width:100% !important;
    min-width:0 !important;
    position:relative !important;
  }

  .tk-gastro-menu .tk-gastro-sticky-top-row{
    grid-column:1 !important;
    grid-row:1 !important;
    position:static !important;
    inset:auto !important;
    width:auto !important;
    min-width:0 !important;
    min-height:40px !important;
    height:40px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    display:flex !important;
    align-items:stretch !important;
    justify-content:stretch !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  .tk-gastro-menu .tk-gastro-toolbar-actions{
    display:contents !important;
  }

  .tk-gastro-menu .tk-gastro-top-link{
    width:100% !important;
    height:40px !important;
    min-height:40px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    visibility:visible !important;
    opacity:1 !important;
    white-space:nowrap !important;
    position:static !important;
  }

  .tk-gastro-menu .tk-gastro-search{
    grid-column:2 !important;
    grid-row:1 !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
  }

  .tk-gastro-menu .tk-gastro-search label{
    display:block !important;
    width:100% !important;
  }

  .tk-gastro-menu .tk-gastro-search input,
  .tk-gastro-menu .tk-gastro-search-input{
    width:100% !important;
    height:40px !important;
    min-height:40px !important;
    margin:0 !important;
  }

  .tk-gastro-menu .tk-gastro-category-toggle{
    grid-column:1 !important;
    grid-row:2 !important;
    width:100% !important;
    height:40px !important;
    min-height:40px !important;
    white-space:nowrap !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    margin:0 !important;
  }

  .tk-gastro-menu .tk-gastro-mobile-filter-toggle{
    grid-column:2 !important;
    grid-row:2 !important;
    width:100% !important;
    height:40px !important;
    min-height:40px !important;
    white-space:nowrap !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    margin:0 !important;
  }

  .tk-gastro-menu .tk-filter-reset{
    grid-column:1 / -1 !important;
    grid-row:3 !important;
  }

  .tk-gastro-menu .tk-gastro-filter-wrap,
  .tk-gastro-menu .tk-gastro-category-nav{
    width:100% !important;
  }
}


/* ==========================================================
   TK Gastro v0.27.18 – saubere Wortumbrüche auf Mobil
   Produktnamen dürfen nur an Wortgrenzen umbrechen.
   Keine Trennung mitten im Wort wie "Limoncell / o".
   ========================================================== */
@media (max-width:700px){
  .tk-gastro-menu .tk-gastro-products .tk-gastro-item h4,
  .tk-gastro-menu .tk-gastro-products .tk-gastro-item-title{
    overflow-wrap:normal !important;
    word-wrap:normal !important;
    word-break:normal !important;
    -webkit-hyphens:none !important;
    hyphens:none !important;
  }

  .tk-gastro-menu .tk-gastro-products .tk-gastro-description{
    overflow-wrap:normal !important;
    word-wrap:normal !important;
    word-break:normal !important;
    -webkit-hyphens:auto;
    hyphens:auto;
  }

  .tk-gastro-menu .tk-gastro-products .tk-gastro-item-main{
    min-width:0 !important;
  }

  .tk-gastro-menu .tk-gastro-products .tk-gastro-item h4,
  .tk-gastro-menu .tk-gastro-products .tk-gastro-item-title,
  .tk-gastro-menu .tk-gastro-products .tk-gastro-description{
    min-width:0 !important;
    max-width:100% !important;
  }
}


/* ==========================================================
   TK Gastro v0.27.18 – Mobile nahezu volle Displaybreite
   Die Produktfläche nutzt den verfügbaren Smartphone-Raum
   stärker aus. Innenabstände der Karten bleiben erhalten.
   ========================================================== */
@media (max-width:700px){
  .tk-gastro-menu .tk-gastro-category{
    margin-left:-1.15rem !important;
    margin-right:-1.15rem !important;
  }
  .tk-gastro-menu .tk-gastro-category > h3{
    margin-left:1.15rem !important;
    margin-right:1.15rem !important;
  }
  .tk-gastro-menu .tk-gastro-products{
    width:calc(100% + 2.30rem) !important;
    max-width:none !important;
    margin-left:-1.15rem !important;
    margin-right:-1.15rem !important;
  }
  .tk-gastro-menu .tk-gastro-products .tk-gastro-item{
    width:100% !important;
    max-width:none !important;
  }
}

/* ==========================================================
   TK Gastro v0.27.19 – Smartphone: Bild immer eigene Zeile
   Echte Produktbilder und Platzhalter belegen auf Smartphones
   die komplette erste Kartenzeile. Text, Beschreibung, Preise
   und weitere Produktinfos folgen darunter. Tablet/Desktop
   bleiben unverändert.
   ========================================================== */
@media (max-width:640px){
  .tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image{
    display:block !important;
    grid-template-columns:none !important;
    gap:0 !important;
    padding:.72rem .76rem !important;
    overflow:hidden !important;
  }

  .tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image .tk-gastro-item-image,
  .tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image .tk-gastro-product-placeholder{
    display:flex !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:16/9 !important;
    margin:0 0 .72rem 0 !important;
    border-radius:10px !important;
    overflow:hidden !important;
  }

  .tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image .tk-gastro-image-button,
  .tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image .tk-gastro-product-image{
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:16/9 !important;
    object-fit:cover !important;
  }

  .tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image .tk-gastro-item-body,
  .tk-gastro-menu .tk-gastro-item.has-placeholder .tk-gastro-item-body{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    padding:0 !important;
  }

  .tk-gastro-menu .tk-gastro-product-placeholder{
    padding:.75rem !important;
  }
}

/* ==========================================================
   TK Gastro v0.27.20 – Smartphone: Karten vollständig sichtbar
   Die ältere Vollbreiten-Regel mit negativen Außenrändern wird
   auf Smartphones neutralisiert. Dadurch bleiben Produktname,
   Beschreibung und Badges links/rechts vollständig im Viewport,
   ohne die Karten unnötig schmal zu machen.
   ========================================================== */
@media (max-width:640px){
  .tk-gastro-menu .tk-gastro-category{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
  }

  .tk-gastro-menu .tk-gastro-category > h3{
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .tk-gastro-menu .tk-gastro-products{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
  }

  .tk-gastro-menu .tk-gastro-products .tk-gastro-item{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
  }
}

/* ==========================================================
   TK Gastro v0.27.21 – Tablet Hochformat wie Mobile behandeln
   Im Hochformat bekommen echte Bilder UND Platzhalter eine
   eigene Kartenzeile. Tablet Querformat/Desktop bleiben kompakt.
   ========================================================== */
@media (max-width:900px) and (orientation:portrait){
  .tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image,
  .tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-placeholder{
    display:block !important;
    grid-template-columns:none !important;
    gap:0 !important;
    padding:.72rem .76rem !important;
    overflow:hidden !important;
  }

  .tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image .tk-gastro-item-image,
  .tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-placeholder .tk-gastro-product-placeholder{
    display:flex !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:16/9 !important;
    margin:0 0 .72rem 0 !important;
    border-radius:10px !important;
    overflow:hidden !important;
  }

  .tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image .tk-gastro-image-button,
  .tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image .tk-gastro-product-image{
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:16/9 !important;
    object-fit:cover !important;
  }

  .tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image .tk-gastro-item-body,
  .tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-placeholder .tk-gastro-item-body{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    padding:0 !important;
  }
}

/* TK Gastro 0.27.39 – Smartphone-Bildregel: Medienfläche immer eigene Zeile */
@media(max-width:700px){
  .tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image{
    display:block!important;
    padding:0!important;
    overflow:hidden!important;
  }
  .tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image .tk-gastro-item-image{
    display:block!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:16/9!important;
    border-radius:0!important;
    overflow:hidden!important;
    background:#f2f4f7!important;
  }
  .tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image .tk-gastro-product-image{
    display:block!important;
    width:100%!important;
    height:100%!important;
    aspect-ratio:16/9!important;
    object-fit:cover!important;
    object-position:center!important;
  }
  .tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image .tk-gastro-item-body{
    display:block!important;
    width:100%!important;
    padding:.78rem .82rem .82rem!important;
  }
  .tk-gastro-menu .tk-gastro-product-placeholder{
    min-height:150px!important;
    align-items:center!important;
    justify-content:center!important;
  }
}
\n\n/* ==========================================================
   TK Gastro v0.27.45 – Desktop Sticky + Rubrikensteuerung
   Desktop behält Suche, Seitennavigation, Nach oben und Rubriken
   dauerhaft erreichbar. Tablet/Mobil bleiben unverändert.
   ========================================================== */
.tk-gastro-menu .tk-gastro-home-link-sticky,
.tk-gastro-menu .tk-gastro-category-nav-title,
.tk-gastro-menu .tk-gastro-category-scroll{
  display:none;
}

@media (min-width:1181px){
  .tk-gastro-menu .tk-gastro-page-nav{
    display:none !important;
  }
  .tk-gastro-menu .tk-gastro-guest-toolbar{
    position:sticky !important;
    top:0 !important;
    z-index:9990 !important;
    overflow:visible !important;
    margin:.7rem 0 1rem !important;
    padding:.5rem .65rem .58rem !important;
  }
  body.admin-bar .tk-gastro-menu .tk-gastro-guest-toolbar{
    top:32px !important;
  }
  .tk-gastro-menu .tk-gastro-sticky-top-row{
    justify-content:space-between !important;
    gap:.65rem !important;
    margin:0 0 .4rem !important;
  }
  .tk-gastro-menu .tk-gastro-home-link-sticky{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    min-height:36px;
    white-space:nowrap;
  }
  .tk-gastro-menu .tk-gastro-toolbar-actions{
    display:flex !important;
    align-items:center !important;
    gap:.5rem !important;
    margin:0 0 .42rem !important;
  }
  .tk-gastro-menu .tk-gastro-search{
    display:block !important;
    flex:0 1 460px !important;
    width:min(460px,100%) !important;
    max-width:460px !important;
    margin:0 !important;
  }
  .tk-gastro-menu .tk-gastro-category-toggle,
  .tk-gastro-menu .tk-gastro-mobile-filter-toggle{
    display:none !important;
  }
  .tk-gastro-menu .tk-gastro-category-nav-row{
    display:grid !important;
    grid-template-columns:auto 38px minmax(0,1fr) 38px !important;
    align-items:center !important;
    gap:.42rem !important;
    width:100% !important;
    min-width:0 !important;
    padding:.42rem 0 0 !important;
    border-top:1px solid rgba(31,41,55,.08) !important;
  }
  .tk-gastro-menu .tk-gastro-category-nav-title{
    display:inline-flex !important;
    align-items:center !important;
    min-height:38px !important;
    font-weight:700 !important;
    font-size:.84rem !important;
    color:#465466 !important;
    white-space:nowrap !important;
  }
  .tk-gastro-menu .tk-gastro-category-scroll{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    padding:0 !important;
    border:1px solid #cbd3dc !important;
    border-radius:10px !important;
    background:#fff !important;
    color:#334155 !important;
    font:700 1.45rem/1 Arial,sans-serif !important;
    cursor:pointer !important;
    box-shadow:0 1px 2px rgba(15,23,42,.04) !important;
  }
  .tk-gastro-menu .tk-gastro-category-scroll:hover:not(:disabled),
  .tk-gastro-menu .tk-gastro-category-scroll:focus-visible:not(:disabled){
    border-color:var(--tk-gastro-accent,#2271b1) !important;
    color:var(--tk-gastro-accent,#2271b1) !important;
  }
  .tk-gastro-menu .tk-gastro-category-scroll:disabled{
    opacity:.32 !important;
    cursor:default !important;
  }
  .tk-gastro-menu .tk-gastro-category-nav-row .tk-gastro-category-nav{
    min-width:0 !important;
    width:100% !important;
    padding:0 !important;
    border:0 !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scrollbar-width:none !important;
    cursor:grab !important;
    user-select:none !important;
    -webkit-user-select:none !important;
    touch-action:pan-y !important;
  }
  .tk-gastro-menu .tk-gastro-category-nav-row .tk-gastro-category-nav::-webkit-scrollbar{
    display:none !important;
  }
  .tk-gastro-menu .tk-gastro-category-nav-row .tk-gastro-category-nav.is-dragging{
    cursor:grabbing !important;
  }
  .tk-gastro-menu .tk-gastro-category-nav-row .tk-gastro-category-link{
    -webkit-user-drag:none;
    user-select:none;
  }
  .tk-gastro-menu .tk-gastro-category,
  .tk-gastro-menu .tk-gastro-item[data-tk-gastro-product-anchor]{
    scroll-margin-top:190px !important;
  }
}

/* ==========================================================
   TK Gastro v0.27.46 – Mobile/Tablet-Struktur wieder isolieren
   Die Desktop-Zusatzstruktur aus 0.27.45 darf die bestehende
   mobile Toolbar nicht beeinflussen. Der Wrapper wird bis
   1180px layout-neutral; Desktop-Steuerelemente bleiben verborgen.
   ========================================================== */
@media (max-width:1180px){
  .tk-gastro-menu .tk-gastro-category-nav-row{
    display:contents !important;
  }
  .tk-gastro-menu .tk-gastro-home-link-sticky,
  .tk-gastro-menu .tk-gastro-category-nav-title,
  .tk-gastro-menu .tk-gastro-category-scroll{
    display:none !important;
  }
  .tk-gastro-menu .tk-gastro-category-nav-row .tk-gastro-category-nav{
    width:100% !important;
    min-width:0 !important;
  }
}

/* ==========================================================
   TK Gastro v0.27.47 – Desktop: Varianten ohne Textquetschung
   Nur Desktop: Produktkopf nutzt die volle Kartenbreite.
   Varianten stehen darunter und dürfen den Produktnamen nicht
   auf eine schmale Restspalte zusammendrücken. Tablet/Mobil
   bleiben unverändert.
   ========================================================== */
@media (min-width:1181px){
  .tk-gastro-menu .tk-gastro-products .tk-gastro-item-main{
    display:block !important;
    min-width:0 !important;
    width:100% !important;
  }

  .tk-gastro-menu .tk-gastro-products .tk-gastro-item h4,
  .tk-gastro-menu .tk-gastro-products .tk-gastro-item-title,
  .tk-gastro-menu .tk-gastro-products .tk-gastro-description{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    hyphens:auto;
  }

  .tk-gastro-menu .tk-gastro-products .tk-gastro-variants{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    margin-top:.55rem !important;
  }

  .tk-gastro-menu .tk-gastro-products .tk-gastro-variant{
    width:100% !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    justify-content:stretch !important;
  }

  .tk-gastro-menu .tk-gastro-products .tk-gastro-variant.is-single-price{
    justify-content:flex-end !important;
  }
}

/* ==========================================================
   TK Gastro v0.27.48 – Desktop: Bild oberhalb der Produktdaten
   Nur Desktop (>1180px): Produktkarten mit Bild werden vertikal
   aufgebaut. Foto oben, darunter Name/Beschreibung/Kennzeichnungen
   und Varianten. Tablet und Mobil bleiben unverändert.
   ========================================================== */
@media (min-width:1181px){
  .tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  .tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image .tk-gastro-item-image{
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:16/9 !important;
    overflow:hidden !important;
    border-radius:0 !important;
    background:#f2f4f7 !important;
  }

  .tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image .tk-gastro-image-button{
    display:block !important;
    width:100% !important;
    height:100% !important;
  }

  .tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image .tk-gastro-product-image{
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    object-fit:cover !important;
    object-position:center !important;
    border-radius:0 !important;
  }

  .tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image .tk-gastro-item-body{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    padding:.86rem .9rem .92rem !important;
    box-sizing:border-box !important;
  }

  .tk-gastro-menu .tk-gastro-products .tk-gastro-item.has-image .tk-gastro-item-main{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
  }
}


/* ==========================================================
   TK Gastro v0.27.49 – Desktop-Variantenkarte robust vertikal
   Desktop wird zusätzlich über ein präzises Zeigegerät erkannt,
   damit die Regel auch bei Browser-Zoom greift, ohne Touch-Tablet
   oder Smartphone umzubauen.
   ========================================================== */
@media (min-width:1000px) and (hover:hover) and (pointer:fine){
  body .tk-gastro-menu .tk-gastro-products > .tk-gastro-item.has-image{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    grid-template-rows:auto auto !important;
    gap:0 !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  body .tk-gastro-menu .tk-gastro-products > .tk-gastro-item.has-image > .tk-gastro-item-image{
    grid-column:1 / -1 !important;
    grid-row:1 !important;
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-width:0 !important;
    min-height:0 !important;
    aspect-ratio:16/9 !important;
    border-radius:0 !important;
    overflow:hidden !important;
  }

  body .tk-gastro-menu .tk-gastro-products > .tk-gastro-item.has-image > .tk-gastro-item-body{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    padding:.86rem .9rem .92rem !important;
    box-sizing:border-box !important;
  }

  body .tk-gastro-menu .tk-gastro-products > .tk-gastro-item.has-image .tk-gastro-item-main{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
  }

  body .tk-gastro-menu .tk-gastro-products > .tk-gastro-item.has-image .tk-gastro-item-title,
  body .tk-gastro-menu .tk-gastro-products > .tk-gastro-item.has-image h4,
  body .tk-gastro-menu .tk-gastro-products > .tk-gastro-item.has-image .tk-gastro-description,
  body .tk-gastro-menu .tk-gastro-products > .tk-gastro-item.has-image .tk-gastro-meta,
  body .tk-gastro-menu .tk-gastro-products > .tk-gastro-item.has-image .tk-gastro-details{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
  }

  body .tk-gastro-menu .tk-gastro-products > .tk-gastro-item.has-image .tk-gastro-variants{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    margin-top:.55rem !important;
  }
}
