/*
 * These gradient custom properties are declared on the same element the
 * `.root` class lands on (the one tagged `data-baseweb="action-button"`) and
 * are only read by its descendants, so they are scoped through the local class
 * rather than a bare attribute selector. A top-level selector with no local
 * class or id is rejected by css-loader's `pure` mode — which Next.js enables
 * for CSS Modules — and broke every downstream Next.js app that transitively
 * imports this stylesheet.
 */
.action-button-module__root___ZxByw {
  --action-button-neutral-primary-gradient-rest: linear-gradient(
    135deg,
    #010101 0%,
    #292929 100%
  );
  --action-button-neutral-primary-gradient-hover: linear-gradient(
    135deg,
    #242424 0%,
    #464646 100%
  );
  --action-button-neutral-primary-gradient-pressed: linear-gradient(
    135deg,
    #303030 0%,
    #505050 100%
  );
}

[data-theme='dark'] .action-button-module__root___ZxByw {
  --action-button-neutral-primary-gradient-rest: linear-gradient(
    135deg,
    #e0e0e0 0%,
    #ffffff 100%
  );
  --action-button-neutral-primary-gradient-hover: linear-gradient(
    135deg,
    #c1c1c1 0%,
    #dbdbdb 100%
  );
  --action-button-neutral-primary-gradient-pressed: linear-gradient(
    135deg,
    #b7b7b7 0%,
    #cfcfcf 100%
  );
}

[data-theme='dark'] .action-button-module__root___ZxByw[data-elevated='true'] {
  --action-button-neutral-primary-gradient-rest: linear-gradient(
    135deg,
    #ececec 0%,
    #ffffff 100%
  );
  --action-button-neutral-primary-gradient-hover: linear-gradient(
    135deg,
    #cbcbcb 0%,
    #dbdbdb 100%
  );
  --action-button-neutral-primary-gradient-pressed: linear-gradient(
    135deg,
    #c0c0c0 0%,
    #cfcfcf 100%
  );
}

.action-button-module__root___ZxByw {
  --action-button-background: transparent;
  --action-button-background-image: none;
  --action-button-foreground: var(--base-content-primary);
  --action-button-border: transparent;
  --action-button-backplate: transparent;
  --action-button-state-overlay: transparent;
  --action-button-focus-ring-color: transparent;
  --action-button-icon-size: var(--action-button-label-icon-size);

  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: var(--action-button-min-width);
  min-height: max(var(--action-button-height), 48px);
  margin: 0;
  padding: 0;
  border: 0;
  outline: none;
  appearance: none;
  cursor: pointer;
  background: transparent;
}

.action-button-module__root___ZxByw.action-button-module__fill___KTtVv {
  display: flex;
  width: 100%;
}

.action-button-module__root___ZxByw.action-button-module__iconOnly___X1hib {
  --action-button-icon-size: var(--action-button-icon-only-size);

  min-width: max(var(--action-button-height), 48px);
}

.action-button-module__root___ZxByw[data-state='disabled'] {
  --action-button-background: var(--base-background-disabled);
  --action-button-background-image: none;
  --action-button-foreground: var(--base-content-disabled);
  --action-button-border: transparent;
  --action-button-backplate: transparent;

  cursor: not-allowed;
}

.action-button-module__root___ZxByw[data-color='neutral'][data-hierarchy='primary']:not([data-state='disabled']) {
  --action-button-background-image: var(--action-button-neutral-primary-gradient-rest);
  --action-button-foreground: var(--base-content-inverse-primary);
}

.action-button-module__root___ZxByw[data-color='accent'][data-hierarchy='primary']:not([data-state='disabled']) {
  --action-button-background: var(--base-accent-background-primary-bold);
  --action-button-foreground: var(--base-accent-content-primary-onbold);
}

.action-button-module__root___ZxByw[data-color='danger'][data-hierarchy='primary']:not([data-state='disabled']) {
  --action-button-background: var(--base-error-background-bold);
  --action-button-foreground: var(--base-error-content-onbold);
}

.action-button-module__root___ZxByw[data-hierarchy='secondary']:not([data-state='disabled']) {
  --action-button-background: var(--base-background-material-primary);
  --action-button-backplate: var(--base-background-primary);
}

.action-button-module__root___ZxByw[data-color='neutral'][data-hierarchy='secondary']:not([data-state='disabled']) {
  --action-button-foreground: var(--base-content-primary);
  --action-button-border: var(--base-border-subtle);
}

.action-button-module__root___ZxByw[data-color='accent'][data-hierarchy='secondary']:not([data-state='disabled']) {
  --action-button-foreground: var(--base-accent-content-primary);
  --action-button-border: var(--base-accent-border-primary-subtle);
}

.action-button-module__root___ZxByw[data-color='danger'][data-hierarchy='secondary']:not([data-state='disabled']) {
  --action-button-foreground: var(--base-error-content-primary);
  --action-button-border: var(--base-error-border-subtle);
}

.action-button-module__root___ZxByw[data-color='neutral'][data-hierarchy='tertiary']:not([data-state='disabled']) {
  --action-button-foreground: var(--base-content-primary);
}

.action-button-module__root___ZxByw[data-color='accent'][data-hierarchy='tertiary']:not([data-state='disabled']) {
  --action-button-foreground: var(--base-accent-content-primary);
}

.action-button-module__root___ZxByw[data-color='danger'][data-hierarchy='tertiary']:not([data-state='disabled']) {
  --action-button-foreground: var(--base-error-content-primary);
}

@media (hover: hover) {
  .action-button-module__root___ZxByw[data-state='enabled'][data-color='neutral'][data-hierarchy='primary']:hover {
    --action-button-background-image: var(--action-button-neutral-primary-gradient-hover);
  }

  .action-button-module__root___ZxByw[data-state='enabled']:not(
      [data-color='neutral'][data-hierarchy='primary']
    ):hover {
    --action-button-state-overlay: var(--base-background-statelayer-hover);
  }
}

.action-button-module__root___ZxByw[data-state='enabled'][data-color='neutral'][data-hierarchy='primary']:active {
  --action-button-background-image: var(--action-button-neutral-primary-gradient-pressed);
}

.action-button-module__root___ZxByw[data-state='enabled']:not(
    [data-color='neutral'][data-hierarchy='primary']
  ):active {
  --action-button-state-overlay: var(--base-background-statelayer-pressed);
}

.action-button-module__root___ZxByw:focus-visible {
  --action-button-focus-ring-color: var(--base-border-bold);
}

a.action-button-module__root___ZxByw {
  text-decoration: none;
}

a.action-button-module__root___ZxByw[data-state='disabled'] {
  pointer-events: none;
}

.action-button-module__container___HJla4 {
  position: relative;
  display: inline-flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: var(--action-button-min-width);
  min-height: var(--action-button-height);
  padding: var(--action-button-padding-v) var(--action-button-padding-h);
  color: var(--action-button-foreground);
  font-family: var(--action-button-font-family);
  font-size: var(--action-button-font-size);
  font-weight: var(--action-button-font-weight);
  line-height: var(--action-button-line-height);
  letter-spacing: var(--action-button-letter-spacing);
  white-space: nowrap;
  background-color: var(--action-button-background);
  background-image: var(--action-button-background-image);
  border: 0 solid var(--action-button-border);
  border-radius: var(--base-corner-radius-full);
  outline: 2px solid var(--action-button-focus-ring-color);
  outline-offset: 2px;
}

.action-button-module__root___ZxByw[data-hierarchy='secondary']:not([data-state='disabled']) .action-button-module__container___HJla4 {
  border-width: 1px;
}

.action-button-module__iconOnly___X1hib .action-button-module__container___HJla4 {
  flex: 0 0 auto;
  width: var(--action-button-height);
  min-width: var(--action-button-height);
  height: var(--action-button-height);
  padding-right: var(--action-button-padding-v);
  padding-left: var(--action-button-padding-v);
}

.action-button-module__backplate___JskCI,
.action-button-module__stateOverlay___dU9y5 {
  position: absolute;
  inset: 0;
  border-radius: var(--base-corner-radius-full);
  pointer-events: none;
}

.action-button-module__backplate___JskCI {
  display: none;
  background-color: var(--action-button-backplate);
}

.action-button-module__root___ZxByw[data-elevated='true'][data-hierarchy='secondary']:not(
    [data-state='disabled']
  )
  .action-button-module__backplate___JskCI {
  display: block;
}

.action-button-module__stateOverlay___dU9y5 {
  background-color: var(--action-button-state-overlay);
}

.action-button-module__content___WOFRU {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--action-button-gap);
  visibility: visible;
}

.action-button-module__contentLoading___DP4go {
  visibility: hidden;
}

.action-button-module__iconOnly___X1hib .action-button-module__content___WOFRU {
  width: var(--action-button-icon-size);
  height: var(--action-button-icon-size);
}

.action-button-module__label___RDdW9,
.action-button-module__iconSlot___BtIoR,
.action-button-module__icon___zPiJk {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.action-button-module__iconSlot___BtIoR {
  flex-shrink: 0;
  justify-content: center;
  min-width: var(--action-button-icon-size);
  height: var(--action-button-icon-size);
}

.action-button-module__icon___zPiJk {
  color: var(--action-button-foreground);
  line-height: 0;
}

.action-button-module__loadingSpinner___mMAYW {
  position: absolute;
  inset: 0;
  display: inline-block;
  margin: auto;
  visibility: visible;
  box-sizing: border-box;
  width: var(--action-button-icon-size);
  height: var(--action-button-icon-size);
  border: 2px solid color-mix(in srgb, currentColor 30%, transparent);
  border-top-color: currentColor;
  border-radius: 50%;
  animation: action-button-module__action-button-spin___ziBU1 700ms linear infinite;
}

@keyframes action-button-module__action-button-spin___ziBU1 {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

.action-button-module__xlarge___cvI1j {
  --action-button-height: 60px;
  --action-button-min-width: 96px;
  --action-button-padding-h: 22px;
  --action-button-padding-v: 4px;
  --action-button-gap: 8px;
  --action-button-label-icon-size: 20px;
  --action-button-icon-only-size: 24px;
  --action-button-font-family: var(--base-typography-headline-l-medium-font-family);
  --action-button-font-size: var(--base-typography-headline-l-medium-font-size);
  --action-button-line-height: var(--base-typography-headline-l-medium-line-height);
  --action-button-font-weight: var(--base-typography-headline-l-medium-font-weight);
  --action-button-letter-spacing: var(
    --base-typography-headline-l-medium-letter-spacing
  );
}

.action-button-module__large___A7jAY {
  --action-button-height: 54px;
  --action-button-min-width: 88px;
  --action-button-padding-h: 20px;
  --action-button-padding-v: 4px;
  --action-button-gap: 7px;
  --action-button-label-icon-size: 18px;
  --action-button-icon-only-size: 20px;
  --action-button-font-family: var(--base-typography-headline-m-medium-font-family);
  --action-button-font-size: var(--base-typography-headline-m-medium-font-size);
  --action-button-line-height: var(--base-typography-headline-m-medium-line-height);
  --action-button-font-weight: var(--base-typography-headline-m-medium-font-weight);
  --action-button-letter-spacing: var(
    --base-typography-headline-m-medium-letter-spacing
  );
}

.action-button-module__medium___CuQSR {
  --action-button-height: 48px;
  --action-button-min-width: 80px;
  --action-button-padding-h: 18px;
  --action-button-padding-v: 4px;
  --action-button-gap: 6px;
  --action-button-label-icon-size: 16px;
  --action-button-icon-only-size: 18px;
  --action-button-font-family: var(--base-typography-headline-s-medium-font-family);
  --action-button-font-size: var(--base-typography-headline-s-medium-font-size);
  --action-button-line-height: var(--base-typography-headline-s-medium-line-height);
  --action-button-font-weight: var(--base-typography-headline-s-medium-font-weight);
  --action-button-letter-spacing: var(
    --base-typography-headline-s-medium-letter-spacing
  );
}

.action-button-module__small___SLicu {
  --action-button-height: 42px;
  --action-button-min-width: 72px;
  --action-button-padding-h: 16px;
  --action-button-padding-v: 4px;
  --action-button-gap: 5px;
  --action-button-label-icon-size: 14px;
  --action-button-icon-only-size: 16px;
  --action-button-font-family: var(--base-typography-headline-xs-medium-font-family);
  --action-button-font-size: var(--base-typography-headline-xs-medium-font-size);
  --action-button-line-height: var(--base-typography-headline-xs-medium-line-height);
  --action-button-font-weight: var(--base-typography-headline-xs-medium-font-weight);
  --action-button-letter-spacing: var(
    --base-typography-headline-xs-medium-letter-spacing
  );
}

.action-button-module__xsmall___jHgPT,
.action-button-module__xxsmall___ZFkj9 {
  --action-button-font-family: var(--base-typography-headline-xxs-medium-font-family);
  --action-button-font-size: var(--base-typography-headline-xxs-medium-font-size);
  --action-button-line-height: var(--base-typography-headline-xxs-medium-line-height);
  --action-button-font-weight: var(--base-typography-headline-xxs-medium-font-weight);
  --action-button-letter-spacing: var(
    --base-typography-headline-xxs-medium-letter-spacing
  );
}

.action-button-module__xsmall___jHgPT {
  --action-button-height: 36px;
  --action-button-min-width: 64px;
  --action-button-padding-h: 14px;
  --action-button-padding-v: 4px;
  --action-button-gap: 5px;
  --action-button-label-icon-size: 12px;
  --action-button-icon-only-size: 14px;
}

.action-button-module__xxsmall___ZFkj9 {
  --action-button-height: 28px;
  --action-button-min-width: 56px;
  --action-button-padding-h: 12px;
  --action-button-padding-v: 4px;
  --action-button-gap: 4px;
  --action-button-label-icon-size: 12px;
  --action-button-icon-only-size: 12px;
}

