.gv-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.75em 1.5em;
	border-radius: var(--gv-radius);
	font-weight: 600;
	border: 2px solid transparent;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.gv-button--primary {
	background: var(--gv-color-accent);
	color: var(--gv-color-accent-contrast);
	border-color: var(--gv-color-accent);
}

.gv-button--primary:hover {
	background: var(--gv-color-accent-intense);
	color: var(--gv-color-accent-contrast);
	font-weight: 700;
	border-color: var(--gv-color-accent-intense);
}

.gv-button--secondary {
	background: var(--gv-color-accent-contrast);
	color: var(--gv-color-accent);
	border-color: var(--gv-color-accent);
}

.gv-button--secondary:hover {
	background: var(--gv-color-accent-intense);
	color: var(--gv-color-accent-contrast);
	font-weight: 700;
	border-color: var(--gv-color-accent-intense);
}

.gv-badge {
	display: inline-flex;
	align-items: center;
	padding: 0.35em 0.85em;
	border-radius: 999px;
	font-size: 0.85rem;
	font-weight: 600;
	background: var(--gv-color-bg-alt);
	color: var(--gv-color-text-muted);
	border: 1px solid var(--gv-color-border);
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
	cursor: pointer;
}

.gv-badge:hover {
	background: var(--gv-color-accent);
	color: var(--gv-color-accent-contrast);
	border-color: var(--gv-color-accent);
}
