#testemonials {
  height: auto;
  width: 100vw;
  background-color: rgb(255, 255, 255);
  padding: 0rem 5rem 5rem;
}

.tm-header {
  color: white;
  text-align: center;
}

#tm-h1 {
  font-size: clamp(1rem, 11vw + 1rem, 25rem);
  color: #0f0f0f;
  margin-top: 10rem;
  padding-bottom: 2rem;
}

.tm-p span {
  font-weight: 450;
}

.tm-p {
  color: #0f0f0f;
}

.tm-blocks {
  position: relative;              /* Für absolute Kinder */
  display: block;                  /* Wir steuern Layout via JS */
  padding: 2rem 1rem;
  /* eine grobe Mindesthöhe; wird via JS nach dem Platzieren überschrieben */
  min-height: 60vh;
}

/* Allgemeine Styles für die 6 Block-Container */
.tm-blocks > div {
  position: absolute;              /* wird auf Mobil wieder auf static gesetzt */
  max-width: min(42ch, 40vw);      /* verhindert zu breite Karten */
  padding: 0.5rem 0.5rem;
  box-sizing: border-box;
}


/* Text */
.tm-p { line-height: 1.5; }

/* --- Mobile Fallback: einfach untereinander im Grid --- */
@media (max-width: 1250px) {
  .tm-blocks {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    min-height: unset !important;
    height: auto !important;
    padding: 1rem;
  }
  .tm-blocks > div {
    position: static !important;   /* kein absolutes Layout */
    max-width: 100%;
    transform: none !important;
    left: auto !important;
    top: auto !important;
  }
}
