/*
 * Aussteller-Uebersicht (/aussteller/) - Kartenraster
 *
 * Grund: Bei vielen Ausstellern erzeugte das bisherige Markup zwei Probleme:
 * 1. "Weitere Details" folgt im Textfluss direkt auf den Firmennamen. Bei
 *    zweizeiligen Namen rutscht der Button je Karte unterschiedlich weit
 *    nach unten - die Reihen wirken zerrissen. (Diese Site zeigt kein
 *    "Stand N"-Badge; die Regel dafuer greift hier einfach nicht.)
 * 2. Logo-Kachel, Name und Button haben keinen gemeinsamen Kartenrahmen;
 *    bei vielen nahezu identischen Buttons ohne Kontur verliert sich der
 *    Blick beim Scannen.
 * 3. Die Logo-Kachel hatte nur eine Mindesthoehe (min-height). Bei Logos,
 *    die von Haus aus hoeher sind, wuchs die Kachel individuell mit - in
 *    einer Zeile blieben die Kacheln dadurch unterschiedlich hoch.
 *
 * Loesung: Karte wird zur Flex-Spalte (Bricks-Grid stretcht die <li> ohnehin
 * auf die Zeilenhoehe), Stand-Badge und Button werden per margin-top:auto /
 * Flex-Reihenfolge auf eine gemeinsame Grundlinie gezogen, dazu ein
 * einheitlicher Kartenrahmen und ein ruhigerer Button in der Primaerfarbe
 * statt des bisherigen Buttons ohne Fuellung. Zielklassen sind die stabilen
 * BEM-Namen aus dem Bricks-Template (exhibitor-list-card__*), keine der
 * zufaelligen brxe-*-Hashes.
 *
 * Uebernommen 24.08.2026 aus dem Kulmbacher Repo (dort erstmals umgesetzt,
 * dort ausfuehrlicher getestet) - byte-identisch, da die BEM-Klassen und
 * Design-Tokens (--primary, --base-light, --neutral, --space-xs, ...)
 * projektuebergreifend gleich heissen, nur ihre Werte je Marke variieren.
 */

.exhibitor-list-card {
  display: flex;
  flex-direction: column;
  background-color: var(--white);
  border: 1px solid var(--base-light);
  margin-bottom: 0 !important; /* Rhythmus kommt allein vom Grid-Gap */
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.exhibitor-list-card:hover {
  border-color: var(--primary);
  box-shadow: var(--box-shadow-m);
}

.exhibitor-list-card__media-wrapper .brxe-div {
  height: 8.5rem !important; /* fest statt min-height: sonst wird die Kachel je nach Logo-Hoehe unterschiedlich hoch */
  overflow: hidden;
  border-bottom: 1px solid var(--base-light);
  padding: var(--space-xs) !important;
  box-sizing: border-box;
}

.exhibitor-list-card__logo {
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
}

.exhibitor-list-card__content-wrapper {
  flex: 1 1 auto;
  display: flex !important;
  flex-direction: column;
  gap: var(--space-xs) !important;
  padding: var(--space-xs);
}

.exhibitor-list-card__heading {
  margin: 0;
}

.exhibitor-list-card__stand {
  margin-top: auto; /* haengt sich an den unteren Rand des Inhaltsblocks - egal wie lang der Name ist */
  align-self: flex-start;
  background-color: var(--neutral) !important;
  color: var(--base-semi-dark) !important;
  font-weight: 600;
}

.exhibitor-list-card__button {
  margin: 0 !important;
  width: 100%;
  text-align: center;
  border-radius: 0 !important;
  background-color: var(--primary) !important;
  border: none !important;
  color: var(--white) !important;
}

.exhibitor-list-card__button:hover {
  background-color: var(--primary-hover) !important;
}

@media (prefers-reduced-motion: reduce) {
  .exhibitor-list-card {
    transition: none;
  }
}
