:root {
  /* UI Colors */
  --color-ui-purple: #8B4CFC;
  --color-ui-pink: #FAD9E6;
  --color-ui-lightpurple: #DED7FA;
  --color-ui-gold: #E8B50E;

  /* Chart Colors */
  --color-chart-red: #FF1F11;
  --color-chart-blue: #3686FF;
  --color-chart-orange: #FF5C00;

  /* Text Colors */
  --color-text-main: #100F11;
  --color-text-soft: rgba(16, 15, 17, 0.74);
  --color-text-muted: rgba(16, 15, 17, 0.64);
  --color-text-alert: #FC4C4C;

  /* Backgrounds */
  --color-bg-dark: #001F21;
  --color-bg-light: #F7FDFD;
  --color-text-light: #001F21;
  --color-text-dark: #F7FDFD;
  /* Gradients */
  --gradient-hero: linear-gradient(135deg, var(--color-ui-purple), var(--color-ui-gold));
}


    html[data-theme='light'] {
      --bg: var(--color-bg-light);
      --text: var(--color-text-light);
      --input: var(--color-text-light);
      p {
        color: var(--color-text-light);
      }
      a {
        color: var(--color-ui-purple);
      }
    }

    html[data-theme='dark'] {
      --bg: var(--color-bg-dark);
      --text: var(--color-text-dark);
      --input: var(--color-text-light);
      p {
        color: var(--color-text-dark);
      }
      ul {
        color: var(--color-text-dark);
      }
      h3 {
        color: var(--color-ui-lightpurple);
      }

    }

    body {
      margin: 0;
      font-family: 'Inter', sans-serif;
      background: var(--bg);
      transition: background 0.4s, color 0.4s;
      overflow-x: hidden;
      position: relative;
    }

    header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 1rem 2rem;
      background: var(--bg);
      position: sticky;
      top: 0;
      z-index: 10;
      border-bottom: 1px solid #ddd;
    }

    header h1 {
      font-size: 1.4rem;
      color: var(--color-ui-purple);
      margin: 0;
    }

    nav a {
      margin-left: 1.5rem;
      text-decoration: none;
      color: var(--text);
      font-weight: 500;
    }

    nav a:hover {
      color: var(--color-ui-purple);
    }

    html[data-theme='dark'] a {
      color: var(--color-ui-pink);
    }
    html[data-theme='dark'] a:hover {
      color: var(--color-ui-purple);
    }
    .toggle-mode {
      background: none;
      border: 1px solid var(--text);
      color: var(--text);
      padding: 0.4rem 0.8rem;
      border-radius: 24px;
      cursor: pointer;
      font-size: 1.1rem;
    }
    #language-toggle {
      font-weight: 600;
      padding: 0.3rem 0.6rem;
      border-radius: 6px;
      border: 1px solid var(--text);
      background: var(--bg);
      color: var(--text);
      margin-left: 1rem;
    }

    select#language-toggle {
      border-radius: 24px;
      padding: 0.4rem 0.6rem;
      font-weight: 600;
    }
.button-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
}

.button-group button {
  background-color: #f3f3f3;
  border: 1px solid #ccc;
  border-radius: 8px;
  padding: 0.4rem 0.8rem;
  font-size: 1rem;
  cursor: pointer;
  transition: all 0.2s ease;
}

.button-group button:hover {
  background-color: #e0e0e0;
  transform: scale(1.03);
}

  section {
    max-width: 90%;
    margin: 0 auto;
  }
  @media (min-width: 768px) {
    section {
         padding: 1rem 2rem;
    max-width: 90%;
    margin: 0 auto;
    }
  }

.home-section {
  padding: 4rem 2rem;
  max-width: 60%;
  color: white;
  border-radius: 0 0 2rem 2rem;
  text-align: center;
}
 @media (max-width: 768px) {
    .home-section {
      max-width: 90%;
    }
  }
    h2 {
      font-size: 2rem;
      color: var(--color-ui-purple);
      text-align:center;
      margin-bottom: 1.5rem;
    }

    p {
      font-size: 1.1rem;
      line-height: 1.7;
    }

footer {
  width: 100%;
  /* transparent fill so backdrop-filter can blur what's behind */
  background: rgba(255, 255, 255, 0.14);
  /* light, soft glow */
  box-shadow:
    0 10px 30px rgba(0, 0, 0, 0.16),
    inset 0 1px 0 rgba(255,255,255,0.35);

  /* spacing */
  padding: 1.25rem 1.5rem;
  color: #444;
  text-align: center;
  padding: 2rem 1rem;
  font-size: 0.9rem;
  box-sizing: border-box;
  margin-top: auto;
}
html[data-theme='dark'] footer {
    background: rgba(20, 20, 30, 0.28);
    background-image:
      linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
    border-color: rgba(255, 255, 255, 0.16);
    box-shadow:
      0 12px 32px rgba(0, 0, 0, 0.45),
      inset 0 1px 0 rgba(255,255,255,0.08);
    color: #f3f3f3; /* ensure good contrast */
  color: #ccc;
}

.mood-vertical-line {
  position: fixed;
  top: 80px;
  left: 24px;
  width: 80px;
  height: 100%;
  z-index: -1;
  pointer-events: none;
}

@media (max-width: 768px) {
  .mood-vertical-line {
    opacity: 0.4; /* Optional, für bessere Lesbarkeit */
  }
}

#moodLinePath {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}

@keyframes drawMoodLine {
  to {
    stroke-dashoffset: 0;
  }
}


 .feature-card {
  color: var(--color-text-main);
  border-radius: 24px;
  padding: 1.5rem;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
}

.feature-icon {
  font-size: 2rem;
  margin-bottom: 0.7rem;
  color: var(--color-ui-purple);
}

.feature-text {
  font-size: 1rem;
  line-height: 1.5;
}

/* 🌙 Dark Mode */
html[data-theme='dark'] .feature-card {
    backdrop-filter: blur(1px);
    color: var(--color-text-dark);
    box-shadow: 0 0 12px var(--color-bg-light);
  }

  html[data-theme='dark'] .feature-icon {
    color: var(--color-ui-gold);
  }

/* ☀️ Light Mode */

  html[data-theme='light'] .feature-card {
    /*background: var(--bg-light);*/
    color: var(--color-text-main);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
  }

  html[data-theme='light'] .feature-icon {
    color: var(--color-ui-purple);
  }


#warum {
  padding: 5rem 1.5rem;
}

.why-heading {
  text-align: center;
  font-size: 2rem;
  color: var(--color-ui-purple);
  margin-bottom: 2.5rem;
}

.why-intro-box {
  margin: 0 auto 3rem auto;
  background: var(--color-ui-gold);
  color: var(--color-text-main);
  border-radius: 36px;
  padding: 2.5rem;
  line-height: 1.8;
  font-size: 1.1rem;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
}

.why-blocks {
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.why-block {
  padding: 1.5rem 2rem;
  border-radius: 20px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.05);
}

.why-block h3 {
  font-size: 1.2rem;
  margin-bottom: 0.5rem;
}

.why-block p {
  line-height: 1.6;
}

/* Dark Mode Overrides */
  html[data-theme='dark'] .why-block {
    /*background: var(--color-bg-dark);*/
    color: var(--color-text-light);
    border-color: var(--color-ui-gold);
    box-shadow: 0 0 12px var(--color-ui-gold);
    backdrop-filter: blur(1px);
  }
  html[data-theme='dark'] .why-block h3 {
    color: var(--color-ui-purple);
  }

  html[data-theme='dark'] .why-intro-box {
    background: var(--color-ui-purple);
    color: white;
    box-shadow: 0 0 5px var(--color-ui-purple);
    backdrop-filter: blur(1px);
  }
  html[data-theme='light'] .why-block {
    box-shadow: none;
    color: var(--color-text-light);
    background: var(--color-ui-purple);
    
}
html[data-theme='light'] .why-block h3 {
    color: var(--color-bg-light);
  }

  h3 i {
  color: var(--color-ui-lightpurple); /* z.B. lila Icons */
}
html[data-theme="dark"] h3 i {
  color: var(--color-ui-gold); /* z.B. goldene Icons im Dark Mode */
}

html[data-theme='light'] #moodPath1, html[data-theme='light'] #moodPath4 { stroke: var(--color-ui-pink); }   /* auf lila Hintergrund */
html[data-theme='light'] #moodPath2, html[data-theme='light'] #moodPath5 { stroke: var(--color-text-alert); }   /* auf gelb */
html[data-theme='light'] #moodPath3, html[data-theme='light'] #moodPath6 { stroke: var(--color-ui-gold); }   /* auf hellblau */

/* 🌐 Mobile (Default = eine Spalte) */
.bipolar-facts {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* ← hier geändert! */
  gap: 1.5rem;
  max-width: 175px;
  margin-left: 1.5rem;
}

.bipolar-type-boxes {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.0rem;

}
  .fact-card {
  background: var(--color-bg-dark);
  box-shadow: 0 0 12px var(--color-bg-light);
  border-radius: 24px;
  width: 150px;
  text-align: center;
}

@media (max-width: 768px) {
  .why-block {
    cursor: pointer;
    position: relative;
    padding-right: 2.5rem;
  }

  .why-block h3::after {
    content: '+';
    position: absolute;
    right: 1rem;
    top: 0.4rem;
    font-size: 1.4rem;
    color: var(--text);
    transition: transform 0.3s;
  }
  html[data-theme='light'] .why-block h3::after {
    color: var(--color-bg-light);
  }
  .why-block.expanded h3::after {
    content: '−'; /* Minuszeichen */
  }

  .why-block p {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, opacity 0.4s ease;
  }

  .why-block.expanded p {
    max-height: 300px; /* oder größer je nach Inhalt */
    opacity: 1;
  }
}

/* 🖥️ Desktop: ab 768px drei Spalten */
@media (min-width: 768px) {
  .bipolar-facts {
    grid-template-columns: repeat(3, 1fr);
    max-width: 60%;
    margin: 2rem auto;
    gap: 2rem;
  }

  .bipolar-type-boxes {
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    max-width: 90%;
    margin: 2rem auto;
  }
  

  .why-block {
    margin-top: 1rem;
  }
  .fact-card {
  background: var(--color-bg-dark);
  box-shadow: 0 0 12px var(--color-bg-light);
  border-radius: 24px;
  padding: 2rem;
  width: 200px;
  text-align: center;
}
}



.fact-number-line {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.2rem;
  margin-bottom: 0.5rem;
  margin-top: 1rem;
}
.fact-number {
  font-size: 2.8rem;
  color: var(--color-text-alert);
  font-weight: bold;
  margin-bottom: 0.5rem;
}
.fact-unit {
  font-size: 1.5rem;
  color: var(--color-text-alert);
  font-weight: 600;
  font-weight: bold;
}
.fact-label {
  font-size: 1rem;
  margin-top: 2rem;
  line-height: 1.6;
  color: var(--color-text-dark);
}

.hilfe-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 2rem;
  margin: 0 auto;
}

.hilfe-card {
  background: var(--color-bg-dark);
  padding: 2rem;
  border-radius: 24px;
  box-shadow: 0 6px 16px var(--color-chart-red);
  text-align: center;
}
@media (max-width: 768px) {
  .hilfe-grid {
    gap: 1rem;
  }

  .hilfe-card {
    background: none;
    padding: 1rem;
    font-size: 0.9rem;
    border-radius: 16px;
  }

  .hilfe-card .help-icon {
    font-size: 1.3rem;
  }

  .hilfe-card a.help-link {
    font-size: 0.9rem;
  }
}
 html[data-theme='light'] .hilfe-card {
  background: var(--color-bg-light);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1);
  color: var(--color-text-main);
}

html[data-theme='light'] .help-icon {
  color: var(--color-ui-purple);
}

.help-icon {
  color: var(--color-ui-lightpurple);
  margin-bottom: 1rem;
}

.hilfe-card h3 {
  margin-bottom: 0.5rem;
  color: var(--color-text-dark)
}
 html[data-theme='light'] .hilfe-card h3 {
  color: var(--color-text-main);
}
.help-link {
  display: inline-block;
  margin-top: 1rem;
  font-weight: 600;
  text-decoration: none;
}
.help-link:hover {
  font-weight: 1000;
  font-size: large;
}
.help-link.alert {
  color: var(--color-text-alert);
}


/* Bubble individuelle Position, Form, Farbe, Rotation */
.bubble-cloud {
  position: relative;
  width: 99%;
  max-width: 99%;
  height: 700px;
  margin: 0 auto;
  overflow: hidden;
}

.bubble-cloud h2 {
  position: relative;
  z-index: 10;
  text-align: center;
  margin-bottom: 3rem;
  max-width: 80%;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 600px) {
  .bubble-cloud {
    height: 500px;
  }
}

.bubble {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 1rem;
   z-index: 1;
  transition: all 0.3s ease;
  line-height: 1.4;
  pointer-events: auto;
  transform: rotate(var(--rotate, 0deg)) skew(var(--skewX, 0deg), var(--skewY, 0deg));
}

  .bubble-large:hover {
   transform: rotate(0deg) skew(0deg, 0deg) scale(1.25) !important;;
   z-index: 999;
  }

.droplet {
  z-index: 0;
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
}

/* Farbklecks Effekt durch Pseudo-Klecksränder */
.bubble::after {
  content: '';
  position: absolute;
  inset: -10px;
  border-radius: inherit;
  background: inherit;
  filter: blur(12px) brightness(1.1);
  opacity: 0.25;
  z-index: -1;
}

/* Optional: leichtes inneres Pulsieren wie flüssige Bewegung */
/* @keyframes floatKlecks {
  0%, 100% { transform: scale(1) rotate(var(--r, 0deg)); }
  50% { transform: scale(1.03) rotate(calc(var(--r, 0deg) + 2deg)); }
} */

/* .bubble {
  animation: floatKlecks 6s ease-in;
} */


.bubble:hover {
  transform: scale(1.05);
  z-index: 10;
}




/* Hover Interaktion */
.bubble:hover {
  transform: scale(1.05);
  z-index: 10;
}

.bubble-item:hover {
  transform: scale(1.05);
}

/* Farben der einzelnen Bubbles */
.bubble-red { background: #FF1F11; color: #100F11; }
.bubble-purple { background: #8B4CFC; color: white; }
.bubble-gold { background: #E8B50E; color: #100F11; }
.bubble-lightpurple { background: #DED7FA; color: #100F11; }
.bubble-blue { background: #3686FF; color: white; }
.bubble-orange { background: #FF5C00; color: white; }
.bubble-alert { background: #FC4C4C; color: #100F11; }

/* Dark Mode Anpassung */
@media (prefers-color-scheme: dark) {
  .bubble-red, .bubble-gold, .bubble-lightpurple, .bubble-alert {
    color: white;
  }

  #for-whom h2 {
    color: var(--color-text-light);
  }
}

/* Responsiv */
@media (max-width: 768px) {
  .bubble-item {
    width: 160px;
    height: 160px;
    font-size: 0.95rem;
    padding: 1rem;
  }
}

#for-whom {
  padding: 4rem 1.5rem;
  text-align: center;
}

#for-whom h2 {
  color: var(--purple);
  font-size: 1.8rem;
  margin-bottom: 2rem;
}

#mood-line {
  stroke-dasharray: 1000;      /* Platzhalter – wird überschrieben */
  stroke-dashoffset: 1000;
  animation: drawLine 2s ease-out forwards;
}

@keyframes drawLine {
  to {
    stroke-dashoffset: 0;
  }
}

.alert-heart {
  color: var(--color-text-alert); /* oder eine leuchtende Akzentfarbe */
  animation: pulse 1.8s infinite;
}

@keyframes pulse {
  0%   { transform: scale(1); opacity: 1; }
  50%  { transform: scale(1.2); opacity: 0.7; }
  100% { transform: scale(1); opacity: 1; }
}

/* General Header Layout */
.header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.5rem;
  position: sticky;         /* <– Das macht den Header sticky */
  top: 0;                   /* Am oberen Rand fixieren */
  z-index: 1000;            /* Über anderen Inhalten bleiben */
  background: var(--bg);    /* Wichtig für Lesbarkeit beim Scrollen */
  color: var(--text);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06); /* Optional: Schatten für Abgrenzung */
}


.logo-area {
  flex-shrink: 0;
}

.nav-menu {
  display: flex;
  gap: 1.5rem;
}

.nav-menu a {
  text-decoration: none;
  font-weight: 600;
  color: var(--text);
}

.header-actions {
  display: flex;
  gap: 1rem;
  align-items: center;
}

/* Hamburger button */
.hamburger {
  display: none;
  background: none;
  border: none;
  font-size: 2rem;
  cursor: pointer;
  color: var(--text);
  transition: color 0.3s ease;
}

/* Mobile Styles */
@media (max-width: 768px) {
  .hamburger {
    display: block;
  }

  .nav-menu {
    position: absolute;
    top: 100%;
    right: 0;
    background: var(--bg);
    border-radius: 8px;
    padding: 1rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    box-shadow: 0 6px 12px rgba(0,0,0,0.1);
    display: none;
  }

  .nav-menu.show {
    display: flex;
  }
}

.language-buttons button.active {
  background: var(--gold);
  color: black;
}

.desktop-only {
  display: flex;
}

.mobile-only {
  display: none;
}

@media (max-width: 768px) {
  .desktop-only {
    display: none !important;
  }

  .mobile-only {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: flex-start;
    margin-top: 1rem;
  }
}
#theme-icon.fa-sun {
  color: var(--color-ui-gold, #E8B50E);
}
.feature-card-icon {
  font-size: 2.5rem;
  margin-bottom: 1rem;
  color: var(--color-ui-gold);
}
.cta-testpilot {
  background: linear-gradient(135deg, #8B4CFC 0%, var(--color-bg-dark) 100%);
  color: white;
  padding: 4rem 1.5rem;
  text-align: center;
  margin-top: 3rem;
  border-radius: 24px;
  width: 80%;
  margin-bottom: 3rem;
  position: relative;
  overflow: hidden;
  box-shadow: 4px 4px 6px var(--color-ui-lightpurple);
}
html[data-theme='light'] .cta-testpilot {
  background: linear-gradient(135deg, var(--color-ui-purple) 0%, var(--color-ui-lightpurple) 100%);
  color: var(--color-text-main);
}
@media screen and (max-width: 768px) {
  .cta-testpilot {
    width: 80%;
    padding: 3rem 1.5rem;
   

  }
}

.cta-box {

  width: 90%;
  margin: 0 auto;
  padding: 1rem;

}

.cta-testpilot h2 {
  color: var(--color-ui-gold);
  font-size: 2rem;
  margin-bottom: 1rem;
}

.cta-testpilot p {
  font-size: 1.1rem;
  margin-bottom: 1.5rem;
  line-height: 1.6;
}

.cta-button {
  display: inline-block;
  background: var(--color-ui-purple);
  color: #8B4CFC;
  padding: 0.8rem 1.6rem;
  font-weight: bold;
  border-radius: 12px;
  text-decoration: none;
  font-size: 1.1rem;
  transition: all 0.3s ease;
}

html[data-theme='light'] .cta-button {
  background: var(--color-ui-lightpurple);
  color: var(--color-ui-purple);
}

.cta-button:hover {
  background: #f7f7f7;
  transform: scale(1.04);
}

.cta-hint {
  font-size: 0.9rem;
  margin-top: 1rem;
  opacity: 0.8;
}

.ios-logo {
  width: 48px;
  height: 48px;
  margin-bottom: 1rem;
  /* filter: brightness(100) invert(1); */
}
.corner-label {
  position: absolute;
  top: 0;
  left: 0;
  width: 130px;
  height: 130px;
  background: #FF1F11; /* linear-gradient(135deg, #FC4C4C 0%, var(--color-bg-dark) 150%); */
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.2);
  clip-path: polygon(0 0, 100% 0, 0 100%);
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 0.6rem;
  opacity: 0.9;
  font-size: 0.7rem;
  font-weight: bold;
  color: white;
  transform: rotate(-rotate(360deg));
  transform-origin: top left;
}

.corner-label span {
  position: absolute;
  top: 5rem;
  transform: rotate(-45deg); /* sanfte Schräge */
  transform-origin: top left;
  font-size: 1rem;
  font-weight: bold;
  color: white;
}

details {
  background: var(--color-ui-lightpurple);
  padding: 1rem 1.2rem;
  border-radius: 12px;
  margin-bottom: 1rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  cursor: pointer;
  transition: all 0.3s ease;
}

html[data-theme='dark'] details {
  background: var(--color-bg-dark);
  color: var(--color-text-dark);
  box-shadow: 4px 4px 6px var(--color-ui-lightpurple);
  border: 1px solid var(--color-ui-purple);
}
details[open] {
  background: var(--color-ui-pink);
}

summary {
  font-weight: 600;
  font-size: 1rem;
  color: var(--color-text-main);
  outline: none;
}
html[data-theme='dark'] summary {
  color: var(--color-text-dark);
}

details p {
  margin-top: 0.8rem;
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--color-text-light);
}
html[data-theme='dark'] details p {
  color: var(--color-text-dark);
}
/* Basis-Style */
details {
  background: #f7f7f7;
  border-radius: 10px;
  padding: 1rem;
  margin-bottom: 1rem;
  position: relative;
}

/* Verstecke den nativen Pfeil */
summary::-webkit-details-marker {
  display: none;
}

summary {
  list-style: none;
  position: relative;
  padding-right: 2rem;
  font-size: 1.1rem;
  font-weight: 600;
  cursor: pointer;
}

/* Font Awesome Icon (Chevron Right) */
summary::after {
  content: "\f105"; /* fa-angle-right */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-style: normal;
  color: #E8B50E;
  position: absolute;
  right: 0;
  top: 0.1rem;
  transition: transform 0.3s ease;
}

/* Bei geöffnetem details: Icon rotiert nach unten */
details[open] summary::after {
  transform: rotate(90deg);
}

.privacy-box {
  backdrop-filter: blur(1px);
  padding: 2rem;
  border-radius: 20px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.05);
  border-left: 6px solid var(--color-ui-purple);
  max-width: 80%;
  margin: 3rem auto;
}

.privacy-box h2 {
  font-size: 1.6rem;
  margin-top: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--color-ui-purple);
}

.privacy-box ul {
  list-style: none;
  padding: 0;
  margin: 1.5rem 0;
  line-height: 1.6;
  font-size: 1.05rem;
}

.privacy-box li {
  margin-bottom: 1rem;
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
}

.privacy-box li i {
  flex-shrink: 0;
  font-size: 1.1rem;
  margin-top: 0.15rem;
}

.privacy-box p {
  font-size: 0.95rem;
  color: var(--color-text-muted);
  margin-top: 1rem;
}

html[data-theme='dark'] .privacy-box {
  color: var(--color-text-dark);
  border-left-color: var(--color-ui-gold);
  box-shadow:6px 6px 12px var(--color-chart-red);
}
.testimonial-section { padding: 4rem 1.5rem; background: none; }
.testimonial-section h2 { text-align:center; color: var(--color-ui-purple); font-size: 2rem; margin-bottom: .75rem; }
#testimonial-intro { text-align:center; color: var(--color-bg-light); max-width: 780px; margin: 0 auto 2rem; }
html[data-theme='light'] #testimonial-intro { color: var(--color-text-light); }

/* Wrapper & Track */
/* vorher: overflow: hidden; */
.testimonial-wrapper{
  position: relative;
  max-width: 760px;
  margin: 0 auto;
  overflow-x: hidden;
  overflow-y: hidden;   /* ✅ Shadow/Karte unten wird nicht mehr abgeschnitten */
  padding-bottom: 8px;   /* etwas Luft für Shadow */
}

.testimonial-track { display: flex; transition: transform .55s ease; will-change: transform; }
.testimonial-slide {
  flex: 0 0 100%;
  backdrop-filter: blur(1px);
  border-radius: 20px;
  max-width: 650px;
  padding: 2rem;
  text-align: center;
  box-shadow: 6px 6px 12px rgba(0,0,0,0.05);
}
.testimonial-slide img {
  width: 100px; height: 100px; border-radius: 50%;
  object-fit: cover; margin-bottom: 1rem;
}
.testimonial-name { font-weight: 700; margin: 0; }
.testimonial-role { font-size: .95rem; color: var(--color-text-muted); margin: 0; }

/* Controls */
.testimonial-controls { margin-top: 1rem; display: flex; justify-content: center; gap: 1rem; }
.testimonial-controls button {
  background: none; border: none; font-size: 2rem; cursor: pointer;
  color: var(--color-ui-purple); transition: transform .2s;
}
.testimonial-controls button:hover { transform: scale(1.1); }

/* Dots */
.testimonial-dots { display: flex; justify-content: center; gap: .6rem; margin-top: .8rem; }
.testimonial-dots .dot {
  width: 10px; height: 10px; border-radius: 50%;
  background: var(--color-ui-lightpurple); cursor: pointer; border: none; padding: 0;
}
html[data-theme='dark'] .testimonial-dots .dot {
  width: 10px; height: 10px; border-radius: 50%;
  cursor: pointer; border: none; padding: 0;
}
.testimonial-dots .dot[aria-selected="true"] {

  background: var(--color-ui-purple);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--color-ui-purple) 20%, transparent);
}
html[data-theme='dark'] .testimonial-dots .dot[aria-selected="true"] {
   background: var(--color-ui-gold);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--color-ui-gold) 20%, transparent);
}
/* Dark Mode */
html[data-theme='dark'] .testimonial-slide {
  color: var(--color-text-dark);
  box-shadow: 6px 6px 12px var(--color-ui-lightpurple);
}

/* Optionale sanfte Einblende-Animation bei erstem Sichtbarwerden */
.testimonial-section .reveal {
  opacity: 0; transform: translateY(14px);
  transition: opacity .6s ease, transform .6s ease;
}
.testimonial-section .reveal.visible {
  opacity: 1; transform: translateY(0);
}


/* Dark Mode leichter Kontrastboost */
html[data-theme="dark"] .testimonial-progress{
  background: color-mix(in srgb, var(--color-ui-lightpurple) 20%, transparent);
}
html[data-theme="dark"] .testimonial-progress .progress-fill{
  background: var(--color-ui-lightpurple);
}
.testimonial-wrapper {
  position: relative;
  max-width: 800px;
  margin: 0 auto;
  overflow: hidden;       /* Verhindert, dass die nächste Slide sichtbar wird */
}

.testimonial-track {
  display: flex;
  flex-wrap: nowrap;
  transition: transform 0.55s ease;
}

.testimonial-slide {
  flex: 0 0 100%;          /* Exakt volle Wrapper-Breite */
  max-width: 100%;
  box-sizing: border-box;
  border-radius: 20px;
  padding: 2rem;
  text-align: center;
  box-shadow: 0 0px 4px var(--color-ui-lightpurple);
}

.testimonial-slide img {
  width: 100px; height: 100px; border-radius: 50%;
  object-fit: cover; margin-bottom: 1rem;
}
html[data-theme='dark'] .testimonial-slide{
color: var(--color-text-dark);
box-shadow: 0 0 4px var(--color-ui-gold);
}

.hero-section {
  padding: 4rem 1.5rem;
  text-align: center;
}
html[data-theme='dark'] .hero-section {
  color: var(--color-text-dark);
}

.hero-content {
  max-width: 80%;
  margin: 0 auto;
}

.hero-logo {
  margin-bottom: 1rem;
}

.hero-section h1 {
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  font-weight: 800;
  margin-bottom: 1rem;
  line-height: 1.3;
}

.hero-intro {
  font-size: 1.1rem;
  line-height: 1.6;
  margin-bottom: 2rem;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

.hero-buttons {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
}

.index-cta-primary, .index-cta-secondary {
  padding: 0.9rem 1.8rem;
  border-radius: 32px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.05rem;
}

/* Light Mode Styles */
html[data-theme="light"] .index-cta-primary {
  background: white;
  color: var(--color-ui-purple);
}
html[data-theme="light"] .index-cta-primary:hover {
  background: var(--color-ui-gold);
  color: #fff;
}
html[data-theme="light"] .index-cta-secondary {
  background: rgba(0,0,0,0.05);
  color: var(--color-ui-purple);
}
html[data-theme="light"] .index-cta-secondary:hover {
  background: rgba(0,0,0,0.1);
}

/* Dark Mode Styles */
html[data-theme="dark"] .index-cta-primary {
  background: var(--color-ui-purple);
  color: white;
}
html[data-theme="dark"] .index-cta-primary:hover {
  background: var(--color-ui-gold);
  color: #fff;
}
html[data-theme="dark"] .index-cta-secondary {
  background: rgba(255,255,255,0.15);
  color: white;
}
html[data-theme="dark"] .index-cta-secondary:hover {
  background: rgba(255,255,255,0.3);
  color: var(--color-ui-lightpurple)
}

/* Icon Farbe passt sich Textfarbe an */
.index-cta-primary i, .index-cta-secondary i {
  font-size: 1.1rem;
}
h1 {
  font-size: 2.5rem;
  font-weight: 800;
  margin-bottom: 1rem;
  line-height: 1.3;
  color: var(--color-ui-purple);
  text-align: center;
}
.mtm-timeline {
  max-width: min(1100px, 95vw);
  margin: clamp(1.5rem, 3vw, 3rem) auto;
  padding: 0 1rem 2rem;
}
.mtm-timeline h2 {
  text-align: center;
  color: var(--color-ui-purple);
  font-size: clamp(1.35rem, 1rem + 1.2vw, 2rem);
  margin-bottom: .75rem;
}

.mtm-legend {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1rem;
  justify-content: center;
  align-items: center;
  font-weight: 600;
  font-size: clamp(.9rem, .85rem + .2vw, 1rem);
  margin-bottom: 3.1rem;
  max-width: 90%;
  color: var(--color-text-light);
}
html[data-theme='dark'] .mtm-legend {
  color: var(--color-text-dark);
}
.mtm-legend .dot {
  display: inline-block; width: .9rem; height: .9rem; border-radius: 50%;
  margin-right: .35rem; vertical-align: middle;
  box-shadow: 0 0 0 2px rgba(0,0,0,.05) inset;
}
.mtm-legend .bipolar-manie { background: var(--color-ui-gold); }
.mtm-legend .bipolar-depression { background: var(--color-chart-red); }
.mtm-legend .bipolar-mixed { background: var(--color-ui-purple); }

.mtm-timeline-wrap {
  position: relative;
  border-radius: 20px;
  padding: clamp(.75rem, 1vw, 1rem) .5rem clamp(1.25rem, 2.5vw, 2rem);
}

/* Linie */
.mtm-line {
  width: 100%;
  height: clamp(160px, 22vw, 220px);
  display: block;
}
#mtmMoodPath {
  stroke-dasharray: 1800;
  stroke-dashoffset: 1800;
  animation: mtmDraw 2.2s ease-out forwards;
}
@keyframes mtmDraw { to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) {
  #mtmMoodPath { animation: none; stroke-dashoffset: 0; }
}

/* Steps – Desktop: absolut, Mobile: gestapelt */
.mtm-step {
  position: absolute;
  left: var(--x); top: var(--y);
  transform: translate(-50%, -50%);
  min-width: 240px; max-width: 300px;
  padding: clamp(.8rem, .6rem + .6vw, 1.1rem);
  border-radius: 16px;
  backdrop-filter: blur(6px);
  box-shadow: 0 10px 24px rgba(0,0,0,0.12);
  transition: transform .25s ease, box-shadow .25s ease;
  font-size: clamp(.92rem, .88rem + .2vw, 1rem);
  line-height: 1.5;
}
.mtm-step h3 { margin: 0 0 .35rem; font-size: clamp(1rem, .95rem + .25vw, 1.1rem); }
.mtm-step ul { margin: 0; padding-left: 1.1rem; }

.mtm-step.manie {
  background: color-mix(in srgb, var(--color-ui-gold) 22%, transparent);
  border: 1px solid color-mix(in srgb, var(--color-ui-gold) 60%, transparent);
}
.mtm-step.depression {
  background: color-mix(in srgb, var(--color-chart-red) 18%, transparent);
  border: 1px solid color-mix(in srgb, var(--color-chart-red) 55%, transparent);
}
.mtm-step.mixed {
  background: color-mix(in srgb, var(--color-ui-purple) 18%, transparent);
  border: 1px solid color-mix(in srgb, var(--color-ui-purple) 55%, transparent);
}

.mtm-step:hover {
  transform: translate(-50%, -52%) scale(1.03);
  box-shadow: 0 14px 30px rgba(0,0,0,0.16);
}
@media (pointer: coarse) { .mtm-step:hover { transform: translate(-50%,-50%); } }

/* Mobile Stack */
@media (max-width: 720px) {
  .mtm-line { height: 140px; }
  .mtm-step {
    position: static;
    transform: none;
    margin: .9rem auto 0;
    width: 80%;
    max-width: 640px;
  }
  .mtm-timeline-wrap { padding-bottom: 1rem; }
}
  .mtm-legend .dot.prodrome { background: var(--color-ui-purple); }
  .mtm-legend .dot.acute { background: var(--color-chart-red); }
  .mtm-legend .dot.remission { background: var(--color-ui-gold); }

  .mtm-step.prodrome {
    background: color-mix(in srgb, var(--color-ui-purple) 22%, transparent);
    border: 1px solid color-mix(in srgb, var(--color-ui-purple) 55%, transparent);
  }
  .mtm-step.acute {
    background: color-mix(in srgb, var(--color-chart-red) 20%, transparent);
    border: 1px solid color-mix(in srgb, var(--color-chart-red) 55%, transparent);
  }
  .mtm-step.remission {
    background: color-mix(in srgb, var(--color-ui-gold) 18%, transparent);
    border: 1px solid color-mix(in srgb, var(--color-ui-gold) 55%, transparent);
  }

/* Popover wrapper/trigger */
.mtm-popover-wrap { display: inline-block; position: relative; margin-left: .4rem; }
.mtm-popover-trigger {
  border: 1px solid color-mix(in srgb, var(--color-ui-purple) 35%, transparent);
  background: var(--color-bg-light);
  color: var(--color-ui-purple);
  border-radius: 999px;
  width: 28px; height: 28px; line-height: 1;
  font-size: 16px; cursor: help;
  display: inline-flex; align-items: center; justify-content: center;
}
html[data-theme='dark'] .mtm-popover-trigger {
  background: var(--color-bg-dark); color: var(--color-ui-gold);
  border-color: color-mix(in srgb, var(--color-ui-gold) 35%, transparent);
}

/* Popover panel */
.mtm-popover {
  position: absolute; top: 100%; right: 0;
  width: min(340px, 86vw);
  background: color-mix(in srgb, var(--color-ui-purple) 12%, var(--color-bg-light));
  border: 1px solid color-mix(in srgb, var(--color-ui-purple) 35%, transparent);
  color: var(--color-text-main);
  border-radius: 14px;
  padding: .75rem .9rem .75rem;
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
  opacity: 0; visibility: hidden; transform: translateY(6px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
  z-index: 999;
}
html[data-theme='dark'] .mtm-popover {
  background: color-mix(in srgb, var(--color-ui-purple) 16%, var(--color-bg-dark));
  color: var(--color-text-dark);
}
.mtm-popover::after {
  content: ""; position: absolute; top: -6px; right: 14px;
  border: 6px solid transparent; border-bottom-color: currentColor;
  opacity: .15;
}

/* Show on hover/focus or when JS toggles [data-open="true"] */
.mtm-popover-wrap:hover .mtm-popover,
.mtm-popover-trigger:focus + .mtm-popover,
.mtm-popover[data-open="true"] {
  opacity: 1; visibility: visible; transform: translateY(0);
}

/* Close button */
.mtm-popover-close {
  margin-top: .4rem; border: 0; background: transparent; cursor: pointer;
  font-weight: 700; text-decoration: underline; font-size: .95rem;
  color: var(--color-ui-purple);
}
html[data-theme='dark'] .mtm-popover-close { color: var(--color-ui-gold); }

/* Optional list spacing */
.mtm-popover .hotline-list { margin: .4rem 0 0; padding-left: 1.2rem; line-height: 1.5; }
/* Mobile: fixed & zentriert unten, volle Breite */
@media (max-width: 768px){
  .mtm-step:hover{
    transform: translate(-5%, -5%) scale(1.03);
  }
  .mtm-popover{
    max-width: calc(100vw - 2*max(16px, env(safe-area-inset-left)));
    left: max(8px, env(safe-area-inset-left));
    right: max(8px, env(safe-area-inset-right));
    border-radius: 16px;
  }
  .mtm-popover.is-open{ transform: translateY(0); }
  .mtm-popover::before{ display:none; }
}

/* Optional: „reduced motion“ */
@media (prefers-reduced-motion: reduce) {
  .mtm-popover { transition: none; }
}

.social-share-inline {
  text-align: left;
  font-size: 0.9rem;
  color: var(--color-text-light);
}
html[data-theme='dark'] .social-share-inline {
  color: var(--color-text-dark);
}
.social-share-inline span {
  margin-right: 0.5rem;
  font-weight: 500;
  color: var(--color-text-light);
}
html[data-theme='dark'] .social-share-inline span {
  color: var(--color-text-dark);
}

.social-share-inline a {
  margin-right: 0.5rem;
  text-decoration: none;  
  color: var(--color-bg-dark);
  transition: color 0.3s ease, transform 0.2s ease;
}

.social-share-inline a:hover {
  color: var(--color-ui-purple);
  transform: scale(1.2);
}

html[data-theme='dark'] .social-share-inline a:hover {
  color: var(--color-ui-gold);
}
.faq-therapist-support {
  --faq-accent: var(--color-ui-purple);
}
html[data-theme='dark'] .faq-therapist-support {
  --faq-accent: var(--color-ui-gold);
}
.faq-therapist-support .faq-title {
  color: var(--faq-accent);
  font-weight: 600;
  margin-bottom: .5rem;
}
.faq-therapist-support .label {
  color: var(--faq-accent);
  font-weight: 600;
}
.faq-therapist-support ul {
  list-style: none;
  padding-left: 1rem;
}
.faq-therapist-support li {
  margin: .35rem 0;
  position: relative;
  padding-left: 1.2rem;
}
.faq-therapist-support li::before {
  content: "•";
  color: var(--faq-accent);
  position: absolute;
  left: 0;
  top: 0;
}
.trust-card {
  background: var(--color-bg-light);
  border-radius: 24px;
  padding: 2.5rem 2rem;
  box-shadow: 0 10px 26px rgba(0,0,0,0.08);
  text-align: center;
  max-width: 75%;
  margin: 2.5rem auto;
}

html[data-theme='dark'] .trust-card {
  background: var(--color-bg-dark);
  box-shadow: 0 0 18px rgba(232,181,14,0.35);
}

.trust-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 1.2rem;
}

.trust-icon {
  font-size: 3rem;
  color: var(--color-ui-gold);
  margin-bottom: 0.6rem;
}

.trust-text {
  font-size: 1.15rem;
  line-height: 1.7;
  margin-bottom: 1.5rem;
}

.trust-pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .6rem .8rem;
  margin-bottom: 1.5rem;
}

.trust-pills span {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .4rem .9rem;
  border-radius: 999px;
  background: var(--color-ui-lightpurple);
  font-weight: 600;
  font-size: .95rem;
}

html[data-theme='dark'] .trust-pills span {
  background: #2a223a;
  color: var(--color-text-dark);
}

.trust-pills i {
  color: var(--color-ui-purple);
}

.trust-testimonial {
  font-style: italic;
  color: var(--color-text-light);
  font-size: 1rem;
  line-height: 1.6;
}
html[data-theme='dark'] .trust-testimonial {
  color: var(--color-text-dark);
}

/* Basis: Mobile zuerst */
.feature-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(1, minmax(220px, 1fr));
  align-items: stretch;
}

/* Kleine Tablets (≥ 600px): 2 Spalten */
@media (min-width: 600px) {
  .feature-grid {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }
}

/* Tablets (≥ 768px): 3 Spalten */
@media (min-width: 768px) {
  .feature-grid {
    grid-template-columns: repeat(3, minmax(220px, 1fr));
  }
}

/* Desktop (≥ 1200px): 6 Spalten nebeneinander */
@media (min-width: 1200px) {
  .feature-grid {
    grid-template-columns: repeat(6, minmax(180px, 1fr));
    max-width: 1400px; /* optional, damit’s schön breit werden kann */
    margin: 0 auto;
  }
}

.feature-card {
  color: var(--color-text-main);
  border-radius: 24px;
  padding: 1.5rem;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  justify-content: space-between; /* 🔑 Text nach unten schieben */
  align-items: center;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
    word-break: auto-phrase;
}

.feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
}

.feature-icon {
  font-size: 2rem;
  margin-bottom: auto; /* Icon oben andocken */
  color: var(--color-ui-purple);
}

.feature-text {
  display: block;                /* Blockdarstellung */
  white-space: normal;           /* Zeilen normal umbrechen */
  word-wrap: break-word;         /* lange Wörter umbrechen */
  overflow-wrap: break-word;     /* moderner Standard */
  padding: 1rem;
  width: 110%;
  box-sizing: border-box;
}
html[data-theme='dark'] .feature-text{
  color: var(--color-text-dark);
}
/* Dark/Light Feinschliff */
html[data-theme='dark'] .feature-card {
  box-shadow: 0 0 12px rgba(255,255,255,.08);
}
  /* ===== ALT LAYOUT: Pro Cards ===== */
  #therapists-alt { margin: 2rem auto; }

  .pro-grid {
    display: grid;
    gap: 1.2rem;
    grid-template-columns: 1fr;
  }
  @media (min-width: 820px) {
    .pro-grid {
      grid-template-columns: 1.1fr 0.9fr;
      grid-auto-rows: 1fr;
    }
    .pro-lead { grid-column: 1 / 3; }
    .pro-wide { grid-column: 1 / 3; }
  }

  .pro-card {
    display: grid;
    grid-template-columns: 64px 1fr;
    gap: 1rem;
    align-items: start;
    padding: 1.25rem 1.25rem;
    border-radius: 20px;
    position: relative;
    backdrop-filter: blur(6px);
    border: 1px solid rgba(0,0,0,0.06);
    box-shadow: 0 8px 20px rgba(0,0,0,0.08);
  }

  html[data-theme='dark'] .pro-card {
    border: 1px solid rgba(255,255,255,0.06);
    box-shadow: 0 0 10px rgba(142, 130, 255, 0.15);
    color: var(--color-text-dark)
  }

  .pro-card.pro-accent {
    border-left: 6px solid var(--color-ui-gold);
  }

  .pro-icon {
    width: 64px; height: 64px;
    display: grid; place-items: center;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--color-ui-purple), var(--color-ui-lightpurple));
    color: white; font-size: 1.5rem;
    box-shadow: 0 6px 16px rgba(0,0,0,0.12);
  }
  html[data-theme='dark'] .pro-icon {
    background: linear-gradient(135deg, var(--color-ui-gold), var(--color-ui-purple));
  }

  .pro-body h3 {
    margin: .1rem 0 .35rem;
    font-size: 1.15rem;
    color: var(--color-ui-purple);
  }
  html[data-theme='dark'] .pro-body h3 { color: var(--color-ui-gold); }

  .pro-body p {
    margin: 0;
    line-height: 1.6;
    color: var(--text);
    opacity: .95;
  }

  .pro-actions {
    grid-column: 2 / 3;
    margin-top: .85rem;
    display: flex; flex-wrap: wrap; gap: .5rem;
  }

  .pill-wrap {
    display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .4rem;
  }

  .pill {
    display: inline-flex; align-items: center; gap: .45rem;
    padding: .45rem .7rem;
    border-radius: 999px;
    font-size: .92rem; font-weight: 600;
    background: color-mix(in oklab, var(--color-ui-lightpurple) 28%, white 72%);
    border: 1px solid color-mix(in oklab, var(--color-ui-purple) 24%, transparent);
    box-shadow: 0 2px 6px rgba(0,0,0,0.06);
    white-space: nowrap;
  }
  html[data-theme='dark'] .pill {
    background: color-mix(in oklab, var(--color-ui-purple) 18%, #0f0f12 82%);
    border-color: rgba(255,255,255,0.12);
  }

  /* Emphasis states */
  .pro-lead { transform: translateY(0); }
  .pro-card:hover { transform: translateY(-2px); transition: transform .2s ease; }
.why-blocks.two-cols {
  display: grid;
  grid-template-columns: 1fr 1fr; /* genau zwei Spalten */
  gap: 2rem;
  margin-bottom: 2rem;
}

@media (max-width: 768px) {
  .why-blocks.two-cols {
    grid-template-columns: 1fr; /* auf Mobile einkolumnig */
  }
}


.cookie-banner {
  position: fixed;
  bottom: 1rem;
  left: 50%;
  transform: translateX(-50%);
  max-width: 480px;
  background: var(--color-bg-light);
  color: var(--color-text-main);
  border: 1px solid var(--color-ui-purple);
  border-radius: 12px;
  padding: 1rem 1.25rem;
  z-index: 10000;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  display: none;
  flex-direction: column;
  gap: 0.75rem;
}
html[data-theme='dark'] .cookie-banner {
  background: var(--color-bg-dark);
  color: var(--color-text-dark);
  border-color: var(--color-ui-gold);
  box-shadow: 0 4px 12px rgba(142,130,255,0.15);
}
.cookie-actions {
  display: flex;
  gap: 0.5rem;
}
.cookie-banner .btn-primary {
  background: var(--color-ui-purple);
  color: #fff;
  border: none;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  cursor: pointer;
}
.cookie-banner .btn-secondary {
  background: transparent;
  color: var(--color-ui-purple);
  border: 1px solid var(--color-ui-purple);
  padding: 0.5rem 1rem;
  border-radius: 8px;
  cursor: pointer;
}

.mtm-finder input, .mtm-finder select, .mtm-finder button, .status{
  color: var(--color-text-main);
}
html[data-theme='dark'] .status,
html[data-theme='dark']  .mtm-finder .qbtn button ,
html[data-theme='dark'] .diag {
  color: var(--color-text-dark);
}

/* Einheitliche Kartenbasis */
.mtm-card, .card {
  background: var(--bg);
  color: var(--text);
  border-radius: 20px;
  padding: 1.5rem;
  box-shadow: 0 6px 16px rgba(0,0,0,0.08);
  transition: background 0.3s ease, color 0.3s ease;
}

/* Dark Mode: Akzent-Schatten + Goldene Kanten */
html[data-theme='dark'] .mtm-card,
html[data-theme='dark'] .card {
  background: var(--color-bg-dark);
  color: var(--color-text-dark);
  box-shadow: 0 0 12px var(--color-ui-gold);
  border: 1px solid var(--color-ui-purple);
}

/* Light Mode: Standard */
html[data-theme='light'] .mtm-card,
html[data-theme='light'] .card {
  background: var(--color-bg-light);
  color: var(--color-text-main);
  box-shadow: 0 8px 20px rgba(0,0,0,0.1);
  border: 1px solid #eee;
}
/* ---------- Dark/Light: neutrale Textfarben korrigieren ---------- */
html[data-theme='light'] {
  --text-strong: var(--color-text-main);
  --text-soft: rgba(16,15,17,0.74);
  --text-muted: rgba(16,15,17,0.64);
}

html[data-theme='dark'] {
  --text-strong: var(--color-text-dark);   /* #F7FDFD */
  --text-soft: rgba(247,253,253,0.84);
  --text-muted: rgba(247,253,253,0.72);
}

/* ---------- Ergebnis-Zeile ("x Einträge gefunden") ---------- */
.results-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem 1rem;
  padding: .6rem 1rem;
  border-radius: 12px;
  color: var(--color-text-dark)!important;
  margin-top: 1rem;
  background: transparent;      /* keine feste Farbe -> passt sich an */
}
html[data-theme='light'] .results-bar {
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 6px 16px rgba(0,0,0,.08);
  color: var(--color-text-light)
}
.results-count {
  font-weight: 600;
  color: var(--color-text-light);
}
html[data-theme='dark'] .results-count .muted {
  color: var(--color-text-dark);
}
.results-count .muted {
  font-weight: 400;
  color: var(--text-muted);
}

/* ---------- OSM-Attribution ---------- */
.map-attribution {
  margin-top: .5rem;
  font-size: .9rem;
  line-height: 1.4;
  color: var(--text-muted);
}
.map-attribution a {
  text-decoration: underline;
}
html[data-theme='light'] .map-attribution a { color: var(--color-ui-purple); }
html[data-theme='dark']  .map-attribution a { color: var(--color-ui-pink); }

/* ---------- Hinweis-Kasten (112 / 116117) ---------- */
.notice {
  margin-top: .8rem;
  padding: .9rem 1rem;
  border-radius: 12px;
  border: 1px solid var(--color-ui-lightpurple);
  color: var(--color-text-light);
}
html[data-theme='light'] .notice {
  background: #f5f0ff; /* sanftes Lila auf hell */
}
html[data-theme='dark']  .notice {
  background: rgba(255,255,255,0.04);      /* leichtes Panel */
  box-shadow: 0 0 0 1px var(--color-ui-purple) inset;
    color: var(--color-text-dark);
}
.notice strong { font-weight: 700; }
.notice a { font-weight: 600; }


/* MoodTrackMe Range Slider */
.mtm-range{
  --track-h: 14px;
  --thumb-d: 24px;
  --track-bg: var(--mtm-surface, #0f172a);
  --track-brd: var(--mtm-border, #1f2937);
  --focus: 0 0 0 3px color-mix(in oklab, var(--mtm-color-primary) 35%, transparent);

  /* Füllfarbe links vom Thumb: nutze Brand/Verlauf */
  --fill-grad: var(--mtmMoodPath, linear-gradient(90deg,var(--color-ui-lightpurple),var(--color-chart-blue),var(--color-chart-purple),var(--color-ui-gold),var(--color-chart-orange),var(--color-text-alert)));
  /* Prozent, wird per JS gesetzt */
  --fill: 36%;
  -webkit-appearance: none; appearance: none; width: 100%;
  height: var(--thumb-d); background: transparent; outline: none;
}

/* WebKit track (Grundspur) */
.mtm-range::-webkit-slider-runnable-track{
  height: var(--track-h); border-radius: 999px;
  background:
    linear-gradient(90deg, #0000 calc(var(--fill) + 0.5px), #0000 0) padding-box,
    var(--fill-grad) 0/ var(--fill) 100% no-repeat,
    var(--track-bg);
  border: 1px solid var(--track-brd);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

/* WebKit thumb */
.mtm-range::-webkit-slider-thumb{
  -webkit-appearance: none; appearance: none;
  width: var(--thumb-d); height: var(--thumb-d); border-radius: 50%;
  background: var(--mtm-color-primary, #8B4CFC);
  border: 2px solid color-mix(in oklab, #fff 70%, transparent);
  box-shadow:
    0 6px 18px color-mix(in oklab, var(--mtm-color-primary) 35%, transparent),
    inset 0 0 14px color-mix(in oklab, #fff 18%, transparent);
  margin-top: calc((var(--track-h) - var(--thumb-d))/2);
  cursor: pointer;
}
.mtm-range:focus-visible::-webkit-slider-thumb{ box-shadow: var(--focus) }

/* Firefox track */
.mtm-range::-moz-range-track{
  height: var(--track-h); border-radius: 999px;
  background: var(--track-bg);
  border: 1px solid var(--track-brd);
}
.mtm-range::-moz-range-progress{
  height: var(--track-h); border-radius: 999px;
  background: var(--fill-grad);
}
.mtm-range::-moz-range-thumb{
  width: var(--thumb-d); height: var(--thumb-d); border-radius: 50%;
  background: var(--mtm-color-primary, #8B4CFC);
  border: 2px solid color-mix(in oklab, #fff 70%, transparent);
  box-shadow:
    0 6px 18px color-mix(in oklab, var(--mtm-color-primary) 35%, transparent),
    inset 0 0 14px color-mix(in oklab, #fff 18%, transparent);
  cursor: pointer;
}
.mtm-range:focus-visible{ outline: none }
.mtm-range:focus-visible::-moz-range-thumb{ box-shadow: var(--focus) }

/* Nummer rechts daneben (wie auf deinem Screenshot) */
#valueOut{ margin-left: 10px; font-weight: 700 }

/* bessere Lesbarkeit von SVG-Text (Datumslabels) */
.mtm-chart-label {
  fill: var(--mtm-muted);
  font-size: 12px;
}

/* dezent hinterlegte Label-Kapseln */
.mtm-chart-pill {
  fill: color-mix(in oklab, var(--mtm-card) 92%, transparent);
  stroke: var(--mtm-border);
  stroke-width: 1;
  rx: 4; ry: 4;
}

/* optional: leichte Kontur für Linienpunkte */
.mtm-dot-outline {
  stroke: color-mix(in oklab, var(--mtm-card) 65%, #000 0%);
  stroke-width: 2.5;
}

.date-input{
  position: relative;
  padding-right: 2.25rem;
}

/* hide the built-in icon but keep it clickable */
.date-input::-webkit-calendar-picker-indicator{
  opacity: 0;                  /* invisible */
  width: 2rem; height: 2rem;   /* bigger click target */
  cursor: pointer;
}

/* custom icon overlay */
.date-input::after {
  font-family: "Font Awesome 6 Free";  /* or 5 Free depending on version */
  font-weight: 900;                    /* solid style */
  content: "\f073";                    /* the calendar icon */
  position: absolute;
  color: var(--color-ui-gold);
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;                /* keep input clickable */
}

.time-input{
  position: relative;
  padding-right: 2.25rem;
}

/* hide the built-in icon but keep it clickable */
.time-input::-webkit-calendar-picker-indicator{
  opacity: 0;                  /* invisible */
  width: 2rem; height: 2rem;   /* bigger click target */
  cursor: pointer;
}

/* custom icon overlay */
.time-input::after {
  font-family: "Font Awesome 6 Free";  /* or 5 Free depending on version */
  font-weight: 900;                    /* solid style */
  content: "\f017";                    /* the calendar icon */
  position: absolute;
  color: var(--color-ui-gold);
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;                /* keep input clickable */
}
