/* ==================================================
   PREMIUM MOTION
   BUTTON SYSTEM
================================================== */

.btn {

    --btn-bg: var(--color-primary);
    --btn-color: var(--color-white);
    --btn-border: transparent;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .75rem;

    padding: var(--space-16) var(--space-32);

    border: 1px solid var(--btn-border);
    border-radius: var(--radius-pill);

    background: var(--btn-bg);
    color: var(--btn-color);

    text-decoration: none;
    font-family: var(--font-body);
    font-size: var(--body);
    font-weight: 600;

    cursor: pointer;

    transition:
        transform var(--transition),
        background var(--transition),
        color var(--transition),
        box-shadow var(--transition),
        border-color var(--transition);

    box-shadow: var(--shadow-sm);
}

.btn:hover{

    transform: translateY(-3px);

    box-shadow: var(--shadow-md);

}

.btn:active{

    transform: translateY(0);

}

.btn:focus-visible{

    outline:3px solid rgba(176,138,84,.35);

    outline-offset:4px;

}

/* PRIMARY */

.btn-primary{

    --btn-bg:var(--color-primary);

    --btn-color:var(--color-white);

}

/* SECONDARY */

.btn-secondary{

    --btn-bg:var(--color-surface);

    --btn-color:var(--color-title);

    --btn-border:var(--color-border);

}

/* OUTLINE */

.btn-outline{

    --btn-bg:transparent;

    --btn-color:var(--color-primary);

    --btn-border:var(--color-primary);

}

/* DARK */

.btn-dark{

    --btn-bg:var(--color-black);

    --btn-color:var(--color-white);

}

/* GHOST */

.btn-ghost{

    --btn-bg:transparent;

    --btn-color:var(--color-title);

    box-shadow:none;

}

/* TAMANHOS */

.btn-sm{

    padding:12px 22px;

    font-size:14px;

}

.btn-md{

    padding:16px 32px;

}

.btn-lg{

    padding:20px 42px;

    font-size:18px;

}

/* ÍCONE */

.btn svg{

    width:18px;

    height:18px;

    transition:transform var(--transition);

}

.btn:hover svg{

    transform:translateX(4px);

}

/* DESABILITADO */

.btn:disabled,
.btn.disabled{

    opacity:.5;

    cursor:not-allowed;

    pointer-events:none;

}