/* ---------------------------------------------------------------------------
 * home.css — alleen de homepage (front-page.php), baserules 8
 *
 * Wordt nergens anders ingeladen. Header, footer en tokens komen uit main.css.
 * --------------------------------------------------------------------------- */

.homeHero {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--ruimte6);
    align-items: center;
    padding-block: var(--ruimte7) var(--ruimte8);
}

@media (min-width: 56rem) {
    .homeHero {
        grid-template-columns: 1fr 1fr;
        gap: var(--ruimte8);
        padding-block: var(--ruimte8) var(--ruimte9);
    }
}

.homeHeroTekst p {
    margin-top: var(--ruimte4);
    max-width: 48ch;
    font-size: 1.0625rem;
}

.homeHeroActies {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ruimte3);
    margin-top: var(--ruimte6);
}

.homeHeroBeeld img {
    width: 100%;
    border-radius: var(--randRadius);
    box-shadow: var(--schaduwKaart);
}

/* Vertrouwenspunten onder de hero. */
.homeUsp {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--ruimte4);
    padding: var(--ruimte5);
    background: var(--kleurVlak);
    border-radius: var(--randRadius);
}

@media (min-width: 40rem) {
    .homeUsp { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 64rem) {
    .homeUsp { grid-template-columns: repeat(4, 1fr); }
}

.homeUspItem {
    display: flex;
    align-items: flex-start;
    gap: var(--ruimte3);
}

.homeUspItem svg {
    width: 1.5rem;
    height: 1.5rem;
    flex: none;
    margin-top: .125rem;
    fill: none;
    stroke: var(--kleurAccent);
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.homeUspTitel {
    font-family: var(--fontKop);
    font-weight: 600;
    color: var(--kleurTekstSterk);
}

.homeUspItem p {
    font-size: var(--maatKlein);
    color: var(--kleurTekstZacht);
}

/* Secties op de homepage delen deze kop. */
.homeSectie {
    padding-block: var(--ruimte8);
}

.homeSectieKop {
    max-width: var(--breedteTekst);
    margin-bottom: var(--ruimte6);
}

.homeSectieKop p {
    margin-top: var(--ruimte3);
    color: var(--kleurTekstZacht);
}

/* Rooster met categorie- of maatkaarten. */
.homeRooster {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
    gap: var(--ruimte5);
}

.homeKaart {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--kleurWit);
    border: 1px solid var(--kleurRand);
    border-radius: var(--randRadius);
    text-decoration: none;
    transition: border-color var(--overgang), box-shadow var(--overgang), transform var(--overgang);
}

.homeKaart:hover {
    border-color: var(--kleurAccent);
    box-shadow: var(--schaduwKaart);
    transform: translateY(-2px);
}

.homeKaartBeeld {
    aspect-ratio: 4 / 3;
    background: var(--kleurVlak);
}

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

.homeKaartTekst {
    padding: var(--ruimte4);
}

.homeKaartTitel {
    font-family: var(--fontKop);
    font-size: var(--maatH4);
    font-weight: 600;
    color: var(--kleurTekstSterk);
}

.homeKaartTekst p {
    margin-top: var(--ruimte2);
    font-size: var(--maatKlein);
    color: var(--kleurTekstZacht);
}

/* Uitgelicht tekstblok, bijvoorbeeld het SEO-blok onderaan. */
.homeTekstblok {
    max-width: var(--breedteTekst);
    padding-block: var(--ruimte8);
}

.homeTekstblok > * + * {
    margin-top: var(--ruimte4);
}

.homeTekstblok h2,
.homeTekstblok h3 {
    margin-top: var(--ruimte6);
}
