.btn {
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.75rem;
  border-radius: 100px;
  width: 100%;
  max-height: 3rem;
}

.btn:focus-visible {
  outline-color: var(--bs-focus-ring-color);
  outline-offset: 2px;
}

.btn-auto {
  width: auto;
}

@media (width >= 768px) {
  .btn {
    width: auto;
  }
}

.btn-solid.theme-primary {
  background-color: var(--bs-primary);
  padding: 0.625rem 1.5rem;
  border: none;
}

.btn-solid.theme-primary:disabled {
  background-color: var(--bs-border-color);
  color: var(--ha-body-color);
}

.btn-solid.theme-primary:hover {
  background: linear-gradient(
    0deg,
    rgba(255, 255, 255, 0.20) 0%,
    rgba(255, 255, 255, 0.20) 100%
  ), var(--bs-primary);
}

.btn-outline.theme-primary {
  padding: 0.625rem 1.5rem;
  border: 2px solid var(--bs-primary);
  color: var(--bs-primary);
}

.btn-outline.theme-primary:disabled {
  border: 2px solid var(--bs-border-color);
  color: var(--ha-body-color);
}

.btn-outline.theme-primary:hover {
  background: rgba(20, 60, 85, 0.04);
}

