/**
 * idf-popover - Anker-Popover fuer apps-v2
 *
 * Logik: `_shared/blocks/popover/idf-popover.js`
 * Voraussetzung: `_shared/tokens/design-tokens/idf-tokens.css` ist vorher geladen.
 *
 * Der Baustein liefert nur die Huelle (Flaeche, Rand, Schatten, Lage). Was
 * darin steht, bringt der Aufrufer mit. Fuer die haeufigste Fuellung, eine
 * Liste aus Knoepfen, gibt es `.idf-popover-menu` weiter unten.
 */

.idf-popover {
  z-index: var(--z-dropdown, 100);
  min-width: 200px;
  max-width: min(360px, calc(100vw - 16px));
  background: var(--white, #fff);
  border: 1px solid var(--line, #e5e5e5);
  border-radius: var(--radius-md, 6px);
  box-shadow: var(--shadow-md, 0 4px 12px rgba(0, 0, 0, 0.12));
  overflow: hidden;
}

/* ---------- Fuellung: Menue aus Knoepfen ---------- */

/* [hidden] muss explizit gewinnen: `display: flex` ist stärker als das
   UA-`hidden`, und der Menü-Inhalt steht im Markup, solange er nicht geöffnet
   ist. Ohne diese Regel klebt das komplette Menü sichtbar im Header (gemessen
   21.08.2026: es lief am rechten Rand aus dem Bild und sah aus wie ein
   Positionierungs-Fehler des Popovers, obwohl gar keiner offen war). Dieselbe
   Falle wie beim Favoriten-Block der Sidebar. */
.idf-popover-menu[hidden] {
  display: none;
}

.idf-popover-menu {
  display: flex;
  flex-direction: column;
  padding: var(--space-1, 4px);
}

/* Kopfzeile ueber den Eintraegen (Name des angemeldeten Nutzers o.ae.).
   Kein eigener Knopf, nur Auskunft. */
.idf-popover-menu-head {
  padding: var(--space-2, 8px) var(--space-3, 12px);
  border-bottom: 1px solid var(--line, #e5e5e5);
  margin-bottom: var(--space-1, 4px);
  min-width: 0;
}
.idf-popover-menu-head-name {
  display: block;
  font-size: var(--font-md, 0.875rem);
  font-weight: var(--weight-semi, 600);
  color: var(--ink, #111);
  line-height: var(--leading-snug, 1.2);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.idf-popover-menu-head-meta {
  display: block;
  margin-top: 2px;
  font-size: var(--font-xs2, 0.75rem);
  color: var(--mid, #555);
  line-height: var(--leading-snug, 1.2);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Eintrag. Bewusst eine eigene Geometrie statt .idf-btn: ein Menue-Eintrag
   ist linksbuendig und volle Breite, ein Button ist zentriert und so breit
   wie sein Inhalt. Farben und Hover kommen aus denselben Tokens. */
.idf-popover-menu-item {
  display: flex;
  align-items: center;
  gap: var(--space-3, 12px);
  width: 100%;
  padding: var(--space-2, 8px) var(--space-3, 12px);
  border: 0;
  border-radius: var(--radius-sm, 4px);
  background: transparent;
  color: var(--ink, #111);
  font-family: inherit;
  font-size: var(--font-md, 0.875rem);
  font-weight: var(--weight-medium, 500);
  line-height: var(--leading-snug, 1.2);
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.12s ease, color 0.12s ease;
}
.idf-popover-menu-item > i {
  flex: none;
  width: 16px;
  text-align: center;
  color: var(--mid, #555);
}
.idf-popover-menu-item:hover,
.idf-popover-menu-item:focus-visible {
  background: var(--neutral-bg, #f0f1f3);
}
.idf-popover-menu-item:focus-visible {
  outline: none;
  box-shadow: var(--shadow-focus, 0 0 0 3px rgba(22, 126, 160, 0.15));
}

/* Trennlinie zwischen Gruppen im Menue. */
.idf-popover-menu-sep {
  height: 1px;
  margin: var(--space-1, 4px) 0;
  background: var(--line, #e5e5e5);
}

/* Abmelden und Verwandtes: kein Dauer-Rot, erst beim Ansteuern. Eine
   dauerhaft rote Zeile im Menue liest sich als Warnung, obwohl nichts
   passiert ist. */
.idf-popover-menu-item.is-danger:hover,
.idf-popover-menu-item.is-danger:focus-visible {
  background: var(--tint-primary, rgba(200, 19, 75, 0.1));
  color: var(--primary, #c8134b);
}
.idf-popover-menu-item.is-danger:hover > i,
.idf-popover-menu-item.is-danger:focus-visible > i {
  color: var(--primary, #c8134b);
}

/* Touch: groessere Ziele. Haengt am echten Eingabemodus, nicht an einer
   Media-Query - ein Desktop mit Touchscreen bekaeme sonst Fingerabstaende
   fuer die Maus (#450). */
html[data-input-mode="touch"] .idf-popover-menu-item {
  min-height: 44px;
  font-size: var(--font-base, 1rem);
}
