/*
 * Klassen-Liste im Akkordeon-Stil (wie Bestiary/Spells/Magic Items, im
 * Waldemaster-Design). Praefix wm-wcl-, Wurzel #wclApp. Bausteine aus
 * wsc-shared.css (Farben, Typo).
 */
.wm-wcl-app{ margin: 0 auto; max-width: var(--wsc-content-width, 1000px); }
.wm-wcl-subrow{ display:flex; justify-content:space-between; align-items:flex-end; gap:12px; flex-wrap:wrap; margin-bottom:10px; }
.wm-wcl-sub{ font-size: 12.5px; color: var(--wm-muted); max-width: 680px; }
.wm-wcl-count{ font-size: 12px; font-weight: 700; color: var(--wm-teal); white-space: nowrap; }

.wm-wcl-filters{ margin-bottom: 12px; }
.wm-wcl-field{ display:flex; flex-direction:column; gap:4px; }
.wm-wcl-field-grow{ max-width: 340px; }
.wm-wcl-flabel{ font-size: 11px; font-weight:700; letter-spacing:.4px; color: var(--wm-muted); text-transform: uppercase; }
.wm-wcl-search{ font-family:inherit; font-size:14px; padding:7px 10px; border:1px solid var(--wm-divider); border-radius:6px; background:#fff; }

/* ---- Zeilen ---- */
.wm-wcl-list{ display:flex; flex-direction:column; gap:8px; }
.wm-wcl-item{ border:1px solid var(--wm-divider); border-radius:8px; background:#fff; overflow:hidden; }
.wm-wcl-head{ display:flex; align-items:center; gap:12px; padding:10px 14px; cursor:pointer; }
.wm-wcl-head:hover{ background: var(--wm-panel, #f7f4ec); }
.wm-wcl-icon{ font-size:22px; width:40px; height:40px; display:flex; align-items:center; justify-content:center; background:var(--wm-panel,#efeadd); border-radius:8px; flex:0 0 40px; }
.wm-wcl-name{ flex:1 1 auto; min-width:0; }
.wm-wcl-name-title{ font-family:Georgia,serif; font-weight:700; font-size:17px; color:var(--wm-teal); }
.wm-wcl-name-sub{ font-size:12px; color:var(--wm-muted); }
.wm-wcl-toggle{ flex:0 0 auto; width:30px; height:30px; border:1px solid var(--wm-divider); background:#fff; border-radius:50%; font-size:18px; line-height:1; color:var(--wm-teal); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; padding:0; font-family:inherit; }

.wm-wcl-item .wm-wcl-body{ display:none; }
.wm-wcl-item.is-open .wm-wcl-body{ display:block; padding:4px 18px 18px; border-top:1px solid var(--wm-divider); }

/* ---- Inhalt ---- */
.wm-wcl-desc{ font-size:15px; line-height:1.55; margin:12px 0; color:var(--wm-ink,#2b2b2b); }
.wm-wcl-traits{ display:grid; grid-template-columns: 1fr; gap:4px; border:1px solid var(--wm-divider); border-radius:8px; padding:10px 12px; background:var(--wm-panel,#f7f4ec); margin-bottom:6px; }
.wm-wcl-trait{ display:flex; gap:10px; font-size:13px; line-height:1.4; }
.wm-wcl-trait-k{ flex:0 0 160px; font-weight:700; color:var(--wm-muted); }
.wm-wcl-trait-v{ flex:1 1 auto; }

.wm-wcl-h{ font-family:Georgia,serif; font-size:15px; color:var(--wm-teal); margin:18px 0 8px; padding-bottom:5px; border-bottom:2px solid var(--wm-gold,#b8912f); }
.wm-wcl-h--sub{ margin-top:6px; }

.wm-wcl-table{ width:100%; border-collapse:collapse; font-size:13px; margin-bottom:8px; }
.wm-wcl-table th{ text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:.4px; color:var(--wm-muted); border-bottom:1px solid var(--wm-divider); padding:5px 8px; }
.wm-wcl-table td{ border-bottom:1px solid var(--wm-divider); padding:5px 8px; vertical-align:top; }
.wm-wcl-th-lvl, .wm-wcl-td-lvl{ width:52px; white-space:nowrap; font-weight:700; }
.wm-wcl-table tr:last-child td{ border-bottom:0; }

.wm-wcl-feat{ margin:10px 0; }
.wm-wcl-feat-head{ display:flex; align-items:baseline; gap:8px; margin-bottom:2px; }
.wm-wcl-feat-lvl{ font-size:11px; font-weight:700; color:#fff; background:var(--wm-teal); border-radius:4px; padding:1px 6px; white-space:nowrap; }
.wm-wcl-feat-name{ font-family:Georgia,serif; font-weight:700; font-size:14px; color:var(--wm-ink,#2b2b2b); }
.wm-wcl-feat-text{ font-size:15px; line-height:1.55; }
.wm-wcl-feat-text p{ margin:6px 0; }

.wm-wcl-subclass{ margin-top:16px; border:1px solid var(--wm-divider); border-radius:8px; padding:2px 14px 12px; background:var(--wm-panel,#faf8f2); }
.wm-wcl-sub-tag{ font-style:italic; color:var(--wm-muted); font-size:13px; margin-bottom:4px; }

.wm-wcl-source{ margin-top:14px; font-size:11px; color:var(--wm-muted); text-align:right; }
.wm-wcl-nores{ padding:20px; text-align:center; color:var(--wm-muted); }

@media (max-width:600px){
  .wm-wcl-trait-k{ flex-basis:120px; }
}

/* Offener Eintrag deutlich hervorheben (Muster wie Zauber-/Item-Liste). */
.wm-wcl-item{ transition:box-shadow .15s ease, border-color .15s ease; }
.wm-wcl-item.is-open{ border-color:var(--wm-teal); box-shadow:0 1px 6px rgba(12,133,123,.12); }
.wm-wcl-item.is-open .wm-wcl-head{ background:var(--wm-panel,#f7f4ec); }
