/* Clarity – Testimonial-Slider (draggo_clarity_testimonials) */

/* ---- Abschnitts-Grundlage (Dca\Section, Präfix cltms) ------------------
   Ohne gewählte Fläche rendert der Controller „eingebettet“: keine Fläche,
   keine Abstände, kein Beschnitt – Altbestände (Überschrift und Innenabstand
   im Artikel, Muster per bg_top/bg_bottom verlängert) bleiben unverändert. */
.cl-testimonials.cl-testimonials--plain { background-color: transparent; background-image: none; padding-block: 0; overflow: visible; }
.cl-testimonials.cl-testimonials--plain::before { content: none; }
.cl-testimonials.cl-testimonials--bleed { overflow: visible; } /* verlängertes Muster darf aus dem Abschnitt ragen */
.cl-testimonials.cl-sec--sp-normal { padding-block: 50px 70px; } /* Originalmaß des Bereichs */

/* Abschnittstitel im Element */
.cl-testimonials .cl-testimonials__head { position: relative; z-index: 2; margin-bottom: 40px; text-align: center; }
.cl-testimonials .cl-testimonials__head--left { text-align: left; }
.cl-testimonials .cl-title, .draggo-canvas .cl-testimonials .cl-title { line-height: 50px; }

.cl-testimonials { position: relative; }

/* Hintergrundfläche: Element plus Verlängerung nach oben/unten (füllt so den ganzen Abschnitt) */
.cl-testimonials__stage { position: absolute; top: calc(-1 * var(--cltm-ext-top, 0px)); bottom: calc(-1 * var(--cltm-ext-bottom, 0px)); left: 0; right: 0; z-index: 0; background: var(--cltm-bg, none) 50% 50% / cover no-repeat; pointer-events: none; }
.cl-testimonials__float { position: absolute; z-index: 1; top: var(--cltm-top); width: var(--cltm-size, 158px); margin: 0; animation: cl-testimonials-move var(--cltm-dur, 5s) linear infinite; }
.cl-testimonials__float--l { left: var(--cltm-side); }
.cl-testimonials__float--r { right: var(--cltm-side); }
.cl-testimonials__float img { display: block; width: var(--cltm-size, 158px); max-width: none; height: var(--cltm-size, 158px); }
@keyframes cl-testimonials-move {
    0% { transform: translate(0); }
    25% { transform: translate(10px, 10px); }
    50% { transform: translate(5px, 5px); }
    75% { transform: translate(10px, -5px); }
    to { transform: translate(0); }
}

/* Slider */
.cl-testimonials .cl-testimonials__slider { position: relative; z-index: 2; max-width: 720px; margin: 0 auto; padding: 0 0 80px; overflow: hidden; }
.cl-testimonials .swiper-wrapper { display: flex; box-sizing: content-box; }
.cl-testimonials .cl-testimonials__item { flex-shrink: 0; width: 100%; height: auto; display: flex; flex-direction: column; align-items: center; margin: 0; padding: 0; }
.cl-testimonials__slider:not(.swiper-initialized) .cl-testimonials__item:not(:first-child) { display: none; }

.cl-testimonials__logo { flex: none; width: 192px; height: 192px; margin: 0 auto 30px; overflow: hidden; box-sizing: border-box; border: 3px solid var(--cl-red); border-radius: 100%; background: #fff; box-shadow: 0 18px 30px 0 rgba(143, 8, 21, .2); }
.cl-testimonials__logo img { display: block; width: 100%; max-width: none; height: 100%; object-fit: cover; }
.cl-testimonials__quote { align-self: stretch; margin: 0 0 40px; padding: 0; border: 0; color: #020626; font-family: var(--cl-sans); font-size: 26px; line-height: 26px; font-weight: 400; font-style: normal; text-align: center; }
.cl-testimonials__quote p { margin: 0; color: inherit; font: inherit; text-align: inherit; }
.cl-testimonials__author { align-self: center; width: min(523px, 100%); }
.cl-testimonials__name { margin: 0; font-family: var(--cl-display); font-size: 20px; line-height: 28px; font-weight: 500; background: linear-gradient(90deg, #e10419 0%, #8f0815 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.cl-testimonials__name a { color: inherit; text-decoration: none; -webkit-text-fill-color: inherit; }
.cl-testimonials__name a:hover, .cl-testimonials__name a:focus-visible { text-decoration: underline; text-decoration-color: #e10419; }
.cl-testimonials__role { margin: 0; color: rgba(2, 6, 38, .7); font-family: var(--cl-sans); font-size: 17px; line-height: 26px; font-weight: 400; }

/* Punkte-Paginierung */
.cl-testimonials .cl-testimonials__pagination { position: absolute; left: 0; right: 0; bottom: 0 !important; top: auto; z-index: 3; width: 100%; font-size: 0; line-height: 1; text-align: center; transform: none; }
.cl-testimonials .cl-testimonials__pagination .swiper-pagination-bullet { position: relative; display: inline-block; width: 24px; height: 24px; margin: 0 6px !important; padding: 0; border: 0; border-radius: 50%; opacity: 1; background: #eecdd0; transform: scale(.8); transition: all .5s ease; cursor: pointer; }
.cl-testimonials .cl-testimonials__pagination .swiper-pagination-bullet::before { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 100%; background: linear-gradient(90deg, #e10419 0%, #8f0815 100%); transform: scale(0); transition: all .5s ease; }
.cl-testimonials .cl-testimonials__pagination .swiper-pagination-bullet-active { transform: scale(1); }
.cl-testimonials .cl-testimonials__pagination .swiper-pagination-bullet-active::before { transform: scale(1); }

/* Editor-Arbeitsfläche: kein JS → erste Stimme statisch, Draggo-Typografie überstimmen */
.draggo-canvas .cl-testimonials .cl-testimonials__item:not(:first-child) { display: none; }
.draggo-canvas .cl-testimonials .cl-testimonials__quote { margin: 0 0 40px; padding: 0; border: 0; color: #020626; font-family: var(--cl-sans); font-size: 26px; line-height: 26px; font-weight: 400; font-style: normal; text-align: center; }
.draggo-canvas .cl-testimonials .cl-testimonials__quote p { margin: 0; color: inherit; font: inherit; text-align: inherit; }
.draggo-canvas .cl-testimonials .cl-testimonials__name { margin: 0; font-family: var(--cl-display); font-size: 20px; line-height: 28px; font-weight: 500; -webkit-text-fill-color: transparent; }
.draggo-canvas .cl-testimonials .cl-testimonials__role { margin: 0; color: rgba(2, 6, 38, .7); font-family: var(--cl-sans); font-size: 17px; line-height: 26px; font-weight: 400; }

@media (max-width: 991px) {
    .cl-testimonials--floats-lg .cl-testimonials__float { display: none; }
}
@media (max-width: 767px) {
    .cl-testimonials .cl-title, .draggo-canvas .cl-testimonials .cl-title { line-height: 36px; }
    .cl-testimonials--floats-md .cl-testimonials__float { display: none; }
    .cl-testimonials .cl-testimonials__item { padding: 0 20px; box-sizing: border-box; }
    .cl-testimonials .cl-testimonials__quote, .draggo-canvas .cl-testimonials .cl-testimonials__quote { font-size: 20px; line-height: 26px; }
    .cl-testimonials__author { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .cl-testimonials__float { animation: none; }
}
