﻿/* Aanvulling op site.css en final.css; uitsluitend voor .ta-page. */
.ta-page .ta-intro {
    align-items: start;
}

    .ta-page .ta-intro .prose h2:first-child {
        margin-top: 0;
    }

.ta-page h1,
.ta-page h3 {
    overflow-wrap: anywhere;
    hyphens: auto;
}

.ta-page .breadcrumbs a {
    white-space: normal;
    min-width: 0;
}

/* Losse onderdeelnavigatie: geen overname van hoofdmenu-onderlijning. */
.ta-page .ta-subnav {
    margin-top: 32px;
}

    .ta-page .ta-subnav ul {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        gap: 10px;
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .ta-page .ta-subnav li {
        display: flex;
        min-width: 0;
    }

    .ta-page .ta-subnav a {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
        padding: 10px 16px;
        border: 1px solid #bfd6dc;
        border-radius: 999px;
        color: #24434c;
        background: #fff;
        font-size: .9375rem;
        line-height: 1.4;
        font-weight: 700;
        text-decoration: none;
        white-space: normal;
    }

        .ta-page .ta-subnav a::after {
            content: none;
        }

        .ta-page .ta-subnav a:hover {
            background: #e8f3f5;
            border-color: #006875;
        }

        .ta-page .ta-subnav a[aria-current="page"],
        .ta-page .ta-subnav a.ta-subnav__parent {
            background: #006875;
            border-color: #006875;
            color: #fff;
        }

        .ta-page .ta-subnav a:focus-visible {
            outline: 3px solid #006875;
            outline-offset: 3px;
        }

/* Cards in dezelfde rij: knoppen onderaan, ongeacht de tekstlengte. */
.ta-page .ta-cards {
    align-items: stretch;
}

    .ta-page .ta-cards .card {
        display: flex;
        flex-direction: column;
    }

    .ta-page .ta-cards .bullet-list {
        margin: 0 0 24px;
    }

    .ta-page .ta-cards .btn {
        align-self: flex-start;
        margin-top: auto;
        max-width: 100%;
        white-space: normal;
        text-align: left;
    }

.ta-page .cta-strip .btn {
    white-space: normal;
}

/* Klantfoto: vaste uitsnede, geen intrinsieke hoogte van 2048 pixels. */
.ta-page .service-photo {
    align-self: start;
    width: 100%;
    min-width: 0;
    margin: 0;
}

.ta-page .service-photo__frame {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 100%;
    overflow: hidden;
    background: #e8f3f5;
    border-radius: 18px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .14);
}

    .ta-page .service-photo__frame img {
        position: absolute;
        inset: 0;
        display: block;
        width: 100%;
        height: 100%;
        max-width: none;
        object-fit: cover;
        object-position: center 72%;
    }

.ta-page .service-photo figcaption {
    margin-top: 10px;
    color: #4b5563;
    font-size: .875rem;
    line-height: 1.5;
}

.ta-page .ta-backlink {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}

@media (max-width: 900px) {
    .ta-page .service-photo__frame {
        padding-bottom: 70%;
    }
}

@media (max-width: 640px) {
    .ta-page .ta-subnav a {
        padding: 9px 13px;
    }
}
