#sbm-menu{--sb-blue:#24446f;--sb-gold:#bd9547;--sb-olive:#76845c;--sb-ink:#283950;--sb-paper:#fffefa;font-family:Trebuchet MS,Segoe UI,Arial,sans-serif;color:var(--sb-ink);background:var(--sb-paper);line-height:1.55;max-width:1160px;margin:0 auto;padding:clamp(22px,4vw,65px);box-sizing:border-box}
#sbm-menu *,#sbm-menu *:before,#sbm-menu *:after{box-sizing:border-box}
#sbm-menu .sbm-eyebrow{text-align:center;letter-spacing:.2em;text-transform:uppercase;color:var(--sb-gold);font-size:.74rem;font-weight:700}
#sbm-menu h1{font:italic normal clamp(2.35rem,5vw,4.3rem)/1.2 Georgia,Palatino,serif;letter-spacing:.02em;text-align:center;color:var(--sb-blue);margin:.12em 0}
#sbm-menu .sbm-subtitle{text-align:center;text-transform:uppercase;letter-spacing:.13em;color:var(--sb-blue);font-size:.87rem;margin:0}
#sbm-menu .sbm-ornament{color:var(--sb-gold);max-width:220px;margin:18px auto;display:flex;gap:12px;align-items:center;justify-content:center}
#sbm-menu .sbm-ornament:before,#sbm-menu .sbm-ornament:after{content:"";border-top:1px solid #d4be8f;flex:1}
#sbm-menu .sbm-intro{max-width:760px;text-align:center;margin:0 auto 30px;line-height:1.7}
#sbm-menu .sbm-note{border:1px solid #e3dac5;background:#fcfaf5;padding:18px 22px;text-align:center;margin:0 0 25px}
#sbm-menu .sbm-nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:25px 0 35px}
#sbm-menu .sbm-nav a{text-decoration:none;border:1px solid #d6dce4;border-radius:2px;color:var(--sb-blue);padding:7px 10px;font-size:.8rem}
#sbm-menu .sbm-nav a:hover,#sbm-menu .sbm-nav a:focus{background:#eef2f6;border-color:var(--sb-blue)}
#sbm-menu .sbm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(25px,5vw,65px);align-items:start}
#sbm-menu .sbm-section{min-width:0;break-inside:avoid;margin:0 0 35px;scroll-margin-top:110px}
#sbm-menu .sbm-section h2{color:var(--sb-blue);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--sb-blue);padding:0 0 10px;margin:0 0 19px;font-size:1.05rem;font-weight:700}
#sbm-menu .sbm-section-desc{font-style:italic;font-size:.85rem;color:var(--sb-olive)}
#sbm-menu .sbm-dish{margin:0 0 17px;break-inside:avoid}
#sbm-menu .sbm-dish-top{display:flex;gap:10px;justify-content:space-between;align-items:baseline}
#sbm-menu .sbm-dish h3{color:var(--sb-blue);font-size:.94rem;line-height:1.4;margin:0;font-weight:700}
#sbm-menu .sbm-price{white-space:nowrap;font-size:.93rem;font-weight:700;color:var(--sb-blue);font-variant-numeric:tabular-nums}
#sbm-menu .sbm-description{margin:4px 0 0;font-size:.85rem;color:#526079;line-height:1.5}
#sbm-menu .sbm-tags{margin:3px 0;color:var(--sb-olive);font-size:.77rem;font-weight:700}
#sbm-menu .sbm-allergens{font-size:.73rem;color:#6c7180;margin:4px 0}
#sbm-menu .sbm-footer{border-top:1px solid #d4dce3;margin:15px 0 0;padding:20px 0 0;font-size:.85rem;color:#4e5e72}
@media(max-width:700px){#sbm-menu{padding:22px 17px}#sbm-menu .sbm-grid{grid-template-columns:1fr}#sbm-menu .sbm-nav{justify-content:flex-start}}
@media print{#sbm-menu{padding:8mm;max-width:none}#sbm-menu .sbm-nav{display:none}#sbm-menu .sbm-grid{gap:0 10mm}#sbm-menu .sbm-dish{break-inside:avoid}#sbm-menu .sbm-section{break-inside:avoid}}

/* v1.1: Elementor/Theme-resistente, an die ursprüngliche HTML-Karte angelehnte Gestaltung. */
#sbm-menu.sbm-menu{font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif !important;font-size:16px;letter-spacing:normal;max-width:1160px;width:100%;padding:clamp(24px,4vw,62px);background:#fffefa;color:#283950}
#sbm-menu.sbm-menu :is(p,span,a,aside,nav,article,section,div){font-family:inherit;letter-spacing:normal;overflow-wrap:break-word}
#sbm-menu.sbm-menu .sbm-header h1{font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif !important;font-style:italic;font-weight:400;font-size:clamp(2.15rem,5vw,4.2rem);line-height:1.2;letter-spacing:.015em;margin:12px 0 8px;color:#24446f}
#sbm-menu.sbm-menu .sbm-header .sbm-eyebrow{font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif;letter-spacing:.19em;color:#bd9547;font-size:.7rem;text-transform:uppercase;text-align:center}
#sbm-menu.sbm-menu .sbm-header .sbm-subtitle{font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif;letter-spacing:.09em;color:#24446f;font-size:.85rem;text-transform:uppercase;text-align:center}
#sbm-menu.sbm-menu .sbm-header .sbm-intro{max-width:760px;margin:0 auto 30px;line-height:1.8;font-size:.96rem;text-align:center}
#sbm-menu.sbm-menu .sbm-note{border:1px solid #ded5c2;background:#fbfaf6;padding:18px 24px;margin:0 0 27px;line-height:1.7;font-size:.94rem;text-align:center}
#sbm-menu.sbm-menu nav.sbm-nav{display:flex !important;flex-wrap:wrap !important;align-items:center;align-content:center;justify-content:center;gap:8px !important;width:100%;margin:26px 0 40px;padding:0;min-height:0;max-height:none;overflow:visible;border:0;background:none;white-space:normal}
#sbm-menu.sbm-menu nav.sbm-nav a{display:inline-flex !important;flex:0 0 auto !important;float:none !important;position:static;align-items:center;justify-content:center;min-height:35px;max-width:100%;box-sizing:border-box;white-space:normal !important;line-height:1.3 !important;vertical-align:middle;margin:0 !important;padding:8px 12px !important;border:1px solid #d8dce2 !important;border-radius:3px !important;background:#fffefa !important;text-decoration:none !important;text-transform:none !important;color:#24446f !important;font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif !important;font-size:12.5px !important;font-weight:400 !important;letter-spacing:.005em !important;box-shadow:none !important}
#sbm-menu.sbm-menu nav.sbm-nav a:hover,#sbm-menu.sbm-menu nav.sbm-nav a:focus-visible{background:#edf2f7 !important;border-color:#24446f !important;outline-offset:2px}
#sbm-menu.sbm-menu .sbm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(27px,5vw,65px);row-gap:0}
#sbm-menu.sbm-menu .sbm-section{min-width:0;margin-bottom:36px;scroll-margin-top:110px}
#sbm-menu.sbm-menu .sbm-section h2{font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif !important;font-size:1.04rem !important;font-style:normal !important;font-weight:700 !important;text-transform:uppercase;letter-spacing:.04em;line-height:1.35;padding:0 0 9px;margin:0 0 19px;border-bottom:1px solid #24446f;color:#24446f}
#sbm-menu.sbm-menu .sbm-dish h3{font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif !important;font-weight:700 !important;letter-spacing:0;font-style:normal !important;font-size:.94rem !important;line-height:1.4;margin:0;color:#24446f}
#sbm-menu.sbm-menu .sbm-dish-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
#sbm-menu.sbm-menu .sbm-dish-top h3{flex:1;min-width:0}
#sbm-menu.sbm-menu .sbm-dish-top .sbm-price{flex:none;white-space:nowrap;font-weight:700;font-size:.93rem;color:#24446f}
#sbm-menu.sbm-menu .sbm-description{font-size:.85rem;line-height:1.55;margin:4px 0 0;color:#516078}
#sbm-menu.sbm-menu .sbm-tags{font-size:.74rem;color:#76845c;margin:3px 0}
#sbm-menu.sbm-menu .sbm-footer{font-size:.83rem;line-height:1.6}
@media(max-width:700px){#sbm-menu.sbm-menu{padding:24px 17px}#sbm-menu.sbm-menu .sbm-grid{grid-template-columns:1fr}#sbm-menu.sbm-menu nav.sbm-nav{justify-content:flex-start;gap:7px !important;margin:21px 0 32px}#sbm-menu.sbm-menu nav.sbm-nav a{font-size:12px !important;padding:7px 10px !important}#sbm-menu.sbm-menu .sbm-note{padding:16px}}
@media print{#sbm-menu.sbm-menu nav.sbm-nav{display:none !important}#sbm-menu.sbm-menu{max-width:none;padding:10mm}}

/* v1.3: optionale farbige Boxen pro Kategorie */
#sbm-menu.sbm-menu .sbm-section.sbm-section-box{border:var(--sbm-box-border) !important;background:var(--sbm-box-bg) !important;border-radius:var(--sbm-box-radius) !important;padding:var(--sbm-box-pad) !important;overflow:hidden;box-sizing:border-box;}
@media print{#sbm-menu.sbm-menu .sbm-section-box{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* v1.10: Sicherer Innen-/Außenabstand der Kategorienavigation auch bei Elementor-Overrides. */
#sbm-menu.sbm-menu nav.sbm-nav {
  display:flex !important; flex-wrap:wrap !important;
  column-gap:10px !important; row-gap:10px !important;
}
#sbm-menu.sbm-menu nav.sbm-nav > a {
  display:inline-flex !important;
  padding:9px 14px !important;
  margin:0 3px 3px 0 !important;
  min-height:36px; box-sizing:border-box !important;
}
@media (max-width:700px) {
  #sbm-menu.sbm-menu nav.sbm-nav { column-gap:8px !important; row-gap:9px !important; }
  #sbm-menu.sbm-menu nav.sbm-nav > a { padding:8px 11px !important; margin:0 2px 2px 0 !important; }
}

/* v1.11: ausgeschriebene Preise dürfen in schmalen Spalten umbrechen. */
#sbm-menu.sbm-menu.sbm-prices-in-words .sbm-dish-top .sbm-price {
  white-space:normal !important; overflow-wrap:normal; text-align:right;
  max-width:52%; hyphens:auto;
}
@media(max-width:480px){#sbm-menu.sbm-menu.sbm-prices-in-words .sbm-dish-top{align-items:flex-start}}

/* v1.12: Kategorie-Navigation – Abstand mit robusten Fallbacks. */
#sbm-menu.sbm-menu nav.sbm-nav { column-gap:12px !important;row-gap:12px !important; }
#sbm-menu.sbm-menu nav.sbm-nav > a { padding:9px 14px !important;margin:0 !important; }

/* v1.13: tatsächlicher Abstand zwischen Navigationslinks (Elementor überschreibt flex-gap). */
#sbm-menu.sbm-menu nav.sbm-nav > a { margin:5px !important; }

/* v1.14: Website – Masonry-artig nachrückende Kategorien ohne gleich hohe Rasterzeilen.
   CSS Multi-Column verteilt vollständige Kategorien vertikal und lässt nachfolgende
   Kategorien direkt unter der vorherigen Kategorie weiterlaufen. Kein JavaScript nötig. */
#sbm-menu.sbm-menu .sbm-grid {
  display: block !important;
  columns: 2 !important;
  column-gap: clamp(27px, 5vw, 65px) !important;
  column-fill: balance;
}
#sbm-menu.sbm-menu .sbm-grid > .sbm-section {
  display: inline-block !important;
  width: 100% !important;
  vertical-align: top;
  break-inside: avoid-column !important;
  page-break-inside: avoid;
  margin: 0 0 36px !important;
}
@media (max-width: 700px) {
  #sbm-menu.sbm-menu .sbm-grid { columns: 1 !important; }
}
@media print {
  #sbm-menu.sbm-menu .sbm-grid { columns: 2 !important; }
}
