h2.card-title {
    margin-top: 10px;
}

.price-list {
    display: flex;
    flex-direction: row;
    gap: 20px;
}

.price-list .card {
    display: flex;
    flex-direction: column;
    justify-content: start;
    border: var(--color-primary) solid 1px;
    flex-grow: 1;
    padding: 20px;
    flex-basis: 300px;
}

.price-list .card .features {
    list-style: none; padding: 0;
}

.price { font-size: 22px; font-weight: bold; color: var(--color-secondary); }

.price-list .card .features li { padding: 8px 0; }

.price-list .card button:last-child {
    margin-top: auto;
}

.article-list {
    display: flex;
    flex-direction: column;
}

.article-list .card {
    margin-bottom: 1.75rem;
    min-width: 0; /* column flex: do not let cover images set unshrinkable row width */
}

.card-header {
    overflow: hidden;
}

.card-header img {
    display: block;
    max-width: 100%;
    width: 100%;
    height: auto;
    max-height: 220px;
    object-fit: cover;
}

.card.comment {
    display: flex;
    flex-direction: column;
    background-color: var(--color-bg-light);
    padding: 10px;
}

.card.comment .metadata {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.card.comment .metadata p {
    margin: 0;
    padding: 0;
}
