.button { display: inline-flex; justify-content: center; align-items: center; padding: 0; font-family: var(--font-family-main); border: none; background: transparent; outline: none; cursor: pointer; transition: all 0.3s ease; &:disabled { cursor: not-allowed; opacity: 0.5; } // Variants &.round { border-radius: 50%; aspect-ratio: 1; } &.regular { padding: 0.5em 1em; border-radius: 1em; } // Sizes &.small { height: 40px; font-size: 14px; @media (width <=768px) { height: 20px; } } &.medium { height: 50px; font-size: 18px; @media (width <=768px) { height: 25px; } } &.large { height: 60px; font-size: 24px; @media (width <=768px) { height: 30px; } } // Color Schemes &.primary { $color-primary: var(--color-primary); color: $color-primary; border: 1px solid $color-primary; background-color: transparent; &:hover:not(:disabled) { background-color: var(--color-white); } } &.secondary { $color-blue: var(--color-blue); color: $color-blue; background-color: var(--color-white); box-shadow: 0 0 15px rgb($color-blue / 10%); } // Icon handling .icon { display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; svg { width: 40%; height: 40%; object-fit: contain; } } }