/* /Components/FfBadge.razor.rz.scp.css */
.ff-badge[b-8qyxxj9wls] {
    display: inline-flex;
    align-items: center;
    font-family: var(--font-heading);
    font-weight: var(--weight-semibold);
    letter-spacing: 0.10em;
    text-transform: uppercase;
    border-radius: var(--radius-sm);
    border: 1px solid transparent;
    white-space: nowrap;
}

/* ── Sizes ── */
.ff-badge--sm[b-8qyxxj9wls] {
    font-size: 10px;
    padding: 3px 8px;
}

.ff-badge--md[b-8qyxxj9wls] {
    font-size: var(--text-xs);
    padding: 4px 10px;
}

/* ── Variants ── */
.ff-badge--default[b-8qyxxj9wls] {
    background: var(--bg-elevated);
    color: var(--text-secondary);
    border-color: var(--border-subtle);
}

.ff-badge--crimson[b-8qyxxj9wls] {
    background: rgba(196, 30, 58, 0.16);
    color: var(--color-crimson-300);
    border-color: rgba(196, 30, 58, 0.45);
}

.ff-badge--gold[b-8qyxxj9wls] {
    background: rgba(201, 146, 42, 0.14);
    color: var(--color-gold-300);
    border-color: rgba(201, 146, 42, 0.45);
}

.ff-badge--outline[b-8qyxxj9wls] {
    background: transparent;
    color: var(--text-muted);
    border-color: var(--border-default);
    border-radius: var(--radius-pill);
}
/* /Components/FfButton.razor.rz.scp.css */
.ff-button[b-ok6rvafz5t] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-heading);
    font-weight: var(--weight-semibold);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    border-radius: var(--radius-sm);
    border: 1px solid transparent;
    cursor: pointer;
    text-decoration: none;
    transition: background-color var(--transition-default), color var(--transition-default), border-color var(--transition-default), box-shadow var(--transition-default);
}

.ff-button:active[b-ok6rvafz5t] {
    transform: scale(0.97);
}

.ff-button:disabled[b-ok6rvafz5t],
.ff-button[aria-disabled="true"][b-ok6rvafz5t] {
    opacity: 0.45;
    pointer-events: none;
}

/* ── Sizes ── */
.ff-button--sm[b-ok6rvafz5t] {
    font-size: var(--text-xs);
    padding: 6px 14px;
}

.ff-button--md[b-ok6rvafz5t] {
    font-size: var(--text-sm);
    padding: 10px 22px;
}

.ff-button--lg[b-ok6rvafz5t] {
    font-size: var(--text-sm);
    padding: 15px 32px;
}

/* ── Primary ── */
.ff-button--primary[b-ok6rvafz5t] {
    background: var(--accent-crimson);
    color: var(--text-primary);
    border-color: var(--accent-crimson);
}

.ff-button--primary:hover[b-ok6rvafz5t] {
    background: var(--color-crimson-400);
    border-color: var(--color-crimson-400);
    box-shadow: var(--glow-crimson-sm);
}

/* ── Ghost ── */
.ff-button--ghost[b-ok6rvafz5t] {
    background: transparent;
    color: var(--text-primary);
    border-color: var(--border-default);
}

.ff-button--ghost:hover[b-ok6rvafz5t] {
    background: rgba(196, 30, 58, 0.12);
    border-color: var(--accent-crimson);
    box-shadow: var(--glow-crimson-sm);
}

/* ── Text ── */
.ff-button--text[b-ok6rvafz5t] {
    background: transparent;
    color: var(--accent-crimson);
    padding-left: 0;
    padding-right: 0;
    border: none;
    text-underline-offset: 4px;
}

.ff-button--text:hover[b-ok6rvafz5t] {
    color: var(--color-crimson-300);
    text-decoration: underline;
}
/* /Components/FfCard.razor.rz.scp.css */
.ff-card[b-89q7jp0un5] {
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-md);
    overflow: hidden;
    transition: border-color var(--transition-default), box-shadow var(--transition-default), transform var(--transition-default);
}

/* ── Variants ── */
.ff-card--elevated[b-89q7jp0un5] {
    background: var(--bg-elevated);
}

.ff-card--bordered[b-89q7jp0un5] {
    border-color: var(--border-default);
}

.ff-card--accent[b-89q7jp0un5] {
    border-top: 2px solid var(--accent-crimson);
}

/* ── Padding ── */
.ff-card--pad-none[b-89q7jp0un5] {
    padding: 0;
}

.ff-card--pad-sm[b-89q7jp0un5] {
    padding: var(--card-padding-sm);
}

.ff-card--pad-md[b-89q7jp0un5] {
    padding: var(--card-padding-md);
}

.ff-card--pad-lg[b-89q7jp0un5] {
    padding: var(--card-padding-lg);
}

/* ── Hoverable ── */
.ff-card--hoverable:hover[b-89q7jp0un5] {
    border-color: var(--border-default);
    box-shadow: var(--shadow-lg);
    transform: translateY(-2px);
}
/* /Components/FfDivider.razor.rz.scp.css */
.ff-divider[b-yr1szlc1zs] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    width: 100%;
}

.ff-divider--default[b-yr1szlc1zs] {
    border-top: 1px solid var(--border-subtle);
}

.ff-divider--thick[b-yr1szlc1zs] {
    border-top: 2px solid var(--border-default);
}

.ff-divider--ornate .ff-divider-line[b-yr1szlc1zs] {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--border-default));
}

.ff-divider--ornate .ff-divider-line:last-child[b-yr1szlc1zs] {
    background: linear-gradient(90deg, var(--border-default), transparent);
}

.ff-divider-label[b-yr1szlc1zs] {
    font-family: var(--font-heading);
    font-size: var(--text-xs);
    letter-spacing: var(--tracking-ultra);
    text-transform: uppercase;
    color: var(--text-muted);
    white-space: nowrap;
}
