/* Betriebskarten der Agentur-Betriebsseite (m7.3a78).
   Aufbau in festen Zonen: Status - Name und Ort - Angaben - Aktionen.
   Innen 20 px, zwischen den Karten 16 px. Die Aktionszone sitzt am unteren
   Kartenrand; Karten einer Reihe sind gleich hoch, daher liegen die
   Aktionsflaechen je Reihe auf einer Linie. Farben nur ueber Tokens. */

/* Raster: eine Spalte auf schmalen Geraeten, danach so viele Karten, wie
   bei mindestens 300 px Breite hineinpassen. Keine Karte schmaler als 300 px. */
.ag-frame .kartenraster {
  display: grid; gap: 16px;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
}
@media (min-width: 640px) {
  .ag-frame .kartenraster { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
}

.ag-frame .betriebskarte {
  display: flex; flex-direction: column; gap: 12px;
  min-width: 0; padding: 20px;
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radius); box-shadow: var(--shadow-1);
}

/* Gesperrt (nicht wirksam): ruhiger Hintergrund, Text bleibt lesbar. */
.ag-frame .betriebskarte.is-gesperrt { background: var(--surface-sunk); }

/* Archiviert: deutlich markiert (Rahmen links, Chip "Archiviert"), nur lesend. */
.ag-frame .betriebskarte.is-archiviert {
  background: var(--surface-sunk);
  border-left: 4px solid var(--border-strong);
}

/* Statuszeile: eigene Zeile oben, damit der Chip nie Text verdraengt. */
.ag-frame .betriebskarte-kopf {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  min-height: 26px;
}
.ag-frame .betriebskarte-kopf > .chip { max-width: 100%; white-space: normal; }

/* Name und Ort: lange Namen brechen sauber um, nichts wird abgeschnitten. */
.ag-frame .betriebskarte-titel {
  display: flex; flex-direction: column; gap: 4px; min-width: 0;
}
.ag-frame .betriebskarte-name {
  margin: 0; font-size: 17px; font-weight: 650; line-height: 1.3;
  color: var(--text); overflow-wrap: anywhere; word-break: normal; min-width: 0;
}
.ag-frame .betriebskarte-ort {
  margin: 0; font-size: 13px; line-height: 1.4; color: var(--text-muted);
  overflow-wrap: anywhere;
}

/* Angaben: ruhig, eine Zeile Abstand zum Titel. */
.ag-frame .betriebskarte-zusatz {
  margin: 0; font-size: 14px; line-height: 1.5; color: var(--text-muted);
  overflow-wrap: anywhere;
}

/* Aktionszone am unteren Rand. Gleiche Breite und Hoehe je Knopf. */
.ag-frame .betriebskarte-aktionen {
  margin-top: auto; padding-top: 14px; border-top: 1px solid var(--border);
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px;
}
.ag-frame .betriebskarte-aktionen > .btn {
  width: 100%; min-width: 0; min-height: 44px; box-sizing: border-box;
  justify-content: center; text-align: center; white-space: normal; overflow-wrap: anywhere;
}
.ag-frame .betriebskarte-ohne {
  margin: auto 0 0; padding-top: 14px; border-top: 1px solid var(--border);
  /* gleiche Zonenhoehe wie eine Aktionszone mit Knopf (44 px + 1 px Linie), damit die Trennlinie je Reihe auf einer Linie liegt */
  min-height: 59px; box-sizing: border-box; display: flex; align-items: center;
  font-size: 13px; line-height: 1.4; color: var(--text-faint);
}
