/* Schriften liegen bei uns, nicht bei Google: sonst ginge die IP-Adresse
   jeder Besucherin an Google (LG Muenchen, 20.1.2022, 3 O 17493/20).
   Bodoni Moda und Jost stehen unter der SIL Open Font License. */
@font-face { font-family: 'Bodoni Moda'; font-style: italic; font-weight: 400; font-display: swap; src: url(schrift/bodoni-moda-0.woff2) format('woff2'); unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; }
@font-face { font-family: 'Bodoni Moda'; font-style: italic; font-weight: 400; font-display: swap; src: url(schrift/bodoni-moda-1.woff2) format('woff2'); unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF; }
@font-face { font-family: 'Bodoni Moda'; font-style: italic; font-weight: 400; font-display: swap; src: url(schrift/bodoni-moda-2.woff2) format('woff2'); 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: 'Bodoni Moda'; font-style: italic; font-weight: 400; font-display: swap; src: url(schrift/bodoni-moda-3.woff2) format('woff2'); 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: 'Bodoni Moda'; font-style: normal; font-weight: 400; font-display: swap; src: url(schrift/bodoni-moda-4.woff2) format('woff2'); unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; }
@font-face { font-family: 'Bodoni Moda'; font-style: normal; font-weight: 400; font-display: swap; src: url(schrift/bodoni-moda-5.woff2) format('woff2'); unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF; }
@font-face { font-family: 'Bodoni Moda'; font-style: normal; font-weight: 400; font-display: swap; src: url(schrift/bodoni-moda-6.woff2) format('woff2'); 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: 'Bodoni Moda'; font-style: normal; font-weight: 400; font-display: swap; src: url(schrift/bodoni-moda-7.woff2) format('woff2'); 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: 'Jost'; font-style: normal; font-weight: 400; font-display: swap; src: url(schrift/jost-8.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Jost'; font-style: normal; font-weight: 400; font-display: swap; src: url(schrift/jost-9.woff2) format('woff2'); 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: 'Jost'; font-style: normal; font-weight: 400; font-display: swap; src: url(schrift/jost-10.woff2) format('woff2'); 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: 'Jost'; font-style: normal; font-weight: 500; font-display: swap; src: url(schrift/jost-11.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Jost'; font-style: normal; font-weight: 500; font-display: swap; src: url(schrift/jost-12.woff2) format('woff2'); 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: 'Jost'; font-style: normal; font-weight: 500; font-display: swap; src: url(schrift/jost-13.woff2) format('woff2'); 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: 'Jost'; font-style: normal; font-weight: 600; font-display: swap; src: url(schrift/jost-14.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Jost'; font-style: normal; font-weight: 600; font-display: swap; src: url(schrift/jost-15.woff2) format('woff2'); 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: 'Jost'; font-style: normal; font-weight: 600; font-display: swap; src: url(schrift/jost-16.woff2) format('woff2'); 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; }
/* Gestaltungslinie Café Sa'SIS - Creme, Salbei, Logo-Rosé. */
:root{
  --creme:#FBF8F5; --salbei:#748C87; --rose:#B97A86; --logo-rose:#DCA6AF;
  --rose-hell:#FAF0F2; --text:#51605C; --leise:#5C6B67; --dunkel:#3F4E49;
  --linie:#D3DCD9; --knopf:#5E7570; --fuss:#EEF2F0;
  --rand:clamp(20px,5vw,80px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--creme);color:var(--text);
  font-family:Jost,"Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.65;
  -webkit-text-size-adjust:100%}
img{max-width:100%;display:block}
a{color:var(--knopf);text-decoration:none}
h1,h2,h3{font-family:"Bodoni Moda",Didot,Georgia,serif;font-weight:400;color:var(--salbei);
  margin:0;line-height:1.08;font-optical-sizing:none;font-variation-settings:"opsz" 9}
h1{font-size:clamp(38px,6vw,78px)}
h2{font-size:clamp(28px,3.6vw,44px)}
h3{font-size:clamp(19px,2vw,24px);line-height:1.2}
p{margin:0}
.abschnitt{padding:clamp(56px,8vw,128px) var(--rand)}
.abschnitt.rose{background:var(--rose-hell)}
.abschnitt.weiss{background:#fff}
.mitte{max-width:1280px;margin:0 auto}
.kicker{font-family:"Bodoni Moda",Didot,Georgia,serif;font-style:italic;font-size:20px;color:var(--rose)}
.knopf{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 26px;
  border-radius:999px;border:1px solid var(--knopf);background:var(--knopf);color:#fff;font-weight:500;
  font-size:14px;letter-spacing:.03em;white-space:nowrap}
.knopf.rand{background:transparent;color:var(--knopf)}
.link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:500;font-size:14px;
  text-decoration:underline;text-underline-offset:6px}
.streifen{height:6px;background:repeating-linear-gradient(90deg,#E7A3AC 0 26px,#F4D9DC 26px 52px,#6F8784 52px 78px,#F4D9DC 78px 104px)}

/* Kopfzeile */
header{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px var(--rand);background:var(--creme);position:sticky;top:0;z-index:20}
header .logo img{height:clamp(38px,5vw,56px);width:auto}
nav.haupt{display:flex;gap:clamp(8px,1.05vw,18px);flex-wrap:wrap;justify-content:flex-end;
  row-gap:6px;flex:1}
nav.haupt a{font-weight:500;font-size:clamp(11.5px,0.95vw,13.5px);letter-spacing:.035em;
  text-transform:uppercase;color:var(--salbei);white-space:nowrap}
nav.haupt a:hover{color:var(--dunkel)}
.mobilmenu{display:none}
@media(max-width:860px){
  nav.haupt{display:none}
  .mobilmenu{display:block}
  .mobilmenu summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;
    color:var(--knopf);font-weight:500;font-size:13px;letter-spacing:.18em;text-transform:uppercase}
  .mobilmenu summary::-webkit-details-marker{display:none}
  .mobilmenu[open] .klapp{display:flex}
  .klapp{display:none;position:absolute;right:var(--rand);left:var(--rand);background:#fff;
    border:1px solid var(--linie);padding:12px 18px;flex-direction:column;gap:2px;z-index:30}
  .klapp a{min-height:44px;display:flex;align-items:center;color:var(--dunkel);font-size:16px}
}

/* Kopfbereich */
.held{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0;background:var(--creme)}
.held .text{padding:clamp(32px,6vw,80px) var(--rand);display:flex;flex-direction:column;gap:22px;max-width:640px;margin-left:auto}
.held img{height:clamp(320px,52vw,760px);width:100%;object-fit:cover;object-position:30% 40%}
.held .knoepfe{display:flex;flex-wrap:wrap;gap:12px}
@media(max-width:860px){.held{grid-template-columns:1fr}.held .text{order:2;margin:0}.held img{order:1;height:clamp(260px,62vw,440px)}}

/* Raster */
.raster{display:grid;gap:clamp(18px,2.5vw,32px)}
/* minmax(0,1fr): sonst wird eine Spalte so breit wie ihr laengster Inhalt
   (ein Knopf, ein langes Wort) und schiebt die Karte am Handy aus dem Bild. */
.v4{grid-template-columns:repeat(4,minmax(0,1fr))}
.v3{grid-template-columns:repeat(3,minmax(0,1fr))}
.v2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1000px){.v4,.v3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.v4,.v3{grid-template-columns:repeat(2,minmax(0,1fr))}.v2{grid-template-columns:1fr}}
.karte .knopf{width:100%;padding:0 14px;font-size:14px;margin-top:10px}

.saeule{display:flex;flex-direction:column;gap:8px;padding-top:20px;border-top:1px solid var(--linie)}
.saeule .nr{font-weight:500;font-size:12px;letter-spacing:.2em;color:var(--rose)}
.saeule .titel{font-family:"Bodoni Moda",Didot,Georgia,serif;font-size:22px;color:var(--dunkel);line-height:1.15}
.saeule p{font-size:15px;line-height:1.6}

.galerie{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,2vw,24px);align-items:start}
.galerie img{width:100%;aspect-ratio:4/5;object-fit:cover}
.galerie div:nth-child(2){margin-top:clamp(20px,4vw,60px)}
.galerie div:nth-child(4){margin-top:clamp(12px,3vw,40px)}
@media(max-width:620px){.galerie{grid-template-columns:repeat(2,1fr)}.galerie div:nth-child(n+3){display:none}}

.kachel{display:flex;flex-direction:column;gap:12px;color:inherit}
.kachel img{width:100%;aspect-ratio:4/5;object-fit:cover}
.kachel .unter{font-size:14px;color:var(--leise);line-height:1.45}

.karte{background:#fff;display:flex;flex-direction:column}
.karte img{width:100%;aspect-ratio:4/5;object-fit:cover}
.karte .inhalt{padding:16px 18px 20px;display:flex;flex-direction:column;gap:8px}
/* Der Name darf umbrechen - abgeschnittene Namen las niemand gern
   (Eliza, 23.9.2026: "Texte nicht ausgeschrieben"). Der Preis bleibt am Stueck. */
.karte .zeile{display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  font-weight:500;font-size:16px;color:var(--dunkel)}
.karte .zeile span:first-child{overflow-wrap:anywhere;hyphens:auto}
.karte .zeile span:last-child{white-space:nowrap}
.karte .text{font-size:14px;color:var(--leise);line-height:1.5}
.karte .groessen{display:flex;flex-direction:column;gap:2px;margin-top:2px;padding-top:6px;border-top:1px solid var(--linie)}
.groesse .grund{display:block;font-size:12px;color:var(--leise);margin-top:1px}
.karte .groesse{display:flex;justify-content:space-between;gap:10px;font-size:14px;color:var(--leise)}
.karte .ohnebild{aspect-ratio:4/5;background:var(--rose-hell);display:flex;align-items:center;justify-content:center}
.karte .ohnebild span{font-family:"Bodoni Moda",Didot,Georgia,serif;font-style:italic;font-size:17px;color:var(--rose)}
.karte .bildkasten{position:relative}
.karte .saison{position:absolute;left:10px;top:10px;padding:3px 10px;border-radius:999px;background:#fff;
  font-size:12px;letter-spacing:.06em;color:var(--rose)}

/* Sprungleiste: ein Auswahlmenue statt einer langen Knopfreihe. */
.sprung{position:sticky;top:76px;z-index:15;background:var(--creme);border-top:1px solid var(--linie);
  border-bottom:1px solid var(--linie);padding:10px var(--rand)}
.sprung .mitte{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.sprung label{display:flex;align-items:center;gap:10px}
.sprung .wahl span{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--leise)}
.sprung select,.sprung .suche input{min-height:42px;padding:0 14px;border:1px solid var(--linie);
  border-radius:999px;background:#fff;font-family:inherit;font-size:15px;color:var(--salbei);
  letter-spacing:.01em}
.sprung .suche input::placeholder{color:var(--leise);opacity:.8}
.sprung select{min-width:clamp(200px,26vw,320px);appearance:none;-webkit-appearance:none;
  padding-right:38px;cursor:pointer;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23748C87' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;
  background-position:right 15px center;background-size:12px 8px}
.sprung select:focus-visible,.sprung .suche input:focus-visible{outline:2px solid var(--salbei);
  outline-offset:1px}
.sprung select option{color:var(--salbei);background:#fff;font-family:inherit}
.sprung select option:checked{color:var(--dunkel)}
.sprung .suche{flex:1;justify-content:flex-end}
.sprung .suche input{width:clamp(160px,22vw,280px)}
@media(max-width:860px){.sprung{top:70px}.sprung .mitte{flex-direction:column;align-items:stretch}
  .sprung label{flex-direction:column;align-items:stretch;gap:4px}
  .sprung select,.sprung .suche input{width:100%}}

.zwei{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,112px);align-items:center}
@media(max-width:860px){.zwei{grid-template-columns:1fr}}
.zwei img{width:100%;aspect-ratio:4/5;object-fit:cover}
.zwei img.wortmarke{width:min(200px,60%);aspect-ratio:auto;object-fit:contain;height:auto}

.zitatband{display:grid;grid-template-columns:1fr 1fr}
.zitatband img{width:100%;height:100%;min-height:320px;object-fit:cover;object-position:50% 60%}
.zitatband .text{background:var(--rose-hell);padding:clamp(40px,7vw,96px) var(--rand);display:flex;flex-direction:column;gap:18px;justify-content:center}
.zitatband .gross{font-family:"Bodoni Moda",Didot,Georgia,serif;font-style:italic;font-size:clamp(30px,4.6vw,72px);color:var(--salbei);line-height:1.08}
@media(max-width:860px){.zitatband{grid-template-columns:1fr}}

.band{position:relative}
.band img{width:100%;height:clamp(300px,45vw,600px);object-fit:cover;object-position:50% 60%}
.band .auf{position:absolute;left:var(--rand);right:var(--rand);bottom:clamp(24px,4vw,64px);color:#fff;display:flex;flex-direction:column;gap:10px}
.band .auf h2{color:#fff}
.band::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(38,48,45,0) 45%,rgba(38,48,45,.55) 100%)}
.band .auf{z-index:2}

.ort{display:flex;flex-direction:column;gap:6px;padding-top:18px;border-top:1px solid var(--linie);font-size:15px}
.ort .zeit{font-weight:500;color:var(--dunkel)}

footer{background:var(--fuss);padding:clamp(48px,6vw,64px) var(--rand) 40px}
footer .spalten{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px}
footer h4{margin:0 0 8px;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--dunkel);font-weight:500}
footer a{display:flex;align-items:center;min-height:32px;font-size:15px;color:var(--text)}
footer .recht{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:40px;
  padding-top:24px;border-top:1px solid var(--linie);font-size:13px}
footer .recht span{display:flex;flex-wrap:wrap;gap:18px}
@media(max-width:860px){footer .spalten{grid-template-columns:1fr 1fr}}
@media(max-width:520px){footer .spalten{grid-template-columns:1fr}}

.speise{display:grid;grid-template-columns:repeat(2,1fr);gap:0 clamp(24px,4vw,64px)}
@media(max-width:760px){.speise{grid-template-columns:1fr}}
.gericht{display:flex;flex-direction:column;gap:6px;padding:18px 0;border-bottom:1px solid var(--linie)}
.gericht .kopf{display:flex;align-items:baseline;gap:12px}
.gericht .kopf .name{font-family:"Bodoni Moda",Didot,Georgia,serif;font-size:21px;color:var(--salbei)}
.gericht .kopf .punkte{flex:1;border-bottom:1px dotted #C9D3D0;transform:translateY(-5px)}
.gericht .kopf .preis{font-weight:500;color:var(--dunkel);white-space:nowrap}
.gericht .was{font-size:15px;color:var(--leise)}
.tag{align-self:flex-start;padding:2px 10px;border-radius:999px;background:var(--rose-hell);color:var(--rose);font-size:12px;letter-spacing:.06em}

/* Tortenrechner und Formulare */
.rechner{display:grid;grid-template-columns:1fr 1fr 360px;gap:clamp(20px,3vw,40px);align-items:start}
@media(max-width:1100px){.rechner{grid-template-columns:1fr 1fr}.rechner .ergebnis{grid-column:1/-1}}
@media(max-width:760px){.rechner{grid-template-columns:1fr}}
.rechner .spalte,.firma{display:flex;flex-direction:column;gap:14px}
.feld,.wahl{display:flex;flex-direction:column;gap:6px}
.feld span,.feldname{font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text)}
.feld em{font-style:normal;text-transform:none;letter-spacing:0;color:var(--leise)}
.feld input,.feld select,.feld textarea,.firma input,.firma select,.firma textarea{
  min-height:48px;padding:10px 14px;border:1px solid var(--linie);background:#fff;border-radius:10px;
  font-family:inherit;font-size:16px;color:var(--dunkel)}
.feld textarea,.firma textarea{min-height:96px;resize:vertical}
.feld small{font-size:13px;color:var(--leise)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip input{position:absolute;opacity:0;pointer-events:none}
.chip span{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border:1px solid var(--linie);
  border-radius:999px;background:#fff;font-size:15px;cursor:pointer}
.chip input:checked+span{background:var(--knopf);border-color:var(--knopf);color:#fff}
.chip input:focus-visible+span{outline:2px solid var(--knopf);outline-offset:2px}
/* Deko-Stufen: untereinander, mit Beispielen - Knoepfe reichen dafuer nicht. */
.stufen{display:flex;flex-direction:column;gap:8px}
.stufe{display:block;padding:12px 14px;border:1px solid var(--linie);border-radius:12px;background:#fff;
  cursor:pointer}
.stufe input{position:absolute;opacity:0;pointer-events:none}
.stufe .kopf{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:16px}
.stufe .kopf em{font-style:normal;font-size:14px;color:var(--leise);white-space:nowrap}
.stufe .bsp{display:block;margin-top:4px;font-size:14px;line-height:1.45;color:var(--leise)}
.stufe:has(input:checked){border-color:var(--knopf);box-shadow:inset 0 0 0 1px var(--knopf);background:#fff}
.stufe:has(input:checked) .kopf em{color:var(--knopf)}
.stufe:has(input:focus-visible){outline:2px solid var(--knopf);outline-offset:2px}
.etagen{display:flex;flex-wrap:wrap;gap:8px}
.etage{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#fff;
  border:1px solid var(--linie);font-size:15px}
.etage button{border:none;background:none;font-size:18px;line-height:1;color:var(--rose);cursor:pointer}
button.klein{min-height:38px;padding:0 14px;border-radius:999px;border:1px dashed var(--knopf);background:transparent;
  color:var(--knopf);font-family:inherit;font-size:14px;cursor:pointer}
.ergebnis{background:#fff;padding:clamp(18px,2.5vw,26px);display:flex;flex-direction:column;gap:10px;
  position:sticky;top:96px}
.posten{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--linie);font-size:15px}
.summe{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-top:10px}
.summe small{font-size:13px;color:var(--leise)}
.summe span:last-child{font-family:"Bodoni Moda",Didot,Georgia,serif;font-size:34px;color:var(--salbei)}
.hinweis{font-size:14px;color:var(--leise)}
.hinweis.fehler{color:#A8451F}
[hidden]{display:none!important}
.hochladen input{position:absolute;opacity:0;pointer-events:none}
.hochladen span{display:inline-flex;align-items:center;min-height:46px;padding:0 18px;border-radius:999px;
  border:1px dashed var(--knopf);color:var(--knopf);font-size:15px;cursor:pointer;background:#fff}
.hochladen input:focus-visible+span{outline:2px solid var(--knopf);outline-offset:2px}
.fotos{display:flex;flex-wrap:wrap;gap:8px}
.fotos:empty{display:none}
.foto{position:relative;width:76px;height:76px;border-radius:10px;overflow:hidden;background:#fff}
.foto img{width:100%;height:100%;object-fit:cover;display:block}
.foto button{position:absolute;top:2px;right:2px;width:22px;height:22px;border:none;border-radius:50%;
  background:rgba(255,255,255,.9);color:var(--rose);font-size:15px;line-height:1;cursor:pointer}
.karte.vorbild{cursor:pointer}
.karte.vorbild .link{display:inline-block;margin-top:8px;font-size:14px}
.karte.vorbild:hover .link{color:var(--dunkel)}
.karte.vorbild:focus-visible{outline:2px solid var(--knopf);outline-offset:2px}
.danke{background:#fff;padding:clamp(20px,3vw,32px);display:flex;flex-direction:column;gap:10px;max-width:640px}

/* Warenkorb */
.karte .dazu{flex:none;width:30px;height:30px;border:none;border-radius:50%;background:var(--knopf);
  color:#fff;font-size:18px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;
  justify-content:center;padding:0}
.karte .dazu.drin{background:var(--rose)}
.karte .dazu:focus-visible{outline:2px solid var(--dunkel);outline-offset:2px}
.karte .zeile,.karte .groesse{align-items:center}
.karte .zeile .preis{margin-left:auto;padding-right:8px;white-space:nowrap}
.karte .zeile>span:first-child{overflow-wrap:break-word;word-break:normal;hyphens:none;min-width:0}
@media(max-width:620px){
  .karte .zeile{flex-wrap:wrap;row-gap:6px}
  .karte .zeile>span:first-child{flex:1 1 100%}
  .karte .zeile .preis{margin-left:0;padding-right:0}
  .karte .zeile .dazu{margin-left:auto}
  .karte .groesse{flex-wrap:wrap;row-gap:4px}
}
#korbleiste{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--dunkel);
  padding:12px 0 calc(12px + env(safe-area-inset-bottom, 0px))}
#korbleiste .mitte{display:flex;align-items:center;justify-content:space-between;gap:16px}
#korbleiste .zahl{color:#fff;font-size:16px}
#korbleiste .knopf{background:#fff;color:var(--dunkel);min-height:42px}
body:has(#korbleiste:not([hidden])) footer{padding-bottom:80px}

/* Kasse */
.kzeile{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:12px 0;
  border-bottom:1px solid var(--linie)}
.kzeile .klein{display:block;font-size:13px;color:var(--leise)}
.kmenge{display:flex;align-items:center;gap:8px}
.kmenge button{width:30px;height:30px;border:1px solid var(--linie);border-radius:50%;background:#fff;
  font-size:16px;line-height:1;cursor:pointer;color:var(--dunkel)}
.kmenge span{min-width:22px;text-align:center}
.kpreis{white-space:nowrap}
.firmenkasten{border:1px solid var(--linie);border-radius:12px;background:#fff;padding:12px 14px}
.firmenkasten summary{cursor:pointer;font-size:15px}

/* Speisekarte */
.kartensprung{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.kartensprung a{padding:7px 14px;border:1px solid var(--linie);border-radius:999px;background:#fff;
  font-size:14px;color:var(--text);text-decoration:none}
.kartensprung a:hover{border-color:var(--knopf);color:var(--knopf)}
.rubrik{padding-top:clamp(28px,4vw,44px)}
.rubrik h2{margin:0}
.rubrik .unter{margin:6px 0 0;font-size:15px;color:var(--leise)}
.gerichte{display:flex;flex-direction:column;margin-top:14px}
.gericht{display:flex;gap:16px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--linie)}
.gericht .was{flex:1}
.gericht .name{font-size:16px;color:var(--dunkel)}
.gericht .allergene{margin-left:6px;font-size:11px;color:var(--leise);vertical-align:super}
.gericht .beschreibung{display:block;font-size:14px;color:var(--leise);line-height:1.5;margin-top:2px}
.gericht .preis{white-space:nowrap;font-size:16px}
.allergenliste{list-style:none;padding:0;margin:14px 0 0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:6px 24px}
.allergenliste li{font-size:14px;color:var(--leise);line-height:1.5}
.allergenliste b{color:var(--dunkel);margin-right:6px}

.hinweis.ok{color:#4B7A5A}
.chip.gesperrt span,.stufe.gesperrt{opacity:.4;cursor:not-allowed}
.stufe.gesperrt .kopf em::after{content:" – nicht bei Sahne"}
