.rfgr {
	--rfgr-background: #ffffff;
	--rfgr-card-background: #ffffff;
	--rfgr-text: #16202a;
	--rfgr-heading: #0f1726;
	--rfgr-text-soft: #65758b;
	--rfgr-link: #17324d;
	--rfgr-link-hover: #10263d;
	--rfgr-star-color: #f4b740;
	--rfgr-button-bg: #17324d;
	--rfgr-button-text: #ffffff;
	--rfgr-button-hover-bg: #10263d;
	--rfgr-button-hover-text: #ffffff;
	--rfgr-button-radius: 999px;
	--rfgr-accent: #edf3f9;
	--rfgr-border: #dbe4ef;
	--rfgr-nav-color: #17324d;
	--rfgr-badge-bar: #f4b740;
	--rfgr-radius: 20px;
	--rfgr-gap: 16px;
	--rfgr-padding: 24px;
	--rfgr-slide-gap: 16px;
	--rfgr-card-min-height: 0px;
	--rfgr-slides-desktop: 3;
	--rfgr-slides-tablet: 2;
	--rfgr-slides-mobile: 1;
	--rfgr-shadow: 0 18px 45px rgba(15, 23, 42, 0.1);
	color: var(--rfgr-text);
	font-family: inherit;
}

.rfgr,
.rfgr * {
	box-sizing: border-box;
	font-family: inherit;
}

.rfgr a,
.rfgr button {
	font: inherit;
}

.rfgr a {
	text-decoration: none;
}

.rfgr-shell {
	display: grid;
	gap: var(--rfgr-gap);
	padding: var(--rfgr-padding);
	border: 1px solid var(--rfgr-border);
	border-radius: calc(var(--rfgr-radius) + 4px);
	background: var(--rfgr-background);
	box-shadow: var(--rfgr-shadow);
}

.rfgr[data-density="compact"] .rfgr-shell {
	padding: calc(var(--rfgr-padding) - 4px);
}

.rfgr[data-density="spacious"] .rfgr-shell {
	padding: calc(var(--rfgr-padding) + 4px);
}

.rfgr-shell-grid,
.rfgr-shell-slider {
	background: var(--rfgr-background);
}

.rfgr-shell-slider {
	gap: calc(var(--rfgr-gap) - 4px);
}

.rfgr-summary {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.9rem var(--rfgr-gap);
	flex-wrap: wrap;
}

.rfgr-summary-main,
.rfgr-summary-aside,
.rfgr-summary-topline {
	display: grid;
	gap: 0.72rem;
}

.rfgr-summary-main {
	gap: 0.62rem;
}

.rfgr-summary-aside {
	justify-items: end;
	align-content: start;
}

.rfgr-summary-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.68rem;
	flex-wrap: wrap;
}

.rfgr-summary-actions .rfgr-slider-controls {
	flex-wrap: nowrap;
	gap: 0.42rem;
}

.rfgr-summary-topline {
	grid-auto-flow: column;
	grid-auto-columns: max-content;
	align-items: center;
	justify-content: flex-start;
	gap: 0.72rem;
}

.rfgr .rfgr-title {
	margin: 0;
	font-size: clamp(1.2rem, 2vw, 1.8rem);
	line-height: 1.15;
	color: var(--rfgr-heading);
}

.rfgr-summary-rating,
.rfgr-badge-rating {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.82rem;
}

.rfgr .rfgr-rating-value {
	font-size: clamp(1.4rem, 2vw, 1.8rem);
	font-weight: 700;
	line-height: 1;
	color: var(--rfgr-heading);
}

.rfgr-rating-count,
.rfgr-review-time,
.rfgr-badge-copy,
.rfgr-badge-meta,
.rfgr-slider-caption {
	font-size: 0.94rem;
	color: var(--rfgr-text-soft);
}

.rfgr .rfgr-provider-headline {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	gap: 0.68rem;
	max-width: 100%;
	color: var(--rfgr-heading);
	font-size: 0.92rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1.15;
	vertical-align: middle;
}

.rfgr .rfgr-provider-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 1.25rem;
	height: 1.25rem;
	transform: translateY(-0.02em);
}

.rfgr .rfgr-provider-logo svg {
	display: block;
	width: 100%;
	height: 100%;
}

.rfgr .rfgr-provider-logo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.rfgr .rfgr-provider-headline-text {
	display: inline-flex;
	align-items: center;
	min-width: 0;
	line-height: 1.14;
	transform: translateY(-0.01em);
}

.rfgr-layout-badge .rfgr-shell-badge {
	gap: 0.88rem;
	padding: calc(var(--rfgr-padding) + 4px);
}

.rfgr-layout-badge .rfgr-badge {
	align-items: start;
}

.rfgr-layout-badge .rfgr-badge-main {
	gap: 0.82rem;
}

.rfgr-layout-badge .rfgr-badge-actions {
	display: flex;
	width: 100%;
	padding-top: 0.18rem;
	justify-content: flex-start;
}

.rfgr-layout-badge .rfgr-badge-actions .rfgr-button {
	box-sizing: border-box;
	width: min(100%, 14rem);
	max-width: 100%;
	min-height: 2.2rem;
	padding: 0.58rem 0.95rem;
	font-size: 0.84rem;
	line-height: 1.1;
	letter-spacing: 0.005em;
	white-space: nowrap;
	text-align: center;
}

.rfgr-layout-badge .rfgr-badge-top {
	gap: 0.72rem;
}

.rfgr-layout-badge .rfgr-badge-company {
	gap: 0.2rem;
}

.rfgr-layout-badge .rfgr-badge-rating {
	gap: 0.72rem;
}

.rfgr-layout-badge .rfgr-badge-meta {
	gap: 0.4rem 0.9rem;
}

.rfgr-layout-badge .rfgr-provider-headline {
	font-size: 0.98rem;
	letter-spacing: 0.005em;
}

.rfgr-layout-badge .rfgr-provider-headline-text {
	font-weight: 600;
}

.rfgr-layout-badge .rfgr-provider-logo {
	width: 1.36rem;
	height: 1.36rem;
}

.rfgr-layout-badge[data-badge-header-style="text_only"] .rfgr-badge-top {
	gap: 0;
}

.rfgr[data-badge-size="small"] .rfgr-provider-headline {
	gap: 0.56rem;
	font-size: 0.85rem;
}

.rfgr[data-badge-size="small"] .rfgr-provider-logo {
	width: 1.16rem;
	height: 1.16rem;
}

.rfgr[data-badge-size="small"] .rfgr-shell-badge {
	padding: calc(var(--rfgr-padding) - 2px);
}

.rfgr[data-badge-size="small"] .rfgr-badge-main {
	gap: 0.72rem;
}

.rfgr[data-badge-size="large"] .rfgr-provider-headline {
	gap: 0.78rem;
	font-size: 1.04rem;
}

.rfgr[data-badge-size="large"] .rfgr-provider-logo {
	width: 1.52rem;
	height: 1.52rem;
}

.rfgr[data-badge-size="large"] .rfgr-shell-badge {
	padding: calc(var(--rfgr-padding) + 8px);
}

.rfgr .rfgr-button,
.rfgr a.rfgr-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.8rem;
	padding: 0.82rem 1.2rem;
	border: 1px solid transparent;
	border-radius: var(--rfgr-button-radius);
	background: var(--rfgr-button-bg);
	color: var(--rfgr-button-text);
	font-weight: 600;
	transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.rfgr .rfgr-button:hover,
.rfgr .rfgr-button:focus-visible,
.rfgr a.rfgr-button:hover,
.rfgr a.rfgr-button:focus-visible {
	background: var(--rfgr-button-hover-bg);
	color: var(--rfgr-button-hover-text);
	transform: translateY(-1px);
}

.rfgr-button-compact {
	min-height: 2.4rem;
	padding: 0.7rem 1rem;
}

.rfgr-grid {
	display: grid;
	grid-template-columns: repeat(var(--rfgr-grid-columns-desktop, 3), minmax(0, 1fr));
	gap: var(--rfgr-grid-gap, var(--rfgr-gap));
	align-items: start;
}

.rfgr-masonry {
	column-count: var(--rfgr-masonry-columns-desktop);
	column-gap: var(--rfgr-masonry-gap);
}

.rfgr-masonry-item {
	break-inside: avoid;
	margin-bottom: var(--rfgr-masonry-gap);
}

.rfgr-layout-masonry .rfgr-card {
	min-height: 0;
	height: auto;
	align-content: start;
}

.rfgr .rfgr-card {
	display: grid;
	gap: 1rem;
	padding: calc(var(--rfgr-padding) - 4px);
	min-height: var(--rfgr-card-min-height);
	height: 100%;
	border: 1px solid var(--rfgr-border);
	border-radius: var(--rfgr-radius);
	background: var(--rfgr-card-background);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.rfgr-card-header,
.rfgr-author {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.rfgr-card-header {
	justify-content: space-between;
}

.rfgr-author {
	min-width: 0;
}

.rfgr-author-meta {
	display: grid;
	gap: 0.15rem;
	min-width: 0;
}

.rfgr-author-avatar {
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}

.rfgr .rfgr-author-avatar-fallback {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--rfgr-accent);
	color: var(--rfgr-heading);
	font-weight: 700;
}

.rfgr .rfgr-author-name {
	font-weight: 600;
	color: var(--rfgr-heading);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.rfgr a.rfgr-author-name,
.rfgr .rfgr-footer-link,
.rfgr .rfgr-card-footer a,
.rfgr .rfgr-toggle {
	color: var(--rfgr-link);
}

.rfgr a.rfgr-author-name:hover,
.rfgr a.rfgr-author-name:focus-visible,
.rfgr .rfgr-footer-link:hover,
.rfgr .rfgr-footer-link:focus-visible,
.rfgr .rfgr-card-footer a:hover,
.rfgr .rfgr-card-footer a:focus-visible,
.rfgr .rfgr-toggle:hover,
.rfgr .rfgr-toggle:focus-visible {
	color: var(--rfgr-link-hover);
}

.rfgr-review-body {
	display: grid;
	gap: 0.7rem;
}

.rfgr .rfgr-review-body p {
	margin: 0;
	line-height: 1.65;
	color: var(--rfgr-text);
}

.rfgr .rfgr-toggle {
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
	text-align: left;
	font-weight: 600;
}

.rfgr-card-footer {
	padding-top: 0.1rem;
}

.rfgr-footer {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.9rem;
	flex-wrap: wrap;
}

.rfgr-empty,
.rfgr-notice {
	padding: calc(var(--rfgr-padding) - 6px);
	border-radius: var(--rfgr-radius);
	border: 1px solid var(--rfgr-border);
	background: var(--rfgr-accent);
	color: var(--rfgr-text-soft);
}

.rfgr-notice-error {
	border-color: #f1c5c2;
	background: #fff7f6;
	color: #8b2b21;
}

.rfgr-slider-layout {
	display: grid;
	gap: var(--rfgr-gap);
}

.rfgr[data-summary-position="left"] .rfgr-slider-layout,
.rfgr[data-summary-position="right"] .rfgr-slider-layout {
	grid-template-columns: minmax(250px, 0.95fr) minmax(0, 1.6fr);
	align-items: start;
}

.rfgr[data-summary-position="right"] .rfgr-slider-layout {
	grid-template-columns: minmax(0, 1.6fr) minmax(250px, 0.95fr);
}

.rfgr-slider-main,
.rfgr-slider-side,
.rfgr-slider {
	display: grid;
	gap: 0.92rem;
}

.rfgr-slider-nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.85rem;
	flex-wrap: wrap;
}

.rfgr-slider-nav-bottom {
	justify-content: center;
	padding-top: 0.25rem;
}

.rfgr-slider-controls {
	display: flex;
	align-items: center;
	gap: 0.48rem;
	flex-wrap: wrap;
}

.rfgr-slider-toolbar {
	display: flex;
	justify-content: flex-end;
	padding-bottom: 0.12rem;
}

.rfgr-slider-track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - (var(--rfgr-slide-gap) * (var(--rfgr-slides-desktop) - 1))) / var(--rfgr-slides-desktop));
	gap: var(--rfgr-slide-gap);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding-bottom: 0.2rem;
	scrollbar-width: thin;
	align-items: stretch;
	touch-action: pan-x pinch-zoom;
	overscroll-behavior-x: contain;
}

.rfgr-slider[data-touch-enabled="0"] .rfgr-slider-track {
	overflow-x: hidden;
	touch-action: pan-y;
}

.rfgr-slider[data-rfgr-can-navigate="0"] .rfgr-slider-track {
	overflow-x: visible;
	scroll-snap-type: none;
	scrollbar-width: none;
}

.rfgr-slide {
	scroll-snap-align: start;
	height: 100%;
}

.rfgr .rfgr-slider-button {
	border: 1px solid var(--rfgr-border);
	background: var(--rfgr-card-background);
	color: var(--rfgr-nav-color);
	cursor: pointer;
}

.rfgr .rfgr-slider-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.6rem;
	height: 2.6rem;
	border-radius: 50%;
	font-size: 1rem;
}

.rfgr .rfgr-slider-button:hover,
.rfgr .rfgr-slider-button:focus-visible {
	border-color: var(--rfgr-nav-color);
	color: var(--rfgr-nav-color);
}

.rfgr .rfgr-slider-button[disabled] {
	opacity: 0.4;
	cursor: default;
}

.rfgr-shell-badge {
	gap: 0.55rem;
}

.rfgr-badge-accent {
	display: none;
	height: 4px;
	border-radius: 999px;
	background: var(--rfgr-badge-bar);
}

.rfgr[data-badge-variant="accent"] .rfgr-badge-accent {
	display: block;
}

.rfgr-badge {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	align-items: start;
}

.rfgr-badge-main,
.rfgr-badge-top,
.rfgr-badge-actions,
.rfgr-badge-company {
	display: grid;
	gap: 0.5rem;
}

.rfgr-badge-top {
	grid-auto-flow: column;
	grid-auto-columns: max-content;
	align-items: center;
	justify-content: flex-start;
	gap: 0.45rem;
}

.rfgr-badge-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.4rem 0.8rem;
}

.rfgr .rfgr-badge-company-name {
	font-size: 1.02rem;
	font-weight: 600;
	line-height: 1.32;
	color: var(--rfgr-heading);
	overflow-wrap: anywhere;
}

.rfgr .rfgr-badge-company-name-inline {
	margin-right: 0.2rem;
}

.rfgr[data-badge-orientation="vertical"] .rfgr-badge {
	grid-template-columns: 1fr;
}

.rfgr[data-badge-align="left"] .rfgr-badge,
.rfgr[data-badge-align="left"] .rfgr-badge-main,
.rfgr[data-badge-align="left"] .rfgr-badge-top {
	justify-items: start;
	text-align: left;
}

.rfgr[data-badge-align="left"] .rfgr-badge-top,
.rfgr[data-badge-align="left"] .rfgr-badge-meta,
.rfgr[data-badge-align="left"] .rfgr-badge-actions {
	justify-content: flex-start;
}

.rfgr[data-badge-align="center"] .rfgr-badge,
.rfgr[data-badge-align="center"] .rfgr-badge-main,
.rfgr[data-badge-align="center"] .rfgr-badge-top {
	justify-items: center;
	text-align: center;
}

.rfgr[data-badge-align="center"] .rfgr-badge-top,
.rfgr[data-badge-align="center"] .rfgr-badge-meta,
.rfgr[data-badge-align="center"] .rfgr-badge-actions {
	justify-content: center;
}

.rfgr[data-badge-align="right"] .rfgr-badge,
.rfgr[data-badge-align="right"] .rfgr-badge-main,
.rfgr[data-badge-align="right"] .rfgr-badge-top {
	justify-items: end;
	text-align: right;
}

.rfgr[data-badge-align="right"] .rfgr-badge-top,
.rfgr[data-badge-align="right"] .rfgr-badge-meta,
.rfgr[data-badge-align="right"] .rfgr-badge-actions {
	justify-content: flex-end;
}

.rfgr[data-badge-variant="minimal"] .rfgr-shell-badge {
	box-shadow: none;
}

.rfgr[data-badge-size="small"] .rfgr-rating-value {
	font-size: 1.25rem;
}

.rfgr[data-badge-size="large"] .rfgr-rating-value {
	font-size: 2rem;
}

.rfgr[data-badge-size="large"] .rfgr-badge-meta,
.rfgr[data-badge-size="large"] .rfgr-badge-copy {
	font-size: 1rem;
}

.rfgr-stars {
	position: relative;
	display: inline-block;
	line-height: 1;
	letter-spacing: 0.08em;
}

.rfgr-stars-sm {
	font-size: 0.9rem;
}

.rfgr-stars-md {
	font-size: 1rem;
}

.rfgr-stars-lg {
	font-size: 1.08rem;
}

.rfgr-stars-base,
.rfgr-stars-fill {
	display: block;
}

.rfgr-stars-base {
	color: rgba(15, 23, 38, 0.16);
}

.rfgr-stars-fill {
	position: absolute;
	inset: 0 auto 0 0;
	width: var(--rfgr-stars-fill);
	overflow: hidden;
	color: var(--rfgr-star-color);
}

@media (max-width: 1024px) {
	.rfgr[data-summary-position="left"] .rfgr-slider-layout,
	.rfgr[data-summary-position="right"] .rfgr-slider-layout {
		grid-template-columns: 1fr;
	}

	.rfgr-grid {
		grid-template-columns: repeat(var(--rfgr-grid-columns-tablet, 2), minmax(0, 1fr));
	}

	.rfgr-masonry {
		column-count: var(--rfgr-masonry-columns-tablet);
	}

	.rfgr-slider-track {
		grid-auto-columns: calc((100% - (var(--rfgr-slide-gap) * (var(--rfgr-slides-tablet) - 1))) / var(--rfgr-slides-tablet));
	}
}

@media (max-width: 782px) {
	.rfgr-shell {
		padding: calc(var(--rfgr-padding) - 8px);
		border-radius: var(--rfgr-radius);
	}

	.rfgr-summary,
	.rfgr-footer {
		flex-direction: column;
		align-items: stretch;
	}

	.rfgr-summary-aside {
		width: 100%;
		justify-items: stretch;
	}

	.rfgr-summary-actions {
		justify-content: flex-start;
	}

	.rfgr-badge {
		grid-template-columns: 1fr;
	}

	.rfgr-grid {
		grid-template-columns: repeat(var(--rfgr-grid-columns-mobile, 1), minmax(0, 1fr));
	}

	.rfgr .rfgr-badge-rating {
		align-items: flex-start;
	}

	.rfgr .rfgr-provider-headline {
		max-width: 100%;
	}

	.rfgr-layout-badge .rfgr-shell-badge {
		padding: calc(var(--rfgr-padding) - 2px);
	}

	.rfgr .rfgr-provider-headline-text {
		white-space: normal;
	}

	.rfgr-layout-badge .rfgr-badge-actions .rfgr-button {
		width: 100%;
		min-width: 0;
		max-width: none;
		white-space: normal;
	}

	.rfgr-masonry {
		column-count: var(--rfgr-masonry-columns-mobile);
	}

	.rfgr-slider-track {
		grid-auto-columns: calc((100% - (var(--rfgr-slide-gap) * (var(--rfgr-slides-mobile) - 1))) / var(--rfgr-slides-mobile));
	}
}
