/* Mobile fixes: abgeschnittene Buttons und horizontale Ueberlaeufe */
@media (max-width: 640px) {
  /* Download-Karten (Thumbnail links / Text rechts) untereinander stapeln */
  button.surface.overflow-hidden.text-left:has(> span.shrink-0.self-stretch) {
    flex-direction: column;
  }
  button.surface.overflow-hidden.text-left > span.shrink-0.self-stretch {
    width: 100%;
    max-width: none;
    aspect-ratio: 2 / 1;
    border-right: 0;
    border-bottom: 1px solid var(--t-line-soft, rgba(10, 30, 88, .12));
  }
  button.surface.overflow-hidden.text-left > span.shrink-0.self-stretch > img {
    left: 1.5rem;
    top: 1.5rem;
    width: calc(100% - 3rem);
  }
  /* Buttons innerhalb von Karten duerfen umbrechen und nie breiter als die Karte sein */
  button.surface span.inline-flex.rounded-full,
  a.surface span.inline-flex.rounded-full {
    white-space: normal;
    max-width: 100%;
    text-align: center;
  }
  /* Grid-/Flex-Kinder duerfen schrumpfen (verhindert Ueberbreite einspaltiger Grids) */
  .grid > *, .grid > * > a.surface { min-width: 0; }
  a.surface, button.surface, .text-h3, h1, h2, h3 { overflow-wrap: anywhere; }
}
