.hgre-widget {
	--hgre-accent: #f59e0b;
	--hgre-nav: #10233b;
	--hgre-arrow-color: #ffffff;
}

.hgre-reviews {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
}

.hgre-layout-list .hgre-reviews {
	grid-template-columns: 1fr;
}

.hgre-card {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	height: 100%;
	padding: 1.5rem;
	border: 1px solid #dbe2ea;
	border-radius: 20px;
	background: #ffffff;
	box-shadow: 0 18px 35px rgba(15, 23, 42, 0.08);
	transition: transform 220ms ease, box-shadow 220ms ease;
}

.hgre-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 22px 44px rgba(15, 23, 42, 0.12);
}

.hgre-card-top {
	display: flex;
	align-items: center;
	gap: 0.9rem;
}

.hgre-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 999px;
	background: #e2f0ea;
	color: #1d6b58;
	font-weight: 700;
	font-size: 1rem;
	flex-shrink: 0;
}

.hgre-avatar {
	width: 52px;
	height: 52px;
	border-radius: 999px;
	object-fit: cover;
	flex-shrink: 0;
}

.hgre-head {
	min-width: 0;
}

.hgre-name {
	color: #10233b;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.3;
}

.hgre-date {
	color: #64748b;
	font-size: 0.92rem;
	margin-top: 0.2rem;
}

.hgre-stars {
	color: var(--hgre-accent);
	font-size: 1.05rem;
	letter-spacing: 0.08em;
}

.hgre-text {
	color: #334155;
	line-height: 1.7;
	white-space: pre-line;
	overflow-y: auto;
	padding-right: 0.35rem;
	max-height: 150px;
	scrollbar-width: thin;
	scrollbar-color: rgba(15, 23, 42, 0.28) transparent;
}

.hgre-text::-webkit-scrollbar {
	width: 6px;
}

.hgre-text::-webkit-scrollbar-track {
	background: transparent;
}

.hgre-text::-webkit-scrollbar-thumb {
	border-radius: 999px;
	background: rgba(15, 23, 42, 0.24);
}

.hgre-slider {
	position: relative;
	overflow: visible;
	--hgre-visible-slides: 3;
	padding: 0 2.8rem;
}

.hgre-slider-viewport {
	overflow-x: auto;
	overflow-y: hidden;
	padding: 0.35rem 0.15rem 0.75rem;
	touch-action: pan-y;
	cursor: grab;
	scrollbar-width: none;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
}

.hgre-slider-viewport:active {
	cursor: grabbing;
}

.hgre-slider-viewport::-webkit-scrollbar {
	display: none;
}

.hgre-slider-track {
	display: flex;
	gap: 0;
	width: 100%;
}

.hgre-slide {
	flex: 0 0 calc(100% / var(--hgre-visible-slides));
	max-width: calc(100% / var(--hgre-visible-slides));
	padding: 0 0.75rem;
	box-sizing: border-box;
	scroll-snap-align: start;
}

.hgre-slider-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	position: absolute;
	top: 50%;
	z-index: 3;
	border: 0;
	background: var(--hgre-nav);
	color: var(--hgre-arrow-color);
	cursor: pointer;
	box-shadow: none;
	transform: translateY(-50%);
	transition: transform 180ms ease, opacity 180ms ease, color 180ms ease;
}

.hgre-slider-arrow:hover {
	transform: translateY(calc(-50% - 1px)) scale(1.04);
}

.hgre-slider-arrow:disabled {
	opacity: 0.28;
	cursor: default;
}

.hgre-slider-arrow--prev {
	left: -0.35rem;
}

.hgre-slider-arrow--next {
	right: -0.35rem;
}

.hgre-slider-arrow span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-size: 24px;
	font-weight: 400;
	line-height: 1;
	transform: none;
}

.hgre-notice {
	padding: 1rem 1.1rem;
	border-radius: 14px;
	background: #f8fafc;
	color: #334155;
}

@media (max-width: 1024px) {
	.hgre-reviews {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hgre-slider {
		--hgre-visible-slides: 2;
		padding: 0 2.4rem;
	}
}

@media (max-width: 767px) {
	.hgre-reviews {
		grid-template-columns: 1fr;
	}

	.hgre-card {
		padding: 1.1rem;
	}

	.hgre-slider {
		--hgre-visible-slides: 1;
		padding: 0 2rem;
	}

	.hgre-slide {
		padding: 0 0.35rem;
	}
}
