/* Gestaltung angelehnt an die bisherige Mobirise-Seite (Jost, Blau #6592e6, grauer Kopfbereich, dunkler Fuß).
   Die Schrift Jost liegt im Ordner static/fonts (SIL Open Font License), es wird nichts von Google geladen. */
@font-face{font-family:"Jost";font-style:normal;font-weight:100 900;font-display:swap;
  src:url(fonts/jost-latin-wght-normal.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:100 900;font-display:swap;
  src:url(fonts/jost-latin-ext-wght-normal.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}

:root{
  --fg:#232323; --text:#000; --muted:#6b6b6b; --line:#e2e2e2;
  --primary:#6592e6; --primary-dark:#2260d2;
  --band:#ecebeb; --foot:#232323; --white:#fff;
  --font:"Jost",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--fg);font:400 1.2rem/1.5 var(--font);
  display:flex;flex-direction:column;min-height:100vh}
main{flex:1}
a{color:var(--primary);text-decoration:none}
a:hover,a:focus-visible{color:var(--primary-dark);text-decoration:underline}
:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.wrap{max-width:1140px;margin:0 auto;padding:0 16px}
.narrow{max-width:960px}

/* Navigation */
.nav{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:78px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:14px;color:var(--fg);font-weight:700;font-size:1.2rem}
.brand:hover{color:var(--fg);text-decoration:none}
.brand img{height:3.8rem;width:auto}
.nav nav{display:flex;gap:24px;flex-wrap:wrap}
.nav nav a{color:var(--fg);font-size:1.05rem;font-weight:500;padding:6px 0;border-bottom:2px solid transparent}
.nav nav a:hover{color:var(--primary);text-decoration:none}
.nav nav a[aria-current=page]{color:var(--primary);border-bottom-color:var(--primary)}

/* Kopfbereich (grau) */
.intro{background:var(--band);padding:2rem 0 1.5rem;text-align:center}
.intro h1{font-size:3rem;line-height:1.1;font-weight:700;margin:0 0 1.5rem}
.intro .sub{font-weight:600;margin:0 auto 1rem;max-width:52rem}
.intro .meta{font-size:1rem;color:var(--muted);margin:0}

/* Inhalt */
.plain{padding:1.5rem 0 3rem}
.back{font-size:1rem;margin:1rem 0 1.5rem}
.h-detail{font-size:2.2rem;line-height:1.15;font-weight:700;margin:0 0 2rem}

/* Detailseite: Liste mit blauen Punkten wie bisher */
.facts{margin:0}
.facts>div{position:relative;padding-left:1.5rem;margin-bottom:1rem}
.facts>div::before{content:"";position:absolute;left:.25rem;top:.75em;width:.3rem;height:.3rem;border-radius:50%;background:var(--primary)}
.facts dt{font-weight:700}
.facts dd{margin:0;overflow-wrap:anywhere}
.facts dd p{margin:0 0 .25rem}
.upd{font-weight:400;color:var(--fg)}
ul.svc{list-style:none;margin:0;padding:0}
ul.svc li{margin:0}
.cat{font-weight:600;margin:.5rem 0 0 !important}
.note{color:var(--muted)}
.status-line{font-size:1rem;color:var(--muted);margin-top:2rem}

/* Filter und Tabellen */
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 1rem}
.filters input,.filters select{font:inherit;font-size:1rem;padding:8px 12px;border:1px solid #c9c9c9;border-radius:6px;background:var(--white);color:var(--fg)}
.filters input{flex:1 1 16rem;min-width:0}
.count{font-size:1rem;color:var(--muted)}
.tbl-wrap{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:1.1rem}
.tbl th{text-align:left;font-weight:700;padding:10px 12px;border-bottom:2px solid var(--fg);white-space:nowrap}
.sortable th{cursor:pointer;user-select:none}
.sortable th::after{content:" ↕";color:#b5b5b5;font-weight:400}
.sortable th[aria-sort=ascending]::after{content:" ↑";color:var(--primary)}
.sortable th[aria-sort=descending]::after{content:" ↓";color:var(--primary)}
.tbl td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--text)}
.tbl tbody tr:hover{background:#f6f8fd}
.tbl td a{font-weight:700}
.nowrap{white-space:nowrap}
.st{display:inline-block;font-size:.9rem;line-height:1;padding:5px 10px;border-radius:999px;white-space:nowrap}
.st-added{background:#e3ecfb;color:#1f4fa8}
.st-updated{background:#f0efef;color:#3d3d3d}

/* Fuß (dunkel) */
.foot{background:var(--foot);color:var(--white);padding:2rem 0;text-align:center}
.foot p{margin:.25rem 0}
.foot-links{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 28px;margin-bottom:.75rem !important}
.foot a{color:var(--primary)}

@media (max-width:767px){
  body{font-size:1.1rem}
  .intro h1{font-size:2.1rem}
  .h-detail{font-size:1.8rem}
  .brand img{height:3rem}
  .nav-in{min-height:64px;padding-top:6px;padding-bottom:6px}
  .tbl{font-size:.9rem}
  .tbl th,.tbl td{padding:8px 4px}
  .sortable th::after{content:""}
  .st{font-size:.8rem;padding:4px 7px}
  #tbl th:nth-child(3),#tbl td:nth-child(3){display:none}   /* Prüfer auf dem Handy ausblenden */
  .tbl th:first-child,.tbl td:first-child{padding-left:0}
}

/* Textseiten (Ordner pages): Startseite, Impressum, Datenschutz, Logo */
.prose h1{font-size:2.2rem;line-height:1.15;font-weight:700;margin:1rem 0 1.5rem}
.prose h2{font-size:1.4rem;font-weight:700;margin:2rem 0 .5rem}
.prose p{margin:0 0 1rem}
.prose ul{margin:0 0 1rem;padding-left:1.5rem}
.prose li::marker{color:var(--primary)}
.prose{overflow-wrap:anywhere}
.start{padding:3.5rem 0 4rem;text-align:center}
.start h1{font-size:4rem;line-height:1.1;margin:0 0 2.5rem}
@media (max-width:767px){.start h1{font-size:2.6rem}.start{padding:2rem 0 3rem}}
