/* 1. Fredoka einbinden */
@font-face {
  font-family: 'Fredoka';
  src: url('../fonts/fredoka.woff2') format('woff2');
  font-weight: 400; /* oder normal */
  font-style: normal;
  font-display: swap;
}

/* 2. Nunito einbinden */
@font-face {
  font-family: 'Nunito';
  src: url('../fonts/nunito.woff2') format('woff2');
  font-weight: 400; /* oder normal */
  font-style: normal;
  font-display: swap;
}
body {
  background: #21c2bf;
  /*background: linear-gradient(122deg, rgba(33, 194, 191, 0.3) 0%, rgba(172, 93, 75, 0.2) 24%, rgba(115, 38, 153, 0.2) 50%, rgba(173, 140, 73, 0.2) 75%, rgba(194, 68, 33, 0.3) 100%);*/
  background: linear-gradient(90deg, rgba(33, 194, 191, 0.3) 0%, rgba(172, 93, 75, 0.2) 24%, rgba(115, 38, 153, 0.2) 50%, rgba(173, 140, 73, 0.2) 75%, rgba(194, 68, 33, 0.3) 100%);
  font-family: 'Nunito', sans-serif;
  font-size: 1.2em;
  line-height: 2;
}
/* Überschriften */
h1 {
  font-family: 'Fredoka', sans-serif;
  font-weight: 300;
  color: #5f1c56;
  font-size: 1.6em;
}
h2 {
  font-family: 'Fredoka', sans-serif;
  font-weight: 200;
  color: #cb5d85;
  font-size: 1.4em;
}
h3, h4, h5, h6 {
  font-family: 'Fredoka', sans-serif;
  font-weight: 200;
  color: #b76442;
  font-size: 1.2em;
}
.container-topbar {
   background: #21c2bf;
  background: linear-gradient(122deg, rgba(33, 194, 191, 0.3) 0%, rgba(173, 140, 73, 0.3) 24%, rgba(115, 38, 153, 0.3) 50%, rgba(172, 93, 75, 0.3) 75%, rgba(194, 68, 33, 0.3) 100%);
}
/* --- .mod-custom {
  background: #21c2bf;
  background: linear-gradient(122deg, rgba(33, 194, 191, 0.3) 0%, rgba(173, 140, 73, 0.3) 24%, rgba(115, 38, 153, 0.3) 50%, rgba(172, 93, 75, 0.3) 75%, rgba(194, 68, 33, 0.3) 100%);
} --- */
.container-header {
  background-image: none !important;
  background-color: #eff5ff;
} 
.container-header .container-nav {
  flex-wrap: wrap;
  justify-content: center !important;
  padding-bottom: 1em;
}

.navbar {
  --navbar-padding-x: 0;
  --navbar-padding-y: .5rem;
  flex-wrap: wrap;
  align-items: center;
  display: flex;
  position: relative;
  justify-content: center !important;
}

.metismenu.mod-menu .mm-collapse > li > a {
  display: inline-flex;
  text-transform: uppercase;
}

/* --- AB HIER AKTUALISIERT: Für Desktop UND Mobil (Collapsible) --- */
/* Menü-Links Grundstil (greift bei metismenu und normaler navbar) */
.container-header .mod-menu a,
.container-header .mod-menu span {
  color: #000000 !important; /* Schwarz für gute Lesbarkeit */
  transition: all 0.3s ease;
  font-size: 1em;
  text-decoration: none !important;
  border-bottom: none !important;
  padding: 0.5em 0em;
}

/* Hover-Effekt */
.container-header .mod-menu a:hover {
  color: #105a14 !important; /* glimmendes Braun */
  text-shadow: 0 0 10px rgba(167, 139, 250, 0.6);
}

/* Aktiver Menüpunkt (Hintergrund/Rahmen entfernt, nur Fettschrift) */
.container-header .mod-menu .active > a,
.container-header .mod-menu .current > a {
  color: #a33069 !important;
  font-weight: bold !important; /* Fett für PC und Smartphone */
  position: relative;
  display: inline-block;
  box-sizing: border-box;
  vertical-align: middle;
  line-height: 1;
  border: none !important;            /* Rahmen entfernt */
  background-color: transparent !important; /* Hintergrund entfernt */
  padding: 0.5em 0em !important;      /* An Standard-Padding angepasst */
  text-decoration: none !important;
}

/* Entfernt die Linie unter den Menüpunkten im Hauptmenü vollständig */
.container-header .mod-menu a::after,
.container-header .mod-menu .active a::after {
  display: none !important;
  content: none !important;
}

/* SICHERHEITSHALBER: Falls der Mobil-Button (Burger) unsichtbar ist */
.container-header .navbar-toggler { 
  color: #1d6cb3;
  cursor: pointer;
  border: 2px solid #9a833e;
  font-size: 1.6em;
}

.metismenu.mod-menu .metismenu-item > a:hover, 
.metismenu.mod-menu .metismenu-item > button:hover {
  text-decoration: none;
  color: white;
}

/* Magischer Funkel-Canvas Fixierung */
#sparkleCanvas {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  z-index: 9999;
}
.package-grid {
    display: grid;
    grid-template-columns: 1fr 2fr 2fr;
    gap: 12px;
    max-width: 900px;
    margin: 20px 0;
    font-family: system-ui, -apple-system, sans-serif;
  }

  /* Header-Zeile */
  .grid-header {
    background-color: #762d82;
    color: #ffffff;
    font-weight: bold;
    padding: 14px 16px;
    border-radius: 8px;
    font-size: 1.05rem;
  }

  /* Daten-Zellen */
  .grid-cell {
    background-color: #e1d2d2;
    padding: 16px;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.06);
    border: 1px solid #eef0f2;
    display: flex;
    align-items: center;
    line-height: 1.5;
  }

  .package-name {
    font-weight: bold;
    color: #1a1a1a;
  }

  /* Responsive Anpassung für Smartphones */
  @media (max-width: 768px) {
    .package-grid {
      grid-template-columns: 1fr; /* Eine Spalte auf Mobilgeräten */
      gap: 16px;
    }

    .grid-header {
      display: none; /* Header auf Mobilgeräten ausblenden */
    }

    .grid-cell {
      display: block;
      padding: 12px 16px;
    }

    /* Auf Smartphones Paket-Karten gruppieren */
    .package-name {
      background-color: #864343;
      color: #ffffff;
      font-size: 1.1rem;
      border-radius: 8px 8px 0 0;
      margin-bottom: -1px;
    }

    .package-content {
      border-radius: 0;
    }

    .package-ideal {
      border-radius: 0 0 8px 8px;
      margin-top: -1px;
      background-color: #f9fbfb;
    }

    /* Labels für Mobilansicht voranstellen */
    .package-content::before {
      content: "Inhalt: ";
      font-weight: bold;
      color: black;
      display: block;
      font-size: 0.85rem;
      margin-bottom: 2px;
    }

    .package-ideal::before {
      content: "Ideal für: ";
      font-weight: bold;
      color: black;
      display: block;
      font-size: 0.85rem;
      margin-bottom: 2px;
    }
  }