a.download {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 12px;
    letter-spacing: .2px;
    color: var(--primary);
    text-decoration: none;
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid rgb(var(--primary-rgb)/.25);
    background: rgb(var(--primary-rgb)/.1);
    box-shadow: 0 1px 0 rgb(var(--primary) / .04);
    transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .05s ease;
    user-select: none;
    white-space: nowrap;
}

    a.download .fa {
        font-size: 13px;
        transform: translateY(0.5px);
    }

    a.download:hover {
        background: rgb(var(--primary-rgb)/.2);
        border-color: rgba(37, 99, 235, .35);
    }

    a.download:focus {
        outline: none;
    }

    a.download:focus-visible {
        box-shadow: 0 0 0 4px var(--primary);
    }

    a.download:active {
        transform: translateY(1px);
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18) inset;
    }

    /* Variantes por formato */
    a.download.is-csv {
        border-color: rgba(22, 163, 74, .28);
        background: rgba(22, 163, 74, .06);
        color: #15803d;
    }

        a.download.is-csv:hover {
            background: rgba(22, 163, 74, .10);
            border-color: rgba(22, 163, 74, .38);
        }

    /* Excel/XLSX */
    a.download.is-xlsx {
        border-color: rgba(37, 99, 235, .22);
        background: rgba(37, 99, 235, .06);
        color: var(--primary);
    }


    /* Variante "danger" (si alguna descarga es sensible) */
    a.download.is-danger {
        border-color: rgb(var(--danger)/ .25);
        background: rgb(var(--danger)/ .06);
        color: var(--danger);
    }

        a.download.is-danger:hover {
            background: rgb(var(--danger)/ .10);
            border-color: rgb(var(--danger)/ .38);
        }

