/**
 * Carousel Slider Block (cb/carousel-v2): Pagination als Linien; Spalten im Slide früher stapeln.
 *
 * @see https://www.carouselblock.com/docs?doc=styling
 */

/*
 * Spalten (core/columns): Core schaltet ab 782px auf eine Zeile; im Carousel bis 992px wie „Mobile“ stapeln.
 * Siehe wp-includes/blocks/columns/style.css (@media max-width 781px / min-width 782px).
 */
@media (min-width: 782px) and (max-width: 992px) {
	.wp-block-cb-carousel-v2 .wp-block-columns:not(.is-not-stacked-on-mobile) {
		flex-wrap: wrap !important;
	}

	.wp-block-cb-carousel-v2 .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
		flex-basis: 100% !important;
	}
}

@media (max-width: 982px) {
	.wp-block-cb-carousel-v2 blockquote p{
		margin-bottom: 50px !important;
		margin-top: 100px !important;
	}
	.wp-block-cb-carousel-v2 .testimonial-slide img{
		border-radius: 0 !important;
	}
}

/*
 * Runde Ecken beim Übergang: Swiper nutzt overflow:hidden; mit border-radius clippt die Viewport-Maske rund (theme.json lg = 20px).
 */
.wp-block-cb-carousel-v2 .swiper {
	border-radius: var(--wp--preset--border-radius--lg, 20px);
}

.wp-block-cb-carousel-v2 .cb-slide.swiper-slide {
	border-radius: var(--wp--preset--border-radius--lg, 20px);
	overflow: hidden;
}

/*
 * Abstand Slide → Pagination: Reserve unter dem Swiper; Pagination-Position per bottom.
 */
.wp-block-cb-carousel-v2[data-cb-pagination="true"] .swiper-horizontal {
	margin-bottom: 45px;
}

.wp-block-cb-carousel-v2 .cb-pagination.swiper-pagination-horizontal {
	bottom: -15px !important;
	gap: 25px;
}

/* Abstand zwischen Bullets: flex gap (Plugin-Margin sonst verdoppelt den Abstand). */
.wp-block-cb-carousel-v2 .cb-pagination.swiper-pagination-horizontal .cb-pagination-bullet,
.wp-block-cb-carousel-v2 .cb-pagination.swiper-pagination-horizontal .swiper-pagination-bullet {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.wp-block-cb-carousel-v2 .cb-pagination .cb-pagination-bullet,
.wp-block-cb-carousel-v2 .cb-pagination .swiper-pagination-bullet {
	width: 60px;
	min-width: 60px;
	height: 3px;
	border-radius: 0 !important;
	box-sizing: border-box;
}

/* Keine Kreise (Swiper-Default ist oft 50%). */
.wp-block-cb-carousel-v2 .cb-pagination.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	border-radius: 1.5px;
}

/* Inaktiv: gleiche Farbe, reduzierte Deckkraft — sonst kein aktiver Zustand erkennbar. */
.wp-block-cb-carousel-v2 .cb-pagination .cb-pagination-bullet:not(.swiper-pagination-bullet-active),
.wp-block-cb-carousel-v2 .cb-pagination .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
	background-color: #fff;
	opacity: 0.5;
}

.wp-block-cb-carousel-v2 .cb-pagination .cb-pagination-bullet.swiper-pagination-bullet-active,
.wp-block-cb-carousel-v2 .cb-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background-color: #fff;
	opacity: 1;
}

.wp-block-cb-carousel-v2 .cb-pagination .cb-pagination-bullet:not(.swiper-pagination-bullet-active):hover,
.wp-block-cb-carousel-v2 .cb-pagination .swiper-pagination-bullet:not(.swiper-pagination-bullet-active):hover {
	background-color: #fff;
	opacity: 0.5;
}

/*
 * Testimonial-Slide: Karte per ::before, Bild ragt mit negativem margin in den Overlap.
 * Im Slide z. B. Group mit Klasse testimonial-slide; Bild-Block/Group mit testimonial-image.
 */
.wp-block-cb-carousel-v2 .testimonial-slide {
	--image-overlap: 80px;
	--card-radius: 20px;
	--card-bg: #0d2028;

	position: relative;
	isolation: isolate;
	padding-top: var(--image-overlap);
	background: transparent;
	min-height: 550px;
}



.wp-block-cb-carousel-v2 .testimonial-slide::before {
	content: "";
	position: absolute;
	z-index: -1;
	left: 0;
	right: 0;
	top: var(--image-overlap);
	bottom: 0;
	background: var(--card-bg);
	border-radius: var(--card-radius);
}

.wp-block-cb-carousel-v2 .testimonial-slide .testimonial-image {
	position: relative;
	z-index: 2;
}

.wp-block-cb-carousel-v2 .testimonial-slide-overlay-text {
	padding-right: 50px;
}

/*
 * Testimonial: Anführungszeichen an die Blockquote-Box koppeln (em = mit Schriftgröße/Line-height mit).
 * Kein mix aus Theme-transform + festem top (sonst „mitten im Text“ / zu viel Abstand unten).
 * Feintuning: --precisis-testimonial-quote-out-before / -out-after / -mark-size
 */
.wp-block-cb-carousel-v2 .testimonial-slide-overlay-text .wp-block-quote {
	--precisis-testimonial-quote-mark-size: 2rem;
	--precisis-testimonial-quote-out-before: 0.3em;
	--precisis-testimonial-quote-out-after: 0.3em;
}

.wp-block-cb-carousel-v2 .testimonial-slide-overlay-text .wp-block-quote::before,
.wp-block-cb-carousel-v2 .testimonial-slide-overlay-text .wp-block-quote::after {
	width: var(--precisis-testimonial-quote-mark-size);
	aspect-ratio: 51 / 47;
	height: auto;
	bottom: auto;
}

.wp-block-cb-carousel-v2 .testimonial-slide-overlay-text .wp-block-quote::before {
	left: 0;
	right: auto;
	top: 0;
	transform: translate(0, calc(-100% - var(--precisis-testimonial-quote-out-before)));
	transform-origin: left bottom;
}

.wp-block-cb-carousel-v2 .testimonial-slide-overlay-text .wp-block-quote::after {
	left: auto;
	right: 0;
	top: 100%;
	margin-top: var(--precisis-testimonial-quote-out-after);
	/* Theme: translate(0, calc(100% + …)) hier nicht verwenden */
	transform: rotate(180deg);
	transform-origin: center;
}

@media (max-width: 781px) {
	.wp-block-cb-carousel-v2 .testimonial-slide-overlay-text .wp-block-quote {
		--precisis-testimonial-quote-mark-size: min(2rem, 10vw);
		--precisis-testimonial-quote-out-before: 0.06em;
		--precisis-testimonial-quote-out-after: 0.05em;
	}
}

@media (max-width: 1349px) {
	.wp-block-cb-carousel-v2 .wp-block-quote {
		margin-block-end: 3rem !important;
	}
}

@media (max-width: 1240px) {
	.wp-block-cb-carousel-v2 .testimonial-slide-overlay-text p {
		font-size: 20px;
		padding-right: 50px !important;
	}

	.wp-block-cb-carousel-v2 .testimonial-slide-overlay-text .wp-block-heading {
		font-size: 20px !important;
	}
}
@media (max-width: 1240px) {
	.wp-block-cb-carousel-v2 .testimonial-slide-overlay-text {
		padding: 50px !important;
		max-width: 800px;
	}

	.wp-block-cb-carousel-v2 .testimonial-slide-overlay-text blockquote p {
		margin-top: 0 !important;
		padding: 0 !important;
	}
}