/*
 * Navigatie en footer in de stijl van ontwerp D (canvas "Ronde 2", richting D · Sterrenbeeld).
 * Markup: resources/views/navigation/_navbar.antlers.html en partials/_footer.antlers.html.
 * Overschrijft waar nodig het thema in app.css; daarom staat dit bestand erna.
 */
@import url(https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600&display=swap);

/* ---------- Navigatie ---------- */

.main-nav.nav-d {
    font-family: Montserrat, system-ui, sans-serif;
    padding: 0;
    background: linear-gradient(180deg, rgba(18, 30, 37, .55) 0%, rgba(18, 30, 37, 0) 100%);
}
.nav-d-binnen {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px;
    min-height: 128px;
    transition: min-height .2s ease-in-out;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
.main-nav.nav-d .main-logo { padding-top: 0; }
/* Groot logo boven de hero, kleiner zodra de balk wit wordt. */
.main-nav.nav-d .main-logo img { height: 80px; width: auto; transition: height .2s ease-in-out; }
.main-nav.nav-d.navbar-scrolled .main-logo img { height: 48px; }
.main-nav.nav-d.navbar-scrolled .nav-d-binnen { min-height: 80px; }

.main-nav.nav-d .navbar-nav .nav-link {
    padding-left: 0;
    padding-right: 0;
    font-size: 15px;
    font-weight: 500;
    color: #ffffff;
}
.main-nav.nav-d .navbar-nav .nav-link:hover,
.main-nav.nav-d .navbar-nav .nav-link:focus,
.main-nav.nav-d .navbar-nav .nav-link.show { color: #e4dd48; }
.main-nav.nav-d .nav-item > .nav-link:before { background-color: #e4dd48; }

.nav-d-acties { display: flex; align-items: center; gap: 8px; }
.nav-d-icoon {
    min-width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: none;
    color: #ffffff;
    text-decoration: none;
    font: inherit;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
}
.nav-d-icoon:hover, .nav-d-icoon:focus-visible { color: #e4dd48; }
.nav-d-label { display: none; }
.nav-d-taal {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    color: #ffffff;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
}
.nav-d-taal:hover { color: #e4dd48; }
.nav-d-contact {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 20px;
    border-radius: 8px;
    background: #e4dd48;
    color: #1f2a30;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
}
.nav-d-contact:hover, .nav-d-contact:focus-visible { background: #d6cf3a; color: #1f2a30; }

/* Gescrold: wit, donkere tekst, een dunne lijn in plaats van een schaduw. */
.main-nav.nav-d.navbar-scrolled { background-image: none; box-shadow: 0 1px 0 #e3e9ed; }
.main-nav.nav-d.navbar-scrolled .navbar-nav .nav-link,
.main-nav.nav-d.navbar-scrolled .nav-d-icoon,
.main-nav.nav-d.navbar-scrolled .nav-d-taal { color: #1f2a30; }
.main-nav.nav-d.navbar-scrolled .navbar-nav .nav-link:hover,
.main-nav.nav-d.navbar-scrolled .navbar-nav .nav-link.show,
.main-nav.nav-d.navbar-scrolled .nav-d-icoon:hover,
.main-nav.nav-d.navbar-scrolled .nav-d-taal:hover { color: #0a6e99; }
.main-nav.nav-d.navbar-scrolled .nav-item > .nav-link:before { background-color: #008ac0; }

@media (min-width: 992px) {
    .nav-d-binnen { flex-wrap: nowrap; gap: 32px; }
    .main-nav.nav-d .navbar-collapse { min-width: 0; justify-content: space-between; gap: 32px; }
    .main-nav.nav-d .nav-d-links { margin: 0 auto; gap: 28px; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .nav-d-binnen { gap: 16px; }
    .main-nav.nav-d .navbar-collapse { gap: 16px; }
    .main-nav.nav-d .nav-d-links { gap: 16px; }
    .nav-d-acties { gap: 2px; }
    .nav-d-contact { padding: 0 14px; }
}
@media (max-width: 991.98px) {
    .main-nav.nav-d .main-logo img { height: 56px; }
    .main-nav.nav-d.navbar-scrolled .main-logo img { height: 44px; }
    .nav-d-binnen { min-height: 84px; }
    .main-nav.nav-d.navbar-scrolled .nav-d-binnen { min-height: 68px; }
    .navbar-expand-lg.main-nav.nav-d .navbar-collapse { margin-top: 0; padding: 8px 16px 20px; }
    .navbar-expand-lg.main-nav.nav-d .navbar-collapse.show,
    .navbar-expand-lg.main-nav.nav-d .navbar-collapse.collapsing { background-color: #1f2a30; border-radius: 0 0 12px 12px; }
    .navbar-expand-lg.main-nav.nav-d.navbar-scrolled .navbar-collapse.show,
    .navbar-expand-lg.main-nav.nav-d.navbar-scrolled .navbar-collapse.collapsing { background-color: transparent; }
    .nav-d-acties { flex-wrap: wrap; padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, .15); }
    .main-nav.nav-d.navbar-scrolled .nav-d-acties { border-top-color: #e3e9ed; }
    .nav-d-icoon { padding: 0 10px; }
    .nav-d-label { display: inline; }
}

/* ---------- Footer ---------- */

.voet-d {
    scroll-margin-top: 92px;
    font-family: Montserrat, system-ui, sans-serif;
    background: #1f2a30;
    color: #d5dfe4;
    font-size: 15px;
    line-height: 1.6;
}
.voet-d a { color: #d5dfe4; text-decoration: none; }
.voet-d a:hover, .voet-d a:focus-visible { color: #ffffff; text-decoration: underline; }
.voet-d strong { color: #ffffff; font-weight: 600; }
.voet-d-binnen {
    max-width: 1200px;
    margin: 0 auto;
    padding: 72px 24px 32px;
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.voet-d-kop {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 24px 48px;
    padding-bottom: 48px;
    border-bottom: 1px solid rgba(255, 255, 255, .14);
}
.voet-d-bereik { display: flex; flex-direction: column; gap: 6px; }
.voet-d-vraag { color: #c3d0d6; }
.voet-d-groot { display: flex; flex-wrap: wrap; gap: 4px 28px; font-size: 28px; font-weight: 600; line-height: 1.3; }
.voet-d .voet-d-groot a { color: #ffffff; }
.voet-d-knoppen { display: flex; flex-wrap: wrap; gap: 12px; }
.voet-d .voet-d-knop {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    padding: 0 24px;
    border-radius: 8px;
    font-weight: 600;
    text-decoration: none;
}
.voet-d .voet-d-knop-geel { background: #e4dd48; color: #1f2a30; }
.voet-d .voet-d-knop-geel:hover { background: #d6cf3a; color: #1f2a30; }
.voet-d .voet-d-knop-rand { border: 1.5px solid #ffffff; color: #ffffff; }
.voet-d .voet-d-knop-rand:hover { background: rgba(255, 255, 255, .08); }
.voet-d .voet-d-knop-tekst { padding: 0 12px; color: #ffffff; }

.voet-d-kolommen {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
    gap: 40px 32px;
}
.voet-d-kolommen > nav, .voet-d-kolommen > div { display: flex; flex-direction: column; gap: 10px; }
.voet-d .voet-d-meer { color: #ffffff; font-weight: 600; }
.voet-d-plekken { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.voet-d-plekken li { display: flex; align-items: center; gap: 10px; }
.voet-d-plekken li::before {
    content: "";
    flex: none;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #e4dd48;
}
.voet-d-zoeken { gap: 28px !important; }
.voet-d-zoeken form { display: flex; flex-direction: column; gap: 8px; margin: 0; }
.voet-d-zoeken label { color: #ffffff; font-weight: 600; }
.voet-d-zoeken input[type="search"] {
    min-height: 44px;
    padding: 0 12px;
    border-radius: 8px;
    border: 1px solid #5d727c;
    background: #26363e;
    color: #ffffff;
    font: inherit;
}
.voet-d-zoeken input[type="search"]::placeholder { color: #9fb1ba; }
.voet-d-zoeken input[type="search"]:focus { outline: 2px solid #e4dd48; outline-offset: 1px; }
.voet-d-sociaal { display: flex; flex-wrap: wrap; gap: 6px 20px; }
.voet-d .voet-d-sociaal a { color: #ffffff; }

.voet-d-certificaten { display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: 14px; }

.voet-d-onder {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 12px 24px;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, .14);
    font-size: 13px;
}
.voet-d-onder img { height: 30px; width: auto; display: block; }
.voet-d-klein { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 20px; }
.voet-d .voet-d-cookie {
    padding: 0;
    border: 0;
    background: none;
    color: #d5dfe4;
    font: inherit;
    cursor: pointer;
}
.voet-d .voet-d-cookie:hover { color: #ffffff; text-decoration: underline; }

/* ---------- Megamenu ("Wat we doen", navigation/menu/_mega) ---------- */

@media (min-width: 992px) {
    /* Gecentreerd onder de hele balk in plaats van onder het menu-item, zodat het niet buiten beeld valt. */
    .main-nav.nav-d .nav-item.mega { position: static; }
    .main-nav.nav-d .nav-item.mega > .mega-d { top: 100%; }
    /* Brug over de ruimte tussen menu-item en paneel, zodat hover niet wegvalt. */
    .mega-d::before { content: ""; position: absolute; left: 0; right: 0; top: -28px; height: 28px; }
}
.mega-d {
    width: min(920px, calc(100vw - 48px));
    padding: 0;
    border: 0;
    border-radius: 16px;
    overflow: visible;
    background: #ffffff;
    box-shadow: 0 24px 60px rgba(18, 30, 37, .22);
    font-family: Montserrat, system-ui, sans-serif;
}
.mega-d-raster { display: grid; grid-template-columns: 280px repeat(auto-fit, minmax(220px, 1fr)); }
.mega-d-intro {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 32px 28px;
    border-radius: 16px 0 0 0;
    background: #1f2a30;
    color: #ffffff;
}
.mega-d-oog { display: flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 600; color: #e4dd48; }
.mega-d-oog::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: #e4dd48; box-shadow: 0 0 0 4px rgba(228, 221, 72, .22); }
.mega-d-kop { margin: 0; font-size: 21px; font-weight: 600; line-height: 1.3; color: #ffffff; white-space: normal; }
.mega-d-ster { width: 160px; height: 70px; margin-top: auto; }
.main-nav .mega-d .mega-d-alles { color: #ffffff; font-size: 15px; font-weight: 600; text-decoration: none; }
.main-nav .mega-d .mega-d-alles:hover { color: #e4dd48; }

.mega-d-groep { display: flex; flex-direction: column; gap: 6px; padding: 28px 20px 24px; }
.mega-d-groep ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.main-nav .mega-d .mega-d-groepkop {
    display: block;
    padding: 0 10px 10px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #5b6b75;
    text-decoration: none;
}
.main-nav .mega-d .mega-d-groepkop:hover { color: #0a6e99; }
.main-nav .mega-d .mega-d-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 8px 10px;
    border-radius: 10px;
    color: #1f2a30;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
    white-space: normal;
}
.mega-d-icoon {
    flex: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #eef6fa;
    color: #0a6e99;
    font-size: 16px;
    transition: background-color .15s, color .15s;
}
.main-nav .mega-d .mega-d-item:hover,
.main-nav .mega-d .mega-d-item:focus-visible { background: #f3f7f9; color: #0a6e99; }
.main-nav .mega-d .mega-d-item:hover .mega-d-icoon,
.main-nav .mega-d .mega-d-item:focus-visible .mega-d-icoon { background: #e4dd48; color: #1f2a30; }

.mega-d-voet {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 8px 24px;
    padding: 16px 28px;
    border-top: 1px solid #e3e9ed;
    border-radius: 0 0 16px 16px;
    background: #f3f7f9;
    font-size: 14px;
    color: #5b6b75;
}
.main-nav .mega-d .mega-d-voet a { color: #0a6e99; font-weight: 600; text-decoration: none; }
.main-nav .mega-d .mega-d-voet a:hover { text-decoration: underline; }

@media (max-width: 991.98px) {
    .mega-d { width: auto; box-shadow: none; border-radius: 12px; }
    .navbar-expand-lg .mega-d.dropdown-menu.show { border-left: 0; }
    .mega-d-raster { grid-template-columns: 1fr; }
    .mega-d-intro { display: none; }
    .mega-d-groep { padding: 16px 12px 8px; }
    .mega-d-voet { padding: 12px 16px; border-radius: 0 0 12px 12px; }
}

/* ---------- Contactformulier in de footer (form contact_kort, public/js/contact.js) ---------- */

.voet-d-kop { align-items: flex-start; }
.voet-d-bereik { flex: 1 1 380px; gap: 10px; }
.voet-d-bereik .voet-d-knoppen { padding-top: 18px; }
.contact-kort-plek { flex: 1 1 460px; max-width: 560px; display: flex; justify-content: flex-end; align-self: center; }
.contact-kort-open {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-height: 56px;
    padding: 0 28px;
    border: 0;
    border-radius: 12px;
    background: #ffffff;
    color: #1f2a30;
    font: inherit;
    font-size: 17px;
    font-weight: 600;
    cursor: pointer;
    transition: transform .15s, box-shadow .15s;
}
.contact-kort-open:hover, .contact-kort-open:focus-visible { transform: translateY(-1px); box-shadow: 0 0 0 4px rgba(228, 221, 72, .45); }
.contact-kort-open[hidden], .contact-kort-sluit[hidden], .contact-kort[hidden] { display: none; }
.contact-kort {
    position: relative;
    width: 100%;
    margin: 0;
    scroll-margin-top: 110px;
    padding: 28px;
    border-radius: 16px;
    background: #ffffff;
    color: #374151;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .06);
}
.contact-kort-formulier { display: flex; flex-direction: column; gap: 14px; }
.contact-kort-sluit {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 8px;
    background: #f3f6f8;
    color: #4c6875;
    cursor: pointer;
}
.contact-kort-sluit:hover { background: #e3e9ed; }
.contact-kort-kop { padding-right: 44px; }
.contact-kort-kop { margin: 0; font-size: 20px; font-weight: 600; line-height: 1.3; color: #1f2a30; }
.contact-kort-intro { margin: -6px 0 2px; font-size: 15px; color: #5b6b75; }
.contact-kort-velden { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 14px; }
.contact-kort-breed { grid-column: 1 / -1; }
.contact-kort-veld { display: flex; flex-direction: column; gap: 6px; margin: 0; font-size: 14px; font-weight: 600; color: #1f2a30; }
.contact-kort-veld small { font-weight: 400; color: #5b6b75; font-size: 13px; }
.contact-kort-veld input,
.contact-kort-veld textarea {
    width: 100%;
    padding: 0 12px;
    border: 1px solid #b9cbd4;
    border-radius: 8px;
    background: #ffffff;
    color: #1f2a30;
    font: inherit;
    font-size: 16px;
    font-weight: 400;
}
.contact-kort-veld input { min-height: 46px; }
.contact-kort-veld textarea { padding: 10px 12px; resize: vertical; min-height: 84px; }
.contact-kort-veld input:focus,
.contact-kort-veld textarea:focus { outline: 2px solid #008ac0; outline-offset: 0; border-color: #008ac0; }
.contact-kort-honing { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.contact-kort-turnstile:empty { display: none; }
.contact-kort-fout { margin: 0; padding: 10px 12px; border-radius: 8px; background: #fdecec; color: #9b1c1c; font-size: 14px; }
.contact-kort-onder { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 20px; }
.contact-kort-privacy { flex: 1 1 220px; font-size: 13px; color: #5b6b75; }
.voet-d .contact-kort-privacy a { color: #0a6e99; text-decoration: underline; }
.contact-kort button[type="submit"] {
    min-height: 48px;
    padding: 0 28px;
    border: 0;
    border-radius: 8px;
    background: #e4dd48;
    color: #1f2a30;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}
.contact-kort button[type="submit"]:hover { background: #d6cf3a; }
.contact-kort button[type="submit"]:disabled { opacity: .7; cursor: progress; }
.contact-kort-dank { display: flex; flex-direction: column; gap: 10px; outline: 0; }
.contact-kort-dank[hidden] { display: none; }
.contact-kort-dank p { margin: 0; }
.contact-kort-vink {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #e4dd48;
    color: #1f2a30;
    box-shadow: 0 0 0 6px rgba(228, 221, 72, .25);
}

/* ---------- Naar boven (layout.antlers.php) ---------- */

.back-top.terug-omhoog {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 99;
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #e4dd48;
    color: #1f2a30;
    box-shadow: 0 0 0 5px rgba(228, 221, 72, .22), 0 8px 20px rgba(18, 30, 37, .25);
    transform: translateY(8px);
    transition: opacity .3s, visibility 0s .3s, transform .3s, background-color .15s, color .15s;
}
.back-top.terug-omhoog.backtop-is-visible { transform: none; transition: opacity .3s, visibility 0s, transform .3s, background-color .15s, color .15s; }
.back-top.terug-omhoog.backtop-fade-out { opacity: 1; }
.back-top.terug-omhoog:hover,
.back-top.terug-omhoog:focus-visible,
.no-touch .back-top.terug-omhoog:hover { background: #ffffff; color: #1f2a30; outline: 0; }
@media (max-width: 575.98px) { .back-top.terug-omhoog { right: 16px; bottom: 16px; width: 44px; height: 44px; } }

/* ---------- Vestigingen (set companies met kaart, /info/vestigingen) ---------- */

.vestigingen-overzicht {
    display: grid;
    grid-template-columns: minmax(0, 400px) minmax(0, 1fr);
    gap: 40px 56px;
    align-items: center;
    margin: 12px 0 56px;
    font-family: Montserrat, system-ui, sans-serif;
}
.vestigingen-nl { position: relative; aspect-ratio: 870 / 1000; }
.vestigingen-nl img { display: block; width: 100%; height: 100%; }
.vestigingen-pin {
    position: absolute;
    z-index: 1;
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: #1f2a30;
    color: #ffffff;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 0 0 3px #ffffff;
    transition: background-color .15s, color .15s;
}
.vestigingen-pin:hover, .vestigingen-pin:focus-visible { z-index: 2; background: #e4dd48; color: #1f2a30; outline: 0; }
.vestigingen-pin-label {
    position: absolute;
    left: calc(100% + 10px);
    top: 50%;
    transform: translateY(-50%);
    padding: 4px 9px;
    border-radius: 6px;
    background: #1f2a30;
    color: #ffffff;
    font-size: 13px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity .15s;
}
.vestigingen-pin:hover .vestigingen-pin-label, .vestigingen-pin:focus-visible .vestigingen-pin-label { opacity: 1; }
.vestigingen-lijst { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 6px 24px; }
.vestigingen-lijst a { display: flex; align-items: center; gap: 14px; padding: 10px 12px; border-radius: 10px; color: #1f2a30; text-decoration: none; }
.vestigingen-lijst a:hover, .vestigingen-lijst a:focus-visible { background: #f3f7f9; }
.vestigingen-lijst strong { display: block; font-size: 16px; font-weight: 600; line-height: 1.3; }
.vestigingen-lijst small { display: block; font-size: 13px; color: #5b6b75; line-height: 1.4; }
.vestiging-nr {
    flex: none;
    width: 28px;
    height: 28px;
    display: inline-grid;
    place-items: center;
    border-radius: 50%;
    background: #1f2a30;
    color: #ffffff;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0;
}

.vestigingen { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 540px), 1fr)); gap: 24px; }
.vestiging {
    display: flex;
    overflow: hidden;
    border: 1px solid #e3e9ed;
    border-radius: 14px;
    background: #ffffff;
    scroll-margin-top: 110px;
    transition: box-shadow .2s;
}
/* Kort oplichten van de vestiging waar je via de kaart of de lijst naartoe springt (#slug). */
.vestiging:target { animation: vestiging-oplichten 2.6s ease-out forwards; }
@keyframes vestiging-oplichten {
    0%, 45% { box-shadow: 0 0 0 3px #e4dd48; }
    100% { box-shadow: 0 0 0 3px rgba(228, 221, 72, 0); }
}
.vestiging-kaart { flex: 0 0 42%; background: #eef2f4; }
.vestiging-kaart img { display: block; width: 100%; height: 100%; min-height: 230px; object-fit: cover; }
.vestiging-tekst { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; padding: 22px 24px; font-family: Montserrat, system-ui, sans-serif; }
.vestiging-oog { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; font-size: 13px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #0a6e99; }
.vestiging-oog .vestiging-nr { width: 24px; height: 24px; font-size: 12px; }
.vestiging-tekst h3 { margin: 0; font-size: 19px; font-weight: 600; line-height: 1.3; text-transform: none; color: #1f2a30; }
.vestiging-formeel { margin: 0; font-size: 13px; color: #5b6b75; }
.vestiging-tekst address { margin: 10px 0 0; font-size: 15px; font-style: normal; line-height: 1.55; color: #374151; }
.vestiging-adres p { margin: 0; }
.vestiging-afspraak { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; margin: 12px 0 0; padding: 6px 10px; border-radius: 8px; background: #faf8d4; color: #1f2a30; font-size: 14px; font-weight: 600; }
.vestiging-knoppen { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin-top: auto; padding-top: 16px; }
.vestiging-route {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 16px;
    border-radius: 8px;
    background: #e4dd48;
    color: #1f2a30;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
}
.vestiging-route:hover { background: #d6cf3a; color: #1f2a30; }
.vestiging-link { color: #0a6e99; font-size: 15px; font-weight: 600; text-decoration: none; }
.vestiging-link:hover { text-decoration: underline; }
.vestigingen-bron { margin: 20px 0 0; font-size: 13px; color: #5b6b75; text-align: right; }
.vestigingen-bron a { color: #5b6b75; }
@media (max-width: 860px) {
    .vestigingen-overzicht { grid-template-columns: minmax(0, 1fr); }
    .vestigingen-nl { max-width: 360px; width: 100%; margin: 0 auto; }
}
@media (max-width: 640px) {
    .vestiging { flex-direction: column; }
    .vestiging-kaart { flex-basis: auto; }
    .vestiging-kaart img { min-height: 0; height: auto; aspect-ratio: 16 / 10; }
}
.voet-d .voet-d-kopje { color: #ffffff; }
