
/* =========================================
   1. Grundeinstellungen und Farben
   ========================================= */

:root {

  /* Standard blaue Variante */

  --bg: #1a2a40;
  --bg-shadow: #333;
  --bg-sub: #233555;
  --hover: #345180;
  --focus: #00bcd4;
  --bg-trans: rgba(26, 42, 64, 0.95);

  --text-light: #ffffff;
  --text-dark: #000000;

  /* Schrift und Padding */

  --padding-small: 0.5rem;
  --padding-medium: 1rem;
  --padding-large: 1.2rem;

  --font-size-brand: 1.5rem;
  --font-size-nav: 1rem;
}


/* =========================================
   2. Body
   ========================================= */

body {
  margin: 0;

  /* Ersatz für system-ui */
  font-family: Arial, sans-serif;

  overflow-wrap: break-word;
  word-wrap: break-word;

  hyphens: auto;
  word-break: normal;
}


/* =========================================
   3. Kopfbereich und Navigation
   ========================================= */

.nav-container {
  display: flex;
  align-items: center;
  flex-wrap: wrap;

  position: fixed;
  top: 0;
  left: 0;

  width: 100%;

  transition: background-color 0.3s ease;

  z-index: 20;

  background-color: transparent;
  color: #fff;
  color: var(--text-light, #fff);
}


/* =========================================
   4. Markenname / Logo
   ========================================= */

.nav-container .header-brand {
  font-size: 1.5rem;
  font-size: var(--font-size-brand, 1.5rem);

  font-weight: bold;
  text-decoration: none;

  padding: 0.5rem 1rem;
  padding: var(--padding-small, 0.5rem)
           var(--padding-medium, 1rem);

  flex-shrink: 0;
}


/* =========================================
   5. Mobiler Menüschalter
   ========================================= */

.nav-container #nav-toggle {
  display: none;

  background: #1a2a40;
  background: var(--bg, #1a2a40);

  border: none;

  padding: 1rem 1.2rem;
  padding: var(--padding-medium, 1rem)
           var(--padding-large, 1.2rem);

  font-size: 1rem;
  font-size: var(--font-size-nav, 1rem);

  cursor: pointer;
}


/* =========================================
   6. Navigation
   ========================================= */

.nav-container nav {
  flex: 1;
}


/* Hauptmenü */

.nav-container nav ul {
  list-style: none;

  margin: 0;
  padding: 0;

  display: flex;
  justify-content: space-around;
  flex-wrap: nowrap;
}


/* Navigationslinks und Untermenü-Überschriften */

.nav-container nav a,
.nav-container nav summary {
  display: block;

  padding: 1rem 1.2rem;
  padding: var(--padding-medium, 1rem)
           var(--padding-large, 1.2rem);

  text-decoration: none;
  cursor: pointer;
}


/* =========================================
   7. Tastaturbedienung
   ========================================= */

/* Ersatz für :focus-visible */

.nav-container nav a:focus,
.nav-container nav summary:focus {
  outline: 3px solid #00bcd4;
  outline-color: var(--focus, #00bcd4);

  background: #345180;
  background: var(--hover, #345180);
}


/* =========================================
   8. Untermenüs
   ========================================= */

/* Browser-Markierung entfernen */

.nav-container nav summary::-webkit-details-marker {
  display: none;
}


/* Pfeil nach unten */

.nav-container nav summary::after {
  content: "▾";
  margin-left: 0.5rem;
}


/* Pfeil nach oben bei geöffnetem Menü */

.nav-container nav details[open] > summary::after {
  content: "▴";
}


/* Untermenü-Grundgestaltung */

.nav-container nav details ul {
  background: #233555;
  background: var(--bg-sub, #233555);

  display: flex;
  flex-direction: column;
}


/* Einrückung der Untermenü-Links */

.nav-container nav details ul a {
  padding-left: 2rem;
}


/* =========================================
   9. Navigation beim Scrollen
   ========================================= */

.nav-container.scrolled {
  background-color: rgba(26, 42, 64, 0.95);
  background-color: var(--bg-trans, rgba(26, 42, 64, 0.95));

  box-shadow: 0 0.05rem 1rem #333;
  box-shadow: 0 0.05rem 1rem var(--bg-shadow, #333);
}


/* =========================================
   10. Linkfarben
   ========================================= */

.nav-container a,
.nav-container a:link,
.nav-container a:visited,
.nav-container a:hover,
.nav-container a:active {
  color: #fff;
  color: var(--text-light, #fff);

  text-decoration: none;

  transition: color 0.3s ease;
}


/* =========================================
   11. Button-Farben
   ========================================= */

.nav-container button {
  color: #fff;
  color: var(--text-light, #fff);
}


/* =========================================
   12. Hover-Effekte
   ========================================= */

/* Ohne moderne hover-Media-Query */

.nav-container nav a:hover,
.nav-container nav summary:hover {
  background: #345180;
  background: var(--hover, #345180);
}


/* =========================================
   13. Desktop-Navigation
   ========================================= */

@media (min-width: 62.5rem) {

  .nav-container #nav-toggle {
    display: none;
  }

  .nav-container nav details {
    position: relative;
  }

  /* Untermenü */

  .nav-container nav details ul {
    position: absolute;

    top: 100%;
    left: 0;

    min-width: 14rem;

    display: none;
    flex-direction: column;
  }

  /* Untermenü bei geöffnetem details anzeigen */

  .nav-container nav details[open] ul {
    display: flex;
  }

  /* Untermenü auch bei Mausberührung anzeigen */

  .nav-container nav details:hover ul {
    display: flex;
  }
}


/* =========================================
   14. Smartphone-Navigation
   ========================================= */

@media (max-width: 62.4375rem) {

  /* Menüschalter anzeigen */

  .nav-container #nav-toggle {
    display: block;
    width: 100%;
  }

  /* Hauptnavigation */

  .nav-container nav ul {
    flex-direction: column;

    width: 100%;

    background: rgba(26, 42, 64, 0.95);
    background: var(--bg-trans, rgba(26, 42, 64, 0.95));
  }

  /* Geschlossenes Hauptmenü */

  .nav-container nav ul.closed {
    display: none;
  }

  /* Untermenüs im normalen Dokumentfluss */

  .nav-container nav details ul {
    position: static;
  }
}


/* =========================================
   15. Header
   ========================================= */

body > header {
  position: relative;
  z-index: 10;
}


/* =========================================
   16. Hauptbereich
   ========================================= */

main {
  margin: 0 auto;
  padding: 2rem;

  font-family: Arial, sans-serif;
  line-height: 1.5;
}


/* Absätze */

main p {
  font-size: 1.2rem;
  color: #555;
}


/* Kopfbereich innerhalb von main */

main > header {
  text-align: center;
  margin-bottom: 3rem;
}


/* Hauptüberschrift */

main > header h1 {
  font-size: 2.5rem;
  margin-bottom: 0.5rem;
}


/* =========================================
   17. Footer
   ========================================= */

main + footer {
  background-color: rgba(26, 42, 64, 0.95);
  background-color: var(--bg-trans, rgba(26, 42, 64, 0.95));

  color: #fff;

  text-align: center;

  padding: 1.5rem 1rem;

  font-size: 0.9rem;
  line-height: 1.4;
}


/* Footer-Absätze */

main + footer p {
  margin: 0;
}


/* =========================================
   18. Responsive Footer
   ========================================= */

@media (max-width: 600px) {

  main + footer {
    font-size: 0.8rem;
    padding: 1rem 0.5rem;
  }
}
