.button {
	display: inline-flex;
	min-height: 58px;
	align-items: center;
	justify-content: center;
	gap: var(--belgru-space-6);
	padding: 9px 12px 9px 28px;
	border: 1px solid transparent;
	border-radius: var(--belgru-radius-button);
	font-size: var(--belgru-font-size-action);
	font-weight: var(--belgru-font-weight-bold);
	line-height: 1;
	transition: background-color var(--belgru-transition-fast), border-color var(--belgru-transition-fast), color var(--belgru-transition-fast), filter var(--belgru-transition-fast), transform var(--belgru-transition-fast);
}

.button:hover,
.button:focus-visible {
	transform: translateY(-1px);
}

.button:focus-visible,
.text-action:focus-visible,
.topic-chip:focus-visible {
	outline: var(--belgru-focus-outline);
	outline-offset: var(--belgru-focus-offset);
}

.button--primary {
	color: var(--belgru-color-on-primary);
	background: var(--belgru-button-gradient);
	box-shadow: var(--belgru-shadow-primary);
}

.button--primary:hover,
.button--primary:focus-visible {
	background: var(--belgru-button-gradient);
	filter: brightness(0.92);
}

.button--secondary {
	color: var(--belgru-color-text);
	background: transparent;
	border-color: var(--belgru-color-border);
}

.button--secondary:hover,
.button--secondary:focus-visible {
	border-color: var(--belgru-color-primary);
	color: var(--belgru-color-primary);
}

.button__icon {
	display: inline-flex;
	width: 30px;
	height: 30px;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	color: var(--belgru-color-primary);
	background: var(--belgru-color-on-primary);
	border-radius: 50%;
}

.button__icon::before,
.text-action__icon::before {
	width: 8px;
	height: 8px;
	border-top: 1.75px solid currentColor;
	border-right: 1.75px solid currentColor;
	content: "";
	transform: rotate(45deg);
}

.button--secondary .button__icon {
	background: transparent;
}

.text-action {
	display: inline-flex;
	align-items: center;
	gap: var(--belgru-space-3);
	margin-top: 24px;
	color: var(--belgru-color-primary);
	font-size: var(--belgru-font-size-action);
	font-weight: var(--belgru-font-weight-bold);
	line-height: 1.2;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 7px;
}

.text-action__icon {
	display: inline-flex;
	width: 18px;
	height: 18px;
	align-items: center;
	justify-content: center;
}

@media (max-width: 639px) {
	.button {
		width: 100%;
		min-height: 54px;
	}
}
