/* ============================================================
   basis.css - gemeinsame Grundlage ALLER Seiten
   ------------------------------------------------------------
   Hier stehen Schriften, Farben, Grundlayout, Schellenleiste,
   Karten, Typografie und Footer - also alles, was auf jeder
   Seite gleich aussehen soll.

   Wird von jeder Seite eingebunden:
     <link rel="stylesheet" href="/basis.css">

   Seitenspezifisches CSS (z.B. das Confetti der Startseite oder
   der Team-Hero) bleibt weiterhin im <style>-Block der jeweiligen
   Seite. Farben oder Schriften bitte NUR hier ändern, damit die
   Änderung automatisch überall greift.
   ============================================================ */

/* --- Schriften (liegen lokal auf dem eigenen Server) --- */
@font-face{
  font-family: 'Baloo 2';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/baloo2-500.woff2') format('woff2');
}
@font-face{
  font-family: 'Baloo 2';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/baloo2-700.woff2') format('woff2');
}
@font-face{
  font-family: 'Baloo 2';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('/fonts/baloo2-800.woff2') format('woff2');
}
@font-face{
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/nunito-400.woff2') format('woff2');
}
@font-face{
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/nunito-600.woff2') format('woff2');
}
@font-face{
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/nunito-700.woff2') format('woff2');
}
@font-face{
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('/fonts/nunito-800.woff2') format('woff2');
}

/* --- Vereinsfarben --- */
:root{
  --green: #1E7F3C;
  --green-dark: #0C3D1D;
  --green-mid: #2FA854;
  --yellow: #FFC72C;
  --yellow-soft: #FFE38A;
  --cream: #FFFBF2;
  --white: #FFFFFF;
  --ink: #17331F;
}

*{ box-sizing: border-box; }

html{
  scroll-behavior: smooth;
  /* Reserviert immer den Platz für den Scrollbalken, damit der Inhalt
     beim Wechsel zwischen kurzen und langen Seiten nicht springt. */
  scrollbar-gutter: stable;
}

body{
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at 15% 12%, rgba(255,199,44,0.16), transparent 42%),
    radial-gradient(circle at 85% 20%, rgba(30,127,60,0.10), transparent 45%),
    radial-gradient(circle at 50% 90%, rgba(30,127,60,0.10), transparent 50%),
    var(--cream);
  font-family: 'Nunito', sans-serif;
  color: var(--ink);
  position: relative;
}

/* --- Schellen-Zierleiste (Signature-Element, siehe bellstrip.php) --- */
.bell-strip{
  position: relative;
  width: 100%;
  height: 34px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 22px;
  z-index: 2;
  padding-top: 6px;
}
.bell-strip.top{ margin-bottom: -4px; }
.bell-strip.bottom{ margin-top: 8px; transform: scaleY(-1); }
.bell{
  width: 14px;
  height: 14px;
  border-radius: 50%;
  transform-origin: top center;
  animation: sway 2.6s ease-in-out infinite;
  box-shadow: inset -2px -2px 3px rgba(0,0,0,0.18), 0 2px 2px rgba(0,0,0,0.12);
}
.bell:nth-child(odd){ background: var(--green); animation-delay: 0.15s; }
.bell:nth-child(even){ background: var(--yellow); animation-delay: 0.5s; }
@keyframes sway{
  0%, 100%{ transform: rotate(-8deg); }
  50%{ transform: rotate(8deg); }
}

/* --- Grundlayout --- */
main{
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 0 auto;
  padding: 30px 24px 60px;
}

/* --- Typografie --- */
h1{
  font-family: 'Baloo 2', sans-serif;
  font-weight: 800;
  font-size: clamp(30px, 6vw, 42px);
  color: var(--green-dark);
  margin: 26px 0 6px;
  line-height: 1.15;
}

h2{
  font-family: 'Baloo 2', sans-serif;
  font-weight: 700;
  font-size: 22px;
  color: var(--green);
  margin: 40px 0 10px;
}

h3{
  font-family: 'Nunito', sans-serif;
  font-weight: 800;
  font-size: 16px;
  color: var(--green-dark);
  margin: 22px 0 6px;
}

p{
  font-size: 16px;
  line-height: 1.65;
  color: var(--ink);
  margin: 0 0 14px;
}

a{ color: var(--green); }

address{
  font-style: normal;
  line-height: 1.7;
}

hr{
  border: none;
  border-top: 1px dashed rgba(30,127,60,0.3);
  margin: 30px 0;
}

/* --- Zurück-/Querverweis-Links über der Überschrift --- */
.back-link{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'Nunito', sans-serif;
  font-weight: 800;
  font-size: 14px;
  color: var(--green);
  text-decoration: none;
  margin-top: 18px;
  margin-right: 18px;
}
.back-link:hover{ text-decoration: underline; }

/* --- Karten --- */
.card{
  background: rgba(255,255,255,0.65);
  border: 1px solid rgba(30,127,60,0.15);
  border-radius: 18px;
  padding: 22px 26px;
  margin: 18px 0 34px;
  box-shadow: 0 6px 18px rgba(12,61,29,0.06);
}
.card h2{ margin-top: 0; }

/* --- Kleines Hinweis-Abzeichen, z.B. "In Vorbereitung" --- */
.status-badge{
  display: inline-block;
  font-size: 13px;
  font-weight: 800;
  color: var(--green-dark);
  background: linear-gradient(100deg, var(--yellow-soft), var(--yellow));
  padding: 4px 12px;
  border-radius: 999px;
  margin-bottom: 10px;
}

/* --- Footer --- */
footer{
  position: relative;
  z-index: 1;
  text-align: center;
  padding-bottom: 26px;
  font-size: 13px;
  color: rgba(23,51,31,0.55);
}
footer a{ color: inherit; }

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto; }
  .bell{ animation: none; }
}
