/* Scope + Box-Sizing */
.wtc { color: #887; position: relative; width: 100%; max-width: 100%; overflow: hidden; box-sizing: border-box; margin-bottom: 10px; }
.wtc *, .wtc *::before, .wtc *::after { box-sizing: inherit; }

/* Reset problematischer Default-Margins */
.wtc figure, .wtc blockquote { margin: 0; }
.wtc .wtc-author { margin: 0; }

/* Viewport */
.wtc-viewport { overflow: hidden; width: 100%; max-width: 100%; }

/* Horizontaler Slider */
.wtc-track {
  width: 100%;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.wtc-track::-webkit-scrollbar { display: none; }

/* Slide: Text direkt auf Hintergrund, keine Card */
.wtc-slide {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1.5rem 0.5rem; /* etwas kompakter ohne Card */
  min-width: 0;
}

/* Typografie */
.wtc-quote {
  font-weight: 700; /* fett */
  font-size: 1.25rem;
  line-height: 1.7;
}
.wtc-author {
  margin-top: 1rem; /* geringerer Abstand zur Quote */
  opacity: .85;
  font-style: italic;
  align-self: stretch;
  text-align: center;
  padding-top: 0.3rem;
}

@media (min-width: 768px) {
  .wtc-quote { font-size: 1.375rem; }
}

/* Navigation: einfache, große Pfeile ohne Kreis */
.wtc-prev, .wtc-next {
  position: absolute;
  top: 50%; transform: translateY(-50%);
  width: auto; height: auto;
  padding: 0 .25rem;
  background: none;
  border: none;
  box-shadow: none;
  cursor: pointer;
  user-select: none;
  font-size: 2.25rem;
  font-weight: 900;
  line-height: 1;
  color: #775;
}
.wtc-prev { left: .25rem; }
.wtc-next { right: .25rem; }

/* Dots: geringerer Abstand */
.wtc-dots { display: flex; gap: .45rem; justify-content: center; margin: .5rem 0 0; max-width:100%; }
.wtc-dots button {
  width: 8px; height: 8px; border-radius: 50%; border: 0; cursor: pointer;
  background: currentColor; opacity: .25;
}
.wtc-dots button[aria-current="true"] { opacity: .9; }
