/* Organisationsfarben: gemeinsame Farbcodes für Karten, Veranstaltungsmarkierungen und Filter. Hier direkt pflegen.
   Bei mehrfach definierten Selektoren gilt die CSS-Kaskade: spätere bzw. spezifischere Regeln können frühere überschreiben. */
/* Organisation identity colours. Dark mode uses brighter versions of the same hues.
   Names remain visible; colour is an additional cue, not the only identifier. */
.programme-event:has(.event-accent-tubaf),
.organisation-card:has(.organisation-label.label-tubaf),
.event-label.label-tubaf,
.organisation-label.label-tubaf,
.filter-chip[data-label-filter="tubaf"] {
  --org-ink: #a84300;
  --org-bright: #fb923c;
  --org-color: var(--org-ink);
}
.programme-event:has(.event-accent-am),
.organisation-card:has(.organisation-label.label-am),
.event-label.label-am,
.organisation-label.label-am,
.organisation-card:has(.organisation-label.label-alte-mensa),
.event-label.label-alte-mensa,
.organisation-label.label-alte-mensa,
.filter-chip[data-label-filter="am"] {
  --org-ink: #806000;
  --org-bright: #facc15;
  --org-color: var(--org-ink);
}
.programme-event:has(.event-accent-eac),
.organisation-card:has(.organisation-label.label-eac),
.event-label.label-eac,
.organisation-label.label-eac,
.filter-chip[data-label-filter="eac"] {
  --org-ink: #087568;
  --org-bright: #2dd4bf;
  --org-color: var(--org-ink);
}
.programme-event:has(.event-accent-stura),
.organisation-card:has(.organisation-label.label-stura),
.event-label.label-stura,
.organisation-label.label-stura,
.filter-chip[data-label-filter="stura"] {
  --org-ink: #086779;
  --org-bright: #22d3ee;
  --org-color: var(--org-ink);
}
.programme-event:has(.event-accent-fak1),
.organisation-card:has(.organisation-label.label-fak1),
.event-label.label-fak1,
.organisation-label.label-fak1,
.filter-chip[data-label-filter="fak1"] {
  --org-ink: #075caa;
  --org-bright: #38bdf8;
  --org-color: var(--org-ink);
}
.programme-event:has(.event-accent-fak2),
.organisation-card:has(.organisation-label.label-fak2),
.event-label.label-fak2,
.organisation-label.label-fak2,
.filter-chip[data-label-filter="fak2"] {
  --org-ink: #4548b2;
  --org-bright: #818cf8;
  --org-color: var(--org-ink);
}
.programme-event:has(.event-accent-fak3),
.organisation-card:has(.organisation-label.label-fak3),
.event-label.label-fak3,
.organisation-label.label-fak3,
.filter-chip[data-label-filter="fak3"] {
  --org-ink: #703db4;
  --org-bright: #a78bfa;
  --org-color: var(--org-ink);
}
.programme-event:has(.event-accent-fak4),
.organisation-card:has(.organisation-label.label-fak4),
.event-label.label-fak4,
.organisation-label.label-fak4,
.filter-chip[data-label-filter="fak4"] {
  --org-ink: #96329b;
  --org-bright: #e879f9;
  --org-color: var(--org-ink);
}
.programme-event:has(.event-accent-fak5),
.organisation-card:has(.organisation-label.label-fak5),
.event-label.label-fak5,
.organisation-label.label-fak5,
.filter-chip[data-label-filter="fak5"] {
  --org-ink: #b52a70;
  --org-bright: #f472b6;
  --org-color: var(--org-ink);
}
.programme-event:has(.event-accent-fak6),
.organisation-card:has(.organisation-label.label-fak6),
.event-label.label-fak6,
.organisation-label.label-fak6,
.filter-chip[data-label-filter="fak6"] {
  --org-ink: #b63242;
  --org-bright: #fb7185;
  --org-color: var(--org-ink);
}
.programme-event:has(.event-accent-racetech),
.organisation-card:has(.organisation-label.label-racetech),
.event-label.label-racetech,
.organisation-label.label-racetech,
.filter-chip[data-label-filter="racetech"] {
  --org-ink: #526b0a;
  --org-bright: #a3e635;
  --org-color: var(--org-ink);
}
.programme-event:has(.event-accent-agu),
.event-label.label-agu,
.filter-chip[data-label-filter="agu"] {
  --org-ink: #16713b;
  --org-bright: #4ade80;
  --org-color: var(--org-ink);
}
.programme-event:has(.event-accent-agq),
.event-label.label-agq,
.filter-chip[data-label-filter="agq"] {
  --org-ink: #7e22a8;
  --org-bright: #d8b4fe;
  --org-color: var(--org-ink);
}
.programme-event:has(.event-accent-akas),
.event-label.label-akas,
.filter-chip[data-label-filter="akas"] {
  --org-ink: #926200;
  --org-bright: #fbbf24;
  --org-color: var(--org-ink);
}
.programme-event:has(.event-accent-beersport),
.organisation-card:has(.organisation-label.label-verein),
.event-label.label-verein,
.organisation-label.label-verein,
.filter-chip[data-label-filter="beersport"] {
  --org-ink: #82532c;
  --org-bright: #d9a36a;
  --org-color: var(--org-ink);
}

/* Interessenfarben der dynamisch geladenen Organisationskarten. */
.organisation-card:has(.organisation-label.label-studium),
.organisation-label.label-studium {
  --org-ink: #086779;
  --org-bright: #22d3ee;
  --org-color: var(--org-ink);
}
.organisation-card:has(.organisation-label.label-kultur),
.organisation-label.label-kultur {
  --org-ink: #96329b;
  --org-bright: #e879f9;
  --org-color: var(--org-ink);
}
.organisation-card:has(.organisation-label.label-technik),
.organisation-label.label-technik {
  --org-ink: #075caa;
  --org-bright: #38bdf8;
  --org-color: var(--org-ink);
}
.organisation-card:has(.organisation-label.label-sport),
.organisation-label.label-sport {
  --org-ink: #82532c;
  --org-bright: #f0ad70;
  --org-color: var(--org-ink);
}
.organisation-card:has(.organisation-label.label-engagement),
.organisation-label.label-engagement {
  --org-ink: #16713b;
  --org-bright: #4ade80;
  --org-color: var(--org-ink);
}

html[data-theme="dark"] :is(.programme-event, .organisation-card, .event-label, .organisation-label, .filter-chip[data-label-filter]) {
  --org-color: var(--org-bright, var(--accent));
}
body.festival-design .programme-event .event-accent[class] {
  background: var(--org-color, var(--accent));
  color: var(--org-color, var(--accent));
  width: 6px;
}
body.festival-design .organisation-grid .organisation-card[class] {
  border-top-color: var(--org-color, var(--accent));
}
body.festival-design :is(.event-label[class], .organisation-label[class]) {
  color: var(--org-color, var(--accent));
  background: color-mix(in srgb, var(--org-color, var(--accent)) 12%, var(--surface));
  border-color: var(--org-color, var(--accent));
  opacity: 1;
}
body.festival-design .programme-tools .filter-chip[data-label-filter] {
  color: var(--org-color);
  background: color-mix(in srgb, var(--org-color) 8%, var(--surface));
  border-color: var(--org-color);
  box-shadow: inset 4px 0 0 var(--org-color);
}
body.festival-design .programme-tools .filter-chip[data-label-filter].active {
  background: var(--org-color);
  color: #fff;
  box-shadow: 3px 3px 0 var(--shadow-color);
}
html[data-theme="dark"] body.festival-design .programme-tools .filter-chip[data-label-filter].active {
  color: #190e20;
}
body.festival-design .programme-tools .filter-chip[data-label-filter]:hover {
  outline: 2px solid var(--org-color);
  outline-offset: 2px;
}
