/**
 * Zotero Publications – Frontend styles
 *
 * Inspired by the "cards with left thumbnail + right chevron" layout
 * shown in the design reference (ibw publications list).
 */

/* -----------------------------------------------------------------------
 * List container
 * -------------------------------------------------------------------- */
.zp-publications-list {
    padding: 0;
    margin: 0;
}

/* -----------------------------------------------------------------------
 * Individual item row
 * -------------------------------------------------------------------- */
.zp-publication-item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 20px 0;
    border-bottom: 1px solid #e0e0e0;
    position: relative;
}

.zp-publication-item:last-child {
    border-bottom: none;
}

/* -----------------------------------------------------------------------
 * Thumbnail / cover image
 * -------------------------------------------------------------------- */
.zp-thumbnail {
    flex-shrink: 0;
    border: 1px solid #e0e0e0;
    overflow: hidden;
    background: #f8f8f8;
    line-height: 0;
}

.zp-thumbnail img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

.zp-thumbnail a {
    display: block;
    line-height: 0;
}

/* -----------------------------------------------------------------------
 * Content column
 * -------------------------------------------------------------------- */
.zp-content {
    flex: 1;
    min-width: 0;
}

.zp-title {
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0 0 4px;
    line-height: 1.3;
}

.zp-title a {
    color: inherit;
    text-decoration: none;
}

.zp-title a:hover {
    text-decoration: underline;
}

/* Series / subtitle shown in brand blue */
.zp-series {
    font-size: 0.875rem;
    color: #1a6fa8;
    margin: 0 0 6px;
}

/* "Report, Wien, 2024" line */
.zp-meta {
    font-size: 0.875rem;
    color: #444;
    font-weight: 600;
    margin: 0 0 4px;
}

/* Authors */
.zp-authors {
    font-size: 0.875rem;
    font-weight: 700;
    color: #222;
    margin: 0 0 6px;
}

/* Abstract (optional) */
.zp-abstract {
    font-size: 0.875rem;
    color: #555;
    margin: 6px 0 0;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* -----------------------------------------------------------------------
 * Right-side arrow chevron
 * -------------------------------------------------------------------- */
.zp-arrow {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    align-self: center;
}

.zp-arrow a {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    transition: color 0.15s ease;
}

.zp-arrow a:hover {
    color: #1a6fa8;
}

/* -----------------------------------------------------------------------
 * State messages
 * -------------------------------------------------------------------- */
.zp-error {
    color: #b00;
    padding: 12px;
    background: #fff3f3;
    border-left: 3px solid #b00;
}

.zp-empty {
    color: #666;
    font-style: italic;
}

/* -----------------------------------------------------------------------
 * Responsive – stack thumbnail above content on small screens
 * -------------------------------------------------------------------- */
@media ( max-width: 480px ) {
    .zp-publication-item {
        flex-wrap: wrap;
    }

    .zp-thumbnail {
        width: 100% !important;
        max-width: 180px;
    }
}
