/* ----------------------------
   Grundlayout
----------------------------- */
.festgeld-container {
    background: #001b36;
    color: #fff;
    border-radius: 16px;
    max-width: 100%;
    font-family: "Kumbh Sans", sans-serif;
   
}

/* ----------------------------
   Grid-Aufbau
----------------------------- */
.flex-grid {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 4rem;
  flex-wrap: wrap;
}

.left-col,
.right-col {
  flex: 1 1 45%;
}

/* ----------------------------
   Eingabefelder (links)
----------------------------- */
.feld {
  margin-bottom: 1.5rem;
  position: relative;
}

.feld label {
  display: block;
  font-weight: 400;
  color: #fff;
  font-size: 0.9rem;
  margin-bottom: 0.4rem;
}

.feld input,
.feld select {
  width: 100%;
  padding: 0.9rem 1rem;
  font-size: 1.1rem;
  font-weight: 700;
  border: none;
  border-radius: 8px;
  background-color: #093054;
  color: #fff;
  outline: none;
  transition: background 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.feld input:focus,
.feld select:focus {
  background-color: #11416b;
  box-shadow: 0 0 0 2px rgba(77,163,255,0.4);
}

/* Nur beim Anlagebetrag: Euro-Symbol */
#betrag {
  padding-right: 2.2rem; /* Platz für das €-Symbol */
}

.feld.anlagebetrag {
  position: relative;
}

.feld.anlagebetrag input {
  padding-right: 2.2rem; /* Platz für das €-Symbol */
  display: flex;
  align-items: center;
}

.feld.anlagebetrag::after {
  content: "€";
  position: absolute;
  right: 1rem;
  top: 55px;
  transform: translateY(calc(-50% + 1px)); /* leichte Korrektur für optische Mitte */
  color: #fff;
  font-weight: 700;
  font-size: 1.1rem;
  line-height: 1;
  pointer-events: none;
}

#betrag.error {
  border-color: #ff5a5a;
  outline: none;
  box-shadow: 0 0 0 2px rgba(255, 90, 90, 0.3);
}
/* ----------------------------
   Ergebnisbereich (rechts)
----------------------------- */
.ergebnisse {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.result-field {
  display: flex;
  flex-direction: column;
}

.result-label {
  display: block;
  font-weight: 400;
  font-size: 0.9rem;
  color: #fff;
  margin-bottom: 0.4rem;
}

/* Standard-Ausgabefelder */
.result-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid #335b7d;
  border-radius: 8px;
  padding: 0.9rem 1rem;
  font-size: 1.1rem;
  color: #fff;
  background-color: transparent;
  font-weight: 700;
}

/* Gesamtbetrag grün */
.result-box.highlight {
  background-color: #006531;
  border: none;
  color: #fff;
  font-weight: 700;
}

/* ----------------------------
   Diagramm
----------------------------- */
canvas {
  
    width: 100% !important;
  height: auto !important;
  display: block;
}





/* ----------------------------
   Responsiv
----------------------------- */
@media (max-width: 768px) {
  .flex-grid {
    flex-direction: column;
  }

  .left-col,
  .right-col {
    flex: 1 1 100%;
    width: 100%;
  }

 .flex-grid {
  gap: 0rem;
  margin-bottom: 60px;
}

}

/* --- Mobile Tabelle --- */
.mobile-tabelle-wrapper {
  margin-top: 1rem;
  display: none;
}

@media (max-width: 767px) {
  .mobile-tabelle-wrapper {
    display: block;
  }

  #rendite-chart {
    display: none !important;
  }
}

.mobile-tabelle {
  width: 100%;
  border-collapse: collapse;
  font-family: "Kumbh Sans", sans-serif;
  font-size: 0.95rem;
  color: #001b36;
  background: #fff;
  border: 1px solid #f4eadc; /* Rahmen leicht beige */
}

.mobile-tabelle th {
  background: #f4eadc;
  color: #001b36;
  text-align: left;
  padding: 10px 12px;
  font-weight: 700;
  border-bottom: 2px solid #faf4ec;
}

.mobile-tabelle td {
  padding: 10px 12px;
  border-top: 1px solid #faf4ec;
}

.mobile-tabelle tr:nth-child(even):not(.active-row) {
  background: #faf4ec;
}

.mobile-tabelle tr.active-row {
  background: #006531;
  color: #fff;
}

.mobile-tabelle tr.active-row td {
  font-weight: 700;
}

/* Hinweistext bleibt gleich */
.festgeld-hinweis {
  margin-top: 1rem;
  font-size: 0.8rem;
  color: #fff;
  opacity: 0.8;
  font-family: "Kumbh Sans", sans-serif;
}

@media (max-width: 767px) {
  .festgeld-hinweis {
    text-align: center;
    padding-bottom: 1rem;
  }
}



