/* =========================================================
   AJUS cards
   Reusable surface and hover card primitives.
   ========================================================= */

.ajus-card {
    border: 1px solid var(--color-border-soft);
    border-radius: var(--radius-card);
    background: var(--color-bg-surface);
    box-shadow: var(--shadow-xs);
}

.ajus-card-surface-soft {
    background: var(--color-bg-surface-soft);
}

.ajus-card-primary-soft {
    background: var(--color-bg-primary-soft);
    border-color: var(--color-border-primary);
}

.ajus-card-secondary-soft {
    background: var(--color-bg-secondary-soft);
    border-color: var(--color-border-secondary);
}

.ajus-card-accent-soft {
    background: var(--color-bg-accent-soft);
    border-color: var(--color-border-accent);
}

.ajus-card-success-soft {
    background: var(--color-success-soft);
    border-color: color-mix(in srgb, var(--color-success) 24%, var(--color-white));
}

.ajus-card-warning-soft {
    background: var(--color-warning-soft);
    border-color: color-mix(in srgb, var(--color-warning) 24%, var(--color-white));
}

.ajus-card-danger-soft {
    background: var(--color-danger-soft);
    border-color: var(--color-border-accent);
}

.ajus-card-info-soft {
    background: var(--color-info-soft);
    border-color: color-mix(in srgb, var(--color-info) 24%, var(--color-white));
}

.ajus-card-body {
    padding: 0.9rem 1rem 0.9rem;
}

.ajus-card-body-sm {
    padding: 0.78rem 0.85rem 0.82rem;
}

.ajus-card-content-link {
    text-decoration: none !important;
    color: inherit;
}

.ajus-card-content-link:hover,
.ajus-card-content-link:focus {
    text-decoration: none !important;
    color: inherit;
}

.ajus-card-title {
    margin-bottom: 0.35rem;
}

.ajus-card-description {
    display: block;
}

.ajus-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
}

.ajus-card-hover {
    transition: transform 0.18s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.ajus-card-hover:hover {
    transform: translateY(-1px);
    border-color: var(--color-border-primary);
    background: linear-gradient(180deg, var(--color-bg-surface) 0%, var(--color-bg-primary-soft) 100%);
    box-shadow: 0 8px 18px color-mix(in srgb, var(--color-primary) 12%, transparent);
}

.ajus-card-hover:hover .ajus-card-title {
    color: var(--color-text-primary);
}

.ajus-card-hover:hover .ajus-card-description {
    color: var(--color-text-main);
}

.ajus-card-hover:hover .ajus-metric {
    border-color: color-mix(in srgb, var(--color-primary) 22%, var(--color-border-soft));
}

.ajus-card-hover:hover .ajus-chip-primary {
    background: color-mix(in srgb, var(--color-bg-primary-soft) 70%, var(--color-white));
}

.ajus-card-hover:hover .ajus-chip-accent {
    background: color-mix(in srgb, var(--color-bg-accent-soft) 70%, var(--color-white));
}

.ajus-card-elevated {
    box-shadow: var(--shadow-sm);
}

.ajus-card-copy,
.ajus-card-copy a {
    color: var(--color-text-main);
}

.ajus-card-copy a {
    font-weight: 600;
    color: var(--color-text-primary);
    text-decoration: none !important;
}

.ajus-card-copy a:hover {
    text-decoration: none !important;
}

@media (max-width: 991.98px) {
    .ajus-card {
        border-radius: var(--radius-card-sm);
    }

    .ajus-card-footer {
        flex-wrap: wrap;
    }
}
