/* ── Medien.css ────────────────────────────────────────────── */

.medien-header {
  margin-bottom: 2.5rem;
}

/* Firma-Accordion */
.firma-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

details.firma {
  background: var(--clr-surface);
  border: 1px solid var(--clr-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: box-shadow var(--transition);
}
details.firma[open] { box-shadow: var(--shadow-md); }

summary.firma-summary {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.25rem;
  cursor: pointer;
  user-select: none;
  list-style: none;
  border-radius: var(--radius-lg);
  transition: background var(--transition);
}
summary.firma-summary::-webkit-details-marker { display: none; }
summary.firma-summary:hover { background: var(--clr-hover); }

.firma-logo {
  height: 40px;
  width: auto;
  object-fit: contain;
  filter: grayscale(1);
  opacity: .7;
  transition: filter var(--transition), opacity var(--transition);
}
details[open] .firma-logo,
summary:hover .firma-logo {
  filter: none;
  opacity: 1;
}

.firma-name {
  font-weight: 600;
  font-size: 1rem;
}

.firma-chevron {
  margin-left: auto;
  width: 1.1rem;
  height: 1.1rem;
  flex-shrink: 0;
  color: var(--clr-muted);
  transition: transform var(--transition);
}
details[open] .firma-chevron { transform: rotate(180deg); }

/* Video-Liste innerhalb einer Firma */
.firma-videos {
  padding: .5rem 1.25rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  border-top: 1px solid var(--clr-border);
}

.video-item {
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.video-item .video-label {
  font-size: .82rem;
  font-weight: 500;
  color: var(--clr-muted);
  letter-spacing: .04em;
}

/* Video skaliert: Höhe = vh minus Header (64px) minus Label (ca. 30px) minus Abstände */
.video-item video {
  width: 100%;
  max-height: calc(100vh - var(--header-h) - 80px);
  border-radius: var(--radius);
  background: #000;
  display: block;
  outline: none;
}
