/*
 * ══════════════════════════════════════════════
 *  BUTTON.CSS — Estilos de Botões
 * ══════════════════════════════════════════════
 *
 *  Propósito : Botões reutilizáveis: Primary (sliding glow)
 *              e Ghost (outline transparente).
 *  Dependências : tokens.css (--color-primary, --color-white,
 *                 --radius-full, --duration-normal).
 *  NÃO COLOCAR AQUI : Botão cosmic-spin (está inline via Tailwind).
 */

/* ── Botão Primário com Sliding Glow ──────────── */
.btn-primary {
    position: relative;
    background-color: var(--color-primary);
    color: var(--color-white);
    padding: 0.875rem 2rem;
    border-radius: var(--radius-full);
    font-size: 0.875rem;
    font-weight: 500;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: all var(--duration-normal) ease;
    box-shadow: 0 0 20px rgba(14, 165, 233, 0.4);
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 0 30px rgba(14, 165, 233, 0.6);
}

.btn-primary::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.5), transparent);
    transform: skewX(-20deg);
    transition: all 0.5s ease;
}

.btn-primary:hover::after {
    animation: slideGlow 0.8s ease-in-out forwards;
}

@keyframes slideGlow {
    100% { left: 200%; }
}

/* ── Botão Ghost (Outline Transparente) ───────── */
.btn-ghost {
    padding: 0.875rem 2rem;
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.875rem;
    font-weight: 500;
    border-radius: var(--radius-full);
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all var(--duration-normal) ease;
    background: rgba(255, 255, 255, 0.02);
}

.btn-ghost:hover {
    color: var(--color-white);
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.2);
}
