{"id":20,"date":"2026-04-23T22:07:38","date_gmt":"2026-04-23T20:07:38","guid":{"rendered":"https:\/\/fixsalis.be\/?page_id=20"},"modified":"2026-04-23T22:07:38","modified_gmt":"2026-04-23T20:07:38","slug":"dashboard","status":"publish","type":"page","link":"https:\/\/fixsalis.be\/en\/dashboard\/","title":{"rendered":"My account"},"content":{"rendered":"\t\t<div class=\"apb-dash-locked\" role=\"presentation\">\r\n\r\n\t\t\t<!-- Mockup factice flou en arri\u00e8re-plan -->\r\n\t\t\t<div class=\"apb-dash-locked-bg\" aria-hidden=\"true\">\r\n\t\t\t\t<div class=\"apb-dlb-hero\">\r\n\t\t\t\t\t<div class=\"apb-dlb-ava\"><\/div>\r\n\t\t\t\t\t<div class=\"apb-dlb-info\">\r\n\t\t\t\t\t\t<div class=\"apb-dlb-line apb-dlb-line--lg\"><\/div>\r\n\t\t\t\t\t\t<div class=\"apb-dlb-line apb-dlb-line--sm\"><\/div>\r\n\t\t\t\t\t\t<div class=\"apb-dlb-chip\"><\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"apb-dlb-grid\">\r\n\t\t\t\t\t<div class=\"apb-dlb-side\">\r\n\t\t\t\t\t\t<div class=\"apb-dlb-card\"><\/div>\r\n\t\t\t\t\t\t<div class=\"apb-dlb-nav\">\r\n\t\t\t\t\t\t\t<div class=\"apb-dlb-nav-item apb-dlb-nav-item--on\"><\/div>\r\n\t\t\t\t\t\t\t<div class=\"apb-dlb-nav-item\"><\/div>\r\n\t\t\t\t\t\t\t<div class=\"apb-dlb-nav-item\"><\/div>\r\n\t\t\t\t\t\t\t<div class=\"apb-dlb-nav-item\"><\/div>\r\n\t\t\t\t\t\t\t<div class=\"apb-dlb-nav-item\"><\/div>\r\n\t\t\t\t\t\t\t<div class=\"apb-dlb-nav-item\"><\/div>\r\n\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<div class=\"apb-dlb-main\">\r\n\t\t\t\t\t\t<div class=\"apb-dlb-card apb-dlb-card--tall\">\r\n\t\t\t\t\t\t\t<div class=\"apb-dlb-line apb-dlb-line--lg\"><\/div>\r\n\t\t\t\t\t\t\t<div class=\"apb-dlb-line\"><\/div>\r\n\t\t\t\t\t\t\t<div class=\"apb-dlb-line\"><\/div>\r\n\t\t\t\t\t\t\t<div class=\"apb-dlb-line apb-dlb-line--sm\"><\/div>\r\n\t\t\t\t\t\t\t<div class=\"apb-dlb-line\"><\/div>\r\n\t\t\t\t\t\t\t<div class=\"apb-dlb-line\"><\/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\r\n\t\t\t<!-- Overlay -->\r\n\t\t\t<div class=\"apb-dash-locked-overlay\" aria-hidden=\"true\"><\/div>\r\n\r\n\t\t\t<!-- Modal locked -->\r\n\t\t\t<div class=\"apb-dash-locked-modal\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"apb-dlm-title\">\r\n\t\t\t\t<div class=\"apb-dlm-icon\" aria-hidden=\"true\">\r\n\t\t\t\t\t<svg width=\"36\" height=\"36\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n\t\t\t\t\t\t<rect x=\"5\" y=\"11\" width=\"14\" height=\"10\" rx=\"2\"\/>\r\n\t\t\t\t\t\t<path d=\"M8 11V7a4 4 0 0 1 8 0v4\"\/>\r\n\t\t\t\t\t<\/svg>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<h2 id=\"apb-dlm-title\" class=\"apb-dlm-title\">Your space<\/h2>\r\n\t\t\t\t<p class=\"apb-dlm-sub\">Log in to manage your professional profile, your favorites, or your messages.<\/p>\r\n\t\t\t\t<div class=\"apb-dlm-cta\">\r\n\t\t\t\t\t<button type=\"button\" class=\"apb-dlm-btn apb-dlm-btn--primary apb-popup-open\" data-tab=\"login\">\r\n\t\t\t\t\t\tLog in\t\t\t\t\t<\/button>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<p class=\"apb-dlm-alt\">\r\n\t\t\t\t\tNot registered yet?\t\t\t\t\t<button type=\"button\" class=\"apb-dlm-link apb-popup-open\" data-tab=\"visiteur\">Create an account<\/button>\r\n\t\t\t\t\t<span class=\"apb-dlm-sep\">\u00b7<\/span>\r\n\t\t\t\t\t<a class=\"apb-dlm-link\" href=\"https:\/\/fixsalis.be\/en\/devenir-pro\/\">Devenir pro<\/a>\r\n\t\t\t\t<\/p>\r\n\t\t\t\t<a href=\"https:\/\/fixsalis.be\/en\/\" class=\"apb-dlm-back\">\u2190 Back to home<\/a>\r\n\t\t\t<\/div>\r\n\r\n\t\t\t\t\t\t        <div class=\"apb-popup\" id=\"apb-popup\" aria-hidden=\"true\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"apb-popup-title\">\r\n          <div class=\"apb-popup-backdrop\" data-apb-close><\/div>\r\n          <div class=\"apb-popup-box\">\r\n            <button class=\"apb-popup-close\" data-apb-close aria-label=\"Close\">\u00d7<\/button>\r\n            <h2 id=\"apb-popup-title\" class=\"apb-popup-title\">Acc\u00e8s Fixsalis<\/h2>\r\n            <nav class=\"apb-popup-tabs\" role=\"tablist\">\r\n              <button class=\"apb-popup-tab apb-tab-active\" data-tab=\"login\" role=\"tab\">Log In<\/button>\r\n              <button class=\"apb-popup-tab\" data-tab=\"visiteur\" role=\"tab\">Visitor Registration<\/button>\r\n              <button class=\"apb-popup-tab\" data-tab=\"creer-fiche\" role=\"tab\">Create my listing<\/button>\r\n            <\/nav>\r\n\r\n            <div class=\"apb-popup-panels\">\r\n              <div class=\"apb-popup-panel apb-panel-active\" data-panel=\"login\" role=\"tabpanel\">\r\n                        <form class=\"apb-form\" data-apb-form=\"login\" novalidate>\r\n          <div class=\"apb-form-row\">\r\n            <label for=\"apb-ln-email\">Email<\/label>\r\n            <input type=\"email\" id=\"apb-ln-email\" name=\"email\" required>\r\n          <\/div>\r\n          <div class=\"apb-form-row\">\r\n            <label for=\"apb-ln-password\">Password<\/label>\r\n            <input type=\"password\" id=\"apb-ln-password\" name=\"password\" required>\r\n          <\/div>\r\n          <div class=\"apb-form-row\">\r\n            <label><input type=\"checkbox\" name=\"remember\" value=\"1\"> Remember me<\/label>\r\n          <\/div>\r\n          <button type=\"submit\" class=\"apb-form-submit\">Log in<\/button>\r\n          <div class=\"apb-form-feedback\" aria-live=\"polite\"><\/div>\r\n          <p style=\"margin-top:12px;font-size:13px;\"><a href=\"https:\/\/fixsalis.be\/en\/mot-de-passe-oublie\/\">Forgot your password?<\/a><\/p>\r\n        <\/form>\r\n        <script>\r\n        (function(){\r\n          const f = document.querySelector('[data-apb-form=\"login\"]');\r\n          if (!f) return;\r\n          f.addEventListener('submit', async function(e){\r\n            e.preventDefault();\r\n            const fb = f.querySelector('.apb-form-feedback');\r\n            fb.textContent = ''; fb.className = 'apb-form-feedback';\r\n            const btn = f.querySelector('.apb-form-submit'); btn.disabled = true;\r\n            const data = Object.fromEntries(new FormData(f).entries());\r\n            const res = await window.apbAjax('apb_login', data);\r\n            if (res.success) {\r\n              fb.className = 'apb-form-feedback apb-form-success';\r\n              fb.textContent = res.data.message;\r\n              setTimeout(() => { window.location.href = res.data.redirect; }, 600);\r\n            } else {\r\n              fb.className = 'apb-form-feedback apb-form-error';\r\n              fb.textContent = res.data.message;\r\n              btn.disabled = false;\r\n              if (res.data.unverified) {\r\n                \/\/ Append resend button (EmailVerification handles the endpoint in Task 10).\r\n                const b = document.createElement('button');\r\n                b.type = 'button';\r\n                b.className = 'apb-form-submit';\r\n                b.style.marginTop = '12px';\r\n                b.textContent = 'Resend verification email';\r\n                b.addEventListener('click', async () => {\r\n                  b.disabled = true;\r\n                  const r = await window.apbAjax('apb_resend_verify', { email: data.email });\r\n                  fb.textContent = r.success\r\n                    ? 'Email resent.'\r\n                    : r.data.message;\r\n                });\r\n                fb.appendChild(b);\r\n              }\r\n            }\r\n          });\r\n        })();\r\n        <\/script>\r\n                      <\/div>\r\n              <div class=\"apb-popup-panel\" data-panel=\"visiteur\" role=\"tabpanel\">\r\n                        <form class=\"apb-form\" data-apb-form=\"register-visitor\" autocomplete=\"off\" novalidate>\r\n          <div class=\"apb-form-row\">\r\n            <label for=\"apb-vr-firstname\">First name<\/label>\r\n            <input type=\"text\" id=\"apb-vr-firstname\" name=\"firstname\" autocomplete=\"off\" required>\r\n          <\/div>\r\n          <div class=\"apb-form-row\">\r\n            <label for=\"apb-vr-email\">Email<\/label>\r\n            <input type=\"email\" id=\"apb-vr-email\" name=\"email\" autocomplete=\"off\" required>\r\n          <\/div>\r\n          <div class=\"apb-form-row\">\r\n            <label for=\"apb-vr-password\">Password (10 characters min.)<\/label>\r\n            <input type=\"password\" id=\"apb-vr-password\" name=\"password\" autocomplete=\"new-password\" minlength=\"10\" required>\r\n          <\/div>\r\n          <div class=\"apb-form-row\">\r\n            <label><input type=\"checkbox\" name=\"cgu\" required> I accept the general terms and conditions.<\/label>\r\n          <\/div>\r\n          <button type=\"submit\" class=\"apb-form-submit\">Create my account<\/button>\r\n          <div class=\"apb-form-feedback\" aria-live=\"polite\"><\/div>\r\n        <\/form>\r\n        <script>\r\n        (function(){\r\n          const f = document.querySelector('[data-apb-form=\"register-visitor\"]');\r\n          if (!f) return;\r\n          f.addEventListener('submit', async function(e){\r\n            e.preventDefault();\r\n            const fb = f.querySelector('.apb-form-feedback');\r\n            fb.textContent = '';\r\n            const btn = f.querySelector('.apb-form-submit');\r\n            btn.disabled = true;\r\n            const data = Object.fromEntries(new FormData(f).entries());\r\n            const res = await window.apbAjax('apb_register_visitor', data);\r\n            if (res.success) {\r\n              fb.className = 'apb-form-feedback apb-form-success';\r\n              fb.textContent = res.data.message;\r\n              setTimeout(() => { window.location.href = res.data.redirect; }, 1200);\r\n            } else {\r\n              fb.className = 'apb-form-feedback apb-form-error';\r\n              fb.textContent = res.data.message || window.apbPopup.i18n.genericError;\r\n              btn.disabled = false;\r\n            }\r\n          });\r\n        })();\r\n        <\/script>\r\n                      <\/div>\r\n              <div class=\"apb-popup-panel\" data-panel=\"creer-fiche\" role=\"tabpanel\">\r\n                                        <div class=\"apb-devenir-pro\" data-current-step=\"1\">\r\n                              <ol class=\"apb-stepper\" aria-label=\"Registration Steps\"><li class=\"apb-stepper__item is-current\" aria-current=\"step\"><span class=\"apb-stepper__num\"><span>1<\/span><\/span><span class=\"apb-stepper__label\">VAT<\/span><\/li><li class=\"apb-stepper__item\"><span class=\"apb-stepper__num\"><span>2<\/span><\/span><span class=\"apb-stepper__label\">Profile<\/span><\/li><li class=\"apb-stepper__item\"><span class=\"apb-stepper__num\"><span>3<\/span><\/span><span class=\"apb-stepper__label\">Subscription<\/span><\/li><li class=\"apb-stepper__item\"><span class=\"apb-stepper__num\"><span>4<\/span><\/span><span class=\"apb-stepper__label\">Publication<\/span><\/li><\/ol>          <div data-step=\"1\">\r\n            <h3>Verify your business<\/h3>\r\n            <p class=\"apb-devenir-pro__microcopy\">Your VAT number is used solely to verify your business and pre-fill your profile.<\/p>\r\n            <form class=\"apb-form\" data-apb-form=\"pro-step1\">\r\n              <div class=\"apb-form-row\">\r\n                <label for=\"apb-pro-vat\">Belgian VAT number<\/label>\r\n                <input type=\"text\" id=\"apb-pro-vat\" name=\"vat\" placeholder=\"BE0123456789\" autocomplete=\"off\" inputmode=\"text\" required>\r\n              <\/div>\r\n              <button type=\"submit\" class=\"apb-form-submit apb-form-submit--wide\">Verify my VAT<\/button>\r\n              <ul class=\"apb-devenir-pro__reassurance\" aria-label=\"Guarantees\">\r\n                <li>Automatic verification via VIES<\/li>\r\n                <li>No payment required now<\/li>\r\n                <li>No commitment<\/li>\r\n              <\/ul>\r\n              <div class=\"apb-form-feedback\" aria-live=\"polite\"><\/div>\r\n            <\/form>\r\n          <\/div>\r\n          <div data-step=\"2\" style=\"display:none;\">\r\n            <h3>Step 2 \u2014 Your information<\/h3>\r\n            <div class=\"apb-vies-result\" style=\"padding:12px;background:#F1F5F9;border-radius:8px;margin-bottom:16px;\"><\/div>\r\n            <form class=\"apb-form\" data-apb-form=\"pro-step2\" autocomplete=\"off\">\r\n              <input type=\"hidden\" name=\"vat\" value=\"\">\r\n              <input type=\"hidden\" name=\"vat_signature\" value=\"\">\r\n                            <input type=\"hidden\" name=\"vies_token\" value=\"\">\r\n              <div class=\"apb-form-row\"><label>First name<\/label><input type=\"text\" name=\"firstname\" autocomplete=\"off\" required><\/div>\r\n              <div class=\"apb-form-row\"><label>Name<\/label><input type=\"text\" name=\"lastname\" autocomplete=\"off\" required><\/div>\r\n              <div class=\"apb-form-row\"><label>Email<\/label><input type=\"email\" name=\"email\" autocomplete=\"off\" required><\/div>\r\n              <div class=\"apb-form-row\"><label>Password (12 char. min.)<\/label><input type=\"password\" name=\"password\" autocomplete=\"new-password\" minlength=\"12\" required><\/div>\r\n              <div class=\"apb-form-row\"><label>Phone<\/label><input type=\"tel\" name=\"phone\" autocomplete=\"off\" required><\/div>\r\n              <div class=\"apb-form-row\"><label><input type=\"checkbox\" name=\"cgu\" required> I accept the general terms and conditions and the privacy policy.<\/label><\/div>\r\n              <button type=\"submit\" class=\"apb-form-submit\">Create my pro account<\/button>\r\n              <div class=\"apb-form-feedback\" aria-live=\"polite\"><\/div>\r\n            <\/form>\r\n          <\/div>\r\n        <\/div>\r\n        <script>\r\n        (function(){\r\n          const root = document.querySelector('.apb-devenir-pro');\r\n          if (!root) return;\r\n          const step1 = root.querySelector('[data-step=\"1\"]');\r\n          const step2 = root.querySelector('[data-step=\"2\"]');\r\n          const f1 = root.querySelector('[data-apb-form=\"pro-step1\"]');\r\n          const f2 = root.querySelector('[data-apb-form=\"pro-step2\"]');\r\n          const viesBox = root.querySelector('.apb-vies-result');\r\n\r\n          \/\/ Phase 3.D \u2014 Helper update stepper visivo (DRY)\r\n          const updateStepper = (current) => {\r\n            root.dataset.currentStep = String(current);\r\n            root.querySelectorAll('.apb-stepper__item').forEach((li, idx) => {\r\n              const stepNum = idx + 1;\r\n              li.classList.remove('is-current', 'is-done');\r\n              if (stepNum < current) li.classList.add('is-done');\r\n              else if (stepNum === current) li.classList.add('is-current');\r\n            });\r\n          };\r\n\r\n          \/\/ v2.13.4 \u2014 CTA hero \"Commencer gratuitement\" : scroll smooth + focus champ TVA\r\n          const heroCta = root.querySelector('[data-apb-cta=\"hero\"]');\r\n          const vatInput = root.querySelector('#apb-pro-vat');\r\n          if (heroCta && vatInput) {\r\n            heroCta.addEventListener('click', (e) => {\r\n              e.preventDefault();\r\n              vatInput.scrollIntoView({behavior:'smooth', block:'center'});\r\n              setTimeout(() => { try { vatInput.focus({preventScroll:true}); } catch(_) { vatInput.focus(); } }, 420);\r\n            });\r\n          }\r\n\r\n          f1.addEventListener('submit', async (e) => {\r\n            e.preventDefault();\r\n            const fb = f1.querySelector('.apb-form-feedback'); fb.textContent = '';\r\n            const btn = f1.querySelector('.apb-form-submit'); btn.disabled = true;\r\n            const res = await window.apbAjax('apb_register_pro_step1', Object.fromEntries(new FormData(f1).entries()));\r\n            if (res.success) {\r\n              \/\/ P1 hotfix 2026-05-08 \u2014 rendu sans innerHTML : la r\u00e9ponse VIES\r\n              \/\/ (nom + adresse) provient d'un service externe et pourrait\r\n              \/\/ contenir du HTML malveillant. Construction DOM via createElement\r\n              \/\/ + textContent garantit l'\u00e9chappement.\r\n              const strong = document.createElement('strong');\r\n              strong.textContent = res.data.name || '';\r\n              const span = document.createElement('span');\r\n              span.style.fontSize = '13px';\r\n              span.style.color = '#6B7280';\r\n              span.textContent = res.data.address || '';\r\n              viesBox.replaceChildren(strong, document.createElement('br'), span);\r\n\r\n              f2.querySelector('[name=vat]').value = res.data.vat;\r\n              f2.querySelector('[name=vat_signature]').value = res.data.signature;\r\n              \/\/ Token opaque qui pointe vers la session VIES c\u00f4t\u00e9 serveur.\r\n              \/\/ Plus aucun nom\/adresse soumis depuis le client.\r\n              const tokenInput = f2.querySelector('[name=vies_token]');\r\n              if (tokenInput) tokenInput.value = res.data.token || '';\r\n              step1.style.display = 'none';\r\n              step2.style.display = '';\r\n              updateStepper(2);\r\n            } else {\r\n              fb.className = 'apb-form-feedback apb-form-error';\r\n              fb.textContent = res.data.message;\r\n              btn.disabled = false;\r\n            }\r\n          });\r\n\r\n          f2.addEventListener('submit', async (e) => {\r\n            e.preventDefault();\r\n            const fb = f2.querySelector('.apb-form-feedback'); fb.textContent = '';\r\n            const btn = f2.querySelector('.apb-form-submit'); btn.disabled = true;\r\n            const res = await window.apbAjax('apb_register_pro_step2', Object.fromEntries(new FormData(f2).entries()));\r\n            if (res.success) {\r\n              \/\/ v2.26.2 \u2014 XSS fix : construction DOM via textContent + createElement\r\n              \/\/ au lieu d'innerHTML avec interpolation. Aligne avec le pattern\r\n              \/\/ d\u00e9j\u00e0 appliqu\u00e9 sur step1 (P1 hotfix ant\u00e9rieur).\r\n              const wrap = document.createElement('div');\r\n              wrap.className = 'apb-form-success';\r\n              wrap.style.cssText = 'padding:24px;text-align:center;';\r\n              const h3 = document.createElement('h3');\r\n              h3.textContent = res.data.message;\r\n              const p = document.createElement('p');\r\n              p.textContent = res.data.details;\r\n              wrap.append(h3, p);\r\n              root.replaceChildren(wrap);\r\n            } else {\r\n              fb.className = 'apb-form-feedback apb-form-error';\r\n              fb.textContent = res.data.message;\r\n              btn.disabled = false;\r\n            }\r\n          });\r\n        })();\r\n        <\/script>\r\n                      <\/div>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n        \t\t<\/div>\r\n\r\n\t\t<script>\r\n\t\t\t\/* Auto-open du popup login au pageload *\/\r\n\t\t\t(function () {\r\n\t\t\t\tif (document.readyState === 'loading') {\r\n\t\t\t\t\tdocument.addEventListener('DOMContentLoaded', open);\r\n\t\t\t\t} else { open(); }\r\n\t\t\t\tfunction open() {\r\n\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\tvar trigger = document.querySelector('.apb-dash-locked .apb-popup-open[data-tab=\"login\"]');\r\n\t\t\t\t\t\tif (trigger) { trigger.click(); }\r\n\t\t\t\t\t}, 250);\r\n\t\t\t\t}\r\n\t\t\t})();\r\n\t\t<\/script>\r\n\r\n\t\t<style>\r\n\t\t\tbody:has(.apb-dash-locked) { overflow: hidden !important; }\r\n\t\t\t.apb-dash-locked { position: relative; min-height: 720px; max-width: 1240px; margin: 0 auto; padding: 28px; }\r\n\r\n\t\t\t\/* Mockup placeholder *\/\r\n\t\t\t.apb-dash-locked-bg {\r\n\t\t\t\tfilter: blur(8px) saturate(0.85);\r\n\t\t\t\topacity: 0.55;\r\n\t\t\t\tpointer-events: none;\r\n\t\t\t\tuser-select: none;\r\n\t\t\t}\r\n\t\t\t.apb-dlb-hero {\r\n\t\t\t\tdisplay: flex; align-items: center; gap: 18px;\r\n\t\t\t\tbackground: linear-gradient(135deg, #0B2A4A, #1F4574);\r\n\t\t\t\tborder-radius: 16px; padding: 24px 28px; min-height: 110px;\r\n\t\t\t\tmargin-bottom: 22px;\r\n\t\t\t}\r\n\t\t\t.apb-dlb-ava { width: 78px; height: 78px; border-radius: 18px; background: rgba(255,255,255,0.18); flex-shrink: 0; }\r\n\t\t\t.apb-dlb-info { flex: 1; display: flex; flex-direction: column; gap: 8px; }\r\n\t\t\t.apb-dlb-line { height: 12px; border-radius: 6px; background: rgba(255,255,255,0.25); width: 70%; }\r\n\t\t\t.apb-dlb-line--lg { height: 18px; width: 45%; background: rgba(255,255,255,0.4); }\r\n\t\t\t.apb-dlb-line--sm { height: 10px; width: 30%; }\r\n\t\t\t.apb-dlb-chip { height: 22px; width: 80px; border-radius: 999px; background: rgba(245,158,11,0.6); margin-top: 4px; }\r\n\t\t\t.apb-dlb-grid { display: grid; grid-template-columns: 230px 1fr; gap: 22px; }\r\n\t\t\t.apb-dlb-side { display: flex; flex-direction: column; gap: 14px; }\r\n\t\t\t.apb-dlb-card { background: #fff; border: 1px solid #E7E3D9; border-radius: 14px; min-height: 180px; padding: 18px; display: flex; flex-direction: column; gap: 10px; }\r\n\t\t\t.apb-dlb-card--tall { min-height: 540px; }\r\n\t\t\t.apb-dlb-card .apb-dlb-line { background: #E7E3D9; }\r\n\t\t\t.apb-dlb-card .apb-dlb-line--lg { background: #C8D4DF; }\r\n\t\t\t.apb-dlb-nav { background: #fff; border: 1px solid #E7E3D9; border-radius: 14px; padding: 14px; display: flex; flex-direction: column; gap: 8px; }\r\n\t\t\t.apb-dlb-nav-item { height: 36px; border-radius: 8px; background: #F4F2EC; }\r\n\t\t\t.apb-dlb-nav-item--on { background: #185FA5; opacity: 0.7; }\r\n\t\t\t.apb-dlb-main { display: flex; flex-direction: column; gap: 14px; }\r\n\r\n\t\t\t\/* Overlay *\/\r\n\t\t\t.apb-dash-locked-overlay {\r\n\t\t\t\tposition: absolute; inset: 0;\r\n\t\t\t\tbackground: linear-gradient(180deg, rgba(11,42,74,0.35), rgba(11,42,74,0.55));\r\n\t\t\t\tbackdrop-filter: saturate(0.9);\r\n\t\t\t\t-webkit-backdrop-filter: saturate(0.9);\r\n\t\t\t\tz-index: 1;\r\n\t\t\t}\r\n\r\n\t\t\t\/* Modal *\/\r\n\t\t\t.apb-dash-locked-modal {\r\n\t\t\t\tposition: absolute; left: 50%; top: 90px; transform: translateX(-50%);\r\n\t\t\t\tbackground: #fff; border-radius: 18px;\r\n\t\t\t\tpadding: 32px 36px 28px;\r\n\t\t\t\tbox-shadow: 0 20px 60px rgba(11,42,74,0.35);\r\n\t\t\t\tmax-width: 440px; width: calc(100% - 56px);\r\n\t\t\t\ttext-align: center;\r\n\t\t\t\tz-index: 2;\r\n\t\t\t\tanimation: apb-dlm-in 0.22s ease-out;\r\n\t\t\t}\r\n\t\t\t@keyframes apb-dlm-in {\r\n\t\t\t\tfrom { opacity: 0; transform: translate(-50%, -8px) scale(0.97); }\r\n\t\t\t\tto   { opacity: 1; transform: translate(-50%, 0) scale(1); }\r\n\t\t\t}\r\n\t\t\t.apb-dlm-icon {\r\n\t\t\t\twidth: 64px; height: 64px; margin: 0 auto 16px;\r\n\t\t\t\tbackground: #EEF2F8; color: #0B2A4A;\r\n\t\t\t\tborder-radius: 18px; display: grid; place-items: center;\r\n\t\t\t}\r\n\t\t\t.apb-dlm-title {\r\n\t\t\t\tmargin: 0 0 8px; font-size: 22px; font-weight: 800;\r\n\t\t\t\tcolor: #0B2A4A; letter-spacing: -0.02em;\r\n\t\t\t}\r\n\t\t\t.apb-dlm-sub {\r\n\t\t\t\tmargin: 0 0 22px; font-size: 14px; line-height: 1.55;\r\n\t\t\t\tcolor: #64748B;\r\n\t\t\t}\r\n\t\t\t.apb-dlm-cta { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }\r\n\t\t\t.apb-dlm-btn {\r\n\t\t\t\tdisplay: inline-flex; align-items: center; justify-content: center;\r\n\t\t\t\tpadding: 12px 18px; border-radius: 10px;\r\n\t\t\t\tfont-size: 14px; font-weight: 600; text-decoration: none;\r\n\t\t\t\ttransition: all 0.15s; border: 1px solid transparent;\r\n\t\t\t}\r\n\t\t\t.apb-dlm-btn--primary {\r\n\t\t\t\tbackground: #F59E0B; color: #1A1204; border-color: #F59E0B;\r\n\t\t\t}\r\n\t\t\t.apb-dlm-btn--primary:hover {\r\n\t\t\t\tbackground: #E88B05; border-color: #E88B05;\r\n\t\t\t\ttransform: translateY(-1px);\r\n\t\t\t\tbox-shadow: 0 6px 16px rgba(245,158,11,0.3);\r\n\t\t\t}\r\n\t\t\t.apb-dlm-btn--ghost {\r\n\t\t\t\tbackground: #fff; color: #0B2A4A; border-color: #E2E8F0;\r\n\t\t\t}\r\n\t\t\t.apb-dlm-btn--ghost:hover {\r\n\t\t\t\tborder-color: #0B2A4A; background: #F8FAFC;\r\n\t\t\t}\r\n\t\t\t.apb-dlm-alt {\r\n\t\t\t\tmargin: 14px 0 8px; font-size: 13px; color: #64748B;\r\n\t\t\t\tdisplay: flex; align-items: center; justify-content: center; gap: 6px; flex-wrap: wrap;\r\n\t\t\t}\r\n\t\t\t.apb-dlm-link {\r\n\t\t\t\tbackground: none; border: none; padding: 0; cursor: pointer;\r\n\t\t\t\tcolor: #185FA5; font-weight: 600; font-family: inherit; font-size: 13px;\r\n\t\t\t\ttext-decoration: underline; text-underline-offset: 2px;\r\n\t\t\t}\r\n\t\t\t.apb-dlm-link:hover { color: #0B2A4A; }\r\n\t\t\t.apb-dlm-sep { color: #CBD5E1; }\r\n\t\t\t.apb-dlm-back {\r\n\t\t\t\tdisplay: inline-block; font-size: 12px; color: #64748B;\r\n\t\t\t\ttext-decoration: none; padding: 6px 10px;\r\n\t\t\t}\r\n\t\t\t.apb-dlm-back:hover { color: #0B2A4A; }\r\n\r\n\t\t\t@media (max-width: 720px) {\r\n\t\t\t\t.apb-dlb-grid { grid-template-columns: 1fr; }\r\n\t\t\t\t.apb-dlb-side { display: none; }\r\n\t\t\t\t.apb-dash-locked-modal { top: 60px; padding: 26px 24px 22px; }\r\n\t\t\t\t.apb-dlm-title { font-size: 19px; }\r\n\t\t\t}\r\n\t\t<\/style>\r\n\t\t\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":0,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-20","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/fixsalis.be\/en\/wp-json\/wp\/v2\/pages\/20","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fixsalis.be\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/fixsalis.be\/en\/wp-json\/wp\/v2\/types\/page"}],"replies":[{"embeddable":true,"href":"https:\/\/fixsalis.be\/en\/wp-json\/wp\/v2\/comments?post=20"}],"version-history":[{"count":0,"href":"https:\/\/fixsalis.be\/en\/wp-json\/wp\/v2\/pages\/20\/revisions"}],"wp:attachment":[{"href":"https:\/\/fixsalis.be\/en\/wp-json\/wp\/v2\/media?parent=20"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}