.c__button { align-items: center; border-radius: var(--c--components--button--border-radius); border: thin solid transparent; box-sizing: border-box; cursor: pointer; display: flex; font-weight: var(--c--components--button--font-weight); transition: all var(--c--theme--transitions--duration) var(--c--theme--transitions--ease-out); user-select: none; &:hover, &:focus-visible, &:active, &.c__button--active { border-radius: var(--c--components--button--border-radius--active); } &:focus-visible { border-color: #FFF; box-shadow: 0 0 0 4px var(--c--theme--colors--primary-400); outline: none; } &:active, &.c__button--active { border-color: currentColor; } &:disabled { background-color: var(--c--theme--colors--greyscale-200); color: var(--c--theme--colors--greyscale-400); cursor: not-allowed; pointer-events: none; } &--medium { height: var(--c--components--button--medium-height); font-size: var(--c--components--button--medium-font-size); padding: 0 var(--c--theme--spacings--s); &.c__button--icon-only { width: var(--c--components--button--medium-height); } } &--small { height: var(--c--components--button--small-height); font-size: var(--c--components--button--small-font-size); padding: 0 0.75rem; &.c__button--icon-only { width: var(--c--components--button--small-height); } } &--icon-only { padding: 0; justify-content: center; } &--with-icon--left, &--with-icon--right { gap: var(--c--theme--spacings--t); } &--with-icon--left { padding: 0 var(--c--theme--spacings--s) 0 var(--c--theme--spacings--t); } &--with-icon--right { padding: 0 var(--c--theme--spacings--t) 0 var(--c--theme--spacings--s); } &--primary { background-color: var(--c--theme--colors--primary-500); color: var(--c--theme--colors--primary-text); &:hover, &:focus-visible { background-color: var(--c--theme--colors--primary-800); color: var(--c--theme--colors--primary-text); } &:active, &.c__button--active { background-color: var(--c--theme--colors--greyscale-000); color: var(--c--theme--colors--primary-800); } } &--secondary { background-color: var(--c--theme--colors--primary-100); color: var(--c--theme--colors--primary-700); &:hover, &:focus-visible { background-color: var(--c--theme--colors--primary-500); color: var(--c--theme--colors--primary-text); } &:active, &.c__button--active { background-color: var(--c--theme--colors--primary-text); color: var(--c--theme--colors--primary-600); } } &--tertiary { background-color: transparent; color: var(--c--theme--colors--greyscale-800); &:hover, &:focus-visible { background-color: var(--c--theme--colors--greyscale-200); color: var(--c--theme--colors--greyscale-900); } &:active, &.c__button--active { background-color: var(--c--theme--colors--greyscale-100); color: var(--c--theme--colors--greyscale-800); } &:disabled { background-color: transparent; } } &--danger { background-color: var(--c--theme--colors--danger-500); color: var(--c--theme--colors--danger-text); &:hover, &:focus-visible { background-color: var(--c--theme--colors--danger-800); color: var(--c--theme--colors--primary-text); } &:active { background-color: var(--c--theme--colors--greyscale-000); color: var(--c--theme--colors--danger-800); } } }