.publication-grid > .publication-grid-item {
    display: flex;
}

.publication-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    overflow: hidden;
}

.publication-cover {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, .08);
    background: #f4f4f4;
}

.publication-cover > img.img-fluid {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
    object-position: center;
}

.publication-title.highlight {
    margin: 14px 0 10px !important;
}

.publication-title > a {
    display: -webkit-box;
    min-height: 58px;
    max-height: 58px;
    overflow: hidden;
    line-height: 19px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.publication-title small {
    display: block;
    margin-top: 4px;
    color: rgba(0, 0, 0, .55);
    font-size: 12px;
    font-weight: normal;
}

.publication-footer {
    display: flex;
    flex: 1 0 auto;
    flex-direction: column;
    margin-top: auto;
}

.publication-card .publication-prices {
    min-height: 86px;
    padding: 8px 0 !important;
    line-height: 22px;
}

.publication-card .publication-request-action {
    min-height: 46px;
    margin-top: auto;
}

.publication-card .publication-request-action .btn {
    width: 100%;
    min-height: 46px;
}

@media (max-width: 480px) {
    .publication-title > a {
        min-height: 57px;
        max-height: 57px;
    }
}
