/* ═══════════════════════════════════════════
   CheckNow Design System — Button
   ═══════════════════════════════════════════ */

.cn-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--cn-space-sm);
    padding: 12px 28px;
    font-family: var(--cn-font-sans);
    font-size: var(--cn-text-base);
    font-weight: var(--cn-font-semibold);
    line-height: 1;
    border-radius: var(--cn-radius-md);
    border: 2px solid transparent;
    cursor: pointer;
    text-decoration: none;
    transition: all .15s;
}

/* ── Variants ── */
.cn-btn--primary {
    background: var(--cn-primary);
    color: var(--cn-text-inverse);
    border-color: var(--cn-primary);
}
.cn-btn--primary:hover {
    background: var(--cn-primary-dark);
    border-color: var(--cn-primary-dark);
}

.cn-btn--accent {
    background: var(--cn-accent);
    color: var(--cn-primary);
    border-color: var(--cn-accent);
}
.cn-btn--accent:hover {
    background: var(--cn-accent-hover);
}

.cn-btn--outline {
    background: transparent;
    color: var(--cn-text-inverse);
    border-color: rgba(255,255,255,.3);
}
.cn-btn--outline:hover {
    background: rgba(255,255,255,.1);
    border-color: rgba(255,255,255,.5);
}

.cn-btn--ghost {
    background: transparent;
    color: var(--cn-text);
    border-color: transparent;
}
.cn-btn--ghost:hover {
    background: var(--cn-surface-alt);
}

/* ── Sizes ── */
.cn-btn--sm { padding: 8px 16px; font-size: var(--cn-text-sm); }
.cn-btn--lg { padding: 16px 36px; font-size: var(--cn-text-lg); }

/* ── Full width ── */
.cn-btn--full { width: 100%; }
