/* Gemeinsame Gestaltung der Themenseiten (/hallenplan, /arbeitsstunden, /futtertafel,
   /pensionsstall). Farben und Schriften wie auf der Startseite, damit niemand merkt, dass er
   die Seite gewechselt hat. */
:root{
  --paper:#F4F1E9;--surface:#FBF9F3;--surface-2:#F7F4EC;--ink:#23211C;--muted:#57534A;--faint:#8A8677;
  --line:#E4DFD2;--line-soft:#EDE9DD;--brand:#33503F;--brand-deep:#263D30;--brand-soft:#E4EBE3;--on-brand:#F7F5EE;--brass:#A2854F;
  --radius:20px;--shadow:0 1px 2px rgba(35,33,28,.04),0 12px 34px -20px rgba(35,33,28,.32);
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
@media (prefers-color-scheme: dark){:root{
  --paper:#181713;--surface:#232220;--surface-2:#1E1D1A;--ink:#EAE5D9;--muted:#B7B1A3;--faint:#8A8475;
  --line:#332F29;--line-soft:#2A2723;--brand:#7FA98A;--brand-deep:#1F3027;--brand-soft:#233029;--on-brand:#12201A;--brass:#C7A876;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 14px 36px -20px rgba(0,0,0,.7);
}}
*{box-sizing:border-box}
body{margin:0;-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--brand);text-decoration:none} a:hover{text-decoration:underline}
h1,h2,h3{font-family:var(--serif);font-weight:600;text-wrap:balance;letter-spacing:-.02em;margin:0}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}

/* Kopf */
header{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--paper) 84%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line-soft)}
.bar{max-width:1120px;margin:0 auto;padding:12px 22px;display:flex;align-items:center;gap:6px}
.logo{width:36px;height:36px;border-radius:10px;background:var(--brand);display:grid;place-items:center;color:var(--on-brand);flex:none}
.logo svg{width:64%;height:64%;display:block;fill:currentColor}
.brandname{font-family:var(--serif);font-size:20px;font-weight:600;margin-left:6px;color:var(--ink)}
.grow{flex:1}
.navlink{font-size:15px;font-weight:600;color:var(--muted);padding:10px;display:inline-flex;align-items:center;min-height:44px}
.navlink:hover{color:var(--ink);text-decoration:none}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;gap:8px;font-weight:600;font-size:15px;border-radius:12px;padding:11px 20px;border:1px solid transparent;cursor:pointer}
.btn:hover{text-decoration:none}
.btn-primary{background:var(--brand);color:var(--on-brand)} .btn-primary:hover{filter:brightness(1.08)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)} .btn-ghost:hover{background:var(--surface)}
.bar .btn{min-height:42px;padding:9px 16px;margin-left:6px}
@media (max-width:760px){.nur-breit{display:none}}

/* Einstieg */
.pfad{font-size:14px;color:var(--faint);padding-top:36px}
.pfad a{color:var(--faint)}
.einstieg{padding:18px 0 10px;max-width:780px}
.kicker{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brass);margin-bottom:12px}
h1{font-size:clamp(32px,4.6vw,50px);line-height:1.08}
.lead{font-size:clamp(17px,1.9vw,19.5px);color:var(--muted);margin:18px 0 26px;text-wrap:pretty}
.cta-row{display:flex;gap:12px;flex-wrap:wrap}
.hint{margin-top:14px;font-size:14px;color:var(--faint)}

/* Bild */
figure.bild{margin:44px 0 0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:var(--surface)}
figure.bild img{display:block;width:100%;height:auto}
figure.bild figcaption{font-size:14px;color:var(--faint);padding:12px 18px;border-top:1px solid var(--line-soft)}

/* Text */
.raster{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;margin-top:64px;align-items:start}
@media (max-width:920px){.raster{grid-template-columns:1fr;gap:36px}}
article h2{font-size:clamp(25px,3vw,32px);line-height:1.15;margin:52px 0 14px}
article h2:first-child{margin-top:0}
article h3{font-size:20px;margin:28px 0 8px}
article p,article li{font-size:17px;color:var(--ink)}
article p{margin:0 0 16px}
article ul,article ol{margin:0 0 18px;padding-left:22px}
article li{margin-bottom:8px}
article li::marker{color:var(--brass)}
.kasten{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px 22px;margin:22px 0}
.kasten h3{margin-top:0}
.kasten p:last-child,.kasten ul:last-child{margin-bottom:0}
.kasten.gruen{background:var(--brand-soft);border-color:color-mix(in srgb,var(--brand) 25%,var(--line))}
table.vergleich{width:100%;border-collapse:collapse;margin:8px 0 22px;font-size:15.5px}
table.vergleich th,table.vergleich td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}
table.vergleich th{font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--faint);font-weight:700}
table.vergleich td:first-child{font-weight:600}
@media (max-width:560px){table.vergleich{font-size:14.5px}table.vergleich th,table.vergleich td{padding:9px 6px}}

/* Seitenleiste */
aside .karte{position:sticky;top:90px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}
aside h3{font-size:19px;margin-bottom:8px}
aside p{font-size:15px;color:var(--muted);margin:0 0 16px}
aside .btn{width:100%}
aside ul{list-style:none;margin:16px 0 0;padding:16px 0 0;border-top:1px solid var(--line-soft);display:grid;gap:8px;font-size:15px}
aside li{color:var(--muted)}
aside li b{color:var(--ink)}

/* Download */
.download{display:flex;gap:18px;align-items:center;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px 20px;margin:22px 0}
.download .datei{width:46px;height:46px;border-radius:12px;background:#1D6F42;color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px;flex:none}
.download div:not(.datei){flex:1;min-width:200px}
.download b{display:block}
.download span{font-size:14px;color:var(--muted)}

/* Fragen */
.fragen{margin-top:72px;max-width:780px}
.fragen h2{font-size:clamp(25px,3vw,32px);margin-bottom:18px}
details.frage{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:10px}
details.frage summary{cursor:pointer;padding:16px 20px;font-weight:600;list-style:none;display:flex;gap:12px;align-items:flex-start}
details.frage summary::-webkit-details-marker{display:none}
details.frage summary .zeichen{color:var(--brand);flex:none;transition:transform .15s}
details.frage[open] summary .zeichen{transform:rotate(90deg)}
details.frage .antwort{padding:0 20px 18px 44px;color:var(--muted);font-size:15.5px;margin:0}

/* Abschluss */
.band{margin-top:72px;border-radius:28px;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-deep) 100%);color:var(--on-brand);padding:44px;text-align:center}
.band h2{font-size:clamp(26px,3.2vw,36px);color:var(--on-brand)}
.band p{margin:12px auto 24px;max-width:560px;color:color-mix(in srgb,var(--on-brand) 82%,transparent)}
.band .btn-primary{background:var(--on-brand);color:var(--brand-deep)}
.band .btn-ghost{color:var(--on-brand);border-color:color-mix(in srgb,var(--on-brand) 40%,transparent)}
.band .btn-ghost:hover{background:color-mix(in srgb,var(--on-brand) 10%,transparent)}
.band .cta-row{justify-content:center}
@media (prefers-color-scheme: dark){.band{background:linear-gradient(135deg,#22342A 0%,#18241D 100%);color:var(--ink)}.band h2{color:var(--ink)}.band p{color:var(--muted)}
  .band .btn-primary{background:var(--brand);color:var(--on-brand)}.band .btn-ghost{color:var(--ink);border-color:var(--line)}}
@media (max-width:620px){.band{padding:34px 22px}.cta-row .btn{flex:1 1 100%}}

.themen{margin-top:64px}
.themen h2{font-size:22px;margin-bottom:14px}
.themen-liste{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.themen-liste a{display:block;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px 20px;color:var(--ink)}
.themen-liste a:hover{text-decoration:none;border-color:color-mix(in srgb,var(--brand) 35%,var(--line))}
.themen-liste b{display:block;font-family:var(--serif);font-size:18px;margin-bottom:4px}
.themen-liste span{font-size:14.5px;color:var(--muted)}
@media (max-width:820px){.themen-liste{grid-template-columns:1fr}}

/* Fuß */
footer{margin-top:96px;border-top:1px solid var(--line);background:var(--surface-2)}
.fuss{max-width:1120px;margin:0 auto;padding:44px 22px 30px;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:28px}
.fuss h4{margin:0 0 12px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
.fuss ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.fuss a{color:var(--muted);font-size:15px} .fuss a:hover{color:var(--ink)}
.fuss .klein{font-size:14px;color:var(--muted);max-width:300px;margin:12px 0 0}
.unterzeile{max-width:1120px;margin:0 auto;padding:18px 22px 36px;border-top:1px solid var(--line-soft);font-size:13.5px;color:var(--faint);display:flex;gap:8px 20px;flex-wrap:wrap}
.unterzeile a{color:var(--faint)}
@media (max-width:760px){.fuss{grid-template-columns:1fr 1fr}.fuss .erste{grid-column:1/-1}}

/* Einwilligungsleiste aus analytics.js */
.rf-consent{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -8px 30px -18px rgba(35,33,28,.4)}
.rf-consent-inner{max-width:1000px;margin:0 auto;padding:16px 22px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.rf-consent-txt{flex:1;min-width:250px}
.rf-consent strong{display:block;font-size:15.5px;color:var(--ink);margin-bottom:3px}
.rf-consent p{margin:0;font-size:14px;line-height:1.5;color:var(--muted)}
.rf-consent-btn{display:flex;gap:10px;flex:none}
.rf-consent button{font-family:inherit;font-size:14.5px;font-weight:600;border-radius:10px;padding:11px 18px;cursor:pointer;border:1px solid transparent;min-height:44px}
.rf-consent .rf-nein{background:transparent;color:var(--muted);border-color:var(--line)}
.rf-consent .rf-ja{background:var(--brand);color:var(--on-brand)}
@media (max-width:560px){.rf-consent-inner{padding:15px 18px;gap:13px}.rf-consent-btn{width:100%}.rf-consent-btn button{flex:1}}
