/* Buttons. Pills, as on the old site, in ink with white text; outline for the second action.
   Colours come from semantic tokens so a button flips inside .is-inverse. */

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-1);
	min-height: 2.75rem;
	padding: var(--space-1) var(--space-3);
	border: var(--border-hairline) solid transparent;
	border-radius: var(--radius-pill);
	font-family: var(--font-text);
	font-size: var(--font-3);
	font-weight: var(--weight-medium);
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: background-color var(--duration) var(--ease), border-color var(--duration) var(--ease), color var(--duration) var(--ease);
}

.btn--primary {
	background-color: var(--color-btn);
	border-color: var(--color-btn);
	color: var(--color-on-btn);
}

.btn--primary:hover,
.btn--primary:focus-visible {
	background-color: var(--color-btn-hover);
	border-color: var(--color-btn-hover);
	color: var(--color-on-btn);
	text-decoration: none;
}

.btn--outline {
	background-color: transparent;
	border-color: var(--color-btn);
	color: var(--color-link);
}

.btn--outline:hover,
.btn--outline:focus-visible {
	background-color: var(--color-btn);
	color: var(--color-on-btn);
	text-decoration: none;
}

/* Over a photograph the outline needs its own ground to stay legible. */
.btn.btn--on-image {
	background-color: rgb(255 255 255 / 0.85);
}

.btn.btn--on-image:hover,
.btn.btn--on-image:focus-visible {
	background-color: var(--color-btn);
}

.btn--sm {
	min-height: 2.5rem;
	padding-inline: var(--space-2);
	font-size: var(--font-2);
}

.btn[aria-disabled="true"],
.btn:disabled {
	opacity: 0.5;
	pointer-events: none;
}
