.zjl-v2 .zjl-card {
    display: flex;
    flex-direction: column;
    background: var(--zjl-surface-card);
    border: 1px solid var(--zjl-border-warm);
    border-radius: var(--zjl-radius-md);
    padding: var(--zjl-space-6) var(--zjl-space-6) var(--zjl-space-7);
    color: inherit;
    min-width: 0;
    text-decoration: none;
    transition: border-color var(--zjl-dur-fast) var(--zjl-ease),
                transform var(--zjl-dur-fast) var(--zjl-ease);
}

.zjl-v2 .zjl-card:hover,
.zjl-v2 .zjl-card:focus-visible {
    border-color: var(--zjl-ink-primary);
    color: inherit;
    transform: translateY(-1px);
}

.zjl-v2 .zjl-card__meta {
    margin-bottom: var(--zjl-space-3);
    color: var(--zjl-ink-muted);
    font-size: var(--zjl-fs-micro);
    font-weight: 700;
    letter-spacing: 0.16em;
    line-height: 1.4;
    overflow-wrap: anywhere;
    text-transform: uppercase;
}

.zjl-v2 .zjl-card__title {
    margin: 0 0 var(--zjl-space-3);
    color: var(--zjl-ink-primary);
    font-family: var(--zjl-font-sans);
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.zjl-v2 .zjl-card__body {
    margin: 0 0 var(--zjl-space-4);
    color: var(--zjl-ink-body);
    font-size: var(--zjl-fs-small);
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.zjl-v2 .zjl-card__more {
    align-self: flex-start;
    margin-top: auto;
    padding-bottom: 1px;
    border-bottom: 1px solid var(--zjl-accent);
    color: var(--zjl-ink-primary);
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
}

.zjl-v2 .zjl-card:hover .zjl-card__more,
.zjl-v2 .zjl-card:focus-visible .zjl-card__more {
    color: var(--zjl-accent);
    border-color: var(--zjl-accent-hover);
}

.zjl-v2 .zjl-card--with-figure {
    padding: 0;
    overflow: hidden;
}

.zjl-v2 .zjl-card--with-figure .zjl-card__figure {
    aspect-ratio: 16 / 9;
    margin: 0;
    background: linear-gradient(135deg, #2C3942 0%, #0F1820 100%);
}

.zjl-v2 .zjl-card--with-figure .zjl-card__figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.zjl-v2 .zjl-card--with-figure .zjl-card__inner {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
    padding: var(--zjl-space-6);
}
