:root{--blau:#1F4B73;--gold:#E3B228;--gruen:#2E6B4A;--grund:#F6EFDA;--karte:#FBF6E6;--rand:#E6DCC0;--text:#1A2733;--grau:#52606C}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--grund);color:var(--text);font-family:-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:17px;line-height:1.6;padding-bottom:84px}
a{color:var(--blau)}
a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.wrap{max-width:720px;margin:0 auto}
.kopf{background:var(--blau);color:#fff}
.kopf .wrap{display:flex;align-items:center;gap:14px;padding:10px 20px}
.wappen{background:var(--karte);border-radius:12px;padding:6px;display:flex}
.wappen img{height:46px;width:auto;display:block}
.marke{color:#fff;font-weight:800;font-size:22px;text-decoration:none;line-height:1.1}
.marke span{color:var(--gold)}
.hero{position:relative;background:var(--blau);color:#fff;min-height:260px;display:flex;align-items:flex-end}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:rgba(10,30,50,.42)}
.hero .wrap{position:relative;z-index:1;padding:20px 20px 64px;width:100%}
.hero h1{margin:0;font-size:36px;line-height:1.1;color:#fff}
.hero p{margin:8px 0 0;font-size:18px}
main{padding:20px}
main.mit-hero{padding-top:14px}
h1{font-size:30px;line-height:1.2;margin:8px 0 16px;color:var(--blau)}
h2{font-size:20px;margin:28px 0 8px;color:var(--blau)}
h3{font-size:18px;margin:0 0 4px}
p{margin:0 0 14px}
.karte{background:var(--karte);border-radius:22px;padding:20px;box-shadow:0 8px 24px rgba(60,45,10,.14)}
.mit-hero .karte{margin-top:-44px;position:relative;z-index:2}
.marker{display:inline-block;background:#F3DD9A;color:#4D3A05;font-size:13px;font-weight:600;border-radius:999px;padding:4px 12px}
.karte .gross{font-size:20px;font-weight:800;line-height:1.25;margin:10px 0 14px}
.btn{display:flex;align-items:center;justify-content:center;min-height:52px;padding:0 20px;background:var(--blau);color:#fff;font-weight:700;font-size:17px;border-radius:16px;text-decoration:none}
.kacheln{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
.kachel{display:flex;flex-direction:column;gap:12px;min-height:96px;padding:16px;border-radius:20px;text-decoration:none;font-weight:800;font-size:17px;line-height:1.25}
.kachel.breit{grid-column:1 / 3;flex-direction:row;align-items:center;gap:14px;font-size:18px}
.k-gold{background:var(--gold);color:var(--text)}
.k-blau{background:var(--blau);color:#fff}
.k-gruen{background:var(--gruen);color:#fff}
.zurueck{display:inline-flex;align-items:center;min-height:44px;font-weight:700;text-decoration:none;margin-bottom:4px}
.termin{display:flex;gap:14px;align-items:flex-start;background:var(--karte);border:1px solid #d8cfae;border-radius:12px;padding:12px;margin:0 0 12px}.termin img{width:110px;height:auto;border-radius:8px;flex:none;display:block}.termin h3{margin:0 0 4px}.termin p{margin:0 0 6px}.termin .lupe{font-weight:600}
.ortkarte{display:block;background:var(--karte);border:1px solid var(--blau);border-radius:12px;padding:16px;margin:0 0 12px;text-decoration:none;color:inherit}.ortkarte strong{display:block;font-size:1.25rem;color:var(--blau)}.ortkarte span{display:block;margin-top:4px}
.ortzeile{display:flex;gap:6px;margin:0 0 10px}.ortzeile a{flex:1;text-align:center;padding:8px 2px;border-radius:999px;background:var(--karte);border:1px solid var(--blau);font-weight:600;font-size:.76rem;text-decoration:none;color:var(--blau);white-space:nowrap}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px}
.chips a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;background:var(--karte);border:1px solid var(--blau);font-weight:600;text-decoration:none}
.galerie{position:relative;background:var(--blau);color:#fff;overflow:hidden}
.slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.slides::-webkit-scrollbar{display:none}
.slides img:nth-child(3){object-position:center 4%}
.slides img{flex:0 0 100%;width:100%;aspect-ratio:16/9;max-height:300px;object-fit:cover;object-position:center 40%;scroll-snap-align:center;display:block}
.galerie::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,30,50,.62),rgba(10,30,50,.05) 60%);pointer-events:none}
.galerie .titel{position:absolute;left:0;right:0;bottom:0;z-index:2;pointer-events:none}
.galerie .titel .wrap{padding:0 20px 14px}
.galerie h1{margin:0;font-size:28px;line-height:1.1;color:#fff}
.galerie p{margin:2px 0 0;font-size:16px}
.punkte{position:absolute;right:14px;top:12px;z-index:3;display:flex;gap:6px;align-items:center}
.punkte span{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.5)}
.punkte span.an{background:#fff}
.pause{position:absolute;left:12px;top:8px;z-index:3;width:44px;height:44px;border:0;border-radius:50%;background:rgba(10,30,50,.45);color:#fff;font-size:15px;cursor:pointer}
.pause:focus-visible{outline:3px solid var(--gold)}
.kacheln .kachel{flex-direction:column;align-items:flex-start;gap:6px;min-height:78px;padding:10px 14px;font-size:16px}
.kacheln .kachel svg{width:30px;height:30px}
.kacheln{margin-top:0;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:760px){.slides img{aspect-ratio:2.2/1;max-height:340px}.galerie h1{font-size:38px}}
@media (min-width:1100px){.galerie{max-width:1100px;margin:0 auto;border-radius:0 0 16px 16px}.slides img{aspect-ratio:2.6/1;max-height:420px}}
.k-fb{background:var(--karte);color:var(--blau);border:2px solid var(--blau);font-weight:700}
.kachel svg{flex:none}
.eintrag{background:var(--karte);border:1px solid var(--rand);border-radius:16px;padding:16px;margin:0 0 12px}
.leer{background:var(--karte);border:1px dashed #CDBE92;border-radius:16px;padding:18px;color:var(--grau)}
.klein{font-size:15px;color:var(--grau)}
nav.unten{position:fixed;left:0;right:0;bottom:0;background:var(--karte);border-top:1px solid var(--rand);z-index:10}
nav.unten ul{list-style:none;margin:0 auto;padding:0 0 env(safe-area-inset-bottom);max-width:720px;display:grid;grid-template-columns:repeat(5,1fr)}
nav.unten a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:68px;font-size:12px;font-weight:600;color:var(--grau);text-decoration:none}
nav.unten a[aria-current="page"]{color:var(--blau);font-weight:800}
nav.unten svg{stroke:currentColor}
footer.fuss{max-width:720px;margin:0 auto;padding:8px 20px 24px;font-size:15px;color:var(--grau)}
footer.fuss a{margin-right:16px;color:var(--blau);font-weight:600}
@media (min-width:760px){.hero{min-height:320px}.hero h1{font-size:44px}main{padding:28px 20px}}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
