/* Kopfzeile bleibt beim Scrollen stehen. Astra Free hat dafuer keine Option. */
#masthead { position: sticky; top: 0; z-index: 999; }
.admin-bar #masthead { top: 32px; }
@media screen and (max-width: 782px) { .admin-bar #masthead { top: 46px; } }
#page, .site-content, .ast-container { overflow: visible; }

/* Inhaltsangabe und Sprungziele nicht unter die Kopfzeile schieben */
@media (min-width: 1025px) {
  .sb-toc { top: 108px !important; max-height: calc(100vh - 140px); overflow-y: auto; }
  .admin-bar .sb-toc { top: 140px !important; }
}
.sb-article h2, .sb-article h3, .sb-article [id] { scroll-margin-top: 110px; }

/* Tabellen: lange Woerter umbrechen statt in die Nachbarspalte laufen */
.elementor .sb-cell, .elementor .sb-cell-head { overflow-wrap: anywhere; word-break: normal; hyphens: auto; }
@media (max-width: 767px) {
  .elementor .sb-table-row { padding-inline: 16px; gap: 10px; }
  .elementor .sb-cell { font-size: 14px; }
  .elementor .sb-cell-head { font-size: 11px; letter-spacing: 0.06em; }
}

/* Kategorie mit Icon im Artikelkopf */
.sb-kat-inline { display: inline-flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.sb-kat-inline img.sb-cluster-icon { width: 28px; height: 28px; object-fit: contain; }
.sb-kat-inline a { text-decoration: none; color: inherit; }
@media (max-width: 767px) { .sb-kat-inline img.sb-cluster-icon { width: 22px; height: 22px; } }

/* Datenquellen im Early-Access-Bereich mit Icon */
.sb-stat-inline { display: inline-flex; align-items: center; gap: 14px; }
.sb-stat-icon { width: 40px; height: 40px; object-fit: contain; flex: 0 0 40px; }
@media (max-width: 767px) {
  .sb-stat-inline { gap: 10px; }
  .sb-stat-icon { width: 30px; height: 30px; flex-basis: 30px; }
}

/* Pilotkunden: schmale Logospalten, damit der Text direkt daneben steht.
   Ungleiche Spaltenbreiten lassen sich in Elementor 4 nicht setzen. */
@media (min-width: 1025px) {
  .elementor .e-3c22fe6-a3f997c { grid-template-columns: 200px minmax(0, 1fr) 200px minmax(0, 1fr); column-gap: 24px; align-items: start; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor .e-3c22fe6-a3f997c { grid-template-columns: 150px minmax(0, 1fr); row-gap: 32px; column-gap: 20px; align-items: start; }
}

/* Pilotkunden auf dem Handy: eine Spalte, Logo jeweils ueber Name und Zitat */
@media (max-width: 767px) {
  .elementor .e-3c22fe6-a3f997c { grid-template-columns: minmax(0, 1fr); row-gap: 8px; }
  /* Reihenfolge: erst Name und Zitat, dann das Logo */
  .elementor .e-3c22fe6-a3f997c > *:nth-child(1) { order: 2; }
  .elementor .e-3c22fe6-a3f997c > *:nth-child(2) { order: 1; }
  .elementor .e-3c22fe6-a3f997c > *:nth-child(3) { order: 4; }
  .elementor .e-3c22fe6-a3f997c > *:nth-child(4) { order: 3; }
  .elementor .e-3c22fe6-a3f997c > *:nth-child(1) { margin-block-end: 40px; }
  .elementor .e-36ee7c3-15facab, .elementor .e-a9d9e04-c7e0800 { width: 120px; }
}
