.bd-rating {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	color: #f0d300;
	line-height: 1;
}

.bd-rating-icon {
	width: 1em;
	height: 1em;
	flex-shrink: 0;
}

blockquote.wp-block-bd-testimonials-quote {
	border: 0;
	padding: 0;
}

/**
 * Testimonials Slider — pre-mount / editor preview layout.
 *
 * Splide only mounts on the front end, so the block's server-rendered markup
 * is a flex column of full-width slides until (and unless) Splide initializes.
 * Gated on `.splide:not(.is-initialized)`, this lays those slides out as a
 * single row of the configured per-view count:
 *  - On the front end it applies only in the frame BEFORE Splide mounts (a
 *    closer-to-final layout than full-width cards), then Splide's class +
 *    inline styles take over.
 *  - In the block editor (where Splide never mounts) it persists, giving a
 *    faithful preview.
 *
 * Tracks the Slides-Per-View settings dynamically: render.php emits the counts
 * as numeric CSS custom properties (`--bd-slides-*`) on the wrapper, sized via
 * `grid-auto-columns: calc(… / var())` (a custom property in calc() is valid,
 * unlike in repeat()). The editor device toggle resizes the canvas, so the
 * Splide breakpoints (<=1024 tablet, <=640 mobile) switch the count to match.
 * Lives in the block `style` (loads in the editor iframe; block `editorStyle`
 * does not reliably reach the iframed canvas). Theme still owns the card skin.
 */
.bd-testimonials-slider .splide:not(.is-initialized) .splide__track {
	overflow: hidden;
}

.bd-testimonials-slider .splide:not(.is-initialized) .splide__list {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc(
		(100% - (var(--bd-slides-desktop, 3) - 1) * 1.5rem) / var(--bd-slides-desktop, 3)
	);
	gap: 1.5rem;
	align-items: stretch;
}

.bd-testimonials-slider .splide:not(.is-initialized) .splide__slide {
	height: auto;
}

@media (max-width: 1024px) {
	.bd-testimonials-slider .splide:not(.is-initialized) .splide__list {
		grid-auto-columns: calc(
			(100% - (var(--bd-slides-tablet, 2) - 1) * 1.5rem) / var(--bd-slides-tablet, 2)
		);
	}
}

@media (max-width: 640px) {
	.bd-testimonials-slider .splide:not(.is-initialized) .splide__list {
		grid-auto-columns: calc(
			(100% - (var(--bd-slides-mobile, 1) - 1) * 1.5rem) / var(--bd-slides-mobile, 1)
		);
	}
}
