.messe-banner { display: none; }
html[data-messe-banner="1"] .messe-banner--1,
html[data-messe-banner="2"] .messe-banner--2,
html[data-messe-banner="3"] .messe-banner--3,
html[data-messe-banner="4"] .messe-banner--4 { display: flex; }
html[data-messe-banner="1"],
html[data-messe-banner="2"],
html[data-messe-banner="3"] { --messe-banner-h: 2.25rem; }
html[data-messe-banner="4"] { --messe-banner-h: 2rem; }
@media (min-width: 768px) {
  html[data-messe-banner="2"],
  html[data-messe-banner="3"] { --messe-banner-h: 2.5rem; }
}
.messe-banner {
  position: relative;
  align-items: stretch;
  height: var(--messe-banner-h);
  overflow: hidden;
  font-family: var(--font-body);
  font-size: 0.8125rem;
  line-height: 1;
  color: var(--color-text-muted);
}
.messe-banner strong { font-weight: var(--fw-semibold); color: var(--color-text); }
.messe-banner__link {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding-inline: var(--gutter);
  color: inherit;
  text-decoration: none;
}
.messe-banner__link:focus-visible { outline: 2px solid var(--color-focus); outline-offset: -4px; border-radius: var(--radius-xs); }
.messe-banner__zu {
  display: inline-grid;
  flex: none;
  place-items: center;
  width: max(2rem, var(--messe-banner-h));
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--color-text-subtle);
  transition: color var(--dur-fast) var(--ease-out);
}
.messe-banner__zu .icon { width: 1rem; height: 1rem; }
.messe-banner__zu:hover { color: var(--color-text); }
.messe-banner__zu:focus-visible { outline-offset: -4px; border-radius: var(--radius-xs); }
.messe-banner__teil { display: inline-flex; flex: none; align-items: center; gap: 0.375rem; white-space: nowrap; }
.messe-banner__teil--link { color: var(--color-accent-text); font-weight: var(--fw-semibold); }
.messe-banner__pfeil { width: 0.875rem; height: 0.875rem; transition: transform var(--dur-fast) var(--ease-out); }
.messe-banner__link:hover .messe-banner__teil--link { text-decoration: underline; text-underline-offset: 0.2em; }
.messe-banner__link:hover .messe-banner__pfeil { transform: translateX(2px); }
.messe-banner .mb-kurz { display: none; }
@media (max-width: 767.98px) {
  .messe-banner .mb-lang { display: none; }
  .messe-banner .mb-kurz { display: inline; }
}
html[data-messe-banner] .site-header:not(.is-condensed) { top: calc(var(--header-top) + var(--messe-banner-h)); }
html[data-messe-banner] .admin-bar .site-header:not(.is-condensed) { top: calc(var(--header-top) + var(--messe-banner-h) + 32px); }
@media (max-width: 782px) {
  html[data-messe-banner] .admin-bar .site-header:not(.is-condensed) { top: calc(var(--header-top) + var(--messe-banner-h) + 46px); }
}
html[data-messe-banner] .site-header:not(.is-condensed) .mega {
  max-height: calc(100vh - var(--header-h) - 3rem - var(--messe-banner-h));
  max-height: calc(100dvh - var(--header-h) - 3rem - var(--messe-banner-h));
}
@media (min-width: 1024px) {
  html[data-messe-banner] .home-hero { height: clamp(46rem, calc(100svh - var(--messe-banner-h)), 68rem); }
  html[data-messe-banner] .mx-hero { min-height: min(calc(100svh - var(--messe-banner-h)), 62rem); }
}
.messe-banner__lauf {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  align-self: stretch;
  min-width: 0;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 var(--space-7), #000 calc(100% - var(--space-7)), transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0, #000 var(--space-7), #000 calc(100% - var(--space-7)), transparent 100%);
}
.messe-banner__spur {
  display: flex;
  flex: none;
  width: max-content;
  animation: messe-banner-lauf var(--mb-dauer, 60s) linear infinite;
}
.messe-banner__satz { display: flex; flex: none; align-items: center; }
.messe-banner:hover .messe-banner__spur,
.messe-banner:focus-within .messe-banner__spur { animation-play-state: paused; }
@keyframes messe-banner-lauf {
  from { transform: translate3d(0, 0, 0); }
  to   { transform: translate3d(-50%, 0, 0); }
}
.messe-banner__trenner {
  flex: none;
  width: 0.3125rem;
  height: 0.3125rem;
  margin-inline: 1.125rem;
  background: var(--color-accent);
  transform: rotate(45deg);
}
.messe-banner__still { display: none; }
@media (prefers-reduced-motion: reduce) {
  .messe-banner__lauf { display: none; }
  .messe-banner__spur { animation: none; }
  .messe-banner__still { display: flex; flex: 1 1 auto; align-items: center; justify-content: center; min-width: 0; overflow: hidden; }
  .messe-banner__still .messe-banner__trenner { margin-inline: 0.75rem; }
}
@media (prefers-reduced-motion: reduce) and (max-width: 767.98px) {
  .messe-banner__still .messe-banner__teil--link .mb-text { display: none; }
  .messe-banner__still .messe-banner__trenner { margin-inline: 0.5rem; }
  .messe-banner__still .messe-banner__teil--stand { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  .messe-banner--3 .messe-banner__still { letter-spacing: 0.04em; }
  .messe-banner--3 .messe-banner__still .messe-banner__teil--link,
  .messe-banner--3 .messe-banner__still .messe-banner__trenner:nth-last-child(2) { display: none; }
}
.messe-banner--1 {
  --mb-dauer: 78s;
  background: var(--surface-metal);
  border-bottom: 1px solid var(--color-border);
  box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .6);
}
.messe-banner--1 .messe-banner__link { padding-inline: 0; }
.messe-banner--2 {
  background: var(--color-surface);
  border-bottom: 1px solid var(--color-border);
  font-size: 0.875rem;
}
.messe-banner--2::before { content: ""; flex: none; width: max(2rem, var(--messe-banner-h)); }
.messe-banner__zeile { display: flex; align-items: center; min-width: 0; white-space: nowrap; }
.messe-banner--2 .messe-banner__marke {
  flex: none;
  width: 0.4375rem;
  height: 0.4375rem;
  margin-right: 0.75rem;
  background: var(--color-accent);
  transform: rotate(45deg);
}
.messe-banner--2 .messe-banner__teil + .messe-banner__teil {
  margin-left: 0.875rem;
  padding-left: 0.875rem;
  border-left: 1px solid var(--color-divider);
}
.messe-banner--2 .messe-banner__teil--link { margin-left: 1.25rem; padding-left: 0; border-left: 0; }
@media (max-width: 767.98px) {
  .messe-banner--2 { font-size: 0.75rem; }
  .messe-banner--2::before { display: none; }
  .messe-banner--2 .messe-banner__link { justify-content: flex-start; padding-right: 0; }
  .messe-banner--2 .messe-banner__marke { width: 0.375rem; height: 0.375rem; margin-right: 0.5rem; }
  .messe-banner--2 .messe-banner__teil--datum { display: none; }
  .messe-banner--2 .messe-banner__teil + .messe-banner__teil { margin-left: 0.5rem; padding-left: 0.5rem; }
  .messe-banner--2 .messe-banner__teil--stand { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  .messe-banner--2 .messe-banner__teil--link { margin-left: 0.5rem; }
  .messe-banner--2 .messe-banner__teil--link .mb-text { display: none; }
}
.messe-banner--3 {
  --mb-dauer: 90s;
  --color-focus: var(--color-focus-on-dark);
  background: var(--metal-hairline-dark), var(--graphite-900);
  color: var(--color-text-inverse-muted);
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}
.messe-banner--3 .messe-banner__link { justify-content: flex-start; padding-inline: 0; }
.messe-banner--3 .messe-banner__schild {
  display: flex;
  flex: none;
  align-items: center;
  align-self: stretch;
  padding: 0 1.75rem 0 var(--gutter);
  background: var(--red-500);
  color: var(--color-on-accent);
  font-weight: var(--fw-semibold);
  clip-path: polygon(0 0, 100% 0, calc(100% - 0.75rem) 100%, 0 100%);
}
.messe-banner--3 .messe-banner__lauf { margin-left: -0.75rem; }
.messe-banner--3 .messe-banner__trenner { background: var(--red-400); }
.messe-banner--3 .messe-banner__teil--link { color: var(--steel-50); }
.messe-banner--3 .messe-banner__zu { color: var(--color-text-inverse-muted); }
.messe-banner--3 .messe-banner__zu:hover { color: #fff; }
@media (max-width: 767.98px) {
  .messe-banner--3 { font-size: var(--fs-micro); }
  .messe-banner--3 .messe-banner__schild { padding-right: 1.375rem; }
}
.messe-banner--4 {
  background: var(--color-surface-2);
  border-bottom: 1px solid var(--color-border);
  font-size: 0.8125rem;
}
.messe-banner--4::before { content: ""; flex: none; width: max(2rem, var(--messe-banner-h)); }
.messe-banner--4 .messe-banner__zeile { gap: 0.625rem; }
.messe-banner--4 .messe-banner__datum {
  flex: none;
  padding: 0.3125rem 0.5rem;
  border-radius: var(--radius-pill);
  background: var(--color-surface);
  box-shadow: inset 0 0 0 1px rgba(217, 0, 26, .28);
  color: var(--color-accent-text);
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  font-weight: var(--fw-semibold);
  letter-spacing: 0.04em;
}
.messe-banner--4 .messe-banner__teil--stand { color: var(--color-text-muted); }
.messe-banner--4 .messe-banner__teil--link { color: var(--color-accent-text); }
@media (max-width: 767.98px) {
  .messe-banner--4 { font-size: 0.75rem; }
  .messe-banner--4::before { display: none; }
  .messe-banner--4 .messe-banner__link { justify-content: flex-start; padding-right: 0; }
  .messe-banner--4 .messe-banner__zeile { gap: 0.5rem; }
  .messe-banner--4 .messe-banner__teil--stand { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
}
@media (max-width: 379.98px) {
  .messe-banner--2,
  .messe-banner--4 { font-size: 0.6875rem; }
  .messe-banner--4 .messe-banner__datum { padding-inline: 0.4375rem; font-size: 0.625rem; }
}
@media (prefers-reduced-motion: reduce) and (max-width: 379.98px) {
  .messe-banner--1 .messe-banner__still .messe-banner__teil--link,
  .messe-banner--1 .messe-banner__still .messe-banner__trenner:nth-last-child(2) { display: none; }
  .messe-banner--3 .messe-banner__schild { padding: 0 1.125rem 0 0.75rem; }
  .messe-banner--3 .messe-banner__still { letter-spacing: 0; }
  .messe-banner--3 .messe-banner__still .messe-banner__trenner { margin-inline: 0.375rem; }
}
.uz-event:target { border-color: var(--color-accent); box-shadow: 0 0 0 1px var(--color-accent); }
@media (forced-colors: active) {
  .messe-banner { border-bottom: 1px solid CanvasText; }
  .messe-banner__trenner, .messe-banner--2 .messe-banner__marke { background: CanvasText; }
  .messe-banner--3 .messe-banner__schild { clip-path: none; border-right: 1px solid CanvasText; }
}
@media print {
  .messe-banner { display: none !important; }
  html[data-messe-banner] .site-header:not(.is-condensed) { top: var(--header-top); }
}
