/*
 * Shared Alshival primary action. Keep this file canonical in website/src/assets/css;
 * the static marketing release ships an identical copy as /spectrum-buttons.css.
 * Existing primary classes are aliases; new markup can use .spectrum-button.
 * .button-themed preserves the landing hero/contact art direction.
 */
:root {
  --button-spectrum: linear-gradient(100deg, #08a9ef, #2676ff 22%, #7b4dff 44%, #f23aa9 65%, #ff6548 83%, #ffb80f);
  --button-spectrum-fill: linear-gradient(rgb(255 255 255 / 12%), rgb(255 255 255 / 12%)), var(--button-spectrum);
}

:where(.spectrum-button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 44px;
  padding: 11px 17px;
  border: 1px solid transparent;
  line-height: 1.45;
  text-align: center;
}

html :is(
  .spectrum-button,
  .btn-primary,
  .btn.matrix-btn,
  .auth-primary-button,
  .auth-method-button-primary,
  .button-primary,
  .button.primary,
  .services-overview__button
):not(.button-themed, .btn-icon, .btn-danger, .btn-outline-danger, .auth-provider-button) {
  /* Important paint rules bridge Bootstrap and legacy page-specific themes. */
  background: var(--button-spectrum-fill) !important;
  background-origin: border-box !important;
  background-repeat: no-repeat !important;
  border-color: transparent !important;
  color: #0b0c11 !important;
  border-radius: 11px;
  font-family: 'Public Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-weight: 750;
  text-decoration: none;
  box-shadow: none;
  transition: transform 150ms ease, box-shadow 150ms ease;
}

html :is(
  .spectrum-button,
  .btn-primary,
  .btn.matrix-btn,
  .auth-primary-button,
  .auth-method-button-primary,
  .button-primary,
  .button.primary,
  .services-overview__button
):not(.button-themed, .btn-icon, .btn-danger, .btn-outline-danger, .auth-provider-button):hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgb(11 12 17 / 16%);
  text-decoration: none;
}

html :is(
  .spectrum-button,
  .btn-primary,
  .btn.matrix-btn,
  .auth-primary-button,
  .auth-method-button-primary,
  .button-primary,
  .button.primary,
  .services-overview__button
):not(.button-themed, .btn-icon, .btn-danger, .btn-outline-danger, .auth-provider-button):focus-visible {
  outline: 3px solid #2676ff !important;
  outline-offset: 3px;
  box-shadow: 0 0 0 2px #fffef9;
}

html :is(
  .spectrum-button,
  .btn-primary,
  .btn.matrix-btn,
  .auth-primary-button,
  .auth-method-button-primary,
  .button-primary,
  .button.primary,
  .services-overview__button
):not(.button-themed, .btn-icon, .btn-danger, .btn-outline-danger, .auth-provider-button):is(:disabled, .disabled, [aria-disabled='true'], [aria-busy='true']) {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* The passkey icon previously had its own white foreground. */
.auth-method-button-primary i {
  color: inherit !important;
}

@media (prefers-reduced-motion: reduce) {
  html :is(
  .spectrum-button,
  .btn-primary,
  .btn.matrix-btn,
  .auth-primary-button,
  .auth-method-button-primary,
  .button-primary,
  .button.primary,
  .services-overview__button
):not(.button-themed, .btn-icon, .btn-danger, .btn-outline-danger, .auth-provider-button) {
    transition: none;
  }

  html :is(
  .spectrum-button,
  .btn-primary,
  .btn.matrix-btn,
  .auth-primary-button,
  .auth-method-button-primary,
  .button-primary,
  .button.primary,
  .services-overview__button
):not(.button-themed, .btn-icon, .btn-danger, .btn-outline-danger, .auth-provider-button):hover {
    transform: none;
  }
}
