.wp-block-swemium-reviews {
	width: 100%;
}

.wp-block-swemium-reviews.alignwide .sw-reviews,
.wp-block-swemium-reviews.alignfull .sw-reviews {
	max-width: 100%;
}

.sw-reviews {
	--sw-text: #3c4043;
	--sw-name: #202124;
	--sw-border: #e8eaed;
	--sw-card: #fff;
	--sw-muted: #5f6368;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
	max-width: 720px;
	margin: 0;
	padding: 0;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: var(--sw-text);
}

.sw-reviews *,
.sw-reviews *::before,
.sw-reviews *::after {
	box-sizing: border-box;
}

.sw-review-card {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	width: 100%;
	padding: 20px;
	background: var(--sw-card);
	border: 1px solid var(--sw-border);
	border-radius: 16px;
	box-shadow: 0 1px 2px rgba(60, 64, 67, 0.08), 0 1px 3px 1px rgba(60, 64, 67, 0.06);
}

.sw-review-avatar {
	flex: 0 0 40px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1;
	user-select: none;
}

.sw-review-body {
	flex: 1 1 auto;
	min-width: 0;
}

.sw-review-name {
	margin: 2px 0 4px;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.3;
	color: var(--sw-name);
}

.sw-review-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 8px;
}

.sw-stars {
	display: flex;
	align-items: center;
	gap: 1px;
	margin: 0;
}

.sw-review-date {
	font-size: 13px;
	line-height: 1.2;
	color: var(--sw-muted);
}

.sw-star {
	display: block;
	flex-shrink: 0;
}

.sw-review-text {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	color: var(--sw-text);
	white-space: pre-wrap;
	overflow-wrap: anywhere;
}

.sw-reviews-empty {
	margin: 0;
	padding: 16px 0;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: 14px;
	color: var(--sw-muted, #5f6368);
}

@media (max-width: 480px) {
	.sw-review-card {
		padding: 16px;
		gap: 12px;
		border-radius: 12px;
	}

	.sw-review-avatar {
		flex-basis: 36px;
		width: 36px;
		height: 36px;
		font-size: 14px;
	}
}
