:root{--grund:#f5f4f0;--karte:#fff;--ink:#1c1d1b;--ink2:#5d605a;--linie:#e3e1da;--marke:#2F5D46;--r:14px;color-scheme:light dark}
@media (prefers-color-scheme:dark){:root{--grund:#141513;--karte:#1f211e;--ink:#ecebe6;--ink2:#a4a69f;--linie:#33362f}}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--grund);color:var(--ink);font:16px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif;padding-bottom:calc(76px + env(safe-area-inset-bottom))}
a{color:var(--marke)}
@media (prefers-color-scheme:dark){a{color:color-mix(in srgb,var(--marke) 45%,#fff)}}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:calc(14px + env(safe-area-inset-top)) 16px 14px;background:var(--marke);color:#fff}
.hotel{font-weight:650;font-size:1.15rem;letter-spacing:-.01em}
.ort{opacity:.8;font-size:.85rem}
.lang{color:#fff;border:1px solid rgba(255,255,255,.5);border-radius:99px;padding:4px 12px;text-decoration:none;font-size:.85rem}
main{max-width:680px;margin:0 auto;padding:8px 16px 24px}
h2{font-size:1.2rem;margin:26px 0 10px;letter-spacing:-.01em}
h3{font-size:1rem;margin:18px 0 8px}
h3.tag{color:var(--ink2);font-weight:600;text-transform:uppercase;font-size:.8rem;letter-spacing:.06em}
p{margin:.4em 0}
.gruss{font-size:1.05rem;margin-top:18px}
.meta,.leer{color:var(--ink2);font-size:.88rem}
.card{background:var(--karte);border:1px solid var(--linie);border-radius:var(--r);padding:14px 16px;margin:10px 0}
.card.mini{padding:10px 14px;font-size:.92rem}
.aushang{border-left:4px solid var(--marke)}
.termin{display:flex;gap:14px}
.termin .zeit{font-weight:650;min-width:3.2em;font-variant-numeric:tabular-nums}
.termin .body{flex:1;min-width:0}
.termin h3{margin:0 0 4px}
.anm{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px}
.anm .ok{color:var(--marke);font-weight:600}
.row{display:flex;gap:8px;align-items:center}
details.info summary{cursor:pointer;font-weight:600;list-style:none;display:flex;gap:10px;align-items:center}
details.info summary::-webkit-details-marker{display:none}
details.info summary::after{content:"›";margin-left:auto;color:var(--ink2);transition:transform .15s}
details.info[open] summary::after{transform:rotate(90deg)}
.ico{width:1.6em;text-align:center}
.txt{margin-top:10px;padding-left:calc(1.6em + 10px)}
.stack{display:flex;flex-direction:column;gap:12px}
label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.92rem}
input,select,textarea,button{font:inherit;font-size:16px}
input,select,textarea{border:1px solid var(--linie);border-radius:10px;padding:10px 12px;background:var(--grund);color:var(--ink);width:100%}
.row select{width:auto}
input.code{text-transform:uppercase;letter-spacing:.2em;font-size:1.3rem;text-align:center}
input[type=search]{margin-bottom:6px}
button,.btn{background:var(--marke);color:#fff;border:0;border-radius:10px;padding:10px 18px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block;text-align:center}
.btn.gross{display:block;margin:26px 0 0;padding:14px}
button.link{background:none;color:var(--ink2);padding:6px 0;text-decoration:underline;font-weight:400}
.flash{max-width:680px;margin:12px auto 0;padding:12px 16px;background:var(--karte);border:1px solid var(--marke);border-radius:var(--r);width:calc(100% - 32px)}
.antwort{margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--grund);border-left:3px solid var(--marke)}
.st{font-weight:600}.st-erledigt{color:var(--marke)}
.kontakt div{margin-top:4px}
.tabs{position:fixed;left:0;right:0;bottom:0;display:flex;background:var(--karte);border-top:1px solid var(--linie);padding-bottom:env(safe-area-inset-bottom)}
.tabs a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px;font-size:.72rem;color:var(--ink2);text-decoration:none}
.tabs a span{font-size:1.25rem;filter:grayscale(1);opacity:.7}
.tabs a.aktiv{color:var(--ink);font-weight:650}
.tabs a.aktiv span{filter:none;opacity:1}
.fuss{text-align:center;color:var(--ink2);font-size:.75rem;padding:8px 16px 20px}
