html, body {
  height: 100%;
  margin: 0;
}

body {
  display: flex;
  flex-direction: column;
}

main {
  flex: 1; /* Füllt den Platz zwischen Header und Footer */
}

/* Guard: mobile menu only visible when .open */
#mobile-menu:not(.open){display:none !important}
/* Mobile-Dropdown wie auf der Startseite */
#mobile-menu { position: static; width: 100%; transform: none; box-shadow: none; }
#mobile-menu.open { display: block; }
.overlay { display: none !important; } /* Overlay nicht nötig beim Dropdown */

/* Variables */
:root{
  --blue:#0C3274;
  --primary:#0C3274;
  --primary-100:#e8f0fe;
  --primary-200:#dbe8fd;
  --primary-300:#c9dcfb;
  --card:#fff;
  --radius:16px;
  --shadow:0 10px 30px rgba(0,0,0,.08);
  --ring:#99c2ff;
  --text:#1b2a4b;
}

/* Base */
*{box-sizing:border-box}
html,body{margin:0; padding:0; font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; color:var(--text); background:#fafcff}
img{max-width:100%; height:auto}
a{color:var(--blue); text-decoration:none}
a:hover{text-decoration:underline}

/* Layout */
.container{max-width:1100px; margin:0 auto; padding:0 1rem}
section{padding:clamp(2rem, 2.5vw + 1rem, 3.5rem) 0}

/* Header / Navigation */
header{position:sticky; top:0; z-index:50; backdrop-filter:saturate(160%) blur(6px); background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.72)); border-bottom:1px solid rgba(12,50,116,.08)}
[data-theme="dark"] header{background:linear-gradient(180deg, rgba(14,23,42,.92), rgba(14,23,42,.72)); border-bottom-color:rgba(255,255,255,.08)}
.nav{display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.65rem 0}
.brand{display:flex; align-items:center; gap:.75rem}
.brand img{width:56px; height:auto}
.brand .title{font-family:"Secular One"; font-size:1.15rem; line-height:1; color:var(--blue)}
.menu{display:flex; gap:1rem; align-items:center}
.menu a{padding:.6rem .9rem; border-radius:999px; font-weight:600; color:var(--blue)}
.menu a:hover{background:var(--primary-100)}
.burger{display:none; border:none; background:transparent; padding:.5rem; border-radius:10px}
.burger:focus-visible{outline:3px solid var(--ring)}
@media (max-width: 860px){.menu{display:none}.burger{display:block}.mobile{display:none; position:fixed; inset:56px 0 auto 0; background:var(--card); border-bottom:1px solid rgba(12,50,116,.08); box-shadow:var(--shadow)}.mobile a{display:block; padding:1rem 1.25rem; border-bottom:1px dashed rgba(12,50,116,.08); color:var(--blue); font-weight:600}.mobile a:last-child{border-bottom:none}.mobile.open{display:block}}


/* Off-canvas mobile menu & overlay */

/* Page */
.page-title{font-family:"Secular One"; color:var(--blue); font-size:clamp(1.6rem, 1.2rem + 1.5vw, 2.2rem); margin:0 0 1rem}
.card{background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow); padding:clamp(1rem, 1.2rem + 1.2vw, 1.6rem)}
.legal h1,.legal h2,.legal h3,.legal h4{color:var(--blue); margin-top:1.2rem}
.legal ul{padding-left:1.2rem}
.legal p, .legal li{line-height:1.6}
footer{border-top:1px solid rgba(12,50,116,.08); padding:1rem 0; background:#fff}

