/* bottom-sheet.css — Organigramm Bottom-Sheet (Profilkarte mobil)

   Quelle: extrahiert aus mein-bereich.css ("Bottom-Sheet (Profilkarte
   mobil)"-Block). Inhalt 1:1.

   Konsumenten: web/js/sections/organigramm.js — auf Mobile (<600px) wird
   die Profilkarte als Bottom-Sheet (slide-up vom unteren Rand) statt als
   Popover-Card gerendert. Drag-handle oben, max-height: 85vh, scrollbar.
   ========================================================================== */

.org-bs-overlay {
  position: fixed;
  inset: 0;
  background: var(--lod-scrim);  /* Scrim-SSOT (tokens.css) */
  z-index: var(--z-bottom-sheet-backdrop);
  opacity: 0;
  transition: opacity var(--duration-normal) var(--ease-default);
}
.org-bs-overlay.org-bs-visible { opacity: 1; }
.org-bs {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: var(--z-bottom-sheet);
  background: var(--color-surface);
  border-radius: var(--radius-xl) var(--radius-xl) 0 0;
  box-shadow: var(--shadow-16);
  max-height: 85vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transform: translateY(100%);
  transition: transform var(--duration-slow) var(--ease-drawer);
}
.org-bs.org-bs-visible { transform: translateY(0); }
.org-bs-handle {
  display: flex;
  justify-content: center;
  padding: var(--space-2) 0 var(--space-1);
  cursor: grab;
}
.org-bs-handle-bar {
  width: 36px;
  height: 4px;
  border-radius: var(--radius-xxs);
  background: var(--color-border);
}
.org-bs-content { padding: 0 var(--space-3) var(--space-4); }

/* BS: Header */
.org-bs-header {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2-5);
  margin-bottom: var(--space-2);
}
.org-bs-avatar { flex-shrink: 0; }
.org-bs-header-text { flex: 1; min-width: 0; }
.org-bs-name {
  font-size: var(--font-size-lg);
  font-weight: var(--fw-semibold);
  color: var(--color-text);
  line-height: 1.3;
}
.org-bs-position {
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
  margin-top: var(--space-xxs);
}
.org-bs-badges { display: flex; flex-wrap: wrap; gap: var(--space-1); margin-top: var(--space-1-5); }
.org-bs-presence {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  margin-top: var(--space-1-5);
  font-size: var(--fs-meta);
  color: var(--color-text-muted);
}
.org-bs-presence:empty { display: none; }

/* BS: Info-Zeilen */
.org-bs-info {
  border-top: 1px solid var(--color-border-light);
  padding-top: var(--space-2);
  margin-top: var(--space-1);
}
.org-bs-info-row {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  padding: var(--space-1-5) 0;
  font-size: var(--fs-body);
  color: var(--color-text-secondary);
}
.org-bs-info-icon { flex-shrink: 0; display: flex; color: var(--color-text-muted); margin-top: var(--space-px); }
.org-bs-info-icon .ui-ico img { width: 16px; height: 16px; }
.org-bs-info-col { display: flex; flex-direction: column; min-width: 0; gap: var(--space-xxs); }
.org-bs-info-label {
  font-size: var(--font-size-xs);
  font-weight: var(--fw-medium);
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.org-bs-info-link {
  color: var(--brand-default);
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
}
.org-bs-info-link:hover { text-decoration: underline; }

/* BS: Action-Buttons */
.org-bs-actions {
  display: flex;
  gap: var(--space-2);
  margin-top: var(--space-3);
}
.org-bs-action {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-1);
  padding: var(--space-2-5) var(--space-2);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  cursor: pointer;
  font-size: var(--fs-body);
  font-family: var(--font-sans);
  color: var(--color-text-secondary);
  text-decoration: none;
  transition: background var(--duration-fast);
}
.org-bs-action:active { background: var(--color-bg-subtle); }
.org-bs-action[disabled] { opacity: 0.4; cursor: default; pointer-events: none; }
.org-bs-action .ui-ico img { width: 18px; height: 18px; }
