/* Shared event semantics; each design retains its layout and accent palette. */
body { --event-accent: #146738; --event-tint: #edf6e9; --event-ink: #164529; }
body.direction-programm, body.flyer-design { --event-accent: #98206b; --event-tint: #fff2bd; --event-ink: #64204e; }
body.direction-abend { --event-accent: #a9d995; --event-tint: #233b2d; --event-ink: #f2f7eb; }
body [data-event-kind="special"] {
  background: var(--event-tint) !important;
  color: var(--event-ink) !important;
  box-shadow: inset 4px 0 0 var(--event-accent);
  padding-inline: 18px !important;
}
body [data-event-kind="special"] :is(h2,h3,strong,time,time b,time span,p,small,a,.row-arrow) { color: var(--event-ink) !important; }
body [data-event-kind="internal"] {
  background: #f0f0f0 !important;
  color: #595959 !important;
  box-shadow: inset 4px 0 0 #777;
  padding-inline: 18px !important;
}
body [data-event-kind="internal"] :is(h2,h3,strong,time,time b,time span,p,small,a,.row-arrow,summary,.event-date) { color: #595959 !important; }
body [data-event-kind="internal"] time b { background: transparent !important; }
body [data-event-kind="internal"] img { filter: grayscale(1); }
body [data-event-kind] .event-kind-label {
  display: table;
  position: static;
  inset: auto;
  max-width: 100%;
  margin: 8px 0;
  padding: 4px 8px;
  border: 1px solid currentColor;
  border-radius: 3px;
  font: 700 12px/1.4 Arial, sans-serif;
  letter-spacing: 0;
  text-transform: none;
  overflow-wrap: anywhere;
  color: inherit;
}
body [data-event-kind="special"] .event-kind-label { background: var(--event-accent); color: #fff; border-color: var(--event-accent); }
body.direction-abend [data-event-kind="special"] .event-kind-label { color: #17251c; }
body [data-event-kind="internal"] .event-kind-label { background: #e2e2e2; color: #505050; }
body .event-legend-special { color: #146738; font-weight: 700; }
body .event-legend-internal { color: #595959; }

/* Explicit room and time changes include text, so the warning does not rely on color. */
body [data-event-kind] :is(.event-room-warning, .event-time-warning) {
  display: inline-flex; align-items: baseline; gap: .3rem; max-width: 100%; margin: 0; padding: .3rem .6rem;
  border: 1px solid #aa7b16; border-radius: 5px; background: #fff3cc;
  color: #654100 !important; font-size: .9rem; font-weight: 700; line-height: 1.5;
  overflow-wrap: anywhere;
}
body [data-event-kind] :is(.event-room-warning, .event-time-warning) span { color: inherit !important; }
html[data-theme="dark"] body [data-event-kind] :is(.event-room-warning, .event-time-warning) {
  background: #40351d; color: #ffe4a0 !important; border-color: #bc9650;
}

body [data-event-kind] .event-change-warnings { display: flex; flex-wrap: wrap; gap: .4rem; margin: .5rem 0; align-items: flex-start; }
