/*
 * La Sepia Speisekarte – öffentliches Stylesheet.
 * Werte 1:1 aus dem Webflow-Original (la-sepia.webflow.shared.419a3746d.css) übernommen.
 * Abweichungen sind mit "ABWEICHUNG" kommentiert.
 */

/* ---------------------------------------------------------------- Schriften (lokal, OFL) */
@font-face {
  font-family: Anton;
  src: url("../fonts/anton-v25-latin-regular.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
/* Originaldatei aus dem Webflow-Projekt (verlustfrei TTF -> WOFF), enthält u. a. Mediävalziffern (onum) */
@font-face {
  font-family: "Crimson Pro";
  src: url("../fonts/CrimsonPro-VariableFont_wght.woff") format("woff");
  font-weight: 200 900;
  font-style: normal;
  font-display: swap;
}
/* ABWEICHUNG: Ersatz für Proxima Nova (Adobe Fonts) – Montserrat ExtraBold für alle bisherigen Proxima-Stellen.
   Angleichung an die gemessenen Proxima-Nova-Metriken, damit Zeilenhöhen und Umbrüche gleich bleiben:
   - size-adjust 92 %: Montserrat läuft sonst 9,1 % breiter
   - ascent/descent-override: Ober-/Unterlänge wie Proxima Nova Medium (500: 108/34) bzw. Black (900: 108/40); Werte durch 0,92 geteilt, weil size-adjust sie mitskaliert */
@font-face {
  font-family: Montserrat;
  src: url("../fonts/montserrat-latin-800-normal.woff2") format("woff2");
  size-adjust: 92%; ascent-override: 117.39%; descent-override: 36.96%; line-gap-override: 0%;
  font-weight: 100 699;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Montserrat;
  src: url("../fonts/montserrat-latin-800-normal.woff2") format("woff2");
  size-adjust: 92%; ascent-override: 117.39%; descent-override: 43.48%; line-gap-override: 0%;
  font-weight: 700 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Montserrat;
  src: url("../fonts/montserrat-latin-ext-800-normal.woff2") format("woff2");
  size-adjust: 92%; ascent-override: 117.39%; descent-override: 36.96%; line-gap-override: 0%;
  font-weight: 100 699;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Montserrat;
  src: url("../fonts/montserrat-latin-ext-800-normal.woff2") format("woff2");
  size-adjust: 92%; ascent-override: 117.39%; descent-override: 43.48%; line-gap-override: 0%;
  font-weight: 700 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ---------------------------------------------------------------- Normalize (Auszug Webflow) */
html { -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; font-family: sans-serif; height: 100%; }
body { margin: 0; }
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary { display: block; }
[hidden], template { display: none; }
a { background-color: #0000; }
a:active, a:hover { outline: 0; }
b, strong { font-weight: bold; }
img { border: 0; vertical-align: middle; max-width: 100%; display: inline-block; }
svg:not(:root) { overflow: hidden; }
button { color: inherit; font: inherit; margin: 0; overflow: visible; text-transform: none; -webkit-appearance: button; cursor: pointer; }
button::-moz-focus-inner { border: 0; padding: 0; }
* { box-sizing: border-box; }

/* ---------------------------------------------------------------- Webflow-Basis (genutzte Klassen) */
h1, h2, h3, h4, h5, h6 { margin-bottom: 10px; font-weight: bold; }
p { margin-top: 0; margin-bottom: 10px; }
ul, ol { margin-top: 0; margin-bottom: 10px; padding-left: 40px; }

.w-embed:before, .w-embed:after,
.w-container:before, .w-container:after,
.w-nav:before, .w-nav:after { content: " "; grid-area: 1 / 1 / 2 / 2; display: table; }
.w-embed:after, .w-container:after, .w-nav:after { clear: both; }

.w-button { color: #fff; line-height: inherit; cursor: pointer; background-color: #3898ec; border: 0; border-radius: 0; padding: 9px 15px; text-decoration: none; display: inline-block; }

.w-container { max-width: 940px; margin-left: auto; margin-right: auto; }
.w-layout-blockcontainer { max-width: 940px; margin-left: auto; margin-right: auto; display: block; }

.w-dropdown { text-align: left; z-index: 900; margin-left: auto; margin-right: auto; display: inline-block; position: relative; }
.w-dropdown-toggle { vertical-align: top; color: #222; text-align: left; white-space: nowrap; margin-left: auto; margin-right: auto; padding: 20px 40px 20px 20px; text-decoration: none; position: relative; -webkit-user-select: none; user-select: none; cursor: pointer; display: inline-block; }
.w-dropdown-toggle:focus { outline: 0; }
.w-dropdown-list { background: #ddd; min-width: 100%; display: none; position: absolute; }
.w-dropdown-list.w--open { display: block; }

.w-nav { z-index: 1000; background: #ddd; position: relative; }
.w-nav-brand { float: left; color: #333; text-decoration: none; position: relative; }
.w-nav-link { vertical-align: top; color: #222; text-align: left; margin-left: auto; margin-right: auto; padding: 20px; text-decoration: none; display: inline-block; position: relative; }
.w-nav-link.w--current { color: #0082f3; }
.w-nav-menu { float: right; position: relative; }

@media screen and (max-width: 991px) {
  .w-container { max-width: 728px; }
  .w-layout-blockcontainer { max-width: 728px; }
}
@media screen and (max-width: 767px) {
  .w-nav-brand { padding-left: 10px; }
  .w-layout-blockcontainer { max-width: none; }
}
@media screen and (max-width: 479px) {
  .w-container { max-width: none; }
}

/* ---------------------------------------------------------------- Projekt-Variablen */
:root {
  --light--background: var(--swatches--pirmary-200);
  --swatches--text: #323232;
  --color--fonts--text: "Crimson Pro", sans-serif;
  --swatches--text-secondary: #4d4d4d;
  --typography--text: 1.375rem;
  --swatches--pirmary-200: #6b989e;
  --spacing--padding-container: 1rem;
  --spacing--gutter: 1rem;
  --spacing--padding-card: 3.5rem;
  --radius--bg-corner--main: 2px;
  --swatches--white: white;
  --line-height--text: 1.3em;
  --swatches--primary-500: #648187;
  --button--text: var(--color--fonts--secondary);
  --button--text-color: var(--swatches--primary-700);
  --typography--secondary: 1.125rem;
  --button--background-current: var(--swatches--primary-900);
  --button--text-current: var(--swatches--white);
  --swatches--transparent: #fff0;
  --swatches--primary-700: #536c71;
  --swatches--primary-900: #314144;
  --spacing-mobile--padding-card: 1.5rem;
  --color--fonts--headline: Anton, sans-serif;
  --color--fonts--secondary: Montserrat, sans-serif; /* ABWEICHUNG: statt proxima-nova */
  --button--background: var(--swatches--primary-500);
  --spacing-mobile--padding-container: .5rem;
}

/* ---------------------------------------------------------------- Projekt-Stile */
body {
  background-color: var(--light--background);
  color: var(--swatches--text);
  font-family: Montserrat, sans-serif;
  font-size: 1.1875rem;
  font-weight: 500;
  line-height: 1.3em;
  min-height: 100%;
}
h2 {
  color: var(--swatches--text);
  letter-spacing: .05em;
  text-transform: uppercase;
  border-radius: 5px;
  margin-top: 2.5rem;
  margin-bottom: 1rem;
  font-family: Anton, sans-serif;
  font-size: 1.45rem;
  font-weight: 700;
  line-height: 1.4em;
}
h3 {
  letter-spacing: .05em;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Anton, sans-serif;
  font-size: 1.45rem;
  font-weight: 700;
  line-height: 30px;
  display: inline-block;
}
p {
  font-family: var(--color--fonts--text);
  color: var(--swatches--text-secondary);
  font-size: var(--typography--text);
  font-variation-settings: "wght" 430;
  margin-bottom: .5rem;
  font-weight: 400;
  display: block;
}
a { color: var(--swatches--pirmary-200); text-decoration: underline; }
li { margin-bottom: .25rem; }
img.image-2, img.image { height: auto; } /* ABWEICHUNG: nötig, weil die Bilder jetzt width/height-Attribute haben (verhindert Layoutsprünge) */

.container-2 {
  max-width: 1200px;
  padding-top: 234px;
  padding-right: var(--spacing--padding-container);
  padding-left: var(--spacing--padding-container);
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  font-variant-numeric: oldstyle-nums;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}
.menu-section {
  width: 100%;
  margin-bottom: var(--spacing--gutter);
  padding: 3.5rem var(--spacing--padding-card) var(--spacing--padding-card);
  grid-column-gap: 3rem;
  grid-row-gap: 3rem;
  border-radius: var(--radius--bg-corner--main);
  background-color: var(--swatches--white);
  color: var(--swatches--text);
  letter-spacing: 0;
  flex-flow: column;
  flex: 50%;
  align-items: stretch;
  display: inline-block;
}
.food-wrapper {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  justify-content: flex-start;
  align-items: flex-end;
  display: block;
}
.food-wrapper.drink { display: flex; }

/* ABWEICHUNG (nur Markup): Original war <ul class="menu-list-wrapper"> mit <p>/<div> als Kindern.
   Jetzt gültiges HTML: <div class="menu-list-wrapper"> + <ul class="menu-list">. Darstellung identisch. */
.menu-list-wrapper {
  color: var(--swatches--text-secondary);
  font-variation-settings: "wght" 430;
  margin-top: 1rem;
  margin-bottom: 0;
  padding-left: 0;
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-flow: column;
  display: flex;
}
.menu-list { min-height: 100px; margin: 0; padding: 0; list-style: none; }
/* ABWEICHUNG (nur Markup): ersetzt das leere Trenn-<div class="div-block-4"> (min-height 1rem) */
.menu-list > li.has-gap { padding-top: 1rem; }

.price {
  font-family: var(--color--fonts--text);
  color: var(--swatches--pirmary-200);
  font-size: var(--typography--text);
  line-height: var(--line-height--text);
  font-variation-settings: "wght" 400;
  font-variant-numeric: oldstyle-nums;
  display: inline;
}
.price.drink { text-align: right; min-width: 44px; }
.food-li {
  grid-column-gap: .125rem;
  grid-row-gap: .125rem;
  font-variation-settings: "wght" 440;
  flex-flow: column;
  margin-bottom: 1.25rem;
  font-family: Crimson Pro, sans-serif;
  font-weight: 500;
  display: flex;
}
.menu-section-wrapper { grid-column-gap: 2rem; grid-row-gap: 2rem; flex-flow: column; display: flex; }
.nav-wrapper {
  max-width: 1200px;
  padding-right: var(--spacing--padding-container);
  padding-left: var(--spacing--padding-container);
  grid-column-gap: var(--spacing--gutter);
  grid-row-gap: var(--spacing--gutter);
  background-color: var(--light--background);
  flex-flow: column;
  display: flex;
}
.nav-section {
  grid-column-gap: 2rem;
  grid-row-gap: .25rem;
  flex-flow: wrap;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  display: flex;
}
.nav-menu {
  padding-right: var(--spacing--padding-container);
  padding-left: var(--spacing--padding-container);
  grid-column-gap: var(--spacing--gutter);
  grid-row-gap: var(--spacing--gutter);
  justify-content: center;
  align-items: center;
  display: flex;
}
.menu-wrapper { column-count: 2; column-gap: 1rem; width: 100%; display: block; }
.nav-link {
  border-radius: var(--radius--bg-corner--main);
  background-color: var(--swatches--primary-500);
  min-width: 12rem;
  font-family: var(--button--text);
  color: var(--button--text-color);
  font-size: var(--typography--secondary);
  letter-spacing: .08em;
  text-transform: uppercase;
  justify-content: center;
  align-items: center;
  margin-left: 0;
  margin-right: 0;
  padding: .5rem 3rem;
  font-weight: 900;
  line-height: 1.3em;
  display: flex;
}
.nav-link.w--current { background-color: var(--button--background-current); color: var(--button--text-current); font-weight: 900; }
.nav-link.w--current:lang(ja) { width: 100px; }
.navbar { background-color: var(--light--background); position: fixed; inset: 0% 0% auto; }
.section-link {
  border-bottom: 2px solid var(--swatches--transparent);
  color: var(--swatches--primary-700);
  font-family: Montserrat, sans-serif;
  font-size: var(--typography--secondary);
  letter-spacing: .04em;
  text-transform: uppercase;
  flex: none;
  padding-bottom: .125rem;
  font-weight: 900;
  text-decoration: none;
  transition: color .2s;
}
.section-link.w--current { border-bottom: 2px solid var(--swatches--primary-900); color: var(--swatches--primary-900); }
.link-wrapper { width: 100%; scroll-margin-top: 1rem; }
.category-text {
  color: var(--swatches--pirmary-200);
  font-size: var(--typography--text);
  line-height: var(--line-height--text);
  font-variation-settings: "wght" 420;
  margin-bottom: 1rem;
}
.speisen-text {
  color: var(--swatches--text-secondary);
  font-size: var(--typography--text);
  font-variation-settings: "wght" 420;
  word-break: normal;
  font-weight: 500;
  display: inline;
}
.speisen-text:lang(zh) { font-size: 1.125rem; font-weight: 400; }
.speisen-text:lang(ja) { font-size: 1.125rem; }
.body { font-size: var(--typography--text); }
.caption {
  padding-right: var(--spacing--padding-card);
  padding-left: var(--spacing--padding-card);
  color: var(--swatches--primary-700);
  font-variation-settings: "wght" 460;
  text-align: center;
  letter-spacing: .01em;
  font-size: 1.125rem;
  line-height: 1.1em;
}
.h3-drink {
  font-family: Crimson Pro, sans-serif;
  font-size: 1.375rem;
  line-height: var(--line-height--text);
  font-variation-settings: "wght" 550;
  letter-spacing: -.01em;
  text-transform: none;
  flex: 1;
}
.footer-link {
  color: var(--swatches--primary-900);
  font-family: Montserrat, sans-serif;
  font-size: var(--typography--secondary);
  letter-spacing: .04em;
  text-transform: uppercase;
  font-weight: 900;
  text-decoration: none;
}
.container-2-copy {
  max-width: 1200px;
  padding-right: var(--spacing--padding-container);
  padding-left: var(--spacing--padding-container);
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-flow: row;
  justify-content: center;
  align-items: flex-start;
  display: flex;
}
.section {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  padding-top: 2rem;
  display: flex;
}
.image { width: 100%; max-width: none; }
.locale-text { font-variation-settings: normal; font-weight: 700; display: inline; }
.locale-text:lang(zh) { font-size: 1.125rem; font-weight: 500; }
.locale-text:lang(ja) { font-size: 1.125rem; }
.locale-devider { padding-left: .375rem; padding-right: .375rem; display: inline; }
.locale-devider:lang(zh), .locale-devider:lang(ja) { font-size: 1.125rem; }
.locale-wrapper { display: inline; }
.locale-wrapper:lang(zh) { flex-flow: row; font-size: 1.125rem; line-height: 1em; display: block; }
.food-text-wrapper { flex-flow: wrap; }
.is-black { color: var(--swatches--text); }
.div-block { grid-column-gap: 2px; grid-row-gap: 2px; display: flex; }
.drink-li {
  font-variation-settings: "wght" 440;
  flex-flow: column;
  margin-bottom: .5rem;
  font-family: Crimson Pro, sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.4em;
  display: flex;
}
.drink-li:lang(zh) { grid-column-gap: 0rem; grid-row-gap: 0rem; }
.div-block-2 { grid-column-gap: .5rem; grid-row-gap: .5rem; display: flex; }
.body-2 { font-family: Crimson Pro, sans-serif; font-size: var(--typography--text); }
.drink-text {
  color: var(--swatches--text-secondary);
  font-size: var(--typography--text);
  line-height: var(--line-height--text);
  font-variation-settings: "wght" 420;
  padding-top: .25rem;
  font-weight: 500;
}
.drink-text:lang(zh) { padding-top: 0; font-size: 1.125rem; font-weight: 400; }
.brand { justify-content: center; align-items: center; margin-top: 1rem; margin-bottom: 1rem; display: flex; }
.div-block-6 { justify-content: space-between; align-items: center; display: flex; }
.dropdown-toggle { padding: 1.5rem; }
/* ABWEICHUNG (nur Markup): Umschalter ist jetzt ein <button> (Tastatur/Screenreader) – Browser-Standardstil zurücksetzen */
button.dropdown-toggle { background: none; border: 0; border-radius: 0; line-height: inherit; }
.code-embed-2 { width: 28px; height: 28px; color: var(--swatches--primary-700); transition: color .2s; display: block; }
.code-embed-2:hover { color: var(--swatches--primary-500); }
.dropdown-list { width: 500px; left: -130px; }
.dropdown-list.w--open {
  z-index: -1;
  border-radius: var(--radius--bg-corner--main);
  background-color: var(--swatches--primary-900);
  width: auto;
  padding: 1.5rem 2rem 1.5rem 1.5rem;
  display: flex;
  top: 0;
  right: 0;
}
.link { letter-spacing: .125rem; text-transform: uppercase; font-size: 1rem; text-decoration: none; }
.link.w--current { color: var(--swatches--white); text-underline-offset: .5rem; text-decoration: underline; }
.locales-list { grid-column-gap: 1rem; grid-row-gap: 1rem; flex-flow: column; display: flex; }
.locales-wrapper { display: block; }
.heading-2 { color: var(--swatches--pirmary-200); letter-spacing: .02em; padding-right: 1rem; font-size: 2rem; display: inline; }
.heading-2:lang(ja) { font-size: 1.5rem; }
.heading-2:lang(zh) { font-size: 1.75rem; }
.heading-3 { flex-shrink: 1; padding-right: .5rem; display: inline; }
.div-block-7 { grid-column-gap: 1rem; grid-row-gap: 1rem; justify-content: flex-start; align-items: flex-end; }
.heading-4 { color: var(--swatches--text-secondary); margin-bottom: 1.25rem; display: inline; }
.locale { font-family: Montserrat, sans-serif; }
.locale-text-drink { font-variation-settings: normal; font-weight: 700; display: inline; }
.locale-text-drink:lang(zh) { font-size: 1.125rem; font-weight: 400; line-height: 1.3em; }
.locale-text-drink:lang(ja) { font-weight: 400; }
.veg-tag {
  color: var(--swatches--pirmary-200);
  font-variation-settings: "wght" 600;
  letter-spacing: 1.5px;
  padding-left: .75rem;
  font-size: 1rem;
  display: inline;
}
.ref-button {
  border-radius: var(--radius--bg-corner--main);
  background-color: var(--swatches--primary-900);
  min-width: 12rem;
  max-width: 20rem;
  filter: drop-shadow(0px 0px 17px var(--swatches--primary-700));
  font-family: var(--button--text);
  color: var(--swatches--white);
  font-size: var(--typography--secondary);
  letter-spacing: .08em;
  text-transform: uppercase;
  justify-content: center;
  align-items: center;
  margin-left: 0;
  margin-right: 0;
  padding: .5rem 1.5rem;
  font-weight: 900;
  line-height: 1.3em;
  display: flex;
}
.ref-button:hover { background-color: var(--swatches--primary-500); color: var(--swatches--text); }
.ref-button-wrapper {
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 120px;
  display: flex;
  position: fixed;
  inset: auto 0% 0%;
}
.ref-button-wrapper[hidden] { display: none; } /* wird per Skript nur für Besucher von la-sepia.de eingeblendet */

/* Webflow-Embed "css-global" */
@media (max-width: 767px) {
  .nav-section { overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch; overflow: auto; scrollbar-width: none; -ms-overflow-style: none; }
  .nav-section::-webkit-scrollbar { display: none; }
}
@media screen and (max-width: 479px) {
  :root {
    --spacing--padding-container: var(--spacing-mobile--padding-container);
    --spacing--padding-card: var(--spacing-mobile--padding-card);
  }
}

@media screen and (max-width: 991px) {
  .container-2 { padding-top: 270px; }
  .nav-wrapper { padding-right: 1rem; }
  .nav-section { grid-column-gap: 1rem; grid-row-gap: .25rem; flex-flow: wrap; justify-content: center; align-items: center; }
  .section { flex-flow: column; justify-content: center; align-items: center; display: flex; position: relative; overflow: clip; }
  .image { width: 120%; }
}
@media screen and (max-width: 767px) {
  h3 { letter-spacing: .03em; font-size: 1.375rem; }
  .container-2 { padding-top: 235px; }
  .food-li { grid-column-gap: 0rem; grid-row-gap: 0rem; margin-bottom: 1.5rem; }
  .nav-wrapper { padding-left: 0; padding-right: 0; }
  .nav-section { padding-right: 1rem; padding-left: var(--spacing--padding-container); grid-column-gap: 1.5rem; flex-flow: row; justify-content: flex-start; align-items: center; overflow: auto scroll; }
  .menu-wrapper { column-count: 1; }
  .caption { line-height: 1.3em; }
  .footer-link { flex: 0 auto; }
  .footer-link.full { flex-grow: 1; flex-basis: 100%; justify-content: center; align-items: center; display: flex; }
  .container-2-copy { flex-flow: wrap; }
  .image { width: 130%; }
}
@media screen and (max-width: 479px) {
  p { line-height: 1.3em; }
  .container-2 { padding-top: 166px; }
  .menu-section { overflow-wrap: break-word; padding-top: 2rem; }
  .food-wrapper { grid-column-gap: .5rem; grid-row-gap: .5rem; display: flex; }
  .food-li { font-variation-settings: "wght" 400; margin-bottom: 1.25rem; }
  .menu-list-wrapper { grid-column-gap: .5rem; grid-row-gap: .5rem; }
  .nav-link { width: 100%; min-width: 0; }
  .nav-link:lang(ja) { flex: 1; padding-left: 0; padding-right: 0; }
  .nav-link.w--current { white-space: nowrap; }
  .nav-link.w--current:lang(ja) { width: 100%; }
  .navbar { font-family: Montserrat, sans-serif; }
  .caption { padding-right: var(--spacing-mobile--padding-card); padding-left: var(--spacing-mobile--padding-card); }
  .h3-drink { width: 100%; }
  .footer-link.last { margin-left: 1rem; }
  .container-2-copy { grid-column-gap: 1rem; grid-row-gap: .25rem; max-width: 347px; }
  .image { width: 200%; }
  .locale-text { color: var(--swatches--text-secondary); }
  .locale-devider { color: var(--swatches--text-secondary); }
  .food-text-wrapper { color: var(--swatches--white); }
  .is-black { color: var(--swatches--text); }
  .drink-li { font-variation-settings: "wght" 200; font-weight: 200; }
  .drink-text { color: var(--swatches--text); }
  .brand { justify-content: space-between; align-items: center; margin-top: 0; margin-bottom: 0; }
  .image-2 { width: 100px; }
  .div-block-6 { padding-left: .5rem; }
  .dropdown-toggle { padding: .25rem 1.5rem; }
  .code-embed-2 { width: 24px; height: 24px; color: var(--swatches--primary-700); }
  .dropdown-list.w--open { top: -1.5rem; }
  .heading-3 { padding-right: 0; }
  .locale-text-drink { color: var(--swatches--text-secondary); }
  .locale-text-drink:lang(zh) { font-variation-settings: "wght" 420; font-weight: 400; }
  .ref-button { width: 100%; min-width: 0; }
  .ref-button:lang(ja) { flex: 1; padding-left: 0; padding-right: 0; }
  .ref-button.w--current { white-space: nowrap; }
  .ref-button-wrapper { position: fixed; }
}

/* ---------------------------------------------------------------- ABWEICHUNG: Barrierefreiheit */
/* Sichtbarer Fokus nur bei Tastaturbedienung (für Maus/Touch unsichtbar, Optik bleibt unverändert) */
a:focus-visible, button:focus-visible {
  outline: 2px solid var(--swatches--primary-900);
  outline-offset: 3px;
}
.dropdown-list a:focus-visible { outline-color: var(--swatches--white); }
.w-dropdown-toggle:focus-visible { outline: 2px solid var(--swatches--primary-900); outline-offset: -6px; }
@media (prefers-reduced-motion: reduce) {
  .section-link, .code-embed-2 { transition: none; }
}

/* ---------------------------------------------------------------- Vorschau & Fehlerseite */
.preview-bar {
  position: fixed; z-index: 2000; left: 0; right: 0; bottom: 0;
  padding: .6rem 1rem; background: #b3471d; color: #fff;
  font: 700 15px/1.3 system-ui, -apple-system, "Segoe UI", sans-serif; text-align: center;
}
.not-found { max-width: 600px; margin: 0 auto; padding: 2rem 1rem; text-align: center; }
.not-found .brand { float: none; }
.not-found .menu-section { display: block; }
.not-found .heading-2 { display: block; padding: 0; margin: 0 0 1rem; }

/* =====================================================================================
   DESIGNANPASSUNGEN 14.10.2026 (Figma "desktop-page-wrapper" / "sprachschalter")
   Maße am 1470-px-Entwurf gemessen; Schrift wie bisher Montserrat ExtraBold (Ersatz Proxima Nova).
   ===================================================================================== */

/* --- Kopfbereich: links "Zurück zur Seite", Logo mittig, rechts Sprachauswahl --- */
.nav-wrapper { grid-row-gap: 0; row-gap: 0; }
.topbar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding-top: 32px; }
.topbar-left { justify-self: start; padding-left: 4px; }
.topbar-right { justify-self: end; }
.topbar .brand { margin: 0; float: none; display: block; padding: 0; }
.topbar .image-2 { width: 168px; height: auto; display: block; }
.back-link {
  font-family: Montserrat, sans-serif; font-weight: 900; font-size: 1rem; line-height: 1.3em;
  letter-spacing: .25em; text-transform: uppercase; color: var(--swatches--white); text-decoration: none;
}
/* Hover wie die übrigen Links: Farbe #004A3F, keine Unterstreichung (Wunsch 02.11.2026) */
.back-link { transition: color .2s; }
.back-link:hover, .back-link:focus-visible { color: var(--hover-farbe); }
.back-short { display: none; }

/* Sprachauswahl */
.lang-switch { margin: 0; }
.lang-toggle {
  display: flex; align-items: center; padding: 0; margin: 0; border: 0; background: none; cursor: pointer;
  color: var(--swatches--white); font-family: Montserrat, sans-serif; font-weight: 900; font-size: 1rem;
  line-height: 1.3em; letter-spacing: .15em; text-transform: uppercase; white-space: nowrap;
}
.lang-globe { display: block; width: 24.8px; height: 24.8px; color: var(--swatches--primary-700); transition: color .2s; }
.lang-globe svg { display: block; width: 100%; height: 100%; }
.lang-toggle { transition: color .2s; }
.lang-toggle:hover, .lang-switch.w--open .lang-toggle, .lang-toggle:hover .lang-globe, .lang-switch.w--open .lang-globe { color: var(--hover-farbe); }
.lang-current { margin-left: 16.5px; }
.lang-short { display: none; margin-left: 10px; }
.lang-caret { margin-left: 8.3px; flex: none; transition: transform .2s; }
.lang-toggle[aria-expanded="true"] .lang-caret { transform: rotate(180deg); }
.lang-list {
  top: calc(100% + 17px); left: -3px; width: 164px; min-width: 0; margin: 0; padding: 4px 0; list-style: none;
  background: #304144; border-radius: 2px; box-shadow: 0 6px 10px rgba(48, 65, 68, .5); z-index: 10;
}
.lang-list.w--open { display: block; }
.lang-list li { margin: 0; }
.lang-link {
  display: flex; align-items: center; height: 34px; padding-left: 12px; color: var(--swatches--white);
  font-family: Montserrat, sans-serif; font-weight: 800; font-size: 1rem; letter-spacing: .11em;
  text-transform: uppercase; text-decoration: none; white-space: nowrap;
}
.lang-link:hover span, .lang-link:focus-visible span { text-decoration: underline; text-underline-offset: .3em; }
.lang-flag { display: block; width: 16px; height: 12px; margin-right: 18px; flex: none; }
.lang-list a:focus-visible { outline: 2px solid var(--swatches--white); outline-offset: -2px; }

/* Reiter "Speisekarte"/"Getränke" */
.nav-menu { margin-top: 56px; grid-column-gap: .75rem; column-gap: .75rem; }
.nav-link {
  min-width: 182px; height: 42px; padding: 0 1rem; font-size: 1rem; letter-spacing: .25em; text-indent: .25em; line-height: 1;
}
/* Sprungleiste */
.nav-section { margin-top: 1.4rem; grid-column-gap: 1.4rem; column-gap: 1.4rem; }
.section-link { font-size: 1rem; letter-spacing: .15em; border-bottom-width: 4px; padding-bottom: .3rem; line-height: 1.3em; }
.section-link.w--current { border-bottom-width: 4px; }

/* Abstand Kopf -> Karten: per Skript aus der tatsächlichen Kopfhöhe (Umbrüche, Sprachen), sonst Richtwerte */
.container-2 { padding-top: calc(var(--header-h, 270px) + 8px); } /* Kopf inkl. 16 px Abstand unter der Sprungleiste */

/* --- Kennzeichnung vor dem Preis, Abstände je ca. 15 px --- */
.food-wrapper > .veg-tag { padding-left: .375rem; }
.food-wrapper > .price { margin-left: .375rem; }
.food-wrapper > .veg-tag + .price { margin-left: .75rem; }

/* --- Übersetzte Bezeichnung als h4, halbfett --- */
h4.locale-text { display: inline; margin: 0; font-family: inherit; font-size: inherit; line-height: inherit; font-weight: 600; font-variation-settings: normal; }

/* --- Kategorie-Überschriften auf dem Desktop größer (h2 44 px) --- */
@media screen and (min-width: 992px) {
  .heading-2 { font-size: 2.75rem; }
  .heading-2:lang(zh), .heading-2:lang(ja) { font-size: 2.25rem; }
  .heading-4 { font-size: 1.75rem; }
}

/* --- Mobil: Kopfbereich kompakt (kein Figma-Entwurf; eigene Umsetzung) --- */
@media screen and (max-width: 767px) {
  .topbar { padding: .75rem 1rem 0; column-gap: .5rem; }
  .topbar-left { padding-left: 0; }
  .topbar .image-2 { width: 100px; }
  .back-link { display: block; font-size: .75rem; letter-spacing: .15em; line-height: 1.35; }
  .back-long { display: none; }
  .back-short { display: inline; }
  .lang-current { display: none; }
  .lang-short { display: inline; font-size: .75rem; }
  .lang-globe { width: 20px; height: 20px; }
  .lang-caret { margin-left: 6px; }
  .lang-list { left: auto; right: 0; top: calc(100% + 12px); }
  .nav-menu { margin-top: 1rem; }
  .nav-section { margin-top: 1rem; }
}
@media screen and (max-width: 479px) {
  .topbar .brand { justify-content: center; }
  .nav-link { min-width: 0; height: 40px; letter-spacing: .15em; text-indent: .15em; }
  .food-wrapper > .veg-tag + .price { margin-left: .25rem; }
}
/* Feinabgleich mit dem Entwurf (gemessen bei 1470 px) */
@media screen and (min-width: 768px) {
  .topbar-right { margin-top: 6px; }
  .nav-section { grid-column-gap: 23.4px; column-gap: 23.4px; }
  .nav-link { padding: 0 13.5px; }
  .nav-section { margin-top: 30px; }
  .section-link { padding-bottom: 6.2px; }
}

/* --- Karten, Schrift und Abstände wie im Entwurf (Figma, gemessen bei 1470 px) --- */
.menu-section { box-shadow: 0 6px 10px rgba(48, 65, 68, .5); }
.heading-3 { color: var(--swatches--primary-900); letter-spacing: .02em; }
.heading-4 { color: var(--swatches--primary-900); letter-spacing: .015em; }
.speisen-text, .category-text, .caption { font-variation-settings: "wght" 400; }
.footer-link { color: var(--swatches--primary-700); }
@media screen and (min-width: 992px) {
  .food-li, .category-text { --typography--text: 1.5rem; }
  .food-li .food-text-wrapper { font-size: 1.5rem; line-height: 1.3em; letter-spacing: -.01em; }
  .category-text { letter-spacing: -.01em; }
  .container-2 { padding-left: 10px; padding-right: 10px; }
  .menu-wrapper { column-gap: 12px; }
  .menu-section { margin-bottom: 12px; }
  .heading-3 { font-size: 1.5rem; }
  .caption { font-size: 1.46875rem; line-height: 1.3em; letter-spacing: 0; }
  .container-2-copy { column-gap: 23px; grid-column-gap: 23px; }
  .footer-link { font-size: 1.075rem; letter-spacing: .18em; }
  .menu-section { padding-top: 50px; }
  .menu-section-wrapper { row-gap: 0; grid-row-gap: 0; }
  footer .image { margin-top: 9px; }
  .menu-list-wrapper { margin-top: 8px; }
  .category-text { margin-bottom: 46px; }
  /* ohne Einleitungstext: unter der Überschrift derselbe sichtbare Abstand wie unter einem Einleitungstext */
  .menu-list-wrapper.no-intro { margin-top: 50px; }
  .food-li { margin-bottom: 29px; }
  .food-wrapper > .veg-tag { font-size: 1.0625rem; letter-spacing: 1.2px; position: relative; top: -3px; }
  .food-wrapper > .price { position: relative; top: -6px; }
}
/* Fischmuster aus dem Entwurf (tools/import/figma-muster.php) */
footer.section { overflow: clip; }
/* Getränke: deutscher Name groß, Übersetzung als h4 (halbfett) + "–" + Beschreibung in einer Zeile */
h4.locale-text-drink, h4.locale-text-drink:lang(zh), h4.locale-text-drink:lang(ja) {
  display: inline; margin: 0; font-family: inherit; font-size: inherit; line-height: inherit; font-weight: 600; font-variation-settings: normal;
}
.drink-text.after-local { display: inline; padding-top: 0; font-size: inherit; line-height: inherit; }
/* Karten per Skript abwechselnd in die kürzere Spalte (site.js 0b); Zeilenraster 1 px */
.menu-wrapper.is-masonry { display: grid; grid-template-columns: 1fr 1fr; grid-auto-rows: 1px; row-gap: 0; column-count: auto; align-items: start; }
.menu-wrapper.is-masonry > .link-wrapper { min-width: 0; }
.menu-wrapper.is-masonry .menu-section { display: block; margin-bottom: 0; }
/* Abstand unter der Sprungleiste wie im Original (16 px Hintergrund beim Scrollen); Startlage bleibt gleich */
.nav-wrapper { padding-bottom: 16px; }

/* --- Wünsche 02.11.2026 ------------------------------------------------------------------------------ */
:root { --hover-farbe: #004a3f; }
/* Schrift wie im Figma-Layout glätten (macOS zeichnet sonst deutlich fetter als der Entwurf) */
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.speisen-text, .category-text, .caption { font-weight: 400; }

/* Hover-Farbe: Sprungleiste, Fußzeile */
.section-link:hover, .section-link.w--current:hover { color: var(--hover-farbe); }
.footer-link { transition: color .2s; }
.footer-link:hover, .footer-link:focus-visible { color: var(--hover-farbe); }

/* Reiter: Hover wie die Buttons auf la-sepia.de (dort #75979D -> #304144, weiße Schrift) */
.nav-link { transition: background-color .2s, color .2s; }
.nav-link:hover { background-color: #304144; color: var(--swatches--white); }
/* aktiver Reiter: Zwischenton (#75979D verschwand fast im Hintergrund) */
.nav-link.w--current:hover { background-color: var(--swatches--primary-700); color: var(--swatches--white); }

/* Sprachmenü öffnet beim Überfahren: unsichtbare Brücke über den Abstand zwischen Knopf und Liste */
.lang-list::before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: 18px; }

/* Oberer Teil des Kopfes gleitet beim Herunterscrollen weg, Reiter und Sprungleiste bleiben (site.js 0) */
.navbar { transition: transform .3s ease; }
.navbar.is-hidden { transform: translateY(calc(-1 * var(--header-hide, 0px))); }
@media (prefers-reduced-motion: reduce) {
  .navbar, .nav-link, .back-link, .footer-link, .lang-toggle { transition: none; }
}
/* Abstand letzte Karte -> Hinweissatz und Hinweissatz -> Fußzeilen-Links: je 94,4 px (Figma) */
.caption { margin-top: 85.8px; margin-bottom: 54.4px; }
/* Handy: halbiert, je 47,2 px */
@media screen and (max-width: 767px) { .caption { margin-top: 23.2px; margin-bottom: 3.2px; } }
@media screen and (min-width: 480px) and (max-width: 767px) { footer.section { padding-top: 20px; } }
