
/* Grundschule Blexen – Minimal Styles */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; line-height: 1.65; color:#1d2430; }
a { color:#1b5e9a; text-decoration:none; }
a:hover { text-decoration:underline; }
.container { max-width: 1100px; margin: 0 auto; padding: 0 16px; }
.header { border-bottom: 1px solid #e8eef5; background:#ffffff; position: sticky; top:0; z-index: 10; }
.top-bar { background:#0c3c6a; color:#fff; font-size: 0.95rem; }
.top-bar .container { display:flex; justify-content:space-between; align-items:center; padding:8px 16px; }
.top-bar a { color:#cfe7ff; }
.navbar { display:flex; align-items:center; justify-content:space-between; padding:12px 0; }
.navbar-brand { font-weight:700; font-size:1.2rem; color:#0c3c6a; }
.nav { list-style:none; margin:0; padding:0; display:flex; gap:16px; }
.nav a { padding:8px 10px; border-radius:6px; }
.nav a.active, .nav a:focus, .nav a:hover { background:#eef5ff; }
.hero { background: linear-gradient(180deg, #f3f7ff 0%, #fff 100%); padding: 56px 0; }
.hero h1 { margin-top:0; }
.section { padding: 48px 0; }
.section.alt { background:#fafbfd; }
.row { display:flex; flex-wrap:wrap; gap: 24px; }
.col { flex:1 1 260px; }
.col-2 { flex: 1 1 48%; }
.col-3 { flex: 1 1 30%; min-width: 280px; }
.card { background:#fff; border:1px solid #e8eef5; border-radius:12px; padding:20px; }
.footer { background:#0c3c6a; color:#e8f2ff; padding: 32px 0; }
.footer a { color:#ffffff; }
.footer .cols { display:flex; flex-wrap:wrap; gap:24px; }
.footer .col { flex: 1 1 260px; }
.copyrights { background:#072945; color:#cfe0ff; padding:12px 0; font-size:0.9rem; }
.cta { display:inline-block; padding:10px 14px; border-radius:8px; border:1px solid #1b5e9a; }
.list { margin:0; padding-left: 18px; }
h1 { font-size: 2rem; line-height:1.2; margin: 0 0 16px 0; }
h2 { font-size: 1.25rem; line-height:1.35; margin: 0 0 12px 0; color:#1b3552; }
img.responsive { max-width:100%; height:auto; border-radius: 10px; border: 1px solid #e8eef5; }
.notice { background:#fff7e6; border:1px solid #ffe2a8; padding:14px; border-radius:10px; }
.kicker { text-transform: uppercase; letter-spacing:.04em; color:#4d6d8f; font-weight:600; margin-bottom:6px; }
.table { width:100%; border-collapse: collapse; margin: 8px 0 16px; }
.table th, .table td { border: 1px solid #e1e7ef; padding: 10px; text-align:left; }
.table th { background: #f2f6fb; }
.hr { height:1px; background:#e8eef5; border:0; margin:24px 0; }
small.muted { color:#567; }
@media (max-width: 720px) {
  .nav { flex-wrap: wrap; gap:8px; }
  .top-bar .container { flex-direction: column; gap: 6px; align-items:flex-start;}
}
