/*
 * Publication Card — publication-specific styles layered on card-row base.
 * Requires: card-row.css
 *
 * Variants:
 *   (default)            — "full": title + desc + authors + meta + thumbnail (right)
 *   .pub-card--compact   — title + authors + meta (no image, no description)
 *
 * With thumbnail, the card becomes a CSS grid:
 *   [content] [image]
 *   [  meta         ]
 */

@media (min-width: 701px) {
    .pub-card--has-thumb {
        display: grid;
        grid-template-columns: 1fr 25%;
        grid-template-rows: 1fr auto;
    }

    .pub-card--has-thumb .pub-card__thumb-link {
        grid-column: 2;
        grid-row: 1 / -1;
    }

    .pub-card--has-thumb .card-row__content {
        grid-column: 1;
        grid-row: 1;
    }

    .pub-card--has-thumb .card-row__meta {
        grid-column: 1;
        grid-row: 2;
    }
}


/* --- Thumbnail — flush top, right, bottom of its cell --- */

.pub-card__thumb-link {
    display: block;
    line-height: 0;
    max-height: 200px;
    overflow: hidden;
    border-top: 1px solid var(--color-keyline);
}

@media (min-width: 701px) {
    .pub-card__thumb-link {
        max-height: none;
        border-top: none;
        border-left: 1px solid var(--color-keyline);
    }
}

.pub-card__thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* --- Body --- */

.pub-card__body {
    min-width: 0;
}

/* --- Description (full variant only) --- */

.pub-card__desc {
    font-family: var(--font-sans);
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    text-wrap: balance;
    margin: 0 0 var(--space-3);
}

/* --- Outlet (italic in meta fill slot) --- */

.pub-card__outlet {
    font-style: italic;
}

/* --- Compact variant tweaks --- */

.pub-card--compact .card-row__title {
    margin-block-end: var(--space-1);
}

.pub-card--compact .card-row__byline {
    margin-block-end: var(--space-1);
}

@container (min-width: 500px) {
    .pub-card__desc {
        text-wrap: pretty;
    }
}
