:root{--bg:#f6faf7;--card:#ffffff;--line:#dce7df;--tx:#15241a;--dim:#51665a;
--ac:#0f9d58;--ac2:#0b63c5;--r:18px;--maxw:1060px}
*{box-sizing:border-box;min-width:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--tx);
font:16px/1.65 'Lato', 'Trebuchet MS', system-ui, sans-serif;-webkit-font-smoothing:antialiased;
overflow-wrap:break-word;padding-bottom:70px}
.bahn{width:min(var(--maxw),calc(100% - 28px));margin-inline:auto}
img{max-width:100%;height:auto;display:block}
a{color:var(--ac2)}
a:hover{text-decoration:none}
h1{font-size:clamp(1.5rem,6vw,2.3rem);line-height:1.2;margin:.5em 0 .6em;letter-spacing:-.01em}
h2{font-size:clamp(1.2rem,4.4vw,1.55rem);line-height:1.3;margin:2em 0 .5em;
padding-top:.5em;border-top:1px solid var(--line)}
h3{font-size:1.05rem;margin:1.5em 0 .4em}
p{margin:0 0 1.05em}
ul,ol{margin:0 0 1.1em;padding-left:1.2em}
li{margin:.35em 0}
strong{font-weight:650}
/* ---- шапка: на телефоне ряд с прокруткой, кнопка не ломает строку ---- */
header{background:var(--card);border-bottom:1px solid var(--line);
position:sticky;top:0;z-index:40}
header nav{display:flex;align-items:center;gap:14px;padding:10px 0;
overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
header nav::-webkit-scrollbar{display:none}
/* без этого пункты в прокручиваемом flex сжимаются и налезают друг на друга */
header nav>*{flex:0 0 auto}
header nav a{color:var(--dim);text-decoration:none;font-size:.92rem;white-space:nowrap}
header nav a:hover{color:var(--tx)}
header nav a:first-child{font-weight:700;color:var(--tx);font-size:1rem}
header nav .cta{padding:8px 14px;font-size:.88rem}
@media(min-width:760px){header nav .cta{margin-left:auto}}
nav[aria-label="Brotkrumen"]{font-size:.84rem;color:var(--dim);padding:12px 0 0}
nav[aria-label="Brotkrumen"] a{color:var(--dim)}
.tipp{display:grid;grid-template-columns:1fr;gap:12px;
background:#ffffff;border:1px solid #dce7df;border-left:5px solid #0f9d58;
border-radius:var(--r);padding:14px;margin:0 0 22px}
.tipp img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:8px}
.tipp b{font-size:1.08rem;color:#15241a;display:block}
@media(min-width:720px){
.tipp{grid-template-columns:150px 1fr auto;align-items:center;gap:18px;padding:16px 18px}
.tipp img{width:150px}
}
.tipp{display:grid;grid-template-columns:1fr;gap:14px;
background:#ffffff;border:1px solid #dce7df;border-radius:var(--r);
padding:16px;margin:0 0 24px;box-shadow:0 6px 20px rgba(16,24,40,.06)}
.tipp img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:10px}
.tipp b{display:block;font-size:1.2rem;color:#15241a;margin-bottom:2px}
@media(min-width:720px){
.tipp{grid-template-columns:200px 1fr auto;align-items:center;gap:20px;padding:18px 20px}
.tipp img{width:200px}
}
.tipp{display:grid;grid-template-columns:1fr;gap:12px;
background:#ffffff;border:1px solid #dce7df;border-top:4px solid #0b63c5;
border-radius:var(--r);padding:14px;margin:0 0 24px}
.tipp img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:8px}
.tipp b{font-size:1.15rem;color:#15241a;display:block}
@media(min-width:720px){
.tipp{grid-template-columns:130px 1fr auto;align-items:center;gap:16px;padding:16px 18px}
.tipp img{width:130px}
}
.tipp{display:grid;grid-template-columns:1fr;gap:10px;
background:linear-gradient(180deg,#ffffff,#f6faf7);
border:1px solid #dce7df;border-radius:var(--r);padding:12px;margin:0 0 20px}
.tipp img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:6px}
.tipp b{font-size:1.05rem;color:#15241a;display:block}
@media(min-width:720px){
.tipp{grid-template-columns:110px 1fr auto;align-items:center;gap:14px;padding:12px 16px}
.tipp img{width:110px}
}
.tipp em{font-style:normal;background:var(--ac);color:#1a1205;
font-weight:700;font-size:.72rem;padding:3px 9px;border-radius:999px;
white-space:nowrap;justify-self:start}
.tipp s{display:block;text-decoration:none;color:var(--dim);
font-size:.86rem;margin-top:2px}
.tipp i{font-style:normal;color:var(--dim);font-size:.78rem;display:block}
.tipp p{margin:0}
.tipp p:last-of-type{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.cta{display:inline-block;background:var(--ac);color:#1a1205;font-weight:700;
text-decoration:none;padding:12px 22px;border-radius:calc(var(--r) - 4px);
white-space:nowrap;text-align:center;box-shadow:0 2px 8px rgba(16,24,40,.12)}
.cta:hover{filter:brightness(1.06)}
.alt{display:inline-block;color:var(--dim);font-size:.88rem}
.schnellantwort{background:var(--card);border:1px solid var(--line);
border-left:4px solid var(--ac2);border-radius:0 var(--r) var(--r) 0;
padding:14px 16px;margin:0 0 22px;font-size:1.02rem}
.schnellantwort em{font-style:italic}
.kapitel{background:var(--card);border:1px solid var(--line);
border-radius:var(--r);padding:14px 18px;margin:0 0 26px}
.kapitel strong{display:block;margin-bottom:8px;font-size:.95rem}
.kapitel ol{margin:0;padding-left:1.3em;font-size:.95rem}
.kapitel a{text-decoration:none}
.kapitel a:hover{text-decoration:underline}
.merker{background:var(--card);border:1px solid var(--line);
border-radius:var(--r);padding:16px 18px;margin:26px 0;
display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}
.merker p{margin:0;flex:1 1 240px}
.merker .cta{flex:0 0 auto;width:100%}
@media(min-width:560px){.merker .cta{width:auto}}
.bild{margin:26px 0}
.bild img{width:100%;border-radius:var(--r);border:1px solid var(--line)}
.bild figcaption{color:var(--dim);font-size:.86rem;margin-top:8px}
/* таблица: на телефоне прокручивается, а не рвёт макет */
.uebersichttabelle{width:100%;border-collapse:collapse;margin:22px 0;font-size:.94rem;
display:block;overflow-x:auto;white-space:nowrap}
.uebersichttabelle caption{text-align:left;color:var(--dim);font-size:.86rem;
padding-bottom:8px;white-space:normal}
.uebersichttabelle th,.uebersichttabelle td{border:1px solid var(--line);padding:9px 12px;text-align:left}
.uebersichttabelle th{background:var(--bg);font-weight:650}
.uebersichttabelle tbody tr:nth-child(even){background:var(--bg)}
@media(min-width:760px){.uebersichttabelle{display:table;white-space:normal}}
figure.chart{margin:26px 0;overflow-x:auto}
figure.chart svg{width:100%;min-width:460px;height:auto;display:block}
figure.chart figcaption{color:var(--dim);font-size:.86rem;margin-top:8px}
.fragenliste{margin:34px 0 0}
.fragenliste details{border:1px solid var(--line);border-radius:var(--r);
padding:12px 16px;margin:0 0 10px;background:var(--card)}
.fragenliste summary{cursor:pointer;font-weight:650;line-height:1.4}
.fragenliste details p{margin:10px 0 0;color:var(--dim)}
.nochmehr{margin:30px 0 0}
.nochmehr ul{list-style:none;padding:0;display:grid;gap:10px;
grid-template-columns:1fr}
.nochmehr li{margin:0}
.nochmehr a{display:block;background:var(--card);border:1px solid var(--line);
border-radius:var(--r);padding:12px 14px;text-decoration:none;
color:var(--tx);font-size:.94rem}
.nochmehr a:hover{border-color:var(--ac2)}
@media(min-width:560px){.nochmehr ul{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}
.themen{margin:24px 0;display:flex;flex-wrap:wrap;gap:8px}
.themen a{background:var(--card);border:1px solid var(--line);
border-radius:999px;padding:7px 14px;font-size:.84rem;
text-decoration:none;color:var(--dim)}
.themen a:hover{color:var(--tx);border-color:var(--ac)}
/* нижняя плашка: body получил padding-bottom, чтобы она ничего не закрывала */
.fussleiste{position:fixed;left:0;right:0;bottom:0;z-index:50;
background:var(--card);border-top:1px solid var(--line);
box-shadow:0 -2px 12px rgba(16,24,40,.08);
padding:8px 14px;display:flex;gap:12px;align-items:center;justify-content:center}
.fussleiste span{color:var(--dim);font-size:.88rem}
.fussleiste .cta{padding:10px 18px;font-size:.9rem}
@media(max-width:600px){.fussleiste span{display:none}
.fussleiste .cta{width:100%;max-width:340px}}
.fenster{position:fixed;z-index:60;left:14px;right:14px;bottom:76px;
background:var(--card);border:1px solid var(--line);border-radius:var(--r);
padding:14px 16px;box-shadow:0 14px 40px rgba(16,24,40,.18);font-size:.92rem}
.fenster[hidden]{display:none}
.fenster button{position:absolute;top:6px;right:8px;background:none;border:0;
color:var(--dim);font-size:1.3rem;cursor:pointer;line-height:1;padding:4px 8px}
.fenster p{margin:0 0 10px}
.fenster p:last-child{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0}
@media(min-width:560px){.fenster{left:auto;right:18px;max-width:330px}}
footer{border-top:1px solid var(--line);margin-top:48px;padding:22px 0 24px;
color:var(--dim);font-size:.88rem;background:var(--card)}
footer nav{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:10px}
footer a{color:var(--dim)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}