    .ndn-footer {
        background: var(--ndn-surface);
        color: var(--ndn-text-secondary);
        font-family: var(--ndn-font-body);
        position: relative;
        border-top: 1px solid var(--ndn-border);
    }
    .ndn-footer__accent {
        height: 3px;
        background: linear-gradient(90deg, transparent 0%, var(--ndn-accent) 30%, var(--ndn-accent-dark) 70%, transparent 100%);
    }
    .ndn-footer__wrap {
        max-width: 1400px;
        margin: 0 auto;
        padding: clamp(56px, 6vw, 96px) 32px 40px;
    }

    /* ═══ Columns grid ═══════════════════════════════════════ */
    .ndn-footer__grid {
        display: grid;
        grid-template-columns: 1.2fr 1fr 1fr;
        gap: 56px;
    }
    @media (max-width: 960px) {
        .ndn-footer__grid { grid-template-columns: 1fr; gap: 40px; }
    }

    .ndn-footer__col-title {
        font-family: var(--ndn-font-heading);
        font-size: 20px;
        font-weight: 700;
        color: var(--ndn-text-main);
        margin: 0 0 20px;
        letter-spacing: 0.01em;
        position: relative;
        padding-bottom: 12px;
    }
    .ndn-footer__col-title::after {
        content: "";
        position: absolute;
        left: 0; bottom: 0;
        width: 40px; height: 2px;
        background: var(--ndn-accent-dark);
    }

    /* ═══ Column 1: Bezoek ons ═══════════════════════════════ */
    .ndn-footer__brand {
        font-family: var(--ndn-font-heading);
        font-size: 22px;
        font-weight: 700;
        color: var(--ndn-text-main);
        margin: 0 0 10px;
        letter-spacing: 0.02em;
    }
    .ndn-footer__address {
        font-style: normal;
        line-height: 1.75;
        color: var(--ndn-text-secondary);
        margin: 0 0 18px;
        font-size: 15px;
    }
    .ndn-footer__address a {
        color: var(--ndn-text-main);
        text-decoration: none;
        font-weight: 600;
        transition: color var(--ndn-transition);
    }
    .ndn-footer__address a:hover,
    .ndn-footer__address a:focus-visible {
        color: var(--ndn-accent-dark);
        outline: none;
    }

    .ndn-footer__maps-link {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        font-size: 14px;
        font-weight: 600;
        color: var(--ndn-accent-dark);
        text-decoration: none;
        margin-bottom: 22px;
        transition: color var(--ndn-transition), transform var(--ndn-transition);
    }
    .ndn-footer__maps-link:hover,
    .ndn-footer__maps-link:focus-visible {
        color: var(--ndn-text-main);
        transform: translateX(2px);
        outline: none;
    }
    .ndn-footer__maps-link svg { width: 16px; height: 16px; }

    .ndn-footer__map {
        border-radius: var(--ndn-radius);
        overflow: hidden;
        border: 1px solid var(--ndn-border);
        margin-bottom: 20px;
        background: var(--ndn-surface-soft);
    }
    .ndn-footer__map iframe {
        display: block;
        width: 100%;
        height: 180px;
        border: 0;
    }

    .ndn-footer__socials {
        display: flex;
        gap: 10px;
        list-style: none;
        margin: 0;
        padding: 0;
    }
    .ndn-footer__socials a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: var(--ndn-surface-soft);
        border: 1px solid var(--ndn-border);
        color: var(--ndn-text-main);
        text-decoration: none;
        transition: all var(--ndn-transition);
    }
    .ndn-footer__socials a:hover,
    .ndn-footer__socials a:focus-visible {
        background: var(--ndn-accent-dark);
        color: #ffffff;
        border-color: var(--ndn-accent-dark);
        transform: translateY(-2px);
        outline: none;
    }
    .ndn-footer__socials svg { width: 17px; height: 17px; }

    /* ═══ Column 2: Werktijden ═══════════════════════════════ */
    .ndn-footer__hours {
        list-style: none;
        margin: 0;
        padding: 0;
    }
    .ndn-footer__hours li {
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        padding: 9px 0;
        border-bottom: 1px dashed var(--ndn-border);
        font-size: 14.5px;
    }
    .ndn-footer__hours li:last-child { border-bottom: none; }
    .ndn-footer__hours-day {
        color: var(--ndn-text-main);
        font-weight: 500;
    }
    .ndn-footer__hours-time {
        color: var(--ndn-text-secondary);
        font-variant-numeric: tabular-nums;
    }
    .ndn-footer__hours li.is-closed .ndn-footer__hours-day { color: rgba(26, 26, 26, 0.42); }
    .ndn-footer__hours li.is-closed .ndn-footer__hours-time {
        color: var(--ndn-accent-dark);
        font-style: italic;
        opacity: 0.7;
    }

    /* ═══ Column 3: Quick Links ══════════════════════════════ */
    .ndn-footer__links {
        list-style: none;
        margin: 0;
        padding: 0;
        columns: 2;
        column-gap: 20px;
    }
    .ndn-footer__links li {
        margin: 0 0 10px;
        break-inside: avoid;
    }
    .ndn-footer__links a {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        color: var(--ndn-text-secondary);
        text-decoration: none;
        font-size: 14.5px;
        transition: color var(--ndn-transition), transform var(--ndn-transition);
    }
    .ndn-footer__links a::before {
        content: "›";
        color: var(--ndn-accent-dark);
        font-weight: 700;
        transition: transform var(--ndn-transition);
    }
    .ndn-footer__links a:hover,
    .ndn-footer__links a:focus-visible {
        color: var(--ndn-accent-dark);
        transform: translateX(2px);
        outline: none;
    }
    @media (max-width: 560px) {
        .ndn-footer__links { columns: 1; }
    }

    /* ═══ Bottom bar ═════════════════════════════════════════ */
    .ndn-footer__bottom {
        margin-top: 56px;
        padding-top: 28px;
        border-top: 1px solid var(--ndn-border);
    }
    .ndn-footer__nav {
        display: flex;
        flex-wrap: wrap;
        gap: 4px 0;
        list-style: none;
        margin: 0 0 20px;
        padding: 0;
        justify-content: center;
    }
    .ndn-footer__nav li {
        position: relative;
        padding: 0 14px;
    }
    .ndn-footer__nav li + li::before {
        content: "";
        position: absolute;
        left: -1px;
        top: 50%;
        transform: translateY(-50%);
        width: 3px; height: 3px;
        border-radius: 50%;
        background: var(--ndn-accent-dark);
        opacity: 0.55;
    }
    .ndn-footer__nav a {
        font-size: 13.5px;
        font-weight: 500;
        color: var(--ndn-text-main);
        text-decoration: none;
        transition: color var(--ndn-transition);
    }
    .ndn-footer__nav a:hover,
    .ndn-footer__nav a:focus-visible {
        color: var(--ndn-accent-dark);
        outline: none;
    }

    .ndn-footer__meta {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: center;
        gap: 14px 24px;
        font-size: 13px;
        color: var(--ndn-text-secondary);
    }
    /* Left group: copyright + legal links — pinned to the left edge */
    .ndn-footer__meta-left {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 10px 20px;
    }
    .ndn-footer__meta-links {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
        list-style: none;
        margin: 0;
        padding: 0;
    }
    .ndn-footer__meta-links a {
        color: var(--ndn-text-secondary);
        text-decoration: none;
        transition: color var(--ndn-transition);
    }
    .ndn-footer__meta-links a:hover { color: var(--ndn-accent-dark); }
    .ndn-footer__credit {
        color: var(--ndn-text-secondary);
        opacity: 0.75;
        font-size: 12px;
    }
    .ndn-footer__credit a {
        color: var(--ndn-accent-dark);
        text-decoration: none;
        font-weight: 600;
        transition: color var(--ndn-transition);
    }
    .ndn-footer__credit a:hover { color: var(--ndn-accent); }
