/* Minimal layout helpers for grid mode; visual styling lives in .mwh-reviewbox on the homepage. */
.trickart-5star-reviews.tr5sr-layout-grid {
	display: block;
	width: 100%;
	max-width: 100%;
}

.tr5sr-layout-grid .tr5sr-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: clamp(16px, 2.5vw, 22px);
	grid-template-columns: 1fr;
}

@media (min-width: 640px) {
	.tr5sr-layout-grid .tr5sr-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.tr5sr-layout-grid .tr5sr-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.tr5sr-layout-grid .tr5sr-grid-item {
	margin: 0;
	min-width: 0;
}

.tr5sr-layout-grid .tr5sr-summary {
	margin-bottom: clamp(18px, 3vw, 28px);
}

.tr5sr-layout-grid .tr5sr-grid-card {
	height: 100%;
}

.mwh-reviews-sec,
.mwh-reviews--full,
.mwh-reviews--full .mwh-reviews-body {
	overflow: visible;
	max-width: 100%;
}

.mwh-reviewbox--besucher,
.mwh-reviewbox--besucher .trickart-5star-reviews {
	max-width: 100%;
}

/* Smartphone: horizontal wischen (native Scroll), nicht alle Karten untereinander */
@media (max-width: 767px) {
	.mwh-reviewbox--besucher .tr5sr-grid,
	.mwh-reviewbox .tr5sr-marquee.is-running .tr5sr-grid {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: stretch;
		gap: 14px;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0;
		padding: 0 2px 8px;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: 8px;
		touch-action: pan-x pan-y;
		animation: none !important;
		transform: none !important;
		will-change: auto !important;
		grid-template-columns: unset !important;
	}

	.mwh-reviewbox--besucher .tr5sr-grid-item,
	.mwh-reviewbox .tr5sr-marquee.is-running .tr5sr-grid-item {
		flex: 0 0 clamp(260px, 82vw, 320px);
		width: clamp(260px, 82vw, 320px);
		max-width: 82vw;
		margin: 0 !important;
		scroll-snap-align: start;
		scroll-snap-stop: always;
	}

	.mwh-reviewbox .tr5sr-marquee.is-running {
		overflow: hidden;
		position: relative;
	}

	.mwh-reviewbox--besucher .tr5sr-grid-card {
		min-height: 100%;
	}

	.tr5sr-mobile-scroll .tr5sr-grid {
		scroll-behavior: smooth;
	}

	.mwh-reviewbox .tr5sr-mobile-progress {
		margin-top: 14px;
		height: 4px;
		border-radius: 999px;
		background: rgba(255, 255, 255, 0.1);
		border: 1px solid rgba(255, 255, 255, 0.12);
		overflow: hidden;
	}

	.mwh-reviewbox .tr5sr-mobile-progress-bar {
		display: block;
		height: 100%;
		width: 100%;
		transform-origin: 0 50%;
		transform: scaleX(0);
		border-radius: 999px;
		background: linear-gradient(90deg, #ffd400 0%, #ff7a00 35%, #d12dad 65%, #8000ff 100%);
		will-change: transform;
	}

	@media (prefers-reduced-motion: reduce) {
		.tr5sr-mobile-scroll .tr5sr-grid {
			scroll-behavior: auto;
		}

		.mwh-reviewbox .tr5sr-mobile-progress {
			display: none;
		}
	}
}
