.pgr-float {
	--pgr-accent: #f5b800;
	position: fixed;
	z-index: 99990;
	bottom: max(18px, env(safe-area-inset-bottom));
	width: min(376px, calc(100vw - 32px));
	box-sizing: border-box;
	padding: 18px 44px 16px 18px;
	color: #18212f;
	background: #fff;
	border: 1px solid rgba(24, 33, 47, .09);
	border-radius: 16px;
	box-shadow: 0 18px 54px rgba(23, 31, 44, .18), 0 3px 12px rgba(23, 31, 44, .08);
	font: 400 14px/1.45 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	opacity: 0;
	pointer-events: none;
	transform: translateY(18px) scale(.98);
	transition: opacity .28s ease, transform .32s cubic-bezier(.2, .75, .25, 1);
}

.pgr-float--left { left: max(18px, env(safe-area-inset-left)); }
.pgr-float--right { right: max(18px, env(safe-area-inset-right)); }
.pgr-float--center { left: 50%; transform: translate(-50%, 18px) scale(.98); }
.pgr-float.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0) scale(1); }
.pgr-float--center.is-visible { transform: translate(-50%, 0) scale(1); }

.pgr-float__close {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 30px;
	height: 30px;
	padding: 0;
	color: #6b7280;
	background: transparent;
	border: 0;
	border-radius: 50%;
	font: 400 23px/28px sans-serif;
	cursor: pointer;
	transition: color .18s ease, background-color .18s ease, transform .18s ease;
}

.pgr-float__close:hover,
.pgr-float__close:focus-visible {
	color: #18212f;
	background: #f1f4f8;
	transform: rotate(4deg);
	outline: none;
}

.pgr-float__body { transition: opacity .15s ease, transform .15s ease; }
.pgr-float__body.is-changing { opacity: 0; transform: translateY(4px); }
.pgr-float__header { display: flex; align-items: center; gap: 11px; }

.pgr-float__avatar {
	display: grid;
	flex: 0 0 46px;
	width: 46px;
	height: 46px;
	place-items: center;
	overflow: hidden;
	color: #fff;
	background: #3b4a62;
	border-radius: 50%;
	font-weight: 700;
}

.pgr-float__avatar img { width: 100%; height: 100%; object-fit: cover; }
.pgr-float__person { display: flex; min-width: 0; flex: 1; flex-direction: column; }
.pgr-float__person strong,
.pgr-float__person a { overflow: hidden; color: #18212f; font-size: 14px; font-weight: 700; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.pgr-float__person a:hover { text-decoration: underline; }
.pgr-float__company { overflow: hidden; color: #596577; font-size: 12px; font-weight: 600; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.pgr-float__stars { color: var(--pgr-accent); font-size: 14px; letter-spacing: 1px; }
.pgr-float__google {
	flex: 0 0 auto;
	font-size: 12px;
	font-weight: 750;
	letter-spacing: 0;
}

.pgr-float__google span:nth-child(1) { color: #4285f4; }
.pgr-float__google span:nth-child(2) { color: #ea4335; }
.pgr-float__google span:nth-child(3) { color: #fbbc05; }
.pgr-float__google span:nth-child(4) { color: #4285f4; }
.pgr-float__google span:nth-child(5) { color: #34a853; }
.pgr-float__google span:nth-child(6) { color: #ea4335; }

.pgr-float__quote-wrap { margin: 13px 0 11px; }
.pgr-float__quote { display: -webkit-box; margin: 0; overflow: hidden; color: #354052; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.pgr-float__quote.is-expanded { display: block; max-height: min(48vh, 420px); overflow: auto; }
.pgr-float__expand {
	margin: 7px 0 0;
	padding: 0;
	color: #44546a;
	background: transparent;
	border: 0;
	font: inherit;
	font-size: 12px;
	font-weight: 650;
	cursor: pointer;
}

.pgr-float__expand:hover,
.pgr-float__expand:focus-visible { color: #18212f; text-decoration: underline; outline: none; }
.pgr-float__footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 5px 12px; color: #7b8493; font-size: 11px; }
.pgr-float__footer a { color: #586576; text-decoration: none; }
.pgr-float__footer a:hover { text-decoration: underline; }
.pgr-float__controls {
	position: absolute;
	right: 14px;
	bottom: 12px;
	display: flex;
	justify-content: flex-end;
	gap: 6px;
	margin: 0;
}

.pgr-float__controls[hidden] { display: none; }
.pgr-float__arrow {
	display: grid;
	width: 28px;
	height: 28px;
	padding: 0;
	place-items: center;
	color: #566274;
	background: #f3f5f8;
	border: 1px solid #e1e6ee;
	border-radius: 50%;
	font: 700 20px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	cursor: pointer;
	transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease;
}

.pgr-float__arrow:hover,
.pgr-float__arrow:focus-visible {
	color: #18212f;
	background: #fff;
	border-color: #cbd3df;
	outline: none;
	transform: translateY(-1px);
}

@media (max-width: 480px) {
	.pgr-float,
	.pgr-float--left,
	.pgr-float--right,
	.pgr-float--center {
		right: 16px;
		bottom: max(12px, env(safe-area-inset-bottom));
		left: 16px;
		max-height: calc(100svh - 28px);
		padding: 16px 42px 14px 16px;
		width: auto;
		transform: translateY(18px) scale(.98);
	}

	.pgr-float__avatar { flex-basis: 42px; width: 42px; height: 42px; }
	.pgr-float__quote { -webkit-line-clamp: 3; }
	.pgr-float__quote.is-expanded { max-height: 42svh; }
	.pgr-float.is-visible,
	.pgr-float--center.is-visible { transform: translateY(0) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
	.pgr-float,
	.pgr-float__body,
	.pgr-float__close,
	.pgr-float__arrow { transition: none; }
}
