/* VDC Safety Centre — reusable design layer */
:root {
  --vdc-red: #e21a22;
  --vdc-orange: #f18a00;
  --vdc-ink: #121417;
  --vdc-muted: #f5f7f8;
  --vdc-line: #dce1e5;
  --vdc-shadow: 0 16px 45px rgba(18, 20, 23, .10);
}

* { text-wrap: pretty; }
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
a { text-underline-offset: .18em; }
a:hover { text-decoration-thickness: 2px; }
.wp-element-button, .wp-block-button__link { transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.wp-element-button:hover, .wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 10px 20px rgba(226, 26, 34, .18); }
.wp-element-button:focus-visible, a:focus-visible, button:focus-visible { outline: 3px solid var(--vdc-orange); outline-offset: 3px; }

/* Header */
.vdc-site-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--vdc-line); backdrop-filter: blur(16px); }
.vdc-site-header .wp-block-site-logo img { max-height: 58px; width: auto; }
.vdc-site-header .wp-block-site-title { letter-spacing: -.03em; font-size: 1.08rem; line-height: 1.1; }
.vdc-site-header .wp-block-navigation-item__content { color: var(--vdc-ink); font-size: .92rem; font-weight: 720; text-decoration: none; }
.vdc-site-header .wp-block-navigation-item__content:hover { color: var(--vdc-red); }
.vdc-header-cta .wp-element-button { white-space: nowrap; }

/* Footer */
.vdc-site-footer { background: var(--vdc-ink); color: #fff; }
.vdc-site-footer a { color: #fff; text-decoration-color: rgba(255,255,255,.45); }
.vdc-site-footer a:hover { color: #fff; text-decoration-color: var(--vdc-orange); }
.vdc-footer-mark { width: 56px; height: 10px; border-radius: 99px; background: linear-gradient(90deg, var(--vdc-red) 0 48%, var(--vdc-orange) 52% 100%); }
.vdc-footer-meta { color: rgba(255,255,255,.68); font-size: .9rem; }

/* Reusable surfaces */
.vdc-section { padding-top: clamp(3.5rem, 6vw, 6.5rem); padding-bottom: clamp(3.5rem, 6vw, 6.5rem); }
.vdc-section--muted { background: var(--vdc-muted); }
.vdc-section--signal { background: linear-gradient(135deg, #fff0f0 0%, #fff8eb 100%); }
.vdc-eyebrow { align-items: center; color: var(--vdc-red); display: flex; font-size: .78rem; font-weight: 800; gap: .55rem; letter-spacing: .12em; text-transform: uppercase; }
.vdc-eyebrow::before { background: var(--vdc-orange); border-radius: 50%; content: ""; height: .58rem; width: .58rem; }
.vdc-section-heading { max-width: 760px; }
.vdc-section-heading > p { color: #53606b; font-size: clamp(1.05rem, 1rem + .4vw, 1.28rem); }
.vdc-kicker { color: #53606b; font-size: .95rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }

/* Homepage hero */
.vdc-hero { background: var(--vdc-ink); color: #fff; isolation: isolate; overflow: hidden; position: relative; }
.vdc-hero::before, .vdc-hero::after { border: 32px solid transparent; border-radius: 2.1rem; content: ""; height: clamp(10rem, 22vw, 18rem); position: absolute; transform: rotate(45deg); width: clamp(10rem, 22vw, 18rem); z-index: -1; }
.vdc-hero::before { border-color: rgba(226,26,34,.8); right: -5rem; top: -5rem; }
.vdc-hero::after { border-color: rgba(241,138,0,.75); bottom: -7rem; left: -8rem; }
.vdc-hero .wp-block-heading { font-size: clamp(2.7rem, 5.2vw, 5.4rem); line-height: 1.02; max-width: 12ch; }
.vdc-hero p { color: rgba(255,255,255,.84); font-size: clamp(1.05rem, 1rem + .5vw, 1.3rem); max-width: 55ch; }
.vdc-hero .vdc-eyebrow { color: #fff; }
.vdc-hero .vdc-eyebrow::before { background: var(--vdc-orange); }
.vdc-hero .is-style-outline .wp-element-button { border-color: rgba(255,255,255,.78); color: #fff; }
.vdc-hero .is-style-outline .wp-element-button:hover { background: #fff; border-color: #fff; color: var(--vdc-ink); }
.vdc-route-panel { background: rgba(255,255,255,.98); border-radius: 1.35rem; box-shadow: var(--vdc-shadow); color: var(--vdc-ink); padding: clamp(1.25rem, 2.7vw, 2rem); }
.vdc-route-panel p { color: #53606b; font-size: .95rem; }
.vdc-route-link { align-items: center; border-bottom: 1px solid var(--vdc-line); color: var(--vdc-ink) !important; display: flex; font-weight: 780; gap: .8rem; padding: 1rem 0; text-decoration: none; }
.vdc-route-link:last-child { border-bottom: 0; padding-bottom: 0; }
.vdc-route-link::after { color: var(--vdc-red); content: "→"; font-size: 1.25rem; margin-left: auto; transition: transform .18s ease; }
.vdc-route-link:hover::after { transform: translateX(5px); }
.vdc-route-link small { color: #53606b; display: block; font-size: .82rem; font-weight: 550; margin-top: .1rem; }

/* Cards */
.vdc-card-grid { display: grid; gap: 1.1rem; grid-template-columns: repeat(3, minmax(0,1fr)); }
.vdc-card { background: #fff; border: 1px solid var(--vdc-line); border-radius: 1.15rem; box-shadow: 0 1px 0 rgba(18,20,23,.02); display: flex; flex-direction: column; min-height: 100%; padding: clamp(1.35rem, 2vw, 1.9rem); transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease; }
.vdc-card:hover { border-color: rgba(226,26,34,.38); box-shadow: var(--vdc-shadow); transform: translateY(-4px); }
.vdc-card__icon { align-items: center; background: linear-gradient(135deg, #fff1f1, #fff8eb); border-radius: .9rem; color: var(--vdc-red); display: flex; font-size: 1.55rem; height: 3.3rem; justify-content: center; margin-bottom: 1.15rem; width: 3.3rem; }
.vdc-card h3 { font-size: clamp(1.22rem, 1.1rem + .3vw, 1.48rem); margin: 0 0 .55rem; }
.vdc-card p { color: #53606b; margin: 0 0 1.2rem; }
.vdc-card a { margin-top: auto; }
.vdc-card--red { background: var(--vdc-red); border-color: var(--vdc-red); color: #fff; }
.vdc-card--red p, .vdc-card--red a { color: #fff; }
.vdc-card--orange { background: var(--vdc-orange); border-color: var(--vdc-orange); color: var(--vdc-ink); }
.vdc-card--orange p, .vdc-card--orange a { color: var(--vdc-ink); }
.vdc-card--ink { background: var(--vdc-ink); border-color: var(--vdc-ink); color: #fff; }
.vdc-card--ink p, .vdc-card--ink a { color: #fff; }

/* Services, course and evidence content */
.vdc-service-card { border-left: 5px solid var(--vdc-red); }
.vdc-service-card:nth-child(2n) { border-left-color: var(--vdc-orange); }
.vdc-list-check { list-style: none; margin: 0; padding: 0; }
.vdc-list-check li { border-bottom: 1px solid var(--vdc-line); padding: .8rem 0 .8rem 1.7rem; position: relative; }
.vdc-list-check li::before { color: var(--vdc-red); content: "✓"; font-weight: 800; left: 0; position: absolute; }
.vdc-highlight { background: var(--vdc-ink); border-radius: 1.35rem; color: #fff; overflow: hidden; padding: clamp(1.55rem, 4vw, 3.3rem); position: relative; }
.vdc-highlight::after { background: linear-gradient(135deg, var(--vdc-red), var(--vdc-orange)); border-radius: 50%; content: ""; filter: blur(1px); height: 17rem; opacity: .92; position: absolute; right: -8rem; top: -8rem; width: 17rem; }
.vdc-highlight > * { position: relative; z-index: 1; }
.vdc-highlight p { color: rgba(255,255,255,.82); }
.vdc-highlight a { color: #fff; }
.vdc-info-strip { align-items: center; background: #fff; border: 1px solid var(--vdc-line); border-radius: 1rem; display: grid; gap: 1rem; grid-template-columns: repeat(3,1fr); padding: 1.2rem 1.4rem; }
.vdc-info-strip strong { display: block; font-size: 1.05rem; }
.vdc-info-strip span { color: #53606b; display: block; font-size: .9rem; }
.vdc-lower-cta { background: linear-gradient(135deg, #fff1f1 0%, #fff8eb 100%); border: 1px solid var(--vdc-line); border-radius: 1.35rem; padding: clamp(1.55rem, 4vw, 3rem); }
.vdc-lower-cta > * { max-width: 760px; }

/* Route- en Google Maps-blok */
.vdc-route-map { display: grid; gap: clamp(1.2rem, 3vw, 2rem); grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); margin: 2rem auto 0; max-width: 1200px; padding: 0 1.15rem; }
.vdc-route-map__panel { background: var(--vdc-ink); border-radius: 1.35rem; color: #fff; padding: clamp(1.5rem, 4vw, 3rem); }
.vdc-route-map__panel .vdc-eyebrow { color: #fff; }
.vdc-route-map__panel .vdc-eyebrow::before { background: var(--vdc-orange); }
.vdc-route-map__panel h2 { font-size: clamp(1.65rem, 1.35rem + 1vw, 2.45rem); line-height: 1.1; margin: .75rem 0; }
.vdc-route-map__panel > p { color: rgba(255,255,255,.82); }
.vdc-route-map__address { border-top: 1px solid rgba(255,255,255,.27); font-style: normal; line-height: 1.55; margin: 1.5rem 0; padding-top: 1.5rem; }
.vdc-route-map__actions .wp-element-button { background: #fff; color: var(--vdc-ink); text-decoration: none; }
.vdc-route-map__actions .wp-element-button:hover { background: var(--vdc-orange); }
.vdc-route-map__note { font-size: .9rem; margin-top: 1.35rem; }
.vdc-route-map__frame { border: 1px solid var(--vdc-line); border-radius: 1.35rem; box-shadow: var(--vdc-shadow); min-height: 24rem; overflow: hidden; }
.vdc-route-map__frame iframe { display: block; height: 100%; min-height: 24rem; width: 100%; }

/* SafeQuest Mixed Reality-training */
.vdc-safequest-intro { align-items: stretch; display: grid; gap: clamp(1.2rem, 3vw, 2.4rem); grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); margin: 2rem auto 0; max-width: 1200px; padding: 0 1.15rem; }
.vdc-safequest-intro__visual { align-items: center; background: radial-gradient(circle at 24% 22%, var(--vdc-orange) 0 7%, transparent 8%), linear-gradient(135deg, var(--vdc-ink), #2c1113); border-radius: 1.35rem; color: #fff; display: flex; font-size: clamp(3rem, 7vw, 5.6rem); font-weight: 800; gap: .32em; justify-content: center; min-height: 17rem; overflow: hidden; position: relative; }
.vdc-safequest-intro__visual::after { border: 22px solid rgba(226,26,34,.78); border-radius: 1.3rem; content: ""; height: 9rem; position: absolute; right: -3rem; top: -2.8rem; transform: rotate(45deg); width: 9rem; }
.vdc-safequest-intro__visual span:nth-child(1) { color: #fff; }
.vdc-safequest-intro__visual span:nth-child(2) { color: var(--vdc-orange); }
.vdc-safequest-intro__visual span:nth-child(3) { color: #f76b6f; }
.vdc-safequest-intro__copy { padding: clamp(.35rem, 1vw, 1rem) 0; }
.vdc-safequest-intro__copy h2 { font-size: clamp(1.7rem, 1.35rem + 1.1vw, 2.6rem); line-height: 1.1; }
.vdc-safequest-steps { counter-reset: step; display: grid; gap: 1rem; list-style: none; margin: 2rem auto 0; max-width: 1000px; padding: 0 1.15rem; }
.vdc-safequest-steps li { align-items: start; background: #fff; border: 1px solid var(--vdc-line); border-radius: 1rem; display: grid; gap: .3rem 1rem; grid-template-columns: 2.5rem minmax(0,1fr); padding: 1.2rem 1.3rem; }
.vdc-safequest-steps li::before { align-items: center; background: linear-gradient(135deg, var(--vdc-red), var(--vdc-orange)); border-radius: 50%; color: #fff; content: counter(step); counter-increment: step; display: flex; font-weight: 800; grid-row: span 2; height: 2.15rem; justify-content: center; width: 2.15rem; }
.vdc-safequest-steps li strong { color: var(--vdc-ink); }
.vdc-safequest-steps li span { color: #53606b; }
.vdc-safequest-video { background: var(--vdc-ink); border-radius: 1.35rem; box-shadow: var(--vdc-shadow); margin: 2rem auto 0; max-width: 1000px; overflow: hidden; }
.vdc-safequest-video video { display: block; height: auto; max-width: 100%; width: 100%; }
.vdc-safequest-video figcaption { color: rgba(255,255,255,.79); font-size: .88rem; padding: .85rem 1rem; }

/* Forms added by a selected form solution */
.vdc-form-shell { background: #fff; border: 1px solid var(--vdc-line); border-radius: 1.15rem; box-shadow: var(--vdc-shadow); padding: clamp(1.25rem,3vw,2.25rem); }
.vdc-form-shell label { font-weight: 750; }
.vdc-form-shell input, .vdc-form-shell textarea, .vdc-form-shell select { border: 1px solid #b9c2c9; border-radius: .55rem; font: inherit; max-width: 100%; padding: .75rem .85rem; width: 100%; }
.vdc-form-shell input:focus, .vdc-form-shell textarea:focus, .vdc-form-shell select:focus { border-color: var(--vdc-red); box-shadow: 0 0 0 3px rgba(226,26,34,.13); outline: 0; }

/* WordPress core blocks */
.wp-block-details { background: #fff; border: 1px solid var(--vdc-line); border-radius: .8rem; padding: .9rem 1rem; }
.wp-block-details + .wp-block-details { margin-top: .8rem; }
.wp-block-details summary { cursor: pointer; font-weight: 750; }
.wp-block-table table { border-collapse: collapse; width: 100%; }
.wp-block-table td, .wp-block-table th { border-color: var(--vdc-line); padding: .75rem; }

@media (max-width: 920px) {
  .vdc-card-grid { grid-template-columns: 1fr 1fr; }
  .vdc-route-map { grid-template-columns: 1fr; }
  .vdc-safequest-intro { grid-template-columns: 1fr; }
  .vdc-site-header .wp-block-columns { gap: .75rem; }
  .vdc-header-cta { display: none; }
}
@media (max-width: 640px) {
  .vdc-card-grid { grid-template-columns: 1fr; }
  .vdc-info-strip { grid-template-columns: 1fr; }
  .vdc-hero::before, .vdc-hero::after { border-width: 20px; }
  .vdc-site-header .wp-block-site-logo img { max-height: 46px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}


/* VDC landingspagina template */
.vdc-page-shell { overflow: hidden; }
.vdc-page-hero { background: var(--vdc-ink); color: #fff; isolation: isolate; overflow: hidden; position: relative; }
.vdc-page-hero::before, .vdc-page-hero::after { border: 26px solid transparent; border-radius: 2rem; content: ""; height: clamp(8rem, 18vw, 15rem); position: absolute; transform: rotate(45deg); width: clamp(8rem, 18vw, 15rem); z-index: -1; }
.vdc-page-hero::before { border-color: rgba(226,26,34,.8); right: -4.5rem; top: -4.5rem; }
.vdc-page-hero::after { border-color: rgba(241,138,0,.72); bottom: -7rem; left: -5rem; }
.vdc-page-hero .vdc-eyebrow { color: #fff; }
.vdc-page-hero .vdc-eyebrow::before { background: var(--vdc-orange); }
.vdc-page-hero .wp-block-post-title { line-height: 1.04; max-width: 14ch; }
.vdc-landing-content { padding-bottom: clamp(3.5rem, 6vw, 6.5rem); }
.vdc-landing-content > .vdc-section-heading,
.vdc-landing-content > .wp-block-html:not(.alignfull),
.vdc-landing-content > .wp-block-columns:not(.alignfull) { margin-left: auto; margin-right: auto; max-width: 1200px; padding-left: 1.15rem; padding-right: 1.15rem; }
.vdc-landing-content > .vdc-section-heading { margin-top: clamp(3.5rem, 6vw, 6.5rem); }
.vdc-landing-content > .wp-block-html:not(.alignfull) { margin-top: 2rem; }
.vdc-landing-content > .vdc-section { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); width: 100vw; }
@media (max-width: 640px) {
  .vdc-page-hero::before, .vdc-page-hero::after { border-width: 18px; }
}

/* VDC contact forms */
.vdc-contact-form { display: grid; gap: 1.1rem; margin-top: 1.35rem; }
.vdc-form-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vdc-form-field { display: grid; gap: .4rem; }
.vdc-form-field--textarea, .vdc-form-field--select { grid-column: 1 / -1; }
.vdc-form-field label { color: var(--vdc-ink); font-weight: 750; }
.vdc-form-field input, .vdc-form-field textarea, .vdc-form-field select { background: #fff; box-sizing: border-box; }
.vdc-form-field textarea { min-height: 9rem; resize: vertical; }
.vdc-form-field--consent { font-size: .94rem; grid-column: 1 / -1; }
.vdc-form-field--consent label { align-items: flex-start; display: grid; gap: .6rem; grid-template-columns: 1.05rem minmax(0, 1fr); line-height: 1.5; }
.vdc-form-field--consent input { accent-color: var(--vdc-red); margin-top: .25rem; width: 1.05rem; }
.vdc-form-field--consent span { min-width: 0; }
.vdc-form-required { color: #53606b; font-size: .88rem; margin: 0; }
.vdc-form-honeypot { height: 0; left: -9999px; overflow: hidden; position: absolute; width: 0; }
.vdc-form-notice { border-radius: .8rem; font-weight: 650; margin-bottom: 1.25rem; padding: 1rem 1.1rem; }
.vdc-form-notice--success { background: #edf9f0; border: 1px solid #9dd5a8; color: #145c28; }
.vdc-form-notice--error { background: #fff1f1; border: 1px solid #f0a6a6; color: #8c1717; }
@media (max-width: 640px) { .vdc-form-grid { grid-template-columns: 1fr; } }


/* Handmatig beheerde trainingsoverzichtskaarten */
.vdc-landing-content > .wp-block-shortcode { margin-left: auto; margin-right: auto; max-width: 1200px; padding-left: 1.15rem; padding-right: 1.15rem; }
.vdc-training-overview { margin-top: 2rem; }
.vdc-training-grid { display: grid; gap: 1.35rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vdc-training-card { background: #fff; border: 1px solid var(--vdc-line); border-left: 5px solid var(--vdc-red); border-radius: 1.2rem; box-shadow: 0 1px 0 rgba(18,20,23,.02); display: flex; flex-direction: column; min-width: 0; overflow: hidden; transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease; }
.vdc-training-card:nth-child(2n) { border-left-color: var(--vdc-orange); }
.vdc-training-card:hover { border-color: rgba(226,26,34,.38); box-shadow: var(--vdc-shadow); transform: translateY(-4px); }
.vdc-training-card__visual { background: linear-gradient(135deg, #fff1f1, #fff8eb); display: block; height: 12.5rem; overflow: hidden; text-decoration: none; }
.vdc-training-card__image { display: block; height: 100%; object-fit: cover; transition: transform .3s ease; width: 100%; }
.vdc-training-card:hover .vdc-training-card__image { transform: scale(1.035); }
.vdc-training-card__placeholder { align-items: center; color: var(--vdc-red); display: flex; font-size: 4rem; font-weight: 500; height: 100%; justify-content: center; }
.vdc-training-card__body { display: flex; flex: 1; flex-direction: column; padding: 1.35rem; }
.vdc-training-card__type { color: var(--vdc-red); font-size: .78rem; font-weight: 800; letter-spacing: .09em; margin: 0 0 .55rem; text-transform: uppercase; }
.vdc-training-card h2 { font-size: clamp(1.25rem, 1.1rem + .35vw, 1.55rem); line-height: 1.15; margin: 0; }
.vdc-training-card h2 a { color: var(--vdc-ink); text-decoration: none; }
.vdc-training-card h2 a:hover { color: var(--vdc-red); }
.vdc-training-card__summary { color: #53606b; margin: .8rem 0 1rem; }
.vdc-training-card__facts { border-top: 1px solid var(--vdc-line); display: grid; gap: .7rem; margin: auto 0 1.15rem; padding-top: 1rem; }
.vdc-training-card__facts div { display: grid; gap: .15rem; grid-template-columns: minmax(5.6rem, .8fr) minmax(0, 1.5fr); }
.vdc-training-card__facts dt { color: #53606b; font-size: .86rem; font-weight: 700; }
.vdc-training-card__facts dd { margin: 0; }
.vdc-training-card__cta { align-self: flex-start; text-decoration: none; }
.vdc-training-card__link { color: var(--vdc-red); font-weight: 780; margin-top: auto; }
.vdc-training-empty { background: var(--vdc-muted); border: 1px dashed #b9c2c9; border-radius: 1rem; color: #53606b; padding: 1.4rem; }
.vdc-training-empty p { margin-top: 0; }
.vdc-training-empty a { color: var(--vdc-red); font-weight: 780; }
@media (max-width: 920px) { .vdc-training-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .vdc-training-grid { grid-template-columns: 1fr; } .vdc-training-card__visual { height: 13.5rem; } }


/* Eén centraal, routebewust contactformulier */
.vdc-unified-contact { margin: clamp(2rem, 4vw, 3.25rem) auto 0; max-width: 1200px; padding: 0 1.15rem; }
.vdc-unified-contact__prompt { align-items: center; background: linear-gradient(104deg, var(--vdc-red), #f25811 48%, var(--vdc-orange)); border-radius: 1rem; box-shadow: 0 12px 28px rgba(226,26,34,.15); color: #fff; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: 1rem; overflow: hidden; padding: clamp(1rem, 2.3vw, 1.45rem) clamp(1.15rem, 3vw, 2.1rem); position: relative; }
.vdc-unified-contact__prompt::after { border: 2px solid rgba(255,255,255,.52); border-radius: 50%; content: ""; height: 8.5rem; position: absolute; right: 4rem; top: -5.5rem; transform: rotate(-25deg); width: 8.5rem; }
.vdc-unified-contact__eyebrow { font-size: clamp(1.3rem, 1.1rem + 1vw, 2.05rem); font-style: italic; font-weight: 800; letter-spacing: -.025em; margin: 0; position: relative; z-index: 1; }
.vdc-unified-contact__prompt > span { font-size: 2rem; position: relative; transform: rotate(-25deg); z-index: 1; }
.vdc-unified-contact__routes { display: grid; gap: .85rem; grid-template-columns: repeat(3, minmax(0,1fr)); margin-bottom: 1.15rem; }
.vdc-contact-route { align-items: center; background: #fff; border: 1px solid var(--vdc-line); border-radius: .85rem; color: var(--vdc-ink); display: grid; gap: .75rem; grid-template-columns: 2.5rem minmax(0,1fr) auto; min-height: 5.8rem; padding: .85rem .95rem; text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease; }
.vdc-contact-route:hover { border-color: rgba(226,26,34,.5); box-shadow: 0 10px 24px rgba(18,20,23,.08); color: var(--vdc-ink); transform: translateY(-2px); }
.vdc-contact-route.is-selected { background: linear-gradient(115deg, #fff4f4, #fffaf0); border: 2px solid var(--vdc-red); box-shadow: 0 8px 20px rgba(226,26,34,.11); padding: calc(.85rem - 1px) calc(.95rem - 1px); }
.vdc-contact-route__icon { align-items: center; background: linear-gradient(135deg, #fff1f1, #fff8eb); border-radius: .7rem; color: var(--vdc-red); display: flex; font-size: 1.55rem; height: 2.5rem; justify-content: center; width: 2.5rem; }
.vdc-contact-route strong, .vdc-contact-route small { display: block; }
.vdc-contact-route strong { font-size: .95rem; line-height: 1.18; }
.vdc-contact-route small { color: #65717a; font-size: .78rem; line-height: 1.28; margin-top: .22rem; }
.vdc-contact-route__arrow { color: var(--vdc-red); font-size: 1.3rem; font-weight: 800; }
.vdc-contact-route.is-selected .vdc-contact-route__arrow::before { align-items: center; background: var(--vdc-red); border-radius: 50%; color: #fff; content: "✓"; display: inline-flex; font-size: .7rem; height: 1.25rem; justify-content: center; margin-right: .35rem; vertical-align: .1rem; width: 1.25rem; }
.vdc-unified-contact__layout { align-items: start; display: grid; gap: 1.15rem; grid-template-columns: minmax(0,1fr) minmax(16rem,.32fr); }
.vdc-unified-contact__form-shell { background: #fff; border: 1px solid var(--vdc-line); border-radius: 1.15rem; box-shadow: var(--vdc-shadow); padding: clamp(1.15rem, 2.8vw, 2rem); }
.vdc-unified-contact__form { display: grid; gap: 1.2rem; }
.vdc-unified-contact__form-intro .vdc-eyebrow { margin: 0 0 .35rem; }
.vdc-unified-contact__form-intro h2 { font-size: clamp(1.55rem, 1.3rem + .8vw, 2.25rem); line-height: 1.08; margin: 0; }
.vdc-unified-contact__form-intro > p:last-child { color: #53606b; margin: .55rem 0 0; }
.vdc-unified-contact__route-fields, .vdc-unified-contact__common { border: 0; display: grid; gap: 1rem; margin: 0; min-width: 0; padding: 0; }
.vdc-unified-contact [data-vdc-route-section][hidden] { display: none !important; }
.vdc-unified-contact__common { border-top: 1px solid var(--vdc-line); padding-top: 1.25rem; }
.vdc-unified-contact__common legend, .vdc-unified-contact__choices legend { color: var(--vdc-ink); font-size: 1.05rem; font-weight: 800; margin-bottom: .85rem; padding: 0; }
.vdc-unified-contact__form-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0,1fr)); }
.vdc-unified-contact__form-grid--three { grid-template-columns: repeat(3, minmax(0,1fr)); }
.vdc-unified-contact__choices { background: #fffaf1; border: 1px solid #f1d7aa; border-radius: .85rem; margin: 0; padding: 1rem; }
.vdc-unified-contact__choices > div { display: flex; flex-wrap: wrap; gap: .55rem; }
.vdc-unified-contact__choices label { align-items: center; background: #fff; border: 1px solid #e4c787; border-radius: 99px; cursor: pointer; display: inline-flex; font-size: .9rem; gap: .45rem; padding: .48rem .7rem; }
.vdc-unified-contact__choices input { accent-color: var(--vdc-red); height: 1rem; margin: 0; width: 1rem; }
.vdc-unified-contact__submit { align-items: center; background: var(--vdc-red); border: 0; border-radius: 99px; display: inline-flex; font-size: 1rem; justify-content: center; min-height: 3.2rem; text-align: center; text-decoration: none; width: 100%; }
.vdc-unified-contact__submit span { font-size: 1.25rem; margin-left: .55rem; }
.vdc-unified-contact__sidebar { background: #fff7e9; border: 1px solid #f0d6ad; border-radius: 1.15rem; overflow: hidden; padding: clamp(1.15rem, 2.5vw, 1.75rem); position: relative; }
.vdc-unified-contact__sidebar::before { background: linear-gradient(135deg, var(--vdc-red), var(--vdc-orange)); border-radius: 50%; content: ""; height: 6.5rem; opacity: .13; position: absolute; right: -2rem; top: -2.3rem; width: 6.5rem; }
.vdc-unified-contact__sidebar > * { position: relative; z-index: 1; }
.vdc-unified-contact__sidebar h2 { font-size: 1.32rem; line-height: 1.12; margin: 0; }
.vdc-unified-contact__sidebar > p { color: #5c5141; font-size: .92rem; line-height: 1.45; }
.vdc-unified-contact__sidebar ul { display: grid; gap: 1rem; list-style: none; margin: 1.25rem 0 1.45rem; padding: 0; }
.vdc-unified-contact__sidebar li { align-items: flex-start; display: grid; gap: .7rem; grid-template-columns: 2rem minmax(0,1fr); }
.vdc-unified-contact__sidebar li > span { align-items: center; background: #fff; border-radius: 50%; color: var(--vdc-red); display: flex; font-size: 1rem; font-weight: 800; height: 2rem; justify-content: center; width: 2rem; }
.vdc-unified-contact__sidebar strong, .vdc-unified-contact__sidebar small { display: block; }
.vdc-unified-contact__sidebar strong { font-size: .92rem; }
.vdc-unified-contact__sidebar small { color: #685f53; font-size: .82rem; line-height: 1.38; margin-top: .12rem; }
.vdc-unified-contact__sidebar-mark { border-top: 1px solid rgba(18,20,23,.12); color: #bd5b05 !important; font-family: cursive; font-size: 1.15rem !important; font-weight: 700; margin-bottom: 0; padding-top: 1.1rem; }
@media (max-width: 920px) { .vdc-unified-contact__layout { grid-template-columns: 1fr; } .vdc-unified-contact__sidebar { display: grid; gap: 1rem; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); } .vdc-unified-contact__sidebar > p { margin: 0; } .vdc-unified-contact__sidebar ul { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0,1fr)); margin: 0; } .vdc-unified-contact__sidebar-mark { grid-column: 1 / -1; } }
@media (max-width: 700px) { .vdc-unified-contact__routes { grid-template-columns: 1fr; } .vdc-contact-route { min-height: 4.9rem; } .vdc-unified-contact__form-grid, .vdc-unified-contact__form-grid--three { grid-template-columns: 1fr; } .vdc-unified-contact__sidebar { display: block; } .vdc-unified-contact__sidebar ul { display: grid; grid-template-columns: 1fr; margin: 1.2rem 0; } }


/* VDC hoofdmenu, zakelijke megamenu en mobiele hamburger */
.vdc-header-row { gap: clamp(.65rem, 1.6vw, 1.4rem); position: relative; }
.vdc-header-brand { flex: 0 0 auto; }
.vdc-site-navigation { margin-left: auto; position: relative; }
.vdc-site-navigation__desktop { align-items: center; display: flex; gap: .1rem; }
.vdc-nav-group { position: relative; }
.vdc-nav-group > summary { align-items: center; border-radius: .5rem; color: var(--vdc-ink); cursor: pointer; display: flex; font-size: .91rem; font-weight: 760; gap: .38rem; list-style: none; padding: .62rem .58rem; white-space: nowrap; }
.vdc-nav-group > summary::-webkit-details-marker, .vdc-site-navigation__mobile > summary::-webkit-details-marker { display: none; }
.vdc-nav-group > summary::marker, .vdc-site-navigation__mobile > summary::marker { content: ""; }
.vdc-nav-group > summary:hover, .vdc-nav-group[open] > summary { background: #fff4f4; color: var(--vdc-red); }
.vdc-nav-group__chevron { font-size: 1rem; line-height: 1; transition: transform .18s ease; }
.vdc-nav-group[open] > summary .vdc-nav-group__chevron { transform: rotate(180deg); }
.vdc-nav-group__panel { background: #fff; border: 1px solid var(--vdc-line); border-radius: 1rem; box-shadow: var(--vdc-shadow); left: 0; min-width: 18rem; padding: 1.05rem; position: absolute; top: calc(100% + .55rem); z-index: 70; }
.vdc-nav-group__panel::before { border: .5rem solid transparent; border-bottom-color: var(--vdc-line); content: ""; left: 1.2rem; position: absolute; top: -1rem; }
.vdc-nav-group__panel > p { color: #53606b; font-size: .87rem; line-height: 1.42; margin: 0 0 .8rem; max-width: 25rem; }
.vdc-nav-group__panel ul { display: grid; gap: .12rem; list-style: none; margin: 0; padding: 0; }
.vdc-nav-group__panel a { border-radius: .5rem; color: var(--vdc-ink); display: block; font-size: .9rem; font-weight: 680; padding: .55rem .62rem; text-decoration: none; }
.vdc-nav-group__panel a:hover { background: #fff5f1; color: var(--vdc-red); }
.vdc-nav-group--business .vdc-nav-group__panel { left: 50%; min-width: min(49rem, calc(100vw - 2rem)); transform: translateX(-46%); width: 49rem; }
.vdc-nav-mega { display: grid; gap: 1.35rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vdc-nav-mega__column + .vdc-nav-mega__column { border-left: 1px solid var(--vdc-line); padding-left: 1.35rem; }
.vdc-nav-mega__column h2 { color: var(--vdc-red); font-size: .76rem; letter-spacing: .09em; margin: .15rem .55rem .45rem; text-transform: uppercase; }
.vdc-nav-mega__all { border-top: 1px solid var(--vdc-line); margin-top: 1rem; padding-top: .7rem; }
.vdc-nav-mega__all-link { color: var(--vdc-red) !important; font-weight: 800 !important; }
.vdc-site-navigation__contact { background: var(--vdc-red); border-radius: 99px; color: #fff !important; font-size: .9rem; font-weight: 800; margin-left: .35rem; padding: .68rem 1rem; text-decoration: none; white-space: nowrap; }
.vdc-site-navigation__contact:hover { background: #bf1118; color: #fff !important; text-decoration: none; }
.vdc-site-navigation__mobile { display: none; }
.vdc-language-switcher { align-items: center; display: inline-flex; font-size: .8rem; font-weight: 800; gap: .35rem; white-space: nowrap; }
.vdc-language-switcher a { color: #59636b; text-decoration: none; }
.vdc-language-switcher a[aria-current="page"] { color: var(--vdc-red); }

/* Footer met volledige maar rustige linkstructuur */
.vdc-footer-grid { display: grid; gap: 2rem; grid-template-columns: minmax(14rem, 1.45fr) repeat(4, minmax(9rem, 1fr)); }
.vdc-footer-grid h2, .vdc-footer-grid h3 { color: #fff; margin-top: 0; }
.vdc-footer-grid h2 { font-size: 1.35rem; line-height: 1.08; }
.vdc-footer-grid h3 { font-size: .82rem; letter-spacing: .09em; text-transform: uppercase; }
.vdc-footer-grid p { color: rgba(255,255,255,.75); line-height: 1.5; }
.vdc-footer-grid ul { display: grid; gap: .42rem; list-style: none; margin: 0; padding: 0; }
.vdc-footer-grid li { line-height: 1.3; }
.vdc-footer-grid li a { font-size: .88rem; }
.vdc-footer-intro { padding-right: 1rem; }
.vdc-footer-bottom { align-items: center; border-top: 1px solid rgba(255,255,255,.2); display: flex; gap: 1rem; justify-content: space-between; margin-top: 2.2rem; padding-top: 1.2rem; }
.vdc-footer-bottom p { margin: 0; }
.vdc-site-footer .vdc-language-switcher a { color: rgba(255,255,255,.72); }
.vdc-site-footer .vdc-language-switcher a[aria-current="page"] { color: var(--vdc-orange); }

@media (max-width: 1080px) {
  .vdc-site-navigation__desktop, .vdc-header-row > .vdc-language-switcher { display: none; }
  .vdc-site-navigation__mobile { display: block; position: relative; }
  .vdc-site-navigation__mobile > summary { align-items: center; background: var(--vdc-ink); border-radius: .62rem; color: #fff; cursor: pointer; display: flex; font-size: .87rem; font-weight: 800; gap: .6rem; list-style: none; padding: .7rem .8rem; }
  .vdc-site-navigation__hamburger { display: grid; gap: .19rem; width: 1.1rem; }
  .vdc-site-navigation__hamburger i { background: currentColor; display: block; height: .12rem; width: 100%; }
  .vdc-site-navigation__mobile-panel { background: #fff; border: 1px solid var(--vdc-line); border-radius: 1rem; box-shadow: var(--vdc-shadow); max-height: min(75vh, 42rem); overflow: auto; padding: .8rem; position: absolute; right: 0; top: calc(100% + .55rem); width: min(25rem, calc(100vw - 2rem)); z-index: 75; }
  .vdc-nav-group--mobile { border-bottom: 1px solid var(--vdc-line); position: static; }
  .vdc-nav-group--mobile > summary { justify-content: space-between; padding: .85rem .45rem; }
  .vdc-nav-group--mobile .vdc-nav-group__panel { border: 0; border-radius: 0; box-shadow: none; left: auto; min-width: 0; padding: 0 .35rem .9rem; position: static; transform: none; width: auto; }
  .vdc-nav-group--mobile .vdc-nav-group__panel::before { display: none; }
  .vdc-nav-group--mobile .vdc-nav-group__panel > p { margin-top: .1rem; }
  .vdc-nav-group--mobile .vdc-nav-mega { grid-template-columns: 1fr; }
  .vdc-nav-group--mobile .vdc-nav-mega__column + .vdc-nav-mega__column { border-left: 0; border-top: 1px solid var(--vdc-line); margin-top: .45rem; padding-left: 0; padding-top: .75rem; }
  .vdc-site-navigation__mobile .vdc-site-navigation__contact { display: block; margin: 1rem .2rem .75rem; text-align: center; }
  .vdc-site-navigation__mobile-language { border-top: 1px solid var(--vdc-line); margin: 0 .2rem; padding-top: .9rem; }
  .vdc-footer-grid { grid-template-columns: minmax(14rem, 1.4fr) repeat(2, minmax(9rem, 1fr)); }
  .vdc-footer-intro { grid-row: span 2; }
}
@media (max-width: 640px) {
  .vdc-header-brand .wp-block-site-title { display: none; }
  .vdc-site-navigation__mobile > summary { padding: .64rem .72rem; }
  .vdc-site-navigation__mobile-panel { right: -.15rem; }
  .vdc-footer-grid { grid-template-columns: 1fr 1fr; gap: 1.65rem 1.1rem; }
  .vdc-footer-intro { grid-column: 1 / -1; grid-row: auto; padding-right: 0; }
  .vdc-footer-bottom { align-items: flex-start; flex-direction: column; }
}

/* Veilige knoplayout voor Gutenberg- én Custom HTML-content.
 * WordPress laadt de block-layoutstijl niet altijd wanneer knopmarkup in een
 * Custom HTML-blok staat. Zonder deze basisregels blijven links inline en kan
 * hun verticale padding elkaar visueel overlappen. */
.wp-block-buttons { align-items: center; display: flex; flex-wrap: wrap; gap: .75rem; margin: 1.25rem 0; }
.wp-block-buttons > .wp-block-button { display: block; margin: 0 !important; }
.wp-block-buttons .wp-element-button,
.wp-block-buttons .wp-block-button__link { align-items: center; box-sizing: border-box; display: inline-flex; justify-content: center; min-height: 3.1rem; text-align: center; white-space: normal; }
.vdc-section-heading .is-style-outline .wp-element-button,
.vdc-section-heading .is-style-outline .wp-block-button__link,
.vdc-lower-cta .is-style-outline .wp-element-button,
.vdc-lower-cta .is-style-outline .wp-block-button__link { background: transparent; border: 1.5px solid var(--vdc-red); color: var(--vdc-red); }
.vdc-section-heading .is-style-outline .wp-element-button:hover,
.vdc-section-heading .is-style-outline .wp-block-button__link:hover,
.vdc-lower-cta .is-style-outline .wp-element-button:hover,
.vdc-lower-cta .is-style-outline .wp-block-button__link:hover { background: var(--vdc-red); color: #fff; }

@media (max-width: 1080px) {
  .vdc-site-navigation__mobile > summary > span:first-child { color: #fff !important; display: inline-block !important; line-height: 1; }
  .vdc-site-navigation__hamburger { color: #fff !important; }
  .vdc-site-navigation__hamburger i { background: #fff !important; }
}
@media (max-width: 640px) {
  .wp-block-buttons { align-items: stretch; flex-direction: column; gap: .65rem; }
  .wp-block-buttons > .wp-block-button,
  .wp-block-buttons .wp-element-button,
  .wp-block-buttons .wp-block-button__link { width: 100%; }
}


/* Dynamische trainingsagenda — chronologische weergave zonder verticale kaartstapel */
.vdc-training-agenda { margin-top: 2rem; }
.vdc-training-agenda__toolbar { align-items: center; display: grid; gap: 1.1rem; grid-template-columns: minmax(0, 1fr) auto; margin-bottom: 1.35rem; }
.vdc-training-agenda__filters { align-items: center; display: flex; flex-wrap: wrap; gap: .55rem; }
.vdc-training-agenda__filter,
.vdc-training-agenda__month-arrow,
.vdc-training-agenda__month-tab { appearance: none; background: #fff; border: 1px solid var(--vdc-line); color: var(--vdc-ink); cursor: pointer; font: inherit; font-weight: 750; }
.vdc-training-agenda__filter { border-radius: 99px; font-size: .9rem; min-height: 2.55rem; padding: .55rem .9rem; }
.vdc-training-agenda__filter:hover,
.vdc-training-agenda__filter.is-active { background: var(--vdc-red); border-color: var(--vdc-red); color: #fff; }
.vdc-training-agenda__month-nav { align-items: center; display: flex; gap: .45rem; max-width: 100%; }
.vdc-training-agenda__month-tabs { display: flex; gap: .45rem; max-width: min(31rem, 46vw); overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; }
.vdc-training-agenda__month-arrow { align-items: center; border-radius: .68rem; display: inline-flex; font-size: 1.25rem; height: 2.65rem; justify-content: center; line-height: 1; padding: 0; width: 2.65rem; }
.vdc-training-agenda__month-arrow:hover:not(:disabled) { border-color: var(--vdc-red); color: var(--vdc-red); }
.vdc-training-agenda__month-arrow:disabled { cursor: not-allowed; opacity: .38; }
.vdc-training-agenda__month-tab { border-radius: .68rem; flex: 0 0 auto; min-height: 2.65rem; padding: .55rem .9rem; }
.vdc-training-agenda__month-tab:hover,
.vdc-training-agenda__month-tab.is-active { background: #fff8eb; border-color: var(--vdc-orange); color: var(--vdc-ink); }
.vdc-training-agenda__month-title { font-size: clamp(1.4rem, 1.25rem + .5vw, 1.85rem); line-height: 1.1; margin: 0 0 .75rem; }
.vdc-training-agenda__list { background: #fff; border: 1px solid var(--vdc-line); border-radius: 1.15rem; overflow: hidden; }
.vdc-training-agenda__item { align-items: stretch; display: grid; gap: clamp(1rem, 2vw, 1.75rem); grid-template-columns: 7.1rem minmax(0, 1fr) minmax(10.5rem, .35fr); padding: 1.15rem clamp(1rem, 2.2vw, 1.65rem); position: relative; }
.vdc-training-agenda__item + .vdc-training-agenda__item { border-top: 1px solid var(--vdc-line); }
.vdc-training-agenda__date { align-items: center; background: linear-gradient(135deg, #fff1f1, #fff8eb); border-radius: .9rem; color: var(--vdc-ink); display: flex; flex-direction: column; justify-content: center; line-height: 1; min-height: 7.4rem; position: relative; text-align: center; }
.vdc-training-agenda__date::after { background: var(--vdc-orange); border-radius: 50%; content: ""; height: .65rem; position: absolute; right: -.36rem; top: calc(50% - .32rem); width: .65rem; }
.vdc-training-agenda__weekday { color: #65717a; font-size: .72rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.vdc-training-agenda__date strong { color: var(--vdc-red); font-size: clamp(2.2rem, 1.85rem + 1vw, 3rem); letter-spacing: -.06em; margin: .15rem 0 .07rem; }
.vdc-training-agenda__month-short { color: #65717a; font-size: .8rem; font-weight: 800; text-transform: uppercase; }
.vdc-training-agenda__content { align-self: center; min-width: 0; }
.vdc-training-agenda__type { align-items: center; color: #65717a; display: flex; font-size: .78rem; font-weight: 800; gap: .45rem; letter-spacing: .07em; margin: 0 0 .38rem; text-transform: uppercase; }
.vdc-training-agenda__type::before { background: var(--vdc-red); border-radius: 50%; content: ""; height: .5rem; width: .5rem; }
.vdc-training-agenda__content h3 { font-size: clamp(1.25rem, 1.12rem + .42vw, 1.62rem); line-height: 1.12; margin: 0; }
.vdc-training-agenda__summary { color: #53606b; line-height: 1.5; margin: .45rem 0 .8rem; max-width: 68ch; }
.vdc-training-agenda__facts { display: flex; flex-wrap: wrap; gap: .55rem 1rem; margin: 0; }
.vdc-training-agenda__facts div { align-items: baseline; display: flex; gap: .35rem; }
.vdc-training-agenda__facts dt { color: #65717a; font-size: .78rem; font-weight: 800; }
.vdc-training-agenda__facts dt::after { content: ":"; }
.vdc-training-agenda__facts dd { margin: 0; }
.vdc-training-agenda__actions { align-items: stretch; align-self: center; border-left: 1px solid var(--vdc-line); display: flex; flex-direction: column; gap: .7rem; justify-content: center; min-width: 0; padding-left: clamp(1rem, 2vw, 1.6rem); }
.vdc-training-agenda__availability { align-items: center; color: #176c36; display: flex; font-size: .88rem; font-weight: 760; gap: .42rem; margin: 0; }
.vdc-training-agenda__availability span[aria-hidden="true"] { color: #37aa61; font-size: .9rem; }
.vdc-training-agenda__availability.is-full { color: #a03b12; }
.vdc-training-agenda__availability.is-full span[aria-hidden="true"] { color: var(--vdc-orange); }
.vdc-training-agenda__booking,
.vdc-training-agenda__information { align-items: center; box-sizing: border-box; display: inline-flex; justify-content: center; min-height: 2.85rem; text-align: center; text-decoration: none; width: 100%; }
.vdc-training-agenda__booking { border-radius: 99px; }
.vdc-training-agenda__information { border: 1.5px solid var(--vdc-red); border-radius: 99px; color: var(--vdc-red); font-weight: 800; padding: .65rem .9rem; }
.vdc-training-agenda__information:hover { background: var(--vdc-red); color: #fff; text-decoration: none; }
.vdc-training-agenda__no-matches { background: #fff8eb; border: 1px solid #f1d7aa; border-radius: .8rem; color: #5c5141; margin: 1rem 0 0; padding: 1rem 1.1rem; }
@media (max-width: 980px) {
  .vdc-training-agenda__toolbar { grid-template-columns: 1fr; }
  .vdc-training-agenda__month-nav { justify-content: space-between; }
  .vdc-training-agenda__month-tabs { max-width: calc(100vw - 10.5rem); }
  .vdc-training-agenda__item { grid-template-columns: 6.2rem minmax(0, 1fr); }
  .vdc-training-agenda__actions { border-left: 0; border-top: 1px solid var(--vdc-line); flex-direction: row; grid-column: 1 / -1; padding: 1rem 0 0; }
  .vdc-training-agenda__availability { flex: 1 1 auto; }
  .vdc-training-agenda__booking,
  .vdc-training-agenda__information { flex: 0 1 14rem; }
}
@media (max-width: 640px) {
  .vdc-training-agenda__filters { flex-wrap: nowrap; margin-left: -1.15rem; margin-right: -1.15rem; overflow-x: auto; padding: 0 1.15rem .25rem; }
  .vdc-training-agenda__filter { flex: 0 0 auto; }
  .vdc-training-agenda__month-tabs { max-width: calc(100vw - 9.5rem); }
  .vdc-training-agenda__item { gap: .9rem; grid-template-columns: 4.4rem minmax(0, 1fr); padding: 1rem; }
  .vdc-training-agenda__date { min-height: 5.7rem; }
  .vdc-training-agenda__date strong { font-size: 2rem; }
  .vdc-training-agenda__date::after { right: -.3rem; }
  .vdc-training-agenda__summary { font-size: .94rem; }
  .vdc-training-agenda__facts { display: grid; gap: .35rem; grid-template-columns: 1fr; }
  .vdc-training-agenda__facts div { display: grid; gap: .1rem; grid-template-columns: 5.3rem minmax(0, 1fr); }
  .vdc-training-agenda__actions { align-items: stretch; flex-direction: column; gap: .65rem; }
  .vdc-training-agenda__availability { justify-content: center; }
  .vdc-training-agenda__booking,
  .vdc-training-agenda__information { flex: 1 1 auto; width: 100%; }
}


/* Interactieve VDC veiligheidsmissie */
.vdc-safety-mission { margin-top: 2rem; }
.vdc-safety-mission__panel { background: linear-gradient(135deg, #fff 0%, #fff 76%, #fff8eb 100%); border: 1px solid var(--vdc-line); border-radius: 1.35rem; box-shadow: 0 1rem 2.25rem rgba(17, 24, 29, .06); overflow: hidden; padding: clamp(1.4rem, 4vw, 3.5rem); position: relative; }
.vdc-safety-mission__panel::before { background: linear-gradient(90deg, var(--vdc-red), var(--vdc-orange)); content: ""; height: .35rem; left: 0; position: absolute; right: 0; top: 0; }
.vdc-safety-mission__panel[hidden] { display: none; }
.vdc-safety-mission__intro { max-width: 62rem; }
.vdc-safety-mission h2 { font-size: clamp(2rem, 1.5rem + 1.8vw, 3.25rem); letter-spacing: -.045em; line-height: 1.02; margin: .15rem 0 .9rem; max-width: 19ch; }
.vdc-safety-mission__lead { color: #51606b; font-size: clamp(1.05rem, 1rem + .35vw, 1.28rem); line-height: 1.55; margin: 0 0 1.4rem; max-width: 63ch; }
.vdc-safety-mission__disclaimer { background: #fff8eb; border-left: 4px solid var(--vdc-orange); color: #514a3d; font-size: .91rem; line-height: 1.5; margin: 0 0 1.5rem; max-width: 67ch; padding: .8rem 1rem; }
.vdc-safety-mission__route-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 1.4rem; max-width: 53rem; }
.vdc-safety-mission__route { align-items: flex-start; background: #fff; border: 1px solid var(--vdc-line); border-radius: 1rem; color: var(--vdc-ink); cursor: pointer; display: grid; font: inherit; gap: .8rem; grid-template-columns: 2.8rem 1fr; min-height: 7.5rem; padding: 1.2rem; text-align: left; }
.vdc-safety-mission__route:hover, .vdc-safety-mission__route:focus-visible { border-color: var(--vdc-red); box-shadow: 0 .7rem 1.2rem rgba(207, 22, 34, .1); transform: translateY(-2px); }
.vdc-safety-mission__route span { align-items: center; background: #fff1f1; border-radius: .75rem; color: var(--vdc-red); display: inline-flex; font-size: 1.35rem; height: 2.8rem; justify-content: center; width: 2.8rem; }
.vdc-safety-mission__route strong { align-self: center; font-size: 1.12rem; line-height: 1.2; }
.vdc-safety-mission__back, .vdc-safety-mission__retry { background: transparent; border: 0; color: var(--vdc-red); cursor: pointer; font: inherit; font-weight: 800; margin: 0 0 1rem; padding: 0; text-decoration: underline; text-underline-offset: .18em; }
.vdc-safety-mission__hint { color: #66737e; margin: -.35rem 0 1.35rem; }
.vdc-safety-mission__scenario-grid { display: grid; gap: .85rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vdc-safety-mission__scenario { background: #fff; border: 1px solid var(--vdc-line); border-radius: 1rem; color: var(--vdc-ink); cursor: pointer; display: flex; flex-direction: column; font: inherit; min-height: 12rem; padding: 1.1rem; position: relative; text-align: left; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.vdc-safety-mission__scenario:hover, .vdc-safety-mission__scenario:focus-visible { border-color: var(--vdc-orange); box-shadow: 0 .8rem 1.5rem rgba(237, 139, 0, .12); transform: translateY(-3px); }
.vdc-safety-mission__scenario-icon { align-items: center; background: linear-gradient(135deg, var(--vdc-red), var(--vdc-orange)); border-radius: .65rem; color: #fff; display: inline-flex; font-size: 1.3rem; font-weight: 800; height: 2.25rem; justify-content: center; margin-bottom: .85rem; width: 2.25rem; }
.vdc-safety-mission__scenario-category { color: var(--vdc-red); font-size: .71rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.vdc-safety-mission__scenario strong { font-size: 1.13rem; line-height: 1.17; margin-top: .34rem; }
.vdc-safety-mission__scenario-summary { color: #58656e; font-size: .9rem; line-height: 1.45; margin-top: .55rem; }
.vdc-safety-mission__progress { color: #6d767b; font-size: .84rem; font-weight: 800; letter-spacing: .06em; margin: 0 0 .65rem; text-transform: uppercase; }
.vdc-safety-mission__question-title { max-width: 28ch; }
.vdc-safety-mission__answers { border: 0; display: grid; gap: .75rem; margin: 1.4rem 0 .75rem; max-width: 55rem; padding: 0; }
.vdc-safety-mission__answer { align-items: start; background: #fff; border: 1px solid var(--vdc-line); border-radius: .85rem; color: var(--vdc-ink); cursor: pointer; display: grid; font: inherit; gap: .8rem; grid-template-columns: 1.1rem minmax(0, 1fr); line-height: 1.45; padding: .9rem 1rem; text-align: left; }
.vdc-safety-mission__answer input { accent-color: var(--vdc-red); height: 1.1rem; margin: .16rem 0 0; width: 1.1rem; }
.vdc-safety-mission__answer input:focus-visible { outline: 3px solid var(--vdc-orange); outline-offset: 3px; }
.vdc-safety-mission__answer:hover, .vdc-safety-mission__answer:focus-visible { border-color: var(--vdc-orange); }
.vdc-safety-mission__answer.is-selected { background: #fff8eb; border-color: var(--vdc-orange); }
.vdc-safety-mission__answer-helper { color: var(--vdc-red); font-size: .9rem; font-weight: 700; min-height: 1.35em; }
.vdc-safety-mission__continue { margin-top: .7rem; }
.vdc-safety-mission__feedback { background: #fff8eb; border: 1px solid #f2d39b; border-radius: 1rem; max-width: 58rem; padding: 1.25rem; }
.vdc-safety-mission__feedback.is-correct { background: #f1fbf5; border-color: #a6dfb7; }
.vdc-safety-mission__feedback h2 { font-size: clamp(1.55rem, 1.3rem + .65vw, 2.05rem); margin-bottom: .55rem; }
.vdc-safety-mission__feedback p:last-child { margin-bottom: 0; }
.vdc-safety-mission__correct-answer { border-top: 1px solid rgba(21, 70, 37, .2); margin-top: 1rem; padding-top: 1rem; }
.vdc-safety-mission__score { align-items: center; background: linear-gradient(135deg, var(--vdc-red), var(--vdc-orange)); border-radius: 50%; color: #fff; display: inline-flex; font-size: 1.35rem; font-weight: 850; height: 4.6rem; justify-content: center; letter-spacing: -.04em; margin: .2rem 0 1rem; width: 4.6rem; }
.vdc-safety-mission__result-copy { color: #53606a; font-size: 1.06rem; line-height: 1.55; max-width: 58ch; }
.vdc-safety-mission__emergency { background: #fff1f1; border-left: 4px solid var(--vdc-red); color: #6c2a2d; font-weight: 750; max-width: 58ch; padding: .72rem .9rem; }
.vdc-safety-mission__source-link, .vdc-safety-mission__text-link { color: var(--vdc-red); display: inline-block; font-weight: 800; margin-top: .25rem; text-decoration: underline; text-underline-offset: .18em; }
.vdc-safety-mission__recommendation { background: #161b20; border-radius: 1rem; color: #fff; margin-top: 1.6rem; max-width: 61rem; padding: clamp(1.25rem, 3vw, 2rem); }
.vdc-safety-mission__recommendation .vdc-eyebrow { color: #ffc45c; }
.vdc-safety-mission__recommendation h3 { font-size: clamp(1.35rem, 1.2rem + .55vw, 1.85rem); line-height: 1.1; margin: .25rem 0 .65rem; }
.vdc-safety-mission__recommendation > p:not(.vdc-eyebrow):not(.vdc-training-facts) { color: #d9e0e2; line-height: 1.5; max-width: 60ch; }
.vdc-safety-mission__training-facts { display: flex; flex-wrap: wrap; gap: .45rem .75rem; margin: .75rem 0 1.15rem; }
.vdc-safety-mission__training-facts span { border-right: 1px solid #59646c; color: #e5eaec; padding-right: .75rem; }
.vdc-safety-mission__training-facts span:last-child { border-right: 0; }
.vdc-safety-mission__recommendation .wp-element-button { margin-top: .3rem; }
.vdc-safety-mission__outline-link { border: 1px solid #ffc45c; border-radius: 99px; color: #fff; display: inline-flex; font-weight: 800; margin-top: .5rem; padding: .7rem 1rem; text-decoration: none; }
.vdc-safety-mission__outline-link:hover { background: #ffc45c; color: #161b20; }
.vdc-safety-mission__recommendation .vdc-safety-mission__text-link { color: #ffc45c; display: block; margin-top: 1rem; }
.vdc-safety-mission__loading { color: #53606a; font-style: italic; margin: 1.25rem 0 0; }
.vdc-safety-mission__noscript { background: #fff8eb; border: 1px solid #f2d39b; margin-top: 1rem; padding: 1rem; }
@media (max-width: 900px) { .vdc-safety-mission__scenario-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .vdc-safety-mission__panel { border-radius: 1rem; padding: 1.25rem; } .vdc-safety-mission__route-grid, .vdc-safety-mission__scenario-grid { grid-template-columns: 1fr; } .vdc-safety-mission__scenario { min-height: 0; } .vdc-safety-mission__answers { gap: .6rem; } .vdc-safety-mission__answer { gap: .65rem; padding: .85rem; } .vdc-safety-mission__training-facts { display: grid; gap: .45rem; } .vdc-safety-mission__training-facts span { border-right: 0; padding-right: 0; } }


/* VDC homepages NL + EN — quiet service-first composition */
.vdc-home-experience { background: #fff; color: var(--vdc-ink); overflow: hidden; }
.vdc-home-shell { margin: 0 auto; max-width: 1200px; padding-left: 1.15rem; padding-right: 1.15rem; }
.vdc-home-eyebrow { align-items: center; color: #667179; display: flex; font-size: .76rem; font-weight: 820; gap: .55rem; letter-spacing: .115em; margin: 0 0 1rem; text-transform: uppercase; }
.vdc-home-eyebrow::before { background: var(--vdc-orange); border-radius: 99px; content: ""; display: inline-block; height: .2rem; width: 1.5rem; }
.vdc-home-hero { background: linear-gradient(110deg, #f7f5f0 0%, #fff 58%, #f6eee9 100%); border-bottom: 1px solid var(--vdc-line); overflow: hidden; position: relative; }
.vdc-home-hero::after { background: linear-gradient(115deg, rgba(226,26,34,.07), rgba(241,138,0,.08)); content: ""; height: 130%; position: absolute; right: -12%; top: -15%; transform: rotate(17deg); width: 35%; }
.vdc-home-hero__layout { align-items: stretch; display: grid; gap: clamp(1.5rem, 4vw, 4.5rem); grid-template-columns: minmax(0, .95fr) minmax(20rem, 1.05fr); min-height: clamp(25rem, 39vw, 33rem); position: relative; z-index: 1; }
.vdc-home-hero__copy { align-self: center; padding-bottom: clamp(3rem, 6vw, 6rem); padding-top: clamp(3rem, 6vw, 6rem); }
.vdc-home-hero h1 { font-size: clamp(2.65rem, 4vw, 4.8rem); letter-spacing: -.058em; line-height: .98; margin: 0; max-width: 11ch; }
.vdc-home-hero__lead { color: #53606b; font-size: clamp(1.05rem, 1rem + .35vw, 1.25rem); line-height: 1.55; margin: 1.35rem 0 0; max-width: 56ch; }
.vdc-home-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .9rem 1.2rem; margin-top: 1.65rem; }
.vdc-home-actions .wp-element-button { border-radius: .72rem; min-height: 3.25rem; padding: .75rem 1.1rem; text-decoration: none; }
.vdc-home-actions .wp-element-button span { font-size: 1.22rem; margin-left: .5rem; }
.vdc-home-text-button { color: var(--vdc-ink); font-weight: 780; text-decoration: none; }
.vdc-home-text-button:hover { color: var(--vdc-red); }
.vdc-home-text-button span { color: var(--vdc-red); font-size: 1.2rem; margin-left: .3rem; }
.vdc-home-hero__visual { align-items: flex-end; background: linear-gradient(135deg, #1c242a 0%, #262f32 42%, #7a161c 43%, #e21a22 100%); color: #fff; display: flex; isolation: isolate; justify-content: flex-end; margin-right: max(-1.15rem, calc((1200px - 100vw) / 2)); min-height: 100%; overflow: hidden; padding: clamp(1.3rem, 3vw, 2.6rem); position: relative; }
.vdc-home-hero__visual::before { background: linear-gradient(90deg, rgba(0,0,0,.35), transparent); content: ""; inset: 0; position: absolute; z-index: -1; }
.vdc-home-hero__visual p { font-size: clamp(1rem, .9rem + .5vw, 1.35rem); font-weight: 750; line-height: 1.24; margin: 0; max-width: 10ch; position: relative; z-index: 2; }
.vdc-home-hero__stamp { font-size: clamp(1.35rem, 2.2vw, 2.75rem); font-weight: 850; left: clamp(1.25rem, 3vw, 3rem); letter-spacing: -.045em; line-height: .98; position: absolute; top: clamp(1.5rem, 4vw, 3.3rem); z-index: 2; }
.vdc-home-hero__cross { border: clamp(1.1rem, 2.1vw, 2rem) solid rgba(255,255,255,.9); border-radius: 2rem; height: clamp(7rem, 15vw, 14rem); position: absolute; transform: rotate(45deg); width: clamp(7rem, 15vw, 14rem); z-index: 1; }
.vdc-home-hero__cross--one { right: 12%; top: -10%; }
.vdc-home-hero__cross--two { border-color: rgba(241,138,0,.9); bottom: -18%; right: 40%; transform: rotate(20deg); }
.vdc-home-section { padding: clamp(2.7rem, 5vw, 4.6rem) 0; }
.vdc-home-section__heading h2, .vdc-home-services h2, .vdc-home-mission h2, .vdc-home-contact-strip h2 { font-size: clamp(1.75rem, 1.45rem + 1vw, 2.5rem); letter-spacing: -.04em; line-height: 1.08; margin: 0; }
.vdc-home-route-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0,1fr)); margin-top: 1.35rem; }
.vdc-home-route-card { align-items: center; background: #fff; border: 1px solid var(--vdc-line); border-radius: 1rem; color: var(--vdc-ink); display: grid; gap: .85rem; grid-template-columns: 3rem minmax(0,1fr) auto; min-height: 6.6rem; padding: 1rem 1.1rem; text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.vdc-home-route-card:hover { border-color: rgba(226,26,34,.5); box-shadow: 0 12px 28px rgba(18,20,23,.08); color: var(--vdc-ink); transform: translateY(-3px); }
.vdc-home-route-card__icon { align-items: center; background: linear-gradient(135deg, #fff1f1, #fff8eb); border-radius: .85rem; color: var(--vdc-red); display: flex; font-size: 1.6rem; height: 3rem; justify-content: center; width: 3rem; }
.vdc-home-route-card strong, .vdc-home-route-card small { display: block; }
.vdc-home-route-card strong { font-size: 1.04rem; }
.vdc-home-route-card small { color: #65717a; font-size: .85rem; line-height: 1.38; margin-top: .22rem; }
.vdc-home-route-card b { color: var(--vdc-red); font-size: 1.4rem; }
.vdc-home-services { background: linear-gradient(100deg, #fafafa, #f7f5f0); border-bottom: 1px solid #ebe8e2; border-top: 1px solid #ebe8e2; padding: clamp(2rem, 3.8vw, 3.25rem) 0; }
.vdc-home-services__heading { align-items: baseline; display: flex; gap: 1rem; justify-content: space-between; }
.vdc-home-services__heading a { color: var(--vdc-red); font-size: .9rem; font-weight: 800; white-space: nowrap; }
.vdc-home-service-row { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); margin-top: 1.55rem; }
.vdc-home-service-row > a { border-left: 1px solid var(--vdc-line); color: var(--vdc-ink); display: grid; gap: .24rem .65rem; grid-template-columns: 2.2rem minmax(0,1fr); padding: .1rem 1.1rem; text-decoration: none; }
.vdc-home-service-row > a:first-child { border-left: 0; padding-left: 0; }
.vdc-home-service-row > a > span { color: var(--vdc-red); font-size: 1.8rem; grid-row: span 2; }
.vdc-home-service-row > a:nth-child(2) > span, .vdc-home-service-row > a:nth-child(4) > span { color: var(--vdc-orange); }
.vdc-home-service-row strong { font-size: .96rem; }
.vdc-home-service-row small { color: #65717a; font-size: .82rem; line-height: 1.35; }
.vdc-home-mission { background: #f9f7f2; border-bottom: 1px solid #ebe5db; padding: clamp(3rem, 5vw, 5rem) 0; }
.vdc-home-mission__layout { align-items: center; display: grid; gap: clamp(1.35rem, 3vw, 3.5rem); grid-template-columns: minmax(0,.85fr) minmax(24rem,1.15fr); }
.vdc-home-mission__copy > p:not(.vdc-home-eyebrow):not(.vdc-home-motion-note) { color: #53606b; font-size: 1.05rem; line-height: 1.55; margin: 1rem 0 0; max-width: 48ch; }
.vdc-home-motion-note { color: #748087; font-size: .76rem; line-height: 1.35; margin: 1rem 0 0; max-width: 42ch; }
.vdc-home-mission__scenarios { display: grid; gap: .8rem; grid-template-columns: repeat(3, minmax(0,1fr)); }
.vdc-home-mission-card { align-items: center; background: rgba(255,255,255,.74); border: 1px solid #dbd8d0; border-radius: .85rem; color: var(--vdc-ink); display: grid; gap: .65rem; grid-template-columns: 2.2rem minmax(0,1fr) auto; min-height: 6.25rem; padding: .9rem; text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.vdc-home-mission-card:hover { border-color: var(--vdc-orange); box-shadow: 0 12px 24px rgba(18,20,23,.08); color: var(--vdc-ink); transform: translateY(-3px); }
.vdc-home-mission-card__icon { align-items: center; color: var(--vdc-red); display: flex; font-size: 1.75rem; justify-content: center; }
.vdc-home-mission-card:nth-child(2) .vdc-home-mission-card__icon { color: var(--vdc-orange); }
.vdc-home-mission-card strong { font-size: .92rem; line-height: 1.2; }
.vdc-home-mission-card > span:last-child { color: var(--vdc-red); font-size: 1.25rem; }
.vdc-home-contact-strip { background: var(--vdc-ink); color: #fff; padding: clamp(3rem, 5vw, 4.8rem) 0; }
.vdc-home-contact-strip__layout { align-items: center; display: flex; gap: 2rem; justify-content: space-between; }
.vdc-home-contact-strip .vdc-home-eyebrow { color: rgba(255,255,255,.75); }
.vdc-home-contact-strip h2 { max-width: 18ch; }
.vdc-home-contact-strip p:not(.vdc-home-eyebrow) { color: rgba(255,255,255,.76); line-height: 1.55; margin: 1rem 0 0; max-width: 58ch; }
.vdc-home-contact-strip .wp-element-button { background: #fff; border-radius: .72rem; color: var(--vdc-ink); flex: 0 0 auto; min-height: 3.25rem; text-decoration: none; }
.vdc-home-contact-strip .wp-element-button:hover { background: var(--vdc-orange); }

/* One-time homepage motion: softly reveal on scroll, then highlight cards in sequence. */
@media (prefers-reduced-motion: no-preference) {
  html.vdc-home-motion-ready [data-vdc-home-motion] [data-vdc-home-motion-target] { opacity: 0; transform: translateY(10px); }
  html.vdc-home-motion-ready [data-vdc-home-motion].is-visible [data-vdc-home-motion-target="intro"] { animation: vdc-home-reveal .55s cubic-bezier(.2,.8,.2,1) both; }
  html.vdc-home-motion-ready [data-vdc-home-motion].is-visible [data-vdc-home-motion-target="card"] { animation: vdc-home-reveal .45s cubic-bezier(.2,.8,.2,1) var(--vdc-motion-delay, 0ms) both, vdc-home-card-accent .8s ease calc(var(--vdc-motion-delay, 0ms) + 340ms) both; }
  html.vdc-home-motion-ready [data-vdc-home-motion].is-visible .vdc-home-motion__cta { animation: vdc-home-cta-pulse .6s ease 560ms 1 both; }
}
@keyframes vdc-home-reveal { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes vdc-home-card-accent { 0%,100% { box-shadow: none; } 45% { border-color: var(--vdc-orange); box-shadow: 0 0 0 5px rgba(241,138,0,.11), 0 12px 24px rgba(18,20,23,.07); } }
@keyframes vdc-home-cta-pulse { 0%,100% { box-shadow: 0 0 0 0 rgba(226,26,34,0); } 45% { box-shadow: 0 0 0 9px rgba(226,26,34,.12); } }

@media (max-width: 920px) {
  .vdc-home-hero__layout, .vdc-home-mission__layout { grid-template-columns: 1fr; }
  .vdc-home-hero__visual { margin-right: 0; min-height: 18rem; }
  .vdc-home-route-grid { grid-template-columns: 1fr; }
  .vdc-home-service-row { gap: .8rem 0; grid-template-columns: 1fr 1fr; }
  .vdc-home-service-row > a:nth-child(3) { border-left: 0; padding-left: 0; }
  .vdc-home-mission__scenarios { max-width: 50rem; }
}
@media (max-width: 640px) {
  .vdc-home-hero__copy { padding-bottom: 2.7rem; padding-top: 2.7rem; }
  .vdc-home-hero__visual { min-height: 15rem; }
  .vdc-home-hero h1 { font-size: clamp(2.45rem, 12vw, 3.2rem); }
  .vdc-home-actions { align-items: stretch; flex-direction: column; }
  .vdc-home-actions .wp-element-button { width: 100%; }
  .vdc-home-text-button { text-align: center; }
  .vdc-home-services__heading, .vdc-home-contact-strip__layout { align-items: flex-start; flex-direction: column; }
  .vdc-home-service-row, .vdc-home-mission__scenarios { grid-template-columns: 1fr; }
  .vdc-home-service-row > a { border-left: 0; border-top: 1px solid var(--vdc-line); padding: .9rem 0 0; }
  .vdc-home-service-row > a:first-child { border-top: 0; padding-top: 0; }
  .vdc-home-mission-card { min-height: 4.65rem; }
  .vdc-home-contact-strip .wp-element-button { width: 100%; }
}
