.btn-filled{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 12px 24px;
    background: var(--color-green-1);
    box-shadow: 0px 3px 11px var(--color-box-shadow);
    border-radius: 28px;
    height: 55px;
    color: var(--color-white);
    border: none;
    outline: none;
    font-size: 16px;
    cursor: pointer;
}

.btn-filled:hover {
    background-color: var(--color-hover-bg-primary);
    color: var(--color-white);
}

.btn-filled[data-loading="true"]:hover {
    background: var(--color-green-1);
    color: var(--color-white);
}

.btn-outlined {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 12px 24px;
    border-radius: 28px;
    box-shadow: unset;
    border: none;
    font-size: 16px;
    font-weight: 700;
    width: 100%;
    background-color: transparent;
    color: var(--color-green-1);
    border: 1px solid var(--color-green-1);
}

.btn-outlined:hover {
    border-color: var(--color-hover-bg-primary);
    color: var(--color-hover-bg-primary);
}

.btn-outlined .icon-btn{
    margin-right: 8px;
}

.btn-outlined[data-loading="true"]:hover {
    color: var(--color-green-1);
    border: 1px solid var(--color-green-1);
}

.btn-filled[data-loading="true"],
.btn-outlined[data-loading="true"] {
    cursor: default !important;
}

.btn-filled.btn-modal,
.btn-outlined.btn-modal {
    padding: 12px 24px;
    box-shadow: unset;
    font-size: 16px;
    font-weight: 700;
    min-width: 140px;
    width: auto;
}

.btn-filled.btn-modal {
    border: none;
}

button:not([data-loading="true"]):disabled, 
input[type='submit']:not([data-loading="true"]):disabled, 
input[type='button']:not([data-loading="true"]):disabled {
    background-color: var(--color-bg-disabled) !important;
    color: var(--color-txt-disabled) !important;
    border: unset;
    box-shadow: 0px 3px 11px var(--color-box-shadow) !important;
    opacity: 1 !important;
    cursor: default !important;
}

.loader-wrapper {
    display: inline-flex;
    align-items: center;
    max-width: 0;
    opacity: 0;
    /* overflow: hidden; */
    transition: margin-left 0.1s ease;
}

button[data-loading="true"] .loader-wrapper {
    /* max-width: 18px; */
    max-width: unset;
    opacity: 1;
    margin-left: 8px;
}

.loader-wrapper .loader-outer {
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: rotation 1s linear infinite;
}

.loader-wrapper .loader-inner {
    width: 100%;
    height: 100%;
    border: 3px solid var(--color-green-5);
    border-bottom-color: var(--color-white);
    border-radius: 50%;
    box-sizing: border-box;
}

.btn-outlined .loader-wrapper .loader-inner {
    border: 3px solid var(--color-green-7);
    border-bottom-color: var(--color-green-1);
}

button[data-loading="true"] .loader-wrapper .loader-inner {
    animation: scale-up 0.3s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
}

button:not([data-loading="true"]) .loader-wrapper .loader-inner {
    animation: scale-down 0.3s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

@keyframes rotation {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes scale-up {
  0% { transform: scale(0); }
  100% { transform: scale(1); }
}

@keyframes scale-down {
  0% { transform: scale(1); }
  100% { transform: scale(0); }
}

button[data-loading="true"] .btn-text-normal {
    display: none;
}

button[data-loading="true"] .btn-text-loading {
    display: inline-block;
}

button[data-loading="false"] .btn-text-normal {
    display: inline-block;
}

button[data-loading="false"] .btn-text-loading {
    display: none;
}

@media (max-width: 1280px) {
    
    .btn-filled.responsive-btn-1280,
    .btn-outlined.responsive-btn-1280 {
        font-size: 1.5rem;
        font-weight: 900;
        border: none;
        width: fit-content;
        cursor: pointer;
        padding: 0 8px;
        min-width: unset;
    }
    
    .btn-filled.responsive-btn-1280 .icon-btn,
    .btn-outlined.responsive-btn-1280 .icon-btn {
        margin-right: 0 !important;
    }

    .btn-filled.responsive-btn-1280 .btn-text-normal,
    .btn-filled.responsive-btn-1280 .btn-text-loading,
    .btn-outlined.responsive-btn-1280 .btn-text-normal,
    .btn-outlined.responsive-btn-1280 .btn-text-loading {
        display: none !important;
    }

    .btn-outlined.responsive-btn-1280[data-loading="true"] .icon-btn{
        display: none;
    }

    .btn-outlined.responsive-btn-1280[data-loading="true"] .loader-wrapper{
        margin: 0;
    }

    .btn-outlined.responsive-btn-1280[data-loading="true"] .loader-outer{
        width: 24px;
        height: 24px;
    }

    .btn-outlined.responsive-btn-1280[data-loading="true"]:hover {
        color: var(--color-green-1);
        border: none;
    }
}