.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    min-height: 46px;
    padding: 0 1.05rem;
    border-radius: var(--radius-pill);
    border: 1px solid transparent;
    font-weight: 600;
    transition:
        transform var(--duration-fast) var(--ease-standard),
        opacity var(--duration-fast) var(--ease-standard),
        background-color var(--duration-base) var(--ease-standard),
        border-color var(--duration-base) var(--ease-standard),
        box-shadow var(--duration-base) var(--ease-standard);
}

.button:hover {
    transform: translateY(-1px);
}

.button--primary {
    background: linear-gradient(180deg, #24644e 0%, #184536 100%);
    color: #fff;
    box-shadow: 0 12px 24px rgba(24, 69, 54, 0.22);
}

.button--secondary {
    background: rgba(255, 252, 248, 0.94);
    border-color: rgba(62, 53, 45, 0.14);
    color: var(--color-text);
}

.button--ghost {
    background: rgba(255, 255, 255, 0.36);
    border-color: rgba(62, 53, 45, 0.1);
    color: var(--color-text-soft);
}

.button--danger-soft {
    background: rgba(248, 222, 222, 0.88);
    border-color: rgba(203, 124, 124, 0.34);
    color: #8f4343;
}

.button--danger-soft:hover {
    background: rgba(244, 210, 210, 0.96);
    border-color: rgba(190, 103, 103, 0.42);
}
