/*
 * Seezeit · Matrix (Paket 1.4): Fragetyp "Matrix" (table.ls-answers) mit Zeilen (Teilfragen) und einer Skala.
 *
 * Quellen: BRIEF.md 3 (Matrix, "Keine Antwort", Kein enges Umbrechen), Entscheidungen U7 und U8, qa/m0/inventar.md 6.3 und 7.
 *
 * Zwei Darstellungen, geschaltet vom Elterntheme selbst (seine Umschaltung wird genutzt, nicht bekämpft):
 *   gestapelt (Standard dieser Datei)  Handy: jede Teilfrage ein Block mit zwei Antwortspalten (bei sehr schmalem
 *                                      Antwortbereich, unter 19 rem, eine), volle Wortlabels. LimeSurvey stapelt die Tabelle
 *                                      bis 767 px (Option "Tabellen umbrechen" = Kleine Bildschirme, Standard), immer bei der
 *                                      Option "Immer an" und auf Geräten mit 768 bis 1024 px Bildschirmbreite (iPad).
 *   Tabelle (Abschnitt 2)              klassische Tabelle mit einer Kopfzeile, Zebrastreifen Neutral-050, Linien #b9c6ce; seit
 *                                      Paket 1.5d alle Antwortspalten gleich breit (auch "Keine Antwort"), erste Spalte 40 %.
 *                                      Sie gilt dort, wo LimeSurvey nicht stapelt: ab 768 px Fensterbreite auf Bildschirmen
 *                                      über 1024 px und nur ohne die Option "Immer an" (.no-tables-general); zusätzlich nur, wenn
 *                                      der Antwortbereich mindestens 40 rem breit ist (bei großem Textzoom bleibt es gestapelt).
 * Das Stapeln selbst (display: block für Tabelle, Zeilen und Zellen, Kopfzeile aus) erledigt LimeSurvey; diese Datei setzt
 * dasselbe für Tabelle, Rumpf und Kopf selbst (sie gelten auch bei breitem Fenster, wenn die Container-Abfrage greift) und legt ein
 * Raster in die Zeile. Deshalb steht die Tabellen-Darstellung als eigener Block mit positiver Bedingung, und es gibt keine Kopie
 * der Regeln für die drei Auslöser von LimeSurvey.
 *
 * Marker, Zustände und "Keine Antwort" (neutral) stammen aus seezeit-formulare.css (td.radio-item steht dort in den Listen).
 */

/* Behälter für die Spaltenzahl und für die Wahl zwischen Tabelle und Blöcken: Der Antwortbereich entscheidet (Container-Abfrage),
   nicht das Fenster. Das Elternelement der Tabelle ist je nach Fragetyp .ls-table-wrapper (Matrix, 5 und 10 Punkte, nach Spalten,
   zwei Skalen) oder ein div mit role="group" (Zunahme/Gleich/Abnahme, Ja/Unsicher/Nein, Zahlen, Texte); beide sind das einzige
   Kind von .answer-container. Alle Matrixarten entscheiden so gleich. */
#dynamicReloadContainer .question-container[class*="array-"] .answer-container > div {
  container-type: inline-size;
}
#dynamicReloadContainer .question-container .ls-table-wrapper {
  margin: 0;
  overflow: visible;
}
/* Titel einer Matrixfrage: 16 px bis zur ersten Teilfrage (bei den Listen 12 px; Paket 1.5b). Auch der erste Teilfragen-Block soll klar
   beginnen: Der Abstand nach oben (16 px) ist größer als der zur eigenen Skala (8 px bis 550 px Breite, sonst 12 px; BRIEF.md 3,
   Teilfragen-Texte). Mit Hilfe, Hinweis oder Meldung unter dem Titel gilt das Maß aus seezeit-formulare.css (Abschnitt 6). */
#dynamicReloadContainer .question-container[class*="array-"] > .question-title-container {
  margin-bottom: var(--kern-space-16);
}

/* ========================================================================== 1 Gestapelt: Block je Teilfrage */
/* Tabelle, Rumpf und Kopf wie beim Stapeln von LimeSurvey (display: block bzw. none). Die Regeln stehen hier selbst, weil dieses
   Layout auch in einem breiten Fenster gilt, wenn der Antwortbereich für die Tabelle zu schmal ist (großer Textzoom, Abschnitt 2). */
#dynamicReloadContainer .question-container table.ls-answers {
  display: block;
  width: 100%;
  margin: 0;
}
#dynamicReloadContainer .question-container table.ls-answers > tbody {
  display: block;
}
#dynamicReloadContainer .question-container table.ls-answers > thead {
  display: none;
}
/* Teilfrage = Zeile = Raster: Überschrift über beide Spalten, darunter die Skala in zwei Spalten, "Keine Antwort" zuletzt.
   Abstand nach unten (= über der nächsten Teilfrage): 32 px, bis 550 px Breite 24 px (Paket 1.5b, Typografie V1; BRIEF.md 3,
   Teilfragen-Texte: mehr Abstand nach oben als zur eigenen Skala). So beginnt jeder Block klar, und die graue Fläche "Keine Antwort"
   des vorigen Blocks liegt nicht mehr dicht an der nächsten Legende (Verhältnis über zu unter der Legende 2,7 : 1 bzw. 3 : 1). */
#dynamicReloadContainer .question-container table.ls-answers > tbody > tr {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sz-answer-gap);
  margin: 0 0 var(--sz-sub-gap);
  padding: 0;
  background: none;
  border: 0;
}
#dynamicReloadContainer .question-container table.ls-answers > tbody > tr:last-child {
  margin-bottom: 0;
}
/* Teilfrage (Matrixlegende): 16 px, 600, Zeilenhöhe 1,35, Dunkelblau (Paket 1.5b, Punkt 2; BRIEF.md 3, Teilfragen-Texte: mindestens 16 px,
   Zeilenhöhe etwa 1,35; Gewicht seit Paket 1.5d 600 nach BRIEF.md 3, "Gewichte seit 04.10.", vorher 700); 12 px Abstand zur Skala (8 px bis
   550 px Breite). Ausgewogener Umbruch (Typografie V1 und V7): keine Legende mit einem einzelnen Wort in der letzten Zeile. Dieselbe Schrift
   gilt in der Tabelle ab Tablet (Abschnitt 2). */
#dynamicReloadContainer .question-container table.ls-answers > tbody > tr > th.answertext {
  grid-column: 1 / -1;
  margin: 0 0 var(--kern-space-4);
  padding: 0;
  font-size: var(--kern-font-size-16);
  font-weight: 600;
  line-height: 1.35;
  text-wrap: balance;
  text-align: left;
  color: var(--kern-color-layout-text-default);
  background: none;
  border: 0;
  box-shadow: none;
}
#dynamicReloadContainer .question-container table.ls-answers > tbody > tr > td {
  min-width: 0;
  height: auto;
  margin: 0;
  padding: 0;
  text-align: left;
  background: none;
  border: 0;
  box-shadow: none;
}
/* Antwortfläche: dieselbe Fläche wie in den Listen, 14 px (U3: Matrix-Wortlabels), engere Maße, damit zwei Spalten auf 360 px
   reichen. Das Label zeigt hier den Text der Spalte (das Elterntheme blendet ihn nur in der Tabelle aus).
   Gewicht 400 (Paket 1.5b, Typografie V8, damals statt 500; seit 1.5d gilt 400 für alle Antworten; Prototyp 1.2: Skalenstufe 14 px, 400): Die
   fünfmal wiederholten Stufen sind Meta, die Legende (16 px, 600) trägt die Zeile.
   Gleich hohe Stufen (Paket 1.5b, Punkt 13): Das Label füllt die ganze Zelle. Die Zelle ist so hoch wie die höchste der Zeile (Raster),
   das Label war nur so hoch wie sein eigener Text: In Gruppe 4 stand die Stufe "stimme überhaupt nicht zu" (drei Zeilen, 84,8 px) neben
   "stimme eher nicht zu" (65,2 px). Prozenthöhe geht, weil die gestreckte Zelle im Raster als bestimmt gilt; die Tabelle ab Tablet
   (Abschnitt 2) setzt die Höhe selbst. */
#dynamicReloadContainer .question-container table.ls-answers td.radio-item > input[type="radio"] + label.ls-label-xs-visibility {
  --sz-pad-x: 12px;
  --sz-gap: 8px;
  --sz-tile-fs: var(--kern-font-size-14);
  height: 100%;
  margin: 0;
  overflow: visible;
  text-indent: 0;
  font-weight: 400;
}
/* Das Elterntheme verschiebt den Punkt der gestapelten Matrix mit "margin-left: -18px !important" (radio_item.scss, Medienabfrage
   für Handys und iPad). Unser Marker sitzt über left und transform; der Versatz muss weg, und gegen !important hilft nur !important. */
#dynamicReloadContainer .question-container table.ls-answers td.radio-item > input[type="radio"] + label.ls-label-xs-visibility::after {
  margin-left: 0 !important;
}
/* Zellen mit Auswahlliste oder Textfeld (Matrix mit Zahlen bzw. Texten): Der Text der Spalte steht gestapelt als Beschriftung über
   dem Feld. LimeSurvey zeigt ihn selbst nur, wenn es stapelt; hier gilt es auch im breiten Fenster, wenn die Container-Abfrage greift. */
#dynamicReloadContainer .question-container table.ls-answers td:not(.radio-item) > label.ls-label-xs-visibility {
  position: static;
  display: block;
  width: auto;
  height: auto;
  margin: 0 0 var(--kern-space-4);
  overflow: visible;
  clip: auto;
  text-indent: 0;
  font-size: var(--kern-font-size-14);
  font-weight: 400; /* Spaltenbeschriftung = Skalenlabel: Gewicht 400 wie alle Antworten (Paket 1.5d; bis 1.5c 600) */
  line-height: 1.3;
  color: var(--kern-color-layout-text-default);
}
/* "Keine Antwort" auf dem Handy: eigene Zeile unter der Skala der Teilfrage, 8 px darunter (der Zeilenabstand des Rasters), ohne
   Trennlinie (BRIEF.md 3; Rückmeldung vom 03.10.). Maße und Schrift der Fläche: seezeit-formulare.css, Abschnitt 4. Dass die Zeile
   zur Teilfrage gehört, zeigt der Abstand: 8 px zur eigenen Skala gegen 16 bzw. 24 px bis zur nächsten Teilfrage. */
#dynamicReloadContainer .question-container table.ls-answers > tbody > tr > td.noanswer-item {
  grid-column: 1 / -1;
}
/* sehr schmaler Antwortbereich (unter 19 rem): eine Spalte */
@container (max-width: 19rem) {
  #dynamicReloadContainer .question-container table.ls-answers > tbody > tr {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* Browser ohne Container-Abfragen: dieselbe Grenze über die Fensterbreite (19 rem Antwortbereich = rund 352 px Fenster) */
@supports not (container-type: inline-size) {
  @media (max-width: 351px) {
    #dynamicReloadContainer .question-container table.ls-answers > tbody > tr {
      grid-template-columns: minmax(0, 1fr);
    }
  }
}
/* bis 550 px Breite: Teilfragen 24 px statt 32 px auseinander (--sz-sub-gap, seezeit-basis.css), Legende 8 px statt 12 px über der Skala
   (BRIEF.md 3; Paket 1.5b: vorher 16 und 24 px) */
@media (max-width: 550px) {
  #dynamicReloadContainer .question-container table.ls-answers > tbody > tr > th.answertext {
    margin-bottom: 0;
  }
}

/* Option "Matrix auf dem Handy": "Eine Spalte" (data-sz-matrix="eine", Paket 1.5c) stellt jede Stufe in eine eigene Zeile; "Zwei Spalten"
   (Standard, auch ohne Wert) ist die Regel oben. Nur bis 550 px Breite (Handy); die Reihenfolge der Stufen bleibt, "Keine Antwort" steht
   wie bisher zuletzt. Die Tabelle ab Tablet (Abschnitt 2) gilt dort nicht. */
@media (max-width: 550px) {
  body[data-sz-matrix="eine"] #dynamicReloadContainer .question-container table.ls-answers > tbody > tr {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* ========================================================================== 2 Tabelle ab Tablet */
/* Zwei Bedingungen. Erstens dieselbe, unter der LimeSurvey nicht mehr stapelt (siehe Kopf). Zweitens genug Platz für die Schrift: Die
   Tabelle braucht rund 650 px bei normaler Schrift und wächst mit dem Textzoom (Köpfe und Zeilenbeschriftungen werden breiter). Die
   Container-Abfrage in rem (40 rem = 640 px bei 16 px Schrift) schaltet deshalb bei großem Textzoom auf die gestapelte Fassung, statt
   dass die Tabelle den Behälter sprengt (gemessen: bei 200 % Textzoom ragte sie 280 bis 660 px über). Ohne Unterstützung der
   Container-Abfrage bleibt die gestapelte Darstellung, die auf jeder Breite bedienbar ist. */
@media only screen and (min-width: 768px) and (min-device-width: 1025px) {
  @container (min-width: 40rem) {
    /* Tabelle: volle Breite, einfache Linien, keine Rahmen und Schatten der Bootstrap-Tabelle (sie malt Hintergründe als Schatten) */
    #dynamicReloadContainer:not(.no-tables-general) .question-container table.ls-answers {
      --bs-table-bg: transparent;
      --bs-table-accent-bg: transparent;
      --bs-table-hover-bg: transparent;
      display: table;
      width: 100%;
      /* Spalten richten sich nach dem Inhalt: Das Elterntheme setzt "table-layout: fixed" (feste Spaltenbreiten aus <col>); bei Skalen
         mit vielen Stufen oder langen Wortlabels ragten die Köpfe dann in die Nachbarspalte. Die Breiten aus <col> bleiben Vorgabe. */
      table-layout: auto;
      border: 0;
      border-collapse: collapse;
    }
    #dynamicReloadContainer:not(.no-tables-general) .question-container table.ls-answers > thead {
      display: table-header-group;
    }
    #dynamicReloadContainer:not(.no-tables-general) .question-container table.ls-answers > tbody {
      display: table-row-group;
    }
    #dynamicReloadContainer:not(.no-tables-general) .question-container table.ls-answers > tbody > tr {
      display: table-row;
      margin: 0;
      border-bottom: 1px solid var(--kern-color-layout-border);
    }
    /* Zebrastreifen Neutral-050; Hover (nur mit Maus) Neutral-100 */
    #dynamicReloadContainer:not(.no-tables-general) .question-container table.ls-answers > tbody > tr:nth-child(even) {
      background-color: var(--kern-color-neutral-050);
    }
    /* Kopfzeile: Dunkelblau auf Weiß, 14 px, Gewicht 400 (Matrix-Skalenlabels; Paket 1.5d, vorher 600). Ein Wort bricht nie mitten im Wort:
       Die Spalte wird so breit wie ihr längstes Wort (overflow-wrap: normal zählt für die Spaltenbreite; mit Wörterbuch trennt hyphens: auto
       nur lange Wörter). Das zeigte sich bei Skalen mit vielen Stufen (10 Punkte): "Keine Antwort" brach sonst in "Antw-ort". */
    #dynamicReloadContainer:not(.no-tables-general) .question-container table.ls-answers > thead > tr > :is(th, td) {
      padding: 0 var(--kern-space-4) var(--kern-space-8);
      font-size: var(--kern-font-size-14);
      font-weight: 400;
      line-height: 1.3;
      overflow-wrap: normal;
      word-break: normal;
      text-align: center;
      vertical-align: bottom;
      color: var(--kern-color-layout-text-default);
      background: none;
      border: 0;
      border-bottom: 1px solid var(--kern-color-layout-border);
      box-shadow: none;
    }
    /* Teilfrage in der ersten Spalte. overflow-wrap: normal: Autoren verbinden Wörter manchmal mit einem geschützten Leerzeichen
       ("verschiedenen&nbsp;Allergene"); diese Einheit ist dann länger als die Spalte, und mit "break-word" würde sie mitten im Wort
       getrennt ("Allergen-e", gemessen bei 768 px Fenster, 187 px Textbreite). Mit "normal" ragt sie ein paar Pixel ins Polster.
       Lange Wörter trennt weiter hyphens: auto. */
    #dynamicReloadContainer:not(.no-tables-general) .question-container table.ls-answers > tbody > tr > th.answertext {
      margin: 0;
      padding: var(--kern-space-8) var(--kern-space-16) var(--kern-space-8) var(--kern-space-12);
      overflow-wrap: normal;
      vertical-align: middle;
      /* die erste Spalte ist breit genug für gut umbrechende Zeilen (Paket 1.5b, Typografie V10; BRIEF.md 3): Zielbreite 40 %; gemessen
         215 px bei 768 px Fenster (vorher 198), 323 px ab 1024 px (vorher 282); die Skalenspalten behalten ihre Mindestbreite, "Keine
         Antwort" wird etwas schmaler. Schrift und Zeilenhöhe wie gestapelt (16 px, 600, 1,35). Keine Mindestbreite (der Vorschlag nannte
         zusätzlich 13 rem): Eine Matrix mit vielen breiten Spalten (zwei Skalen mit zusammen 12 Spalten, gemessen in der Beispielumfrage
         bei 768 px Fenster) hätte sonst die Seite waagerecht überlaufen lassen (145 px über dem Behälter, vorher 29 px); ohne Mindestbreite
         gibt die erste Spalte dort wie bisher nach, die Tabelle bleibt in ihren Grenzen so weit, wie sie es vorher war. */
      width: 40%;
    }
    /* Gleich breite Antwortspalten (Paket 1.5d; BRIEF.md 3, "Breite auf großen Bildschirmen"): Alle Skalenstufen und "Keine Antwort" sind
       gleich breit, die erste Spalte behält 40 % (oben). Ohne diese Regel wuchs jede Spalte mit ihrem Kopftext (gemessen bei 920 px
       Karte: 69 bis 95 px, "Keine Antwort" die schmalste). Jede Antwortzelle bekommt dieselbe Breite (--sz-spalte, in cqw: Prozent des
       Antwortbereichs, die Container-Abfrage dieses Blocks). Vorgabe 10 %: Mit der ersten Spalte (40 %) ergeben sechs Spalten (fünf Stufen
       und "Keine Antwort") genau 100 %; bei weniger Spalten teilt die Tabelle den Rest gleichmäßig auf (4 Spalten: je 15 %). Bei mehr
       als sechs Spalten gilt 60 % geteilt durch die Zahl der Spalten (Treppe unten; die Zahl liefert :has() mit der Anzahl der Zellen in der
       ersten Zeile), denn bei zu großer Vorgabe schrumpft die Tabelle die Spalten nach dem Anteil ihrer Beschriftung und lässt "Keine
       Antwort" breiter als die Ziffern der 10-Punkte-Skala (gemessen 86 gegen 61 px). Eine Spalte wird nie schmaler als ihr längstes
       Wort (Kopfzeile unten): So bleibt das Wort heil; nur wo der gleiche Anteil dafür nicht reicht (10 Punkte unter rund 1.250 px
       Fensterbreite, "Keine Antwort" braucht 62 bis 65 px), ist diese Spalte breiter. Der Abstand von "Keine Antwort" zur Skala (12 px
       Polster und die Linie) liegt innerhalb der Spalte, die Breite ist dieselbe. Die LimeSurvey-Breiten der Spalten (<col
       style="width: 11.2%">, Prozent) würden diese Breiten überstimmen; <colgroup> fällt hier weg (display: none, kein !important nötig;
       es hat keine Rolle für Screenreader). Nicht für die Matrix mit zwei Skalen (td.dual_scale_separator: schmale Trennspalten mit
       eigenen <col>-Breiten; Gestaltung erst in M1+, hier nur ohne Überlauf). Ohne :has() oder Container-Einheiten bleibt es bei der
       bisherigen Aufteilung nach Inhalt. */
    #dynamicReloadContainer:not(.no-tables-general) .question-container table.ls-answers {
      --sz-spalte: 10cqw;
    }
    /* Treppe: ab der siebten Antwortspalte ist td:nth-child(8) da (das erste Kind der Zeile ist die Teilfrage); Breite je Spalte etwa
       60 % / Anzahl, Spalten 7 bis 12, ab 13 gleich 4,5 %. Die Regeln haben dieselbe Spezifität, die spätere gewinnt. */
    #dynamicReloadContainer:not(.no-tables-general) .question-container table.ls-answers:has(> tbody > tr:first-child > td:nth-child(8)) {
      --sz-spalte: 8.5cqw;
    }
    #dynamicReloadContainer:not(.no-tables-general) .question-container table.ls-answers:has(> tbody > tr:first-child > td:nth-child(9)) {
      --sz-spalte: 7.5cqw;
    }
    #dynamicReloadContainer:not(.no-tables-general) .question-container table.ls-answers:has(> tbody > tr:first-child > td:nth-child(10)) {
      --sz-spalte: 6.6cqw;
    }
    #dynamicReloadContainer:not(.no-tables-general) .question-container table.ls-answers:has(> tbody > tr:first-child > td:nth-child(11)) {
      --sz-spalte: 6cqw;
    }
    #dynamicReloadContainer:not(.no-tables-general) .question-container table.ls-answers:has(> tbody > tr:first-child > td:nth-child(12)) {
      --sz-spalte: 5.4cqw;
    }
    #dynamicReloadContainer:not(.no-tables-general) .question-container table.ls-answers:has(> tbody > tr:first-child > td:nth-child(13)) {
      --sz-spalte: 5cqw;
    }
    #dynamicReloadContainer:not(.no-tables-general) .question-container table.ls-answers:has(> tbody > tr:first-child > td:nth-child(14)) {
      --sz-spalte: 4.5cqw;
    }
    #dynamicReloadContainer:not(.no-tables-general) .question-container table.ls-answers:not(:has(td.dual_scale_separator)) > colgroup {
      display: none;
    }
    #dynamicReloadContainer:not(.no-tables-general) .question-container table.ls-answers:not(:has(td.dual_scale_separator)) > tbody > tr > td {
      width: var(--sz-spalte);
    }
    /* Zelle = Antwortfläche: so hoch wie nötig, mindestens 48 px; das Label füllt die ganze Zelle (ganze Fläche klickbar) */
    #dynamicReloadContainer:not(.no-tables-general) .question-container table.ls-answers > tbody > tr > td {
      position: relative;
      /* 48 px für die Fläche plus 1 px für die Linie zwischen den Zeilen (Tabelle mit zusammenfallenden Rändern: je eine halbe Linie oben und unten) */
      height: calc(var(--sz-tile-h) + 1px);
      margin: 0;
      padding: 0;
      text-align: center;
      vertical-align: middle;
      border: 0;
    }
    #dynamicReloadContainer:not(.no-tables-general) .question-container table.ls-answers td.radio-item > input[type="radio"] + label.ls-label-xs-visibility {
      --sz-mark-cx: 50%;
      position: absolute;
      inset: 0;
      display: block;
      width: auto;
      height: auto;
      min-height: 0;
      padding: 0;
      /* das Elterntheme beschneidet das Label mit "clip: rect(0, 0, 0, 0)", das wirkt erst bei position: absolute */
      clip: auto;
      /* der Text der Spalte steht in der Kopfzeile (aria-labelledby, das Label ist aria-hidden); hier bleibt nur der Marker sichtbar */
      font-size: 0;
      line-height: 0;
      background-color: transparent;
      border: 0;
      border-radius: 0;
      box-shadow: none;
      /* Fokusring innen: Die Zellen grenzen aneinander und an den Rand der Tabelle */
      outline-offset: -3px;
    }
    /* Eingabefeld in der Zelle (Paket 1.5e): Es deckt die Zelle ab (inset: 0 in der positionierten Zelle, siehe seezeit-formulare.css,
       "Eingabefeld und Fläche"), bleibt unsichtbar und nimmt keine Mausereignisse an: Das Label bleibt das Ziel des Klicks. Die frühere
       Reserve für Tastaturfokus (14 rem für ein 17-px-Feld am oberen Rand einer bis 150 px hohen Zelle) entfällt, weil das Feld die
       ganze Zelle deckt; der Browser macht beim Anspringen per Tab die ganze Zelle sichtbar, der Rand von 8 px nimmt den Ring mit. */
    /* Beschriftung der Zellen mit Auswahlliste oder Textfeld: in der Tabelle steht der Text in der Kopfzeile, das Label bleibt nur für
       Screenreader (ohnehin aria-hidden) */
    #dynamicReloadContainer:not(.no-tables-general) .question-container table.ls-answers td:not(.radio-item) > label.ls-label-xs-visibility {
      position: absolute;
      width: 1px;
      height: 1px;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
    }
    /* "Keine Antwort": eigene Spalte mit Abstand und feiner Linie davor */
    #dynamicReloadContainer:not(.no-tables-general) .question-container table.ls-answers > thead > tr > th.noanswer-text,
    #dynamicReloadContainer:not(.no-tables-general) .question-container table.ls-answers > tbody > tr > td.noanswer-item {
      padding-left: var(--kern-space-12);
      border-left: 1px solid var(--kern-color-layout-border);
    }
    #dynamicReloadContainer:not(.no-tables-general) .question-container table.ls-answers td.noanswer-item > input[type="radio"] + label.ls-label-xs-visibility {
      left: var(--kern-space-12);
    }
  }
}
@media only screen and (min-width: 768px) and (min-device-width: 1025px) and (hover: hover) {
  @container (min-width: 40rem) {
    #dynamicReloadContainer:not(.no-tables-general) .question-container table.ls-answers > tbody > tr:hover {
      background-color: var(--kern-color-neutral-100);
    }
  }
}
