/* ── カードコンポーネント ── */
.card {
    background: var(--color-white);
    border-radius: var(--radius-lg);
    overflow: hidden;
    border: 1px solid var(--color-gray-200);
    box-shadow: var(--shadow-sm);
    transition: all var(--transition-base);
}

.card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
    border-color: var(--color-gray-300);
}

.card__image {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.card__body {
    padding: var(--space-lg);
}

.card__tag {
    display: inline-block;
    padding: 0.2em 0.8em;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    background: var(--color-gray-100);
    color: var(--color-primary-dark);
    border-radius: var(--radius-full);
    margin-bottom: var(--space-sm);
}

.card__title {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    margin-bottom: var(--space-sm);
    line-height: var(--line-height-tight);
}

.card__title a {
    transition: color var(--transition-fast);
}

.card__title a:hover {
    color: var(--color-primary);
}

.card__text {
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
    line-height: var(--line-height-base);
}

.card__date {
    display: block;
    font-size: var(--font-size-xs);
    color: var(--color-text-light);
    margin-top: var(--space-sm);
}
