.fsb-testimonial { width:100%; max-width:100%; box-sizing:border-box; }

/* Kein Standard-Widget-Rahmen */
.fsb-widget--testimonial {
  border: none !important;
}

.fsb-testimonial__card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap: 0; /* Strukturabstand separat geregelt */
  padding: var(--fsb-t-padding, 24px) var(--fsb-t-padding-x, var(--fsb-t-padding, 24px));
  background: var(--fsb-t-card-bg, #fff);
  border: var(--fsb-t-border-width, 1px) solid var(--fsb-t-border-color, #e5e7eb);
  border-radius: var(--fsb-t-radius, 12px);
  box-shadow: var(--fsb-t-shadow, none);
}

/* Grundabstand zwischen Blöcken: klein und stabil */
.fsb-testimonial__card > * + * {
  margin-top: 6px;
}


.fsb-testimonial__quote{
  font-size: var(--fsb-t-quote-size, 18px);
  font-weight: var(--fsb-t-quote-weight, 400);
  line-height: var(--fsb-t-quote-lh, 1.6);
  color: var(--fsb-t-quote-color, #0f172a);
}

.fsb-testimonial__rating{
  display:flex;
  gap: var(--fsb-t-rating-gap, 4px);
  font-size: var(--fsb-t-rating-size, 18px);
  color: var(--fsb-t-rating-color, #f59e0b);
  line-height: 1;
  margin-top: 6px; /* stabiler Mindestabstand */
}

.fsb-testimonial__star--off{ opacity: .25; }

.fsb-testimonial[data-rating-pos="none"] .fsb-testimonial__rating{ display:none; }

/*.fsb-testimonial__footer{ display:flex; gap:12px; align-items:center; }*/

.fsb-testimonial__footer{
  display:flex;
  gap:12px;
  align-items:center;
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}

.fsb-testimonial__meta{
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.fsb-testimonial__name,
.fsb-testimonial__role,
.fsb-testimonial__company{
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.fsb-testimonial__avatar{
  width: var(--fsb-t-avatar-size, 64px);
  height: var(--fsb-t-avatar-size, 64px);
  flex: 0 0 auto;
}

.fsb-testimonial__avatar img{
  width:100%;
  height:100%;
  display:block;
  box-sizing:border-box;
  object-fit:cover;
  border-radius: var(--fsb-t-avatar-radius, 999px);
  border: var(--fsb-t-avatar-border-width, 0px) solid var(--fsb-t-avatar-border-color, #e5e7eb);
}

.fsb-testimonial__name{
  font-size: var(--fsb-t-name-size, 16px);
  font-weight: var(--fsb-t-name-weight, 600);
  line-height: var(--fsb-t-name-lh, 1.2);
  color: var(--fsb-t-name-color, #0f172a);
}

.fsb-testimonial__role,
.fsb-testimonial__company{
  font-size: var(--fsb-t-meta-size, 13px);
  font-weight: var(--fsb-t-meta-weight, 400);
  line-height: var(--fsb-t-meta-lh, 1.3);
  color: var(--fsb-t-meta-color, #475569);
}

/* Layout switches */
.fsb-testimonial[data-align="center"] { text-align:center; }
.fsb-testimonial[data-align="center"] .fsb-testimonial__footer { justify-content:center; }

.fsb-testimonial[data-avatar="none"] .fsb-testimonial__avatar { display:none; }
.fsb-testimonial[data-avatar="top"] .fsb-testimonial__footer { flex-direction:column; }
.fsb-testimonial[data-avatar="right"] .fsb-testimonial__footer { flex-direction:row-reverse; }

/* --- Rating Vertical --- */

.fsb-testimonial[data-rating-pos="none"] .fsb-testimonial__rating {
  display: none;
}

.fsb-testimonial[data-rating-pos="top"] .fsb-testimonial__rating {
  order: -1;
}

.fsb-testimonial[data-rating-pos="bottom"] .fsb-testimonial__rating {
  order: 3;
}

/* --- Rating Horizontal --- */

.fsb-testimonial[data-rating-align="left"] .fsb-testimonial__rating {
  justify-content: flex-start;
}

.fsb-testimonial[data-rating-align="center"] .fsb-testimonial__rating {
  justify-content: center;
}

.fsb-testimonial[data-rating-align="right"] .fsb-testimonial__rating {
  justify-content: flex-end;
}

/* .fsb-testimonial__rating span { line-height: 0; }
*/
/* =========================================
   STRUKTURELLE BLOCK-ABSTÄNDE (stabil)
   ========================================= */

/* Abstand zwischen Quote und Footer */
.fsb-testimonial__quote + .fsb-testimonial__footer{
  margin-top: max(6px, var(--fsb-t-gap, 16px));
}

/* Wenn Rating oben sitzt
.fsb-testimonial[data-rating-pos="top"] .fsb-testimonial__rating{
  margin-bottom: 6px;
}
*/


/* Wenn Rating unten sitzt
.fsb-testimonial[data-rating-pos="bottom"] .fsb-testimonial__rating{
  margin-top: 6px;
}
*/

/* --- Reset: Rating immer im Flow (überschreibt alte absolute-Regeln) --- */
.fsb-testimonial .fsb-testimonial__rating{
  position: static;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  inset: auto;
}

/* Struktur-Abstand: Card bleibt ohne natives flex-gap */
.fsb-testimonial__card{
  gap: 0;
}

/* Nur der Abstand zwischen Quote und Footer reagiert auf den Regler */
.fsb-testimonial__quote + .fsb-testimonial__footer{
  margin-top: max(6px, var(--fsb-t-gap, 16px));
}




