/*
 * Berichtkaart in een raster.
 *
 * Gedeeld door archive.css en search.css. Zie de kaart ONDERDELEN in
 * inc/class-samitassets.php voor welke template dit bestand meekrijgt.
 */

.berichtRaster {
    display: grid;
    gap: var(--ruimteLg);
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.berichtKaart {
    overflow: hidden;
    border: 1px solid var(--kleurLijn);
    border-radius: var(--randLg);
    background-color: var(--kleurWit);
    transition:
        border-color var(--duurMd) ease,
        box-shadow var(--duurMd) ease,
        transform var(--duurMd) var(--versnelling);
}

.berichtKaart:hover,
.berichtKaart:focus-within {
    border-color: var(--kleurBlauw);
    box-shadow: var(--schaduwMd);
    transform: translateY(-2px);
}

/*
 * De hele kaart is de link, niet alleen de titel: dat maakt het doel groter en
 * scheelt een tweede link naar dezelfde pagina in de tabvolgorde.
 */
.berichtKaartLink {
    display: grid;
    height: 100%;
    grid-template-rows: auto 1fr;
    color: inherit;
    text-decoration: none;
}

.berichtKaartAfbeelding {
    /* Vaste verhouding, zodat het raster niet verspringt als een kaart geen
       afbeelding heeft. */
    aspect-ratio: 16 / 9;
    background-color: var(--kleurVlak);
}

.berichtKaartAfbeelding img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.berichtKaartTekst {
    display: flex;
    flex-direction: column;
    padding: var(--ruimteMd);
}

.berichtKaartTitel {
    font-size: var(--tekstMd);
    font-weight: 500;
    line-height: 1.35;
}

.berichtKaartLink:hover .berichtKaartTitel,
.berichtKaartLink:focus-visible .berichtKaartTitel {
    color: var(--kleurBlauw);
}

.berichtKaartMeta {
    margin-top: var(--ruimteXs);
    color: var(--kleurTekstZacht);
    font-size: var(--tekstXs);
}

.berichtKaartUittreksel {
    margin-top: var(--ruimteSm);
    color: var(--kleurTekstZacht);
    font-size: var(--tekstSm);

    /*
     * Drie regels, daarna afkappen: anders bepaalt de langste samenvatting de
     * hoogte van de hele rij.
     *
     * Alleen de -webkit-variant. De ongeprefixte `line-clamp` staat pas net in
     * de specificatie en de W3C-validator kent hem niet, wat een fout oplevert
     * (baserules regel 12). Elke browser die line-clamp ondersteunt, ondersteunt
     * de -webkit-vorm, dus er gaat niets verloren.
     */
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
