/* Modul 2.3 – Werte: Priorisierung / Hierarchie */

.mod23-shell {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}

.mod23-section {
  padding: 1.3rem 1.5rem;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 16px 32px rgba(0,0,0,0.04);
  margin-top: 0.5rem;
}

.mod23-grid {
  display: grid;
  gap: 0.9rem;
}

@media (min-width: 900px) {
  .mod23-grid.two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Tabelle Shortlist */

.mod23-table-wrap {
  margin-top: 0.6rem;
  overflow-x: auto;
}

.mod23-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}

.mod23-table th,
.mod23-table td {
  border: 1px solid #e5e7eb;
  padding: 0.25rem 0.35rem;
  text-align: left;
  vertical-align: top;
}

.mod23-table th {
  background: #f3f4f6;
  font-weight: 500;
}

/* Inputs & Textareas */

.mod23-input,
.mod23-select {
  width: 100%;
  border-radius: 999px;
  border: 1px solid #d1d5db;
  padding: 0.3rem 0.6rem;
  font: inherit;
}

.mod23-textarea {
  width: 100%;
  min-height: 70px;
  border-radius: 12px;
  border: 1px solid #d1d5db;
  padding: 0.4rem 0.6rem;
  font: inherit;
  resize: vertical;
}

/* Bereichs-Checkboxen */

.mod23-domains {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  font-size: 0.8rem;
}

.mod23-domains label {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

/* Forced-Choice Matrix */

.mod23-matrix {
  border-collapse: collapse;
  width: 100%;
  font-size: 0.8rem;
  margin-top: 0.6rem;
}

.mod23-matrix th,
.mod23-matrix td {
  border: 1px solid #e5e7eb;
  padding: 0.2rem 0.25rem;
  text-align: center;
  vertical-align: middle;
}

.mod23-matrix th {
  background: #f3f4f6;
}

.mod23-matrix td input[type="radio"] {
  cursor: pointer;
}

/* Small pill */

.mod23-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.18rem 0.6rem;
  border-radius: 999px;
  border: 1px solid #d4d4d4;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  background: #f9fafb;
  color: #6b7280;
}

/* Ergebnis-Tabelle Top-5 + Reserven */

.mod23-result-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}

.mod23-result-table th,
.mod23-result-table td {
  border: 1px solid #e5e7eb;
  padding: 0.25rem 0.35rem;
  vertical-align: top;
}

/* NN-Vorschau */

.mod23-nn-grid {
  display: grid;
  gap: 0.5rem;
}

@media (min-width: 900px) {
  .mod23-nn-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Actions */

.mod23-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 0.8rem;
}
