.button,
.icon-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	cursor: pointer;
}

.button {
	min-height: 3.25rem;
	padding: 1rem 3rem;
	border-radius: var(--radius-small);
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	transition: transform 180ms ease, box-shadow 180ms ease, opacity 180ms ease;
}

.button:hover {
	transform: translateY(-0.125rem);
}

.button:active {
	transform: translateY(0);
}

.button:focus-visible,
.icon-button:focus-visible,
.site-navigation__link:focus-visible {
	outline: 0.1875rem solid var(--color-focus);
	outline-offset: 0.1875rem;
}

.button--primary {
	background: var(--color-primary);
	box-shadow: inset 0.25rem 0.25rem 0.875rem rgb(0 0 0 / 25%), inset -0.25rem -0.25rem 0.875rem rgb(255 255 255 / 25%);
	color: var(--color-white);
}

.button--secondary {
	gap: 1rem;
	background: var(--color-white);
	box-shadow: 0 0.125rem 0.21875rem rgb(0 0 0 / 7%);
	color: var(--color-primary);
}

.button--secondary img {
	width: 0.6875rem;
	height: 0.3125rem;
	transform: rotate(-90deg);
}

.button--header {
	min-height: 2.75rem;
	padding: 0.75rem 2rem;
	background: var(--primary-gradient);
	color: var(--color-white);
}

.icon-button {
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 50%;
	background: rgb(255 255 255 / 30%);
	box-shadow: var(--shadow-control);
}

.icon-button img {
	width: 1rem;
	height: 1rem;
}
