/* Kompass: Handlungsfelder und Konkretionen des Kerncurriculums */

.werkzeugzeile { display: flex; flex-wrap: wrap; gap: var(--eng); align-items: center; margin: 1.1rem 0 .4rem; }
.suche {
  flex: 1 1 16rem; min-height: 2.625rem; padding: .4rem .9rem;
  border: 1px solid var(--linie-fest); border-radius: var(--rund-pille);
  background: var(--blatt); color: var(--tinte); font: inherit;
}
.suche:focus-visible { outline: 3px solid var(--akzent); }

/* Kopf des Handlungsfelds */
.feld { border-top: 4px solid var(--akzent); padding: 1.2rem 1.3rem 1.4rem; }
.feld h2 { font-size: clamp(1.5rem, 3.4vw, 2rem); margin: 0 0 .4rem; }
.feld .id { color: var(--akzent); font-weight: 700; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 .3rem; }
.kompetenzen { margin: 1rem 0 1.2rem; padding: .9rem 1.1rem; border-left: 4px solid var(--akzent); background: var(--akzent-hell); border-radius: 6px; }
.kompetenzen h3 { margin: 0 0 .4rem; font-size: 1.1rem; }
.kompetenzen p { margin: .35rem 0; font-size: .96rem; }
.kompetenzen .nr { font-weight: 700; color: var(--akzent); }
.kompetenzen .hinweis { color: var(--tinte-leise); font-size: .85rem; }

.kopfzeile-liste { display: flex; flex-wrap: wrap; align-items: center; gap: var(--eng); margin: 1rem 0 .5rem; }
.kopfzeile-liste h3 { margin: 0; font-size: 1.25rem; flex: 1 1 auto; }

/* Konkretionen */
.konkretionen { display: grid; gap: var(--eng); }
details.konkretion { border-left: 4px solid var(--akzent); }
details.konkretion > summary {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .8rem; align-items: start;
  padding: .85rem 1rem; cursor: pointer; list-style: none;
}
details.konkretion > summary::-webkit-details-marker { display: none; }
details.konkretion[open] > summary { background: var(--akzent-hell); border-radius: 0 var(--rund) 0 0; }
details.konkretion .nummer {
  min-width: 2.4rem; padding: .05rem .5rem; text-align: center; border-radius: var(--rund-pille);
  background: var(--akzent-hell); color: var(--akzent); font-weight: 700; font-size: .85rem;
}
details.konkretion[open] .nummer { background: var(--blatt); }
details.konkretion .wortlaut { font-weight: 600; }
details.konkretion .aufklapp { color: var(--akzent); transition: transform .15s ease; font-size: 1.1rem; line-height: 1.4; }
details.konkretion[open] .aufklapp { transform: rotate(90deg); }
.inhalt { padding: .9rem 1rem 1.1rem 4.2rem; }
@media (max-width: 640px) { .inhalt { padding-left: 1rem; } details.konkretion > summary { grid-template-columns: auto minmax(0, 1fr); } details.konkretion .aufklapp { display: none; } }

.meta { display: flex; flex-wrap: wrap; gap: .5rem .8rem; align-items: center; margin: 0 0 .9rem; font-size: .85rem; color: var(--tinte-leise); }
.meta .marke { background: var(--akzent-hell); color: var(--akzent); }
.ideen { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--spalte); }
@media (max-width: 860px) { .ideen { grid-template-columns: minmax(0, 1fr); } }
.idee { padding: .8rem .9rem .9rem; background: color-mix(in srgb, var(--akzent-hell) 55%, var(--blatt)); border: 1px solid var(--linie); border-radius: 10px; }
.idee h5 { margin: 0 0 .3rem; font-size: .76rem; letter-spacing: .07em; text-transform: uppercase; color: var(--akzent); }
.idee p { margin: 0; font-size: .95rem; }

.bezuege { margin-top: 1.3rem; }
.bezuege details { border-left: 4px solid var(--akzent); }
.bezuege summary { padding: .7rem 1rem; cursor: pointer; font-weight: 600; }
.bezuege .rumpf { padding: 0 1rem 1rem; display: grid; gap: .8rem; }
.bezuege h4 { margin: 0 0 .3rem; font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; color: var(--akzent); }
.bezuege ul { display: flex; flex-wrap: wrap; gap: var(--eng); margin: 0; padding: 0; list-style: none; }
.bezuege li { padding: .1rem .6rem; border-radius: var(--rund-pille); border: 1px solid var(--linie-fest); font-size: .88rem; background: var(--blatt); }
.bezuege p { margin: 0; font-size: .92rem; color: var(--tinte-leise); }

/* Leitlinie */
.leitlinie ul { padding-left: 1.2rem; }
.leitlinie li { margin: .4rem 0; }
.leitlinie .ausgangspunkt { padding: .9rem 1.1rem; border-left: 4px solid var(--akzent); background: var(--akzent-hell); border-radius: 6px; }

/* Suchergebnisse */
.treffer-hinweis { margin: .8rem 0; color: var(--tinte-leise); }
.treffer-feld { display: inline-flex; align-items: center; gap: .3rem; font-size: .75rem; font-weight: 700; color: var(--akzent); margin-right: .4rem; }

.nachschlagen { margin: .6rem 0 .8rem; font-size: .9rem; color: var(--tinte-leise); }
.nachschlagen a { font-weight: 600; }
.quer-feld { display: flex; align-items: center; gap: .6rem; margin: 1.4rem 0 .5rem; font-size: 1.3rem; }
.quer-feld .buchstabe { --b: 2rem; }

/* Einladender: Feldwahl als Kacheln, Vorschau, Icons */
.felder-wahl { grid-template-columns: repeat(3, minmax(0, 1fr)); margin: .4rem 0 1.2rem; }
.felder-wahl .kat[aria-selected="true"] { background: var(--akzent); border-color: var(--akzent); color: var(--akzent-text); }
.felder-wahl .kat[aria-selected="true"] small { color: var(--akzent-text); }
.felder-wahl .kat[aria-selected="true"] .buchstabe { background: color-mix(in srgb, var(--akzent-text) 22%, transparent); color: var(--akzent-text); }
.felder-wahl .kat { border-top: 3px solid var(--akzent); }
.feld-kurz { color: var(--tinte-leise); margin: .2rem 0 .8rem; max-width: var(--lesebreite); }
details.kompetenzen { padding: 0; }
details.kompetenzen > summary { cursor: pointer; padding: .7rem 1rem; font-weight: 700; color: var(--akzent); list-style: none; }
details.kompetenzen > summary::-webkit-details-marker { display: none; }
details.kompetenzen > summary::after { content: ' ›'; }
details.kompetenzen[open] > summary::after { content: ' ⌄'; }
details.kompetenzen > p { margin: .35rem 1rem; }
details.kompetenzen[open] { padding-bottom: .6rem; }
.nachschlage-leiste { display: grid; gap: .2rem; }
.nachschlage-leiste .nachschlagen { margin: 0; }
details.konkretion .vorschau { display: block; margin-top: .35rem; font-weight: 400; font-size: .88rem; color: var(--tinte-leise); }
details.konkretion .vorschau .ic { color: var(--gold); }
details.konkretion[open] .vorschau { display: none; }
details.konkretion .perspektive { display: inline-flex; align-items: center; gap: .25rem; margin-top: .35rem; padding: .05rem .5rem; border-radius: var(--rund-pille); background: var(--akzent-hell); color: var(--akzent); font-size: .72rem; font-weight: 700; }
details.konkretion[open] .perspektive { display: none; }
.idee h5 { display: flex; align-items: center; gap: .35rem; }
.idee h5 .ic { width: 1rem; height: 1rem; }
.idee.probieren { background: var(--gold-hell); border-color: color-mix(in srgb, var(--gold) 35%, transparent); }
.idee.probieren h5 { color: var(--gold); }
.kopfzeile-liste .knopf { display: inline-flex; align-items: center; gap: .35rem; }
.felder-wahl[hidden] { display: none; }
.felder-wahl { margin: 1.2rem 0 .2rem; }
details.konkretion .vorschau { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
@media (max-width: 560px) {
  details.konkretion .wortlaut { font-size: .95rem; }
  details.konkretion > summary { padding: .75rem .8rem; gap: .6rem; }
  .felder-wahl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .felder-wahl .kat b { hyphens: auto; }
}
