/* Friendly pill buttons — from friendly/buttons/demo.html */
.fr-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--sk-button-min-height);
  padding: var(--sk-button-padding-vertical) var(--sk-button-padding-horizontal);
  border: var(--sk-button-border-width) solid var(--sk-button-border-color);
  border-radius: var(--sk-button-border-radius);
  background: var(--sk-button-background);
  color: var(--sk-button-color);
  font-family: var(--font-sans);
  font-size: var(--sk-button-font-size);
  font-weight: var(--sk-button-font-weight);
  line-height: var(--sk-button-line-height);
  letter-spacing: var(--sk-button-letter-spacing);
  text-decoration: none;
  cursor: pointer;
  transition: var(--sk-button-transition);
  -webkit-tap-highlight-color: transparent;
  box-sizing: border-box;
}

.fr-button:disabled,
.fr-button[aria-disabled="true"] {
  opacity: var(--sk-button-disabled-opacity);
  cursor: not-allowed;
}

@media (hover: hover) and (pointer: fine) {
  .fr-button:hover {
    background: var(--sk-button-background-hover);
    color: var(--sk-button-color-hover);
  }
}

.fr-button:active {
  background: var(--sk-button-background-active);
}

.fr-button--outline {
  --sk-button-background: transparent;
  --sk-button-color: var(--brand);
  --sk-button-border-width: 1px;
  --sk-button-border-color: var(--brand);
  --sk-button-background-hover: color-mix(in oklch, var(--brand) 8%, var(--bg));
}

.fr-button--accent {
  --sk-button-background: var(--accent);
  --sk-button-background-hover: var(--accent-hover);
  --sk-button-color: var(--accent-contrast);
}

.fr-button--touch-safe {
  position: relative;
}

.fr-button--touch-safe::after {
  content: "";
  position: absolute;
  inset: -8px -4px;
}

.fr-button:focus-visible {
  outline: var(--focus-ring-width) solid var(--focus-ring-color);
  outline-offset: var(--focus-ring-offset-container);
}
