{"id":9310,"date":"2026-08-01T07:41:22","date_gmt":"2026-08-01T07:41:22","guid":{"rendered":"https:\/\/fastlanebilzen.be\/?page_id=9310"},"modified":"2026-08-01T09:10:21","modified_gmt":"2026-08-01T09:10:21","slug":"formules-v2","status":"publish","type":"page","link":"https:\/\/fastlanebilzen.be\/fr\/formules-v2\/","title":{"rendered":"Arrangementen V2"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"9310\" class=\"elementor elementor-9310\">\n\t\t\t\t<div data-custom-animations=\"true\" data-ca-options=\"{&quot;addChildTimelines&quot;:false,&quot;trigger&quot;:&quot;firstChild&quot;,&quot;animationTarget&quot;:&quot;:scope  &gt; .elementor-element:not(.lqd-exclude-parent-ca) &gt; .elementor-widget-container, :scope  &gt; .elementor-widget-hub_fancy_heading .lqd-split-lines .lqd-lines .split-inner, :scope  &gt; .elementor-widget-hub_fancy_heading .lqd-split-words .lqd-words .split-inner, :scope  &gt; .elementor-widget-hub_fancy_heading .lqd-split-chars .lqd-chars .split-inner, :scope  &gt; .elementor-widget-hub_fancy_heading .lqd-adv-txt-fig, :scope  &gt; .elementor-widget-ld_custom_menu .lqd-fancy-menu &gt; ul &gt; li, :scope .e-con:not([data-parallax]) .elementor-element &gt; .elementor-widget-container, :scope .e-con:not([data-parallax]) .elementor-widget-hub_fancy_heading .lqd-split-lines .lqd-lines .split-inner, :scope .e-con:not([data-parallax]) .elementor-widget-hub_fancy_heading .lqd-split-words .lqd-words .split-inner, :scope .e-con:not([data-parallax]) .elementor-widget-hub_fancy_heading .lqd-split-chars .lqd-chars .split-inner, :scope .e-con:not([data-parallax]) .elementor-widget-ld_custom_menu .lqd-fancy-menu &gt; ul &gt; li&quot;,&quot;ease&quot;:[&quot;power4.out&quot;],&quot;initValues&quot;:{&quot;transformOrigin&quot;:&quot;50% 50% 0px&quot;},&quot;animations&quot;:{&quot;transformOrigin&quot;:&quot;50% 50% 0px&quot;}}\" class=\"elementor-element elementor-element-98b9d4a animated-slow e-con-full e-flex elementor-invisible e-con e-parent\" data-id=\"98b9d4a\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeIn&quot;,&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9c12759 elementor-widget elementor-widget-html\" data-id=\"9c12759\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"nl\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>Fastlane \u2013 Kies je arrangement<\/title>\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Anton&family=Work+Sans:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap\" rel=\"stylesheet\">\n<style>\n  :root{\n    --ink:#14161c;\n    --asphalt:#1f2229;\n    --asphalt-line:#2c313b;\n    --chalk:#f5f3ee;\n    --chalk-dim:#c8c6c0;\n    --flag-red:#ff0000;\n    --flag-red-dim:#3a2320;\n    --lane-amber:#f2b33d;\n    --badge-gold:#ffc738;\n    --price-green:#3fae7f;\n    --track-green:#3fae7f;\n    --radius:14px;\n  }\n\n  *{box-sizing:border-box;}\n  html,body{margin:0;padding:0;}\n  body{\n    background:var(--ink) !important;\n    color:var(--chalk) !important;\n    font-family:'Work Sans', system-ui, sans-serif;\n    line-height:1.45;\n    -webkit-font-smoothing:antialiased;\n  }\n  .fl-wrap{\n    max-width:880px;\n    margin:0 auto;\n    padding:32px 20px 64px;\n    color:var(--chalk) !important;\n  }\n  .fl-wrap p, .fl-wrap span, .fl-wrap li, .fl-wrap div{\n    color:inherit;\n  }\n\n  \/* ---- Header: scoreboard marquee ---- *\/\n  .fl-header{\n    text-align:center;\n    margin-bottom:36px;\n    position:relative;\n  }\n  .fl-eyebrow{\n    font-family:'Space Mono', monospace;\n    font-size:12px;\n    letter-spacing:.28em;\n    text-transform:uppercase;\n    color:var(--lane-amber) !important;\n    margin:0 0 10px;\n  }\n  .fl-title{\n    font-family:'Anton', sans-serif;\n    font-weight:400;\n    font-size:clamp(32px,6vw,52px);\n    letter-spacing:.01em;\n    line-height:1.02;\n    margin:0;\n    text-transform:uppercase;\n    color:var(--chalk) !important;\n  }\n  .fl-title span{color:var(--flag-red) !important;}\n  .fl-sub{\n    color:var(--chalk-dim) !important;\n    font-size:15px;\n    max-width:520px;\n    margin:14px auto 0;\n  }\n\n  \/* ---- Step panel ---- *\/\n  .fl-step{\n    background:var(--asphalt) !important;\n    border:1px solid var(--asphalt-line);\n    border-radius:var(--radius) !important;\n    padding:28px 26px 30px;\n    margin-bottom:20px;\n  }\n  .fl-step-head{\n    display:flex;\n    align-items:baseline;\n    gap:10px;\n    margin-bottom:16px;\n  }\n  .fl-step-num{\n    font-family:'Anton', sans-serif;\n    font-size:22px;\n    color:var(--flag-red) !important;\n    min-width:28px;\n  }\n  .fl-step-label{\n    font-size:16px;\n    font-weight:600;\n    letter-spacing:.01em;\n    color:var(--chalk) !important;\n  }\n  .fl-step-hint{\n    font-size:13px;\n    color:var(--chalk-dim) !important;\n    margin:2px 0 0 38px;\n  }\n\n  .fl-options{\n    display:grid;\n    grid-template-columns:repeat(auto-fit,minmax(200px,1fr));\n    gap:14px;\n  }\n  .fl-opt{\n    appearance:none;\n    position:relative;\n    border:1.5px solid var(--asphalt-line);\n    background:#181a20 !important;\n    color:var(--chalk) !important;\n    border-radius:12px !important;\n    padding:22px 24px;\n    text-align:left;\n    cursor:pointer;\n    font-family:inherit;\n    transition:border-color .15s ease, background-color .15s ease, transform .1s ease;\n  }\n  .fl-opt:hover{border-color:var(--flag-red) !important;}\n  .fl-opt:focus-visible{outline:2px solid var(--lane-amber); outline-offset:2px;}\n  .fl-opt strong{\n    display:block;\n    font-size:16px;\n    line-height:1.35;\n    margin-bottom:8px;\n  }\n  .fl-opt small{\n    display:block;\n    font-size:13px;\n    line-height:1.5;\n    color:var(--chalk-dim) !important;\n  }\n  .fl-opt[aria-pressed=\"true\"]{\n    border-color:var(--flag-red) !important;\n    background:linear-gradient(180deg, rgba(228,64,44,.14), rgba(228,64,44,.05)) !important;\n  }\n  .fl-opt[aria-pressed=\"true\"] small{color:#e8c9c4 !important;}\n  .fl-opt-badge{\n    position:absolute;\n    top:-9px;\n    left:14px;\n    background:var(--badge-gold) !important;\n    color:var(--ink) !important;\n    font-family:'Space Mono',monospace;\n    font-size:9.5px;\n    letter-spacing:.1em;\n    text-transform:uppercase;\n    padding:2px 8px;\n    border-radius:20px;\n    font-weight:700;\n  }\n\n  \/* ---- Persons stepper ---- *\/\n  .fl-persons-row{\n    display:flex;\n    align-items:center;\n    gap:16px;\n    flex-wrap:wrap;\n  }\n  .fl-stepper{\n    display:flex;\n    align-items:stretch;\n    border:1.5px solid var(--asphalt-line);\n    border-radius:10px;\n    overflow:hidden;\n    background:#181a20 !important;\n  }\n  .fl-stepper button{\n    appearance:none;\n    border:none;\n    background:transparent !important;\n    color:var(--chalk) !important;\n    font-family:'Space Mono',monospace;\n    font-size:20px;\n    width:46px;\n    cursor:pointer;\n  }\n  .fl-stepper button:hover{background:var(--asphalt-line) !important;}\n  .fl-stepper button:focus-visible{outline:2px solid var(--lane-amber); outline-offset:-2px;}\n  .fl-stepper input{\n    width:64px;\n    text-align:center;\n    border:none;\n    border-left:1.5px solid var(--asphalt-line);\n    border-right:1.5px solid var(--asphalt-line);\n    background:transparent !important;\n    color:var(--chalk) !important;\n    font-family:'Space Mono',monospace;\n    font-size:18px;\n    -moz-appearance:textfield;\n  }\n  .fl-stepper input::-webkit-outer-spin-button,\n  .fl-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}\n  .fl-min-badge{\n    font-family:'Space Mono',monospace;\n    font-size:12px;\n    color:var(--chalk-dim) !important;\n    padding:6px 12px;\n    border:1px dashed var(--asphalt-line);\n    border-radius:20px;\n  }\n  .fl-min-badge.fl-warn{\n    color:var(--lane-amber) !important;\n    border-color:var(--lane-amber) !important;\n  }\n\n  \/* ---- Results ---- *\/\n  .fl-results-head{\n    display:flex;\n    align-items:center;\n    justify-content:space-between;\n    gap:12px;\n    margin:30px 0 14px;\n  }\n  .fl-results-title{\n    font-family:'Anton', sans-serif;\n    font-size:28px;\n    text-transform:uppercase;\n    margin:0;\n    color:var(--chalk) !important;\n  }\n  .fl-count-chip{\n    font-family:'Space Mono',monospace;\n    font-size:12px;\n    color:var(--ink) !important;\n    background:var(--lane-amber) !important;\n    padding:4px 10px;\n    border-radius:20px;\n    white-space:nowrap;\n  }\n\n  .fl-card{\n    background:var(--asphalt) !important;\n    border:1.5px solid var(--asphalt-line);\n    border-radius:var(--radius);\n    padding:20px 22px;\n    margin-bottom:14px;\n    position:relative;\n    display:grid;\n    grid-template-columns:1fr auto;\n    gap:16px 20px;\n    align-items:center;\n    transition:border-color .15s ease, box-shadow .15s ease;\n  }\n  .fl-card:hover{\n    border-color:var(--flag-red) !important;\n    box-shadow:0 0 0 1px rgba(255,0,0,.35) inset;\n  }\n  .fl-card.fl-populair{\n    border-width:2px;\n    border-color:var(--badge-gold) !important;\n    box-shadow:0 0 0 1px rgba(255,199,56,.45) inset, 0 0 18px rgba(255,199,56,.18);\n  }\n  .fl-card.fl-populair:hover{\n    border-color:var(--badge-gold) !important;\n    box-shadow:0 0 0 2px rgba(255,199,56,.6) inset, 0 0 28px rgba(255,199,56,.32);\n  }\n  .fl-badge-pop{\n    position:absolute;\n    top:-11px;\n    left:20px;\n    background:var(--badge-gold) !important;\n    color:var(--ink) !important;\n    font-family:'Space Mono',monospace;\n    font-size:10.5px;\n    letter-spacing:.12em;\n    text-transform:uppercase;\n    padding:3px 9px;\n    border-radius:20px;\n    font-weight:700;\n  }\n  .fl-card-name{\n    font-family:'Anton', sans-serif;\n    font-size:24px;\n    text-transform:uppercase;\n    margin:0 0 10px;\n    letter-spacing:.01em;\n    color:var(--chalk) !important;\n  }\n  .fl-card-includes{\n    list-style:none;\n    margin:0;\n    padding:0;\n    display:flex;\n    flex-wrap:wrap;\n    gap:7px 10px;\n    font-size:13px;\n    color:var(--chalk-dim) !important;\n  }\n  .fl-card-includes li::before{\n    content:\"\u2014 \";\n    color:var(--flag-red) !important;\n  }\n  .fl-card-price{\n    text-align:right;\n    min-width:150px;\n  }\n  .fl-price-pp{\n    font-family:'Space Mono',monospace;\n    font-size:13px;\n    color:var(--chalk-dim) !important;\n  }\n  .fl-price-total{\n    font-family:'Anton', sans-serif;\n    font-size:30px;\n    color:var(--badge-gold) !important;\n    line-height:1;\n    margin:4px 0 10px;\n  }\n  .fl-card-cta{\n    display:inline-block;\n    background:var(--flag-red) !important;\n    color:var(--chalk) !important;\n    text-decoration:none;\n    font-weight:600;\n    font-size:13.5px;\n    padding:10px 18px;\n    border-radius:8px;\n    transition:filter .15s ease;\n  }\n  .fl-card-cta:hover{filter:brightness(1.12);}\n  .fl-card-cta:focus-visible{outline:2px solid var(--lane-amber); outline-offset:2px;}\n\n  .fl-card-note{\n    grid-column:1 \/ -1;\n    font-size:12.5px;\n    color:var(--chalk-dim) !important;\n    border-top:1px dashed var(--asphalt-line);\n    padding-top:10px;\n    margin-top:2px;\n  }\n  .fl-card-note b{color:var(--lane-amber) !important; font-weight:600;}\n\n  .fl-empty{\n    background:var(--asphalt) !important;\n    border:1px dashed var(--asphalt-line);\n    border-radius:var(--radius);\n    padding:24px;\n    text-align:center;\n    color:var(--chalk-dim) !important;\n    font-size:14px;\n  }\n\n  .fl-footnote{\n    font-size:12.5px;\n    color:var(--chalk-dim) !important;\n    text-align:center;\n    margin-top:22px;\n  }\n\n  \/* ---- Progress trail ---- *\/\n  .fl-progress{\n    display:grid;\n    grid-template-columns:repeat(3,1fr);\n    gap:8px;\n    margin-bottom:22px;\n  }\n  .fl-progress-item{\n    text-align:left;\n    background:var(--asphalt) !important;\n    border:1.5px solid var(--asphalt-line);\n    border-radius:10px;\n    padding:9px 12px;\n  }\n  .fl-progress-num{\n    font-family:'Space Mono',monospace;\n    font-size:11px;\n    letter-spacing:.1em;\n    color:var(--flag-red) !important;\n    text-transform:uppercase;\n  }\n  .fl-progress-value{\n    display:block;\n    font-size:13px;\n    font-weight:600;\n    color:var(--chalk) !important;\n    margin-top:2px;\n    white-space:nowrap;\n    overflow:hidden;\n    text-overflow:ellipsis;\n  }\n  .fl-progress-item[data-active=\"true\"]{\n    border-color:var(--flag-red) !important;\n  }\n  .fl-progress-item[data-done=\"true\"]{opacity:.72;}\n\n  \/* ---- CTA \/ back link ---- *\/\n  .fl-cta-btn{\n    appearance:none;\n    border:none;\n    background:var(--flag-red) !important;\n    color:var(--chalk) !important;\n    font-family:inherit;\n    font-weight:700;\n    font-size:15px;\n    padding:13px 22px;\n    border-radius:10px;\n    cursor:pointer;\n    margin-top:18px;\n    width:100%;\n    transition:filter .15s ease;\n  }\n  .fl-cta-btn:hover{filter:brightness(1.1);}\n  .fl-cta-btn:focus-visible{outline:2px solid var(--lane-amber); outline-offset:2px;}\n  .fl-back-link{\n    appearance:none;\n    border:none;\n    background:transparent !important;\n    color:var(--chalk-dim) !important;\n    font-family:inherit;\n    font-size:13.5px;\n    cursor:pointer;\n    padding:0;\n    margin-bottom:16px;\n    text-decoration:underline;\n  }\n  .fl-back-link:hover{color:var(--chalk) !important;}\n\n  @media (max-width:560px){\n    .fl-progress{grid-template-columns:1fr;}\n  }\n\n  @media (max-width:520px){\n    .fl-card{grid-template-columns:1fr;}\n    .fl-card-price{text-align:left;}\n  }\n\n\n\n  @media (prefers-reduced-motion:reduce){\n    .fl-opt, .fl-card-cta{transition:none;}\n  }\n<\/style>\n<\/head>\n<body>\n\n<div class=\"fl-wrap\">\n\n  <header class=\"fl-header\">\n    <h1 class=\"fl-title\">STEL JE <span>ARRANGEMENT<\/span> SAMEN<\/h1>\n    <p class=\"fl-sub\">Duid aan wie er komt, wat jullie willen doen en met hoeveel je bent \u2014 je krijgt meteen te zien welke arrangementen passen, inclusief totaalprijs.<\/p>\n  <\/header>\n\n  <div class=\"fl-progress\" id=\"fl-progress\"><\/div>\n\n  <div id=\"fl-steps-wrap\">\n\n    <!-- Step 1 -->\n    <section class=\"fl-step\" data-step=\"1\">\n      <div class=\"fl-step-head\">\n        <span class=\"fl-step-num\">01<\/span>\n        <span class=\"fl-step-label\">Kies je arrangement<\/span>\n      <\/div>\n      <p class=\"fl-step-hint\" id=\"fl-hint-doelgroep\"><\/p>\n      <div class=\"fl-options\" id=\"fl-doelgroep\" role=\"group\" aria-label=\"Kies je arrangement\"><\/div>\n    <\/section>\n\n    <!-- Step 2 -->\n    <section class=\"fl-step\" data-step=\"2\">\n      <button type=\"button\" class=\"fl-back-link\" data-prev=\"1\">\u2190 Vorige stap<\/button>\n      <div class=\"fl-step-head\">\n        <span class=\"fl-step-num\">02<\/span>\n        <span class=\"fl-step-label\">Wat willen jullie doen?<\/span>\n      <\/div>\n      <div class=\"fl-options\" id=\"fl-activiteit\" role=\"group\" aria-label=\"Wat willen jullie doen?\"><\/div>\n    <\/section>\n\n    <!-- Step 3 -->\n    <section class=\"fl-step\" data-step=\"3\">\n      <button type=\"button\" class=\"fl-back-link\" data-prev=\"2\">\u2190 Vorige stap<\/button>\n      <div class=\"fl-step-head\">\n        <span class=\"fl-step-num\">03<\/span>\n        <span class=\"fl-step-label\">Met hoeveel personen?<\/span>\n      <\/div>\n      <div class=\"fl-persons-row\">\n        <div class=\"fl-stepper\">\n          <button type=\"button\" id=\"fl-min-btn\" aria-label=\"Aantal personen verminderen\">\u2212<\/button>\n          <input type=\"number\" id=\"fl-persons\" value=\"6\" min=\"1\" max=\"60\" inputmode=\"numeric\" aria-label=\"Aantal personen\">\n          <button type=\"button\" id=\"fl-plus-btn\" aria-label=\"Aantal personen vermeerderen\">+<\/button>\n        <\/div>\n        <span class=\"fl-min-badge\" id=\"fl-min-badge\"><\/span>\n      <\/div>\n      <button type=\"button\" class=\"fl-cta-btn\" id=\"fl-show-results-btn\">Bekijk arrangementen \u2192<\/button>\n    <\/section>\n\n  <\/div>\n\n  <!-- Results -->\n  <div id=\"fl-results-wrap\" style=\"display:none;\">\n    <button type=\"button\" class=\"fl-back-link\" data-prev=\"3\">\u2190 Pas je keuzes aan<\/button>\n    <div class=\"fl-results-head\">\n      <h2 class=\"fl-results-title\">Passende arrangementen<\/h2>\n      <span class=\"fl-count-chip\" id=\"fl-count-chip\">0 resultaten<\/span>\n    <\/div>\n    <div id=\"fl-results\"><\/div>\n  <\/div>\n\n  <p class=\"fl-footnote\">Prijzen en voorwaarden onder voorbehoud van wijziging door Fastlane. Arrangementen minstens 5 dagen op voorhand boeken. Bekijk steeds de <a href=\"https:\/\/fastlanebilzen.be\/arrangementen\/\" style=\"color:var(--chalk-dim)\">volledige, actuele voorwaarden<\/a>.<\/p>\n\n<\/div>\n\n<script>\n(function(){\n\n  \/\/ ---------------------------------------------------------------\n  \/\/ Data \u2014 overgenomen van fastlanebilzen.be\/arrangementen\/\n  \/\/ ---------------------------------------------------------------\n  const ARRANGEMENTEN = [\n    \/\/ --- Standaard \/ steengrill (min 6 pers) ---\n    { id:'apex', naam:'Fastlane Apex', groep:'standaard', activiteit:'karten', prijs:65, min:6,\n      includes:['1x 13 min karten','Steengrill met dessert','Race License + helmmuts'],\n      link:'https:\/\/fastlanebilzen.be\/arrangement-aanvragen?wpf7022_5=Fastlane%20Apex' },\n    { id:'nitro', naam:'Fastlane Nitro', groep:'standaard', activiteit:'karten', prijs:79, min:6, populair:true,\n      includes:['2x 13 min karten','Steengrill met dessert','Race License + helmmuts'],\n      link:'https:\/\/fastlanebilzen.be\/arrangement-aanvragen?wpf7022_5=Fastlane%20Nitro' },\n    { id:'burnout', naam:'Fastlane Burnout', groep:'standaard', activiteit:'karten', prijs:95, min:6,\n      includes:['3x 13 min karten','Steengrill met dessert','Race License + helmmuts'],\n      link:'https:\/\/fastlanebilzen.be\/arrangement-aanvragen?wpf7022_5=Fastlane%20Burnout' },\n    { id:'apex-combo', naam:'Fastlane Apex Combo', groep:'standaard', activiteit:'beide', prijs:70, min:6,\n      includes:['1x 13 min karten','55 min bowlen','Steengrill met dessert','Race License + helmmuts'],\n      link:'https:\/\/fastlanebilzen.be\/arrangement-aanvragen?wpf7022_5=Fastlane%20Apex%20Combo' },\n    { id:'nitro-combo', naam:'Fastlane Nitro Combo Deal', groep:'standaard', activiteit:'beide', prijs:84, min:6, populair:true,\n      includes:['2x 13 min karten','55 min bowlen','Steengrill met dessert','Race License + helmmuts'],\n      link:'https:\/\/fastlanebilzen.be\/arrangement-aanvragen?wpf7022_5=Fastlane%20Nitro%20Combo%20Deal' },\n    { id:'burnout-combo', naam:'Fastlane Burnout Combo', groep:'standaard', activiteit:'beide', prijs:100, min:6,\n      includes:['3x 13 min karten','55 min bowlen','Steengrill met dessert','Race License + helmmuts'],\n      link:'https:\/\/fastlanebilzen.be\/arrangement-aanvragen?wpf7022_5=Fastlane%20Burnout%20Combo' },\n    { id:'spare', naam:'Fastlane Spare', groep:'standaard', activiteit:'bowlen', prijs:45, min:6,\n      includes:['55 min bowlen','Steengrill met dessert'],\n      link:'https:\/\/fastlanebilzen.be\/arrangement-aanvragen?wpf7022_5=Fastlane%20Spare' },\n    { id:'strike', naam:'Fastlane Strike', groep:'standaard', activiteit:'bowlen', prijs:49, min:6,\n      includes:['110 min bowlen','Steengrill met dessert'],\n      note:'55 min extra bowlen mogelijk voor +\u20ac6 p.p.',\n      link:'https:\/\/fastlanebilzen.be\/arrangement-aanvragen?wpf7022_5=Fastlane%20Strike' },\n\n    \/\/ --- Vrijgezellen \/ pizza (min 6 pers) ---\n    { id:'bachelor-combo', naam:'Bachelor Combo Deal', groep:'vrijgezellen', activiteit:'beide', prijs:64, min:6, populair:true,\n      includes:['2x 13 min karten','55 min bowlen','Italiaanse pizza','Race License + helmmuts'],\n      note:'55 min extra bowlen mogelijk voor +\u20ac6 p.p.',\n      link:'https:\/\/fastlanebilzen.be\/arrangement-aanvragen?wpf7022_5=Bachelor%20Combo%20Deal' },\n    { id:'bachelor-bowling', naam:'Bachelor Bowling', groep:'vrijgezellen', activiteit:'bowlen', prijs:20, min:6,\n      includes:['55 min bowlen','Italiaanse pizza'],\n      note:'55 min extra bowlen mogelijk voor +\u20ac6 p.p.',\n      link:'https:\/\/fastlanebilzen.be\/arrangement-aanvragen?wpf7022_5=Bachelor%20Bowling' },\n    { id:'bachelor-karting', naam:'Bachelor Karting', groep:'vrijgezellen', activiteit:'karten', prijs:59, min:6,\n      includes:['2x 13 min karten','Italiaanse pizza','Race License + helmmuts'],\n      link:'https:\/\/fastlanebilzen.be\/arrangement-aanvragen?wpf7022_5=Bachelor%20Karting' },\n    { id:'bachelor-karting-xl', naam:'Bachelor Karting XL', groep:'vrijgezellen', activiteit:'karten', prijs:67, min:6,\n      includes:['3x 13 min karten','Italiaanse pizza','Race License + helmmuts'],\n      link:'https:\/\/fastlanebilzen.be\/arrangement-aanvragen?wpf7022_5=Bachelor%20Karting%20XL' },\n\n    \/\/ --- Kinderfeestje (min 4 pers, tot 16 jaar) ---\n    { id:'kids-combo', naam:'Happy Birthday Champ Combo Deal', groep:'kids', activiteit:'beide', prijs:39, min:4, populair:true,\n      includes:['2x 13 min karten','55 min bowlen','Frietjes met lange hamburger','Race License + helmmuts + medaille'],\n      note:'Kids-tarief o.b.v. kids karts. Vanaf 1m55 rijdt men in een adult kart: +\u20ac4 p.p. per sessie.',\n      link:'https:\/\/fastlanebilzen.be\/arrangement-aanvragen?wpf7022_5=Happy%20Bday%20Champ%20Combo%20Deal' },\n    { id:'kids-bowling', naam:'Happy Birthday Champ Bowling', groep:'kids', activiteit:'bowlen', prijs:12, min:4,\n      includes:['55 min bowlen','Frietjes met lange hamburger'],\n      note:'55 min extra bowlen mogelijk voor +\u20ac6 p.p.',\n      link:'https:\/\/fastlanebilzen.be\/arrangement-aanvragen?wpf7022_5=Happy%20Bday%20Champ%20Bowling' },\n    { id:'kids-karting', naam:'Happy Birthday Champ Karting', groep:'kids', activiteit:'karten', prijs:25, min:4,\n      includes:['1x 13 min karten','Frietjes met lange hamburger','Race License + helmmuts + medaille'],\n      note:'Kids-tarief o.b.v. kids karts. Vanaf 1m55 rijdt men in een adult kart: +\u20ac4 p.p. per sessie.',\n      link:'https:\/\/fastlanebilzen.be\/arrangement-aanvragen?wpf7022_5=Happy%20Bday%20Champ%20Karting' },\n    { id:'kids-karting-xl', naam:'Happy Birthday Champ Karting XL', groep:'kids', activiteit:'karten', prijs:35, min:4,\n      includes:['2x 13 min karten','Frietjes met lange hamburger','Race License + helmmuts + medaille'],\n      note:'Kids-tarief o.b.v. kids karts. Vanaf 1m55 rijdt men in een adult kart: +\u20ac4 p.p. per sessie.',\n      link:'https:\/\/fastlanebilzen.be\/arrangement-aanvragen?wpf7022_5=Happy%20Bday%20Champ%20Karting%20XL' },\n  ];\n\n  const DOELGROEPEN = [\n    { id:'standaard', label:'Arrangementen met steengrill', sub:'Karten\/bowlen + steengrill', min:6 },\n    { id:'vrijgezellen', label:'Arrangementen met Italiaanse Pizza', sub:'Karten\/bowlen + Italiaanse pizza', min:6 },\n    { id:'kids', label:'Kinderfeestje', sub:'Tot 16 jaar + frietjes & hamburger', min:4 },\n  ];\n\n  const ACTIVITEITEN = [\n    { id:'beide', label:'Karten + bowlen', sub:'Complete combo', badge:'Meest populair' },\n    { id:'karten', label:'Alleen karten', sub:'1 tot 3 sessies van 13 min' },\n    { id:'bowlen', label:'Alleen bowlen', sub:'55 of 110 min' },\n  ];\n\n  \/\/ ---------------------------------------------------------------\n  \/\/ State\n  \/\/ ---------------------------------------------------------------\n  const state = {\n    groep: 'standaard',\n    activiteit: 'beide',\n    personen: 6,\n    currentStep: 1,\n    touched: { groep:false, activiteit:false },\n  };\n\n  const euro = n => '\u20ac' + n.toString().replace('.', ',');\n\n  \/\/ ---------------------------------------------------------------\n  \/\/ Render: option groups\n  \/\/ ---------------------------------------------------------------\n  function renderOptionGroup(container, items, stateKey, nextStep){\n    container.innerHTML = '';\n    items.forEach(item => {\n      const btn = document.createElement('button');\n      btn.type = 'button';\n      btn.className = 'fl-opt';\n      const isSelected = state.touched[stateKey] && state[stateKey] === item.id;\n      btn.setAttribute('aria-pressed', isSelected);\n      btn.innerHTML = `${item.badge ? `<span class=\"fl-opt-badge\">${item.badge}<\/span>` : ''}<strong>${item.label}<\/strong><small>${item.sub}<\/small>`;\n      btn.addEventListener('click', () => {\n        state[stateKey] = item.id;\n        state.touched[stateKey] = true;\n        if (nextStep) state.currentStep = nextStep;\n        renderAll();\n      });\n      container.appendChild(btn);\n    });\n  }\n\n  function renderProgress(){\n    const wrap = document.getElementById('fl-progress');\n    const doelgroep = DOELGROEPEN.find(d => d.id === state.groep);\n    const activiteit = ACTIVITEITEN.find(a => a.id === state.activiteit);\n    const items = [\n      { step:1, label:'Arrangement', value:doelgroep.label },\n      { step:2, label:'Activiteit', value:activiteit.label },\n      { step:3, label:'Personen', value:state.personen + ' pers.' },\n    ];\n    wrap.innerHTML = '';\n    items.forEach(it => {\n      const div = document.createElement('div');\n      div.className = 'fl-progress-item';\n      const isActive = state.currentStep === it.step;\n      const isDone = state.currentStep === 'results' || state.currentStep > it.step;\n      div.setAttribute('data-active', isActive);\n      div.setAttribute('data-done', isDone && !isActive);\n      div.innerHTML = `<span class=\"fl-progress-num\">Stap ${it.step} \u00b7 ${it.label}<\/span><span class=\"fl-progress-value\">${it.value}<\/span>`;\n      wrap.appendChild(div);\n    });\n  }\n\n  function renderStepVisibility(){\n    const stepsWrap = document.getElementById('fl-steps-wrap');\n    const resultsWrap = document.getElementById('fl-results-wrap');\n    const onResults = state.currentStep === 'results';\n\n    stepsWrap.style.display = onResults ? 'none' : '';\n    resultsWrap.style.display = onResults ? '' : 'none';\n\n    document.querySelectorAll('.fl-step').forEach(el => {\n      el.style.display = (!onResults && parseInt(el.dataset.step, 10) === state.currentStep) ? '' : 'none';\n    });\n  }\n\n  function renderPersonsUI(){\n    const input = document.getElementById('fl-persons');\n    input.value = state.personen;\n    const doelgroep = DOELGROEPEN.find(d => d.id === state.groep);\n    const badge = document.getElementById('fl-min-badge');\n    const minVereist = doelgroep.min;\n    if (state.personen < minVereist){\n      badge.textContent = `Minimum voor ${doelgroep.label.toLowerCase()}: ${minVereist} personen`;\n      badge.classList.add('fl-warn');\n    } else {\n      badge.textContent = `Minimum bereikt (${minVereist}+ personen)`;\n      badge.classList.remove('fl-warn');\n    }\n  }\n\n  \/\/ ---------------------------------------------------------------\n  \/\/ Render: results\n  \/\/ ---------------------------------------------------------------\n  function renderResults(){\n    const wrap = document.getElementById('fl-results');\n    const chip = document.getElementById('fl-count-chip');\n    wrap.innerHTML = '';\n\n    const matches = ARRANGEMENTEN\n      .filter(a => a.groep === state.groep && a.activiteit === state.activiteit)\n      .sort((a,b) => a.prijs - b.prijs);\n\n    chip.textContent = matches.length + (matches.length === 1 ? ' resultaat' : ' resultaten');\n\n    if (matches.length === 0){\n      wrap.innerHTML = '<div class=\"fl-empty\">Voor deze combinatie is er geen kant-en-klaar arrangement. Neem contact op voor een voorstel op maat.<\/div>';\n      return;\n    }\n\n    matches.forEach((a, idx) => {\n      const onderMinimum = state.personen < a.min;\n      const total = a.prijs * state.personen;\n\n      const card = document.createElement('div');\n      card.className = 'fl-card' + (a.populair ? ' fl-populair' : '');\n\n      const noteHtml = [];\n      if (onderMinimum){\n        noteHtml.push(`<span><b>Let op:<\/b> dit arrangement geldt vanaf ${a.min} personen \u2014 bij ${state.personen} vraag je best een offerte op maat aan.<\/span>`);\n      }\n      if (a.note){\n        noteHtml.push(`<span>${a.note}<\/span>`);\n      }\n\n      card.innerHTML = `\n        ${a.populair ? '<span class=\"fl-badge-pop\">Meest populair<\/span>' : ''}\n        <div>\n          <h3 class=\"fl-card-name\">${a.naam}<\/h3>\n          <ul class=\"fl-card-includes\">\n            ${a.includes.map(i => `<li>${i}<\/li>`).join('')}\n          <\/ul>\n        <\/div>\n        <div class=\"fl-card-price\">\n          <div class=\"fl-price-pp\">${euro(a.prijs)} p.p.<\/div>\n          <div class=\"fl-price-total\">${euro(total)}<\/div>\n          <a class=\"fl-card-cta\" href=\"${a.link}\" target=\"_blank\" rel=\"noopener\">Nu boeken<\/a>\n        <\/div>\n        ${noteHtml.length ? `<div class=\"fl-card-note\">${noteHtml.join('<br>')}<\/div>` : ''}\n      `;\n      wrap.appendChild(card);\n    });\n  }\n\n  function renderAll(){\n    renderOptionGroup(document.getElementById('fl-doelgroep'), DOELGROEPEN, 'groep', 2);\n    renderOptionGroup(document.getElementById('fl-activiteit'), ACTIVITEITEN, 'activiteit', 3);\n    renderPersonsUI();\n    renderResults();\n    renderProgress();\n    renderStepVisibility();\n  }\n\n  document.getElementById('fl-show-results-btn').addEventListener('click', () => {\n    state.currentStep = 'results';\n    renderAll();\n  });\n  document.querySelectorAll('.fl-back-link[data-prev]').forEach(btn => {\n    btn.addEventListener('click', () => {\n      state.currentStep = parseInt(btn.dataset.prev, 10);\n      renderAll();\n    });\n  });\n\n  \/\/ ---------------------------------------------------------------\n  \/\/ Wire up persons stepper\n  \/\/ ---------------------------------------------------------------\n  document.getElementById('fl-persons').addEventListener('input', (e) => {\n    let v = parseInt(e.target.value, 10);\n    if (isNaN(v) || v < 1) v = 1;\n    if (v > 60) v = 60;\n    state.personen = v;\n    renderAll();\n  });\n  document.getElementById('fl-min-btn').addEventListener('click', () => {\n    state.personen = Math.max(1, state.personen - 1);\n    renderAll();\n  });\n  document.getElementById('fl-plus-btn').addEventListener('click', () => {\n    state.personen = Math.min(60, state.personen + 1);\n    renderAll();\n  });\n\n  renderAll();\n})();\n<\/script>\n\n<\/body>\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Fastlane \u2013 Kies je arrangement STEL JE ARRANGEMENT SAMEN Duid aan wie er komt, wat jullie willen doen en met hoeveel je bent \u2014 je krijgt meteen te zien welke arrangementen passen, inclusief totaalprijs. 01 Kies je arrangement \u2190 Vorige stap 02 Wat willen jullie doen? \u2190 Vorige stap 03 Met hoeveel personen? \u2212 + [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-9310","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/fastlanebilzen.be\/fr\/wp-json\/wp\/v2\/pages\/9310","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fastlanebilzen.be\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/fastlanebilzen.be\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/fastlanebilzen.be\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fastlanebilzen.be\/fr\/wp-json\/wp\/v2\/comments?post=9310"}],"version-history":[{"count":19,"href":"https:\/\/fastlanebilzen.be\/fr\/wp-json\/wp\/v2\/pages\/9310\/revisions"}],"predecessor-version":[{"id":9331,"href":"https:\/\/fastlanebilzen.be\/fr\/wp-json\/wp\/v2\/pages\/9310\/revisions\/9331"}],"wp:attachment":[{"href":"https:\/\/fastlanebilzen.be\/fr\/wp-json\/wp\/v2\/media?parent=9310"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}