:root{--forest:#13291f;--forest2:#1d3a2c;--moss:#537a45;--lime:#9ad13a;--sand:#f4f0e6;--stone:#d9d3c4;--gold:#d7a44a;--ink:#172019;--white:#fff;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--sand);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}.site-header{position:sticky;top:0;z-index:50;height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - var(--max))/2));background:rgba(19,41,31,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.1)}.brand img{width:245px;display:block}.nav{display:flex;align-items:center;gap:26px;color:#fff;font-size:14px;font-weight:700}.nav a{opacity:.86}.nav a:hover{opacity:1;color:var(--lime)}.nav-cta{background:var(--lime);color:var(--forest)!important;padding:13px 18px;border-radius:4px}.menu-btn{display:none}.hero{min-height:720px;background:var(--forest);color:#fff;display:grid;grid-template-columns:1.08fr .92fr;position:relative;overflow:hidden}.hero-content{padding:94px max(24px,calc((100vw - var(--max))/2)) 76px;padding-right:60px;position:relative;z-index:2}.eyebrow,.section-kicker{font-family:"Barlow Condensed",Arial,sans-serif;font-weight:800;letter-spacing:3px;font-size:14px}.eyebrow{color:var(--lime)}h1,h2,h3{font-family:"Barlow Condensed",Arial,sans-serif;margin:0;line-height:.93;text-transform:uppercase}h1{font-size:clamp(64px,7vw,108px);letter-spacing:-2px;max-width:760px}h1 span,h2 span{color:var(--lime)}.hero-copy{font-size:19px;max-width:630px;color:#dbe4dd;margin:28px 0 32px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 20px;font-weight:800;border-radius:4px;border:1px solid transparent;transition:.2s}.primary{background:var(--lime);color:var(--forest)}.primary:hover{transform:translateY(-2px);filter:brightness(1.05)}.ghost{border-color:#789084;color:#fff}.outline{border-color:var(--forest);color:var(--forest)}.hero-facts{display:grid;grid-template-columns:repeat(3,1fr);max-width:660px;margin-top:58px;border-top:1px solid #426050}.hero-facts div{padding:19px 12px 0 0}.hero-facts strong{display:block;font-family:"Barlow Condensed";text-transform:uppercase;font-size:22px}.hero-facts span{font-size:12px;color:#aebdb4}.hero-visual{position:relative;background:linear-gradient(145deg,#3f7046,#8db15a);clip-path:polygon(9% 0,100% 0,100% 100%,0 100%)}.hero-visual:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 65% 20%,rgba(255,255,255,.28),transparent 18%),linear-gradient(0deg,rgba(19,41,31,.28),transparent 42%)}.sun{position:absolute;width:130px;height:130px;border-radius:50%;background:var(--gold);right:14%;top:13%;opacity:.9}.ridge{position:absolute;bottom:-10%;left:-8%;right:-8%;height:54%;background:var(--forest2);clip-path:polygon(0 75%,18% 52%,31% 62%,45% 25%,60% 57%,74% 34%,100% 67%,100% 100%,0 100%)}.ridge-b{bottom:-1%;background:#244d36;opacity:.75;transform:translateX(12%);clip-path:polygon(0 70%,25% 45%,38% 67%,60% 38%,73% 61%,100% 44%,100% 100%,0 100%)}.runner{position:absolute;z-index:3;right:25%;top:41%;width:120px;height:120px;border:8px solid var(--sand);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:70px;font-weight:900;transform:rotate(-15deg);color:var(--sand)}.stamp{position:absolute;z-index:4;right:6%;bottom:6%;border:2px solid var(--sand);padding:12px 16px;font-family:"Barlow Condensed";font-size:16px;letter-spacing:3px;transform:rotate(-4deg);text-align:center}.hero-pattern{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:44px 44px}.ticker{overflow:hidden;background:var(--lime);color:var(--forest);font-family:"Barlow Condensed";font-size:24px;font-weight:900;letter-spacing:2px;padding:12px 0;white-space:nowrap}.ticker div{width:max-content;animation:slide 22s linear infinite}.ticker span{margin:0 20px}@keyframes slide{to{transform:translateX(-22%)}}.section{max-width:var(--max);margin:auto;padding:100px 24px}.section-kicker{color:var(--moss);margin-bottom:20px}.lime{color:var(--lime)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.intro h2,.section-head h2,.schedule h2,.contact h2{font-size:clamp(52px,6vw,82px)}.lead{font-size:21px;font-weight:600}.benefits{display:grid;grid-template-columns:repeat(3,1fr);margin-top:70px;border-top:1px solid #b9b1a2}.benefits article{padding:30px 26px 0 0}.benefits span{font-family:"Barlow Condensed";color:var(--moss);font-weight:800}.benefits h3{font-size:30px;margin:8px 0 12px}.dark{max-width:none;background:var(--forest);color:#fff;padding-left:max(24px,calc((100vw - var(--max))/2));padding-right:max(24px,calc((100vw - var(--max))/2))}.section-head{display:grid;grid-template-columns:1.1fr .7fr;gap:70px;align-items:end;margin-bottom:55px}.section-head h2{font-size:74px}.section-head>p{color:#bfcac3}.training-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.training-card{min-height:340px;background:#1c372a;border:1px solid #345242;padding:26px;display:flex;flex-direction:column;position:relative;transition:.2s}.training-card:hover{transform:translateY(-4px);border-color:var(--lime)}.training-card.featured{background:var(--lime);color:var(--forest)}.training-card .tag{font-size:11px;font-weight:800;letter-spacing:2px}.training-card .num{position:absolute;right:22px;top:19px;font-family:"Barlow Condensed";font-size:42px;font-weight:800;opacity:.25}.training-card h3{font-size:48px;margin-top:62px}.training-card p{font-size:14px;opacity:.8}.training-card a{font-weight:800;margin-top:auto;font-size:13px}.schedule{display:grid;grid-template-columns:1.25fr .75fr;gap:16px}.schedule-card{background:#fff;padding:56px}.schedule-card p{max-width:650px}.schedule-actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}.quote-card{background:var(--moss);color:#fff;padding:50px;display:flex;flex-direction:column;justify-content:center;min-height:420px}.quote-mark{font-family:Georgia;font-size:110px;color:var(--lime);height:90px}.quote-card p{font-family:"Barlow Condensed";font-size:41px;font-weight:700;line-height:1.05;text-transform:uppercase}.small{font-size:11px;letter-spacing:3px;font-weight:800}.trainers{padding-top:70px}.light-head>p{color:#56605a}.coach-panels{display:grid;grid-template-columns:1fr 1fr;min-height:400px}.coach-visual{background:var(--forest);color:#fff;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.big-letter{font-family:"Barlow Condensed";font-weight:900;font-size:300px;color:var(--lime);line-height:1}.coach-visual span{position:absolute;bottom:28px;left:30px;font-family:"Barlow Condensed";font-size:18px;letter-spacing:3px;font-weight:800}.coach-copy{background:#e2ddcf;padding:55px;display:flex;flex-direction:column;justify-content:center}.coach-copy h3{font-size:45px}.text-link{font-weight:800;margin-top:18px}.cta{background:var(--forest);color:#fff;padding:90px max(24px,calc((100vw - var(--max))/2));display:flex;align-items:end;justify-content:space-between;gap:50px}.cta h2{font-size:clamp(56px,7vw,90px)}.cta p{max-width:650px;color:#c1cec6}.lime-btn{background:var(--lime);color:var(--forest);white-space:nowrap}.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.contact p{max-width:470px}.socials{display:flex;gap:20px;margin-top:30px;font-weight:800}.contact-form{background:#fff;padding:38px;display:grid;gap:18px}.contact-form label{font-size:12px;font-weight:800;letter-spacing:.4px}.contact-form input,.contact-form textarea,.contact-form select{display:block;width:100%;margin-top:7px;padding:14px 12px;border:1px solid #cfc8b9;background:#faf8f2;font:inherit}.form-note{font-size:11px;color:#6e756f;margin:0!important}footer{background:#0d1e16;color:#fff;padding:44px max(24px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:35px}footer img{width:220px}footer div{display:flex;gap:20px;font-size:13px;font-weight:700}footer p{font-size:11px;color:#9bad9f}.menu-btn{background:none;color:#fff;border:0;font-size:28px}
@media(max-width:900px){.site-header{height:76px}.brand img{width:200px}.menu-btn{display:block}.nav{display:none;position:absolute;left:0;right:0;top:76px;background:var(--forest);padding:24px;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-content{padding:70px 24px}.hero-visual{min-height:350px;clip-path:none}.hero-facts{grid-template-columns:1fr 1fr 1fr}.intro-grid,.section-head,.schedule,.contact,.coach-panels{grid-template-columns:1fr}.training-grid{grid-template-columns:1fr 1fr}.section{padding:75px 24px}.dark{padding:75px 24px}.schedule-card,.quote-card,.coach-copy{padding:36px}.cta{align-items:flex-start;flex-direction:column;padding:75px 24px}footer{grid-template-columns:1fr}footer div{flex-wrap:wrap}}
@media(max-width:580px){h1{font-size:58px}.hero-facts{grid-template-columns:1fr}.training-grid,.benefits{grid-template-columns:1fr}.training-card{min-height:300px}.intro h2,.section-head h2,.schedule h2,.contact h2{font-size:50px}.section-head h2{font-size:54px}.quote-card p{font-size:34px}.hero-actions,.schedule-actions{flex-direction:column}.btn{width:100%}.cta .btn{width:auto}.coach-visual{min-height:320px}.big-letter{font-size:230px}}

/* Fit Totaal detailpagina */
.detail-hero{min-height:650px;background:var(--forest);color:#fff;position:relative;overflow:hidden;display:grid;grid-template-columns:1.15fr .85fr;align-items:center}.detail-pattern{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);background-size:44px 44px}.detail-hero-inner{position:relative;z-index:2;padding:92px 24px 82px max(24px,calc((100vw - var(--max))/2))}.detail-hero h1{font-size:clamp(74px,9vw,132px);margin:12px 0 24px}.detail-lead{font-size:20px;max-width:690px;color:#dbe4dd;margin-bottom:32px}.back-link{display:inline-block;color:#b9c9bd;font-size:13px;font-weight:800;margin-bottom:24px}.back-link:hover{color:var(--lime)}.detail-badge{justify-self:center;position:relative;z-index:2;width:310px;height:310px;border:2px solid rgba(255,255,255,.45);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-7deg);box-shadow:0 0 0 18px rgba(154,209,58,.12)}.detail-badge span{font-family:"Barlow Condensed";font-size:72px;font-weight:800;line-height:.75;color:var(--lime)}.detail-badge strong{font-family:"Barlow Condensed";font-size:44px;letter-spacing:6px}.fit-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:64px}.fit-pillars article{background:#fff;padding:34px;min-height:240px;border-top:5px solid var(--lime)}.fit-pillars article>span{width:48px;height:48px;border-radius:50%;background:var(--forest);color:var(--lime);display:flex;align-items:center;justify-content:center;font-family:"Barlow Condensed";font-weight:800;font-size:25px}.fit-pillars h3{font-size:34px;margin:22px 0 10px}.fit-band{background:var(--moss);color:#fff;padding:82px 24px}.fit-band-inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.fit-band h2{font-size:clamp(54px,6vw,78px)}.fit-band p{font-size:17px;color:#edf2ee}.fit-checks{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fit-checks div{background:#fff;padding:24px;display:flex;gap:16px;align-items:flex-start;font-weight:600}.fit-checks b{color:var(--moss);font-size:20px}.detail-cta-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.detail-cta-actions .ghost{min-width:180px}@media(max-width:900px){.detail-hero{grid-template-columns:1fr}.detail-hero-inner{padding:70px 24px 38px}.detail-badge{width:220px;height:220px;margin:10px auto 55px}.detail-badge span{font-size:54px}.detail-badge strong{font-size:30px}.fit-pillars,.fit-band-inner,.fit-checks{grid-template-columns:1fr}.fit-band-inner{gap:30px}.detail-cta-actions{justify-content:flex-start}}@media(max-width:580px){.detail-hero h1{font-size:72px}.fit-pillars article{min-height:auto}.detail-cta-actions{width:100%}.detail-cta-actions .btn{width:100%}}


/* Kinderfeestjes detail page */
.detail-hero,.detail-section,.cta-section{padding:clamp(3rem,7vw,6rem) 0}
.detail-hero{padding-top:clamp(7rem,12vw,10rem)}
.detail-hero h1{max-width:900px}
.detail-hero .lead{max-width:760px;font-size:1.2rem}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.feature-card{padding:1.75rem;border-radius:1rem;background:rgba(255,255,255,.08)}
.cta-section{text-align:center}
@media(max-width:800px){.feature-grid{grid-template-columns:1fr}}


/* Fitheidsmeting detail page */
.detail-hero,.detail-section,.cta-section{padding:clamp(3rem,7vw,6rem) 0}
.detail-hero{padding-top:clamp(7rem,12vw,10rem)}
.detail-hero h1{max-width:900px}
.detail-hero .lead{max-width:760px;font-size:1.2rem}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.feature-card{padding:1.75rem;border-radius:1rem;background:rgba(255,255,255,.08)}
.cta-section{text-align:center}
@media(max-width:800px){.feature-grid{grid-template-columns:1fr}}

/* Layout update */
.green-bar, .ticker, .marquee, .strip, .benefits-strip {
  text-align: center;
}
.green-bar > *, .ticker > *, .marquee > *, .strip > *, .benefits-strip > * {
  justify-content: center;
  text-align: center;
}

/* Groene balk: rechts uitgelijnd */
.green-bar, .ticker, .marquee, .strip, .benefits-strip {
  text-align: right !important;
}
.green-bar > *, .ticker > *, .marquee > *, .strip > *, .benefits-strip > * {
  justify-content: flex-end !important;
  text-align: right !important;
}

/* Herstelde groene balk */
.green-bar, .ticker, .marquee, .strip, .benefits-strip {
  display: flex !important;
  align-items: center !important;
  justify-content: space-around !important;
  gap: 1.5rem !important;
  text-align: center !important;
}
.green-bar span, .ticker span, .marquee span, .strip span, .benefits-strip span {
  white-space: nowrap;
}
@media (max-width: 760px) {
  .green-bar, .ticker, .marquee, .strip, .benefits-strip {
    flex-wrap: wrap !important;
    gap: .75rem 1.25rem !important;
  }
}

/* Compacte tekst groene balk */
.green-bar-text {
  word-spacing: 0.08em !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
}

/* Witte tekst in groene balk */
.green-bar-text {
  color: #fff !important;
}

/* Bewegende tekst groene balk:
   midden -> links -> midden -> rechts -> midden */
.green-bar, .ticker, .marquee, .strip, .benefits-strip {
  overflow: hidden !important;
}

.green-bar-text {
  display: block !important;
  width: max-content !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  color: #fff !important;
  animation: vhh-greenbar-sway 8s ease-in-out infinite !important;
  will-change: transform;
}

@keyframes vhh-greenbar-sway {
  0%   { transform: translateX(0); }
  25%  { transform: translateX(-12vw); }
  50%  { transform: translateX(0); }
  75%  { transform: translateX(12vw); }
  100% { transform: translateX(0); }
}

@media (max-width: 760px) {
  .green-bar-text {
    width: max-content !important;
    max-width: none !important;
    animation-duration: 9s !important;
  }
  @keyframes vhh-greenbar-sway {
    0%   { transform: translateX(0); }
    25%  { transform: translateX(-8vw); }
    50%  { transform: translateX(0); }
    75%  { transform: translateX(8vw); }
    100% { transform: translateX(0); }
  }
}

@media (prefers-reduced-motion: reduce) {
  .green-bar-text {
    animation: none !important;
    transform: none !important;
  }
}

/* Homepage bootcampfoto */
.hero-photo {
  overflow: hidden;
  padding: 0 !important;
}
.hero-photo img {
  width: 100%;
  height: 100%;
  min-height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

/* Roosterpagina */
.schedule-table-wrap {
  overflow-x: auto;
  margin-top: 2rem;
  border-radius: 1rem;
}
.schedule-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 760px;
}
.schedule-table th,
.schedule-table td {
  padding: 1rem;
  text-align: left;
  border-bottom: 1px solid rgba(255,255,255,.14);
}
.schedule-table th {
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}


/* Responsive fix tarieven.html en rooster.html */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

.container {
  width: min(100% - 32px, 1180px) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.detail-hero,
.detail-section,
.cta-section {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.detail-hero h1,
.detail-section h2,
.cta-section h2,
.detail-hero .lead,
.detail-section p,
.cta-section p,
.feature-card h3,
.feature-card p {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}

.feature-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  width: 100%;
}

.feature-card {
  min-width: 0;
  max-width: 100%;
}

/* Rooster op brede schermen */
.schedule-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.schedule-table {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: auto;
}

.schedule-table th,
.schedule-table td {
  overflow-wrap: anywhere;
  word-break: normal;
}

/* Tablet */
@media (max-width: 900px) {
  .feature-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  .detail-hero,
  .detail-section,
  .cta-section {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Mobiel */
@media (max-width: 700px) {
  .container {
    width: min(100% - 24px, 100%) !important;
  }

  .feature-grid {
    grid-template-columns: 1fr !important;
  }

  .detail-hero h1 {
    font-size: clamp(2.5rem, 14vw, 4rem) !important;
    line-height: .95 !important;
  }

  .detail-hero .lead {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100%;
  }

  .hero-actions .btn,
  .cta-section .btn {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center;
    white-space: normal !important;
  }

  /* Rooster als kaarten i.p.v. brede tabel */
  .schedule-table-wrap {
    overflow: visible !important;
  }

  .schedule-table,
  .schedule-table thead,
  .schedule-table tbody,
  .schedule-table tr,
  .schedule-table th,
  .schedule-table td {
    display: block;
    width: 100%;
  }

  .schedule-table {
    min-width: 0 !important;
  }

  .schedule-table thead {
    display: none;
  }

  .schedule-table tr {
    margin-bottom: 14px;
    padding: 14px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 14px;
  }

  .schedule-table td {
    padding: 6px 0 !important;
    border: 0 !important;
  }

  .schedule-table td:nth-child(1)::before { content: "Dag: "; font-weight: 700; }
  .schedule-table td:nth-child(2)::before { content: "Tijd: "; font-weight: 700; }
  .schedule-table td:nth-child(3)::before { content: "Locatie: "; font-weight: 700; }
  .schedule-table td:nth-child(4)::before { content: "Training: "; font-weight: 700; }
  .schedule-table td:nth-child(5)::before { content: "Trainer: "; font-weight: 700; }
}

/* Extra smal scherm */
@media (max-width: 420px) {
  .container {
    width: min(100% - 20px, 100%) !important;
  }

  .feature-card {
    padding: 1.25rem !important;
  }

  .detail-hero,
  .detail-section,
  .cta-section {
    padding-top: 2.75rem !important;
    padding-bottom: 2.75rem !important;
  }
}

/* Tarieven: gecentreerde intro en compactere sectiekoppen */
.tarieven-hero .container {
  text-align: center !important;
}
.tarieven-hero .lead {
  margin-left: auto !important;
  margin-right: auto !important;
}
.tarieven-hero .hero-actions {
  justify-content: center !important;
}
.tarieven-section-label {
  margin-top: 0 !important;
  margin-bottom: .35rem !important;
}
.tarieven-section-label + h2 {
  margin-top: 0 !important;
}

/* Tarieven hero: inhoud daadwerkelijk horizontaal centreren */
.tarieven-hero {
  text-align: center !important;
}
.tarieven-hero .container {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}
.tarieven-hero .eyebrow,
.tarieven-hero h1,
.tarieven-hero .lead {
  width: 100% !important;
  max-width: 850px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}
.tarieven-hero .hero-actions {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 1rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
@media (max-width: 700px) {
  .tarieven-hero .hero-actions {
    flex-direction: column !important;
  }
}

/* Nieuwe Tarieven- en Roosterpagina's: gecentreerde koppen */
.centered-page-hero,
.centered-page-hero .container {
  text-align: center !important;
}

.centered-page-hero .container {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.centered-page-hero .eyebrow,
.centered-page-hero h1,
.centered-page-hero .lead {
  width: 100% !important;
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

.centered-page-hero .hero-actions {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 1rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.centered-heading,
.centered-heading .eyebrow,
.centered-heading h2,
.centered-heading p {
  width: 100% !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.centered-heading h2 {
  max-width: 900px !important;
}

@media (max-width: 700px) {
  .centered-page-hero .hero-actions {
    flex-direction: column !important;
  }

  .centered-page-hero .hero-actions .btn {
    width: 100% !important;
    max-width: 420px !important;
  }
}

/* Consistente pagina-opmaak voor Rooster en Tarieven
   Overschrijft de tweekoloms detail-hero die voor trainingsdetailpagina's wordt gebruikt. */
.centered-page-hero {
  display: block !important;
  grid-template-columns: none !important;
  min-height: 0 !important;
  width: 100% !important;
}

.centered-page-hero > .container {
  width: min(100% - 32px, 1180px) !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.centered-page-hero .eyebrow,
.centered-page-hero h1,
.centered-page-hero .lead {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

.centered-page-hero .lead {
  max-width: 820px !important;
}

.centered-page-hero .hero-actions {
  justify-content: center !important;
}

/* Sectiekoppen op beide pagina's exact dezelfde centrering geven. */
.centered-heading {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  margin-bottom: 2.25rem !important;
  text-align: center !important;
}

.centered-heading .eyebrow {
  margin-top: 0 !important;
  margin-bottom: .45rem !important;
}

.centered-heading h2 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  text-align: center !important;
}

/* Losse begeleidende tekst onder een gecentreerde sectiekop ook rustig centreren. */
.detail-section .centered-heading + p {
  max-width: 860px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

@media (max-width: 700px) {
  .centered-page-hero > .container {
    width: min(100% - 24px, 100%) !important;
  }
}

/* Mobile optimalisatie bewegende groene kenmerkenbalk */
@media (max-width: 760px) {
  .ticker,
  .green-bar,
  .marquee,
  .strip,
  .benefits-strip {
    display: block !important;
    width: 100% !important;
    min-height: 44px;
    padding: 10px 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    flex-wrap: nowrap !important;
    text-align: left !important;
  }

  .ticker .green-bar-text,
  .green-bar .green-bar-text,
  .marquee .green-bar-text,
  .strip .green-bar-text,
  .benefits-strip .green-bar-text {
    display: inline-block !important;
    width: max-content !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: 100vw;
    white-space: nowrap !important;
    font-size: 16px !important;
    line-height: 24px !important;
    letter-spacing: .35px !important;
    word-spacing: .12em !important;
    animation: witteman-mobile-ticker 18s linear infinite !important;
    will-change: transform;
  }

  @keyframes witteman-mobile-ticker {
    from { transform: translateX(0); }
    to   { transform: translateX(-100%); }
  }
}

@media (max-width: 390px) {
  .ticker .green-bar-text,
  .green-bar .green-bar-text,
  .marquee .green-bar-text,
  .strip .green-bar-text,
  .benefits-strip .green-bar-text {
    font-size: 15px !important;
    animation-duration: 19s !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ticker .green-bar-text,
  .green-bar .green-bar-text,
  .marquee .green-bar-text,
  .strip .green-bar-text,
  .benefits-strip .green-bar-text {
    animation: none !important;
    transform: none !important;
    padding-left: 16px !important;
  }
}

/* Trainers page */
.trainers-hero{background:var(--forest);color:#fff;padding:110px 24px 90px;position:relative;overflow:hidden}.trainers-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 50%,rgba(163,209,69,.07) 50%);background-size:44px 44px}.trainers-hero-inner{max-width:var(--max);margin:auto;position:relative;z-index:1;text-align:center}.trainers-hero h1{max-width:none;font-size:clamp(68px,8vw,112px)}.trainers-hero p{max-width:760px;margin:26px auto 0;color:#d5dfd8;font-size:19px}.trainers-intro{padding-bottom:55px}.trainer-list{padding-top:25px;display:grid;gap:26px}.trainer-profile{display:grid;grid-template-columns:330px 1fr;min-height:430px;background:#fff;border:1px solid #d8d2c5}.trainer-profile.reverse{grid-template-columns:1fr 330px}.trainer-profile.reverse .trainer-badge{order:2}.trainer-profile.reverse .trainer-content{order:1}.trainer-badge{background:var(--forest);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}.trainer-badge:before,.trainer-badge:after{content:"";position:absolute;width:160px;height:230px;background:#214733;clip-path:polygon(50% 0,100% 100%,0 100%);bottom:-30px}.trainer-badge:before{left:-45px}.trainer-badge:after{right:-45px;transform:scale(.8)}.trainer-badge span{font-family:"Barlow Condensed";font-size:190px;font-weight:900;line-height:.85;color:var(--lime);position:relative;z-index:2}.trainer-badge small{color:#fff;font-family:"Barlow Condensed";font-weight:800;letter-spacing:4px;position:relative;z-index:2;margin-top:18px}.trainer-content{padding:50px 58px}.trainer-title{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:1px solid #d9d3c7;padding-bottom:24px;margin-bottom:26px}.trainer-title h2{font-size:clamp(42px,5vw,64px);margin-top:7px}.trainer-role{font-size:11px;font-weight:800;letter-spacing:2px;color:var(--moss)}.trainer-index{font-family:"Barlow Condensed";font-weight:800;font-size:50px;color:#d8d1c4}.trainer-lead{font-size:20px;font-weight:700;max-width:820px}.trainer-content>p:not(.trainer-lead){max-width:900px;color:#4d5751}.trainer-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px}.trainer-facts div{background:#f1eee5;padding:19px 21px}.trainer-facts strong{display:block;font-family:"Barlow Condensed";text-transform:uppercase;font-size:16px;letter-spacing:1px;color:var(--forest);margin-bottom:4px}.trainer-facts span{font-size:13px;color:#59625d}.trainer-cta{background:var(--forest);color:#fff;padding:85px max(24px,calc((100vw - var(--max))/2));display:flex;justify-content:space-between;align-items:end;gap:50px}.trainer-cta h2{font-size:clamp(52px,6vw,82px)}.trainer-cta p{max-width:680px;color:#c7d2cb}.trainer-cta h2 span{color:var(--lime)}
@media(max-width:820px){.trainers-hero{padding:72px 20px 62px}.trainers-hero p{font-size:17px}.trainer-profile,.trainer-profile.reverse{grid-template-columns:1fr}.trainer-profile.reverse .trainer-badge,.trainer-profile.reverse .trainer-content{order:initial}.trainer-badge{min-height:250px}.trainer-badge span{font-size:135px}.trainer-content{padding:34px 24px}.trainer-title{align-items:end}.trainer-index{font-size:38px}.trainer-facts{grid-template-columns:1fr}.trainer-cta{padding:64px 24px;display:block}.trainer-cta .btn{margin-top:28px}}
