{"id":6862,"date":"2026-08-03T20:41:18","date_gmt":"2026-08-03T20:41:18","guid":{"rendered":"https:\/\/k9goldlabel.com\/portail-dachat-b2b\/"},"modified":"2026-10-05T12:39:15","modified_gmt":"2026-10-05T12:39:15","slug":"portail-dachat-b2b","status":"publish","type":"page","link":"https:\/\/k9test.voetbalcoachassistent.site\/fr\/portail-dachat-b2b\/","title":{"rendered":"Portail d&rsquo;achat B2B"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"6862\" class=\"elementor elementor-6862 elementor-5758\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d0f5e07 e-flex e-con-boxed e-con e-parent\" data-id=\"d0f5e07\" 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-dad1db1 elementor-widget elementor-widget-shortcode\" data-id=\"dad1db1\" 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\"><!--\r\n\tK9 GOLD LABEL B2B PORTAAL \u2014 samengevoegde versie\r\n\tVisuele laag: oorspronkelijk \"perfecte\" prototype-ontwerp (sidebar categorie\u00ebn,\r\n\t+\/- bij aantal, subtotaal per regel, alles op \u00e9\u00e9n pagina bestellen)\r\n\tDatabron: echte WooCommerce-koppeling via window.k9B2B (k9_get_portal_data,\r\n\tk9_check_vat, k9_place_order, k9_get_order_history) \u2014 zelfde AJAX-acties als\r\n\tde huidige werkende versie van Snippet 1.\r\n\tVereist: Snippet 5936 (\"K9 B2B Portal - WooCommerce Functies\") en 5945\r\n\t(\"K9 B2B Portal Kortingslogica\") actief.\r\n\tLET OP: nog niet getest tegen de live backend \u2014 eerst controleren op\r\n\tk9goldlabel.com\/b2b-inkoopportaal voordat je 'm als definitief beschouwt.\r\n-->\r\n<div id=\"k9-b2b-root\">\r\n\r\n\t<div id=\"k9-loader\" class=\"k9-loader\">\r\n\t\t<img decoding=\"async\" src=\"https:\/\/k9test.voetbalcoachassistent.site\/wp-content\/uploads\/2026\/05\/Originele-kleuren-New-Logo.png\" alt=\"K9 Gold Label\" style=\"height:90px;width:auto;display:block;margin:0 auto 10px;\">\r\n\t\t<p>Portaal wordt geladen...<\/p>\r\n\t<\/div>\r\n\r\n\t<div id=\"k9-portal-app\" class=\"k9-hidden\">\r\n\r\n\t\t<!-- Header -->\r\n\t\t<div class=\"portal-header\">\r\n\t\t\t<div style=\"display:flex;align-items:center;gap:12px;cursor:pointer;\" onclick=\"k9ShowView('dashboard')\">\r\n\t\t\t\t<img decoding=\"async\" src=\"https:\/\/k9test.voetbalcoachassistent.site\/wp-content\/uploads\/2026\/05\/Originele-kleuren-New-Logo.png\" alt=\"K9 Gold Label\" style=\"height:44px;width:auto;\">\r\n\t\t\t\t<div class=\"hdr-sep\"><\/div>\r\n\t\t\t\t<div class=\"hdr-portal-tag\">B2B Inkoopportaal<\/div>\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"hdr-right\">\r\n\t\t\t\t<div class=\"hdr-user\">\r\n\t\t\t\t\t<div class=\"hdr-meta\">\r\n\t\t\t\t\t\t<span class=\"badge bw\" id=\"k9-user-badge-type\"><\/span>\r\n\t\t\t\t\t\t<span style=\"margin-left:6px;font-size:12px;color:#666;\" id=\"k9-user-badge-disc\"><\/span>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<select id=\"k9-lang-switch\" class=\"btn-ghost\" style=\"padding:6px 10px;\">\r\n\t\t\t\t\t<option value=\"nl\">NL<\/option>\r\n\t\t\t\t\t<option value=\"de\">DE<\/option>\r\n\t\t\t\t\t<option value=\"en\">EN<\/option>\r\n\t\t\t\t\t<option value=\"es\">ES<\/option>\r\n\t\t\t\t\t<option value=\"fr\">FR<\/option>\r\n\t\t\t\t<\/select>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\r\n\t\t<!-- ===== DASHBOARD ===== -->\r\n\t\t<div id=\"k9-view-dashboard\" class=\"k9-view\">\r\n\t\t\t<div class=\"dashboard-hero\">\r\n\t\t\t\t<div class=\"dashboard-left\">\r\n\t\t\t\t\t<div class=\"dashboard-welcome\">K9 Gold Label<\/div>\r\n\t\t\t\t\t<h1 class=\"dashboard-title\">Welkom terug<br><span id=\"k9-user-name-title\">partner<\/span><\/h1>\r\n\t\t\t\t\t<p class=\"dashboard-sub\">Bestel uw supplementen eenvoudig en snel.<br>Bekijk eerdere bestellingen en herhaal ze met \u00e9\u00e9n klik.<\/p>\r\n\t\t\t\t\t<div class=\"dashboard-btns\">\r\n\t\t\t\t\t\t<button class=\"dash-btn dash-btn-primary\" onclick=\"k9ShowView('shop')\">Nieuwe bestelling <span>&#8594;<\/span><\/button>\r\n\t\t\t\t\t\t<button class=\"dash-btn dash-btn-secondary\" onclick=\"k9ShowView('history')\">Overzicht bestellingen <span>&#8594;<\/span><\/button>\r\n\t\t\t\t\t\t<a href=\"https:\/\/drive.google.com\/drive\/folders\/1DB_PV_gTVmjqQRCUU5FMXTajhq2CmNYk\" target=\"_blank\" rel=\"noopener\" class=\"dash-btn dash-btn-secondary\" style=\"text-decoration:none;\">Marketing <span>&#8594;<\/span><\/a>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"dashboard-right\">\r\n\t\t\t\t\t<div class=\"dashboard-right-inner\">\r\n\t\t\t\t\t\t<div class=\"dash-stat\">\r\n\t\t\t\t\t\t\t<div class=\"dash-stat-label\">Uw B2B korting<\/div>\r\n\t\t\t\t\t\t\t<div class=\"dash-stat-value\" id=\"k9-stat-discount\">-<\/div>\r\n\t\t\t\t\t\t\t<div class=\"dash-stat-sub\">Op de retailprijs excl. BTW<\/div>\r\n\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t<div class=\"dash-stat\">\r\n\t\t\t\t\t\t\t<div class=\"dash-stat-label\">Totaal bestellingen<\/div>\r\n\t\t\t\t\t\t\t<div class=\"dash-stat-value\" id=\"k9-stat-orders\">-<\/div>\r\n\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\r\n\t\t<!-- ===== SHOP (catalogus + live besteloverzicht + afrekenen, alles op \u00e9\u00e9n pagina) ===== -->\r\n\t\t<div id=\"k9-view-shop\" class=\"k9-view k9-hidden\">\r\n\t\t\t<div class=\"shop-layout\">\r\n\r\n\t\t\t\t<div class=\"shop-sidebar\">\r\n\t\t\t\t\t<div class=\"sidebar-title\">Categorie\u00ebn<\/div>\r\n\t\t\t\t\t<div id=\"k9-cat-list\"><\/div>\r\n\t\t\t\t<\/div>\r\n\r\n\t\t\t\t<div class=\"shop-main\">\r\n\t\t\t\t\t<button class=\"btn-back-dash\" onclick=\"k9ShowView('dashboard')\">&#8592; Terug naar dashboard<\/button>\r\n\r\n\t\t\t\t\t<div class=\"shop-topbar\">\r\n\t\t\t\t\t\t<div class=\"search-wrap\">\r\n\t\t\t\t\t\t\t<span class=\"search-ico\">&#128269;<\/span>\r\n\t\t\t\t\t\t\t<input type=\"text\" class=\"search-input\" id=\"k9-search-input\" placeholder=\"Zoek product...\" oninput=\"k9SearchProducts()\">\r\n\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t<div class=\"shop-topbar-right\"><span class=\"results-count\" id=\"k9-results-count\"><\/span><\/div>\r\n\t\t\t\t\t<\/div>\r\n\r\n\t\t\t\t\t<div id=\"k9-shipping-incentive\" class=\"k9-tier-message k9-hidden\" style=\"background:#eef7ee;border-color:#2D8A50;color:#1e5c36;\"><\/div>\r\n\r\n\t\t\t\t\t<div id=\"k9-product-grid\"><\/div>\r\n\r\n\t\t\t\t\t<!-- Live besteloverzicht -->\r\n\t\t\t\t\t<div class=\"shop-order-summary\">\r\n\t\t\t\t\t\t<div id=\"k9-tier-message\" class=\"k9-tier-message k9-hidden\"><\/div>\r\n\r\n\t\t\t\t\t\t<div style=\"margin-bottom:16px;\">\r\n\t\t\t\t\t\t\t<button class=\"disc-toggle-btn\" onclick=\"k9ToggleDiscount()\">Heb je een kortingscode? Klik hier om je code in te vullen.<\/button>\r\n\t\t\t\t\t\t\t<div class=\"disc-row\" id=\"k9-disc-row\">\r\n\t\t\t\t\t\t\t\t<input type=\"text\" class=\"disc-inp\" id=\"k9-coupon-input\" placeholder=\"JOUWCODE\" maxlength=\"20\">\r\n\t\t\t\t\t\t\t\t<button class=\"disc-apply-btn\" onclick=\"k9ApplyCoupon()\">Toepassen<\/button>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<div class=\"disc-status\" id=\"k9-coupon-feedback\"><\/div>\r\n\t\t\t\t\t\t<\/div>\r\n\r\n\t\t\t\t\t\t<div class=\"shop-sum-card\" id=\"k9-sum-card\">\r\n\t\t\t\t\t\t\t<div class=\"shop-sum-head\">\r\n\t\t\t\t\t\t\t\t<span class=\"shop-sum-head-title\">Besteloverzicht<\/span>\r\n\t\t\t\t\t\t\t\t<span class=\"shop-sum-count\" id=\"k9-sum-count\"><\/span>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<div class=\"shop-sum-body\" id=\"k9-sum-body\">\r\n\t\t\t\t\t\t\t\t<div class=\"shop-sum-empty\">Voeg producten toe om uw bestelling te zien<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\r\n\t\t\t\t\t<!-- Factuur- en bezorgadres, betaling, bestellen -->\r\n\t\t\t\t\t<div style=\"margin-top:20px;\">\r\n\t\t\t\t\t\t<div class=\"checkout-section\">\r\n\t\t\t\t\t\t\t<div class=\"cs-head\">Factuuradres<\/div>\r\n\t\t\t\t\t\t\t<div class=\"cs-body\">\r\n\t\t\t\t\t\t\t\t<div class=\"form-2col\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"fg full\"><label>Bedrijfsnaam<\/label><input type=\"text\" id=\"k9-billing-company\"><\/div>\r\n\t\t\t\t\t\t\t\t\t<div class=\"fg full\"><label>Straat en huisnummer<\/label><input type=\"text\" id=\"k9-billing-address\"><\/div>\r\n\t\t\t\t\t\t\t\t\t<div class=\"fg\"><label>Postcode<\/label><input type=\"text\" id=\"k9-billing-postcode\"><\/div>\r\n\t\t\t\t\t\t\t\t\t<div class=\"fg\"><label>Plaats<\/label><input type=\"text\" id=\"k9-billing-city\"><\/div>\r\n\t\t\t\t\t\t\t\t\t<div class=\"fg\"><label>Land<\/label><select id=\"k9-billing-country\"><\/select><\/div>\r\n\t\t\t\t\t\t\t\t\t<div class=\"fg\">\r\n\t\t\t\t\t\t\t\t\t\t<label>BTW-nummer (EU)<\/label>\r\n\t\t\t\t\t\t\t\t\t\t<input type=\"text\" id=\"k9-billing-vat\" placeholder=\"NL123456789B01\" onblur=\"k9CheckVat()\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"vat-note\" id=\"k9-vat-feedback\"><\/div>\r\n\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t<label class=\"same-chk\" style=\"margin-top:12px;\">\r\n\t\t\t\t\t\t\t\t\t<input type=\"checkbox\" id=\"k9-same-address\" checked onchange=\"k9ToggleShipping()\">\r\n\t\t\t\t\t\t\t\t\t<span>Bezorgadres is gelijk aan factuuradres<\/span>\r\n\t\t\t\t\t\t\t\t<\/label>\r\n\t\t\t\t\t\t\t\t<div id=\"k9-shipping-fields\" style=\"display:none;\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"form-2col\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"fg full\"><label>Bedrijfsnaam<\/label><input type=\"text\" id=\"k9-shipping-company\"><\/div>\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"fg full\"><label>Straat en huisnummer<\/label><input type=\"text\" id=\"k9-shipping-address\"><\/div>\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"fg\"><label>Postcode<\/label><input type=\"text\" id=\"k9-shipping-postcode\"><\/div>\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"fg\"><label>Plaats<\/label><input type=\"text\" id=\"k9-shipping-city\"><\/div>\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"fg\"><label>Land<\/label><select id=\"k9-shipping-country\"><\/select><\/div>\r\n\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t<\/div>\r\n\r\n\t\t\t\t\t\t<div class=\"checkout-section\">\r\n\t\t\t\t\t\t\t<div class=\"cs-head\">Betaalmethode<\/div>\r\n\t\t\t\t\t\t\t<div class=\"cs-body\">\r\n\t\t\t\t\t\t\t\t<div class=\"pay-grid-3\" id=\"k9-payment-methods\"><\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t<\/div>\r\n\r\n\t\t\t\t\t\t<button class=\"place-btn\" id=\"k9-place-order-btn\" onclick=\"k9PlaceOrder()\">Bestelling plaatsen<\/button>\r\n\t\t\t\t\t\t<p class=\"order-terms\" id=\"k9-order-feedback\"><\/p>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\r\n\t\t<!-- ===== ORDERHISTORIE ===== -->\r\n\t\t<div id=\"k9-view-history\" class=\"k9-view k9-hidden\">\r\n\t\t\t<div class=\"history-container\">\r\n\t\t\t\t<button class=\"btn-back-dash\" onclick=\"k9ShowView('dashboard')\">&#8592; Terug naar dashboard<\/button>\r\n\t\t\t\t<div class=\"history-page-title\">Overzicht bestellingen<\/div>\r\n\t\t\t\t<div class=\"history-page-sub\">Bekijk uw eerdere bestellingen en herhaal ze met \u00e9\u00e9n klik<\/div>\r\n\t\t\t\t<table class=\"history-table\">\r\n\t\t\t\t\t<thead><tr><th>Datum<\/th><th>Referentie<\/th><th>Totaal<\/th><th>Status<\/th><th>Acties<\/th><\/tr><\/thead>\r\n\t\t\t\t\t<tbody id=\"k9-history-tbody\"><\/tbody>\r\n\t\t\t\t<\/table>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\r\n\t<\/div>\r\n<\/div>\r\n\r\n<style>\r\n\t:root{--bistre:#392C19;--golden-brown:#8E6414;--brass:#BA9E43;--flax:#E0D583;--black:#1A1A1A;--white:#FFFFFF;--border:#E8DFC8;--bg:#F8F6F2;--gold-gradient:linear-gradient(135deg,var(--flax) 0%,var(--brass) 40%,var(--golden-brown) 100%);--radius:8px;--font:'Open Sans',sans-serif;--btn-radius:6px;--btn-primary:#8E6414;--btn-primary-hover:#BA9E43;}\r\n\t#k9-b2b-root{font-family:var(--font);color:var(--black);width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;overflow-x:hidden;}\r\n\t#k9-b2b-root *{box-sizing:border-box;}\r\n\t.dashboard-hero,.history-container{max-width:1500px;margin-left:auto;margin-right:auto;}\r\n\t.k9-tbl-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px;}\r\n\t.k9-tbl-scroll .product-tbl{min-width:640px;}\r\n\t.k9-hidden{display:none !important;}\r\n\t.k9-loader{text-align:center;padding:80px 0;}\r\n\r\n\t.badge{font-size:11px !important;padding:3px 8px !important;border-radius:4px !important;font-weight:700 !important;text-transform:uppercase !important;letter-spacing:0.5px !important;display:inline-block !important;}\r\n\t.bw{background:#E0D583 !important;color:#392C19 !important;}\r\n\t.bi{background:#392C19 !important;color:#BA9E43 !important;}\r\n\r\n\t.portal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 28px;background:#FFFFFF;border-bottom:2px solid var(--border);box-shadow:0 2px 12px rgba(57,44,25,0.06);position:sticky;top:0;z-index:100;flex-wrap:wrap;gap:10px;row-gap:8px;}\r\n\t.hdr-sep{width:1px;height:36px;background:var(--border);}\r\n\t.hdr-portal-tag{font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--golden-brown);}\r\n\t.hdr-right{display:flex;align-items:center;gap:14px;}\r\n\t.hdr-meta{display:flex;align-items:center;gap:6px;}\r\n\r\n\t.btn-ghost{font-size:12px !important;padding:7px 14px !important;border:1.5px solid var(--border) !important;border-radius:var(--radius) !important;background:transparent !important;cursor:pointer;color:#888 !important;font-family:var(--font) !important;}\r\n\t.btn-back-dash{background:none !important;border:none !important;color:var(--btn-primary) !important;font-weight:700 !important;cursor:pointer;padding:0 !important;margin-bottom:20px;font-size:13px !important;display:block;}\r\n\r\n\t.dashboard-hero{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 69px);}\r\n\t.dashboard-left{display:flex;flex-direction:column;justify-content:center;padding:4rem 3rem 4rem 4rem;}\r\n\t.dashboard-welcome{font-size:12px;font-weight:800;color:var(--golden-brown);text-transform:uppercase;letter-spacing:3px;margin-bottom:16px;}\r\n\t.dashboard-title{font-size:36px;font-weight:800;color:var(--bistre);line-height:1.2;margin-bottom:10px;}\r\n\t.dashboard-title span{background:var(--gold-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}\r\n\t.dashboard-sub{font-size:15px;color:#777;line-height:1.7;margin-bottom:40px;}\r\n\t.dashboard-btns{display:flex;flex-direction:column;gap:14px;max-width:340px;}\r\n\t.dash-btn{padding:18px 24px !important;border-radius:var(--radius) !important;border:none !important;cursor:pointer;font-family:var(--font) !important;font-size:14px !important;font-weight:800 !important;letter-spacing:0.5px;text-transform:uppercase;width:100%;display:flex;align-items:center;justify-content:space-between;}\r\n\t.dash-btn-primary{background:var(--btn-primary) !important;color:#FFFFFF !important;}\r\n\t.dash-btn-primary:hover{background:var(--btn-primary-hover) !important;}\r\n\t.dash-btn-secondary{background:#FFFFFF !important;color:var(--bistre) !important;border:2px solid var(--border) !important;}\r\n\t.dash-btn-secondary:hover{border-color:var(--brass) !important;}\r\n\t.dashboard-right{background:var(--bg);display:flex;align-items:center;justify-content:center;}\r\n\t.dashboard-right-inner{width:100%;max-width:340px;padding:2rem;}\r\n\t.dash-stat{background:#FFFFFF;border:1.5px solid var(--border);border-radius:12px;padding:20px 24px;margin-bottom:14px;box-shadow:0 2px 12px rgba(57,44,25,0.05);}\r\n\t.dash-stat-label{font-size:11px;color:#AAA;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;}\r\n\t.dash-stat-value{font-size:22px;font-weight:800;color:var(--bistre);}\r\n\t.dash-stat-sub{font-size:12px;color:#999;margin-top:2px;}\r\n\r\n\t.k9-tier-message{background:#fff6e6;border:1px solid var(--golden-brown);color:#6b4d0f;padding:12px 16px;border-radius:8px;margin-bottom:18px;font-weight:600;font-size:14px;}\r\n\r\n\t.shop-layout{display:grid;grid-template-columns:240px 1fr;max-width:1700px;margin:0 auto;}\r\n\t.shop-sidebar{background:var(--bg);border-right:1px solid var(--border);padding:24px 20px;position:sticky;top:69px;height:calc(100vh - 69px);overflow-y:auto;}\r\n\t.sidebar-title{font-size:11px;font-weight:800;color:#AAA;text-transform:uppercase;letter-spacing:2px;margin-bottom:14px;}\r\n\t.cat-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;color:#555;margin-bottom:2px;}\r\n\t.cat-item:hover{background:#FFFFFF;color:var(--golden-brown);}\r\n\t.cat-item.active{background:#FFFFFF;color:var(--golden-brown);box-shadow:0 1px 8px rgba(57,44,25,0.08);}\r\n\t.cat-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}\r\n\t.cat-count{margin-left:auto;font-size:11px;color:#AAA;background:var(--border);padding:1px 7px;border-radius:10px;}\r\n\t.shop-main{padding:24px 28px;}\r\n\t.shop-topbar{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap;}\r\n\t.search-wrap{flex:1;min-width:200px;position:relative;}\r\n\t.search-input{width:100%;padding:12px 14px 12px 42px !important;border:1.5px solid var(--border);border-radius:var(--radius);font-family:var(--font);font-size:13px;background:#FFFFFF;color:var(--black);}\r\n\t.search-input:focus{outline:none;border-color:var(--brass);}\r\n\t.search-ico{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#AAA;font-size:14px;pointer-events:none;z-index:2;}\r\n\t.results-count{font-size:13px;color:#AAA;}\r\n\r\n\t.product-tbl{width:100%;border-collapse:collapse;background:#FFFFFF;border:1.5px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 2px 16px rgba(57,44,25,0.05);}\r\n\t.product-tbl th{font-size:10px;font-weight:800;color:var(--brass);text-transform:uppercase;letter-spacing:1px;padding:12px 16px;background:var(--bistre);text-align:left;}\r\n\t.product-tbl th.r{text-align:center;}\r\n\t.th-thumb, .td-thumb{width:118px;}\r\n\t.th-main{display:block;font-weight:800;}\r\n\t.th-sub{display:block;font-weight:400;text-transform:none;letter-spacing:0;opacity:0.65;margin-top:1px;}\r\n\t.product-tbl th.c{text-align:center;}\r\n\t.product-tbl td{padding:10px 16px;border-bottom:1px solid var(--border);vertical-align:middle;}\r\n\t.product-tbl tr:last-child td{border-bottom:none;}\r\n\t.product-tbl tr:hover td{background:#FAFAF5;}\r\n\t.product-tbl tr.in-cart td{background:#FFFEF0;}\r\n\t.prod-thumb{width:90px !important;height:90px !important;object-fit:contain !important;display:block;}\r\n\t.prod-tbl-name{font-size:13px;font-weight:700;color:var(--black);}\r\n\t.prod-tbl-desc{font-size:11px;color:#AAA;margin-top:1px;}\r\n\t.prod-tbl-size{font-size:10px;color:#888;font-weight:600;background:var(--bg);padding:2px 7px;border-radius:10px;display:inline-block;margin-top:3px;}\r\n\t.prod-tbl-retail{font-size:13px;color:var(--black);font-weight:400;text-align:center;}\r\n\t.prod-tbl-yours{font-size:13px;font-weight:800;color:var(--black);text-align:center;}\r\n\t.prod-tbl-yours.sel{color:var(--golden-brown);}\r\n\t.tbl-qty-wrap{display:flex;align-items:center;justify-content:center;gap:4px;}\r\n\t.tbl-qty-btn{width:26px !important;height:26px !important;border-radius:4px !important;background:#FFFFFF !important;border:1.5px solid var(--border) !important;color:#888 !important;font-weight:700 !important;cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center;}\r\n\t.tbl-qty-btn:hover{border-color:var(--btn-primary) !important;color:var(--btn-primary) !important;}\r\n\t.in-cart .tbl-qty-btn.plus{background:var(--btn-primary) !important;border-color:var(--btn-primary) !important;color:#FFFFFF !important;}\r\n\t.tbl-qty-inp{width:48px;text-align:center;font-size:14px;font-weight:700;padding:5px 2px;border:1.5px solid var(--border);border-radius:4px;background:#FFFFFF;color:var(--black) !important;font-family:var(--font);-moz-appearance:textfield;appearance:textfield;}\r\n\t.tbl-qty-inp::-webkit-outer-spin-button,.tbl-qty-inp::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}\r\n\t.in-cart .tbl-qty-inp{border-color:var(--brass);}\r\n\t.tbl-sub{font-size:13px;font-weight:700;color:#CCC;text-align:center;min-width:80px;}\r\n\t.tbl-sub.sel{color:var(--golden-brown);}\r\n\r\n\t.shop-order-summary{border-top:2px solid var(--border);margin-top:24px;padding-top:24px;}\r\n\t.disc-toggle-btn{background:none !important;border:none !important;cursor:pointer;color:var(--btn-primary) !important;font-weight:600 !important;font-size:13px !important;line-height:1.4 !important;text-decoration:underline;text-align:left !important;letter-spacing:normal !important;word-spacing:normal !important;padding:0 !important;display:block;margin-bottom:8px;width:auto !important;max-width:100%;font-family:var(--font) !important;}\r\n\t.disc-row{display:none;gap:8px;margin-bottom:6px;}\r\n\t.disc-row.open{display:flex;}\r\n\t.disc-inp{flex:1;font-size:13px;padding:10px 12px;border:1.5px solid var(--border);border-radius:var(--radius);text-transform:uppercase;}\r\n\t.disc-apply-btn{padding:10px 16px !important;border-radius:var(--radius) !important;background:var(--bistre) !important;border:none !important;cursor:pointer;font-family:var(--font) !important;font-size:12px !important;font-weight:700 !important;color:var(--brass) !important;}\r\n\t.disc-status{font-size:12px;font-weight:700;min-height:16px;}\r\n\t.disc-status.ok{color:#2D8A50;}\r\n\t.disc-status.err{color:#cc0000;}\r\n\t.shop-sum-card{background:#FFFFFF;border:1.5px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 2px 12px rgba(57,44,25,0.05);}\r\n\t.shop-sum-card.has-items{border-color:var(--brass);}\r\n\t.shop-sum-head{padding:14px 18px;background:var(--bistre);display:flex;justify-content:space-between;align-items:center;}\r\n\t.shop-sum-head-title{font-size:13px;font-weight:800;color:var(--brass);text-transform:uppercase;letter-spacing:1px;}\r\n\t.shop-sum-count{font-size:11px;color:var(--flax);font-weight:600;}\r\n\t.shop-sum-body{padding:18px;}\r\n\t.shop-sum-empty{text-align:center;padding:1.5rem;color:#CCC;font-size:13px;}\r\n\t.shop-sum-item{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid var(--border);font-size:13px;}\r\n\t.shop-sum-item:last-child{border-bottom:none;}\r\n\t.shop-sum-item-name{color:#555;display:flex;align-items:center;gap:8px;}\r\n\t.shop-sum-item-thumb{width:28px !important;height:28px !important;object-fit:contain !important;}\r\n\t.shop-sum-item-qty{color:#AAA;margin-left:4px;}\r\n\t.shop-sum-item-price{font-weight:700;color:var(--black);}\r\n\t.shop-sum-costs{border-top:1px solid var(--border);padding-top:12px;}\r\n\t.shop-s-row{display:flex;justify-content:space-between;font-size:13px;margin-bottom:8px;color:#777;}\r\n\t.shop-s-row.total-row{font-size:16px;font-weight:800;color:var(--bistre);border-top:2px solid var(--border);padding-top:10px;margin-top:4px;}\r\n\r\n\t.checkout-section{background:#FFFFFF;border:1.5px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:16px;box-shadow:0 2px 12px rgba(57,44,25,0.05);}\r\n\t.cs-head{padding:14px 18px;background:#FAFAF5;border-bottom:1.5px solid var(--border);font-size:13px;font-weight:800;color:var(--bistre);text-transform:uppercase;}\r\n\t.cs-body{padding:20px;}\r\n\t.form-2col{display:grid;grid-template-columns:1fr 1fr;gap:12px;}\r\n\t.fg{display:flex;flex-direction:column;gap:5px;}\r\n\t.fg.full{grid-column:span 2;}\r\n\t.fg label{font-size:10px;color:#AAA;font-weight:700;text-transform:uppercase;letter-spacing:0.8px;}\r\n\t.fg input,.fg select,#k9-b2b-root select{font-size:13px;padding:10px 12px;border:1.5px solid var(--border);border-radius:var(--radius);background:#FFFFFF;color:var(--black);font-family:var(--font);width:100%;}\r\n\t.fg input:focus,.fg select:focus{outline:none;border-color:var(--brass);}\r\n\t.vat-note{font-size:12px;font-weight:700;margin-top:4px;min-height:16px;}\r\n\t.vat-note.ok{color:#2D8A50;}\r\n\t.vat-note.err{color:#cc0000;}\r\n\t.same-chk{display:flex;align-items:center;gap:8px;font-size:13px;color:#666;cursor:pointer;}\r\n\t.same-chk input{accent-color:var(--golden-brown);}\r\n\r\n\t.pay-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;}\r\n\t.pay-card{padding:12px;border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;display:flex;align-items:center;gap:10px;background:#FFFFFF;}\r\n\t.pay-card:hover{border-color:var(--brass);background:#FFFDF5;}\r\n\t.pay-card.active{border-color:var(--btn-primary);background:#FFFEF5;box-shadow:0 2px 8px rgba(142,100,20,0.10);}\r\n\t.pay-card-logo{width:34px !important;height:24px !important;object-fit:contain;flex-shrink:0;}\r\n\t.pay-card-label{font-size:12px;font-weight:700;color:var(--black);}\r\n\t.pay-card-sub{font-size:10px;color:#AAA;margin-top:1px;}\r\n\t.pay-card-chk{margin-left:auto;color:var(--btn-primary);font-size:14px;font-weight:800;display:none;}\r\n\t.pay-card.active .pay-card-chk{display:block;}\r\n\r\n\t.place-btn{width:100% !important;padding:16px !important;border-radius:var(--radius) !important;background:var(--btn-primary) !important;border:none !important;cursor:pointer;font-family:var(--font) !important;font-size:15px !important;font-weight:800 !important;color:#FFFFFF !important;letter-spacing:0.5px;margin-bottom:10px;}\r\n\t.place-btn:hover{background:var(--btn-primary-hover) !important;}\r\n\t.order-terms{font-size:13px;text-align:center;min-height:18px;}\r\n\r\n\t.history-container{max-width:960px;margin:0 auto;padding:36px 28px;}\r\n\t.history-page-title{font-size:28px;font-weight:800;color:var(--bistre);margin-bottom:6px;}\r\n\t.history-page-sub{font-size:13px;color:#AAA;margin-bottom:28px;}\r\n\t.history-table{width:100%;border-collapse:collapse;background:#FFFFFF;border:1.5px solid var(--border);border-radius:12px;overflow:hidden;}\r\n\t.history-table th{font-size:10px;font-weight:800;color:#AAA;text-transform:uppercase;letter-spacing:1px;padding:12px 16px;background:var(--bg);border-bottom:2px solid var(--border);text-align:left;}\r\n\t.history-table td{padding:14px 16px;border-bottom:1px solid var(--border);font-size:13px;vertical-align:middle;}\r\n\t.history-table tr:last-child td{border-bottom:none;}\r\n\t.h-status{display:inline-block;font-size:11px;padding:4px 12px;border-radius:20px;font-weight:700;}\r\n\t.h-status.delivered{background:#EAF5EE;color:#2D8A50;}\r\n\t.h-status.processing{background:#FFF8E6;color:#8A6000;}\r\n\t.h-status.pending{background:#F0F0F0;color:#666;}\r\n\t.h-btn{background:none !important;border:1.5px solid var(--border) !important;border-radius:6px !important;cursor:pointer;padding:6px 12px !important;font-size:12px !important;font-weight:700 !important;font-family:var(--font) !important;color:#666 !important;}\r\n\t.h-btn.primary{background:var(--btn-primary) !important;border-color:transparent !important;color:#FFFFFF !important;}\r\n\r\n\t@media(max-width:1024px){.dashboard-hero{grid-template-columns:1fr;}.dashboard-right{display:none;}.shop-layout{grid-template-columns:180px 1fr;}}\r\n\t@media(max-width:768px){.shop-layout{grid-template-columns:1fr;}.shop-sidebar{position:static;height:auto;display:flex;flex-wrap:wrap;gap:8px;padding:14px;border-right:none;border-bottom:1px solid var(--border);}.sidebar-title{width:100%;}.cat-item{padding:5px 12px;background:#FFFFFF;border:1px solid var(--border);border-radius:5px;font-size:12px;margin-bottom:0;}.cat-item.active{background:var(--gold-gradient);color:#FFFFFF;border-color:transparent;}.form-2col{grid-template-columns:1fr;}.fg.full{grid-column:span 1;}.pay-grid-3{grid-template-columns:1fr 1fr;}\r\n\r\n\t\t#k9-b2b-root{width:auto;position:static;left:auto;right:auto;margin-left:0;margin-right:0;}\r\n\r\n\t\t.portal-header{flex-direction:column;align-items:center;text-align:center;padding:16px 14px;gap:10px;}\r\n\t\t.portal-header>div:first-child{flex-direction:column;gap:6px;}\r\n\t\t.hdr-sep{display:none;}\r\n\t\t.hdr-portal-tag{font-size:10px;letter-spacing:1px;}\r\n\t\t.hdr-right{width:100%;justify-content:center;align-items:center;gap:10px;}\r\n\t\t#k9-lang-switch{width:auto;min-width:60px;}\r\n\r\n\t\t.shop-main{padding:16px 8px;}\r\n\t\t.badge{font-size:10px !important;padding:2px 6px !important;}\r\n\r\n\t\t\/* Productentabel: vaste kolomverdeling via colgroup, samen exact 100% van het scherm *\/\r\n\t\t.k9-tbl-scroll{overflow-x:visible;width:100%;border-radius:0;}\r\n\t\t.product-tbl{table-layout:fixed !important;width:100% !important;min-width:0 !important;border-radius:0;}\r\n\t\t.product-tbl, .product-tbl th:first-child{border-radius:0;}\r\n\t\t.col-thumb{width:12%;}\r\n\t\t.col-name{width:21%;}\r\n\t\t.col-retail{width:13%;}\r\n\t\t.col-yours{width:14%;}\r\n\t\t.col-qty{width:24%;}\r\n\t\t.col-sub{width:16%;}\r\n\t\t.product-tbl th, .product-tbl td{padding:5px 2px;font-size:7.5px;letter-spacing:0;line-height:1.2;word-break:break-word;overflow-wrap:break-word;vertical-align:middle;overflow:hidden;}\r\n\t\t.th-main{font-size:7.5px;}\r\n\t\t.th-sub{font-size:6.5px;}\r\n\t\t.product-tbl td:nth-child(5){text-align:center;padding-left:0;padding-right:0;}\r\n\t\t.tbl-qty-wrap{display:flex;width:100%;justify-content:center;align-items:center;}\r\n\t\t.tbl-sub{text-align:center !important;}\r\n\t\t.prod-thumb{width:26px !important;height:26px !important;}\r\n\t\t.prod-tbl-name{font-size:8.5px;line-height:1.2;}\r\n\t\t.prod-tbl-size{font-size:7px;padding:1px 4px;display:inline-block;margin-top:2px;}\r\n\t\t.prod-tbl-retail{font-size:8.5px;}\r\n\t\t.prod-tbl-yours{font-size:8.5px;}\r\n\t\t.tbl-sub{font-size:8.5px;min-width:0;}\r\n\t\t.tbl-qty-wrap{gap:1px;}\r\n\t\t.tbl-qty-btn{width:14px !important;height:14px !important;font-size:8.5px;}\r\n\t\t.tbl-qty-inp{width:16px;padding:1px 0;font-size:7.5px;}\r\n\t}\r\n\t@media(max-width:480px){.dash-btn{font-size:12px !important;padding:14px 16px !important;}.shop-topbar{flex-direction:column;align-items:stretch;}}\r\n<\/style>\r\n\r\n<script>\r\n(function () {\r\n\tif (window.K9_B2B_INITIALIZED) return;\r\n\twindow.K9_B2B_INITIALIZED = true;\r\n\r\n\tvar k9State = { user: null, products: [], cart: {}, activeCategory: 'all', vatValid: false, coupon: null, selectedPayment: null, orders: [] };\r\n\r\n\tvar K9_CATEGORIES = ['Compleet welzijn honden', 'Spieren honden', 'Gewrichten honden', 'Herstel honden', 'Actie'];\r\n\tvar K9_CAT_COLORS = { 'all': '#BA9E43', 'Compleet welzijn honden': '#8E6414', 'Spieren honden': '#392C19', 'Gewrichten honden': '#5C7A3E', 'Herstel honden': '#C97A30', 'Actie': '#cc0000' };\r\n\tvar K9_COUNTRIES = [['NL','Nederland'],['BE','Belgi\u00eb'],['DE','Duitsland'],['LU','Luxemburg'],['AT','Oostenrijk'],['FR','Frankrijk'],['IT','Itali\u00eb'],['ES','Spanje'],['DK','Denemarken'],['CZ','Tsjechi\u00eb'],['SK','Slowakije'],['SE','Zweden'],['HU','Hongarije'],['SI','Sloveni\u00eb'],['HR','Kroati\u00eb'],['LT','Litouwen'],['FI','Finland'],['LV','Letland'],['PL','Polen'],['RO','Roemeni\u00eb'],['BG','Bulgarije'],['GR','Griekenland'],['IE','Ierland'],['PT','Portugal']];\r\n\r\n\t\/\/ Vaste verzendtarieven per land (t\/m 5kg), prijzen door Rogelio aangeleverd op 6-8-2026\r\n\tvar K9_SHIPPING_COSTS = {\r\n\t\tNL: 7.50, BE: 11.00, DE: 11.00, LU: 14.60, AT: 14.50, FR: 17.00, IT: 17.50, ES: 16.00, PT: 20.00, IE: 20.00,\r\n\t\tDK: 21.00, CZ: 21.50, SK: 22.27, SE: 23.10, HU: 23.50, SI: 24.50, HR: 26.50,\r\n\t\tLT: 28.70, FI: 28.90, LV: 29.95, PL: 30.00, RO: 35.00, BG: 40.50, GR: 40.00\r\n\t};\r\n\tvar K9_NO_SHIPPING_COUNTRIES = []; \/\/ was ['IE'], maar Ierland heeft nu gewoon een tarief (\u20ac20)\r\n\tvar K9_FREE_SHIPPING_COUNTRIES = ['NL']; \/\/ alleen NL-wederverkopers, bevestigd door Rogelio \u2014 NIET gebaseerd op de B2C-footerbadge\r\n\tvar K9_FREE_SHIPPING_THRESHOLD = 150; \/\/ op subtotaal excl. BTW aan supplementen\r\n\r\n\tfunction k9RenderShippingIncentive() {\r\n\t\tvar el = document.getElementById('k9-shipping-incentive');\r\n\t\tif (!el) return;\r\n\t\tvar country = k9DeliveryCountry() || (k9State.user.billing && k9State.user.billing.country) || 'NL';\r\n\t\tif (K9_FREE_SHIPPING_COUNTRIES.indexOf(country) === -1) { el.classList.add('k9-hidden'); return; }\r\n\t\tvar subtotal = Object.keys(k9State.cart).reduce(function (s, id) {\r\n\t\t\tvar p = k9FindProduct(id);\r\n\t\t\tif (!p) return s;\r\n\t\t\tvar discount = k9CalcDiscount(k9State.user.type, k9TotalQty());\r\n\t\t\treturn s + p.b2c * (1 - discount \/ 100) * k9State.cart[id];\r\n\t\t}, 0);\r\n\t\tif (subtotal >= K9_FREE_SHIPPING_THRESHOLD) {\r\n\t\t\tel.classList.remove('k9-hidden');\r\n\t\t\tel.textContent = 'Gratis verzending bereikt \u2014 geen verzendkosten voor deze bestelling!';\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tvar remaining = K9_FREE_SHIPPING_THRESHOLD - subtotal;\r\n\t\tel.classList.remove('k9-hidden');\r\n\t\tel.textContent = 'Nog ' + k9Money(remaining) + ' te besteden voor gratis verzending (vanaf ' + k9Money(K9_FREE_SHIPPING_THRESHOLD) + ', alleen NL)!';\r\n\t}\r\n\r\n\tfunction k9CalcShipping(countryCode, subtotalExVat) {\r\n\t\tif (!countryCode) return { cost: null, unavailable: false };\r\n\t\tif (K9_NO_SHIPPING_COUNTRIES.indexOf(countryCode) > -1) return { cost: null, unavailable: true };\r\n\t\tif (K9_FREE_SHIPPING_COUNTRIES.indexOf(countryCode) > -1 && subtotalExVat >= K9_FREE_SHIPPING_THRESHOLD) return { cost: 0, unavailable: false };\r\n\t\tif (K9_SHIPPING_COSTS.hasOwnProperty(countryCode)) return { cost: K9_SHIPPING_COSTS[countryCode], unavailable: false };\r\n\t\treturn { cost: null, unavailable: false }; \/\/ land zonder bekend tarief (bijv. DE, PT) \u2014 nog aan te leveren\r\n\t}\r\n\r\n\tfunction k9DeliveryCountry() {\r\n\t\tvar sameEl = document.getElementById('k9-same-address');\r\n\t\tvar same = !sameEl || sameEl.checked;\r\n\t\tvar billingSel = document.getElementById('k9-billing-country');\r\n\t\tvar shippingSel = document.getElementById('k9-shipping-country');\r\n\t\tif (same) return billingSel ? billingSel.value : '';\r\n\t\treturn shippingSel ? shippingSel.value : '';\r\n\t}\r\n\tvar K9_PAYMENT_METHODS = [\r\n\t\t{ id:'ideal', label:'iDEAL | Wero', sub:'Directe betaling', svg:'<rect width=\"48\" height=\"32\" rx=\"4\" fill=\"#CC0066\"\/><text x=\"24\" y=\"20\" text-anchor=\"middle\" fill=\"white\" font-size=\"10\" font-family=\"Open Sans\" font-weight=\"800\">iDEAL<\/text>' },\r\n\t\t{ id:'bancontact', label:'Bancontact', sub:'Belgische klanten', svg:'<rect width=\"48\" height=\"32\" rx=\"4\" fill=\"#005498\"\/><rect x=\"0\" y=\"22\" width=\"48\" height=\"10\" fill=\"#FFCC00\"\/><text x=\"24\" y=\"15\" text-anchor=\"middle\" fill=\"white\" font-size=\"7\" font-family=\"Open Sans\" font-weight=\"800\">Bancontact<\/text>' },\r\n\t\t{ id:'kbc', label:'KBC\/CBC', sub:'Belgische klanten', svg:'<rect width=\"48\" height=\"32\" rx=\"4\" fill=\"#1B6EC2\"\/><text x=\"24\" y=\"14\" text-anchor=\"middle\" fill=\"white\" font-size=\"9\" font-family=\"Open Sans\" font-weight=\"800\">KBC<\/text><text x=\"24\" y=\"25\" text-anchor=\"middle\" fill=\"white\" font-size=\"6\" font-family=\"Open Sans\">CBC<\/text>' },\r\n\t\t{ id:'belfius', label:'Belfius', sub:'Belgische klanten', svg:'<rect width=\"48\" height=\"32\" rx=\"4\" fill=\"#E3051B\"\/><text x=\"24\" y=\"19\" text-anchor=\"middle\" fill=\"white\" font-size=\"8\" font-family=\"Open Sans\" font-weight=\"800\">Belfius<\/text>' },\r\n\t\t{ id:'creditcard', label:'Kaart', sub:'Visa \u00b7 Mastercard', svg:'<rect width=\"48\" height=\"32\" rx=\"4\" fill=\"#1A1F3A\"\/><rect x=\"6\" y=\"10\" width=\"36\" height=\"12\" rx=\"2\" fill=\"#2D3561\"\/><rect x=\"6\" y=\"14\" width=\"36\" height=\"4\" fill=\"#4A5080\"\/><rect x=\"8\" y=\"18\" width=\"8\" height=\"3\" rx=\"1\" fill=\"#FFB800\"\/>' },\r\n\t\t{ id:'banktransfer', label:'Betaal via bank', sub:'Online bankieren', svg:'<rect width=\"48\" height=\"32\" rx=\"4\" fill=\"#1E5799\"\/><rect x=\"10\" y=\"9\" width=\"28\" height=\"14\" rx=\"2\" stroke=\"white\" stroke-width=\"1.5\" fill=\"none\"\/><line x1=\"10\" y1=\"17\" x2=\"38\" y2=\"17\" stroke=\"white\" stroke-width=\"1.5\"\/><circle cx=\"24\" cy=\"13\" r=\"3\" fill=\"white\"\/>' },\r\n\t\t{ id:'paypal', label:'PayPal', sub:'Betaal via PayPal', svg:'<rect width=\"48\" height=\"32\" rx=\"4\" fill=\"#003087\"\/><text x=\"24\" y=\"13\" text-anchor=\"middle\" fill=\"#009CDE\" font-size=\"10\" font-family=\"Open Sans\" font-weight=\"800\">Pay<\/text><text x=\"24\" y=\"24\" text-anchor=\"middle\" fill=\"#012169\" font-size=\"10\" font-family=\"Open Sans\" font-weight=\"800\">Pal<\/text>' },\r\n\t\t{ id:'cash_pickup', label:'Contant bij afhalen', sub:'Afhalen in Budel-Schoot', svg:'<rect width=\"48\" height=\"32\" rx=\"4\" fill=\"#8E6414\"\/><text x=\"24\" y=\"20\" text-anchor=\"middle\" fill=\"white\" font-size=\"10\" font-family=\"Open Sans\" font-weight=\"800\">\u20ac<\/text>' }\r\n\t];\r\n\r\n\tfunction k9CalcDiscount(userType, totalQty) {\r\n\t\tif (userType === 'importeur') return 50;\r\n\t\tif (userType === 'wederverkoper') { if (totalQty >= 60) return 50; if (totalQty >= 40) return 40; return 30; }\r\n\t\treturn 0;\r\n\t}\r\n\tfunction k9NextTierMessage(userType, totalQty) {\r\n\t\tif (userType !== 'wederverkoper') return null;\r\n\t\tif (totalQty < 40 && (40 - totalQty) <= 5) return { remaining: 40 - totalQty, next: 40 };\r\n\t\tif (totalQty >= 40 && totalQty < 60 && (60 - totalQty) <= 5) return { remaining: 60 - totalQty, next: 50 };\r\n\t\treturn null;\r\n\t}\r\n\tfunction k9Money(n) { return '\u20ac' + (Math.round(n * 100) \/ 100).toFixed(2).replace('.', ','); }\r\n\r\n\twindow.k9ShowView = function (view) {\r\n\t\tdocument.querySelectorAll('.k9-view').forEach(function (el) { el.classList.add('k9-hidden'); });\r\n\t\tvar target = document.getElementById('k9-view-' + view);\r\n\t\tif (target) target.classList.remove('k9-hidden');\r\n\t\tif (view === 'history') k9LoadOrderHistory();\r\n\t\twindow.scrollTo({ top: 0, behavior: 'smooth' });\r\n\t};\r\n\r\n\tfunction k9LoadPortalData() {\r\n\t\tvar body = new URLSearchParams();\r\n\t\tbody.append('action', 'k9_get_portal_data');\r\n\t\tbody.append('nonce', window.k9B2B.nonce);\r\n\t\tfetch(window.k9B2B.ajaxUrl, { method: 'POST', body: body })\r\n\t\t\t.then(function (r) { return r.json(); })\r\n\t\t\t.then(function (res) {\r\n\t\t\t\tif (!res.success) { document.getElementById('k9-loader').innerHTML = '<p>Kan portaalgegevens niet laden. Neem contact op met K9 Gold Label.<\/p>'; return; }\r\n\t\t\t\tk9State.user = res.data.user;\r\n\t\t\t\tk9State.products = res.data.products;\r\n\t\t\t\tk9RenderDashboard();\r\n\t\t\t\tk9RenderCategories();\r\n\t\t\t\tk9RenderProducts();\r\n\t\t\t\tk9PopulateCountries();\r\n\t\t\t\tk9RenderPaymentMethods();\r\n\t\t\t\tk9RenderShippingIncentive();\r\n\t\t\t\tdocument.getElementById('k9-loader').classList.add('k9-hidden');\r\n\t\t\t\tdocument.getElementById('k9-portal-app').classList.remove('k9-hidden');\r\n\t\t\t})\r\n\t\t\t.catch(function () { document.getElementById('k9-loader').innerHTML = '<p>Er ging iets mis bij het laden. Probeer de pagina te verversen.<\/p>'; });\r\n\t}\r\n\r\n\tfunction k9RenderDashboard() {\r\n\t\tvar u = k9State.user;\r\n\t\tvar typeLabel = u.type === 'importeur' ? 'Importeur' : 'Wederverkoper';\r\n\t\tdocument.getElementById('k9-user-badge-type').textContent = typeLabel;\r\n\t\tdocument.getElementById('k9-user-badge-type').className = 'badge ' + (u.type === 'importeur' ? 'bi' : 'bw');\r\n\t\tdocument.getElementById('k9-user-badge-disc').textContent = u.discount + '%';\r\n\t\tdocument.getElementById('k9-user-name-title').textContent = u.name || '';\r\n\t\tdocument.getElementById('k9-stat-discount').textContent = u.discount + '%';\r\n\r\n\t\tvar body = new URLSearchParams();\r\n\t\tbody.append('action', 'k9_get_order_history');\r\n\t\tbody.append('nonce', window.k9B2B.nonce);\r\n\t\tfetch(window.k9B2B.ajaxUrl, { method: 'POST', body: body })\r\n\t\t\t.then(function (r) { return r.json(); })\r\n\t\t\t.then(function (res) { if (res.success) document.getElementById('k9-stat-orders').textContent = res.data.orders.length; });\r\n\t}\r\n\r\n\tfunction k9RenderCategories() {\r\n\t\tvar wrap = document.getElementById('k9-cat-list');\r\n\t\tvar cats = [{ id: 'all', name: 'Alle producten' }].concat(K9_CATEGORIES.map(function (c) { return { id: c, name: c }; }));\r\n\t\twrap.innerHTML = cats.map(function (c) {\r\n\t\t\tvar count = c.id === 'all' ? k9State.products.length : k9State.products.filter(function (p) { return p.cat && p.cat.indexOf(c.id) > -1; }).length;\r\n\t\t\tvar active = c.id === k9State.activeCategory ? ' active' : '';\r\n\t\t\tvar color = K9_CAT_COLORS[c.id] || '#BA9E43';\r\n\t\t\treturn '<div class=\"cat-item' + active + '\" onclick=\"k9FilterCategory(\\'' + c.id.replace(\/'\/g, \"\\\\'\") + '\\')\"><span class=\"cat-dot\" style=\"background:' + color + '\"><\/span>' + c.name + '<span class=\"cat-count\">' + count + '<\/span><\/div>';\r\n\t\t}).join('');\r\n\t}\r\n\twindow.k9FilterCategory = function (cat) { k9State.activeCategory = cat; k9RenderCategories(); k9RenderProducts(); };\r\n\twindow.k9SearchProducts = function () { k9RenderProducts(); };\r\n\r\n\tfunction k9FindProduct(id) { return k9State.products.filter(function (p) { return String(p.id) === String(id); })[0]; }\r\n\tfunction k9TotalQty() { return Object.keys(k9State.cart).reduce(function (s, id) { return s + k9State.cart[id]; }, 0); }\r\n\r\n\tfunction k9RenderProducts() {\r\n\t\tvar searchQ = (document.getElementById('k9-search-input') || {}).value || '';\r\n\t\tvar list = k9State.products.filter(function (p) {\r\n\t\t\tvar matchCat = k9State.activeCategory === 'all' || (p.cat && p.cat.indexOf(k9State.activeCategory) > -1);\r\n\t\t\tvar matchSearch = !searchQ || p.name.toLowerCase().indexOf(searchQ.toLowerCase()) > -1;\r\n\t\t\treturn matchCat && matchSearch;\r\n\t\t});\r\n\t\tdocument.getElementById('k9-results-count').textContent = list.length + ' product' + (list.length !== 1 ? 'en' : '');\r\n\t\tvar wrap = document.getElementById('k9-product-grid');\r\n\t\tif (list.length === 0) { wrap.innerHTML = '<div style=\"text-align:center;padding:3rem;color:#AAA;\">Geen producten gevonden<\/div>'; return; }\r\n\t\tvar discount = k9CalcDiscount(k9State.user.type, k9TotalQty());\r\n\t\tvar rows = list.map(function (p) {\r\n\t\t\tvar q = k9State.cart[p.id] || 0;\r\n\t\t\tvar sel = q > 0;\r\n\t\t\tvar yourPrice = p.b2c * (1 - discount \/ 100);\r\n\t\t\treturn '<tr class=\"' + (sel ? 'in-cart' : '') + '\">' +\r\n\t\t\t\t'<td class=\"td-thumb\"><img decoding=\"async\" class=\"prod-thumb\" src=\"' + (p.img || '') + '\" alt=\"\"><\/td>' +\r\n\t\t\t\t'<td class=\"td-name\"><div class=\"prod-tbl-name\">' + p.name + '<\/div><span class=\"prod-tbl-size\">' + (p.size || '') + '<\/span><\/td>' +\r\n\t\t\t\t'<td class=\"prod-tbl-retail\">' + k9Money(p.b2c * 1.21) + '<\/td>' +\r\n\t\t\t\t'<td class=\"prod-tbl-yours' + (sel ? ' sel' : '') + '\">' + k9Money(yourPrice) + '<\/td>' +\r\n\t\t\t\t'<td><div class=\"tbl-qty-wrap\">' +\r\n\t\t\t\t\t'<button class=\"tbl-qty-btn\" onclick=\"k9Adjust(' + p.id + ',-1)\">-<\/button>' +\r\n\t\t\t\t\t'<input class=\"tbl-qty-inp\" type=\"number\" min=\"0\" value=\"' + q + '\" id=\"k9-qty-' + p.id + '\" onchange=\"k9SetQty(' + p.id + ', this.value)\">' +\r\n\t\t\t\t\t'<button class=\"tbl-qty-btn plus\" onclick=\"k9Adjust(' + p.id + ',1)\">+<\/button>' +\r\n\t\t\t\t'<\/div><\/td>' +\r\n\t\t\t\t'<td class=\"tbl-sub' + (sel ? ' sel' : '') + '\">' + (sel ? k9Money(yourPrice * q) : '-') + '<\/td>' +\r\n\t\t\t\t'<\/tr>';\r\n\t\t}).join('');\r\n\t\twrap.innerHTML = '<div class=\"k9-tbl-scroll\"><table class=\"product-tbl\"><colgroup><col class=\"col-thumb\"><col class=\"col-name\"><col class=\"col-retail\"><col class=\"col-yours\"><col class=\"col-qty\"><col class=\"col-sub\"><\/colgroup><thead><tr><th class=\"th-thumb\"><\/th><th>Product<\/th><th class=\"r\"><span class=\"th-main\">Retail<\/span><span class=\"th-sub\">incl. BTW<\/span><\/th><th class=\"r\"><span class=\"th-main\">Uw prijs<\/span><span class=\"th-sub\">excl. BTW<\/span><\/th><th class=\"c\">Aantal<\/th><th class=\"r\">Subtotaal<\/th><\/tr><\/thead><tbody>' + rows + '<\/tbody><\/table><\/div>';\r\n\t}\r\n\r\n\twindow.k9Adjust = function (id, delta) { k9SetQty(id, (k9State.cart[id] || 0) + delta); };\r\n\twindow.k9SetQty = function (id, qty) {\r\n\t\tqty = parseInt(qty, 10);\r\n\t\tif (isNaN(qty) || qty <= 0) delete k9State.cart[id]; else k9State.cart[id] = qty;\r\n\t\tk9RenderProducts();\r\n\t\tk9RenderSummary();\r\n\t\tk9RenderShippingIncentive();\r\n\t};\r\n\r\n\tfunction k9CalcOrderTotals() {\r\n\t\tvar ids = Object.keys(k9State.cart);\r\n\t\tvar totalQty = k9TotalQty();\r\n\t\tvar discount = k9CalcDiscount(k9State.user.type, totalQty);\r\n\t\tvar subtotal = ids.reduce(function (s, id) { var p = k9FindProduct(id); return p ? s + p.b2c * (1 - discount \/ 100) * k9State.cart[id] : s; }, 0);\r\n\t\tif (k9State.coupon && k9State.coupon.valid) subtotal = subtotal * (1 - (k9State.coupon.percent || 0) \/ 100);\r\n\t\tvar vatRate = k9State.vatValid ? 0 : 0.21;\r\n\t\tvar vat = subtotal * vatRate;\r\n\t\tvar shipInfo = { cost: null, unavailable: false };\r\n\t\tif (ids.length > 0) shipInfo = k9CalcShipping(k9DeliveryCountry(), subtotal);\r\n\t\tvar total = subtotal + vat + (shipInfo.cost || 0);\r\n\t\treturn { subtotal: subtotal, vat: vat, shipping: shipInfo.cost, shippingUnavailable: shipInfo.unavailable, total: total, discount: discount, totalQty: totalQty };\r\n\t}\r\n\r\n\tfunction k9RenderSummary() {\r\n\t\tvar ids = Object.keys(k9State.cart);\r\n\t\tvar card = document.getElementById('k9-sum-card');\r\n\t\tvar body = document.getElementById('k9-sum-body');\r\n\t\tvar count = document.getElementById('k9-sum-count');\r\n\t\tvar t = k9CalcOrderTotals();\r\n\r\n\t\tvar tierMsgEl = document.getElementById('k9-tier-message');\r\n\t\tvar tierInfo = k9NextTierMessage(k9State.user.type, t.totalQty);\r\n\t\tif (tierInfo) { tierMsgEl.classList.remove('k9-hidden'); tierMsgEl.textContent = 'Nog ' + tierInfo.remaining + ' stuks tot ' + tierInfo.next + '% korting!'; }\r\n\t\telse tierMsgEl.classList.add('k9-hidden');\r\n\r\n\t\tif (ids.length === 0) {\r\n\t\t\tcard.classList.remove('has-items');\r\n\t\t\tcount.textContent = '';\r\n\t\t\tbody.innerHTML = '<div class=\"shop-sum-empty\">Voeg producten toe om uw bestelling te zien<\/div>';\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tcard.classList.add('has-items');\r\n\t\tcount.textContent = ids.length + ' product' + (ids.length !== 1 ? 'en' : '') + ' geselecteerd';\r\n\t\tvar itemsHtml = ids.map(function (id) {\r\n\t\t\tvar p = k9FindProduct(id); if (!p) return '';\r\n\t\t\tvar qty = k9State.cart[id];\r\n\t\t\tvar linePrice = p.b2c * (1 - t.discount \/ 100) * qty;\r\n\t\t\treturn '<div class=\"shop-sum-item\"><span class=\"shop-sum-item-name\"><img decoding=\"async\" class=\"shop-sum-item-thumb\" src=\"' + (p.img || '') + '\" alt=\"\">' + p.name + '<span class=\"shop-sum-item-qty\"> x ' + qty + '<\/span><\/span><span class=\"shop-sum-item-price\">' + k9Money(linePrice) + '<\/span><\/div>';\r\n\t\t}).join('');\r\n\t\tvar shippingRow = '';\r\n\t\tif (t.shippingUnavailable) {\r\n\t\t\tshippingRow = '<div class=\"shop-s-row\" style=\"color:#cc0000;\"><span>Verzendkosten<\/span><span>Niet beschikbaar voor dit land<\/span><\/div>';\r\n\t\t} else if (t.shipping === 0) {\r\n\t\t\tshippingRow = '<div class=\"shop-s-row\" style=\"color:#2D8A50;\"><span>Verzendkosten<\/span><span>Gratis<\/span><\/div>';\r\n\t\t} else if (t.shipping !== null) {\r\n\t\t\tshippingRow = '<div class=\"shop-s-row\"><span>Verzendkosten<\/span><span>' + k9Money(t.shipping) + '<\/span><\/div>';\r\n\t\t} else {\r\n\t\t\tshippingRow = '<div class=\"shop-s-row\" style=\"color:#AAA;\"><span>Verzendkosten<\/span><span>Kies een land<\/span><\/div>';\r\n\t\t}\r\n\t\tvar placeBtn = document.getElementById('k9-place-order-btn');\r\n\t\tif (placeBtn) placeBtn.disabled = !!t.shippingUnavailable;\r\n\t\tbody.innerHTML = '<div class=\"shop-sum-items\">' + itemsHtml + '<\/div><div class=\"shop-sum-costs\">' +\r\n\t\t\t'<div class=\"shop-s-row\"><span>Subtotaal excl. BTW<\/span><span>' + k9Money(t.subtotal) + '<\/span><\/div>' +\r\n\t\t\t'<div class=\"shop-s-row\"><span>' + (k9State.vatValid ? 'BTW 0% (EU)' : 'BTW 21%') + '<\/span><span>' + k9Money(t.vat) + '<\/span><\/div>' +\r\n\t\t\tshippingRow +\r\n\t\t\t'<div class=\"shop-s-row total-row\"><span>Totaal incl. BTW<\/span><span>' + k9Money(t.total) + '<\/span><\/div><\/div>';\r\n\t}\r\n\r\n\twindow.k9ToggleDiscount = function () { document.getElementById('k9-disc-row').classList.toggle('open'); };\r\n\twindow.k9ApplyCoupon = function () {\r\n\t\tvar code = document.getElementById('k9-coupon-input').value.trim();\r\n\t\tvar feedback = document.getElementById('k9-coupon-feedback');\r\n\t\tif (!code) { feedback.textContent = ''; k9State.coupon = null; k9RenderSummary(); return; }\r\n\t\tk9State.coupon = { code: code, valid: true, percent: 0 };\r\n\t\tfeedback.textContent = 'Code wordt gecontroleerd bij het plaatsen van de bestelling.';\r\n\t\tfeedback.className = 'disc-status ok';\r\n\t\tk9RenderSummary();\r\n\t};\r\n\r\n\twindow.k9CheckVat = function () {\r\n\t\tvar vat = document.getElementById('k9-billing-vat').value.trim().toUpperCase();\r\n\t\tvar feedback = document.getElementById('k9-vat-feedback');\r\n\t\tvar euVatPattern = \/^[A-Z]{2}[0-9A-Z]{2,12}$\/;\r\n\t\tif (!vat) { k9State.vatValid = false; feedback.textContent = ''; k9RenderSummary(); return; }\r\n\t\tif (!euVatPattern.test(vat)) { k9State.vatValid = false; feedback.textContent = 'Ongeldig formaat BTW-nummer.'; feedback.className = 'vat-note err'; k9RenderSummary(); return; }\r\n\t\tfeedback.textContent = 'BTW-nummer wordt gecontroleerd bij VIES...';\r\n\t\tfeedback.className = 'vat-note';\r\n\t\tvar body = new URLSearchParams();\r\n\t\tbody.append('action', 'k9_check_vat'); body.append('nonce', window.k9B2B.nonce); body.append('vat', vat);\r\n\t\tfetch(window.k9B2B.ajaxUrl, { method: 'POST', body: body })\r\n\t\t\t.then(function (r) { return r.json(); })\r\n\t\t\t.then(function (res) {\r\n\t\t\t\tif (res.success && vat.indexOf('NL') === 0) { k9State.vatValid = false; feedback.textContent = 'Geldig Nederlands BTW-nummer \u2014 binnen Nederland blijft 21% BTW van toepassing.'; feedback.className = 'vat-note ok'; }\r\n\t\t\t\telse if (res.success) { k9State.vatValid = true; feedback.textContent = 'Geldig EU BTW-nummer' + (res.data.name ? ' (' + res.data.name + ')' : '') + ' \u2014 0% BTW toegepast.'; feedback.className = 'vat-note ok'; }\r\n\t\t\t\telse { k9State.vatValid = false; feedback.textContent = (res.data && res.data.message) ? res.data.message : 'BTW-nummer niet geldig.'; feedback.className = 'vat-note err'; }\r\n\t\t\t\tk9RenderSummary();\r\n\t\t\t})\r\n\t\t\t.catch(function () { k9State.vatValid = false; feedback.textContent = 'Controle bij VIES tijdelijk niet mogelijk.'; feedback.className = 'vat-note err'; k9RenderSummary(); });\r\n\t};\r\n\r\n\tfunction k9PopulateCountries() {\r\n\t\tvar options = K9_COUNTRIES.map(function (c) { return '<option value=\"' + c[0] + '\">' + c[1] + '<\/option>'; }).join('');\r\n\t\tdocument.getElementById('k9-billing-country').innerHTML = options;\r\n\t\tdocument.getElementById('k9-shipping-country').innerHTML = options;\r\n\t\tdocument.getElementById('k9-billing-country').addEventListener('change', function () { k9RenderSummary(); k9RenderShippingIncentive(); });\r\n\t\tdocument.getElementById('k9-shipping-country').addEventListener('change', function () { k9RenderSummary(); k9RenderShippingIncentive(); });\r\n\t\tvar u = k9State.user;\r\n\t\tif (u.billing) {\r\n\t\t\tdocument.getElementById('k9-billing-company').value = u.billing.company || '';\r\n\t\t\tdocument.getElementById('k9-billing-address').value = u.billing.address || '';\r\n\t\t\tdocument.getElementById('k9-billing-postcode').value = u.billing.postcode || '';\r\n\t\t\tdocument.getElementById('k9-billing-city').value = u.billing.city || '';\r\n\t\t\tdocument.getElementById('k9-billing-vat').value = u.billing.vat || '';\r\n\t\t\tif (u.billing.country) document.getElementById('k9-billing-country').value = u.billing.country;\r\n\t\t}\r\n\t}\r\n\twindow.k9ToggleShipping = function () {\r\n\t\tvar same = document.getElementById('k9-same-address').checked;\r\n\t\tdocument.getElementById('k9-shipping-fields').style.display = same ? 'none' : 'block';\r\n\t\tk9RenderSummary();\r\n\t\tk9RenderShippingIncentive();\r\n\t};\r\n\r\n\tfunction k9RenderPaymentMethods() {\r\n\t\tvar wrap = document.getElementById('k9-payment-methods');\r\n\t\twrap.innerHTML = K9_PAYMENT_METHODS.map(function (m) {\r\n\t\t\treturn '<div class=\"pay-card\" data-method=\"' + m.id + '\" onclick=\"k9SelectPayment(\\'' + m.id + '\\')\">' +\r\n\t\t\t\t'<svg class=\"pay-card-logo\" viewBox=\"0 0 48 32\">' + m.svg + '<\/svg>' +\r\n\t\t\t\t'<div><div class=\"pay-card-label\">' + m.label + '<\/div><div class=\"pay-card-sub\">' + m.sub + '<\/div><\/div>' +\r\n\t\t\t\t'<div class=\"pay-card-chk\">&#10003;<\/div><\/div>';\r\n\t\t}).join('');\r\n\t}\r\n\twindow.k9SelectPayment = function (id) {\r\n\t\tk9State.selectedPayment = id;\r\n\t\tdocument.querySelectorAll('.pay-card').forEach(function (el) { el.classList.toggle('active', el.getAttribute('data-method') === id); });\r\n\t};\r\n\r\n\twindow.k9PlaceOrder = function () {\r\n\t\tvar feedback = document.getElementById('k9-order-feedback');\r\n\t\tvar btn = document.getElementById('k9-place-order-btn');\r\n\t\tif (Object.keys(k9State.cart).length === 0) { feedback.textContent = 'Uw winkelwagen is leeg.'; feedback.style.color = '#cc0000'; return; }\r\n\t\tif (!k9State.selectedPayment) { feedback.textContent = 'Kies een betaalmethode.'; feedback.style.color = '#cc0000'; return; }\r\n\t\tvar items = Object.keys(k9State.cart).map(function (id) { return { id: parseInt(id, 10), qty: k9State.cart[id] }; });\r\n\t\tbtn.disabled = true;\r\n\t\tfeedback.textContent = 'Bestelling wordt verwerkt...'; feedback.style.color = '#777';\r\n\t\tvar body = new URLSearchParams();\r\n\t\tbody.append('action', 'k9_place_order'); body.append('nonce', window.k9B2B.nonce);\r\n\t\tbody.append('items', JSON.stringify(items)); body.append('payment_method', k9State.selectedPayment);\r\n\t\tbody.append('coupon_code', k9State.coupon ? k9State.coupon.code : '');\r\n\t\t\tbody.append('vat', k9State.vatValid ? document.getElementById('k9-billing-vat').value.trim().toUpperCase() : '');\r\n\t\tfetch(window.k9B2B.ajaxUrl, { method: 'POST', body: body })\r\n\t\t\t.then(function (r) { return r.json(); })\r\n\t\t\t.then(function (res) {\r\n\t\t\t\tbtn.disabled = false;\r\n\t\t\t\tif (res.success) {\r\n\t\t\t\t\tfeedback.textContent = 'Bestelling geplaatst! Ordernummer: ' + res.data.order_id; feedback.style.color = '#2D8A50';\r\n\t\t\t\t\tk9State.cart = {}; k9State.coupon = null;\r\n\t\t\t\t\tif (res.data.pay_url) {\r\n\t\t\t\t\t\tfeedback.textContent = 'Bestelling geplaatst! U wordt doorgestuurd naar de betaalpagina...';\r\n\t\t\t\t\t\tsetTimeout(function () { window.location.href = res.data.pay_url; }, 800);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tsetTimeout(function () { k9ShowView('history'); }, 1200);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else { feedback.textContent = (res.data && res.data.message) ? res.data.message : 'Bestelling plaatsen mislukt.'; feedback.style.color = '#cc0000'; }\r\n\t\t\t})\r\n\t\t\t.catch(function () { btn.disabled = false; feedback.textContent = 'Er ging iets mis. Probeer het opnieuw.'; feedback.style.color = '#cc0000'; });\r\n\t};\r\n\r\n\tfunction k9LoadOrderHistory() {\r\n\t\tvar wrap = document.getElementById('k9-history-tbody');\r\n\t\twrap.innerHTML = '<tr><td colspan=\"5\">Bestellingen laden...<\/td><\/tr>';\r\n\t\tvar body = new URLSearchParams();\r\n\t\tbody.append('action', 'k9_get_order_history'); body.append('nonce', window.k9B2B.nonce);\r\n\t\tfetch(window.k9B2B.ajaxUrl, { method: 'POST', body: body })\r\n\t\t\t.then(function (r) { return r.json(); })\r\n\t\t\t.then(function (res) {\r\n\t\t\t\tif (!res.success || res.data.orders.length === 0) { wrap.innerHTML = '<tr><td colspan=\"5\">Nog geen bestellingen geplaatst.<\/td><\/tr>'; return; }\r\n\t\t\t\tk9State.orders = res.data.orders;\r\n\t\t\t\twrap.innerHTML = res.data.orders.map(function (o) {\r\n\t\t\t\t\treturn '<tr><td>' + o.date + '<\/td><td>' + o.ref + '<\/td><td>' + k9Money(o.total) + '<\/td>' +\r\n\t\t\t\t\t\t'<td><span class=\"h-status ' + o.status + '\">' + o.statusLabel + '<\/span><\/td>' +\r\n\t\t\t\t\t\t'<td><button class=\"h-btn primary\" onclick=\"k9Reorder(' + o.nr + ')\">Opnieuw bestellen<\/button><\/td><\/tr>';\r\n\t\t\t\t}).join('');\r\n\t\t\t});\r\n\t}\r\n\twindow.k9Reorder = function (orderNr) {\r\n\t\tvar order = k9State.orders.filter(function (o) { return o.nr === orderNr; })[0];\r\n\t\tif (!order) return;\r\n\t\torder.items.forEach(function (item) { k9State.cart[item.id] = item.qty; });\r\n\t\tk9ShowView('shop');\r\n\t\tk9RenderProducts();\r\n\t\tk9RenderSummary();\r\n\t};\r\n\r\n\tdocument.addEventListener('change', function (e) { if (e.target && e.target.id === 'k9-lang-switch') { \/* i18n volgt later, structuur staat klaar *\/ } });\r\n\r\n\twindow.initK9Portal = function () {\r\n\t\tif (!window.k9B2B) { document.getElementById('k9-loader').innerHTML = '<p>Portaalconfiguratie ontbreekt. Neem contact op met K9 Gold Label.<\/p>'; return; }\r\n\t\tk9LoadPortalData();\r\n\t};\r\n\tif (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', window.initK9Portal);\r\n\telse window.initK9Portal();\r\n})();\r\n<\/script>\r\n\r\n<script>\r\n\/* B2B: in de footer \"gratis verzending vanaf \u20ac150\" tonen i.p.v. \u20ac60 (dat bedrag geldt voor consumenten) *\/\r\n(function () {\r\n\tvar TEXTS = {\r\n\t\tnl: 'Gratis verzenden vanaf \u20ac150,-',\r\n\t\tde: 'Kostenloser Versand ab 150 \u20ac',\r\n\t\ten: 'Free shipping from \u20ac150',\r\n\t\tes: 'Env\u00edo gratuito desde 150 \u20ac'\r\n\t};\r\n\tfunction apply() {\r\n\t\tif (!document.getElementById('k9-b2b-root')) return;\r\n\t\tvar lang = (document.documentElement.getAttribute('data-k9-lang') || 'nl').slice(0, 2);\r\n\t\tvar text = TEXTS[lang] || TEXTS.nl;\r\n\t\tdocument.querySelectorAll('.elementor-element-1a97724 .elementor-icon-box-description, .elementor-element-1a97724 p').forEach(function (el) {\r\n\t\t\tif (el.textContent.trim() !== text) el.textContent = text;\r\n\t\t});\r\n\t}\r\n\tfunction init() {\r\n\t\tapply();\r\n\t\tnew MutationObserver(apply).observe(document.documentElement, { attributes: true, attributeFilter: ['data-k9-lang'] });\r\n\t\tsetTimeout(apply, 1000);\r\n\t\tsetTimeout(apply, 3000);\r\n\t}\r\n\tif (document.readyState === 'loading') {\r\n\t\tdocument.addEventListener('DOMContentLoaded', init);\r\n\t} else {\r\n\t\tinit();\r\n\t}\r\n})();\r\n<\/script>\r\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\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":{"site-sidebar-layout":"no-sidebar","site-content-layout":"page-builder","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-6862","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/k9test.voetbalcoachassistent.site\/fr\/wp-json\/wp\/v2\/pages\/6862","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/k9test.voetbalcoachassistent.site\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/k9test.voetbalcoachassistent.site\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/k9test.voetbalcoachassistent.site\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/k9test.voetbalcoachassistent.site\/fr\/wp-json\/wp\/v2\/comments?post=6862"}],"version-history":[{"count":1,"href":"https:\/\/k9test.voetbalcoachassistent.site\/fr\/wp-json\/wp\/v2\/pages\/6862\/revisions"}],"predecessor-version":[{"id":6873,"href":"https:\/\/k9test.voetbalcoachassistent.site\/fr\/wp-json\/wp\/v2\/pages\/6862\/revisions\/6873"}],"wp:attachment":[{"href":"https:\/\/k9test.voetbalcoachassistent.site\/fr\/wp-json\/wp\/v2\/media?parent=6862"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}