{"id":5,"date":"2024-02-24T21:58:16","date_gmt":"2024-02-24T20:58:16","guid":{"rendered":"https:\/\/gdcyc.be\/?page_id=5"},"modified":"2026-03-22T20:21:14","modified_gmt":"2026-03-22T19:21:14","slug":"accueil","status":"publish","type":"page","link":"https:\/\/gdcyc.be\/","title":{"rendered":"Home"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"5\" class=\"elementor elementor-5\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2c2b750 e-flex e-con-boxed e-con e-parent\" data-id=\"2c2b750\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6f80f29 elementor-widget elementor-widget-shortcode\" data-id=\"6f80f29\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <style>\n      .gdcyc-menu-shell,\n      .gdcyc-menu-shell *{\n        box-sizing:border-box;\n      }\n\n      .gdcyc-menu-shell{\n        width:100%;\n        max-width:1240px;\n        margin:14px auto 12px auto;\n        padding:0 8px;\n        font-family:'Roboto',system-ui,-apple-system,\"Segoe UI\",Arial,sans-serif;\n        color:#fff;\n      }\n\n      .gdcyc-menu-card{\n        position:relative;\n        overflow:hidden;\n        border-radius:28px;\n        padding:14px 16px;\n        background:\n          linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px),\n          linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px),\n          radial-gradient(circle at 10% 18%, rgba(244,196,0,.16) 0%, transparent 24%),\n          radial-gradient(circle at 84% 14%, rgba(217,31,38,.16) 0%, transparent 25%),\n          radial-gradient(circle at 58% 82%, rgba(255,255,255,.05) 0%, transparent 18%),\n          linear-gradient(135deg, rgba(5,5,5,.98) 0%, rgba(15,15,15,.98) 40%, rgba(31,10,10,.97) 72%, rgba(65,14,14,.94) 100%);\n        background-size:42px 42px,42px 42px,auto,auto,auto,auto;\n        border:1px solid rgba(255,255,255,.11);\n        box-shadow:\n          0 18px 50px rgba(0,0,0,.34),\n          inset 0 1px 0 rgba(255,255,255,.05),\n          inset 0 0 40px rgba(255,255,255,.02);\n      }\n\n      .gdcyc-menu-card::before{\n        content:\"\";\n        position:absolute;\n        inset:-1px;\n        border-radius:inherit;\n        pointer-events:none;\n        background:linear-gradient(135deg, rgba(255,255,255,.13), transparent 22%, transparent 76%, rgba(255,255,255,.05));\n        mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);\n        -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);\n        padding:1px;\n        mask-composite:exclude;\n        -webkit-mask-composite:xor;\n      }\n\n      .gdcyc-menu-card::after{\n        content:\"\";\n        position:absolute;\n        inset:0;\n        pointer-events:none;\n        background:\n          radial-gradient(circle at center, rgba(255,255,255,.03), transparent 50%);\n        opacity:.9;\n      }\n\n      .gdcyc-menu-top{\n        display:flex;\n        align-items:center;\n        justify-content:space-between;\n        gap:12px;\n        flex-wrap:wrap;\n        margin-bottom:10px;\n        position:relative;\n        z-index:2;\n      }\n\n      .gdcyc-menu-brand{\n        display:flex;\n        align-items:center;\n        gap:14px;\n        min-width:0;\n        flex:1 1 auto;\n      }\n\n      .gdcyc-menu-brand-logo{\n        position:relative;\n        width:76px;\n        height:76px;\n        border-radius:20px;\n        display:flex;\n        align-items:center;\n        justify-content:center;\n        flex:0 0 auto;\n        background:\n          radial-gradient(circle at 30% 25%, rgba(255,255,255,.16), transparent 42%),\n          linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));\n        border:1px solid rgba(255,255,255,.15);\n        box-shadow:\n          0 10px 28px rgba(0,0,0,.35),\n          inset 0 1px 0 rgba(255,255,255,.08),\n          0 0 0 1px rgba(255,255,255,.03);\n        overflow:hidden;\n      }\n\n      .gdcyc-menu-brand-logo::before{\n        content:\"\";\n        position:absolute;\n        inset:6px;\n        border-radius:16px;\n        background:\n          linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.01));\n        border:1px solid rgba(255,255,255,.08);\n        pointer-events:none;\n      }\n\n      .gdcyc-menu-brand img{\n        position:relative;\n        z-index:2;\n        width:60px;\n        height:60px;\n        object-fit:contain;\n        filter:\n          drop-shadow(0 4px 10px rgba(0,0,0,.55))\n          drop-shadow(0 0 12px rgba(255,255,255,.08));\n        flex:0 0 auto;\n      }\n\n      .gdcyc-menu-brandtext{\n        display:flex;\n        flex-direction:column;\n        gap:2px;\n        min-width:0;\n      }\n\n      .gdcyc-menu-kicker{\n        font-size:.72rem;\n        letter-spacing:.12em;\n        text-transform:uppercase;\n        color:rgba(255,255,255,.72);\n        line-height:1.1;\n      }\n\n      .gdcyc-menu-title{\n        font-size:1.08rem;\n        font-weight:800;\n        line-height:1.05;\n        color:#fff;\n        white-space:nowrap;\n        overflow:hidden;\n        text-overflow:ellipsis;\n        text-shadow:0 1px 10px rgba(255,255,255,.06);\n      }\n\n      .gdcyc-menu-sub{\n        font-size:.84rem;\n        color:rgba(255,255,255,.82);\n        line-height:1.2;\n      }\n\n      .gdcyc-lang-desktop{\n        display:flex;\n        align-items:center;\n        gap:8px;\n        flex:0 0 auto;\n      }\n\n      .gdcyc-lang-mobile{\n        display:none;\n        align-items:center;\n        gap:6px;\n        margin:0;\n        position:relative;\n        z-index:2;\n        flex:0 0 auto;\n      }\n\n      .gdcyc-menu-shell label,\n      .gdcyc-menu-shell #label-lang,\n      .gdcyc-menu-shell #tabsLangMobileLabel{\n        color:#fff !important;\n        font-weight:700;\n        white-space:nowrap;\n        font-size:13px;\n      }\n\n      .lang-select{\n        min-width:150px;\n        height:42px;\n        padding:0 12px;\n        border-radius:14px;\n        border:1px solid rgba(255,255,255,.16);\n        background:linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.07));\n        color:#fff !important;\n        font-size:13px;\n        line-height:42px;\n        appearance:auto;\n        -webkit-appearance:menulist;\n        box-shadow:0 6px 18px rgba(0,0,0,.16);\n        outline:none;\n      }\n\n      .lang-select:focus{\n        border-color:rgba(255,255,255,.28);\n        box-shadow:0 0 0 3px rgba(255,255,255,.08);\n      }\n\n      .lang-select option{\n        background:#1b1b1b;\n        color:#fff;\n      }\n\n      .topbar{\n        display:flex;\n        gap:10px;\n        align-items:center;\n        justify-content:space-between;\n        margin-bottom:0;\n        flex-wrap:wrap;\n        position:relative;\n        z-index:2;\n      }\n\n      .gdcyc-menu-nav.tabs{\n        display:flex;\n        gap:8px;\n        flex-wrap:wrap;\n        overflow-x:auto;\n        -webkit-overflow-scrolling:touch;\n        scrollbar-width:none;\n        width:100%;\n      }\n\n      .gdcyc-menu-nav.tabs::-webkit-scrollbar{\n        display:none;\n      }\n\n      .tab-btn{\n        display:inline-flex;\n        align-items:center;\n        justify-content:center;\n        gap:8px;\n        min-height:42px;\n        padding:9px 14px;\n        border-radius:15px;\n        border:1px solid rgba(255,255,255,.14);\n        background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.055));\n        color:#fff !important;\n        text-decoration:none !important;\n        cursor:pointer;\n        font-size:13px;\n        font-weight:700;\n        box-shadow:0 7px 18px rgba(0,0,0,.12);\n        transition:transform .18s ease, background .18s ease, box-shadow .18s ease, border-color .18s ease;\n        white-space:nowrap;\n        backdrop-filter:blur(8px);\n      }\n\n      .tab-btn:hover{\n        transform:translateY(-1px);\n        background:linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.08));\n        border-color:rgba(255,255,255,.21);\n        box-shadow:0 10px 24px rgba(0,0,0,.18);\n      }\n\n      .tab-btn.active{\n        background:linear-gradient(135deg,#111111 0%, #2d2d2d 26%, #f4c400 48%, #fff2a6 56%, #e86a70 70%, #d91f26 100%);\n        color:#08111f !important;\n        font-weight:800;\n        border-color:transparent;\n        box-shadow:\n          0 12px 28px rgba(0,0,0,.20),\n          0 0 18px rgba(244,196,0,.12);\n      }\n\n      .gdcyc-tab-logo-wrap{\n        width:22px;\n        height:22px;\n        display:inline-flex;\n        align-items:center;\n        justify-content:center;\n        border-radius:7px;\n        background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.06));\n        border:1px solid rgba(255,255,255,.16);\n        box-shadow:\n          0 4px 10px rgba(0,0,0,.18),\n          inset 0 1px 0 rgba(255,255,255,.06);\n        overflow:hidden;\n        flex:0 0 auto;\n      }\n\n      .gdcyc-tab-logo{\n        width:17px;\n        height:17px;\n        object-fit:contain;\n        display:block;\n        filter:\n          drop-shadow(0 2px 4px rgba(0,0,0,.55))\n          drop-shadow(0 0 6px rgba(255,255,255,.08));\n      }\n\n      .tabs-dropdown{\n        display:none;\n        width:100%;\n        margin:0;\n        position:relative;\n        z-index:2;\n        flex:1 1 auto;\n      }\n\n      .tabs-trigger{\n        width:100%;\n        min-height:44px;\n        padding:10px 12px;\n        border-radius:15px;\n        border:1px solid rgba(255,255,255,.16);\n        background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.07));\n        color:#fff;\n        display:flex;\n        align-items:center;\n        justify-content:space-between;\n        gap:10px;\n        cursor:pointer;\n        font-size:13px;\n        box-shadow:0 7px 18px rgba(0,0,0,.10);\n        backdrop-filter:blur(8px);\n      }\n\n      .tabs-trigger .label{\n        opacity:.82;\n        font-weight:700;\n        flex:0 0 auto;\n      }\n\n      .tabs-trigger .val{\n        font-weight:800;\n        opacity:.98;\n        margin-left:auto;\n        text-align:right;\n        white-space:nowrap;\n        overflow:hidden;\n        text-overflow:ellipsis;\n      }\n\n      .tabs-trigger .chev{\n        opacity:.85;\n        flex:0 0 auto;\n        font-size:12px;\n      }\n\n      .fs-overlay{\n        position:fixed;\n        inset:0;\n        background:rgba(10,12,16,.54);\n        backdrop-filter:blur(6px);\n        display:none;\n        z-index:99998;\n      }\n\n      .fs-sheet{\n        position:fixed;\n        left:0;\n        right:0;\n        bottom:0;\n        border-top-left-radius:20px;\n        border-top-right-radius:20px;\n        background:\n          radial-gradient(circle at top left, rgba(244,196,0,.22), transparent 32%),\n          radial-gradient(circle at top right, rgba(217,31,38,.18), transparent 30%),\n          linear-gradient(135deg,#111111,#1a1a1a);\n        color:#e8edf7;\n        padding:14px;\n        transform:translateY(100%);\n        transition:transform .25s ease;\n        z-index:99999;\n        max-height:72vh;\n        overflow:auto;\n        box-shadow:0 -20px 50px rgba(0,0,0,.42);\n      }\n\n      .fs-sheet.show{\n        transform:none;\n      }\n\n      .fs-title{\n        font-size:1rem;\n        font-weight:800;\n        margin:4px 0 10px;\n      }\n\n      .fs-options{\n        display:flex;\n        flex-direction:column;\n        gap:8px;\n      }\n\n      .fs-opt{\n        display:flex;\n        align-items:center;\n        justify-content:space-between;\n        gap:12px;\n        padding:12px 14px;\n        border-radius:14px;\n        cursor:pointer;\n        background:rgba(255,255,255,.06);\n        border:1px solid rgba(255,255,255,.12);\n        transition:background .18s ease, transform .18s ease, border-color .18s ease;\n      }\n\n      .fs-opt:hover{\n        transform:translateY(-1px);\n        background:rgba(255,255,255,.08);\n        border-color:rgba(255,255,255,.18);\n      }\n\n      .fs-opt[aria-selected=\"true\"]{\n        outline:2px solid rgba(255,255,255,.16);\n        background:linear-gradient(135deg, rgba(244,196,0,.30), rgba(217,31,38,.24));\n        border-color:rgba(255,255,255,.22);\n      }\n\n      .fs-close{\n        display:flex;\n        justify-content:center;\n        margin-top:12px;\n      }\n\n      .fs-close button{\n        background:transparent;\n        border:1px solid rgba(255,255,255,.24);\n        color:#fff;\n        border-radius:14px;\n        padding:10px 14px;\n        cursor:pointer;\n        min-width:120px;\n        font-weight:700;\n      }\n\n      @media (max-width:860px){\n        .gdcyc-menu-card{\n          border-radius:24px;\n        }\n\n        .gdcyc-menu-title{\n          font-size:1rem;\n        }\n\n        .gdcyc-menu-sub{\n          font-size:.81rem;\n        }\n\n        .gdcyc-menu-brand-logo{\n          width:68px;\n          height:68px;\n          border-radius:18px;\n        }\n\n        .gdcyc-menu-brand img{\n          width:54px;\n          height:54px;\n        }\n      }\n\n      @media (max-width:640px){\n        .gdcyc-menu-shell{\n          margin:4px auto 6px auto;\n          padding:0 4px;\n        }\n\n        .gdcyc-menu-card{\n          padding:8px;\n          border-radius:14px;\n          box-shadow:\n            0 10px 22px rgba(0,0,0,.22),\n            inset 0 1px 0 rgba(255,255,255,.04);\n        }\n\n        .gdcyc-menu-top{\n          margin-bottom:6px;\n          gap:6px;\n          align-items:center;\n        }\n\n        .gdcyc-menu-brand{\n          gap:8px;\n          min-width:0;\n        }\n\n        .gdcyc-menu-brand-logo{\n          width:42px;\n          height:42px;\n          border-radius:11px;\n        }\n\n        .gdcyc-menu-brand-logo::before{\n          inset:3px;\n          border-radius:8px;\n        }\n\n        .gdcyc-menu-brand img{\n          width:32px;\n          height:32px;\n        }\n\n        .gdcyc-menu-kicker{\n          display:none !important;\n        }\n\n        .gdcyc-menu-title{\n          font-size:.78rem;\n          line-height:1;\n        }\n\n        .gdcyc-menu-sub{\n          display:none !important;\n        }\n\n        .gdcyc-lang-desktop{\n          display:none !important;\n        }\n\n        .gdcyc-menu-nav.tabs{\n          display:none !important;\n        }\n\n        .topbar{\n          display:flex;\n          align-items:center;\n          gap:6px;\n          flex-wrap:nowrap;\n          width:100%;\n        }\n\n        .gdcyc-lang-mobile{\n          display:flex !important;\n          flex:0 0 108px;\n          width:108px;\n          min-width:108px;\n          max-width:108px;\n        }\n\n        .gdcyc-lang-mobile label{\n          display:none !important;\n        }\n\n        .lang-select{\n          min-width:unset;\n          width:100%;\n          height:32px;\n          padding:0 8px;\n          font-size:11px;\n          border-radius:10px;\n          line-height:32px;\n        }\n\n        .tabs-dropdown{\n          display:flex !important;\n          flex:1 1 auto;\n          width:auto !important;\n          max-width:none !important;\n          margin:0;\n        }\n\n        .tabs-trigger{\n          min-height:32px;\n          padding:6px 9px;\n          border-radius:10px;\n          font-size:11px;\n          gap:6px;\n        }\n\n        .tabs-trigger .label{\n          font-size:11px;\n        }\n\n        .tabs-trigger .val{\n          font-size:11px;\n          max-width:70%;\n        }\n\n        .tabs-trigger .chev{\n          font-size:10px;\n        }\n\n        .gdcyc-tab-logo-wrap{\n          width:18px;\n          height:18px;\n          border-radius:5px;\n        }\n\n        .gdcyc-tab-logo{\n          width:14px;\n          height:14px;\n        }\n\n        .fs-sheet{\n          padding:12px;\n          border-top-left-radius:18px;\n          border-top-right-radius:18px;\n          max-height:75vh;\n        }\n\n        .fs-title{\n          font-size:.92rem;\n        }\n\n        .fs-opt{\n          padding:10px 12px;\n          border-radius:12px;\n          font-size:13px;\n        }\n\n        .fs-close button{\n          padding:9px 12px;\n          border-radius:12px;\n          font-size:13px;\n        }\n\n        #tabsDropdownWrap,\n        .tabs-dropdown,\n        #tabsDropdownBtn,\n        .tabs-trigger{\n          width:100% !important;\n        }\n      }\n    <\/style>\n\n    <div class=\"gdcyc-menu-shell\">\n      <div class=\"gdcyc-menu-card\">\n\n        <script>\n          (function ensureLangBootstrap(){\n            if (window.GDCYC_LANG && typeof window.GDCYC_LANG.get === 'function' && typeof window.GDCYC_LANG.set === 'function') {\n              try {\n                if (typeof window.GDCYC_LANG.applyToSelects === 'function') {\n                  window.GDCYC_LANG.applyToSelects();\n                }\n              } catch(e){}\n              return;\n            }\n\n            const KEY = 'gdcyc_lang';\n            const COOKIE_DOMAIN = \".gdcyc.be\";\n\n            function readCookie(name){\n              const hit = document.cookie.split('; ').find(function(r){\n                return r.startsWith(name + '=');\n              });\n              return hit ? decodeURIComponent(hit.split('=')[1]) : '';\n            }\n\n            function writeCookie(val){\n              try{\n                let cookie = KEY + '=' + encodeURIComponent(val) + '; path=\/; max-age=' + (3600*24*365);\n                if (COOKIE_DOMAIN) cookie += '; domain=' + COOKIE_DOMAIN;\n                document.cookie = cookie;\n              }catch(e){}\n            }\n\n            function detect(){\n              try{\n                const qp = new URLSearchParams(window.location.search);\n                const q = (qp.get('lang') || '').toLowerCase();\n                if (['fr','nl','en'].includes(q)) return q;\n              }catch(e){}\n\n              try{\n                const ls = localStorage.getItem(KEY);\n                if (ls && ['fr','nl','en'].includes(ls)) return ls;\n              }catch(e){}\n\n              const ck = (readCookie(KEY) || '').toLowerCase();\n              if (['fr','nl','en'].includes(ck)) return ck;\n\n              const nav = (navigator.language || '').toLowerCase();\n              if (nav.startsWith('fr')) return 'fr';\n              if (nav.startsWith('nl')) return 'nl';\n              return 'en';\n            }\n\n            function currentPageWithLang(lang){\n              try{\n                const u = new URL(window.location.href);\n                u.searchParams.set('lang', lang);\n                return u.toString();\n              }catch(e){\n                return window.location.href;\n              }\n            }\n\n            function pageAlreadyOnLang(lang){\n              try{\n                const u = new URL(window.location.href);\n                return (u.searchParams.get('lang') || '').toLowerCase() === lang;\n              }catch(e){\n                return false;\n              }\n            }\n\n            window.currentLang = detect();\n\n            window.GDCYC_LANG = {\n              get(){ return window.currentLang || 'fr'; },\n\n              set(v, reloadPage){\n                v = (v || '').toLowerCase();\n                if (!['fr','nl','en'].includes(v)) return;\n\n                try { localStorage.setItem(KEY, v); } catch(e){}\n                writeCookie(v);\n                window.currentLang = v;\n\n                try{\n                  window.dispatchEvent(new CustomEvent('gdcyc:lang-change', { detail:{ lang:v } }));\n                }catch(e){}\n\n                if (typeof this.applyToSelects === 'function') {\n                  this.applyToSelects();\n                }\n\n                if (reloadPage === true) {\n                  const target = currentPageWithLang(v);\n                  if (!pageAlreadyOnLang(v) || window.location.href !== target) {\n                    window.location.href = target;\n                  }\n                }\n              },\n\n              applyToSelects(){\n                const lang = this.get();\n\n                document.querySelectorAll('select#lang, select.lang-select, select#tabsLangMobileSelect').forEach((sel) => {\n                  if (sel.value !== lang) sel.value = lang;\n\n                  if (!sel._gdcycBoundLang) {\n                    sel.addEventListener('change', (e) => {\n                      const v = (e.target.value || '').toLowerCase();\n                      if (['fr','nl','en'].includes(v)) {\n                        this.set(v, true);\n                      }\n                    });\n                    sel._gdcycBoundLang = true;\n                  }\n                });\n\n                const map = { fr:'Langue', nl:'Taal', en:'Language' };\n\n                const lbl = document.getElementById('label-lang');\n                if (lbl) lbl.textContent = map[lang] || 'Language';\n\n                const mobLbl = document.getElementById('tabsLangMobileLabel');\n                if (mobLbl) mobLbl.textContent = map[lang] || 'Language';\n              },\n\n              withLangParam(url){\n                try{\n                  const u = new URL(url, window.location.origin);\n                  u.searchParams.set('lang', this.get());\n                  return u.toString();\n                }catch(e){\n                  return url;\n                }\n              }\n            };\n\n            try { window.GDCYC_LANG.applyToSelects(); } catch(e){}\n          })();\n        <\/script>\n\n        <div class=\"gdcyc-menu-top\">\n          <div class=\"gdcyc-menu-brand\">\n            <span class=\"gdcyc-menu-brand-logo\">\n              <img decoding=\"async\" src=\"https:\/\/gdcyc.be\/wp-content\/uploads\/2026\/04\/5c0bcbbc-066e-4c73-8373-4274bf34b5a7-e1775210474296.png\" alt=\"GDCYC Belgique\">\n            <\/span>\n            <div class=\"gdcyc-menu-brandtext\">\n              <div class=\"gdcyc-menu-kicker\" id=\"gdcycMenuKicker\">GDCYC BELGIQUE<\/div>\n              <div class=\"gdcyc-menu-title\" id=\"gdcycMenuTitle\">Navigation<\/div>\n              <div class=\"gdcyc-menu-sub\" id=\"gdcycMenuSub\">Acc\u00e8s rapide aux sections<\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"gdcyc-lang-desktop\">\n            <label for=\"lang\" id=\"label-lang\">Langue<\/label>\n            <select id=\"lang\" class=\"lang-select\" aria-label=\"Language\">\n              <option value=\"nl\">Nederlands<\/option>\n              <option value=\"fr\">Fran\u00e7ais<\/option>\n              <option value=\"en\">English<\/option>\n            <\/select>\n          <\/div>\n        <\/div>\n\n        <script>\n          (function(){\n            var TABS = {\n              fr: {\n                label_lang:'Langue',\n                menu:'Menu',\n                close:'Fermer',\n                kicker:'GDCYC BELGIQUE',\n                title:'Navigation',\n                sub:'Acc\u00e8s rapide aux sections',\n                belgique:'Belgique',\n                provinces:'Provinces',\n                federation:'F\u00e9d\u00e9ration',\n                ic:'National',\n                gdc:'GDC',\n                reglement:'R\u00e8glement',\n                facebook:'Rejoindre page Facebook',\n                france:'France',\n                allemagne:'Allemagne'\n              },\n              nl: {\n                label_lang:'Taal',\n                menu:'Menu',\n                close:'Sluiten',\n                kicker:'GDCYC BELGI\u00cb',\n                title:'Navigatie',\n                sub:'Snelle toegang tot de secties',\n                belgique:'Belgi\u00eb',\n                provinces:'Provincies',\n                federation:'Federatie',\n                ic:'Nationaal',\n                gdc:'GDC',\n                reglement:'Reglement',\n                facebook:'Facebook-pagina volgen',\n                france:'Frankrijk',\n                allemagne:'Duitsland'\n              },\n              en: {\n                label_lang:'Language',\n                menu:'Menu',\n                close:'Close',\n                kicker:'GDCYC BELGIUM',\n                title:'Navigation',\n                sub:'Quick access to sections',\n                belgique:'Belgium',\n                provinces:'Provinces',\n                federation:'Federation',\n                ic:'National',\n                gdc:'GDC',\n                reglement:'Rules',\n                facebook:'Join Facebook page',\n                france:'France',\n                allemagne:'Germany'\n              }\n            };\n\n            window.gdcycMenuTabsI18n = TABS;\n          })();\n        <\/script>\n\n        <div class=\"topbar\">\n\n          <div class=\"gdcyc-lang-mobile\" id=\"tabsLangDropdownWrap\">\n            <label for=\"tabsLangMobileSelect\" id=\"tabsLangMobileLabel\">Langue<\/label>\n            <select id=\"tabsLangMobileSelect\" class=\"lang-select\" aria-label=\"Language\">\n              <option value=\"nl\">NL<\/option>\n              <option value=\"fr\">FR<\/option>\n              <option value=\"en\">EN<\/option>\n            <\/select>\n          <\/div>\n\n          <div class=\"tabs-dropdown\" id=\"tabsDropdownWrap\">\n            <button type=\"button\" class=\"tabs-trigger\" id=\"tabsDropdownBtn\" aria-haspopup=\"listbox\" aria-expanded=\"false\">\n              <span class=\"label\">Menu<\/span>\n              <span class=\"val\">\n                \ud83c\udde7\ud83c\uddea Belgique              <\/span>\n              <span class=\"chev\">\u25be<\/span>\n            <\/button>\n          <\/div>\n\n          <div class=\"tabs gdcyc-menu-nav\" role=\"tablist\">\n\n            <a href=\"https:\/\/gdcyc.be\/\"\n               class=\"tab-btn active\"\n               role=\"tab\"\n               aria-selected=\"true\"\n               id=\"tabBtnBelgique\">\n              \ud83c\udde7\ud83c\uddea <span id=\"tabLabelBelgique\">Belgique<\/span>\n            <\/a>\n\n            <a href=\"https:\/\/gdcyc.be\/index.php\/federation\/\"\n               class=\"tab-btn \"\n               role=\"tab\"\n               aria-selected=\"false\"\n               id=\"tabBtnFederation\">\n              \ud83c\udfdb\ufe0f <span id=\"tabLabelFederation\">F\u00e9d\u00e9ration<\/span>\n            <\/a>\n\n            <a href=\"https:\/\/gdcyc.be\/index.php\/provinces\/\"\n               class=\"tab-btn \"\n               role=\"tab\"\n               aria-selected=\"false\"\n               id=\"tabBtnProvinces\">\n              \ud83d\uddfa\ufe0f <span id=\"tabLabelProvinces\">Provinces<\/span>\n            <\/a>\n\n            <a href=\"https:\/\/gdcyc.be\/index.php\/ic\/\"\n               class=\"tab-btn \"\n               role=\"tab\"\n               aria-selected=\"false\"\n               id=\"tabBtnIC\">\n              \ud83c\udfc1 <span id=\"tabLabelIC\">National<\/span>\n            <\/a>\n\n            <a href=\"https:\/\/gdcyc.be\/index.php\/gdc\/\"\n               class=\"tab-btn \"\n               role=\"tab\"\n               aria-selected=\"false\"\n               id=\"tabBtnGdc\">\n              <span class=\"gdcyc-tab-logo-wrap\"><img decoding=\"async\" src=\"https:\/\/gdcyc.be\/wp-content\/uploads\/2025\/08\/cropped-94fd71ef-e006-4cd3-8d83-8670bfa5b58e-1-e1775211132685.png\" alt=\"GDCYC\" class=\"gdcyc-tab-logo\"><\/span> <span id=\"tabLabelGdc\">GDC<\/span>\n            <\/a>\n\n            <a href=\"https:\/\/gdcyc.be\/index.php\/reglement\/\"\n               class=\"tab-btn \"\n               role=\"tab\"\n               aria-selected=\"false\"\n               id=\"tabBtnReglement\">\n              \ud83d\udcdc <span id=\"tabLabelReglement\">R\u00e8glement<\/span>\n            <\/a>\n\n            <a href=\"https:\/\/www.facebook.com\/profile.php?id=61559222925474\"\n               class=\"tab-btn\"\n               role=\"tab\"\n               aria-selected=\"false\"\n               id=\"tabBtnFacebook\">\n              <span style=\"\n      width:18px;\n      height:18px;\n      border-radius:5px;\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      background:linear-gradient(135deg,#1877F2 0%, #0d5fd3 100%);\n      color:#fff;\n      font-weight:900;\n      font-size:13px;\n      font-family:Arial,sans-serif;\n      line-height:1;\n      vertical-align:middle;\n      box-shadow:0 2px 6px rgba(24,119,242,.35);\n      flex:0 0 auto;\n    \">f<\/span> <span id=\"tabLabelFacebook\">Rejoindre page Facebook<\/span>\n            <\/a>\n\n            <a href=\"https:\/\/gdcyc.fr\"\n               class=\"tab-btn\"\n               role=\"tab\"\n               aria-selected=\"false\"\n               id=\"tabBtnFrance\">\n              \ud83c\uddeb\ud83c\uddf7 <span id=\"tabLabelFrance\">France<\/span>\n            <\/a>\n\n            <a href=\"https:\/\/gdcyc.de\"\n               class=\"tab-btn\"\n               role=\"tab\"\n               aria-selected=\"false\"\n               id=\"tabBtnAllemagne\">\n              \ud83c\udde9\ud83c\uddea <span id=\"tabLabelAllemagne\">Allemagne<\/span>\n            <\/a>\n          <\/div>\n        <\/div>\n\n        <div class=\"fs-overlay\" id=\"tabsFsOverlay\" hidden><\/div>\n        <div class=\"fs-sheet\" id=\"tabsFsSheet\" role=\"listbox\" aria-label=\"Menu\">\n          <div class=\"fs-title\">Menu<\/div>\n          <div class=\"fs-options\">\n                          <div class=\"fs-opt\"\n                   role=\"option\"\n                   data-slug=\"belgique\"\n                   data-url=\"https:\/\/gdcyc.be\/\"\n                   aria-selected=\"true\">\n                <div style=\"display:flex;align-items:center;gap:10px;\">\n                  <span>\ud83c\udde7\ud83c\uddea<\/span>\n                  <span class=\"gdcyc-menu-opt-label\">Belgique<\/span>\n                <\/div>\n                <span class=\"fs-check\">\u2713<\/span>\n              <\/div>\n                          <div class=\"fs-opt\"\n                   role=\"option\"\n                   data-slug=\"federation\"\n                   data-url=\"https:\/\/gdcyc.be\/index.php\/federation\/\"\n                   aria-selected=\"false\">\n                <div style=\"display:flex;align-items:center;gap:10px;\">\n                  <span>\ud83c\udfdb\ufe0f<\/span>\n                  <span class=\"gdcyc-menu-opt-label\">F\u00e9d\u00e9ration<\/span>\n                <\/div>\n                <span class=\"fs-check\"><\/span>\n              <\/div>\n                          <div class=\"fs-opt\"\n                   role=\"option\"\n                   data-slug=\"provinces\"\n                   data-url=\"https:\/\/gdcyc.be\/index.php\/provinces\/\"\n                   aria-selected=\"false\">\n                <div style=\"display:flex;align-items:center;gap:10px;\">\n                  <span>\ud83d\uddfa\ufe0f<\/span>\n                  <span class=\"gdcyc-menu-opt-label\">Provinces<\/span>\n                <\/div>\n                <span class=\"fs-check\"><\/span>\n              <\/div>\n                          <div class=\"fs-opt\"\n                   role=\"option\"\n                   data-slug=\"ic\"\n                   data-url=\"https:\/\/gdcyc.be\/index.php\/ic\/\"\n                   aria-selected=\"false\">\n                <div style=\"display:flex;align-items:center;gap:10px;\">\n                  <span>\ud83c\udfc1<\/span>\n                  <span class=\"gdcyc-menu-opt-label\">National<\/span>\n                <\/div>\n                <span class=\"fs-check\"><\/span>\n              <\/div>\n                          <div class=\"fs-opt\"\n                   role=\"option\"\n                   data-slug=\"gdc\"\n                   data-url=\"https:\/\/gdcyc.be\/index.php\/gdc\/\"\n                   aria-selected=\"false\">\n                <div style=\"display:flex;align-items:center;gap:10px;\">\n                  <span><span class=\"gdcyc-tab-logo-wrap\"><img decoding=\"async\" src=\"https:\/\/gdcyc.be\/wp-content\/uploads\/2025\/08\/cropped-94fd71ef-e006-4cd3-8d83-8670bfa5b58e-1-e1775211132685.png\" alt=\"GDCYC\" class=\"gdcyc-tab-logo\"><\/span><\/span>\n                  <span class=\"gdcyc-menu-opt-label\">GDC<\/span>\n                <\/div>\n                <span class=\"fs-check\"><\/span>\n              <\/div>\n                          <div class=\"fs-opt\"\n                   role=\"option\"\n                   data-slug=\"reglement\"\n                   data-url=\"https:\/\/gdcyc.be\/index.php\/reglement\/\"\n                   aria-selected=\"false\">\n                <div style=\"display:flex;align-items:center;gap:10px;\">\n                  <span>\ud83d\udcdc<\/span>\n                  <span class=\"gdcyc-menu-opt-label\">R\u00e8glement<\/span>\n                <\/div>\n                <span class=\"fs-check\"><\/span>\n              <\/div>\n                          <div class=\"fs-opt\"\n                   role=\"option\"\n                   data-slug=\"facebook\"\n                   data-url=\"https:\/\/www.facebook.com\/profile.php?id=61559222925474\"\n                   aria-selected=\"false\">\n                <div style=\"display:flex;align-items:center;gap:10px;\">\n                  <span><span style=\"\n      width:18px;\n      height:18px;\n      border-radius:5px;\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      background:linear-gradient(135deg,#1877F2 0%, #0d5fd3 100%);\n      color:#fff;\n      font-weight:900;\n      font-size:13px;\n      font-family:Arial,sans-serif;\n      line-height:1;\n      vertical-align:middle;\n      box-shadow:0 2px 6px rgba(24,119,242,.35);\n      flex:0 0 auto;\n    \">f<\/span><\/span>\n                  <span class=\"gdcyc-menu-opt-label\">Rejoindre page Facebook<\/span>\n                <\/div>\n                <span class=\"fs-check\"><\/span>\n              <\/div>\n                          <div class=\"fs-opt\"\n                   role=\"option\"\n                   data-slug=\"france\"\n                   data-url=\"https:\/\/gdcyc.fr\"\n                   aria-selected=\"false\">\n                <div style=\"display:flex;align-items:center;gap:10px;\">\n                  <span>\ud83c\uddeb\ud83c\uddf7<\/span>\n                  <span class=\"gdcyc-menu-opt-label\">France<\/span>\n                <\/div>\n                <span class=\"fs-check\"><\/span>\n              <\/div>\n                          <div class=\"fs-opt\"\n                   role=\"option\"\n                   data-slug=\"allemagne\"\n                   data-url=\"https:\/\/gdcyc.de\"\n                   aria-selected=\"false\">\n                <div style=\"display:flex;align-items:center;gap:10px;\">\n                  <span>\ud83c\udde9\ud83c\uddea<\/span>\n                  <span class=\"gdcyc-menu-opt-label\">Allemagne<\/span>\n                <\/div>\n                <span class=\"fs-check\"><\/span>\n              <\/div>\n                      <\/div>\n          <div class=\"fs-close\"><button type=\"button\" id=\"tabsFsClose\">Fermer<\/button><\/div>\n        <\/div>\n\n        <script>\n          (function(){\n            var btn   = document.getElementById('tabsDropdownBtn');\n            var ovl   = document.getElementById('tabsFsOverlay');\n            var sheet = document.getElementById('tabsFsSheet');\n            var close = document.getElementById('tabsFsClose');\n            var TABS  = window.gdcycMenuTabsI18n || {};\n\n            function getLang(){\n              return (window.GDCYC_LANG && typeof window.GDCYC_LANG.get === 'function')\n                ? window.GDCYC_LANG.get()\n                : (window.currentLang || 'fr');\n            }\n\n            function navigateTo(url){\n              if (!url) return;\n\n              var isExternal = \/^https?:\\\/\\\/\/i.test(url);\n              if (isExternal) {\n                window.location.href = url;\n                return;\n              }\n\n              var dest = (window.GDCYC_LANG && window.GDCYC_LANG.withLangParam)\n                ? window.GDCYC_LANG.withLangParam(url)\n                : url;\n              window.location.href = dest;\n            }\n\n            function openSheet(){\n              if (window.gdcycApplyMenuLabels) window.gdcycApplyMenuLabels();\n              ovl.hidden = false;\n              ovl.style.display = 'block';\n              sheet.classList.add('show');\n              btn.setAttribute('aria-expanded','true');\n              document.body.style.overflow = 'hidden';\n            }\n\n            function closeSheet(){\n              sheet.classList.remove('show');\n              ovl.style.display = 'none';\n              ovl.hidden = true;\n              btn.setAttribute('aria-expanded','false');\n              document.body.style.overflow = '';\n            }\n\n            if (btn) btn.addEventListener('click', openSheet);\n            if (ovl) ovl.addEventListener('click', closeSheet);\n            if (close) close.addEventListener('click', closeSheet);\n\n            function bindDesktopLinks(){\n              document.querySelectorAll('.topbar .tabs a').forEach(function(a){\n                if (a._gdcycBound) return;\n                a._gdcycBound = true;\n\n                a.addEventListener('click', function(e){\n                  var href = this.getAttribute('href');\n                  if (!href) return;\n                  e.preventDefault();\n                  navigateTo(href);\n                });\n              });\n            }\n\n            sheet.querySelectorAll('.fs-opt').forEach(function(opt){\n              opt.addEventListener('click', function(){\n                var url = this.getAttribute('data-url');\n                closeSheet();\n                navigateTo(url);\n              });\n            });\n\n            function applyMenuLabels(){\n              var lang = getLang();\n              var tx = TABS[lang] || TABS.fr || {};\n\n              var map = {\n                belgique: tx.belgique || 'Belgique',\n                provinces: tx.provinces || 'Provinces',\n                federation: tx.federation || 'F\u00e9d\u00e9ration',\n                ic: tx.ic || 'National',\n                gdc: tx.gdc || 'GDC',\n                reglement: tx.reglement || 'R\u00e8glement',\n                facebook: tx.facebook || 'Rejoindre page Facebook',\n                france: tx.france || 'France',\n                allemagne: tx.allemagne || 'Allemagne'\n              };\n\n              var e;\n              e = document.getElementById('label-lang'); if (e) e.textContent = tx.label_lang || 'Langue';\n              e = document.getElementById('tabsLangMobileLabel'); if (e) e.textContent = tx.label_lang || 'Langue';\n              e = document.querySelector('#tabsDropdownBtn .label'); if (e) e.textContent = tx.menu || 'Menu';\n              e = document.getElementById('tabsFsClose'); if (e) e.textContent = tx.close || 'Fermer';\n              e = document.querySelector('#tabsFsSheet .fs-title'); if (e) e.textContent = tx.menu || 'Menu';\n\n              e = document.getElementById('gdcycMenuKicker'); if (e) e.textContent = tx.kicker || 'GDCYC BELGIQUE';\n              e = document.getElementById('gdcycMenuTitle');  if (e) e.textContent = tx.title || 'Navigation';\n              e = document.getElementById('gdcycMenuSub');    if (e) e.textContent = tx.sub || 'Acc\u00e8s rapide aux sections';\n\n              e = document.getElementById('tabLabelBelgique');   if (e) e.textContent = map.belgique;\n              e = document.getElementById('tabLabelProvinces');  if (e) e.textContent = map.provinces;\n              e = document.getElementById('tabLabelFederation'); if (e) e.textContent = map.federation;\n              e = document.getElementById('tabLabelIC');         if (e) e.textContent = map.ic;\n              e = document.getElementById('tabLabelGdc');        if (e) e.textContent = map.gdc;\n              e = document.getElementById('tabLabelReglement');  if (e) e.textContent = map.reglement;\n              e = document.getElementById('tabLabelFacebook');   if (e) e.textContent = map.facebook;\n              e = document.getElementById('tabLabelFrance');     if (e) e.textContent = map.france;\n              e = document.getElementById('tabLabelAllemagne');  if (e) e.textContent = map.allemagne;\n\n              document.querySelectorAll('#tabsFsSheet .fs-opt').forEach(function(opt){\n                var slug = opt.getAttribute('data-slug') || '';\n                var txt  = map[slug] || slug;\n                var span = opt.querySelector('.gdcyc-menu-opt-label');\n                if (span) span.textContent = txt;\n              });\n\n              var selected = document.querySelector('#tabsFsSheet .fs-opt[aria-selected=\"true\"]');\n              if (selected) {\n                var icon = selected.querySelector('div > span:first-child');\n                var txt2 = selected.querySelector('.gdcyc-menu-opt-label');\n                var val  = document.querySelector('#tabsDropdownBtn .val');\n                if (val && txt2) {\n                  val.innerHTML = (icon ? icon.innerHTML + ' ' : '') + txt2.textContent;\n                }\n              }\n\n              if (window.GDCYC_LANG && typeof window.GDCYC_LANG.applyToSelects === 'function') {\n                window.GDCYC_LANG.applyToSelects();\n              }\n            }\n\n            window.gdcycApplyMenuLabels = applyMenuLabels;\n\n            document.addEventListener('DOMContentLoaded', function(){\n              bindDesktopLinks();\n              applyMenuLabels();\n            });\n\n            window.addEventListener('gdcyc:lang-change', function(){\n              applyMenuLabels();\n            });\n\n            bindDesktopLinks();\n            applyMenuLabels();\n          })();\n        <\/script>\n\n      <\/div>\n    <\/div>\n    \n<div id=\"gdcycbe_belgique_FPUqjd7g\" class=\"gdcycbe-root\">\n\n  \n  <div class=\"gdcycbe-tabs-wrap\">\n\n    <!-- Desktop -->\n    <div class=\"gdcycbe-tabs gdcycbe-tabs-desktop\">\n      <button type=\"button\" class=\"gdcycbe-tab active\" data-tab=\"results\">Resultaten<\/button>\n      <button type=\"button\" class=\"gdcycbe-tab\" data-tab=\"ranking\">Klassement<\/button>\n\n              <button type=\"button\" class=\"gdcycbe-tab\" data-tab=\"records\">Seizoensrecord<\/button>\n        <button type=\"button\" class=\"gdcycbe-tab\" data-tab=\"ratios\">Ratio\u2019s<\/button>\n        <button type=\"button\" class=\"gdcycbe-tab\" data-tab=\"stats\">Stats<\/button>\n          <\/div>\n\n    <!-- Mobile -->\n    <div class=\"gdcycbe-tabs-mobile\">\n      <button type=\"button\" class=\"gdcycbe-tabs-mobile-btn\" id=\"gdcycbe_belgique_FPUqjd7g_tabs_mobile_btn\" aria-haspopup=\"listbox\" aria-expanded=\"false\">\n        <span class=\"gdcycbe-tabs-mobile-label\">Section<\/span>\n        <span class=\"gdcycbe-tabs-mobile-value\" id=\"gdcycbe_belgique_FPUqjd7g_tabs_mobile_value\">Resultaten<\/span>\n        <span class=\"gdcycbe-tabs-mobile-chev\">\u25be<\/span>\n      <\/button>\n    <\/div>\n\n  <\/div>\n\n  <div class=\"gdcycbe-tabs-overlay\" id=\"gdcycbe_belgique_FPUqjd7g_tabs_overlay\" hidden><\/div>\n\n  <div class=\"gdcycbe-tabs-sheet\" id=\"gdcycbe_belgique_FPUqjd7g_tabs_sheet\" role=\"listbox\" aria-label=\"Choix section\">\n    <div class=\"gdcycbe-tabs-sheet-title\">Choisir une section<\/div>\n\n    <div class=\"gdcycbe-tabs-sheet-options\">\n      <div class=\"gdcycbe-tabs-sheet-opt active\" data-tab=\"results\" aria-selected=\"true\">\n        <span>Resultaten<\/span><span>\u2713<\/span>\n      <\/div>\n      <div class=\"gdcycbe-tabs-sheet-opt\" data-tab=\"ranking\" aria-selected=\"false\">\n        <span>Klassement<\/span><span><\/span>\n      <\/div>\n\n              <div class=\"gdcycbe-tabs-sheet-opt\" data-tab=\"records\" aria-selected=\"false\">\n          <span>Seizoensrecord<\/span><span><\/span>\n        <\/div>\n        <div class=\"gdcycbe-tabs-sheet-opt\" data-tab=\"ratios\" aria-selected=\"false\">\n          <span>Ratio\u2019s<\/span><span><\/span>\n        <\/div>\n        <div class=\"gdcycbe-tabs-sheet-opt\" data-tab=\"stats\" aria-selected=\"false\">\n          <span>Stats<\/span><span><\/span>\n        <\/div>\n          <\/div>\n\n    <div class=\"gdcycbe-tabs-sheet-close-wrap\">\n      <button type=\"button\" class=\"gdcycbe-tabs-sheet-close\" id=\"gdcycbe_belgique_FPUqjd7g_tabs_close\">Fermer<\/button>\n    <\/div>\n  <\/div>\n\n  <div id=\"gdcycbe_belgique_FPUqjd7g_ranking_subtabs\" class=\"gdcycbe-subtabs\">\n    <button type=\"button\" class=\"gdcycbe-subtab active\" data-ranking-view=\"all\">Alle<\/button>\n    <button type=\"button\" class=\"gdcycbe-subtab\" data-ranking-view=\"j\">1e jaar \u2726<\/button>\n  <\/div>\n\n  <form id=\"gdcycbe_belgique_FPUqjd7g_form\" class=\"gdcycbe-topfilters\">\n    \n    <select id=\"gdcycbe_belgique_FPUqjd7g_cat\"><\/select>\n    <select id=\"gdcycbe_belgique_FPUqjd7g_ratio_table\" style=\"display:none;\"><\/select>\n\n    <input type=\"text\" id=\"gdcycbe_belgique_FPUqjd7g_name\" placeholder=\"Zoek een renner (optioneel)\">\n    <button type=\"submit\" class=\"gdcycbe-submit\">Zoeken<\/button>\n    <button type=\"button\" id=\"gdcycbe_belgique_FPUqjd7g_btn_month\" class=\"gdcycbe-month-btn\" style=\"display:none;\">\ud83d\udcc6 Maand<\/button>\n  <\/form>\n\n  <div id=\"gdcycbe_belgique_FPUqjd7g_result_month_bar\" class=\"gdcycbe-box\" style=\"display:none; margin-bottom:14px; min-height:auto;\">\n    <div class=\"gdcycbe-month-inline-head\">\n      <div style=\"flex:1 1 260px;\">\n        <label for=\"gdcycbe_belgique_FPUqjd7g_result_month_selector\" style=\"display:block; margin-bottom:8px; font-weight:700;\">\n          Selecteer maand        <\/label>\n        <select id=\"gdcycbe_belgique_FPUqjd7g_result_month_selector\"><\/select>\n      <\/div>\n      <div style=\"flex:1 1 260px;\">\n        <div style=\"font-weight:700; margin-bottom:8px;\">Maandresultaten<\/div>\n        <div id=\"gdcycbe_belgique_FPUqjd7g_result_month_label\" style=\"opacity:.92;\"><\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div id=\"gdcycbe_belgique_FPUqjd7g_box\" class=\"gdcycbe-box\">\n    <div class=\"gdcycbe-empty\">\n      <div class=\"gdcycbe-empty-badge\">\n        <img decoding=\"async\" src=\"https:\/\/gdcyc.be\/wp-content\/uploads\/2025\/08\/cropped-94fd71ef-e006-4cd3-8d83-8670bfa5b58e-1.png\" alt=\"GDCYC\">\n        <span>GDCYC.BE \u2014 Belgique<\/span>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div id=\"gdcycbe_belgique_FPUqjd7g_month_section\" class=\"gdcycbe-box\" style=\"display:none; margin-top:14px;\">\n    <div id=\"gdcycbe_belgique_FPUqjd7g_month_headbar\" style=\"display:none; margin-bottom:12px;\">\n      <h3 style=\"margin:0;\">\n        \ud83c\udfc6 <span id=\"gdcycbe_belgique_FPUqjd7g_month_title\">Maandklassement<\/span> :\n        <span id=\"gdcycbe_belgique_FPUqjd7g_selected_month_label\"><\/span>\n      <\/h3>\n      <button type=\"button\" id=\"gdcycbe_belgique_FPUqjd7g_btn_back_month\" class=\"gdcycbe-btn-secondary\" style=\"margin-top:10px;\">\n        \ud83d\udd0e Terug naar zoeken      <\/button>\n    <\/div>\n\n    <div id=\"gdcycbe_belgique_FPUqjd7g_month_toolbar\" style=\"display:none; margin-bottom:12px;\">\n      <label for=\"gdcycbe_belgique_FPUqjd7g_month_selector\" style=\"display:block; margin-bottom:8px;\">\n        Selecteer maand      <\/label>\n      <select id=\"gdcycbe_belgique_FPUqjd7g_month_selector\"><\/select>\n    <\/div>\n\n    <div id=\"gdcycbe_belgique_FPUqjd7g_month_search_container\" style=\"display:none; margin-bottom:12px;\">\n      <input type=\"text\" id=\"gdcycbe_belgique_FPUqjd7g_month_search\" placeholder=\"Zoek een renner in de maandtabel\u2026\">\n    <\/div>\n\n    <div id=\"gdcycbe_belgique_FPUqjd7g_month_results\"><\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function(){\n  var ROOT_ID = \"gdcycbe_belgique_FPUqjd7g\";\n  var MODE    = \"belgique\";\n  var ajaxUrl = \"https:\\\/\\\/gdcyc.be\\\/wp-admin\\\/admin-ajax.php\";\n  var logoUrl = \"https:\\\/\\\/gdcyc.be\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/cropped-94fd71ef-e006-4cd3-8d83-8670bfa5b58e-1.png\";\n  var CATS    = [{\"value\":\"U9\",\"label\":\"U9\"},{\"value\":\"U10\",\"label\":\"U10\"},{\"value\":\"U11\",\"label\":\"U11\"},{\"value\":\"U12\",\"label\":\"U12\"},{\"value\":\"U13\",\"label\":\"U13\"},{\"value\":\"U14\",\"label\":\"U14\"},{\"value\":\"U15\",\"label\":\"U15\"},{\"value\":\"U17\",\"label\":\"U17\"},{\"value\":\"U19\",\"label\":\"U19\"},{\"value\":\"U9_DAME\",\"label\":\"U9 DAME\"},{\"value\":\"U10_DAME\",\"label\":\"U10 DAME\"},{\"value\":\"U11_DAME\",\"label\":\"U11 DAME\"},{\"value\":\"U12_DAME\",\"label\":\"U12 DAME\"},{\"value\":\"U13_DAME\",\"label\":\"U13 DAME\"},{\"value\":\"U14_DAME\",\"label\":\"U14 DAME\"},{\"value\":\"U15_DAME\",\"label\":\"U15 DAME\"},{\"value\":\"U17_DAME\",\"label\":\"U17 DAME\"},{\"value\":\"U19_DAME\",\"label\":\"U19 DAME\"}];\n  var PROVINCES = {\"VLAANDEREN\":[{\"value\":\"Antwerpen\",\"fr\":\"Anvers (Antwerpen)\",\"nl\":\"Antwerpen\",\"en\":\"Antwerp\"},{\"value\":\"Limburg\",\"fr\":\"Limbourg (Limburg)\",\"nl\":\"Limburg\",\"en\":\"Limburg\"},{\"value\":\"Oost-Vlaanderen\",\"fr\":\"Flandre-Orientale (Oost-Vlaanderen)\",\"nl\":\"Oost-Vlaanderen\",\"en\":\"East Flanders\"},{\"value\":\"Vlaams-Brabant\",\"fr\":\"Brabant flamand (Vlaams-Brabant)\",\"nl\":\"Vlaams-Brabant\",\"en\":\"Flemish Brabant\"},{\"value\":\"West-Vlaanderen\",\"fr\":\"Flandre-Occidentale (West-Vlaanderen)\",\"nl\":\"West-Vlaanderen\",\"en\":\"West Flanders\"}],\"WALLONIE\":[{\"value\":\"Hainaut\",\"fr\":\"Hainaut \/ Brabant wallon \/ Namur\",\"nl\":\"Henegouwen \/ Waals-Brabant \/ Namen\",\"en\":\"Hainaut \/ Walloon Brabant \/ Namur\"},{\"value\":\"Liege\",\"fr\":\"Li\u00e8ge \/ Luxembourg\",\"nl\":\"Luik \/ Luxemburg\",\"en\":\"Li\u00e8ge \/ Luxembourg\"}]};\n  var I18N_ALL = {\n    fr: {\"results\":\"R\u00e9sultats\",\"stats\":\"Stats\",\"ranking\":\"Classement\",\"records\":\"Record saison\",\"ratios\":\"Ratios\",\"choose_cat\":\"S\u00e9lectionne la cat\u00e9gorie\",\"choose_region\":\"S\u00e9lectionne la f\u00e9d\u00e9ration\",\"choose_province\":\"S\u00e9lectionne la province\",\"search_runner\":\"Rechercher un coureur (optionnel)\",\"search_runner_ranking\":\"Rechercher un coureur class\u00e9 (optionnel)\",\"search_runner_stats\":\"Rechercher un coureur stats (optionnel)\",\"search_runner_ratio\":\"Rechercher un coureur ratio (optionnel)\",\"search\":\"Rechercher\",\"month_title\":\"R\u00e9sultats du mois\",\"month_title_ranking\":\"Classement du mois\",\"month_title_stats\":\"Stats du mois\",\"month_select_label\":\"S\u00e9lectionner le mois\",\"month_search_ph\":\"Rechercher un coureur dans le tableau du mois\u2026\",\"btn_show_month\":\"\ud83d\udcc6 Mois\",\"btn_back_search\":\"\ud83d\udd0e Retour \u00e0 la recherche\",\"loading\":\"Chargement...\",\"ajax_err\":\"Erreur AJAX.\",\"no_data\":\"Aucune donn\u00e9e.\",\"missing\":\"Param\u00e8tres manquants.\",\"db_err\":\"Erreur DB.\",\"date\":\"Date\",\"place\":\"Place\",\"lieu\":\"Lieu\",\"race\":\"Course\",\"winner\":\"Vainqueur\",\"participants\":\"Participants\",\"km\":\"Km\",\"avg\":\"Moyenne\",\"result\":\"R\u00e9sultat\",\"name\":\"Nom\",\"club\":\"Club\",\"points\":\"Points\",\"top1\":\"Top1\",\"top3\":\"Top3\",\"top5\":\"Top5\",\"top10\":\"Top10\",\"top20\":\"Top20\",\"totalrace\":\"TotalRace\",\"month\":\"Mois\",\"vla\":\"Flandre\",\"wal\":\"Wallonie\",\"rider_count\":\"Nombre de coureurs\",\"record_title\":\"\ud83c\udfc5 Record saison \u2014 Cat\u00e9gorie : \",\"ratio_title\":\"Ratio\",\"ratio_choice\":\"Ratio (races)\",\"value\":\"Valeur\",\"rank_col\":\"#\",\"r5\":\"5 courses\",\"r10\":\"10 courses\",\"r15\":\"15 courses\",\"r20\":\"20 courses\",\"details\":\"D\u00e9tails\",\"btn_prev\":\"Pr\u00e9c\u00e9dent\",\"btn_next\":\"Suivant\",\"page\":\"Page\",\"goto_page\":\"Aller \u00e0 la page\",\"current_month\":\"Mois en cours\",\"archived_month\":\"Archive\",\"no_month_available\":\"Aucun mois disponible.\",\"national_label\":\"National\",\"no_current_month_data\":\"Aucune donn\u00e9e pour le mois en cours.\",\"province\":\"Province\",\"podium\":\"Podium\",\"record_season\":\"Record saison\",\"badge_results\":\"R\u00c9SULTATS\",\"badge_ranking\":\"CLASSEMENT\",\"badge_records\":\"RECORD SAISON\",\"badge_stats\":\"STATS\",\"badge_ratios\":\"RATIOS\",\"first_year\":\"1re ann\u00e9e\",\"all_riders\":\"Tous\"},\n    nl: {\"results\":\"Resultaten\",\"stats\":\"Stats\",\"ranking\":\"Klassement\",\"records\":\"Seizoensrecord\",\"ratios\":\"Ratio\u2019s\",\"choose_cat\":\"Kies een categorie\",\"choose_region\":\"Kies de federatie\",\"choose_province\":\"Kies een provincie\",\"search_runner\":\"Zoek een renner (optioneel)\",\"search_runner_ranking\":\"Zoek een geklasseerde renner (optioneel)\",\"search_runner_stats\":\"Zoek een stats-renner (optioneel)\",\"search_runner_ratio\":\"Zoek een ratio-renner (optioneel)\",\"search\":\"Zoeken\",\"month_title\":\"Maandresultaten\",\"month_title_ranking\":\"Maandklassement\",\"month_title_stats\":\"Maandstats\",\"month_select_label\":\"Selecteer maand\",\"month_search_ph\":\"Zoek een renner in de maandtabel\u2026\",\"btn_show_month\":\"\ud83d\udcc6 Maand\",\"btn_back_search\":\"\ud83d\udd0e Terug naar zoeken\",\"loading\":\"Laden...\",\"ajax_err\":\"AJAX-fout.\",\"no_data\":\"Geen gegevens.\",\"missing\":\"Ontbrekende parameters.\",\"db_err\":\"Databasefout.\",\"date\":\"Datum\",\"place\":\"Plaats\",\"lieu\":\"Plaats\",\"race\":\"Wedstrijd\",\"winner\":\"Winnaar\",\"participants\":\"Deelnemers\",\"km\":\"Km\",\"avg\":\"Gemiddelde\",\"result\":\"Resultaat\",\"name\":\"Naam\",\"club\":\"Club\",\"points\":\"Punten\",\"top1\":\"Top1\",\"top3\":\"Top3\",\"top5\":\"Top5\",\"top10\":\"Top10\",\"top20\":\"Top20\",\"totalrace\":\"Koersen\",\"month\":\"Maand\",\"vla\":\"Vlaanderen\",\"wal\":\"Walloni\u00eb\",\"rider_count\":\"Aantal renners\",\"record_title\":\"\ud83c\udfc5 Seizoensrecords \u2014 Categorie: \",\"ratio_title\":\"Ratio\",\"ratio_choice\":\"Ratio (koersen)\",\"value\":\"Waarde\",\"rank_col\":\"#\",\"r5\":\"5 koersen\",\"r10\":\"10 koersen\",\"r15\":\"15 koersen\",\"r20\":\"20 koersen\",\"details\":\"Details\",\"btn_prev\":\"Vorige\",\"btn_next\":\"Volgende\",\"page\":\"Pagina\",\"goto_page\":\"Ga naar pagina\",\"current_month\":\"Huidige maand\",\"archived_month\":\"Archief\",\"no_month_available\":\"Geen maand beschikbaar.\",\"national_label\":\"Nationaal\",\"no_current_month_data\":\"Geen gegevens voor de huidige maand.\",\"province\":\"Provincie\",\"podium\":\"Podium\",\"record_season\":\"Seizoensrecord\",\"badge_results\":\"RESULTATEN\",\"badge_ranking\":\"KLASSEMENT\",\"badge_records\":\"SEIZOENSRECORD\",\"badge_stats\":\"STATS\",\"badge_ratios\":\"RATIO\u2019S\",\"first_year\":\"1e jaar\",\"all_riders\":\"Alle\"},\n    en: {\"results\":\"Results\",\"stats\":\"Stats\",\"ranking\":\"Ranking\",\"records\":\"Season record\",\"ratios\":\"Ratios\",\"choose_cat\":\"Choose a category\",\"choose_region\":\"Choose federation\",\"choose_province\":\"Choose province\",\"search_runner\":\"Search a rider (optional)\",\"search_runner_ranking\":\"Search a ranked rider (optional)\",\"search_runner_stats\":\"Search a stats rider (optional)\",\"search_runner_ratio\":\"Search a ratio rider (optional)\",\"search\":\"Search\",\"month_title\":\"Monthly results\",\"month_title_ranking\":\"Monthly ranking\",\"month_title_stats\":\"Monthly stats\",\"month_select_label\":\"Select month\",\"month_search_ph\":\"Search a rider in the month table\u2026\",\"btn_show_month\":\"\ud83d\udcc6 Month\",\"btn_back_search\":\"\ud83d\udd0e Back to search\",\"loading\":\"Loading...\",\"ajax_err\":\"AJAX error.\",\"no_data\":\"No data.\",\"missing\":\"Missing parameters.\",\"db_err\":\"DB error.\",\"date\":\"Date\",\"place\":\"Place\",\"lieu\":\"Place\",\"race\":\"Race\",\"winner\":\"Winner\",\"participants\":\"Participants\",\"km\":\"Km\",\"avg\":\"Average\",\"result\":\"Result\",\"name\":\"Name\",\"club\":\"Club\",\"points\":\"Points\",\"top1\":\"Top1\",\"top3\":\"Top3\",\"top5\":\"Top5\",\"top10\":\"Top10\",\"top20\":\"Top20\",\"totalrace\":\"Races\",\"month\":\"Month\",\"vla\":\"Flanders\",\"wal\":\"Wallonia\",\"rider_count\":\"Number of riders\",\"record_title\":\"\ud83c\udfc5 Season records \u2014 Category: \",\"ratio_title\":\"Ratio\",\"ratio_choice\":\"Ratio (races)\",\"value\":\"Value\",\"rank_col\":\"#\",\"r5\":\"5 races\",\"r10\":\"10 races\",\"r15\":\"15 races\",\"r20\":\"20 races\",\"details\":\"Details\",\"btn_prev\":\"Previous\",\"btn_next\":\"Next\",\"page\":\"Page\",\"goto_page\":\"Go to page\",\"current_month\":\"Current month\",\"archived_month\":\"Archive\",\"no_month_available\":\"No month available.\",\"national_label\":\"National\",\"no_current_month_data\":\"No data for the current month.\",\"province\":\"Province\",\"podium\":\"Podium\",\"record_season\":\"Season record\",\"badge_results\":\"RESULTS\",\"badge_ranking\":\"RANKING\",\"badge_records\":\"SEASON RECORD\",\"badge_stats\":\"STATS\",\"badge_ratios\":\"RATIOS\",\"first_year\":\"1st year\",\"all_riders\":\"All\"}  };\n\n  var root = document.getElementById(ROOT_ID);\n  if (!root || root.dataset.booted === '1') return;\n  root.dataset.booted = '1';\n  var mobileTabsBtn   = id('tabs_mobile_btn');\n  var mobileTabsValue = id('tabs_mobile_value');\n  var mobileTabsSheet = id('tabs_sheet');\n  var mobileTabsOverlay = id('tabs_overlay');\n  var mobileTabsClose = id('tabs_close');\n  function currentLang(){\n    if (window.GDCYC_LANG && typeof window.GDCYC_LANG.get === 'function') return window.GDCYC_LANG.get();\n    return window.currentLang || 'fr';\n  }\n  function L(){ return I18N_ALL[currentLang()] || I18N_ALL.fr; }\n  function id(name){ return document.getElementById(ROOT_ID + '_' + name); }\n\n  function lsGet(key, def){\n    try {\n      var v = localStorage.getItem(key);\n      return v !== null ? v : def;\n    } catch(e){}\n    return def;\n  }\n  function lsSet(key, value){\n    try { localStorage.setItem(key, value || ''); } catch(e){}\n  }\n\n  function juniorTabAllowed(cat){\n    var c = String(cat || '').toUpperCase();\n    var allowedCat = (c === 'U17' || c === 'U19' || c === 'U17_DAME' || c === 'U19_DAME');\n    if (!allowedCat) return false;\n\n    if (MODE === 'federation' && String(state.federation || '') === 'WALLONIE') return false;\n    if (MODE === 'provinces' && String(state.federation || '') === 'WALLONIE') return false;\n\n    return true;\n  }\n\n  var CAT_KEY   = 'gdcycbe_cat_' + MODE;\n  var NAME_KEY  = 'gdcycbe_name_' + MODE;\n  var REG_KEY   = 'gdcycbe_region_' + MODE;\n  var PROV_KEY  = 'gdcycbe_province_' + MODE;\n  var TAB_KEY   = 'gdcycbe_tab_' + MODE;\n  var PAGE_KEY  = 'gdcycbe_page_' + MODE;\n  var RMON_KEY  = 'gdcycbe_result_month_' + MODE;\n  var MPAGE_KEY = 'gdcycbe_month_page_' + MODE;\n  var MVAL_KEY  = 'gdcycbe_month_value_' + MODE;\n  var RTAB_KEY  = 'gdcycbe_ratio_table_' + MODE;\n  var RVIEW_KEY = 'gdcycbe_ranking_view_' + MODE;\n\n  var state = {\n    tab: lsGet(TAB_KEY, 'results') || 'results',\n    cat: lsGet(CAT_KEY, (CATS[0] ? CATS[0].value : '')) || (CATS[0] ? CATS[0].value : ''),\n    name: lsGet(NAME_KEY, '') || '',\n    federation: lsGet(REG_KEY, 'VLAANDEREN') || 'VLAANDEREN',\n    province: lsGet(PROV_KEY, '') || '',\n    page: parseInt(lsGet(PAGE_KEY, '1') || '1', 10) || 1,\n    resultMonth: lsGet(RMON_KEY, '__CURRENT__') || '__CURRENT__',\n    monthPage: parseInt(lsGet(MPAGE_KEY, '1') || '1', 10) || 1,\n    currentArchiveMonth: lsGet(MVAL_KEY, '') || '',\n    monthTab: 'ranking',\n    ratioTable: lsGet(RTAB_KEY, '') || '',\n    rankingView: lsGet(RVIEW_KEY, 'all') || 'all'\n  };\n\n  var mainNameDebounce = null;\n  var monthDebounce = null;\n\n  var monthBtn = id('btn_month');\n  var monthSection = id('month_section');\n  var monthHeadbar = id('month_headbar');\n  var monthToolbar = id('month_toolbar');\n  var monthSelector = id('month_selector');\n  var monthResults = id('month_results');\n  var monthSearch = id('month_search');\n  var monthSearchContainer = id('month_search_container');\n  var selectedMonthLabel = id('selected_month_label');\n  var backMonthBtn = id('btn_back_month');\n  var rankingSubtabs = id('ranking_subtabs');\n\n  function saveState(){\n    lsSet(TAB_KEY, state.tab);\n    lsSet(CAT_KEY, state.cat);\n    lsSet(NAME_KEY, state.name);\n    lsSet(REG_KEY, state.federation);\n    lsSet(PROV_KEY, state.province);\n    lsSet(PAGE_KEY, String(state.page || 1));\n    lsSet(RMON_KEY, state.resultMonth || '__CURRENT__');\n    lsSet(MPAGE_KEY, String(state.monthPage || 1));\n    lsSet(MVAL_KEY, state.currentArchiveMonth || '');\n    lsSet(RTAB_KEY, state.ratioTable || '');\n    lsSet(RVIEW_KEY, state.rankingView || 'all');\n  }\n\n  function setLoading(box){\n    if (!box) return;\n    box.innerHTML =\n      '<div class=\"gdcycbe-loading\">' +\n        '<img decoding=\"async\" src=\"'+logoUrl+'\" alt=\"GDCYC\">' +\n        '<div class=\"label\">GDCYC.BE<\/div>' +\n        '<div class=\"bar\"><\/div>' +\n      '<\/div>';\n  }\n\n  function bindClearButton(input){\n    if (!input || input.dataset.clearBound === '1') return;\n    input.dataset.clearBound = '1';\n\n    var wrap = document.createElement('div');\n    wrap.className = 'gdcyc-searchwrap';\n    input.parentNode.insertBefore(wrap, input);\n    wrap.appendChild(input);\n\n    var btn = document.createElement('button');\n    btn.type = 'button';\n    btn.className = 'gdcyc-clearbtn';\n    btn.textContent = '\u2715';\n    btn.hidden = !input.value;\n    wrap.appendChild(btn);\n\n    function toggle(){ btn.hidden = input.value.trim() === ''; }\n    input.addEventListener('input', toggle);\n\n    btn.addEventListener('click', function(){\n      input.value = '';\n      toggle();\n      input.dispatchEvent(new Event('input', { bubbles:true }));\n      input.focus();\n    });\n  }\n\n  function bindToggles(scope){\n    if (!scope) return;\n    scope.querySelectorAll('.toggle-btn').forEach(function(btn){\n      if (btn.dataset.bound === '1') return;\n      btn.dataset.bound = '1';\n\n      btn.addEventListener('click', function(){\n        var tr = btn.closest('tr');\n        if (!tr) return;\n        var next = tr.nextElementSibling;\n        if (!next || !next.classList.contains('details-row')) return;\n\n        var isOpen = next.style.display === 'table-row';\n        next.style.display = isOpen ? 'none' : 'table-row';\n        btn.textContent = isOpen ? '+' : '\u2212';\n        btn.setAttribute('aria-expanded', isOpen ? 'false' : 'true');\n      });\n    });\n  }\n\n  function bindPagination(scope, type){\n    if (!scope) return;\n\n    scope.querySelectorAll('.gdcycbe-page-btn').forEach(function(btn){\n      if (btn.dataset.bound === '1') return;\n      btn.dataset.bound = '1';\n\n      btn.addEventListener('click', function(){\n        var p = parseInt(btn.getAttribute('data-page') || '1', 10) || 1;\n        if (type === 'month') {\n          state.monthPage = p;\n          saveState();\n          fetchMonthTable(state.currentArchiveMonth, state.monthPage);\n        } else {\n          state.page = p;\n          saveState();\n          postCurrentTab();\n        }\n      });\n    });\n\n    scope.querySelectorAll('.gdcycbe-page-jump-select').forEach(function(sel){\n      if (sel.dataset.bound === '1') return;\n      sel.dataset.bound = '1';\n\n      sel.addEventListener('change', function(){\n        var p = parseInt(sel.value || '1', 10) || 1;\n        if (type === 'month') {\n          state.monthPage = p;\n          saveState();\n          fetchMonthTable(state.currentArchiveMonth, state.monthPage);\n        } else {\n          state.page = p;\n          saveState();\n          postCurrentTab();\n        }\n      });\n    });\n  }\n\n  function populateCats(){\n    var sel = id('cat');\n    if (!sel) return;\n\n    sel.innerHTML = '';\n    var ph = document.createElement('option');\n    ph.value = '';\n    ph.disabled = true;\n    ph.textContent = L().choose_cat;\n    sel.appendChild(ph);\n\n    CATS.forEach(function(c){\n      var o = document.createElement('option');\n      o.value = c.value;\n      o.textContent = c.label;\n      sel.appendChild(o);\n    });\n\n    if (state.cat && CATS.some(function(c){ return c.value === state.cat; })) {\n      sel.value = state.cat;\n    } else if (CATS.length) {\n      state.cat = CATS[0].value;\n      sel.value = state.cat;\n      saveState();\n    }\n  }\n\n  function populateProvinces(){\n    if (MODE !== 'provinces') return;\n    var sel = id('province');\n    if (!sel) return;\n\n    sel.innerHTML = '';\n    var ph = document.createElement('option');\n    ph.value = '';\n    ph.disabled = true;\n    ph.textContent = L().choose_province;\n    sel.appendChild(ph);\n\n    var list = PROVINCES[state.federation] || [];\n    list.forEach(function(p){\n      var o = document.createElement('option');\n      o.value = p.value;\n      o.textContent = p[currentLang()] || p.fr || p.value;\n      sel.appendChild(o);\n    });\n\n    if (state.province && list.some(function(p){ return p.value === state.province; })) {\n      sel.value = state.province;\n    } else if (list.length) {\n      state.province = list[0].value;\n      sel.value = state.province;\n      saveState();\n    }\n  }\n\n  function getRatioOptions(){\n    var suffix = '';\n    if (MODE === 'belgique') suffix = 'BEL';\n    else if (MODE === 'gdc') suffix = 'GDC';\n    else if (MODE === 'ic') suffix = 'IC';\n    else if (MODE === 'federation') suffix = (state.federation === 'WALLONIE') ? 'WAL' : 'VLAA';\n    if (!suffix) return [];\n\n    return [\n      { value: 'Ratio_5RAces_' + suffix,  label: L().r5 },\n      { value: 'Ratio_10RAces_' + suffix, label: L().r10 },\n      { value: 'Ratio_15RAces_' + suffix, label: L().r15 },\n      { value: 'Ratio_20RAces_' + suffix, label: L().r20 }\n    ];\n  }\n\n  function populateRatioTables(){\n    var sel = id('ratio_table');\n    if (!sel) return;\n\n    sel.innerHTML = '';\n\n    var ph = document.createElement('option');\n    ph.value = '';\n    ph.textContent = L().ratio_choice || 'Ratio (races)';\n    ph.disabled = false;\n    ph.selected = !state.ratioTable;\n    sel.appendChild(ph);\n\n    var opts = getRatioOptions();\n    opts.forEach(function(r){\n      var o = document.createElement('option');\n      o.value = r.value;\n      o.textContent = r.label;\n      sel.appendChild(o);\n    });\n\n    var exists = opts.some(function(r){ return r.value === state.ratioTable; });\n    if (exists) {\n      sel.value = state.ratioTable;\n    } else {\n      state.ratioTable = '';\n      sel.value = '';\n      saveState();\n    }\n  }\n\n  function setActiveRegionButtons(){\n    root.querySelectorAll('.gdcycbe-region-btn').forEach(function(btn){\n      btn.classList.toggle('active', btn.getAttribute('data-region') === state.federation);\n    });\n  }\n\n  function updateRankingSubtabs(){\n    if (!rankingSubtabs) return;\n    var show = state.tab === 'ranking' && juniorTabAllowed(state.cat);\n    rankingSubtabs.classList.toggle('show', show);\n    if (!show) state.rankingView = 'all';\n    rankingSubtabs.querySelectorAll('.gdcycbe-subtab').forEach(function(btn){\n      btn.classList.toggle('active', btn.getAttribute('data-ranking-view') === state.rankingView);\n    });\n  }\n\nfunction getSearchPlaceholder(){\n  if (state.tab === 'ranking') return L().search_runner_ranking || L().search_runner;\n  if (state.tab === 'stats') return L().search_runner_stats || L().search_runner;\n  if (state.tab === 'ratios') return L().search_runner_ratio || L().search_runner;\n  if (state.tab === 'records') return '';\n  return L().search_runner;\n}\n\n  function setMonthTitleText(){\n    var title = id('month_title');\n    if (!title) return;\n    if (state.tab === 'stats') title.textContent = L().month_title_stats;\n    else title.textContent = L().month_title_ranking;\n  }\n\n  function setActiveTabButtons(){\n    root.querySelectorAll('.gdcycbe-tab').forEach(function(btn){\n      var isActive = btn.getAttribute('data-tab') === state.tab;\n      btn.classList.toggle('active', isActive);\n    });\n\n    root.querySelectorAll('.gdcycbe-tabs-sheet-opt').forEach(function(opt){\n      var isActive = opt.getAttribute('data-tab') === state.tab;\n      opt.classList.toggle('active', isActive);\n      opt.setAttribute('aria-selected', isActive ? 'true' : 'false');\n\n      var lastSpan = opt.querySelector('span:last-child');\n      if (lastSpan) lastSpan.textContent = isActive ? '\u2713' : '';\n    });\n\n    if (mobileTabsValue) {\n      var activeBtn = root.querySelector('.gdcycbe-tab[data-tab=\"' + state.tab + '\"]');\n      if (activeBtn) mobileTabsValue.textContent = activeBtn.textContent.trim();\n    }\n\n    var resultMonthBar = id('result_month_bar');\n    if (resultMonthBar) resultMonthBar.style.display = (state.tab === 'results') ? 'block' : 'none';\n\n    if (monthBtn) {\n      monthBtn.style.display = (state.tab === 'ranking' || state.tab === 'stats') ? 'inline-block' : 'none';\n    }\n\n    var ratioSel = id('ratio_table');\n    if (ratioSel) ratioSel.style.display = (state.tab === 'ratios') ? 'inline-block' : 'none';\n\n    var nameInput = id('name');\n    if (nameInput) {\n      nameInput.placeholder = getSearchPlaceholder();\n      nameInput.style.display = (state.tab === 'records') ? 'none' : '';\n    }\n\n    var submitBtn = root.querySelector('.gdcycbe-submit');\n    if (submitBtn) {\n      submitBtn.style.display = (state.tab === 'records') ? 'none' : '';\n    }\n\n    setMonthTitleText();\n    updateRankingSubtabs();\n  }\n\n  function buildMainPayload(){\n    var fd = new URLSearchParams();\n    fd.append('action', 'gdcycbe_fetch_tab');\n    fd.append('mode', MODE);\n    fd.append('tab', state.tab);\n    fd.append('lang', currentLang());\n    fd.append('categorie', state.cat || '');\n    fd.append('search', state.tab === 'records' ? '' : (state.name || ''));\n    fd.append('region', state.federation || 'VLAANDEREN');\n    fd.append('page', String(state.page || 1));\n    fd.append('result_month', state.resultMonth || '__CURRENT__');\n    fd.append('ratio_table', state.ratioTable || '');\n    fd.append('ranking_view', state.rankingView || 'all');\n    if (MODE === 'provinces') fd.append('province', state.province || '');\n    return fd;\n  }\n\n  function fillResultMonths(){\n    var selector = id('result_month_selector');\n    var labelBox = id('result_month_label');\n    if (!selector) return Promise.resolve();\n\n    var fd = new URLSearchParams();\n    fd.append('action', 'gdcycbe_get_result_months');\n    fd.append('mode', MODE);\n    fd.append('lang', currentLang());\n    fd.append('categorie', state.cat || '');\n    fd.append('region', state.federation || 'VLAANDEREN');\n    if (MODE === 'provinces') fd.append('province', state.province || '');\n\n    return fetch(ajaxUrl, {\n      method:'POST',\n      headers:{'Content-Type':'application\/x-www-form-urlencoded; charset=UTF-8'},\n      body:fd.toString(),\n      credentials:'same-origin'\n    })\n    .then(function(r){ return r.json(); })\n    .then(function(json){\n      selector.innerHTML = '';\n      var months = (json && json.ok && Array.isArray(json.months)) ? json.months : [];\n      if (!months.length) {\n        var o = document.createElement('option');\n        o.value = '__CURRENT__';\n        o.textContent = L().current_month;\n        selector.appendChild(o);\n        state.resultMonth = '__CURRENT__';\n        saveState();\n        if (labelBox) labelBox.textContent = o.textContent;\n        return;\n      }\n\n      months.forEach(function(m){\n        var o = document.createElement('option');\n        o.value = m.value;\n        o.textContent = m.label;\n        selector.appendChild(o);\n      });\n\n      var exists = months.some(function(m){ return m.value === state.resultMonth; });\n      if (!exists) state.resultMonth = months[0].value;\n      selector.value = state.resultMonth;\n      saveState();\n\n      var selected = months.find(function(m){ return m.value === state.resultMonth; });\n      if (labelBox) labelBox.textContent = selected ? selected.label : '';\n    })\n    .catch(function(){\n      selector.innerHTML = '';\n      var o = document.createElement('option');\n      o.value = '__CURRENT__';\n      o.textContent = L().current_month;\n      selector.appendChild(o);\n      if (labelBox) labelBox.textContent = o.textContent;\n    });\n  }\n\n  function postCurrentTab(){\n    var box = id('box');\n    if (!box) return;\n    setLoading(box);\n\n    var go = function(){\n      fetch(ajaxUrl, {\n        method:'POST',\n        headers:{'Content-Type':'application\/x-www-form-urlencoded; charset=UTF-8'},\n        body:buildMainPayload().toString(),\n        credentials:'same-origin'\n      })\n      .then(function(r){ return r.json(); })\n      .then(function(json){\n        if (json && typeof json.html === 'string') {\n          box.innerHTML = json.html;\n          bindToggles(box);\n          bindPagination(box, 'main');\n        } else {\n          box.innerHTML = '<div class=\"error-box\">'+L().ajax_err+'<\/div>';\n        }\n      })\n      .catch(function(){\n        box.innerHTML = '<div class=\"error-box\">'+L().ajax_err+'<\/div>';\n      });\n    };\n\n    if (state.tab === 'results') fillResultMonths().then(go);\n    else go();\n  }\n\n  function scrollToMonthSection(){\n    if (!monthSection) return;\n    setTimeout(function(){\n      monthSection.scrollIntoView({ behavior:'smooth', block:'start' });\n    }, 120);\n  }\n\n  function fetchMonthTable(monthValue, page){\n    if (!monthResults) return;\n\n    state.currentArchiveMonth = monthValue || '';\n    state.monthPage = page || 1;\n    saveState();\n\n    var fd = new URLSearchParams();\n    fd.append('action', 'gdcycbe_month_table');\n    fd.append('mode', MODE);\n    fd.append('lang', currentLang());\n    fd.append('categorie', state.cat || '');\n    fd.append('search', (monthSearch && monthSearch.value) ? monthSearch.value : '');\n    fd.append('region', state.federation || 'VLAANDEREN');\n    fd.append('month', state.currentArchiveMonth);\n    fd.append('month_tab', state.monthTab || 'ranking');\n    fd.append('page', String(state.monthPage || 1));\n    fd.append('ranking_view', state.rankingView || 'all');\n    if (MODE === 'provinces') fd.append('province', state.province || '');\n\n    monthResults.innerHTML =\n      '<div class=\"gdcycbe-loading\">' +\n        '<img decoding=\"async\" src=\"'+logoUrl+'\" alt=\"GDCYC\">' +\n        '<div class=\"label\">GDCYC.BE<\/div>' +\n        '<div class=\"bar\"><\/div>' +\n      '<\/div>';\n\n    scrollToMonthSection();\n\n    fetch(ajaxUrl, {\n      method:'POST',\n      headers:{'Content-Type':'application\/x-www-form-urlencoded; charset=UTF-8'},\n      body:fd.toString(),\n      credentials:'same-origin'\n    })\n    .then(function(r){ return r.json(); })\n    .then(function(json){\n      monthResults.innerHTML = (json && json.html !== undefined) ? json.html : '<div class=\"error-box\">'+L().ajax_err+'<\/div>';\n      if (monthHeadbar) monthHeadbar.style.display = 'block';\n      if (monthSearchContainer) monthSearchContainer.style.display = monthResults.querySelector('table') ? 'block' : 'none';\n      if (selectedMonthLabel) selectedMonthLabel.textContent = (json && json.label) ? json.label : '';\n      bindToggles(monthResults);\n      bindPagination(monthResults, 'month');\n      scrollToMonthSection();\n    })\n    .catch(function(){\n      monthResults.innerHTML = '<div class=\"error-box\">'+L().ajax_err+'<\/div>';\n      scrollToMonthSection();\n    });\n  }\n\n  function openMonthPanel(){\n    if (!monthSection || !monthSelector || !monthResults) return;\n    if (!state.cat) return;\n    if (!(state.tab === 'ranking' || state.tab === 'stats')) return;\n\n    state.monthTab = state.tab;\n    state.monthPage = 1;\n    state.currentArchiveMonth = '__CURRENT__';\n    saveState();\n\n    monthSection.style.display = 'block';\n    monthHeadbar.style.display = 'none';\n    monthToolbar.style.display = 'none';\n    monthSearchContainer.style.display = 'none';\n    monthResults.innerHTML = '';\n    monthSelector.innerHTML = '';\n    if (monthSearch) monthSearch.value = '';\n\n    setMonthTitleText();\n    scrollToMonthSection();\n\n    var fd = new URLSearchParams();\n    fd.append('action', 'gdcycbe_get_available_months');\n    fd.append('mode', MODE);\n    fd.append('lang', currentLang());\n    fd.append('categorie', state.cat || '');\n    fd.append('month_tab', state.monthTab);\n    fd.append('region', state.federation || 'VLAANDEREN');\n    if (MODE === 'provinces') fd.append('province', state.province || '');\n\n    fetch(ajaxUrl, {\n      method:'POST',\n      headers:{'Content-Type':'application\/x-www-form-urlencoded; charset=UTF-8'},\n      body:fd.toString(),\n      credentials:'same-origin'\n    })\n    .then(function(r){ return r.json(); })\n    .then(function(json){\n      var months = (json && json.ok && Array.isArray(json.months)) ? json.months : [];\n      monthSelector.innerHTML = '';\n\n      if (!months.length) {\n        monthToolbar.style.display = 'none';\n        monthResults.innerHTML = '<div class=\"error-box\">'+L().no_month_available+'<\/div>';\n        monthHeadbar.style.display = 'block';\n        if (selectedMonthLabel) selectedMonthLabel.textContent = '';\n        scrollToMonthSection();\n        return;\n      }\n\n      months.forEach(function(m, index){\n        var o = document.createElement('option');\n        o.value = m.value;\n        o.textContent = m.label;\n        if (index === 0) o.selected = true;\n        monthSelector.appendChild(o);\n      });\n\n      monthToolbar.style.display = 'block';\n      state.currentArchiveMonth = months[0].value;\n      saveState();\n      fetchMonthTable(state.currentArchiveMonth, 1);\n    })\n    .catch(function(){\n      monthToolbar.style.display = 'none';\n      monthResults.innerHTML = '<div class=\"error-box\">'+L().ajax_err+'<\/div>';\n      scrollToMonthSection();\n    });\n  }\n\n  root.querySelectorAll('.gdcycbe-tab').forEach(function(btn){\n    btn.addEventListener('click', function(){\n      state.tab = btn.getAttribute('data-tab') || 'results';\n      state.page = 1;\n      saveState();\n      setActiveTabButtons();\n      if (monthSection) monthSection.style.display = 'none';\n      postCurrentTab();\n    });\n  });\n    function openMobileTabsSheet(){\n    if (!mobileTabsOverlay || !mobileTabsSheet || !mobileTabsBtn) return;\n    mobileTabsOverlay.hidden = false;\n    mobileTabsOverlay.style.display = 'block';\n    mobileTabsSheet.classList.add('show');\n    mobileTabsBtn.setAttribute('aria-expanded', 'true');\n    document.body.style.overflow = 'hidden';\n  }\n\n  function closeMobileTabsSheet(){\n    if (!mobileTabsOverlay || !mobileTabsSheet || !mobileTabsBtn) return;\n    mobileTabsSheet.classList.remove('show');\n    mobileTabsOverlay.style.display = 'none';\n    mobileTabsOverlay.hidden = true;\n    mobileTabsBtn.setAttribute('aria-expanded', 'false');\n    document.body.style.overflow = '';\n  }\n\n  if (mobileTabsBtn) {\n    mobileTabsBtn.addEventListener('click', openMobileTabsSheet);\n  }\n\n  if (mobileTabsOverlay) {\n    mobileTabsOverlay.addEventListener('click', closeMobileTabsSheet);\n  }\n\n  if (mobileTabsClose) {\n    mobileTabsClose.addEventListener('click', closeMobileTabsSheet);\n  }\n\n  root.querySelectorAll('.gdcycbe-tabs-sheet-opt').forEach(function(opt){\n    opt.addEventListener('click', function(){\n      state.tab = opt.getAttribute('data-tab') || 'results';\n      state.page = 1;\n      saveState();\n      setActiveTabButtons();\n      closeMobileTabsSheet();\n      if (monthSection) monthSection.style.display = 'none';\n      postCurrentTab();\n    });\n  });\n\n\tif (rankingSubtabs) {\n\t  rankingSubtabs.querySelectorAll('.gdcycbe-subtab').forEach(function(btn){\n\t\tbtn.addEventListener('click', function(){\n\t\t  state.rankingView = btn.getAttribute('data-ranking-view') || 'all';\n\t\t  state.page = 1;\n\t\t  state.monthPage = 1;\n\t\t  saveState();\n\t\t  updateRankingSubtabs();\n\n\t\t  \/* si on clique sur ALL, on quitte l'affichage mois *\/\n\t\t  if (state.rankingView === 'all') {\n\t\t\tif (monthSection) monthSection.style.display = 'none';\n\t\t\tif (monthResults) monthResults.innerHTML = '';\n\t\t\tif (monthSelector) monthSelector.innerHTML = '';\n\t\t\tif (monthSearch) monthSearch.value = '';\n\t\t\tif (selectedMonthLabel) selectedMonthLabel.textContent = '';\n\t\t\tstate.currentArchiveMonth = '';\n\t\t\tstate.monthTab = 'ranking';\n\t\t\tsaveState();\n\n\t\t\tpostCurrentTab();\n\t\t\treturn;\n\t\t  }\n\n\t\t  \/* si on clique sur 1re ann\u00e9e et que le mois est ouvert, on recharge le mois *\/\n\t\t  if (monthSection && monthSection.style.display !== 'none' && state.monthTab === 'ranking' && state.currentArchiveMonth) {\n\t\t\tfetchMonthTable(state.currentArchiveMonth, 1);\n\t\t  } else {\n\t\t\tpostCurrentTab();\n\t\t  }\n\t\t});\n\t  });\n\t}\n\n  root.querySelectorAll('.gdcycbe-region-btn').forEach(function(btn){\n    btn.addEventListener('click', function(){\n      state.federation = btn.getAttribute('data-region') || 'VLAANDEREN';\n      setActiveRegionButtons();\n\n      if (MODE === 'provinces') populateProvinces();\n      populateRatioTables();\n\n      if (!juniorTabAllowed(state.cat)) state.rankingView = 'all';\n\n      state.page = 1;\n      saveState();\n      setActiveTabButtons();\n\n      if (monthSection) monthSection.style.display = 'none';\n      postCurrentTab();\n    });\n  });\n\n\tvar form = id('form');\n\tif (form) {\n\t  form.addEventListener('submit', function(e){\n\t\te.preventDefault();\n\t\tif (state.tab === 'records') return;\n\t\tstate.page = 1;\n\t\tsaveState();\n\t\tif (monthSection) monthSection.style.display = 'none';\n\t\tpostCurrentTab();\n\t  });\n\t}\n\n  var catSel = id('cat');\n  if (catSel) {\n    catSel.addEventListener('change', function(){\n      state.cat = catSel.value || '';\n      if (!juniorTabAllowed(state.cat)) state.rankingView = 'all';\n      state.page = 1;\n      saveState();\n      setActiveTabButtons();\n      if (monthSection) monthSection.style.display = 'none';\n      postCurrentTab();\n    });\n  }\n\n  var ratioSel = id('ratio_table');\n  if (ratioSel) {\n    ratioSel.addEventListener('change', function(){\n      state.ratioTable = this.value || '';\n      state.page = 1;\n      saveState();\n      postCurrentTab();\n    });\n  }\n\n  var nameInput = id('name');\n  if (nameInput) {\n    nameInput.value = state.name || '';\n    bindClearButton(nameInput);\n\n    nameInput.addEventListener('input', function(){\n      state.name = nameInput.value || '';\n      state.page = 1;\n      saveState();\n      clearTimeout(mainNameDebounce);\n      mainNameDebounce = setTimeout(function(){ postCurrentTab(); }, 350);\n    });\n  }\n\n  var provinceSel = id('province');\n  if (provinceSel) {\n    provinceSel.addEventListener('change', function(){\n      state.province = provinceSel.value || '';\n      state.page = 1;\n      saveState();\n      if (monthSection) monthSection.style.display = 'none';\n      postCurrentTab();\n    });\n  }\n\n  var resultMonthSelector = id('result_month_selector');\n  if (resultMonthSelector) {\n    resultMonthSelector.addEventListener('change', function(){\n      state.resultMonth = this.value || '__CURRENT__';\n      state.page = 1;\n      saveState();\n\n      var text = '';\n      if (this.selectedIndex >= 0) text = this.options[this.selectedIndex].text || '';\n      var labelBox = id('result_month_label');\n      if (labelBox) labelBox.textContent = text;\n\n      postCurrentTab();\n    });\n  }\n\n  if (monthBtn) {\n    monthBtn.addEventListener('click', function(){\n      openMonthPanel();\n    });\n  }\n\n  if (backMonthBtn) {\n    backMonthBtn.addEventListener('click', function(){\n      if (monthSection) monthSection.style.display = 'none';\n    });\n  }\n\n  if (monthSelector) {\n    monthSelector.addEventListener('change', function(){\n      if (this.value) {\n        state.monthPage = 1;\n        saveState();\n        fetchMonthTable(this.value, 1);\n      }\n    });\n  }\n\n  if (monthSearch) {\n    bindClearButton(monthSearch);\n    monthSearch.addEventListener('input', function(){\n      clearTimeout(monthDebounce);\n      monthDebounce = setTimeout(function(){\n        state.monthPage = 1;\n        saveState();\n        if (state.currentArchiveMonth) fetchMonthTable(state.currentArchiveMonth, 1);\n      }, 350);\n    });\n  }\n\n  window.addEventListener('gdcyc:lang-change', function(){\n    populateCats();\n    if (MODE === 'provinces') populateProvinces();\n    populateRatioTables();\n    setActiveRegionButtons();\n    setActiveTabButtons();\n\n    if (nameInput) nameInput.placeholder = getSearchPlaceholder();\n\n    var submitBtn = root.querySelector('.gdcycbe-submit');\n    if (submitBtn) submitBtn.textContent = L().search;\n    if (monthBtn) monthBtn.textContent = L().btn_show_month;\n    if (backMonthBtn) backMonthBtn.textContent = L().btn_back_search;\n    if (monthSearch) monthSearch.placeholder = L().month_search_ph;\n    setMonthTitleText();\n\n    root.querySelectorAll('.gdcycbe-tab').forEach(function(btn){\n      var tab = btn.getAttribute('data-tab');\n      if (tab === 'results') btn.textContent = L().results;\n      if (tab === 'stats') btn.textContent = L().stats;\n      if (tab === 'ranking') btn.textContent = L().ranking;\n      if (tab === 'records') btn.textContent = L().records;\n      if (tab === 'ratios') btn.textContent = L().ratios;\n    });\n\n    if (rankingSubtabs) {\n      rankingSubtabs.querySelectorAll('.gdcycbe-subtab').forEach(function(btn){\n        var view = btn.getAttribute('data-ranking-view');\n        if (view === 'all') btn.textContent = L().all_riders;\n        if (view === 'j') btn.textContent = (L().first_year || '1re ann\u00e9e') + ' \u2726';\n      });\n    }\n\n    root.querySelectorAll('.gdcycbe-region-btn').forEach(function(btn){\n      var reg = btn.getAttribute('data-region');\n      var span = btn.querySelector('span');\n      if (!span) return;\n      if (reg === 'VLAANDEREN') span.textContent = L().vla;\n      if (reg === 'WALLONIE') span.textContent = L().wal;\n    });\n\n    postCurrentTab();\n  });\n\n  populateCats();\n  setActiveRegionButtons();\n  if (MODE === 'provinces') populateProvinces();\n  populateRatioTables();\n  setActiveTabButtons();\n  if (nameInput) nameInput.placeholder = getSearchPlaceholder();\n  postCurrentTab();\n})();\n<\/script>\n\n\n    <style>\n      .gdcyc-footer-premium{\n        max-width:1240px;\n        margin:18px auto 28px auto;\n        padding:0 8px;\n        color:#fff;\n        font-family:'Roboto',system-ui,-apple-system,\"Segoe UI\",Arial,sans-serif;\n      }\n\n      .gdcyc-footer-card{\n        position:relative;\n        overflow:hidden;\n        border-radius:24px;\n        padding:18px 20px;\n        background:\n          linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),\n          linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),\n          radial-gradient(circle at 14% 18%, rgba(0,0,0,.10) 0%, transparent 20%),\n          radial-gradient(circle at 82% 16%, rgba(255,206,0,.10) 0%, transparent 24%),\n          radial-gradient(circle at 48% 85%, rgba(239,51,64,.09) 0%, transparent 18%),\n          linear-gradient(135deg, rgba(14,14,14,.96) 0%, rgba(35,35,35,.96) 40%, rgba(10,10,10,.94) 100%);\n        background-size:42px 42px,42px 42px,auto,auto,auto,auto;\n        border:1px solid rgba(255,255,255,.10);\n        box-shadow:\n          0 16px 40px rgba(0,0,0,.22),\n          inset 0 1px 0 rgba(255,255,255,.05);\n      }\n\n      .gdcyc-footer-card::before{\n        content:\"\";\n        position:absolute;\n        inset:-1px;\n        border-radius:inherit;\n        pointer-events:none;\n        background:linear-gradient(135deg, rgba(255,255,255,.10), transparent 25%, transparent 75%, rgba(255,255,255,.05));\n        mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);\n        -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);\n        padding:1px;\n        mask-composite:exclude;\n        -webkit-mask-composite:xor;\n      }\n\n      .gdcyc-footer-row{\n        display:flex;\n        align-items:center;\n        justify-content:space-between;\n        gap:18px;\n        flex-wrap:wrap;\n      }\n\n      .gdcyc-footer-left{\n        display:flex;\n        flex-direction:column;\n        gap:6px;\n        min-width:0;\n      }\n\n      .gdcyc-footer-brand{\n        font-size:1rem;\n        font-weight:800;\n        letter-spacing:.06em;\n      }\n\n      .gdcyc-footer-sub{\n        color:rgba(255,255,255,.74);\n        font-size:.92rem;\n      }\n\n      .gdcyc-footer-links{\n        display:flex;\n        align-items:center;\n        gap:10px;\n        flex-wrap:wrap;\n      }\n\n      .gdcyc-footer-links a{\n        display:inline-flex;\n        align-items:center;\n        justify-content:center;\n        gap:8px;\n        min-height:42px;\n        padding:9px 14px;\n        border-radius:14px;\n        border:1px solid rgba(255,255,255,.12);\n        background:rgba(255,255,255,.06);\n        color:#fff !important;\n        text-decoration:none !important;\n        font-weight:700;\n        transition:background .2s ease, transform .2s ease, box-shadow .2s ease;\n        box-shadow:0 8px 20px rgba(0,0,0,.10);\n      }\n\n      .gdcyc-footer-links a:hover{\n        background:rgba(255,255,255,.10);\n        transform:translateY(-1px);\n      }\n\n      .gdcyc-footer-facebook{\n        position:relative;\n        overflow:hidden;\n        background:linear-gradient(135deg, #1877F2 0%, #0f5dc9 100%) !important;\n        border:1px solid rgba(255,255,255,.18) !important;\n        box-shadow:0 10px 24px rgba(24,119,242,.28) !important;\n      }\n\n      .gdcyc-footer-facebook::before{\n        content:\"\";\n        position:absolute;\n        inset:0;\n        background:linear-gradient(135deg, rgba(255,255,255,.16), transparent 40%, transparent 70%, rgba(255,255,255,.08));\n        pointer-events:none;\n      }\n\n      .gdcyc-footer-facebook:hover{\n        filter:brightness(1.05);\n        box-shadow:0 14px 30px rgba(24,119,242,.34) !important;\n      }\n\n      .gdcyc-footer-facebook .fb-icon{\n        display:inline-flex;\n        align-items:center;\n        justify-content:center;\n        width:22px;\n        height:22px;\n        border-radius:999px;\n        background:rgba(255,255,255,.18);\n        font-size:14px;\n        font-weight:900;\n        flex:0 0 auto;\n      }\n\n      .gdcyc-footer-facebook .fb-text{\n        display:flex;\n        flex-direction:column;\n        line-height:1.05;\n        text-align:left;\n      }\n\n      .gdcyc-footer-facebook .fb-text small{\n        font-size:.72rem;\n        opacity:.88;\n        font-weight:600;\n      }\n\n      @media (max-width:640px){\n        .gdcyc-footer-card{\n          padding:16px 14px;\n          border-radius:20px;\n        }\n\n        .gdcyc-footer-row{\n          flex-direction:column;\n          align-items:flex-start;\n        }\n\n        .gdcyc-footer-links{\n          width:100%;\n        }\n\n        .gdcyc-footer-links a{\n          width:100%;\n        }\n      }\n    <\/style>\n\n    <div class=\"gdcyc-footer-premium\">\n      <div class=\"gdcyc-footer-card\">\n        <div class=\"gdcyc-footer-row\">\n          <div class=\"gdcyc-footer-left\">\n            <div class=\"gdcyc-footer-brand\" id=\"gdcycFooterBrand\">GDCYC BELGIQUE<\/div>\n            <div class=\"gdcyc-footer-sub\" id=\"gdcycFooterSub\">Cyclisme \u2022 Belgique<\/div>\n          <\/div>\n\n          <div class=\"gdcyc-footer-links\">\n            <a href=\"https:\/\/gdcyc.be\/\" id=\"gdcycFooterBelgique\">\ud83c\udde7\ud83c\uddea Belgique<\/a>\n\n            <a href=\"https:\/\/gdcyc.fr\/\" id=\"gdcycFooterFrance\">\ud83c\uddeb\ud83c\uddf7 France<\/a>\n\n            <a href=\"https:\/\/gdcyc.de\/\" id=\"gdcycFooterAllemagne\">\ud83c\udde9\ud83c\uddea Allemagne<\/a>\n\n            <a href=\"https:\/\/www.facebook.com\/profile.php?id=61559222925474\"\n               id=\"gdcycFooterFacebook\"\n               class=\"gdcyc-footer-facebook\"\n               target=\"_blank\"\n               rel=\"noopener noreferrer\">\n              <span class=\"fb-icon\">f<\/span>\n              <span class=\"fb-text\">\n                <span id=\"gdcycFooterFacebookTitle\">Rejoindre Facebook<\/span>\n                <small id=\"gdcycFooterFacebookSub\">Suivre la page GDCYC<\/small>\n              <\/span>\n            <\/a>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <script>\n      (function(){\n        var FOOTER_TX = {\n          fr: {\n            brand: 'GDCYC BELGIQUE',\n            sub: 'Cyclisme \u2022 Belgique',\n            belgique: 'Belgique',\n            france: 'France',\n            allemagne: 'Allemagne',\n            fbTitle: 'Rejoindre Facebook',\n            fbSub: 'Suivre la page GDCYC'\n          },\n          nl: {\n            brand: 'GDCYC BELGI\u00cb',\n            sub: 'Wielrennen \u2022 Belgi\u00eb',\n            belgique: 'Belgi\u00eb',\n            france: 'Frankrijk',\n            allemagne: 'Duitsland',\n            fbTitle: 'Facebook volgen',\n            fbSub: 'Volg de GDCYC-pagina'\n          },\n          en: {\n            brand: 'GDCYC BELGIUM',\n            sub: 'Cycling \u2022 Belgium',\n            belgique: 'Belgium',\n            france: 'France',\n            allemagne: 'Germany',\n            fbTitle: 'Join on Facebook',\n            fbSub: 'Follow the GDCYC page'\n          }\n        };\n\n        function getLang(){\n          if (window.GDCYC_LANG && typeof window.GDCYC_LANG.get === 'function') {\n            return window.GDCYC_LANG.get();\n          }\n          return (window.currentLang || 'en');\n        }\n\n        function applyFooterLang(){\n          var lang = getLang();\n          var tx = FOOTER_TX[lang] || FOOTER_TX.en;\n\n          var brand = document.getElementById('gdcycFooterBrand');\n          var sub = document.getElementById('gdcycFooterSub');\n          var be = document.getElementById('gdcycFooterBelgique');\n          var fr = document.getElementById('gdcycFooterFrance');\n          var de = document.getElementById('gdcycFooterAllemagne');\n          var fbTitle = document.getElementById('gdcycFooterFacebookTitle');\n          var fbSub = document.getElementById('gdcycFooterFacebookSub');\n\n          if (brand) brand.textContent = tx.brand;\n          if (sub) sub.textContent = tx.sub;\n          if (be) be.innerHTML = '\ud83c\udde7\ud83c\uddea ' + tx.belgique;\n          if (fr) fr.innerHTML = '\ud83c\uddeb\ud83c\uddf7 ' + tx.france;\n          if (de) de.innerHTML = '\ud83c\udde9\ud83c\uddea ' + tx.allemagne;\n          if (fbTitle) fbTitle.textContent = tx.fbTitle;\n          if (fbSub) fbSub.textContent = tx.fbSub;\n        }\n\n        document.addEventListener('DOMContentLoaded', applyFooterLang);\n        window.addEventListener('gdcyc:lang-change', applyFooterLang);\n        applyFooterLang();\n      })();\n    <\/script>\n    \n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-bd7fca6 e-flex e-con-boxed e-con e-parent\" data-id=\"bd7fca6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-5","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/gdcyc.be\/index.php\/wp-json\/wp\/v2\/pages\/5","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gdcyc.be\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gdcyc.be\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gdcyc.be\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gdcyc.be\/index.php\/wp-json\/wp\/v2\/comments?post=5"}],"version-history":[{"count":1161,"href":"https:\/\/gdcyc.be\/index.php\/wp-json\/wp\/v2\/pages\/5\/revisions"}],"predecessor-version":[{"id":18576,"href":"https:\/\/gdcyc.be\/index.php\/wp-json\/wp\/v2\/pages\/5\/revisions\/18576"}],"wp:attachment":[{"href":"https:\/\/gdcyc.be\/index.php\/wp-json\/wp\/v2\/media?parent=5"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}