.gpc-rating {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.gpc-rating__summary {
	display: grid;
	grid-template-columns: auto auto;
	align-items: center;
	gap: 0 5px;
	min-width: 104px;
}

.gpc-rating__summary strong {
	font-size: 1.5rem;
	line-height: 1;
}

.gpc-rating__summary > span {
	color: #f6b800;
}

.gpc-rating__summary small {
	grid-column: 1 / -1;
	margin-top: 4px;
	color: var(--gp-muted, #667085);
}

.gpc-rating__buttons {
	display: flex;
	gap: 8px;
}

.gpc-rating__buttons button {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 42px;
	padding: 8px 12px;
	border: 1px solid var(--gp-border, #d9deea);
	border-radius: 999px;
	background: var(--gp-surface, #fff);
	color: inherit;
	cursor: pointer;
}

.gpc-rating__buttons button:hover,
.gpc-rating__buttons button[aria-pressed="true"] {
	border-color: var(--gp-accent, #ffcc33);
	background: color-mix(in srgb, var(--gp-accent, #ffcc33) 16%, white);
}

.gpc-rating__buttons button:disabled {
	cursor: wait;
	opacity: .65;
}

.gpc-rating__message {
	flex-basis: 100%;
	min-height: 1.2em;
	margin: 0;
	color: var(--gp-muted, #667085);
	font-size: .85rem;
}

@media (max-width: 600px) {
	.gpc-rating {
		align-items: flex-start;
	}

	.gpc-rating__buttons button span:nth-child(2) {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
	}
}
