/* Standard-Reset */
body,
body.light,
body.theme1 {
  background: linear-gradient(90deg, #fef6e4 0%, #f8f6ff 100%);
  font-family: 'Nunito', 'Segoe UI', Arial, sans-serif;
  margin: 0;
  min-height: 100vh;
}
body.original {
    background: #ffffff;
    color: #222222;
  font-family: 'Nunito', 'Segoe UI', Arial, sans-serif;
  margin: 0;
  min-height: 100vh;
}
/*v2 ist anders

*/
/*D0197 TB zweite Zeile keinen Hintergrund */
/* Ungerade Zeilen durchsichtig -> Hintergrund scheint durch */
.styled-table tbody tr:nth-of-type(odd) {
  background-color: transparent;
}

/* Gerade Zeilen dezent einfärben */
body.light .styled-table tbody tr:nth-of-type(even) {
  background-color: rgba(0, 0, 0, 0.01);
}

body.dark .styled-table tbody tr:nth-of-type(even) {
  background-color: rgba(255, 255, 255, 0.01);
}
.styled-table#loginTable td input{
  border-radius: 5px;
}
/*Ende D0197 */

/* Trennstrich h */
.FrageTrennung-original{
  max-width: 580px;
  /*top, right, bottom, left */
  margin-left: 0;
  margin-top: 20px;
  margin-bottom: 20px;
}
 .FrageTrennung-original{
  background-color: white;
}
.FrageTrennung-theme1,
.FrageTrennung-theme2,
.FrageTrennung-theme3{
  max-width: 580px;
  /*top, right, bottom, left */
  margin-left: 0;
  margin-top: 20px;
  margin-bottom: 20px;
  background-color: gray;
}

textarea {
  border-radius: 5px;
}
.question-s {
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 2px 12px rgba(80,40,120,0.10);
  padding: 15px 10px 15px 10px;
  margin: 10px auto 0 auto;
  max-width: 530px;
}
/* andere Fragetypen ds designSwitch */
.question-ds {
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 2px 12px rgba(80,40,120,0.10);
  padding: 15px 18px 15px 18px;
  margin: 10px auto 0 5px;
  max-width: 530px;
}
.question-m {
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 2px 12px rgba(80,40,120,0.10);
  padding: 10px 10px 10px 10px;
  margin: 40px auto 0 5px;
  max-width: 330px;
}
.label-s {
  /* font-size: 17px;
   font-weight: 600; */
  color: #191940;
  display: block;
  margin-bottom: 8px;
  letter-spacing: 0.02em;
}
.label-m {
 /* font-size: 17px; */
  color: #191940;
  display: block;
  margin-bottom: 5px;
}
/* Wrapper: relative, damit child .mw-indicator absolut positioniert werden kann */
.option-row-wrapper {
  position: relative;
  width: 100%;            /* wichtig: Prozentwerte beziehen sich auf diese Breite */
}

.option-row {
  display: flex;
  gap: 5px;
  /* justify-content: space-between; */
}

.radio-block {
  /* flex: 1; */
  position: relative;
  transition: transform 0.13s, box-shadow 0.15s;
  border-radius: 10px;
  cursor: pointer;
  display: flex;
  flex-direction: column; /* colum-reverse --> Zahl über radio-Button*/
  align-items: center;
  background: #eee;
  padding: 10px 0 4px 0;
  min-width: 34px;
}
.radio-block:hover,
.radio-block input[type="radio"]:focus + .custom-radio {
  box-shadow: 0 2px 10px 0 rgba(130,160,250,0.12);
  transform: translateY(-2px) scale(1.03);
}

.custom-radio {
  width: 30px;
  height: 30px;
  /* border: 2px solid #adadad; */
  border-radius: 50%;
  margin-bottom: 4px;
  background: #f9f9f9b8;
  box-shadow: 0 1px 2px 0 rgba(0,0,0,0.03);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border 0.18s, box-shadow 0.12s;
}
.radio-block input[type="radio"] {
  display: none;
}
.radio-block input[type="radio"]:checked + .custom-radio {
  border: 5px solid #3f21c7;
  background: linear-gradient(120deg, #dacaff 45%, #fff 100%);
  box-shadow: 0 1px 6px 0 rgba(63,33,199,0.09);
}
.radio-label {
  font-size: 14px;
  font-weight: 600;
  color: #2c3948;
  margin-bottom: 1px;
  user-select: none;
}
.radio-desc { /* für theme2/3 schreibt unten drunter nie, manchmal usw. */
  font-size: 11px;
  color: #4e5674;
  opacity: 0.7;
}
/* FB beantworten Frage SC */
.radio-block-sc {
  /* flex: 1; */
  position: relative;
  transition: transform 0.13s, box-shadow 0.15s;
  border-radius: 10px;
  cursor: pointer;
  display: flex;
  flex-direction: row; /* colum-reverse --> Zahl über radio-Button*/
  align-items: center;
  padding: 10px 0 4px 0;
  min-width: 34px;
}
.radio-block-sc:hover,
.radio-block input[type="radio"]:focus + .custom-radio-sc {
  box-shadow: 0 2px 10px 0 rgba(130,160,250,0.12);
  transform: translateY(-2px) scale(1.03);
}
.radio-block-sc input[type="radio"] {
  display: none;
}
.radio-block-sc input[type="radio"]:checked + .custom-radio-sc {
  border: 5px solid #3f21c7;
  background: linear-gradient(120deg, #dacaff 45%, #fff 100%);
  box-shadow: 0 1px 6px 0 rgba(63,33,199,0.09);
}

.custom-radio-sc {
  width: 15px;
  height: 15px;
   border: 2px solid #adadad;
  border-radius: 50%;
  /* margin-bottom: 4px; */
  background: #f9f9f9b8;
  box-shadow: 0 1px 2px 0 rgba(0,0,0,0.03);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border 0.18s, box-shadow 0.12s;
}
.radio-label-sc {
  color: #2c3948;
  /*margin-bottom: 1px; */
  user-select: none;
  margin-left: 5px;
}
.question-ds .custom-radio-sc.filled {
  border: 5px solid #3f21c7;
  background: linear-gradient(120deg, #dacaff 45%, #fff 100%);
  box-shadow: 0 1px 6px 0 rgba(63,33,199,0.09);
  width: 10px;
  height: 10px;
  margin-right: 5px;
}
/* D0186 "Fake Checkbox" */
/* Input nur visuell verstecken, nicht mit display:none */
.checkbox-wrapper input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}
/* Effekt für beide gleichzeitig */
.checkbox-wrapper:hover .custom-checkbox,
.checkbox-wrapper:hover,
.checkbox-wrapper input[type="checkbox"]:focus + .custom-checkbox {
  box-shadow: 0 2px 10px 0 rgba(130, 160, 250, 0.12);
  transform: translateY(-2px) scale(1.03);
  background-color: rgba(130, 160, 250, 0.05);
  border-color: #829ffb;
}

.checkbox-wrapper:hover .custom-checkbox,
.checkbox-wrapper input[type="checkbox"]:focus + .custom-checkbox {
  box-shadow: 0 2px 10px 0 rgba(130, 160, 250, 0.12);
  transform: translateY(-2px) scale(1.03);
}

.erg-checkbox-wrapper {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 8px;
  position: relative;
}
.erg-checkbox-wrapper input[type="checkbox"] {
  position: absolute;
  opacity: 0;
}

.custom-checkbox{
  width: 10px;
  height: 10px;
  border: 2px solid #adadad;
  border-radius: 3px;
  display: inline-block;
  vertical-align: middle;
  transition: all 0.2s ease;
}
.checkbox-wrapper input[type="checkbox"]:checked + .custom-checkbox,
.erg-checkbox-wrapper input[type="checkbox"]:checked + .custom-checkbox
{
  border: 5px solid #3f21c7;
  background: linear-gradient(120deg, #dacaff 45%, #fff 100%);
  box-shadow: 0 1px 6px 0 rgba(63,33,199,0.09);

}
/* Ende-D0186 "Fake Checkbox" */
/* Ende: FB beantworten Frage SC */

/* Für theme original: nebeneinander für FB*/
.original .question-s {
  margin-left: 5px;
}
.original .radio-block {
  display: flex;
  align-items: center; /* vertikal ausrichten */
  gap: 5px; /* Abstand zwischen Radio und Zahl */
  flex-direction: row;
  padding: 5px;
  justify-content: center;
}

.original .radio-label {
  display: inline-block;
}
.original .custom-radio {
  width: 15px;
  height: 15px;
}
.original .bg1 { background: #e53935; }
.original .bg2 { background: #fb8c00; }
.original .bg3 { background: #fdd835; }
.original .bg4 { background: #43a047; }
.original .bg5 { background: #00c853; }

/* Für theme1: für FB*/
.divs .theme1 .radio-block {
  flex-direction: row;
  justify-content: flex-start;
}
.theme1 .bg1 { background: #e53935; }
.theme1  .bg2 { background: #fb8c00; }
.theme1  .bg3 { background: #fdd835; }
.theme1  .bg4 { background: #43a047; }
.theme1  .bg5 { background: #00c853; }

.theme1 .question-s{
  margin-top: 5px;
  margin-left: 5px;
  margin-bottom: 5px;
}

.theme1 .radio-label {margin-left: 5px;}


/* blassere Farben theme1:

body.theme1 .bg1 { background: #ffc2ba; }
body.theme1 .bg2 { background: #ffd6b2; }
body.theme1 .bg3 { background: #fffaad; }
body.theme1 .bg4 { background: #d1fcb1; }
body.theme1 .bg5 { background: #97f5b4; }
*/


/* Ergebnis Anzeigen */
.theme2 .custom-radio {
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid #333;
  border-radius: 50%;
  margin-right: 5px;
  vertical-align: middle;
}

.theme2 .custom-radio.filled {
  background: blue;
}
.original .radio-label-answer {
  margin: auto;

}
.radio-label-answer {
  font-size: 14px;
  font-weight: 600;
  color: #2c3948;
  margin-bottom: 1px;
  user-select: none;
}
.original .custom-radio.filled {
  border: 5px solid #3f21c7;
  background: linear-gradient(120deg, #dacaff 45%, #fff 100%);
  box-shadow: 0 1px 6px 0 rgba(63,33,199,0.09);
  width: 15px;
  height: 15px;
  position: absolute;
  margin: auto;
}
.original .custom-radio.empty {
  background: none;
  border: none;
  position: absolute;
}

/* speziell für theme1  */
.theme1 .custom-radio.filled {
  border: 5px solid #3f21c7;
  background: linear-gradient(120deg, #dacaff 45%, #fff 100%);
  box-shadow: 0 1px 6px 0 rgba(63,33,199,0.09);
  width: 20px;
  height: 20px;
}

.theme1 .custom-radio.empty {
  background: none;
  border: none;
}

.theme1 .mw-indicator {
  position: absolute;
 /*top: 20px; */
  transform: translateX(-50%);
  color: black;
  padding: 2px 6px;
  border-radius: 4px;
  white-space: nowrap;
  z-index: 5;
  max-height: 25px;
  margin: auto;
  min-width: 64.1px;
  margin-left: 45px;

}
/* ENDE speziell für theme1  */

/* MW anzeigen orgiginal theme1  siehe weiter oben  */
.mw-indicator {
  position: absolute;
  /* top: -20px;  über den Radio-Buttons */
  transform: translateX(-50%);
  color: black;
  padding: 2px 6px;
  border-radius: 4px;
  white-space: nowrap; /* kein Zeilenumbruch */
  z-index: 5;
  margin: auto;
  min-width: 64.1px;
  margin-left: 45px;
}
.mw-line {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 2px;                /* Dicke des Strichs */
  background-color: #1E3A8A;    /* Farbe zuvor gray*/
  opacity: 0.9;              /* zuvor 0.6 leicht transparent */
  transform: translateX(-50%); /* Strich mittig zur Position setzen */
  z-index: 10;               /* vor der Skala, aber hinter evtl. MW-Label */
}
.mw-line-text{
position: absolute;
top: 27px;
opacity: 0.9; /*zuvor 0.6 und ohne color */
transform: translateX(-50%);
z-index: 10;
font-size: 10px;
white-space: nowrap; /* kein Zeilenumbruch */
color: #1E3A8A;
}
.theme1 .mw-line-text
{
  top: 67px;
}
/*
.question-s {
  padding-top: 25px; /* Platz für MW-Balken */
/* } */
/* ergebnisAnzeige2 Ende */

.erg{
  font-size: 0.8em;

}

/* D0185: Legende Ergebnis */
.legende-radio {
  border: 5px solid #3f21c7;
  background: linear-gradient(120deg, #dacaff 45%, #fff 100%);
  box-shadow: 0 1px 6px 0 rgba(63,33,199,0.09);
  border-radius: 50%;
  margin-bottom: 4px;
  width: 10px;
  height: 10px;
  transition: border 0.18s, box-shadow 0.12s;
}

.original .legende-radio {
  width: 15px;
  height: 15px;
}
.theme1 .legende-radio {
  width: 10px;
  height: 10px;
}
.legende-MW-line {
  width: 3px;                /* Dicke des Strichs */
  background-color: #1E3A8A;    /* Farbe zuvor gray*/
  opacity: 0.9;
  height: 17px;
  margin-left: 10px;
}
/* Ende-D0185: Legende Ergebnis */

/*Theme 3 Magdi */
.divs .theme3 .radio-block {
  flex-direction: row;
  justify-content: flex-start;
}
.theme3 .bg1 { background: #fff000; }
.theme3  .bg2 { background: #ffc800; }
.theme3  .bg3 { background: #ff7d00;; }
.theme3  .bg4 { background: #ff0500; }
.theme3  .bg5 { background: #ff00a0; }

.theme3 .question-s{
  margin-top: 5px;
  margin-left: 5px;
  margin-bottom: 5px;
}

.theme3 .radio-label {margin-left: 5px;}

/* speziell für theme3  */
.theme3 .custom-radio.filled {
  border: 5px solid #3f21c7;
  background: linear-gradient(120deg, #dacaff 45%, #fff 100%);
  box-shadow: 0 1px 6px 0 rgba(63,33,199,0.09);
  width: 20px;
  height: 20px;
}

.theme3 .custom-radio.empty {
  background: none;
  border: none;
}

.theme3 .mw-indicator {
  position: absolute;
  /*top: 20px; */
  transform: translateX(-50%);
  color: black;
  padding: 2px 6px;
  border-radius: 4px;
  white-space: nowrap;
  z-index: 5;
  max-height: 25px;
  margin: auto;
  min-width: 64.1px;
  margin-left: 45px;

}
.theme3 .radio-block {
  flex-direction: column-reverse;
}
.theme3 .mw-line-text
{
  top: 67px;
}
/* ENDE speziell für theme1  */


/* Light/Dark */
/* Basis */
body {
  margin: 2rem;
  font-family: sans-serif;
  transition: background 0.3s, color 0.3s;
}

/* Light Theme siehe oben*/
body.light-weiß {
  background: #ffffff;
  color: #222222;
}

/* Dark Theme */
body.dark {
  background: #121212;
  color: #eeeeee;
}

/* Button Style */
#themeToggle {
  padding: 0.5rem 1rem;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  background: #888;
  color: white;
  font-size: 1rem;
  margin-left: 5px;
}

body.dark .question-s {
  background: #1e1e1e;              /* dunkler Hintergrund, nicht ganz schwarz */
  border-radius: 18px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.4); /* dunkler, weicher Schatten */
  padding: 15px 10px;
  max-width: 530px;
  color: #e0e0e0;                   /* heller, neutraler Text */
}

body.dark .question-s h1,
body.dark .question-s h2,
body.dark .question-s h3,
body.dark .label-s,
body.dark .label-m{
  color: #ffffff;                   /* Überschriften etwas kräftiger */
}

body.dark .question-s p,
body.dark .radio-label-sc{
  color: #cccccc;                   /* Fließtext dezenter */
}

body.dark .question-s a {
  color: #8ab4f8;                   /* angenehmes Hellblau für Links */
  text-decoration: none;
}

body.dark .question-s a:hover {
  text-decoration: underline;
}
body.dark .question-ds {
  background: #1e1e1e;              /* dunkler Hintergrund, nicht ganz schwarz */
  border-radius: 18px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.4); /* dunkler, weicher Schatten */
  padding: 15px 10px;
  max-width: 530px;
  color: #e0e0e0;                   /* heller, neutraler Text */
}

body.dark textarea,
body.dark input[type="text"],
body.dark input[type="password"]{
  background-color: gray;
  color: #e0e0e0;
}
body.dark input[type="text"]::placeholder {
  color: #e0e0e0;  /* dezenteres Grau für Placeholder */
}
/*D0239 FB Logo*/
.fbLogo{
  max-height: 100px;
}
.tableTextoffeneFrage{
  width: 95%;
}


/* kann wahrscheinlich weg */
/*
/* Min / Max: blauer Punkt wie Auswahl */
/*
.radio-block.min .custom-radio,
.radio-block.max .custom-radio {
  width: 20px; height: 20px;
  border: 2px solid blue;
  border-radius: 50%;
  position: relative;
}
*/
/*
.radio-block.min .custom-radio::after,
.radio-block.max .custom-radio::after {
  content: "";
  width: 10px; height: 10px;
  background: blue;
  border-radius: 50%;
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
}
*/

/* Optional kleiner Pfeil unter dem MW-Indikator */
/*
.mw-marker::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 4px;
  border-style: solid;
  border-color: #0c0c0c transparent transparent transparent;
}
/* Ende ggf. noch interessant*/
