/* ==========================================================================
   Mans Techniek — Main Stylesheet
   Custom WordPress Theme
   ========================================================================== */

/* --------------------------------------------------------------------------
   @font-face — Barlow & Barlow Condensed (locally hosted)
   -------------------------------------------------------------------------- */
@font-face {
    font-family: 'Barlow';
    src: url('../fonts/barlow-v12-latin-300.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Barlow';
    src: url('../fonts/barlow-v12-latin-regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Barlow';
    src: url('../fonts/barlow-v12-latin-500.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Barlow';
    src: url('../fonts/barlow-v12-latin-600.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Barlow Condensed';
    src: url('../fonts/barlow-condensed-v12-latin-regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Barlow Condensed';
    src: url('../fonts/barlow-condensed-v12-latin-500.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Barlow Condensed';
    src: url('../fonts/barlow-condensed-v12-latin-600.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Barlow Condensed';
    src: url('../fonts/barlow-condensed-v12-latin-700.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Barlow Condensed';
    src: url('../fonts/barlow-condensed-v12-latin-800.woff2') format('woff2');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

/* --------------------------------------------------------------------------
   CSS Custom Properties
   -------------------------------------------------------------------------- */
:root {
    --primary: #000f6c;
    --primary-light: #1a2a8a;
    --accent: #13a650;
    --accent-dark: #0e8a41;
    --accent-text: #0e7c3c;
    --dark: #0a0a1a;
    --darker: #060610;
    --charcoal: #1a1a2e;
    --gray-800: #333;
    --gray-600: #666;
    --gray-400: #999;
    --gray-200: #E0E0E0;
    --light: #F4F6F8;
    --white: #FFF;
    --transition: cubic-bezier(.25,.46,.45,.94);
}

/* --------------------------------------------------------------------------
   Reset & Base
   -------------------------------------------------------------------------- */
*,*::before,*::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    font-family: 'Barlow', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    color: var(--dark);
    background: var(--white);
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; }

/* Skip link */
.mt-skip-link {
    position: absolute;
    top: -100%;
    left: 0;
    background: var(--accent);
    color: var(--dark);
    padding: .75rem 1.5rem;
    z-index: 10000;
    font-weight: 700;
}
.mt-skip-link:focus {
    top: 0;
}

/* --------------------------------------------------------------------------
   Container
   -------------------------------------------------------------------------- */
.mt-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 2rem;
}

/* --------------------------------------------------------------------------
   Typography Utilities
   -------------------------------------------------------------------------- */
.mt-section-label {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 600;
    font-size: .8rem;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--accent-text);
    margin-bottom: 1rem;
    display: inline-block;
}

.mt-section-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1.1;
    color: var(--primary);
    margin-bottom: 1.5rem;
}
.mt-section-title--light { color: var(--white); }

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */
.mt-btn {
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    padding: 1rem 2rem;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: .95rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: all .4s var(--transition);
    overflow: hidden;
}
.mt-btn svg { width: 18px; height: 18px; transition: transform .3s var(--transition); }
.mt-btn:hover svg { transform: translateX(4px); }

.mt-btn--accent { background: var(--accent); color: var(--dark); }
.mt-btn--accent:hover { background: var(--accent-dark); transform: translateY(-2px); box-shadow: 0 8px 30px rgba(19,166,80,.3); }

.mt-btn--outline { background: transparent; color: var(--white); border: 2px solid var(--white); }
.mt-btn--outline:hover { background: var(--white); color: var(--primary); }

.mt-btn--primary { background: var(--primary); color: var(--white); }
.mt-btn--primary:hover { background: var(--primary-light); transform: translateY(-2px); }

.mt-btn--white { background: var(--white); color: var(--primary); }
.mt-btn--white:hover { background: var(--light); transform: translateY(-2px); }

.mt-btn--whatsapp { background: #25d366; color: #fff; }
.mt-btn--whatsapp:hover { background: #1da851; transform: translateY(-2px); box-shadow: 0 8px 30px rgba(37,211,102,.35); }
.mt-btn--whatsapp svg { width: 20px; height: 20px; }
.mt-btn--whatsapp:hover svg { transform: none; }

/* Splitknop — bv. "Contact opnemen" + WhatsApp-icoon in dezelfde outline-stijl */
.mt-btn-split { display: inline-flex; align-items: stretch; }
.mt-btn-split--outline { border: 2px solid var(--white); }
.mt-btn-split__main,
.mt-btn-split__wa {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: .95rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--white);
    background: transparent;
    cursor: pointer;
    transition: all .4s var(--transition);
}
.mt-btn-split__main { padding: 1rem 2rem; }
.mt-btn-split__wa { padding: 1rem 1.15rem; border-left: 2px solid var(--white); }
.mt-btn-split__wa svg { width: 20px; height: 20px; }
.mt-btn-split--outline .mt-btn-split__main:hover,
.mt-btn-split--outline .mt-btn-split__wa:hover { background: var(--white); color: var(--primary); }

/* WhatsApp QR modal (desktop) */
.mt-wa-modal { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 1.5rem; opacity: 0; transition: opacity .25s var(--transition); }
.mt-wa-modal.is-open { opacity: 1; }
.mt-wa-modal[hidden] { display: none; }
.mt-wa-modal__backdrop { position: absolute; inset: 0; background: rgba(7,18,33,.7); backdrop-filter: blur(4px); }
.mt-wa-modal__dialog { position: relative; z-index: 1; width: 100%; max-width: 360px; background: var(--white); border-radius: 16px; padding: 2.5rem 2rem 2rem; text-align: center; box-shadow: 0 30px 80px rgba(0,0,0,.35); transform: translateY(16px) scale(.97); transition: transform .25s var(--transition); }
.mt-wa-modal.is-open .mt-wa-modal__dialog { transform: translateY(0) scale(1); }
.mt-wa-modal__close { position: absolute; top: .75rem; right: 1rem; background: none; border: none; font-size: 1.75rem; line-height: 1; color: var(--gray-600); cursor: pointer; padding: .25rem; }
.mt-wa-modal__close:hover { color: var(--dark); }
.mt-wa-modal__icon { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: #25d366; color: #fff; margin-bottom: 1rem; }
.mt-wa-modal__icon svg { width: 30px; height: 30px; }
.mt-wa-modal__title { font-family: 'Barlow Condensed', sans-serif; font-size: 1.5rem; text-transform: uppercase; letter-spacing: 1px; margin: 0 0 .5rem; color: var(--dark); }
.mt-wa-modal__text { color: var(--gray-600); font-weight: 300; line-height: 1.6; margin: 0 0 1.5rem; font-size: .95rem; }
.mt-wa-modal__qr { display: inline-flex; padding: 12px; border: 1px solid var(--gray-200, #e5e7eb); border-radius: 12px; background: #fff; }
.mt-wa-modal__qr img { display: block; width: 220px; height: 220px; }
.mt-wa-modal__number { display: inline-flex; align-items: center; gap: .5rem; margin-top: 1.5rem; font-weight: 700; color: #1da851; text-decoration: none; }
.mt-wa-modal__number svg { width: 18px; height: 18px; }
.mt-wa-modal__number:hover { text-decoration: underline; }

/* --------------------------------------------------------------------------
   Topbar
   -------------------------------------------------------------------------- */
.mt-topbar {
    background: var(--darker);
    color: var(--gray-400);
    font-size: .85rem;
    padding: .5rem 0;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.mt-topbar .mt-container { display: flex; justify-content: space-between; align-items: center; }
.mt-topbar__contact { display: flex; gap: 2rem; }
.mt-topbar__contact a {
    color: var(--gray-400);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: .5rem;
    transition: color .3s;
}
.mt-topbar__contact a:hover { color: var(--accent); }
.mt-topbar__contact svg { width: 14px; height: 14px; }
.mt-topbar__contact-combo { display: inline-flex; align-items: center; gap: .6rem; }
.mt-topbar__whatsapp { display: inline-flex; align-items: center; gap: .5rem; }
.mt-topbar__whatsapp svg { color: #25d366; }
.mt-topbar__dealer { color: var(--gray-400); font-size: .8rem; }

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */
.mt-header {
    background: var(--primary);
    position: sticky;
    top: 0;
    z-index: 1000;
    transition: box-shadow .3s;
}
body.admin-bar .mt-header { top: 32px; }
.mt-header--scrolled { box-shadow: 0 4px 30px rgba(0,15,108,.4); }
.mt-header .mt-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 80px;
}
.mt-logo { display: flex; align-items: center; text-decoration: none; overflow: hidden; background: var(--white); padding: .35rem .75rem; border-radius: 4px; }
.mt-logo img { height: 44px; width: auto; max-width: 200px; max-height: 44px; object-fit: contain; }

.mt-nav { display: flex; align-items: center; }
.mt-nav__list { display: flex; align-items: center; list-style: none; padding: 0; margin: 0; }
.mt-nav__item { list-style: none; }
.mt-nav__link {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 600;
    font-size: .9rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(255,255,255,.85);
    text-decoration: none;
    padding: 1.75rem 1.25rem;
    position: relative;
    transition: color .3s;
}
.mt-nav__link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 3px;
    background: var(--accent);
    transition: width .3s var(--transition);
}
.mt-nav__link:hover,
.mt-nav__link--active { color: var(--white); }
.mt-nav__link:hover::after,
.mt-nav__link--active::after { width: 100%; }
.mt-nav__cta { margin-left: 1.5rem; }

.mt-mobile-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: .5rem;
}
.mt-mobile-toggle span {
    display: block;
    width: 28px;
    height: 2px;
    background: var(--white);
    margin: 6px 0;
    transition: all .3s;
}

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */
.mt-hero {
    position: relative;
    min-height: 92vh;
    display: flex;
    align-items: center;
    overflow: hidden;
}
.mt-hero__bg { position: absolute; inset: 0; z-index: 0; }
.mt-hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.mt-hero__video { width: 100%; height: 100%; object-fit: cover; display: block; }
.mt-hero__slider { position: absolute; inset: 0; }
.mt-hero__slider img {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 1.2s ease;
}
.mt-hero__slider img.active { opacity: 1; }
.mt-hero__bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(0,15,108,.92) 0%, rgba(0,15,108,.7) 40%, rgba(0,15,108,.3) 100%);
}
.mt-hero__content { position: relative; z-index: 2; max-width: 700px; }
.mt-hero__label {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 600;
    font-size: .85rem;
    letter-spacing: 5px;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
}
.mt-hero__label::before { content: ''; width: 40px; height: 2px; background: var(--accent); }
.mt-hero__title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: clamp(2.8rem, 6vw, 5rem);
    line-height: 1.05;
    color: var(--white);
    margin-bottom: 1.5rem;
    text-transform: uppercase;
}
.mt-hero__title span { color: var(--accent); display: block; }
.mt-hero__desc {
    font-size: 1.15rem;
    line-height: 1.7;
    color: rgba(255,255,255,.7);
    margin-bottom: 2.5rem;
    max-width: 520px;
    font-weight: 300;
}
.mt-hero__buttons { display: flex; gap: 1rem; flex-wrap: wrap; }
.mt-hero__stats {
    position: relative;
    z-index: 2;
    display: flex;
    margin-top: 5rem;
    border-top: 1px solid rgba(255,255,255,.15);
}
.mt-hero__stat { padding: 2rem 2.5rem; border-right: 1px solid rgba(255,255,255,.15); }
.mt-hero__stat:first-child { padding-left: 2.5rem; }
.mt-hero__stat:last-child { border-right: none; }
.mt-hero__stat-number {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 2.5rem;
    color: var(--accent);
    line-height: 1;
}
.mt-hero__stat-label {
    font-size: .85rem;
    color: rgba(255,255,255,.6);
    margin-top: .25rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-weight: 500;
}
.mt-hero__scroll {
    position: fixed;
    right: 2rem;
    bottom: 1.5rem;
    z-index: 900;
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: .6rem 1.1rem;
    background: rgba(0,15,108,.55);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 999px;
    cursor: pointer;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 600;
    font-size: .8rem;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: rgba(255,255,255,.85);
    transition: color .3s, opacity .4s, visibility .4s;
}
.mt-hero__scroll:hover { color: var(--accent); }
.mt-hero__scroll--hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.mt-hero__scroll svg {
    width: 16px;
    height: 16px;
    animation: mt-scroll-bounce 2s ease-in-out infinite;
}
@keyframes mt-scroll-bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(5px); }
}

/* --------------------------------------------------------------------------
   Services Strip
   -------------------------------------------------------------------------- */
.mt-services-strip { background: var(--accent); position: relative; z-index: 10; }
.mt-services-strip__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.mt-services-strip__item {
    padding: 2.5rem 2rem;
    display: flex;
    align-items: center;
    gap: 1.25rem;
    border-right: 1px solid rgba(0,0,0,.1);
    transition: background .3s;
    cursor: default;
}
.mt-services-strip__item:last-child { border-right: none; }
.mt-services-strip__item:hover { background: var(--accent-dark); }
.mt-services-strip__icon {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    background: rgba(0,15,108,.2);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
}
.mt-services-strip__icon svg { width: 24px; height: 24px; color: var(--primary); }
.mt-services-strip__text {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: .95rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--primary);
    line-height: 1.3;
}

/* --------------------------------------------------------------------------
   About
   -------------------------------------------------------------------------- */
.mt-about { padding: 6rem 0; background: var(--white); }
.mt-about__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }
.mt-about__image { position: relative; }
.mt-about__img-main { width: 100%; aspect-ratio: 4/3; overflow: hidden; position: relative; }
.mt-about__img-main img { width: 100%; height: 100%; object-fit: cover; }
.mt-about__img-accent {
    position: absolute;
    bottom: -2rem;
    right: -2rem;
    width: 200px;
    height: 200px;
    background: var(--accent);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 2rem;
}
.mt-about__img-accent-number {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 3.5rem;
    color: var(--primary);
    line-height: 1;
}
.mt-about__img-accent-text {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 600;
    font-size: .85rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--primary);
    text-align: center;
}
.mt-about__content p {
    font-size: 1.05rem;
    line-height: 1.8;
    color: var(--gray-600);
    margin-bottom: 1.5rem;
    font-weight: 300;
}
.mt-about__features { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 2rem 0; }
.mt-about__feature { display: flex; align-items: center; gap: .75rem; font-weight: 500; color: var(--dark); }
.mt-about__feature-icon {
    width: 24px;
    height: 24px;
    background: var(--accent);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.mt-about__feature-icon svg { width: 14px; height: 14px; color: var(--primary); }

/* --------------------------------------------------------------------------
   Machines
   -------------------------------------------------------------------------- */
.mt-machines { padding: 6rem 0; background: var(--light); position: relative; }
.mt-machines::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary) 0%, var(--accent) 100%);
}
.mt-machines__header { text-align: center; max-width: 650px; margin: 0 auto 4rem; }
.mt-machines__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.mt-machines__footer { text-align: center; margin-top: 3rem; }

.mt-machine-card {
    background: var(--white);
    position: relative;
    transition: all .4s var(--transition);
    border-bottom: 3px solid transparent;
    overflow: hidden;
}
.mt-machine-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 60px rgba(0,15,108,.1);
    border-bottom-color: var(--accent);
}
.mt-machine-card__image { aspect-ratio: 16/10; overflow: hidden; }
.mt-machine-card__image img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform .6s var(--transition);
}
.mt-machine-card:hover .mt-machine-card__image img { transform: scale(1.05); }
.mt-machine-card__content { padding: 2rem; }
.mt-machine-card__tag {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 600;
    font-size: .75rem;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--accent-dark);
    background: rgba(19,166,80,.1);
    display: inline-block;
    padding: .25rem .75rem;
    margin-bottom: .75rem;
}
.mt-machine-card__title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 1.3rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--primary);
    margin-bottom: .75rem;
}
.mt-machine-card__desc {
    font-size: .9rem;
    line-height: 1.6;
    color: var(--gray-600);
    font-weight: 300;
}
.mt-machine-card__link {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-top: 1.25rem;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: .85rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--primary);
    text-decoration: none;
    transition: all .3s;
}
.mt-machine-card__link:hover { color: var(--accent-dark); gap: .85rem; }
.mt-machine-card__link svg { width: 16px; height: 16px; }

/* --------------------------------------------------------------------------
   CTA Banner
   -------------------------------------------------------------------------- */
.mt-cta-banner {
    background: var(--primary);
    padding: 5rem 0;
    position: relative;
    overflow: hidden;
}
.mt-cta-banner__bg {
    position: absolute;
    inset: 0;
    opacity: .06;
    background: repeating-linear-gradient(45deg, transparent, transparent 50px, var(--accent) 50px, var(--accent) 51px);
}
.mt-cta-banner .mt-container {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 3rem;
}
.mt-cta-banner__title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    color: var(--white);
    text-transform: uppercase;
    margin-bottom: 1rem;
}
.mt-cta-banner__title span { color: var(--accent); }
.mt-cta-banner__desc {
    font-size: 1.05rem;
    color: rgba(255,255,255,.7);
    font-weight: 300;
    line-height: 1.7;
}
.mt-cta-banner__buttons { display: flex; gap: 1rem; flex-shrink: 0; }

/* --------------------------------------------------------------------------
   Gallery (Toepassingen)
   -------------------------------------------------------------------------- */
.mt-gallery { padding: 6rem 0; background: var(--white); }
.mt-gallery__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 3rem;
}
.mt-gallery__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }

.mt-gallery-card {
    position: relative;
    aspect-ratio: 4/3;
    overflow: hidden;
    cursor: pointer;
    display: block;
    text-decoration: none;
}
.mt-gallery-card img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform .6s var(--transition);
}
.mt-gallery-card:hover img { transform: scale(1.08); }
.mt-gallery-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 30%, rgba(0,15,108,.9) 100%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 2rem;
    transition: all .4s var(--transition);
}
.mt-gallery-card:hover .mt-gallery-card__overlay {
    background: linear-gradient(180deg, rgba(19,166,80,.08) 0%, rgba(0,15,108,.95) 100%);
}
.mt-gallery-card__tag {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 600;
    font-size: .75rem;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: .5rem;
}
.mt-gallery-card__title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 1.3rem;
    text-transform: uppercase;
    color: #fff;
}
.mt-gallery-card__arrow {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    width: 40px;
    height: 40px;
    background: var(--accent);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: translateX(-10px);
    transition: all .4s var(--transition);
}
.mt-gallery-card:hover .mt-gallery-card__arrow { opacity: 1; transform: translateX(0); }
.mt-gallery-card__arrow svg { width: 18px; height: 18px; color: var(--primary); }

/* --------------------------------------------------------------------------
   USP
   -------------------------------------------------------------------------- */
.mt-usp {
    padding: 6rem 0;
    background: var(--darker);
    position: relative;
    overflow: hidden;
}
.mt-usp__bg-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 15vw;
    text-transform: uppercase;
    color: rgba(255,255,255,.03);
    white-space: nowrap;
    pointer-events: none;
}
.mt-usp__header { text-align: center; max-width: 600px; margin: 0 auto 4rem; position: relative; }
.mt-usp__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; position: relative; }

.mt-usp-card {
    text-align: center;
    padding: 2.5rem 1.5rem;
    border: 1px solid rgba(255,255,255,.06);
    transition: all .4s var(--transition);
    position: relative;
}
.mt-usp-card::before {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 3px;
    background: var(--accent);
    transform: scaleX(0);
    transition: transform .4s var(--transition);
}
.mt-usp-card:hover::before { transform: scaleX(1); }
.mt-usp-card:hover { background: rgba(255,255,255,.03); border-color: rgba(19,166,80,.2); }
.mt-usp-card__icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 1.5rem;
    background: rgba(19,166,80,.1);
    border: 1px solid rgba(19,166,80,.2);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}
.mt-usp-card__icon svg { width: 28px; height: 28px; color: var(--accent); }
.mt-usp-card__title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 1.15rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--white);
    margin-bottom: .75rem;
}
.mt-usp-card__desc { font-size: .9rem; line-height: 1.6; color: var(--gray-400); font-weight: 300; }

/* --------------------------------------------------------------------------
   Merlo Benelux Partner Section
   -------------------------------------------------------------------------- */
.mt-merlo-partner { padding: 5rem 0; background: var(--charcoal); }
.mt-merlo-partner .mt-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}
.mt-merlo-partner .mt-section-title { color: var(--white); }
.mt-merlo-partner .mt-section-label { color: var(--accent); }
.mt-merlo-partner__content p { font-size: 1.05rem; line-height: 1.8; color: var(--gray-400); font-weight: 300; margin-bottom: 1.5rem; }
.mt-merlo-partner__logo { text-align: center; }
.mt-merlo-partner__logo img { max-width: 280px; margin: 0 auto; }
.mt-merlo-partner__contact {
    font-size: .9rem;
    color: var(--gray-600);
    margin-top: .5rem;
}
.mt-merlo-partner__contact a { color: var(--primary); font-weight: 600; }

/* --------------------------------------------------------------------------
   Contact
   -------------------------------------------------------------------------- */
.mt-contact { padding: 6rem 0; background: var(--white); }
.mt-contact__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; }
.mt-contact__info-items { display: flex; flex-direction: column; gap: 2rem; margin-top: 2rem; }
.mt-contact__info-item { display: flex; gap: 1.25rem; align-items: flex-start; }
.mt-contact__info-icon {
    width: 48px;
    height: 48px;
    background: var(--accent);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    clip-path: polygon(0 0, 100% 0, 100% 75%, 75% 100%, 0 100%);
}
.mt-contact__info-icon svg { width: 22px; height: 22px; color: var(--primary); }
.mt-contact__info-label {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: .8rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--gray-400);
    margin-bottom: .25rem;
}
.mt-contact__info-value { font-size: 1.1rem; color: var(--dark); font-weight: 500; }
.mt-contact__info-value a { color: var(--dark); text-decoration: none; transition: color .3s; }
.mt-contact__info-value a:hover { color: var(--accent-dark); }
.mt-contact__info-value--whatsapp { font-size: .95rem; }
.mt-contact__info-value--whatsapp a { display: inline-flex; align-items: center; gap: .4rem; color: #1da851; }
.mt-contact__info-value--whatsapp svg { width: 16px; height: 16px; color: #25d366; }
.mt-contact__form { background: var(--light); padding: 3rem; }
.mt-contact__form-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 1.3rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 2rem;
    color: var(--primary);
}

/* --------------------------------------------------------------------------
   Forms
   -------------------------------------------------------------------------- */
.mt-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1rem; }
.mt-form__group { margin-bottom: 1rem; }
.mt-form__label {
    display: block;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 600;
    font-size: .8rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--gray-600);
    margin-bottom: .5rem;
}
.mt-form__input,
.mt-form__textarea {
    width: 100%;
    padding: .9rem 1rem;
    font-family: 'Barlow', sans-serif;
    font-size: .95rem;
    color: var(--dark);
    background: var(--white);
    border: 2px solid var(--gray-200);
    outline: none;
    transition: border-color .3s;
}
.mt-form__input:focus,
.mt-form__textarea:focus { border-color: var(--accent); }
.mt-form__textarea { resize: vertical; min-height: 140px; }

/* CF7 overrides */
.wpcf7 .mt-form__input,
.wpcf7 .mt-form__textarea { width: 100%; }
.wpcf7 .mt-btn { width: 100%; justify-content: center; margin-top: .5rem; }

/* Bedankt-banner — vervangt het formulier na succesvol verzenden */
.mt-form-success { text-align: center; padding: 3rem 1.5rem; }
.mt-form-success__icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--accent);
    color: var(--white);
}
.mt-form-success__icon svg { width: 30px; height: 30px; }
.mt-form-success__title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 1.8rem;
    color: var(--primary);
    margin-bottom: .75rem;
}
.mt-form-success__text {
    color: var(--gray-600);
    line-height: 1.7;
    font-weight: 300;
    max-width: 420px;
    margin: 0 auto;
}

/* CF7 native element styling */
.wpcf7-form label {
    display: block;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 600;
    font-size: .8rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--gray-600);
    margin-bottom: .5rem;
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="number"],
.wpcf7-form select,
.wpcf7-form textarea {
    width: 100%;
    padding: .9rem 1rem;
    font-family: 'Barlow', sans-serif;
    font-size: .95rem;
    color: var(--dark);
    background: var(--white);
    border: 2px solid var(--gray-200);
    border-radius: 0;
    outline: none;
    transition: border-color .3s;
    -webkit-appearance: none;
}
.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form input[type="url"]:focus,
.wpcf7-form input[type="number"]:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus { border-color: var(--accent); }
.wpcf7-form textarea { resize: vertical; min-height: 140px; }
.wpcf7-form p { margin-bottom: 1rem; }
.wpcf7-form input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    width: 100%;
    padding: 1rem 2rem;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: .95rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    background: var(--accent);
    color: var(--dark);
    border: none;
    cursor: pointer;
    transition: all .4s var(--transition);
    margin-top: .5rem;
}
.wpcf7-form input[type="submit"]:hover {
    background: var(--accent-dark);
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(19,166,80,.3);
}
.wpcf7-not-valid { border-color: #e53e3e !important; }
.wpcf7-not-valid-tip {
    color: #e53e3e;
    font-size: .8rem;
    margin-top: .25rem;
    display: block;
}
.wpcf7-response-output {
    padding: 1rem 1.5rem;
    margin: 1.5rem 0 0;
    font-size: .9rem;
    border: 2px solid var(--gray-200);
}
.wpcf7-mail-sent-ok,
.wpcf7 form.sent .wpcf7-response-output {
    border-color: var(--accent);
    background: rgba(19,166,80,.08);
    color: var(--dark);
}
.wpcf7-validation-errors,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output {
    border-color: #e53e3e;
    background: rgba(229,62,62,.08);
    color: #e53e3e;
}
.wpcf7-spinner {
    display: block;
    margin: 1rem auto 0;
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */
.mt-footer { background: var(--dark); padding: 4rem 0 0; }
.mt-footer__grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.5fr;
    gap: 3rem;
    padding-bottom: 3rem;
    border-bottom: 1px solid rgba(255,255,255,.06);
}
.mt-footer__brand { display: flex; flex-direction: column; gap: 1rem; }
.mt-footer__brand img { height: 45px; width: auto; }
.mt-footer__logo { background: var(--white); padding: .35rem .75rem; border-radius: 4px; filter: none; width: fit-content; height: 45px; object-fit: contain; }
.mt-footer__merlo-logo { height: 30px !important; width: auto; margin-top: .5rem; }
.mt-footer__brand p { font-size: .95rem; line-height: 1.7; color: var(--gray-400); font-weight: 300; max-width: 300px; }
.mt-footer__merlo-text { display: block; font-size: .8rem; color: var(--gray-400); margin-top: .25rem; }
.mt-footer__title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: .85rem;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--white);
    margin-bottom: 1.5rem;
}
.mt-footer__links { list-style: none; padding: 0; margin: 0; }
.mt-footer__links li { margin-bottom: .75rem; list-style: none; }
.mt-footer__links a { color: var(--gray-400); text-decoration: none; font-size: .9rem; transition: color .3s; font-weight: 300; }
.mt-footer__links a:hover { color: var(--accent); }
.mt-footer__links .menu-item { margin-bottom: .75rem; }
.mt-footer__links .menu-item a { color: var(--gray-400); text-decoration: none; font-size: .9rem; transition: color .3s; font-weight: 300; }
.mt-footer__links .menu-item a:hover { color: var(--accent); }
.mt-footer__contact-item {
    display: flex;
    align-items: center;
    gap: .75rem;
    color: var(--gray-400);
    font-size: .9rem;
    margin-bottom: .75rem;
    font-weight: 300;
}
.mt-footer__contact-item svg { width: 16px; height: 16px; color: var(--accent); flex-shrink: 0; }
.mt-footer__contact-item--whatsapp svg { color: #25d366; }
.mt-footer__wa-icon { display: inline-flex; }
.mt-footer__wa-icon svg { color: #25d366; }
.mt-footer__contact-item a { color: var(--gray-400); text-decoration: none; transition: color .3s; }
.mt-footer__contact-item a:hover { color: var(--accent); }
.mt-footer__bottom {
    padding: 1.5rem 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.mt-footer__copyright { font-size: .85rem; color: var(--gray-400); font-weight: 300; }
.mt-footer__bottom-links { display: flex; gap: 2rem; }
.mt-footer__bottom-links a { font-size: .85rem; color: var(--gray-400); text-decoration: none; transition: color .3s; }
.mt-footer__bottom-links a:hover { color: var(--accent); }
.mt-footer__credit {
    text-align: center;
    padding: 1rem 0 1.5rem;
    font-size: .8rem;
    color: var(--gray-400);
    font-weight: 300;
}
.mt-footer__credit a { color: var(--gray-400); text-decoration: none; transition: color .3s; }
.mt-footer__credit a:hover { color: var(--accent); }

/* --------------------------------------------------------------------------
   Breadcrumb
   -------------------------------------------------------------------------- */
.mt-breadcrumb { margin-bottom: 2rem; }
.mt-breadcrumb ol {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    gap: .5rem;
    font-size: .85rem;
    color: var(--gray-400);
}
.mt-breadcrumb__item + .mt-breadcrumb__item::before {
    content: '/';
    margin-right: .5rem;
    color: var(--gray-200);
}
.mt-breadcrumb__item a { color: var(--gray-600); text-decoration: none; transition: color .3s; }
.mt-breadcrumb__item a:hover { color: var(--accent); }
.mt-breadcrumb__item--active { color: var(--dark); font-weight: 500; }

/* --------------------------------------------------------------------------
   Machine Grid (archive) — reuses old .mt-machine-grid styling
   -------------------------------------------------------------------------- */
.mt-machine-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 24px;
}
.mt-machine-card-archive {
    background: var(--white);
    border-radius: 0;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,.06);
    transition: transform .2s ease, box-shadow .2s ease;
    border-bottom: 3px solid transparent;
}
.mt-machine-card-archive:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,.1);
    border-bottom-color: var(--accent);
}
.mt-machine-card-archive__image {
    position: relative;
    aspect-ratio: 4/3;
    overflow: hidden;
    background-color: var(--light);
}
.mt-machine-card-archive__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.mt-machine-card-archive:hover .mt-machine-card-archive__image img { transform: scale(1.05); }
.mt-machine-card-archive__body { padding: 20px; }
.mt-machine-card-archive__body h3 {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 1.125rem;
    margin-bottom: 8px;
    color: var(--primary);
}
.mt-machine-card-archive__body h3 a { color: inherit; text-decoration: none; }
.mt-machine-card-archive__body h3 a:hover { color: var(--accent); }

/* Machine specs mini-list */
.mt-machine-specs {
    list-style: none;
    padding: 0;
    margin: 0 0 16px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
}
.mt-machine-specs li { font-size: .8125rem; color: var(--gray-600); }
.mt-machine-specs li strong { color: var(--dark); }

/* Status badges */
.mt-status-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: .75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-bottom: .5rem;
}
.mt-status-badge--te-koop { background-color: #dcfce7; color: #166534; }
.mt-status-badge--verkocht { background-color: #fee2e2; color: #991b1b; }
.mt-status-badge--gereviseerd { background-color: #dbeafe; color: #1e40af; }
.mt-status-badge--inruil { background-color: #fef3c7; color: #92400e; }

/* Price display */
.mt-prijs {
    display: inline-block;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 1.65rem;
    font-weight: 800;
    color: var(--primary);
    letter-spacing: .5px;
    line-height: 1.1;
}
.mt-machine-card-archive__body .mt-prijs {
    margin-top: .5rem;
    padding-top: .75rem;
    border-top: 1px solid var(--gray-200);
    width: 100%;
    font-size: 1.5rem;
}
.mt-prijs__vanaf {
    font-size: .6em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-right: .15rem;
}
.mt-prijs--op-aanvraag {
    font-size: 1rem;
    font-weight: 600;
    font-style: normal;
    color: var(--gray-600);
    text-transform: uppercase;
    letter-spacing: 1px;
}
.mt-page-header .mt-prijs {
    background: var(--accent);
    color: var(--primary);
    padding: .5rem 1rem;
    font-size: 1.75rem;
}
.mt-page-header .mt-prijs--op-aanvraag {
    background: rgba(255,255,255,.15);
    color: var(--white);
    font-size: 1rem;
    padding: .5rem 1rem;
}

/* Brochure link */
.mt-brochure-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--accent-dark);
    font-weight: 600;
    font-size: .875rem;
    text-decoration: none;
}
.mt-brochure-link:hover { color: var(--primary); text-decoration: underline; }

/* Filter bar */
.mt-filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 32px;
    padding: 16px 0;
    border-bottom: 1px solid var(--gray-200);
}
.mt-filter-bar a {
    display: inline-block;
    padding: 8px 20px;
    border-radius: 20px;
    font-size: .875rem;
    font-weight: 600;
    color: var(--gray-800);
    background-color: var(--light);
    text-decoration: none;
    transition: all .2s ease;
}
.mt-filter-bar a:hover,
.mt-filter-bar a.active { background-color: var(--accent); color: var(--primary); }

/* Spec table */
.mt-spec-table { width: 100%; border-collapse: collapse; margin: 24px 0; }
.mt-spec-table th,
.mt-spec-table td { padding: 12px 16px; text-align: left; border-bottom: 1px solid var(--gray-200); }
.mt-spec-table th {
    background-color: var(--primary);
    color: var(--white);
    font-weight: 600;
    font-size: .875rem;
    text-transform: uppercase;
    letter-spacing: .5px;
}
.mt-spec-table tr:nth-child(even) { background-color: var(--light); }
.mt-spec-table td:first-child { font-weight: 600; color: var(--primary); width: 40%; }

/* --------------------------------------------------------------------------
   Page Content (standard pages)
   -------------------------------------------------------------------------- */
.mt-page-header {
    background: var(--primary-light);
    padding: 4rem 0 3rem;
    color: var(--white);
    border-top: 1px solid rgba(255,255,255,.1);
}
.mt-page-header h1 {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: clamp(2rem, 4vw, 3rem);
    text-transform: uppercase;
}
.mt-page-content { padding: 4rem 0; }
.mt-page-content .entry-content { max-width: 800px; line-height: 1.8; font-weight: 300; color: var(--gray-600); }
.mt-page-content .entry-content h2,
.mt-page-content .entry-content h3 { color: var(--primary); margin-top: 2rem; margin-bottom: 1rem; }

/* Single machine/model detail */
.mt-single-header { padding: 2rem 0; }
.mt-single-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 3rem; padding: 2rem 0 4rem; }
.mt-single-sidebar .mt-sidebar-card {
    background: var(--light);
    padding: 2rem;
    margin-bottom: 1.5rem;
}
.mt-single-sidebar .mt-sidebar-card h3 {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 1.1rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--primary);
    margin-bottom: 1rem;
}
.mt-single-sidebar .mt-sidebar-card--cta {
    background: var(--primary);
    color: var(--white);
}
.mt-single-sidebar .mt-sidebar-card--cta h3 { color: var(--white); }
.mt-single-sidebar .mt-sidebar-card--cta p { color: rgba(255,255,255,.7); font-weight: 300; }
.mt-sidebar-card__phone {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: rgba(255,255,255,.8);
    font-size: .9rem;
    transition: color .3s;
}
.mt-sidebar-card__phone svg { width: 18px; height: 18px; flex-shrink: 0; }
.mt-sidebar-card__phone:hover { color: var(--accent); }
/* Klein inline-icoon naast een sidebar-kop (bv. het "Tip"-badge-icoon) */
.mt-sidebar-card h3 svg { width: 20px; height: 20px; vertical-align: -3px; margin-right: .35rem; flex-shrink: 0; }

/* Gallery slideshow */
.mt-slideshow { position: relative; aspect-ratio: 4/3; overflow: hidden; margin-bottom: 2rem; background: var(--light); }
.mt-slideshow--story { margin-bottom: 0; }
.mt-slideshow__items { list-style: none; position: relative; width: 100%; height: 100%; }
.mt-slideshow__items li {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity .5s ease;
    /* Verborgen slides liggen bovenop de actieve; zonder dit vangen ze kliks af */
    pointer-events: none;
}
.mt-slideshow__items li.active { opacity: 1; pointer-events: auto; }
/* contain i.p.v. cover: afbeeldingen met afwijkende verhoudingen worden
   volledig getoond (op de lichte achtergrond) in plaats van bijgesneden */
.mt-slideshow__items img { width: 100%; height: 100%; object-fit: contain; }
.mt-slideshow__nav { display: flex; justify-content: center; gap: .5rem; margin-top: 1rem; }
.mt-slideshow__nav button {
    width: 12px; height: 12px;
    border-radius: 50%;
    border: 2px solid var(--gray-200);
    background: transparent;
    cursor: pointer;
    transition: all .3s;
}
.mt-slideshow__nav button.active { background: var(--accent); border-color: var(--accent); }
.mt-slideshow__prev,
.mt-slideshow__next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0,0,0,.5);
    color: var(--white);
    border: none;
    width: 40px;
    height: 40px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .3s;
    z-index: 2;
}
.mt-slideshow__prev { left: 0; }
.mt-slideshow__next { right: 0; }
.mt-slideshow__prev:hover,
.mt-slideshow__next:hover { background: rgba(0,15,108,.8); }

/* Lightbox */
.mt-lightbox-trigger { cursor: zoom-in; }
.mt-lightbox {
    position: fixed;
    inset: 0;
    z-index: 10000;
    background: rgba(6,6,16,.95);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease, visibility .3s ease;
}
.mt-lightbox.active { opacity: 1; visibility: visible; }
.mt-lightbox__img {
    max-width: calc(100vw - 2rem);
    max-height: calc(100vh - 7rem);
    width: auto;
    height: auto;
    object-fit: contain;
}
.mt-lightbox__close,
.mt-lightbox__prev,
.mt-lightbox__next {
    position: absolute;
    background: rgba(255,255,255,.1);
    color: var(--white);
    border: none;
    width: 44px;
    height: 44px;
    font-size: 1.75rem;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .3s;
}
.mt-lightbox__close:hover,
.mt-lightbox__prev:hover,
.mt-lightbox__next:hover { background: rgba(19,166,80,.3); }
.mt-lightbox__close { top: 1rem; right: 1rem; }
.mt-lightbox__prev { left: .5rem; top: 50%; transform: translateY(-50%); }
.mt-lightbox__next { right: .5rem; top: 50%; transform: translateY(-50%); }
.mt-lightbox__counter {
    position: absolute;
    bottom: 1.25rem;
    left: 50%;
    transform: translateX(-50%);
    color: rgba(255,255,255,.7);
    font-size: .85rem;
    letter-spacing: 1px;
}
body.mt-lightbox-open { overflow: hidden; }

/* Related items */
.mt-related { padding: 4rem 0; border-top: 1px solid var(--gray-200); }
.mt-related h2 {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 1.3rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--primary);
    margin-bottom: 2rem;
}

/* Pagination */
.mt-pagination { display: flex; justify-content: center; gap: .5rem; margin-top: 3rem; }
.mt-pagination a,
.mt-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 .75rem;
    font-size: .9rem;
    font-weight: 600;
    border: 2px solid var(--gray-200);
    transition: all .3s;
}
.mt-pagination a:hover { border-color: var(--accent); color: var(--accent); }
.mt-pagination .current { background: var(--accent); color: var(--primary); border-color: var(--accent); }

/* 404 */
.mt-404 { text-align: center; padding: 6rem 0; }
.mt-404 h1 {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 8rem;
    color: var(--accent);
    line-height: 1;
}
.mt-404 p { font-size: 1.2rem; color: var(--gray-600); margin: 1rem 0 2rem; }

/* Search */
.mt-search-form {
    display: flex;
    max-width: 500px;
    margin: 2rem auto;
}
.mt-search-form input[type="search"] {
    flex: 1;
    padding: .9rem 1rem;
    border: 2px solid var(--gray-200);
    font-family: 'Barlow', sans-serif;
    font-size: 1rem;
    outline: none;
}
.mt-search-form input[type="search"]:focus { border-color: var(--accent); }
.mt-search-form button { padding: .9rem 2rem; background: var(--accent); border: none; cursor: pointer; font-weight: 700; }

/* --------------------------------------------------------------------------
   Onderdelen Page
   -------------------------------------------------------------------------- */
.mt-onderdelen__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    margin-bottom: 4rem;
}
.mt-onderdelen__lijst {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.mt-onderdelen__lijst li {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}
.mt-onderdelen__lijst-icon {
    width: 24px;
    height: 24px;
    background: var(--accent);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: .25rem;
}
.mt-onderdelen__lijst-icon svg { width: 14px; height: 14px; color: var(--primary); }
.mt-onderdelen__lijst strong {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    color: var(--dark);
    display: block;
    margin-bottom: .25rem;
}
.mt-onderdelen__lijst p {
    font-size: .9rem;
    line-height: 1.6;
    color: var(--gray-600);
    font-weight: 300;
}
.mt-onderdelen__stappen {
    list-style: none;
    counter-reset: stap;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.mt-onderdelen__stappen li {
    display: flex;
    gap: 1.25rem;
    align-items: flex-start;
}
.mt-onderdelen__stap-nummer {
    width: 48px;
    height: 48px;
    background: var(--primary);
    color: var(--white);
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 1.3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.mt-onderdelen__stappen strong {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    color: var(--dark);
    display: block;
    margin-bottom: .25rem;
}
.mt-onderdelen__stappen p {
    font-size: .9rem;
    line-height: 1.6;
    color: var(--gray-600);
    font-weight: 300;
}
.mt-onderdelen__form-section {
    padding: 4rem 0;
    background: var(--light);
}
.mt-onderdelen__form-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 3rem;
    align-items: flex-start;
}

/* --------------------------------------------------------------------------
   Over Ons Page — Team & Story
   -------------------------------------------------------------------------- */
.mt-story__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
    margin-bottom: 3rem;
}
.mt-story__text p {
    font-size: 1.05rem;
    line-height: 1.8;
    color: var(--gray-600);
    font-weight: 300;
    margin-bottom: 1.5rem;
}
.mt-story__image { position: relative; }
.mt-story__image img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
}
/* In een diashow binnen een story-sectie (Over Merlo) geldt de cover-regel
   hierboven niet: toon altijd de volledige foto */
.mt-story__image .mt-slideshow__items img {
    aspect-ratio: auto;
    height: 100%;
    object-fit: contain;
}
.mt-team { padding: 5rem 0; background: var(--light); }
.mt-team__header { text-align: center; max-width: 650px; margin: 0 auto 3rem; }
.mt-team__header p { font-size: 1.05rem; line-height: 1.7; color: var(--gray-600); font-weight: 300; margin-top: 1rem; }
.mt-team__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.mt-team-card {
    background: var(--white);
    text-align: center;
    padding: 3rem 2rem;
    transition: all .4s var(--transition);
    border-bottom: 3px solid transparent;
}
.mt-team-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 48px rgba(0,15,108,.08);
    border-bottom-color: var(--accent);
}
.mt-team-card__icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 1.5rem;
    background: rgba(19,166,80,.1);
    border: 1px solid rgba(19,166,80,.2);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}
.mt-team-card__icon svg { width: 32px; height: 32px; color: var(--accent); }
.mt-team-card__title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 1.2rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--primary);
    margin-bottom: .75rem;
}
.mt-team-card__desc {
    font-size: .9rem;
    line-height: 1.6;
    color: var(--gray-600);
    font-weight: 300;
}

/* --------------------------------------------------------------------------
   Toepassingen (separate page)
   -------------------------------------------------------------------------- */
.mt-toepassingen-intro { padding: 4rem 0 2rem; background: var(--white); }
.mt-toepassingen-intro__inner { max-width: 800px; margin: 0 auto; text-align: center; }
.mt-toepassingen-intro__text {
    font-size: 1.05rem;
    line-height: 1.8;
    color: var(--gray-600);
    font-weight: 300;
}
.mt-toepassingen-intro__text p { margin-bottom: 1rem; }

.mt-toepassingen { padding: 3rem 0 5rem; background: var(--white); }
.mt-toepassing {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
    padding: 3rem 0;
    border-bottom: 1px solid var(--gray-200);
}
.mt-toepassing:last-child { border-bottom: none; }
.mt-toepassing--reverse .mt-toepassing__image { order: 2; }
.mt-toepassing--reverse .mt-toepassing__content { order: 1; }
.mt-toepassing__image { position: relative; }
.mt-toepassing__image img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
}
.mt-toepassing__title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    line-height: 1.15;
    color: var(--primary);
    text-transform: uppercase;
    margin: .5rem 0 1rem;
}
.mt-toepassing__desc {
    font-size: 1.05rem;
    line-height: 1.7;
    color: var(--gray-600);
    font-weight: 300;
    margin-bottom: 1.5rem;
}
.mt-toepassing__list {
    list-style: none;
    padding: 0;
    margin: 0 0 2rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .75rem 1.25rem;
}
.mt-toepassing__list li {
    display: flex;
    align-items: center;
    gap: .6rem;
    font-size: .95rem;
    font-weight: 500;
    color: var(--dark);
}
.mt-toepassing__list svg {
    width: 16px;
    height: 16px;
    color: var(--primary);
    background: var(--accent);
    padding: 3px;
    flex-shrink: 0;
}
.mt-toepassing__btn { margin-top: .5rem; }

/* --------------------------------------------------------------------------
   Merlo Tijdlijn
   -------------------------------------------------------------------------- */
.mt-timeline-section { padding: 5rem 0; background: var(--light); }
.mt-timeline-section__header { text-align: center; max-width: 650px; margin: 0 auto 4rem; }
.mt-timeline { position: relative; max-width: 900px; margin: 0 auto; }
.mt-timeline::before {
    content: '';
    position: absolute;
    top: .35rem;
    bottom: .35rem;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    background: var(--gray-200);
}
.mt-timeline__item { position: relative; width: 50%; padding: 0 3rem 3rem 0; }
.mt-timeline__item:nth-child(even) { margin-left: 50%; padding: 0 0 3rem 3rem; }
.mt-timeline__item:last-child { padding-bottom: 0; }
.mt-timeline__marker {
    position: absolute;
    top: .35rem;
    right: -8px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--accent);
    border: 3px solid var(--light);
    box-shadow: 0 0 0 2px var(--accent);
}
.mt-timeline__item:nth-child(even) .mt-timeline__marker { right: auto; left: -8px; }
.mt-timeline__item:nth-child(odd) .mt-timeline__content { text-align: right; }
.mt-timeline__year {
    display: block;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 1.75rem;
    color: var(--accent-text);
    line-height: 1;
    margin-bottom: .35rem;
}
.mt-timeline__title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 1.15rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--primary);
    margin-bottom: .5rem;
}
.mt-timeline__text {
    font-size: .95rem;
    line-height: 1.7;
    color: var(--gray-600);
    font-weight: 300;
}

/* --------------------------------------------------------------------------
   Voordelen Mans Techniek
   -------------------------------------------------------------------------- */
.mt-voordelen { padding: 5rem 0; background: var(--white); }
.mt-voordelen__header { text-align: center; max-width: 650px; margin: 0 auto 3rem; }
.mt-voordelen__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.mt-voordelen__item {
    padding: 2rem 1.75rem;
    background: var(--light);
    border-bottom: 3px solid transparent;
    transition: all .4s var(--transition);
}
.mt-voordelen__item:hover {
    transform: translateY(-4px);
    border-bottom-color: var(--accent);
    box-shadow: 0 12px 32px rgba(0,15,108,.06);
}
.mt-voordelen__icon {
    width: 56px;
    height: 56px;
    background: var(--accent);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.25rem;
    clip-path: polygon(0 0, 100% 0, 100% 75%, 75% 100%, 0 100%);
}
.mt-voordelen__icon svg { width: 24px; height: 24px; color: var(--primary); }
.mt-voordelen__title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 1.15rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--primary);
    margin-bottom: .5rem;
}
.mt-voordelen__desc {
    font-size: .9rem;
    line-height: 1.6;
    color: var(--gray-600);
    font-weight: 300;
}

/* --------------------------------------------------------------------------
   Animations
   -------------------------------------------------------------------------- */
.mt-fade-in { opacity: 0; transform: translateY(20px); transition: all .6s var(--transition); }
.mt-fade-in.visible { opacity: 1; transform: translateY(0); }
.mt-fade-in-left { opacity: 0; transform: translateX(-16px); transition: all .6s var(--transition); }
.mt-fade-in-left.visible { opacity: 1; transform: translateX(0); }
.mt-fade-in-right { opacity: 0; transform: translateX(16px); transition: all .6s var(--transition); }
.mt-fade-in-right.visible { opacity: 1; transform: translateX(0); }

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .mt-hero__scroll svg { animation: none; }
    .mt-fade-in,
    .mt-fade-in-left,
    .mt-fade-in-right { opacity: 1; transform: none; transition: none; }
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
    .mt-mobile-toggle { display: block; }
    .mt-nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        height: calc(100vh - 80px);
        background: var(--primary);
        flex-direction: column;
        padding: 2rem;
        z-index: 999;
        overflow-y: auto;
    }
    .mt-nav.active { display: flex; }
    .mt-nav__list { flex-direction: column; align-items: stretch; width: 100%; }
    .mt-nav__item { width: 100%; }
    .mt-nav__link {
        padding: 1.25rem 0;
        font-size: 1.1rem;
        border-bottom: 1px solid rgba(255,255,255,.08);
        width: 100%;
        display: block;
    }
    .mt-nav__cta { margin-left: 0; margin-top: 1rem; }

    .mt-machines__grid,
    .mt-footer__grid { grid-template-columns: repeat(2, 1fr); }
    .mt-usp__grid { grid-template-columns: repeat(2, 1fr); }
    .mt-single-grid { grid-template-columns: 1fr; }
    .mt-onderdelen__form-grid { grid-template-columns: 1fr; }
    .mt-team__grid { grid-template-columns: repeat(2, 1fr); }
    .mt-voordelen__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    .mt-topbar { display: none; }
    .mt-hero__scroll { display: none; }
    .mt-header .mt-container { height: 70px; }
    .mt-nav { height: calc(100vh - 70px); }

    .mt-hero { min-height: 80vh; padding: 3.5rem 0 1.5rem; }
    .mt-hero__stats {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
        gap: 0 2rem;
        margin-top: 3rem;
    }
    .mt-hero__stat { padding: 1.25rem 0; border-right: none; }
    .mt-hero__stat:first-child { padding-left: 0; }

    .mt-about__img-accent {
        width: 130px;
        height: 130px;
        padding: 1rem;
        bottom: -1rem;
        right: 0;
    }
    .mt-about__img-accent-number { font-size: 2rem; }
    .mt-about__img-accent-text { font-size: .7rem; letter-spacing: 1px; }

    .mt-fade-in-left,
    .mt-fade-in-right { transform: translateY(16px); }

    .mt-services-strip__grid { grid-template-columns: repeat(2, 1fr); }

    .mt-about__grid,
    .mt-machines__grid,
    .mt-gallery__grid,
    .mt-usp__grid,
    .mt-contact__grid,
    .mt-merlo-partner .mt-container,
    .mt-onderdelen__grid,
    .mt-story__grid,
    .mt-team__grid,
    .mt-voordelen__grid,
    .mt-toepassing { grid-template-columns: 1fr; }
    .mt-toepassing--reverse .mt-toepassing__image { order: 0; }
    .mt-toepassing--reverse .mt-toepassing__content { order: 0; }
    .mt-toepassing { gap: 2rem; padding: 2rem 0; }
    .mt-toepassing__list { grid-template-columns: 1fr; }

    .mt-timeline::before { left: 7px; transform: none; }
    .mt-timeline__item,
    .mt-timeline__item:nth-child(even) {
        width: 100%;
        margin-left: 0;
        padding: 0 0 2.5rem 2.5rem;
    }
    .mt-timeline__item:last-child { padding-bottom: 0; }
    .mt-timeline__marker,
    .mt-timeline__item:nth-child(even) .mt-timeline__marker { right: auto; left: 0; }
    .mt-timeline__item:nth-child(odd) .mt-timeline__content { text-align: left; }

    .mt-about__grid { gap: 3rem; }
    .mt-gallery__header { flex-direction: column; align-items: flex-start; gap: 1rem; }
    .mt-cta-banner .mt-container { flex-direction: column; text-align: center; }
    .mt-footer__grid { grid-template-columns: 1fr; }
    .mt-footer__bottom { flex-direction: column; gap: 1rem; text-align: center; }
    .mt-form__row { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
    .mt-services-strip__grid { grid-template-columns: 1fr; }
    .mt-hero__buttons { flex-direction: column; }
    .mt-btn { justify-content: center; }
}

/* --------------------------------------------------------------------------
   Accessibility — keyboard focus
   -------------------------------------------------------------------------- */
:focus-visible {
    outline: 3px solid var(--accent);
    outline-offset: 2px;
}
.mt-btn:focus-visible,
.wpcf7-form input[type="submit"]:focus-visible {
    outline-offset: 3px;
}
.mt-nav__link:focus-visible {
    outline-offset: -3px;
}

/* --------------------------------------------------------------------------
   Dark Mode

   Note: --white and --dark are intentionally NOT redefined. Throughout the
   stylesheet they are used both as background colors AND as text colors on
   their inverse surface (e.g. var(--white) text on var(--primary) buttons).
   Flipping them globally breaks contrast in every such pairing. Instead,
   only the soft surface/gray tokens flip, and per-component overrides
   handle text colors that need to invert.
   -------------------------------------------------------------------------- */
@media (prefers-color-scheme: dark) {
    :root {
        --light: #0f0f23;
        --darker: #060610;
        --charcoal: #12121f;
        --gray-800: #d8d8e0;
        --gray-600: #b4b4c0;
        --gray-400: #9090a0;
        --gray-200: #2a2a3e;
    }

    body {
        background: #0f0f23;
        color: #e8e8f0;
    }

    /* Default text/link colors inside content surfaces */
    a { color: inherit; }

    /* Header stays dark in both modes */
    .mt-header { background: var(--primary); }
    .mt-topbar { background: #060610; border-bottom-color: rgba(255,255,255,.08); }

    /* --- Section / page surfaces --- */
    .mt-about,
    .mt-contact,
    .mt-gallery { background: #0f0f23; }
    .mt-services-strip { /* keep accent green */ }
    .mt-merlo-partner { background: #1a1a2e; }
    .mt-onderdelen__form-section { background: #1a1a2e; }

    /* --- Cards --- */
    .mt-contact__form,
    .mt-single-sidebar .mt-sidebar-card { background: #1a1a2e; }
    .mt-machine-card,
    .mt-machine-card-archive,
    .mt-usp-card,
    .mt-team-card { background: #1a1a2e; border-color: #2a2a4e; }
    .mt-machine-card:hover,
    .mt-machine-card-archive:hover,
    .mt-usp-card:hover,
    .mt-team-card:hover { box-shadow: 0 16px 48px rgba(0,0,0,.3); }

    /* --- Headings & titles that use var(--primary) on now-dark surfaces --- */
    .mt-section-title,
    .mt-machine-card__title,
    .mt-machine-card-archive__body h3,
    .mt-team-card__title,
    .mt-voordelen__title,
    .mt-toepassing__title,
    .mt-related h2,
    .mt-single-sidebar .mt-sidebar-card h3,
    .mt-page-content .entry-content h2,
    .mt-page-content .entry-content h3 { color: #e8e8f0; }

    /* Toepassingen page */
    .mt-toepassingen-intro,
    .mt-toepassingen { background: #0f0f23; }
    .mt-toepassing { border-bottom-color: #2a2a3e; }
    .mt-toepassing__list li { color: #e8e8f0; }
    .mt-contact__form-title { color: var(--accent); }
    .mt-form-success__title { color: #e8e8f0; }
    .mt-form-success__text { color: #b9b9cc; }

    /* Merlo tijdlijn */
    .mt-timeline__title { color: #e8e8f0; }
    .mt-timeline__year { color: var(--accent); }

    /* Voordelen section */
    .mt-voordelen { background: #0f0f23; }
    .mt-voordelen__item { background: #1a1a2e; }
    .mt-voordelen__item:hover { box-shadow: 0 12px 32px rgba(0,0,0,.3); }

    /* Price */
    .mt-prijs { color: var(--accent); }
    .mt-machine-card-archive__body .mt-prijs { border-top-color: #2a2a3e; }
    .mt-page-header .mt-prijs { background: var(--accent); color: var(--primary); }

    /* Card-link CTAs (machine cards) */
    .mt-machine-card__link { color: var(--accent); }
    .mt-machine-card__link:hover { color: #2fd47a; }
    .mt-machine-card-archive__body h3 a:hover { color: var(--accent); }

    /* Filter pills */
    .mt-filter-bar { border-bottom-color: #2a2a3e; }
    .mt-filter-bar a { background-color: #1a1a2e; color: #e8e8f0; }
    .mt-filter-bar a:hover,
    .mt-filter-bar a.active { background-color: var(--accent); color: var(--primary); }

    /* Spec table — header cell needs literal white text, not var(--white) */
    .mt-spec-table th { color: #fff; }
    .mt-spec-table td:first-child { color: #e8e8f0; }
    .mt-spec-table th,
    .mt-spec-table td { border-bottom-color: #2a2a3e; }
    .mt-spec-table tr:nth-child(even) { background-color: #1a1a2e; }

    /* Pagination */
    .mt-pagination a,
    .mt-pagination span { border-color: #2a2a3e; color: #e8e8f0; }

    /* Section labels & accent text — original variants are too dark on a dark surface */
    .mt-section-label { color: var(--accent); }
    .mt-machine-card__tag { color: var(--accent); background: rgba(19,166,80,.15); }
    .mt-prijs { color: var(--accent); }
    .mt-brochure-link { color: var(--accent); }
    .mt-brochure-link:hover { color: #2fd47a; }

    /* About feature list, machine specs, onderdelen list */
    .mt-about__feature { color: #e8e8f0; }
    .mt-machine-specs li strong { color: #e8e8f0; }
    .mt-onderdelen__lijst strong,
    .mt-onderdelen__stappen strong { color: #e8e8f0; }
    .mt-breadcrumb__item--active { color: #e8e8f0; }

    /* Merlo partner contact link */
    .mt-merlo-partner__contact a { color: var(--accent); }

    /* Form fields */
    .mt-form__input,
    .mt-form__textarea,
    .wpcf7-form input[type="text"],
    .wpcf7-form input[type="email"],
    .wpcf7-form input[type="tel"],
    .wpcf7-form input[type="url"],
    .wpcf7-form input[type="number"],
    .wpcf7-form select,
    .wpcf7-form textarea {
        background: #12121f;
        color: #e8e8f0;
        border-color: #2a2a3e;
    }
    .mt-form__input::placeholder,
    .mt-form__textarea::placeholder,
    .wpcf7-form input::placeholder,
    .wpcf7-form textarea::placeholder { color: #9090a0; }
    .wpcf7-response-output { border-color: #2a2a3e; color: #e8e8f0; }

    /* Search */
    .mt-search-form input[type="search"] {
        background: #12121f;
        color: #e8e8f0;
        border-color: #2a2a3e;
    }

    /* Slideshow nav dots */
    .mt-slideshow__nav button { border-color: #2a2a3e; }

    /* Footer keeps its dark background */
    .mt-footer { background: #060610; }
    .mt-footer__grid { border-bottom-color: rgba(255,255,255,.08); }

    /* Page header keeps primary blue */
    .mt-page-header { background: var(--primary); }

    /* Contact info values */
    .mt-contact__info-value,
    .mt-contact__info-value a { color: #e8e8f0; }
    .mt-contact__info-value a:hover { color: var(--accent); }

    /* Images on dark backgrounds — slight dimming, but logos stay crisp */
    img { opacity: .92; }
    .mt-logo img,
    .mt-footer__logo,
    .mt-footer__merlo-logo,
    .mt-machine-card__image img,
    .mt-machine-card-archive__image img,
    .mt-gallery-card img,
    .mt-hero__bg img { opacity: 1; }
    .mt-merlo-partner__logo img { filter: brightness(.9); }

    /* CTA banner */
    .mt-cta-banner { background: var(--primary); }

    /* Related items */
    .mt-related { border-top-color: #2a2a3e; }

    /* 404 */
    .mt-404 p { color: #b4b4c0; }
}
