.anr-reviews {
	--anr-gap: 16px;
	--anr-font-family: inherit;
	--anr-font-size: 0.95rem;
	--anr-text-color: #374151;
	--anr-meta-color: #6b7280;
	--anr-star-color: #f59e0b;
	--anr-star-empty-opacity: 0.25;
	--anr-card-bg: #fff;
	--anr-card-border: #e5e7eb;
	--anr-card-radius: 10px;
	--anr-card-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
	--anr-badge-bg: #f3f4f6;
	--anr-badge-color: #374151;
	--anr-verified-bg: #ecfdf5;
	--anr-verified-color: #047857;
	font-family: var(--anr-font-family);
	display: grid;
	gap: var(--anr-gap);
	text-align: left;
}

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

.anr-reviews--cards { grid-template-columns: repeat(var(--anr-columns, 3), minmax(0, 1fr)); }
.anr-reviews--list,
.anr-reviews--compact { grid-template-columns: 1fr; }
.anr-reviews--masonry {
	display: block;
}
.anr-reviews--masonry:not(.anr-masonry--ready) {
	column-count: var(--anr-columns, 3);
	column-gap: var(--anr-gap);
}
@media (max-width: 960px) {
	.anr-reviews--cards { grid-template-columns: repeat(min(var(--anr-columns, 3), 2), minmax(0, 1fr)); }
	.anr-reviews--masonry:not(.anr-masonry--ready) { column-count: min(var(--anr-columns, 3), 2); }
}
@media (max-width: 640px) {
	.anr-reviews--cards { grid-template-columns: 1fr; }
	.anr-reviews--masonry:not(.anr-masonry--ready) { column-count: 1; }
}
.anr-reviews--masonry:not(.anr-masonry--ready) .anr-review {
	break-inside: avoid;
	margin-bottom: var(--anr-gap);
}
.anr-masonry__columns {
	display: flex;
	align-items: flex-start;
	gap: var(--anr-gap);
}
.anr-masonry__col {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--anr-gap);
}
.anr-masonry__col .anr-review {
	margin-bottom: 0;
}
.anr-masonry__stash {
	display: none !important;
}

.anr-reviews--slider {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 8px;
}
.anr-slider__viewport {
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.anr-slider__viewport::-webkit-scrollbar { display: none; }
.anr-slider__track {
	display: flex;
	gap: var(--anr-gap);
	padding: 4px 2px 8px;
}
.anr-slider__slide {
	flex: 0 0 min(320px, 85vw);
	scroll-snap-align: start;
}
.anr-slider__nav {
	appearance: none;
	border: 1px solid var(--anr-card-border);
	background: var(--anr-card-bg);
	color: var(--anr-text-color);
	width: 36px;
	height: 36px;
	border-radius: 999px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	line-height: 1;
	box-shadow: var(--anr-card-shadow);
}
.anr-slider__nav:hover { border-color: var(--anr-star-color); color: var(--anr-star-color); }

.anr-reviews--accordion { display: block; }
.anr-accordion { display: flex; flex-direction: column; gap: var(--anr-gap); }
.anr-accordion__item {
	background: var(--anr-card-bg);
	border: 1px solid var(--anr-card-border);
	border-radius: var(--anr-card-radius);
	box-shadow: var(--anr-card-shadow);
	overflow: hidden;
}
.anr-accordion__trigger {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 16px;
	border: 0;
	background: transparent;
	cursor: pointer;
	text-align: left;
	font: inherit;
	color: inherit;
}
.anr-accordion__trigger-main {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
	flex: 1;
}
.anr-accordion__trigger-text {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	min-width: 0;
}
.anr-accordion__chevron {
	width: 10px;
	height: 10px;
	border-right: 2px solid var(--anr-meta-color);
	border-bottom: 2px solid var(--anr-meta-color);
	transform: rotate(45deg);
	transition: transform 0.2s ease;
	flex-shrink: 0;
}
.anr-accordion__item.is-open .anr-accordion__chevron {
	transform: rotate(-135deg);
	margin-top: 4px;
}
.anr-accordion__panel {
	padding: 0 16px 16px;
}
.anr-accordion__panel[hidden] { display: none !important; }
.anr-accordion__avatar {
	width: 40px;
	height: 40px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--anr-badge-bg);
	color: var(--anr-badge-color);
	font-weight: 700;
	font-size: 0.85rem;
	flex-shrink: 0;
}

.anr-review {
	background: var(--anr-card-bg);
	border: 1px solid var(--anr-card-border);
	border-radius: var(--anr-card-radius);
	padding: 16px 18px;
	box-shadow: var(--anr-card-shadow);
	text-align: left;
	width: 100%;
}
.anr-review--compact { padding: 12px 14px; }
.anr-review--compact .anr-review__text {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.anr-review__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 12px;
	margin-bottom: 10px;
}
.anr-reviews--avatar-top .anr-review__head {
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}
.anr-reviews--avatar-top .anr-review__meta {
	flex: none;
	width: 100%;
}
.anr-reviews--avatar-top .anr-accordion__trigger-main {
	flex-direction: column;
	align-items: flex-start;
}
.anr-review__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 8px;
	min-width: 0;
	flex: 1;
}
.anr-stars {
	flex: 1 1 100%;
}
.anr-review__byline {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	flex: 1 1 100%;
	min-width: 0;
}
.anr-accordion__trigger-text .anr-stars,
.anr-accordion__trigger-text .anr-review__byline {
	flex: 1 1 100%;
}
.anr-review__avatar {
	width: 40px;
	height: 40px;
	border-radius: 999px;
	object-fit: cover;
	flex-shrink: 0;
}
.anr-review__initials {
	width: 40px;
	height: 40px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--anr-badge-bg);
	color: var(--anr-badge-color);
	font-weight: 700;
	font-size: 0.85rem;
	flex-shrink: 0;
}
.anr-review__logo {
	width: 28px;
	height: 28px;
	object-fit: contain;
	border-radius: 4px;
	flex-shrink: 0;
}
.anr-review__photo {
	display: block;
	max-width: 100%;
	height: auto;
	margin-top: 10px;
	border-radius: 8px;
}
.anr-review__author { font-weight: 600; color: var(--anr-text-color); }
.anr-review__date {
	color: var(--anr-date-color, var(--anr-meta-color));
	font-size: var(--anr-date-font-size, 0.85rem);
	font-family: var(--anr-date-font-family, inherit);
	line-height: 1.35;
}
.anr-review__verified {
	font-size: 0.75rem;
	background: var(--anr-verified-bg);
	color: var(--anr-verified-color);
	padding: 2px 8px;
	border-radius: 999px;
}
.anr-review__platform {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.75rem;
	background: var(--anr-badge-bg);
	color: var(--anr-badge-color);
	padding: 2px 8px;
	border-radius: 999px;
}
.anr-review__platform-group {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	max-width: 100%;
}
.anr-review__platform-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	border-radius: 999px;
	color: var(--anr-meta-color);
	text-decoration: none;
	flex-shrink: 0;
	transition: color 0.15s ease, background-color 0.15s ease;
}
.anr-review__platform-link:hover,
.anr-review__platform-link:focus-visible {
	color: var(--anr-text-color);
	background: var(--anr-badge-bg);
}
.anr-review__platform-link-icon {
	display: block;
}
.anr-review__platform-logo {
	width: 14px;
	height: 14px;
	object-fit: contain;
}
.anr-review__text {
	color: var(--anr-text-color);
	line-height: 1.55;
	font-size: var(--anr-font-size);
	text-align: left;
}
.anr-review__text p {
	text-align: left;
}
.anr-stars {
	color: var(--anr-star-color);
	letter-spacing: 1px;
	display: inline-flex;
	justify-content: flex-start;
}
.anr-star { opacity: var(--anr-star-empty-opacity); }
.anr-star.is-filled { opacity: 1; }

.anr-summary {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	font-family: var(--anr-font-family);
	text-align: left;
}
.anr-summary__item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	padding: 12px 16px;
	border: 1px solid var(--anr-card-border);
	border-radius: var(--anr-card-radius);
	background: var(--anr-card-bg);
	box-shadow: var(--anr-card-shadow);
}
.anr-summary__logo { width: 32px; height: 32px; object-fit: contain; }
.anr-summary__name { font-weight: 600; color: var(--anr-text-color); }
.anr-summary__avg { font-weight: 700; color: var(--anr-text-color); }
.anr-summary__count { color: var(--anr-meta-color); font-size: 0.9em; }
.anr-empty { color: var(--anr-meta-color); font-style: italic; }

.anr-review--paginated-hidden { display: none !important; }

@media (prefers-reduced-motion: no-preference) {
	.anr-reviews--entrance.anr-reviews--masonry:not(.anr-masonry--ready) .anr-review:not(.anr-review--paginated-hidden) {
		opacity: 1;
		transform: none;
	}

	.anr-reviews--entrance .anr-review:not(.is-visible):not(.anr-review--paginated-hidden),
	.anr-reviews--entrance .anr-accordion__item:not(.is-visible) {
		opacity: 0;
		transform: translate3d(0, 22px, 0);
	}

	.anr-reviews--entrance .anr-review.is-visible,
	.anr-reviews--entrance .anr-accordion__item.is-visible {
		opacity: 1;
		transform: translate3d(0, 0, 0);
		transition:
			opacity 0.62s cubic-bezier(0.22, 1, 0.36, 1),
			transform 0.62s cubic-bezier(0.22, 1, 0.36, 1);
		transition-delay: calc(var(--anr-i, 0) * 55ms);
	}

	.anr-reviews--entrance.anr-reviews--masonry .anr-review.is-visible {
		transition-duration: 0.68s;
		transition-delay: calc(var(--anr-i, 0) * 70ms);
	}

	.anr-reviews--entrance.anr-reviews--slider .anr-review {
		opacity: 1;
		transform: none;
		transition: none;
	}

	/* Mobile: cards reveal one-by-one while scrolling, so a cumulative
	   index-based stagger makes each card feel laggy. Drop the stagger and
	   use a shorter, tighter motion for a smoother feel on small screens. */
	@media (max-width: 640px) {
		.anr-reviews--entrance .anr-review:not(.is-visible):not(.anr-review--paginated-hidden),
		.anr-reviews--entrance .anr-accordion__item:not(.is-visible) {
			transform: translate3d(0, 14px, 0);
		}

		.anr-reviews--entrance .anr-review.is-visible,
		.anr-reviews--entrance .anr-accordion__item.is-visible,
		.anr-reviews--entrance.anr-reviews--masonry .anr-review.is-visible {
			transition-duration: 0.45s;
			transition-delay: 0s;
		}
	}
}

.anr-pagination {
	margin-top: calc(var(--anr-gap) + 4px);
	text-align: center;
}
.anr-load-more {
	appearance: none;
	border: 1px solid var(--anr-card-border);
	background: var(--anr-card-bg);
	color: var(--anr-text-color);
	border-radius: 999px;
	padding: 10px 20px;
	font: inherit;
	font-size: 0.9em;
	cursor: pointer;
	box-shadow: var(--anr-card-shadow);
	transition: border-color 0.15s ease, color 0.15s ease;
}
.anr-load-more:hover {
	border-color: var(--anr-star-color);
	color: var(--anr-star-color);
}
.anr-load-more.is-hidden { display: none; }
.anr-scroll-sentinel {
	display: block;
	width: 100%;
	height: 1px;
}
