/* --- Basis & Reset ---
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  background: #fff;
  color: #1d1d1f;
  line-height: 1.6;
  scroll-behavior: smooth;
}

.container { max-width: 900px; margin: 0 auto; padding: 2rem 1rem; }

/* --- Header --- */
.site-header { background: #f5f5f7; border-bottom: 1px solid #d2d2d7; text-align: center; position: sticky; top: 0; z-index: 100; padding: 1rem 0; }
.logo { max-width: 120px; height: auto; display: block; margin: 0 auto 0.5rem auto; }

.main-nav ul { list-style: none; display: none; flex-direction: column; gap: 0.8rem; padding: 0; justify-content: center; }
.main-nav ul.nav-open { display: flex; }
.main-nav a { text-decoration: none; color: #1d1d1f; font-weight: 500; font-size: 1rem; transition: color 0.2s; }
.main-nav a:hover { color: #0071e3; }
.nav-toggle { display: flex; flex-direction: column; gap: 5px; border: none; background: none; cursor: pointer; margin: 0.5rem auto; }
.nav-toggle span { display: block; width: 25px; height: 3px; background-color: #1d1d1f; border-radius: 2px; }

@media(min-width: 768px) {
  .main-nav ul { display: flex; flex-direction: row; gap: 2rem; justify-content: center; }
  .nav-toggle { display: none; }
}

/* --- Karten --- */
.card { background: #fff; padding: 2rem; margin-bottom: 2rem; border-radius: 14px; box-shadow: 0 6px 20px rgba(0,0,0,0.05); transition: transform 0.2s, box-shadow 0.2s; }
.card:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(0,0,0,0.07); }

h2 { font-size: 2rem; margin-bottom: 1rem; font-weight: 600; }
p { font-size: 1rem; margin-bottom: 1rem; }

/* --- Formular --- */
form label { display: block; margin-bottom: 0.5rem; font-weight: 500; }
form input, form textarea {
  width: 100%; padding: 1rem; border-radius: 12px; border: 1px solid #d2d2d7; background: #f5f5f7; font-size: 1rem; margin-bottom: 1.5rem;
  transition: 0.2s;
}
form input:focus, form textarea:focus { border-color: #0071e3; box-shadow: 0 0 0 3px rgba(0,113,227,0.15); background: #fff; outline: none; }

/* --- Checkbox --- */
.checkbox {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.95rem;
  margin-bottom: 1.5rem;
}
.checkbox input {
  margin: 0;
  flex-shrink: 0;
}
.checkbox a {
  color: #0071e3;
  text-decoration: none;
}
.checkbox a:hover {
  text-decoration: underline;
}

.btn { display: inline-block; background: #0071e3; color: #fff; padding: 0.85rem 2rem; font-weight: 600; font-size: 1rem; border: none; border-radius: 12px; cursor: pointer; transition: background 0.2s, transform 0.2s; }
.btn:hover { background: #005bb5; transform: translateY(-1px); }

/* --- Footer --- */
.site-footer { text-align: center; padding: 2rem 1rem; font-size: 0.9rem; color: #6e6e73; border-top: 1px solid #d2d2d7; background: #f5f5f7; }
.site-footer a { color: #6e6e73; text-decoration: none; }
.site-footer a:hover { color: #0071e3; }
