/* Élan Review Pop-ups — matches the site's navy / gold palette. */
.erp-card {
	--erp-navy: #1c244b;
	--erp-gold: #d3b574;
	--erp-grey: #69727d;
	--erp-avatar-bg: #f3efe4;

	position: fixed;
	left: 24px;
	bottom: 24px;
	z-index: 9998;
	display: flex;
	align-items: center;
	gap: 16px;
	width: 340px;
	max-width: calc(100vw - 48px);
	box-sizing: border-box;
	padding: 20px 40px 20px 22px;
	background: #fff;
	border: 1px solid rgba(28, 36, 75, 0.08);
	border-radius: 18px;
	box-shadow: 0 10px 30px rgba(22, 22, 63, 0.18);
	font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	opacity: 0;
	visibility: hidden;
	transform: translateX(calc(-100% - 40px));
	transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.4s ease, visibility 0s linear 0.55s;
}

.erp-card.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateX(0);
	transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.4s ease, visibility 0s;
}

.erp-avatar {
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--erp-avatar-bg);
	color: var(--erp-navy);
	font-size: 18px;
	font-weight: 600;
	line-height: 48px;
	text-align: center;
}

.erp-body {
	min-width: 0;
}

.erp-card p {
	margin: 0;
	padding: 0;
}

.erp-name {
	color: var(--erp-navy);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
}

.erp-comment {
	margin-top: 3px !important;
	color: var(--erp-grey);
	font-size: 13.5px;
	line-height: 1.4;
}

.erp-meta {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 7px;
}

.erp-stars {
	display: inline-flex;
	gap: 2px;
}

.erp-star svg {
	display: block;
	width: 14px;
	height: 14px;
	fill: #e2e4e8;
}

.erp-star.is-on svg {
	fill: var(--erp-gold);
}

.erp-source {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: var(--erp-grey);
	font-size: 12px;
	line-height: 1;
}

.erp-source svg {
	width: 13px;
	height: 13px;
}

/* Doubled class beats the theme's default [type=button] / button:hover styles. */
.erp-card .erp-close {
	position: absolute;
	top: 10px;
	right: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--erp-grey);
	cursor: pointer;
	box-shadow: none;
	outline-offset: 2px;
}

.erp-card .erp-close:hover,
.erp-card .erp-close:focus,
.erp-card .erp-close:focus-visible {
	border: 0;
	background: #f1f2f4;
	color: var(--erp-navy);
}

.erp-card .erp-close svg {
	width: 14px;
	height: 14px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
}

@media (max-width: 1024px) {
	.erp-card {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.erp-card {
		transform: none;
		transition: opacity 0.3s ease, visibility 0s linear 0.3s;
	}

	.erp-card.is-visible {
		transform: none;
		transition: opacity 0.3s ease, visibility 0s;
	}
}
