{"id":270,"date":"2026-09-12T12:42:34","date_gmt":"2026-09-12T12:42:34","guid":{"rendered":"https:\/\/afriqagro.com\/?page_id=270"},"modified":"2026-09-12T12:54:40","modified_gmt":"2026-09-12T12:54:40","slug":"experts","status":"publish","type":"page","link":"https:\/\/afriqagro.com\/fr\/experts\/","title":{"rendered":"Experts\u00a0"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"270\" class=\"elementor elementor-270\">\n\t\t\t\t<div class=\"elementor-element elementor-element-922b8ab e-flex e-con-boxed e-con e-parent\" data-id=\"922b8ab\" 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-2d8666e elementor-widget elementor-widget-shortcode\" data-id=\"2d8666e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\n    <section class=\"aaq-experts\" id=\"aaqExpertsCommunity\">\n\n        <div class=\"aaq-experts__top\">\n            <div class=\"aaq-experts__inner\">\n\n                <header class=\"aaq-experts__header\">\n                    <h1>Experts Community<\/h1>\n                    <p>Get instant help from certified agronomists and animal technicians via chats and video calls<\/p>\n                <\/header>\n\n                <div class=\"aaq-experts__filters\" id=\"aaqExpertFilters\" aria-label=\"Filter experts by category\">\n                    <button type=\"button\" class=\"aaq-expert-filter is-active\" data-filter=\"all\">All<\/button>\n                                            <button\n                            type=\"button\"\n                            class=\"aaq-expert-filter\"\n                            data-filter=\"agronomy\"\n                        >Agronomy<\/button>\n                                            <button\n                            type=\"button\"\n                            class=\"aaq-expert-filter\"\n                            data-filter=\"animal-health\"\n                        >Animal Health<\/button>\n                                            <button\n                            type=\"button\"\n                            class=\"aaq-expert-filter\"\n                            data-filter=\"aquaculture\"\n                        >Aquaculture<\/button>\n                                            <button\n                            type=\"button\"\n                            class=\"aaq-expert-filter\"\n                            data-filter=\"soil-inputs\"\n                        >Soil &amp; Inputs<\/button>\n                                            <button\n                            type=\"button\"\n                            class=\"aaq-expert-filter\"\n                            data-filter=\"post-harvest\"\n                        >Post-Harvest<\/button>\n                                    <\/div>\n\n                <div class=\"aaq-experts__stats\" aria-label=\"Experts community statistics\">\n                    <article class=\"aaq-expert-stat\">\n                        <strong id=\"aaqExpertCount\">9<\/strong>\n                        <span>Certified experts<\/span>\n                    <\/article>\n                    <article class=\"aaq-expert-stat\">\n                        <strong id=\"aaqConsultationCount\">2\u00a0078<\/strong>\n                        <span>Consultations<\/span>\n                    <\/article>\n                    <article class=\"aaq-expert-stat\">\n                        <strong id=\"aaqAvailableCount\">6<\/strong>\n                        <span>Available now<\/span>\n                    <\/article>\n                <\/div>\n\n            <\/div>\n        <\/div>\n\n        <div class=\"aaq-experts__body\">\n            <div class=\"aaq-experts__inner\">\n\n                <div class=\"aaq-experts__loading\" id=\"aaqExpertsLoading\" role=\"status\" aria-live=\"polite\" hidden>\n                    <span class=\"aaq-experts__spinner\" aria-hidden=\"true\"><\/span>\n                    <span>Loading verified experts\u2026<\/span>\n                <\/div>\n\n                <div class=\"aaq-experts__notice\" id=\"aaqExpertsNotice\" hidden><\/div>\n\n                <div class=\"aaq-experts__demo-note\" id=\"aaqExpertsDemoNote\" >\n                    <strong>Sample profiles:<\/strong> this preview data is shown only because no verified AfriqAgro experts have been published yet. Publish a real expert in WordPress and the sample profiles disappear automatically.\n                <\/div>\n\n                <div class=\"aaq-experts__grid\" id=\"aaqExpertsGrid\"><\/div>\n\n                <section class=\"aaq-experts__cta\">\n                    <h2>Are you a certified agronomist or animal technician?<\/h2>\n                    <p>Join the AfriqAgro Experts Community, help farmers across CEMAC markets, and grow your consulting practice.<\/p>\n                    <button type=\"button\" class=\"aaq-expert-apply-btn\" id=\"aaqOpenExpertApplication\">Apply as an Expert<\/button>\n                <\/section>\n\n            <\/div>\n        <\/div>\n\n        <!-- Application modal -->\n        <div class=\"aaq-expert-modal\" id=\"aaqExpertModal\" hidden>\n            <div class=\"aaq-expert-modal__backdrop\" data-close-modal><\/div>\n            <div class=\"aaq-expert-modal__dialog\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"aaqApplicationTitle\">\n                <button class=\"aaq-expert-modal__close\" type=\"button\" data-close-modal aria-label=\"Close application form\">\u00d7<\/button>\n\n                <h2 id=\"aaqApplicationTitle\">Apply to join AfriqAgro Experts<\/h2>\n                <p class=\"aaq-expert-modal__intro\">Submit your professional details. Profiles are only published after AfriqAgro verifies the applicant\u2019s identity and credentials.<\/p>\n\n                <form id=\"aaqExpertApplicationForm\" class=\"aaq-expert-form\">\n                    <input type=\"text\" name=\"website\" value=\"\" tabindex=\"-1\" autocomplete=\"off\" class=\"aaq-hp\" aria-hidden=\"true\">\n\n                    <div class=\"aaq-form-grid\">\n                        <label>\n                            <span>Full name *<\/span>\n                            <input type=\"text\" name=\"name\" required autocomplete=\"name\">\n                        <\/label>\n\n                        <label>\n                            <span>Email *<\/span>\n                            <input type=\"email\" name=\"email\" required autocomplete=\"email\">\n                        <\/label>\n\n                        <label>\n                            <span>Phone \/ WhatsApp<\/span>\n                            <input type=\"tel\" name=\"phone\" autocomplete=\"tel\">\n                        <\/label>\n\n                        <label>\n                            <span>Professional title *<\/span>\n                            <input type=\"text\" name=\"profession\" required placeholder=\"Agronomist, veterinarian, animal technician\u2026\">\n                        <\/label>\n\n                        <label>\n                            <span>Expert category<\/span>\n                            <select name=\"category\">\n                                <option value=\"Agronomy\">Agronomy<\/option>\n                                <option value=\"Animal Health\">Animal Health<\/option>\n                                <option value=\"Aquaculture\">Aquaculture<\/option>\n                                <option value=\"Soil & Inputs\">Soil & Inputs<\/option>\n                                <option value=\"Post-Harvest\">Post-Harvest<\/option>\n                            <\/select>\n                        <\/label>\n\n                        <label>\n                            <span>Years of experience<\/span>\n                            <input type=\"number\" name=\"years\" min=\"0\" max=\"80\">\n                        <\/label>\n\n                        <label>\n                            <span>City<\/span>\n                            <input type=\"text\" name=\"city\">\n                        <\/label>\n\n                        <label>\n                            <span>Country *<\/span>\n                            <input type=\"text\" name=\"country\" required>\n                        <\/label>\n\n                        <label class=\"aaq-form-span-2\">\n                            <span>Languages<\/span>\n                            <input type=\"text\" name=\"languages\" placeholder=\"French, English\">\n                        <\/label>\n\n                        <label class=\"aaq-form-span-2\">\n                            <span>Credentials \/ qualification details<\/span>\n                            <textarea name=\"credentials\" rows=\"5\" placeholder=\"Tell us about your certification, training, institution, professional registration, and specialization.\"><\/textarea>\n                        <\/label>\n                    <\/div>\n\n                    <div class=\"aaq-expert-form__message\" id=\"aaqExpertApplicationMessage\" aria-live=\"polite\"><\/div>\n\n                    <button type=\"submit\" class=\"aaq-expert-form__submit\">Submit application<\/button>\n                <\/form>\n            <\/div>\n        <\/div>\n\n    <\/section>\n\n    <style>\n    \/* =========================================================\n       AFRIQAGRO EXPERTS COMMUNITY \u2014 FULL WIDTH CLONE\n       ========================================================= *\/\n\n    .aaq-experts,\n    .aaq-experts *{\n        box-sizing:border-box;\n    }\n\n    .aaq-experts{\n        --aaq-green:#1f9149;\n        --aaq-green-dark:#14783c;\n        --aaq-green-soft:#eef6f2;\n        --aaq-body:#f7f8f9;\n        --aaq-text:#1f2021;\n        --aaq-muted:#737776;\n        --aaq-line:#d8dcda;\n        --aaq-card:#ffffff;\n        --aaq-online:#22c765;\n        --aaq-star:#ff9d00;\n\n        position:relative;\n        left:50%;\n        right:50%;\n        width:100vw;\n        max-width:none !important;\n        margin-left:-50vw !important;\n        margin-right:-50vw !important;\n        margin-top:0;\n        margin-bottom:0;\n        padding:0;\n        overflow-x:clip;\n        color:var(--aaq-text);\n        background:var(--aaq-body);\n        font-family:Arial, Helvetica, sans-serif;\n        font-size:18px;\n        line-height:1.45;\n    }\n\n    .aaq-experts button,\n    .aaq-experts input,\n    .aaq-experts select,\n    .aaq-experts textarea{\n        font:inherit;\n    }\n\n    .aaq-experts__top{\n        width:100%;\n        background:var(--aaq-green-soft);\n        border-bottom:1px solid #d8e0dc;\n        padding:42px 0 31px;\n    }\n\n    .aaq-experts__body{\n        width:100%;\n        background:var(--aaq-body);\n        padding:38px 0 66px;\n    }\n\n    .aaq-experts__inner{\n        width:min(1640px, calc(100% - 56px));\n        margin:0 auto;\n        min-width:0;\n    }\n\n    .aaq-experts__header h1{\n        margin:0 0 6px;\n        color:#181a1b;\n        font-size:clamp(38px, 2.45vw, 48px);\n        line-height:1.04;\n        letter-spacing:-.8px;\n        font-weight:800;\n    }\n\n    .aaq-experts__header p{\n        margin:0;\n        color:#767b78;\n        font-size:clamp(17px, 1.08vw, 21px);\n        line-height:1.45;\n    }\n\n    .aaq-experts__filters{\n        display:flex;\n        flex-wrap:wrap;\n        align-items:center;\n        gap:10px;\n        margin:24px 0 48px;\n    }\n\n    .aaq-expert-filter{\n        min-height:48px;\n        padding:11px 19px;\n        border:1px solid #d8dcda;\n        border-radius:0;\n        background:#fff;\n        color:#2b2f2d;\n        font-size:17px;\n        line-height:1;\n        font-weight:500;\n        cursor:pointer;\n        transition:.16s ease;\n    }\n\n    .aaq-expert-filter:hover,\n    .aaq-expert-filter.is-active{\n        border-color:var(--aaq-green);\n        background:var(--aaq-green);\n        color:#fff;\n    }\n\n    .aaq-experts__stats{\n        display:grid;\n        grid-template-columns:repeat(3, minmax(0,192px));\n        gap:22px;\n    }\n\n    .aaq-expert-stat{\n        min-height:110px;\n        padding:18px 16px;\n        display:flex;\n        flex-direction:column;\n        align-items:center;\n        justify-content:center;\n        text-align:center;\n        border:1px solid var(--aaq-line);\n        border-radius:15px;\n        background:#fff;\n        box-shadow:0 1px 3px rgba(0,0,0,.025);\n    }\n\n    .aaq-expert-stat strong{\n        display:block;\n        margin:0 0 10px;\n        color:var(--aaq-green);\n        font-size:33px;\n        line-height:1;\n        font-weight:800;\n    }\n\n    .aaq-expert-stat span{\n        color:#777b79;\n        font-size:15px;\n        line-height:1.25;\n    }\n\n    .aaq-experts__loading{\n        min-height:210px;\n        display:flex;\n        align-items:center;\n        justify-content:center;\n        gap:12px;\n        color:#6e7471;\n        font-size:18px;\n        font-weight:700;\n    }\n\n    .aaq-experts__spinner{\n        width:26px;\n        height:26px;\n        border:3px solid #cfe5d7;\n        border-top-color:var(--aaq-green);\n        border-radius:50%;\n        animation:aaqExpertSpin .8s linear infinite;\n    }\n\n    @keyframes aaqExpertSpin{to{transform:rotate(360deg)}}\n\n    .aaq-experts__loading[hidden],\n    .aaq-experts__notice[hidden],\n    .aaq-experts__grid[hidden],\n    .aaq-experts__demo-note[hidden]{\n        display:none !important;\n    }\n\n    .aaq-experts__demo-note{\n        margin:0 0 24px;\n        padding:14px 18px;\n        border:1px solid #efd38a;\n        border-radius:10px;\n        background:#fff9e8;\n        color:#654f1d;\n        font-size:15px;\n        line-height:1.45;\n    }\n\n    .aaq-experts__demo-note strong{\n        color:#4f3c12;\n    }\n\n    .aaq-experts__notice{\n        margin:0 0 24px;\n        padding:17px 20px;\n        border:1px solid #e4c875;\n        background:#fff9e8;\n        color:#664b18;\n        border-radius:10px;\n        font-size:16px;\n    }\n\n    .aaq-experts__grid{\n        display:grid;\n        grid-template-columns:repeat(3,minmax(0,1fr));\n        gap:30px 30px;\n    }\n\n    .aaq-expert-card{\n        min-width:0;\n        min-height:348px;\n        display:flex;\n        flex-direction:column;\n        padding:26px;\n        border:1px solid var(--aaq-line);\n        border-radius:16px;\n        background:#fff;\n        box-shadow:0 1px 2px rgba(0,0,0,.018);\n    }\n\n    .aaq-expert-card.is-available{\n        \/* Availability is shown by the green dot, exactly like the reference. *\/\n        border-color:var(--aaq-line);\n    }\n\n    .aaq-expert-head{\n        display:grid;\n        grid-template-columns:66px minmax(0,1fr);\n        gap:18px;\n        align-items:start;\n    }\n\n    .aaq-expert-avatar{\n        width:66px;\n        height:66px;\n        display:grid;\n        place-items:center;\n        overflow:hidden;\n        border-radius:50%;\n        background:#e9f4ee;\n        color:var(--aaq-green);\n        font-size:22px;\n        font-weight:800;\n        line-height:1;\n    }\n\n    .aaq-expert-avatar img{\n        display:block;\n        width:100%;\n        height:100%;\n        object-fit:cover;\n    }\n\n    .aaq-expert-avatar__initials{\n        display:block;\n        width:100%;\n        text-align:center;\n        color:var(--aaq-green);\n        font-size:inherit;\n        font-weight:800;\n        line-height:1;\n        white-space:nowrap;\n    }\n\n    .aaq-expert-head-copy{\n        min-width:0;\n    }\n\n    .aaq-expert-name-row{\n        display:flex;\n        align-items:center;\n        gap:9px;\n        min-width:0;\n    }\n\n    .aaq-expert-name{\n        margin:0;\n        min-width:0;\n        color:#191b1c;\n        font-size:21px;\n        font-weight:800;\n        line-height:1.16;\n    }\n\n    .aaq-online-dot{\n        width:13px;\n        height:13px;\n        flex:0 0 auto;\n        border-radius:50%;\n        background:var(--aaq-online);\n    }\n\n    .aaq-expert-title{\n        margin:5px 0 2px;\n        color:var(--aaq-green);\n        font-size:17px;\n        font-weight:800;\n        line-height:1.2;\n    }\n\n    .aaq-expert-specialty{\n        margin:0;\n        color:#7f8381;\n        font-size:15.5px;\n        line-height:1.35;\n    }\n\n    .aaq-expert-details{\n        display:grid;\n        gap:9px;\n        margin:24px 0 24px;\n        color:#424645;\n        font-size:16.5px;\n        line-height:1.35;\n    }\n\n    .aaq-expert-detail{\n        display:flex;\n        align-items:flex-start;\n        gap:6px;\n        min-width:0;\n    }\n\n    .aaq-expert-detail .aaq-detail-icon{\n        flex:0 0 auto;\n        line-height:1.2;\n    }\n\n    .aaq-expert-rating{\n        color:var(--aaq-star);\n        font-weight:800;\n    }\n\n    .aaq-expert-actions{\n        display:grid;\n        grid-template-columns:1fr 1fr;\n        gap:10px;\n        margin-top:auto;\n    }\n\n    .aaq-expert-action{\n        min-height:50px;\n        display:flex;\n        align-items:center;\n        justify-content:center;\n        gap:7px;\n        padding:11px 15px;\n        border:2px solid var(--aaq-green);\n        border-radius:0;\n        text-decoration:none !important;\n        font-size:16px;\n        line-height:1;\n        font-weight:800;\n        font-family:Arial, Helvetica, sans-serif;\n        cursor:pointer;\n        appearance:none;\n        -webkit-appearance:none;\n        transition:.16s ease;\n    }\n\n    .aaq-expert-action.is-chat{\n        background:var(--aaq-green);\n        color:#fff !important;\n    }\n\n    .aaq-expert-action.is-video{\n        background:#fff;\n        color:var(--aaq-green) !important;\n    }\n\n    .aaq-expert-action:hover{\n        background:var(--aaq-green-dark);\n        border-color:var(--aaq-green-dark);\n        color:#fff !important;\n    }\n\n    .aaq-action-icon{\n        width:18px;\n        height:18px;\n        flex:0 0 18px;\n        display:block;\n    }\n\n    \/*\n     * Unavailable\/sample controls intentionally keep the same visual clone\n     * as the reference screenshot. They are buttons, not links, so clicking\n     * them can never navigate away from this page.\n     *\/\n    .aaq-expert-action.is-unavailable{\n        opacity:1;\n        cursor:not-allowed;\n    }\n\n    .aaq-expert-action.is-chat.is-unavailable{\n        background:var(--aaq-green);\n        color:#fff !important;\n    }\n\n    .aaq-expert-action.is-video.is-unavailable{\n        background:#fff;\n        color:var(--aaq-green) !important;\n    }\n\n    .aaq-expert-action.is-unavailable:hover{\n        border-color:var(--aaq-green);\n    }\n\n    .aaq-expert-action.is-chat.is-unavailable:hover{\n        background:var(--aaq-green);\n        color:#fff !important;\n    }\n\n    .aaq-expert-action.is-video.is-unavailable:hover{\n        background:#fff;\n        color:var(--aaq-green) !important;\n    }\n\n    .aaq-experts__empty{\n        grid-column:1\/-1;\n        min-height:220px;\n        display:grid;\n        place-items:center;\n        padding:35px;\n        text-align:center;\n        border:1px solid var(--aaq-line);\n        border-radius:14px;\n        background:#fff;\n        color:#6b706e;\n        font-size:18px;\n    }\n\n    .aaq-experts__cta{\n        margin-top:54px;\n        padding:48px 28px;\n        border:1px solid #b7dcc4;\n        border-radius:16px;\n        background:#edf6f2;\n        text-align:center;\n    }\n\n    .aaq-experts__cta h2{\n        margin:0 0 8px;\n        color:#1d1f20;\n        font-size:clamp(26px,1.75vw,34px);\n        line-height:1.2;\n        font-weight:800;\n    }\n\n    .aaq-experts__cta p{\n        max-width:760px;\n        margin:0 auto 28px;\n        color:#585e5b;\n        font-size:19px;\n        line-height:1.45;\n    }\n\n    .aaq-expert-apply-btn,\n    .aaq-expert-form__submit{\n        min-height:52px;\n        padding:13px 24px;\n        border:0;\n        border-radius:0;\n        background:var(--aaq-green);\n        color:#fff;\n        font-weight:800;\n        font-size:17px;\n        line-height:1;\n        cursor:pointer;\n        transition:background .16s ease;\n    }\n\n    .aaq-expert-apply-btn:hover,\n    .aaq-expert-form__submit:hover{\n        background:var(--aaq-green-dark);\n    }\n\n    \/* Modal *\/\n    .aaq-expert-modal[hidden]{display:none !important}\n\n    .aaq-expert-modal{\n        position:fixed;\n        inset:0;\n        z-index:999999;\n        display:grid;\n        place-items:center;\n        padding:24px;\n    }\n\n    .aaq-expert-modal__backdrop{\n        position:absolute;\n        inset:0;\n        background:rgba(10,18,13,.68);\n    }\n\n    .aaq-expert-modal__dialog{\n        position:relative;\n        z-index:1;\n        width:min(820px,100%);\n        max-height:min(90vh,900px);\n        overflow:auto;\n        padding:34px;\n        border-radius:16px;\n        background:#fff;\n        box-shadow:0 22px 60px rgba(0,0,0,.25);\n    }\n\n    .aaq-expert-modal__close{\n        position:absolute;\n        top:14px;\n        right:17px;\n        width:42px;\n        height:42px;\n        display:grid;\n        place-items:center;\n        border:0;\n        background:transparent;\n        color:#333;\n        font-size:35px;\n        line-height:1;\n        cursor:pointer;\n    }\n\n    .aaq-expert-modal__dialog h2{\n        margin:0 44px 8px 0;\n        font-size:31px;\n        line-height:1.15;\n    }\n\n    .aaq-expert-modal__intro{\n        margin:0 0 24px;\n        color:#626765;\n        font-size:16px;\n        line-height:1.5;\n    }\n\n    .aaq-form-grid{\n        display:grid;\n        grid-template-columns:repeat(2,minmax(0,1fr));\n        gap:17px 18px;\n    }\n\n    .aaq-form-grid label{\n        display:block;\n        min-width:0;\n    }\n\n    .aaq-form-grid label > span{\n        display:block;\n        margin-bottom:7px;\n        color:#303432;\n        font-size:15px;\n        font-weight:800;\n    }\n\n    .aaq-form-grid input,\n    .aaq-form-grid select,\n    .aaq-form-grid textarea{\n        width:100%;\n        margin:0;\n        border:1px solid #cfd6d2;\n        border-radius:7px;\n        background:#fff;\n        color:#252827;\n        outline:none;\n        font-size:16px;\n    }\n\n    .aaq-form-grid input,\n    .aaq-form-grid select{\n        height:50px;\n        padding:0 14px;\n    }\n\n    .aaq-form-grid textarea{\n        padding:12px 14px;\n        resize:vertical;\n    }\n\n    .aaq-form-grid input:focus,\n    .aaq-form-grid select:focus,\n    .aaq-form-grid textarea:focus{\n        border-color:var(--aaq-green);\n        box-shadow:0 0 0 3px rgba(31,145,73,.1);\n    }\n\n    .aaq-form-span-2{grid-column:1\/-1}\n    .aaq-hp{position:absolute !important;left:-99999px !important;width:1px !important;height:1px !important;opacity:0 !important}\n\n    .aaq-expert-form__message{\n        min-height:24px;\n        margin:17px 0 8px;\n        font-size:15px;\n        line-height:1.4;\n    }\n\n    .aaq-expert-form__message.is-success{color:#0c7c39}\n    .aaq-expert-form__message.is-error{color:#b22626}\n\n    \/* =========================================================\n       LARGE TABLET \/ SMALL LAPTOP\n       ========================================================= *\/\n    @media (min-width:1025px) and (max-width:1280px){\n        .aaq-experts__inner{width:calc(100% - 40px)}\n        .aaq-experts__grid{gap:24px}\n        .aaq-expert-card{padding:22px}\n        .aaq-expert-name{font-size:19px}\n        .aaq-expert-details{font-size:15.5px}\n    }\n\n    \/* =========================================================\n       TABLET\n       ========================================================= *\/\n    @media (min-width:769px) and (max-width:1024px){\n        .aaq-experts__top{padding:36px 0 28px}\n        .aaq-experts__body{padding:34px 0 56px}\n        .aaq-experts__inner{width:calc(100% - 32px)}\n        .aaq-experts__header h1{font-size:40px}\n        .aaq-experts__header p{font-size:18px}\n        .aaq-experts__filters{margin-bottom:34px}\n        .aaq-experts__stats{grid-template-columns:repeat(3,minmax(0,1fr));max-width:670px}\n        .aaq-experts__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}\n        .aaq-expert-card{min-height:360px}\n        .aaq-experts__cta{padding:42px 24px}\n    }\n\n    \/* =========================================================\n       MOBILE \u2014 MATCHES THE PROVIDED SCREENSHOTS\n       - Filters wrap naturally instead of horizontal scrolling\n       - Three statistic cards stay on one row\n       - One full-width expert card per row\n       - Chat + Video remain side-by-side\n       ========================================================= *\/\n    @media (max-width:768px){\n        .aaq-experts{\n            font-size:17px;\n        }\n\n        .aaq-experts__top{\n            padding:34px 0 30px;\n        }\n\n        .aaq-experts__body{\n            padding:32px 0 48px;\n        }\n\n        .aaq-experts__inner{\n            width:calc(100% - 16px);\n            max-width:none;\n        }\n\n        .aaq-experts__header h1{\n            margin-bottom:10px;\n            font-size:clamp(36px,9.2vw,46px);\n            line-height:1.04;\n            letter-spacing:-.6px;\n        }\n\n        .aaq-experts__header p{\n            max-width:820px;\n            margin-top:0;\n            font-size:clamp(18px,4.45vw,22px);\n            line-height:1.45;\n        }\n\n        .aaq-experts__filters{\n            display:flex;\n            flex-wrap:wrap;\n            width:100%;\n            overflow:visible;\n            gap:9px 10px;\n            padding:0;\n            margin:28px 0 40px;\n        }\n\n        .aaq-expert-filter{\n            flex:0 0 auto;\n            min-height:52px;\n            padding:12px 17px;\n            font-size:clamp(16px,4vw,19px);\n            line-height:1.1;\n        }\n\n        .aaq-experts__stats{\n            grid-template-columns:repeat(3,minmax(0,1fr));\n            gap:16px;\n            width:100%;\n        }\n\n        .aaq-expert-stat{\n            min-width:0;\n            min-height:132px;\n            padding:15px 8px;\n            border-radius:17px;\n        }\n\n        .aaq-expert-stat strong{\n            margin-bottom:12px;\n            font-size:clamp(32px,8vw,43px);\n        }\n\n        .aaq-expert-stat span{\n            font-size:clamp(13px,3.25vw,17px);\n            line-height:1.24;\n        }\n\n        .aaq-experts__loading{\n            min-height:150px;\n            font-size:17px;\n        }\n\n        .aaq-experts__grid{\n            grid-template-columns:1fr;\n            gap:24px;\n        }\n\n        .aaq-expert-card{\n            min-height:0;\n            padding:30px 26px;\n            border-radius:17px;\n        }\n\n        .aaq-expert-head{\n            grid-template-columns:76px minmax(0,1fr);\n            gap:18px;\n        }\n\n        .aaq-expert-avatar{\n            width:76px;\n            height:76px;\n            font-size:25px;\n        }\n\n        .aaq-expert-name-row{\n            gap:10px;\n        }\n\n        .aaq-expert-name{\n            font-size:clamp(22px,5.6vw,29px);\n            line-height:1.14;\n        }\n\n        .aaq-online-dot{\n            width:14px;\n            height:14px;\n        }\n\n        .aaq-expert-title{\n            margin-top:7px;\n            font-size:clamp(17px,4.35vw,21px);\n        }\n\n        .aaq-expert-specialty{\n            margin-top:7px;\n            font-size:clamp(16px,4vw,20px);\n            line-height:1.4;\n        }\n\n        .aaq-expert-details{\n            gap:14px;\n            margin:30px 0 30px;\n            font-size:clamp(17px,4.2vw,21px);\n            line-height:1.4;\n        }\n\n        .aaq-expert-detail{\n            gap:7px;\n        }\n\n        .aaq-expert-actions{\n            grid-template-columns:minmax(0,1fr) minmax(0,1fr);\n            gap:10px;\n        }\n\n        .aaq-expert-action{\n            min-width:0;\n            min-height:58px;\n            padding:12px 10px;\n            font-size:clamp(16px,4vw,20px);\n            white-space:nowrap;\n        }\n\n        .aaq-experts__cta{\n            margin-top:38px;\n            padding:38px 22px;\n        }\n\n        .aaq-experts__cta h2{\n            font-size:clamp(27px,6.6vw,35px);\n        }\n\n        .aaq-experts__cta p{\n            font-size:clamp(17px,4.25vw,21px);\n        }\n\n        .aaq-expert-apply-btn{\n            width:100%;\n            min-height:56px;\n            font-size:18px;\n        }\n\n        .aaq-expert-modal{\n            padding:10px;\n        }\n\n        .aaq-expert-modal__dialog{\n            max-height:94vh;\n            padding:28px 19px 24px;\n            border-radius:13px;\n        }\n\n        .aaq-expert-modal__dialog h2{\n            font-size:28px;\n        }\n\n        .aaq-form-grid{\n            grid-template-columns:1fr;\n            gap:14px;\n        }\n\n        .aaq-form-span-2{\n            grid-column:auto;\n        }\n\n        .aaq-form-grid input,\n        .aaq-form-grid select{\n            height:54px;\n        }\n\n        .aaq-expert-form__submit{\n            width:100%;\n            min-height:56px;\n        }\n    }\n    \/* Small phones \u2014 preserve the screenshot layout *\/\n    @media (max-width:430px){\n        .aaq-experts__inner{\n            width:calc(100% - 12px);\n        }\n\n        .aaq-experts__filters{\n            gap:8px;\n            margin-bottom:34px;\n        }\n\n        .aaq-expert-filter{\n            min-height:48px;\n            padding:11px 14px;\n            font-size:15px;\n        }\n\n        .aaq-experts__stats{\n            grid-template-columns:repeat(3,minmax(0,1fr));\n            gap:7px;\n        }\n\n        .aaq-expert-stat{\n            min-height:112px;\n            padding:12px 4px;\n        }\n\n        .aaq-expert-stat strong{\n            font-size:29px;\n        }\n\n        .aaq-expert-stat span{\n            font-size:12px;\n        }\n\n        .aaq-expert-card{\n            padding:25px 18px;\n        }\n\n        .aaq-expert-head{\n            grid-template-columns:64px minmax(0,1fr);\n            gap:14px;\n        }\n\n        .aaq-expert-avatar{\n            width:64px;\n            height:64px;\n            font-size:22px;\n        }\n\n        .aaq-expert-name{\n            font-size:22px;\n        }\n\n        .aaq-expert-title{\n            font-size:17px;\n        }\n\n        .aaq-expert-specialty{\n            font-size:16px;\n        }\n\n        .aaq-expert-details{\n            margin:25px 0;\n            font-size:17px;\n        }\n\n        .aaq-expert-actions{\n            grid-template-columns:minmax(0,1fr) minmax(0,1fr);\n            gap:8px;\n        }\n\n        .aaq-expert-action{\n            min-height:54px;\n            padding:10px 6px;\n            font-size:15px;\n        }\n    }\n    <\/style>\n\n    <script>\n    (function(){\n        'use strict';\n\n        const root = document.getElementById('aaqExpertsCommunity');\n        if (!root || root.dataset.ready === '1') return;\n        root.dataset.ready = '1';\n\n        const apiUrl = \"https:\\\/\\\/afriqagro.com\\\/fr\\\/wp-json\\\/afriqagro\\\/v1\\\/experts\";\n        const ajaxUrl = \"https:\\\/\\\/afriqagro.com\\\/wp-admin\\\/admin-ajax.php\";\n        const applicationNonce = \"eaa7b1597a\";\n        const initialData = {\"stats\":{\"experts\":9,\"consultations\":2078,\"available\":6},\"categories\":[{\"name\":\"Agronomy\",\"slug\":\"agronomy\",\"count\":3},{\"name\":\"Animal Health\",\"slug\":\"animal-health\",\"count\":3},{\"name\":\"Aquaculture\",\"slug\":\"aquaculture\",\"count\":1},{\"name\":\"Soil & Inputs\",\"slug\":\"soil-inputs\",\"count\":1},{\"name\":\"Post-Harvest\",\"slug\":\"post-harvest\",\"count\":1}],\"experts\":[{\"id\":0,\"name\":\"Dr. Emmanuel Nkolo\",\"initials\":\"EN\",\"image\":\"\",\"title\":\"Certified Agronomist\",\"specialty\":\"Cocoa & Coffee\",\"category\":\"Agronomy\",\"category_slug\":\"agronomy\",\"city\":\"Yaound\\u00e9\",\"country\":\"Cameroon\",\"flag\":\"\\ud83c\\udde8\\ud83c\\uddf2\",\"years\":15,\"languages\":\"French, English\",\"rating\":4.9,\"consultations\":312,\"available\":true,\"chat_url\":\"\",\"video_url\":\"\",\"demo\":true},{\"id\":0,\"name\":\"Marie-Claire Abena\",\"initials\":\"MA\",\"image\":\"\",\"title\":\"Animal Technician\",\"specialty\":\"Poultry\",\"category\":\"Animal Health\",\"category_slug\":\"animal-health\",\"city\":\"Douala\",\"country\":\"Cameroon\",\"flag\":\"\\ud83c\\udde8\\ud83c\\uddf2\",\"years\":11,\"languages\":\"French, English\",\"rating\":4.8,\"consultations\":274,\"available\":true,\"chat_url\":\"\",\"video_url\":\"\",\"demo\":true},{\"id\":0,\"name\":\"Dr. Jean-Paul Ondoua\",\"initials\":\"JO\",\"image\":\"\",\"title\":\"Veterinary Doctor\",\"specialty\":\"Cattle & Small Ruminants\",\"category\":\"Animal Health\",\"category_slug\":\"animal-health\",\"city\":\"Garoua\",\"country\":\"Cameroon\",\"flag\":\"\\ud83c\\udde8\\ud83c\\uddf2\",\"years\":18,\"languages\":\"French, Fulfulde\",\"rating\":4.9,\"consultations\":401,\"available\":false,\"chat_url\":\"\",\"video_url\":\"\",\"demo\":true},{\"id\":0,\"name\":\"Solange Mbarga\",\"initials\":\"SM\",\"image\":\"\",\"title\":\"Certified Agronomist\",\"specialty\":\"Fertility Management\",\"category\":\"Soil & Inputs\",\"category_slug\":\"soil-inputs\",\"city\":\"Bafoussam\",\"country\":\"Cameroon\",\"flag\":\"\\ud83c\\udde8\\ud83c\\uddf2\",\"years\":9,\"languages\":\"French, English\",\"rating\":4.7,\"consultations\":188,\"available\":true,\"chat_url\":\"\",\"video_url\":\"\",\"demo\":true},{\"id\":0,\"name\":\"Dr. Honor\\u00e9 Ngando\",\"initials\":\"HN\",\"image\":\"\",\"title\":\"Aquaculture Specialist\",\"specialty\":\"Tilapia & Catfish\",\"category\":\"Aquaculture\",\"category_slug\":\"aquaculture\",\"city\":\"Kribi\",\"country\":\"Cameroon\",\"flag\":\"\\ud83c\\udde8\\ud83c\\uddf2\",\"years\":12,\"languages\":\"French, English\",\"rating\":4.8,\"consultations\":156,\"available\":true,\"chat_url\":\"\",\"video_url\":\"\",\"demo\":true},{\"id\":0,\"name\":\"Fatimatou Bello\",\"initials\":\"FB\",\"image\":\"\",\"title\":\"Animal Technician\",\"specialty\":\"Dairy Production\",\"category\":\"Animal Health\",\"category_slug\":\"animal-health\",\"city\":\"N'Djamena\",\"country\":\"Chad\",\"flag\":\"\\ud83c\\uddf9\\ud83c\\udde9\",\"years\":8,\"languages\":\"French, Arabic\",\"rating\":4.6,\"consultations\":132,\"available\":false,\"chat_url\":\"\",\"video_url\":\"\",\"demo\":true},{\"id\":0,\"name\":\"Dr. Albertine Kombo\",\"initials\":\"AK\",\"image\":\"\",\"title\":\"Certified Agronomist\",\"specialty\":\"Cassava & Tubers\",\"category\":\"Agronomy\",\"category_slug\":\"agronomy\",\"city\":\"Brazzaville\",\"country\":\"Rep. of Congo\",\"flag\":\"\\ud83c\\udde8\\ud83c\\uddec\",\"years\":14,\"languages\":\"French, Lingala\",\"rating\":4.8,\"consultations\":245,\"available\":true,\"chat_url\":\"\",\"video_url\":\"\",\"demo\":true},{\"id\":0,\"name\":\"Serge Obiang\",\"initials\":\"SO\",\"image\":\"\",\"title\":\"Post-Harvest Specialist\",\"specialty\":\"Storage & Cold Chain\",\"category\":\"Post-Harvest\",\"category_slug\":\"post-harvest\",\"city\":\"Libreville\",\"country\":\"Gabon\",\"flag\":\"\\ud83c\\uddec\\ud83c\\udde6\",\"years\":10,\"languages\":\"French, Spanish\",\"rating\":4.7,\"consultations\":167,\"available\":true,\"chat_url\":\"\",\"video_url\":\"\",\"demo\":true},{\"id\":0,\"name\":\"Dr. Grace Yakete\",\"initials\":\"GY\",\"image\":\"\",\"title\":\"Certified Agronomist\",\"specialty\":\"Cereals & Grains\",\"category\":\"Agronomy\",\"category_slug\":\"agronomy\",\"city\":\"Bangui\",\"country\":\"Central African Rep.\",\"flag\":\"\\ud83c\\udde8\\ud83c\\uddeb\",\"years\":13,\"languages\":\"French, Sango\",\"rating\":4.8,\"consultations\":203,\"available\":false,\"chat_url\":\"\",\"video_url\":\"\",\"demo\":true}],\"generated\":\"2026-09-13 12:47:32\",\"demo_mode\":true};\n\n        const grid = root.querySelector('#aaqExpertsGrid');\n        const loading = root.querySelector('#aaqExpertsLoading');\n        const notice = root.querySelector('#aaqExpertsNotice');\n        const demoNote = root.querySelector('#aaqExpertsDemoNote');\n        const filters = root.querySelector('#aaqExpertFilters');\n        const countExperts = root.querySelector('#aaqExpertCount');\n        const countConsultations = root.querySelector('#aaqConsultationCount');\n        const countAvailable = root.querySelector('#aaqAvailableCount');\n\n        let state = {\n            experts: [],\n            categories: [],\n            filter: 'all',\n            demoMode: false\n        };\n\n        function esc(value){\n            return String(value == null ? '' : value)\n                .replace(\/&\/g,'&amp;')\n                .replace(\/<\/g,'&lt;')\n                .replace(\/>\/g,'&gt;')\n                .replace(\/\"\/g,'&quot;')\n                .replace(\/'\/g,'&#039;');\n        }\n\n        function safeUrl(value){\n            const raw = String(value == null ? '' : value).trim();\n\n            \/*\n             * IMPORTANT:\n             * new URL('', window.location.origin) resolves to the current page.\n             * That was the reason blank profile images were becoming broken\n             * <img> tags and blank Chat\/Video URLs were opening the same page.\n             *\/\n            if (!raw) return '';\n\n            try{\n                const u = new URL(raw, window.location.origin);\n\n                if (!['http:','https:'].includes(u.protocol)) {\n                    return '';\n                }\n\n                return u.href;\n            }catch(e){\n                return '';\n            }\n        }\n\n        function formatNumber(value){\n            return new Intl.NumberFormat().format(Number(value || 0));\n        }\n\n        function renderFilters(){\n            const categoryButtons = state.categories.map(cat => {\n                return '<button type=\"button\" class=\"aaq-expert-filter\" data-filter=\"' + esc(cat.slug) + '\">' + esc(cat.name) + '<\/button>';\n            }).join('');\n\n            filters.innerHTML = '<button type=\"button\" class=\"aaq-expert-filter is-active\" data-filter=\"all\">All<\/button>' + categoryButtons;\n        }\n\n        function expertCard(expert){\n            const image = safeUrl(expert.image);\n            const chat = safeUrl(expert.chat_url);\n            const video = safeUrl(expert.video_url);\n\n            const available = !!expert.available;\n            const isDemo = !!expert.demo || state.demoMode;\n\n            \/*\n             * Communication links are enabled ONLY when:\n             * 1) this is a real WordPress expert, not demo\/sample data;\n             * 2) the expert is marked Available now; and\n             * 3) that specific Chat \/ Video URL has been entered in WP Admin.\n             *\/\n            const chatReady = !isDemo && available && !!chat;\n            const videoReady = !isDemo && available && !!video;\n\n            \/*\n             * Empty image URLs must show initials.\n             * This exactly prevents the broken circular image \/ clipped name\n             * problem visible in the previous version.\n             *\/\n            const avatar = image\n                ? '<img src=\"' + esc(image) + '\" alt=\"\" loading=\"lazy\" decoding=\"async\" onerror=\"this.remove();\">'\n                : '<span class=\"aaq-expert-avatar__initials\">' + esc(expert.initials || 'EX') + '<\/span>';\n\n            const location = [expert.city, expert.country].filter(Boolean).join(', ');\n            const categorySpecialty = [expert.category, expert.specialty].filter(Boolean).join(' \u2014 ');\n            const rating = Number(expert.rating || 0).toFixed(1);\n\n            \/*\n             * Inline SVG icons are used instead of emoji so every browser,\n             * desktop and phone displays the SAME professional icon.\n             *\/\n            const chatIcon =\n                '<svg class=\"aaq-action-icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">' +\n                    '<path fill=\"currentColor\" d=\"M12 3C6.49 3 2 6.81 2 11.5c0 2.64 1.43 5.01 3.68 6.57L5 21l3.45-1.73c1.1.31 2.29.48 3.55.48 5.51 0 10-3.81 10-8.5S17.51 3 12 3Z\"\/>' +\n                '<\/svg>';\n\n            const videoIcon =\n                '<svg class=\"aaq-action-icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">' +\n                    '<path fill=\"currentColor\" d=\"M4.5 6h9A2.5 2.5 0 0 1 16 8.5v7a2.5 2.5 0 0 1-2.5 2.5h-9A2.5 2.5 0 0 1 2 15.5v-7A2.5 2.5 0 0 1 4.5 6Zm13.1 3.12 3.08-1.87A.86.86 0 0 1 22 7.98v8.04a.86.86 0 0 1-1.32.73l-3.08-1.87V9.12Z\"\/>' +\n                '<\/svg>';\n\n            function actionMarkup(type, label, icon, ready, url){\n                const extraClass = type === 'chat' ? ' is-chat' : ' is-video';\n\n                if (ready) {\n                    return '<a class=\"aaq-expert-action' + extraClass + '\" href=\"' + esc(url) + '\" target=\"_blank\" rel=\"noopener noreferrer\">' +\n                        icon + '<span>' + esc(label) + '<\/span>' +\n                    '<\/a>';\n                }\n\n                let message = '';\n                if (isDemo) {\n                    message = label + ' is disabled on sample profiles. A verified real expert must be published and available first.';\n                } else if (!available) {\n                    message = esc(expert.name || 'This expert') + ' is not currently available for ' + label.toLowerCase() + '.';\n                } else {\n                    message = label + ' has not been configured for this expert yet.';\n                }\n\n                return '<button type=\"button\" class=\"aaq-expert-action' + extraClass + ' is-unavailable\" aria-disabled=\"true\" data-unavailable-message=\"' + esc(message) + '\">' +\n                    icon + '<span>' + esc(label) + '<\/span>' +\n                '<\/button>';\n            }\n\n            return '' +\n            '<article class=\"aaq-expert-card' + (available ? ' is-available' : '') + '\">' +\n                '<div class=\"aaq-expert-head\">' +\n                    '<div class=\"aaq-expert-avatar\">' + avatar + '<\/div>' +\n                    '<div class=\"aaq-expert-head-copy\">' +\n                        '<div class=\"aaq-expert-name-row\">' +\n                            '<h3 class=\"aaq-expert-name\">' + esc(expert.name) + '<\/h3>' +\n                            (available ? '<span class=\"aaq-online-dot\" title=\"Available now\" aria-label=\"Available now\"><\/span>' : '') +\n                        '<\/div>' +\n                        '<div class=\"aaq-expert-title\">' + esc(expert.title || 'Verified Agricultural Expert') + '<\/div>' +\n                        '<p class=\"aaq-expert-specialty\">' + esc(categorySpecialty) + '<\/p>' +\n                    '<\/div>' +\n                '<\/div>' +\n\n                '<div class=\"aaq-expert-details\">' +\n                    (location ? '<div class=\"aaq-expert-detail\"><span class=\"aaq-detail-icon\">' + esc(expert.flag || '\ud83d\udccd') + '<\/span><span>' + esc(location) + '<\/span><\/div>' : '') +\n                    '<div class=\"aaq-expert-detail\"><span class=\"aaq-detail-icon\">\ud83c\udf93<\/span><span>' + esc(expert.years || 0) + ' years experience<\/span><\/div>' +\n                    (expert.languages ? '<div class=\"aaq-expert-detail\"><span class=\"aaq-detail-icon\">\ud83d\udde3\ufe0f<\/span><span>' + esc(expert.languages) + '<\/span><\/div>' : '') +\n                    '<div class=\"aaq-expert-detail\"><span class=\"aaq-detail-icon\">\u2b50<\/span><span><span class=\"aaq-expert-rating\">' + esc(rating) + '<\/span> \u00b7 ' + formatNumber(expert.consultations) + ' consultations<\/span><\/div>' +\n                '<\/div>' +\n\n                '<div class=\"aaq-expert-actions\">' +\n                    actionMarkup('chat', 'Chat', chatIcon, chatReady, chat) +\n                    actionMarkup('video', 'Video call', videoIcon, videoReady, video) +\n                '<\/div>' +\n            '<\/article>';\n        }\n\n        function renderExperts(){\n            const list = state.filter === 'all'\n                ? state.experts\n                : state.experts.filter(expert => expert.category_slug === state.filter);\n\n            if (!list.length){\n                grid.innerHTML = '<div class=\"aaq-experts__empty\">No verified experts are currently listed in this category.<\/div>';\n                return;\n            }\n\n            grid.innerHTML = list.map(expertCard).join('');\n        }\n\n        function applyData(data){\n            if (!data || typeof data !== 'object') {\n                throw new Error('Invalid expert data.');\n            }\n\n            state.experts = Array.isArray(data.experts) ? data.experts : [];\n            state.categories = Array.isArray(data.categories) ? data.categories : [];\n            state.demoMode = !!data.demo_mode;\n\n            if (demoNote) {\n                demoNote.hidden = !state.demoMode;\n            }\n\n            countExperts.textContent = formatNumber(data.stats && data.stats.experts);\n            countConsultations.textContent = formatNumber(data.stats && data.stats.consultations);\n            countAvailable.textContent = formatNumber(data.stats && data.stats.available);\n\n            renderFilters();\n            renderExperts();\n\n            grid.hidden = false;\n            loading.hidden = true;\n            notice.hidden = true;\n        }\n\n        async function requestJson(url, options){\n            const response = await fetch(url, options || {});\n\n            if (!response.ok) {\n                throw new Error('HTTP ' + response.status);\n            }\n\n            return response.json();\n        }\n\n        async function loadExperts(){\n            let hasWorkingData = false;\n\n            \/*\n             * 1) Render the server-side WordPress payload immediately.\n             * This is the important \"never blank\" fallback.\n             *\/\n            try{\n                if (initialData && typeof initialData === 'object') {\n                    applyData(initialData);\n                    hasWorkingData = true;\n                }\n            }catch(initialError){\n                console.warn('AfriqAgro Experts initial payload:', initialError);\n            }\n\n            if (!hasWorkingData) {\n                loading.hidden = false;\n                grid.hidden = true;\n                notice.hidden = true;\n            }\n\n            \/*\n             * 2) Refresh from the public REST API.\n             *\/\n            try{\n                const restData = await requestJson(apiUrl, {\n                    method:'GET',\n                    credentials:'same-origin',\n                    cache:'no-store',\n                    headers:{\n                        'Accept':'application\/json',\n                        'Cache-Control':'no-cache'\n                    }\n                });\n\n                applyData(restData);\n                return;\n            }catch(restError){\n                console.warn('AfriqAgro Experts REST API:', restError);\n            }\n\n            \/*\n             * 3) If REST is blocked, refresh through admin-ajax.php.\n             *\/\n            try{\n                const separator = ajaxUrl.indexOf('?') === -1 ? '?' : '&';\n                const ajaxData = await requestJson(\n                    ajaxUrl + separator + 'action=afriqagro_get_experts&_=' + Date.now(),\n                    {\n                        method:'GET',\n                        credentials:'same-origin',\n                        cache:'no-store',\n                        headers:{\n                            'Accept':'application\/json',\n                            'Cache-Control':'no-cache'\n                        }\n                    }\n                );\n\n                if (!ajaxData || !ajaxData.success || !ajaxData.data) {\n                    throw new Error('Invalid AJAX response.');\n                }\n\n                applyData(ajaxData.data);\n                return;\n            }catch(ajaxError){\n                console.warn('AfriqAgro Experts AJAX fallback:', ajaxError);\n            }\n\n            \/*\n             * If the initial server-rendered payload worked, keep it visible.\n             * Only show an error if every data path failed.\n             *\/\n            if (!hasWorkingData) {\n                loading.hidden = true;\n                grid.hidden = true;\n                notice.textContent = 'The Experts Community could not load right now. Please refresh the page or try again shortly.';\n                notice.hidden = false;\n            }\n        }\n\n        grid.addEventListener('click', function(event){\n            const unavailableAction = event.target.closest('.aaq-expert-action.is-unavailable');\n\n            if (!unavailableAction) {\n                return;\n            }\n\n            event.preventDefault();\n\n            const message = unavailableAction.getAttribute('data-unavailable-message') || 'This service is not currently available.';\n\n            \/*\n             * Keep the user on the Experts page.\n             * No redirect, no blank page and no opening the current page again.\n             *\/\n            notice.textContent = message;\n            notice.hidden = false;\n\n            window.clearTimeout(root._aaqNoticeTimer);\n            root._aaqNoticeTimer = window.setTimeout(function(){\n                notice.hidden = true;\n            }, 4500);\n        });\n\n        filters.addEventListener('click', function(event){\n            const button = event.target.closest('[data-filter]');\n            if (!button) return;\n\n            state.filter = button.dataset.filter || 'all';\n            filters.querySelectorAll('.aaq-expert-filter').forEach(btn => btn.classList.toggle('is-active', btn === button));\n            renderExperts();\n        });\n\n        \/\/ Modal\n        const modal = root.querySelector('#aaqExpertModal');\n        const openModal = root.querySelector('#aaqOpenExpertApplication');\n        const closeControls = modal.querySelectorAll('[data-close-modal]');\n        const form = root.querySelector('#aaqExpertApplicationForm');\n        const formMessage = root.querySelector('#aaqExpertApplicationMessage');\n        let lastFocus = null;\n\n        function showModal(){\n            lastFocus = document.activeElement;\n            modal.hidden = false;\n            document.documentElement.style.overflow = 'hidden';\n            const first = modal.querySelector('input[name=\"name\"]');\n            if (first) setTimeout(() => first.focus(), 20);\n        }\n\n        function hideModal(){\n            modal.hidden = true;\n            document.documentElement.style.overflow = '';\n            if (lastFocus && typeof lastFocus.focus === 'function') lastFocus.focus();\n        }\n\n        openModal.addEventListener('click', showModal);\n        closeControls.forEach(el => el.addEventListener('click', hideModal));\n\n        document.addEventListener('keydown', function(e){\n            if (e.key === 'Escape' && !modal.hidden) hideModal();\n        });\n\n        form.addEventListener('submit', async function(event){\n            event.preventDefault();\n\n            const submit = form.querySelector('button[type=\"submit\"]');\n            const fd = new FormData(form);\n            fd.append('action', 'afriqagro_expert_application');\n            fd.append('nonce', applicationNonce);\n\n            formMessage.className = 'aaq-expert-form__message';\n            formMessage.textContent = 'Submitting your application\u2026';\n            submit.disabled = true;\n\n            try{\n                const response = await fetch(ajaxUrl, {\n                    method:'POST',\n                    credentials:'same-origin',\n                    body:fd\n                });\n\n                const data = await response.json();\n\n                if (!response.ok || !data.success){\n                    const message = data && data.data && data.data.message ? data.data.message : 'Unable to submit the application.';\n                    throw new Error(message);\n                }\n\n                formMessage.className = 'aaq-expert-form__message is-success';\n                formMessage.textContent = data.data.message || 'Application submitted successfully.';\n                form.reset();\n            }catch(error){\n                formMessage.className = 'aaq-expert-form__message is-error';\n                formMessage.textContent = error.message || 'Unable to submit the application. Please try again.';\n            }finally{\n                submit.disabled = false;\n            }\n        });\n\n        loadExperts();\n    })();\n    <\/script>\n\n    <\/div>\n\t\t\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":"elementor_header_footer","meta":{"ocean_front_end_style_editor":"no","ocean_post_layout":"","ocean_both_sidebars_style":"","ocean_both_sidebars_content_width":0,"ocean_both_sidebars_sidebars_width":0,"ocean_sidebar":"","ocean_second_sidebar":"","ocean_disable_margins":"enable","ocean_add_body_class":"","ocean_shortcode_before_top_bar":"","ocean_shortcode_after_top_bar":"","ocean_shortcode_before_header":"","ocean_shortcode_after_header":"","ocean_has_shortcode":"","ocean_shortcode_after_title":"","ocean_shortcode_before_footer_widgets":"","ocean_shortcode_after_footer_widgets":"","ocean_shortcode_before_footer_bottom":"","ocean_shortcode_after_footer_bottom":"","ocean_display_top_bar":"default","ocean_display_header":"default","ocean_header_style":"","ocean_center_header_left_menu":"","ocean_custom_header_template":"","ocean_custom_logo":0,"ocean_custom_retina_logo":0,"ocean_custom_logo_max_width":0,"ocean_custom_logo_tablet_max_width":0,"ocean_custom_logo_mobile_max_width":0,"ocean_custom_logo_max_height":0,"ocean_custom_logo_tablet_max_height":0,"ocean_custom_logo_mobile_max_height":0,"ocean_header_custom_menu":"","ocean_menu_typo_font_family":"","ocean_menu_typo_font_subset":"","ocean_menu_typo_font_size":0,"ocean_menu_typo_font_size_tablet":0,"ocean_menu_typo_font_size_mobile":0,"ocean_menu_typo_font_size_unit":"px","ocean_menu_typo_font_weight":"","ocean_menu_typo_font_weight_tablet":"","ocean_menu_typo_font_weight_mobile":"","ocean_menu_typo_transform":"","ocean_menu_typo_transform_tablet":"","ocean_menu_typo_transform_mobile":"","ocean_menu_typo_line_height":0,"ocean_menu_typo_line_height_tablet":0,"ocean_menu_typo_line_height_mobile":0,"ocean_menu_typo_line_height_unit":"","ocean_menu_typo_spacing":0,"ocean_menu_typo_spacing_tablet":0,"ocean_menu_typo_spacing_mobile":0,"ocean_menu_typo_spacing_unit":"","ocean_menu_link_color":"","ocean_menu_link_color_hover":"","ocean_menu_link_color_active":"","ocean_menu_link_background":"","ocean_menu_link_hover_background":"","ocean_menu_link_active_background":"","ocean_menu_social_links_bg":"","ocean_menu_social_hover_links_bg":"","ocean_menu_social_links_color":"","ocean_menu_social_hover_links_color":"","ocean_disable_title":"default","ocean_disable_heading":"default","ocean_post_title":"","ocean_post_subheading":"","ocean_post_title_style":"","ocean_post_title_background_color":"","ocean_post_title_background":0,"ocean_post_title_bg_image_position":"","ocean_post_title_bg_image_attachment":"","ocean_post_title_bg_image_repeat":"","ocean_post_title_bg_image_size":"","ocean_post_title_height":0,"ocean_post_title_bg_overlay":0.5,"ocean_post_title_bg_overlay_color":"","ocean_disable_breadcrumbs":"default","ocean_breadcrumbs_color":"","ocean_breadcrumbs_separator_color":"","ocean_breadcrumbs_links_color":"","ocean_breadcrumbs_links_hover_color":"","ocean_display_footer_widgets":"default","ocean_display_footer_bottom":"default","ocean_custom_footer_template":"","footnotes":""},"class_list":["post-270","page","type-page","status-publish","hentry","entry","owp-thumbs-layout-horizontal","owp-btn-normal","owp-tabs-layout-horizontal","has-no-thumbnails","has-product-nav"],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/afriqagro.com\/fr\/wp-json\/wp\/v2\/pages\/270","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/afriqagro.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/afriqagro.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/afriqagro.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/afriqagro.com\/fr\/wp-json\/wp\/v2\/comments?post=270"}],"version-history":[{"count":4,"href":"https:\/\/afriqagro.com\/fr\/wp-json\/wp\/v2\/pages\/270\/revisions"}],"predecessor-version":[{"id":275,"href":"https:\/\/afriqagro.com\/fr\/wp-json\/wp\/v2\/pages\/270\/revisions\/275"}],"wp:attachment":[{"href":"https:\/\/afriqagro.com\/fr\/wp-json\/wp\/v2\/media?parent=270"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}