/*
 * Lumen Layout - Suchvorschläge der globalen Suche (Dropdown unter dem Topbar-Suchfeld).
 *
 * Das Markup kommt als HTML-Fragment der Action "globalsucheVorschlaege"
 * (js/components/suchvorschlaege.js). Die Trefferzeilen stammen aus denselben
 * Suchgruppen-Sichten wie die Trefferseite und nutzen deren .termin-/.reg-Zeilen;
 * die Originalstile liegen in components/dashboard.css und sind nur auf
 * Dashboard/Trefferseite eingebunden - hier deshalb eigenständige, auf
 * .suchvorschlaege gescopte Kompakt-Varianten (kleinere Abstände fürs Dropdown).
 */

/* Panel unter dem Suchfeld (.topbar .search ist position: relative). Stil wie das
   Benutzermenü der Topbar (.usermenu-menu), gleicher z-index über der sticky Topbar. */
.suchvorschlaege {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  z-index: 30;
  padding: 6px 14px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow);
  max-height: min(70vh, 34rem);
  overflow-y: auto;
}

.suchvorschlaege-gruppe {
  padding: 8px 0 4px;
  border-top: 1px solid var(--line-2);
}

.suchvorschlaege-gruppe:first-child {
  border-top: none;
}

.suchvorschlaege-gruppe-titel {
  font-size: 0.65625rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--ink-3);
}

/* Meldung ohne Treffer (Wortlaut der Trefferseite) */
.suchvorschlaege-leer {
  margin: 0;
  padding: 8px 0;
  font-size: 0.8125rem;
  color: var(--ink-2);
}

/* Platzhalter der nachgeladenen DMZ-Gruppe ("Dokumente - Werden gesucht …",
   siehe suchvorschlaege.js) */
.suchvorschlaege-laedt {
  margin: 0;
  padding: 6px 2px;
  font-size: 0.75rem;
  font-style: italic;
  color: var(--ink-3);
}

/* Link auf die vollständige Trefferseite am Listenende (wie .termine-alle) */
.suchvorschlaege-alle {
  display: block;
  padding: 10px 0;
  border-top: 1px solid var(--line-2);
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--teal-d);
  text-decoration: none;
}

.suchvorschlaege-alle:hover,
.suchvorschlaege-alle:focus-visible {
  text-decoration: underline;
}

/* Hinweis unter gekappten Gruppen ("Suchbegriff verfeinern") */
.suchvorschlaege .globalsuche-weitere {
  margin: 0;
  padding: 4px 2px 6px;
  font-size: 0.71875rem;
  font-weight: 500;
  color: var(--ink-3);
}

/* --- Kompakte .termin-Zeilen (Kurse, Termine, Räume, Dokumente, Nachrichten,
       Navigation) --- */

.suchvorschlaege .termine {
  display: flex;
  flex-direction: column;
}

.suchvorschlaege .termin {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 2px;
  color: var(--ink);
  text-decoration: none;
}

.suchvorschlaege .termin:hover,
.suchvorschlaege .termin:focus-visible {
  text-decoration: none;
}

.suchvorschlaege .termin:hover .termin-title {
  color: var(--teal-d);
}

.suchvorschlaege .termin:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
  border-radius: var(--radius-sm);
}

/* Link-Affordanz wie in den Dashboard-Zeilen: dekoratives Chevron am Zeilenende
   (nur bei verlinkten Zeilen - unverlinkte Treffer sind <span class="termin">). */
.suchvorschlaege a.termin::after {
  content: "\203a";
  content: "\203a" / "";
  flex: 0 0 auto;
  font-size: 1.125rem;
  line-height: 1;
  color: var(--ink-3);
  transition: transform 0.12s, color 0.12s;
}

.suchvorschlaege a.termin:hover::after,
.suchvorschlaege a.termin:focus-visible::after {
  color: var(--teal-d);
  transform: translateX(3px);
}

.suchvorschlaege .termin-icon {
  flex: 0 0 32px;
  display: grid;
  place-items: center;
  color: var(--teal);
  font-size: 0.9375rem;
}

/* Die Lupen-Regel der Topbar (.topbar .search .fa, position: absolute) trifft alle
   FA-Icons im Suchformular - für die Zeilen-Icons im Dropdown zurücksetzen
   (gleiche Spezifität, diese Datei ist später eingebunden). */
.suchvorschlaege .termin-icon .fa {
  position: static;
  transform: none;
  color: inherit;
}

/* Datumsblock der Termin-Treffer, kompakt gestapelt */
.suchvorschlaege .termin-date {
  flex: 0 0 40px;
  display: flex;
  flex-direction: column;
  text-align: center;
  line-height: 1.1;
}

.suchvorschlaege .termin-date--heute .termin-wd,
.suchvorschlaege .termin-date--heute .termin-day {
  color: var(--red);
}

.suchvorschlaege .termin-wd {
  font-size: 0.59375rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--ink-3);
}

.suchvorschlaege .termin-wd abbr {
  text-decoration: none;
  cursor: inherit;
}

.suchvorschlaege .termin-day {
  font-size: 1rem;
  font-weight: 800;
}

.suchvorschlaege .termin-mon {
  font-size: 0.625rem;
  font-weight: 600;
  color: var(--ink-3);
}

.suchvorschlaege .termin-time {
  flex: 0 0 auto;
  font-size: 0.71875rem;
  font-weight: 600;
  color: var(--ink-3);
  white-space: nowrap;
}

.suchvorschlaege .termin-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.suchvorschlaege .termin-title {
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.suchvorschlaege .termin-meta {
  font-size: 0.71875rem;
  font-weight: 500;
  color: var(--ink-3);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* --- Kompakte .reg-Zeilen (Teilnehmende, Adressen, Dozenten) --- */

.suchvorschlaege .regs {
  display: flex;
  flex-direction: column;
}

.suchvorschlaege .reg {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 2px;
  color: var(--ink);
  text-decoration: none;
}

.suchvorschlaege .reg:hover,
.suchvorschlaege .reg:focus-visible {
  text-decoration: none;
}

.suchvorschlaege .reg:hover .reg-name {
  color: var(--teal-d);
}

.suchvorschlaege .reg:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
  border-radius: var(--radius-sm);
}

.suchvorschlaege a.reg::after {
  content: "\203a";
  content: "\203a" / "";
  flex: 0 0 auto;
  font-size: 1.125rem;
  line-height: 1;
  color: var(--ink-3);
  transition: transform 0.12s, color 0.12s;
}

.suchvorschlaege a.reg:hover::after,
.suchvorschlaege a.reg:focus-visible::after {
  color: var(--teal-d);
  transform: translateX(3px);
}

/* Initialen-Avatar; Farbklassen wie dashboard.css (aus dem Namen gehasht) */
.suchvorschlaege .reg-avatar {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #fff;
  background: var(--teal);
}

.suchvorschlaege .reg-avatar-1 {
  background: var(--teal);
}

.suchvorschlaege .reg-avatar-2 {
  background: #8b5cf6;
}

.suchvorschlaege .reg-avatar-3 {
  background: #0ea5e9;
}

.suchvorschlaege .reg-avatar-4 {
  background: var(--orange);
}

.suchvorschlaege .reg-avatar-5 {
  background: var(--green);
}

.suchvorschlaege .reg-avatar-6 {
  background: #64748b;
}

.suchvorschlaege .reg-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.suchvorschlaege .reg-name {
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.3;
}

.suchvorschlaege .reg-zeile,
.suchvorschlaege .reg-meta {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.suchvorschlaege .reg-meta {
  font-size: 0.71875rem;
  font-weight: 500;
  color: var(--ink-3);
}
