{"id":2,"date":"2026-02-03T11:24:49","date_gmt":"2026-02-03T14:24:49","guid":{"rendered":"https:\/\/iweb07.itarget.com.br\/sbpt2026.org.br\/portal\/\/?page_id=2"},"modified":"2026-08-13T13:49:57","modified_gmt":"2026-08-13T16:49:57","slug":"home-2","status":"publish","type":"page","link":"https:\/\/sbpt.org.br\/portal\/","title":{"rendered":"Home"},"content":{"rendered":"<h2 class=\"wp-block-heading\">Acesso R\u00e1pido<\/h2>\n\nEncontre rapidamente os principais recursos e ferramentas para sua pr\u00e1tica profissional. Acesse as plataformas de conhecimento da SBPT.\n\nSa\u00fade<br> Respirat\u00f3ria\n\n<h3 class=\"wp-block-heading\">Departamentos e Comiss\u00f5es<\/h3>\n\nConhe\u00e7a nossos departamentos cient\u00edficos e comiss\u00f5es especializadas.\n\n<h3 class=\"wp-block-heading\">Download App<\/h3>\n\nBaixe o aplicativo oficial da SBPT.\n\n<h3 class=\"wp-block-heading\">Ensino \u00e0 Dist\u00e2ncia<\/h3>\n\nCursos online, webinars e conte\u00fados exclusivos para associados.\n\n<h3 class=\"wp-block-heading\">Eventos 2026<\/h3>\n\nPrograma\u00e7\u00e3o completa de eventos.\n\n<h3 class=\"wp-block-heading\">Ensino<\/h3>\n\nProcesso de certifica\u00e7\u00e3o e reconhecimento profissional na \u00e1rea.\n\n<h3 class=\"wp-block-heading\">Vitrine SBPT<\/h3>\n\nDescontos e benef\u00edcios exclusivos para associados em produtos e servi\u00e7os.\n\n<h2 class=\"wp-block-heading\">Pr\u00f3ximos Eventos<\/h2>\n\nParticipe de congressos, cursos e workshops para se manter atualizado.\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\"><div class=\"wp-block-button\"><a class=\"wp-block-button__link\">Confira todos os eventos<\/a><\/div><\/div>\n\n<figure class=\"wp-block-image size-full\"><a rel=\"Vitrine SBPT\" target=\"_blank\" title=\"Vitrine SBPT\" aria-label=\"Vitrine SBPT\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"212\" src=\"https:\/\/sbpt.org.br\/portal\/wp-content\/uploads\/2026\/03\/imagem-plublicidade-1024x212-1.webp\" alt class=\"wp-image-38840\" srcset=\"https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt-portal\/wp-content\/uploads\/2026\/03\/imagem-plublicidade-1024x212-1.webp 1024w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt-portal\/wp-content\/uploads\/2026\/03\/imagem-plublicidade-1024x212-1-300x62.webp 300w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt-portal\/wp-content\/uploads\/2026\/03\/imagem-plublicidade-1024x212-1-768x159.webp 768w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt-portal\/wp-content\/uploads\/2026\/03\/imagem-plublicidade-1024x212-1-600x124.webp 600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n<h2 class=\"wp-block-heading\">P\u00fablico Geral<\/h2>\n\nInforma\u00e7\u00f5es sobre sa\u00fade respirat\u00f3ria em linguagem acess\u00edvel, para orientar voc\u00ea e sua fam\u00edlia sobre preven\u00e7\u00e3o, diagn\u00f3stico e cuidados.\n\n<h3 class=\"wp-block-heading\">Chat SBPT<\/h3>\n\nAuxilia especialistas e residentes de pneumologia.\n\n<h3 class=\"wp-block-heading\">Advocacy<\/h3>\n\nAssessoria jur\u00eddica especializada para quest\u00f5es profissionais e administrativas.\n\n<h3 class=\"wp-block-heading\">Central de Certificados<\/h3>\n\nAcesse e gerencie seus certificados de cursos, eventos e atividades cient\u00edficas.\n\n<h3 class=\"wp-block-heading\">Consensos e Diretrizes<\/h3>\n\nAcesse documentos t\u00e9cnicos, protocolos e diretrizes cl\u00ednicas atualizadas.\n\nCentro de Refer\u00eancia\n\nPreven\u00e7\u00e3o e Cuidados\n\nPerguntas Frequentes\n\nGloss\u00e1rio<br> M\u00e9dico\n\n<h2 class=\"wp-block-heading\">\u00daltimas Not\u00edcias<\/h2>\n\nMantenha-se atualizado com as novidades da pneumologia\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\"><div class=\"wp-block-button\"><a class=\"wp-block-button__link\">Mais Not\u00edcias<\/a><\/div><\/div>\n\n\n    <style>\n        .lp-wrapper {\n            font-family: 'Nunito', 'Arimo', Arial, sans-serif;\n            margin: 0 auto;\n            max-width: 620px;\n            border-radius: 10px;\n            position: relative;\n        }\n\n        .lp-sr-only {\n            position: absolute;\n            width: 1px;\n            height: 1px;\n            padding: 0;\n            margin: -1px;\n            overflow: hidden;\n            clip: rect(0, 0, 0, 0);\n            white-space: nowrap;\n            border: 0;\n        }\n\n        .lp-field {\n            margin-bottom: 12px;\n            position: relative;\n            border-bottom: 1px solid rgba(100, 116, 139, .30);\n            transition: all 150ms ease-out;\n        }\n\n        .lp-field-icon,\n        .lp-field-caret {\n            position: absolute;\n            top: 50%;\n            transform: translateY(-50%);\n            color: #94a3b8;\n            pointer-events: none;\n            transition: color 150ms ease-out;\n        }\n\n        .lp-field-icon {\n            left: 2px;\n            width: 16px;\n            height: 16px;\n        }\n\n        .lp-field-caret {\n            right: 2px;\n            width: 16px;\n            height: 16px;\n        }\n\n        .lp-field-icon svg,\n        .lp-field-caret svg {\n            width: 100%;\n            height: 100%;\n        }\n\n        .lp-field input,\n        .lp-field select {\n            width: 100%;\n            background: transparent;\n            border: 0;\n            min-height: 44px;\n            padding: 8px 0;\n            padding-left: 0;\n            outline: none;\n            color: #000;\n            font-size: 14px;\n            transition: all 150ms ease-out;\n        }\n\n        .lp-field select {\n            appearance: none;\n            -webkit-appearance: none;\n            -moz-appearance: none;\n            cursor: pointer;\n        }\n\n        .lp-field select:disabled {\n            color: #94a3b8;\n            cursor: not-allowed;\n        }\n\n        .lp-field.has-left-icon input,\n        .lp-field.has-left-icon select {\n            padding-left: 28px;\n        }\n\n        .lp-field.has-right-icon select {\n            padding-right: 26px;\n        }\n\n        .lp-field input::placeholder {\n            color: #4a5565;\n            opacity: .8;\n        }\n\n        .lp-field input::-webkit-input-placeholder {\n            color: rgba(74, 85, 101, .84);\n        }\n\n        .lp-field input:-ms-input-placeholder {\n            color: rgba(74, 85, 101, .84);\n        }\n\n        .lp-field input::-ms-input-placeholder {\n            color: rgba(74, 85, 101, .84);\n        }\n\n        .lp-field:focus-within,\n        .lp-field:hover {\n            background-color: #fff;\n            border-radius: 10px;\n            box-shadow: 0 2px 8px rgba(100, 116, 139, .15);\n            border-bottom-color: transparent;\n        }\n\n        .lp-field:focus-within .lp-field-icon,\n        .lp-field:hover .lp-field-icon,\n        .lp-field:focus-within .lp-field-caret,\n        .lp-field:hover .lp-field-caret {\n            color: #64748b;\n        }\n\n        .lp-field:focus-within input,\n        .lp-field:hover input,\n        .lp-field:focus-within select,\n        .lp-field:hover select {\n            height: 44px;\n            padding: 8px 5px;\n        }\n\n        .lp-field.has-left-icon:focus-within input,\n        .lp-field.has-left-icon:hover input,\n        .lp-field.has-left-icon:focus-within select,\n        .lp-field.has-left-icon:hover select {\n            padding-left: 28px;\n        }\n\n        .lp-field.has-right-icon:focus-within select,\n        .lp-field.has-right-icon:hover select {\n            padding-right: 26px;\n        }\n\n        .lp-row {\n            display: grid;\n            grid-template-columns: 1fr 2fr;\n            gap: 12px;\n        }\n\n        .lp-btn-wrap {\n            text-align: center;\n            margin-top: 12px;\n        }\n\n        .lp-search-count {\n            margin: 24px 0 0;\n            text-align: center;\n            font-size: 14px;\n            line-height: 1.45;\n            color: #6b7280;\n        }\n\n        .lp-search-count span {\n            color: #003D7A;\n            font-weight: 600;\n        }\n\n        .lp-btn {\n            border: 0;\n            border-radius: 999px;\n            padding: 8px 22px;\n            background: #e8edf6;\n            color: #111827;\n            font-weight: 500;\n            cursor: pointer;\n            display: inline-flex;\n            align-items: center;\n            justify-content: center;\n            gap: 10px;\n            min-width: 210px;\n            transition: all 150ms ease-out;\n            font-size: 14px;\n        }\n\n        .lp-btn svg {\n            width: 14px;\n            height: 14px;\n        }\n\n        .lp-btn:hover {\n            background-color: #0070c0;\n            color: #fff;\n        }\n\n        .lp-backdrop {\n            position: fixed;\n            inset: 0;\n            background: rgba(0, 0, 0, .30);\n            backdrop-filter: blur(4px);\n            opacity: 0;\n            visibility: hidden;\n            transition: opacity .25s ease;\n            z-index: 9999;\n        }\n\n        .lp-backdrop.active {\n            opacity: 1;\n            visibility: visible;\n        }\n\n        .lp-offcanvas {\n            position: fixed;\n            top: 0;\n            right: 0;\n            width: min(100%, 760px);\n            height: 100vh;\n            background: #fff;\n            transform: translateX(100%);\n            transition: transform .35s ease, width .35s ease;\n            z-index: 999999;\n            display: flex;\n            flex-direction: column;\n            box-shadow: -12px 0 28px rgba(0, 0, 0, .2);\n        }\n\n        .lp-offcanvas.is-search {\n            width: min(100%, 448px);\n        }\n\n        .lp-offcanvas.is-results {\n            width: min(100%, 760px);\n        }\n\n        .lp-offcanvas.active {\n            transform: translateX(0);\n        }\n\n        .lp-offcanvas-head {\n            display: flex;\n            flex-direction: column;\n            align-items: stretch;\n            border-bottom: 1px solid #e5e7eb;\n            padding: 12px 16px;\n            background: #fff;\n        }\n\n        .lp-offcanvas.is-search .lp-offcanvas-head {\n            padding: 0 40px;\n        }\n\n        .lp-head-main {\n            display: flex;\n            align-items: center;\n            gap: 14px;\n            min-height: 36px;\n        }\n\n        .lp-head-title {\n            display: flex;\n            align-items: center;\n            gap: 10px;\n            margin-left: 30px;\n            min-width: 0;\n        }\n\n        .lp-offcanvas-head h3 {\n            margin: 0;\n            font-size: 19px;\n            color: #111827;\n            font-weight: 700;\n            line-height: 1.2;\n            white-space: nowrap;\n        }\n\n        .lp-title-icon {\n            width: 22px;\n            height: 22px;\n            border-radius: 999px;\n            background: #1f69c8;\n            display: inline-flex;\n            align-items: center;\n            justify-content: center;\n            color: #fff;\n            flex-shrink: 0;\n        }\n\n        .lp-title-icon svg {\n            width: 12px;\n            height: 12px;\n        }\n\n        .lp-close {\n            position: absolute;\n            top: 0;\n            left: 0;\n            width: 32px;\n            height: 32px;\n            background: #111827;\n            color: #fff;\n            cursor: pointer;\n            display: inline-flex;\n            align-items: center;\n            justify-content: center;\n            padding: 0;\n            flex-shrink: 0;\n        }\n\n        .lp-close svg {\n            width: 18px;\n            height: 18px;\n        }\n\n        .lp-close .lp-icon-close {\n            display: none;\n        }\n\n        .lp-offcanvas.is-search .lp-close .lp-icon-back {\n            display: none;\n        }\n\n        .lp-offcanvas.is-search .lp-close .lp-icon-close {\n            display: block;\n        }\n\n        .lp-head-chips {\n            display: flex;\n            align-items: center;\n            gap: 8px;\n            flex-wrap: wrap;\n            margin-left: auto;\n        }\n\n        .lp-offcanvas.is-search .lp-head-main .lp-head-title {\n            display: none;\n        }\n\n        .lp-offcanvas.is-search .lp-head-chips {\n            display: none;\n        }\n\n        .lp-chip {\n            display: inline-flex;\n            align-items: center;\n            gap: 6px;\n            background: #eef2f8;\n            border-radius: 999px;\n            padding: 6px 10px;\n            color: #475569;\n            font-size: 11px;\n            line-height: 1;\n            border: 1px solid #e3e8f2;\n        }\n\n        .lp-chip svg {\n            width: 12px;\n            height: 12px;\n        }\n\n        .lp-chip-clear {\n            border: 0;\n            background: transparent;\n            color: #6b7280;\n            width: 14px;\n            height: 14px;\n            padding: 0;\n            display: inline-flex;\n            align-items: center;\n            justify-content: center;\n            cursor: pointer;\n            border-radius: 999px;\n        }\n\n        .lp-chip-clear:hover {\n            color: #111827;\n            background: #dce3ef;\n        }\n\n        .lp-chip-clear svg {\n            width: 10px;\n            height: 10px;\n        }\n\n        .lp-results-meta {\n            padding: 10px 16px;\n            font-size: 13px;\n            color: #4b5563;\n            border-bottom: 1px solid #f1f5f9;\n        }\n\n        .lp-results {\n            flex: 1;\n            overflow-y: auto;\n            padding: 16px;\n            display: grid;\n            grid-template-columns: repeat(2, minmax(0, 1fr));\n            gap: 14px;\n            align-content: start;\n            background: #f8fafc;\n        }\n        .lp-offcanvas-results:before {\n            content: \"\";\n            position: absolute;\n            bottom: 0;\n            left: 0;\n            width: 100%;\n            height: 100px;\n\n            \/* Gradiente de baixo (branco) para cima (transparente) *\/\n            background: linear-gradient(\n                to top,\n                rgba(255, 255, 255, 1) 0%,\n                rgba(255, 255, 255, 0.8) 80%,\n                rgba(255, 255, 255, 0) 100%\n            );\n\n            \/* Desfoque do conte\u00fado atr\u00e1s *\/\n            backdrop-filter: blur(1x);\n            -webkit-backdrop-filter: blur(1px);\n\n            z-index: 10;\n            pointer-events: none;\n        }\n        .lp-card {\n            border: 1px solid #e6ebf2;\n            border-radius: 12px;\n            padding: 12px;\n            background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);\n            box-shadow: 0 6px 20px rgba(15, 23, 42, 0.08);\n            transition: all 0.3s ease;\n            will-change: transform, box-shadow;\n            cursor: pointer;\n        }\n\n        .lp-card:hover {\n            box-shadow: 0 25px 30px -5px rgba(0, 61, 122, 0.15), 0 10px 12px -6px rgba(0, 61, 122, 0.15);\n            transform: translateY(-2px);\n        }\n\n        .lp-card-top {\n            display: grid;\n            grid-template-columns: 56px 1fr;\n            gap: 12px;\n            align-items: center;\n            margin-bottom: 10px;\n        }\n\n        .lp-avatar {\n            width: 56px;\n            height: 56px;\n            border-radius: 999px;\n            background: radial-gradient(circle at 30% 20%, #7c8ca3, #38475a);\n            color: #fff;\n            font-weight: 700;\n            font-size: 18px;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            overflow: hidden;\n        }\n\n        .lp-avatar img {\n            width: 100%;\n            height: 100%;\n            object-fit: cover;\n            display: block;\n        }\n\n        .lp-card h4 {\n            margin: 0;\n            color: #111827;\n            font-size: 15px;\n            line-height: 1.3;\n            font-family: 'Nunito', 'Arimo', Arial, sans-serif;\n            font-weight: 700;\n            letter-spacing: .1px;\n        }\n\n        .lp-subline {\n            margin-top: 4px;\n            display: flex;\n            align-items: center;\n            gap: 6px;\n            color: #64748b;\n            font-size: 12px;\n            line-height: 1.2;\n        }\n\n        .lp-doc-icon {\n            width: 13px;\n            height: 13px;\n            color: #2563eb;\n            flex-shrink: 0;\n        }\n\n        .lp-line {\n            margin: 4px 0 0;\n            font-size: 12px;\n            color: #475569;\n        }\n\n        .lp-line strong {\n            color: #111827;\n        }\n\n        .lp-card-actions {\n            border-top: 1px solid #e8edf4;\n            margin-top: 10px;\n            padding-top: 10px;\n            display: flex;\n            justify-content: center;\n            gap: 8px;\n        }\n\n        .lp-action {\n            width: 27px;\n            height: 27px;\n            border-radius: 999px;\n            border: 1px solid #dbe3ef;\n            background: #f4f7fb;\n            color: #4b5563;\n            display: inline-flex;\n            align-items: center;\n            justify-content: center;\n            text-decoration: none;\n            transition: all .15s ease;\n        }\n\n        .lp-action:hover {\n            background: #e9eef7;\n            color: #1f2937;\n        }\n\n        .lp-action svg {\n            width: 14px;\n            height: 14px;\n        }\n\n        .lp-action.is-disabled {\n            pointer-events: none;\n            opacity: .42;\n        }\n\n        .lp-empty,\n        .lp-loading,\n        .lp-error {\n            grid-column: 1 \/ -1;\n            border: 1px dashed #cbd5e1;\n            border-radius: 12px;\n            padding: 18px;\n            text-align: center;\n            color: #475569;\n            background: #f8fafc;\n            font-size: 14px;\n        }\n\n        .lp-pagination {\n            border-top: 1px solid #e5e7eb;\n            padding: 12px 16px;\n            display: flex;\n            align-items: center;\n            justify-content: space-between;\n            gap: 10px;\n            position: relative;\n            z-index: 60;\n        }\n\n        .lp-page-btn {\n            border: 1px solid #d1d5db;\n            border-radius: 8px;\n            background: #fff;\n            color: #111827;\n            padding: 8px 10px;\n            cursor: pointer;\n            font-size: 13px;\n            min-width: 92px;\n            text-align: center;\n        }\n\n        .lp-page-btn:disabled {\n            opacity: .4;\n            cursor: not-allowed;\n        }\n\n        .lp-page-info {\n            font-size: 13px;\n            color: #4b5563;\n        }\n\n        .lp-offcanvas-search {\n            display: none;\n            padding: 40px;\n            background: #fff;\n            overflow-y: auto;\n            opacity: 0;\n        }\n\n        .lp-offcanvas-intro {\n            display: none;\n            margin-top: 14px;\n            border-bottom: 1px solid #e5e7eb;\n            padding-bottom: 14px;\n        }\n\n        .lp-offcanvas.is-search .lp-offcanvas-intro {\n            display: block;\n        }\n\n        .lp-offcanvas.is-results .lp-offcanvas-intro {\n            display: none;\n        }\n\n        .lp-offcanvas-intro-image {\n            width: 100%;\n            height: 156px;\n            border-radius: 12px;\n            background-image: url('https:\/\/sbpt.org.br\/portal\/wp-content\/uploads\/2026\/02\/localizador-profissional-imagem.webp');\n            background-repeat: no-repeat;\n            background-position: center bottom;\n            background-size: cover;\n            position: relative;\n            overflow: hidden;\n            margin-bottom: 12px;\n        }\n\n        .lp-offcanvas-description {\n            display: none;\n            margin: 0;\n            margin-bottom: 8px;\n            padding-top: 8px;\n            padding-left: 8px;\n            \/* border-top: 1px solid #e5e7eb; *\/\n            opacity: 1;\n            color: #4b5563;\n            font-size: 12px;\n            line-height: 1.625;\n            transition-property: all;\n            transition-duration: 300ms;\n            transition-timing-function: ease-in-out;\n        }\n\n        .lp-offcanvas.is-search .lp-offcanvas-description {\n            display: block;\n        }\n\n        .lp-offcanvas.is-results .lp-offcanvas-description {\n            display: none;\n        }\n\n        .lp-offcanvas-intro .lp-head-title {\n            margin-left: 0;\n            margin-top: 12px;\n        }\n\n        .lp-offcanvas-search.active {\n            display: block;\n            animation: lpFadeIn .28s ease forwards;\n        }\n\n        @keyframes lpFadeIn {\n            from {\n                opacity: 0;\n            }\n\n            to {\n                opacity: 1;\n            }\n        }\n\n        .lp-offcanvas-results {\n            display: flex;\n            flex-direction: column;\n            min-height: 0;\n            flex: 1;\n        }\n\n        .lp-offcanvas-results.hidden {\n            display: none;\n        }\n\n        @media (max-width: 768px) {\n\n            .lp-head-title {\n                display: flex;\n                align-items: center;\n                gap: 10px;\n                margin-left: 70px;\n                min-width: 0;\n                width: 100%;\n            }\n            \n            .lp-head-main {\n                display: flex;\n                align-items: center;\n                gap: 14px;\n                min-height: 36px;\n                flex-direction: column;\n            }\n\n            .lp-field input,\n            .lp-field select {\n                font-size: 16px;\n            }\n\n            .lp-row {\n                grid-template-columns: 1fr;\n            }\n\n            .lp-results {\n                grid-template-columns: 1fr;\n                transition: all 0.5s ease-in-out;\n                transform-origin: top;\n                transform: scale(1);\n                opacity: 1;\n            }\n\n            .lp-card h4 {\n                font-size: 15px;\n            }\n\n            .lp-subline {\n                font-size: 12px;\n            }\n\n            .lp-offcanvas-head h3 {\n                font-size: 18px;\n            }\n\n            .lp-head-chips {\n                margin-left: 0;\n            }\n        }\n    <\/style>\n\n    <div class=\"lp-wrapper\" data-ajax-url=\"https:\/\/sbpt.org.br\/portal\/wp-admin\/admin-ajax.php\" data-nonce=\"2747e26787\">\n\n        <div class=\"lp-field has-left-icon\">\n            <span class=\"lp-field-icon\" aria-hidden=\"true\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                    <circle cx=\"11\" cy=\"11\" r=\"8\"><\/circle>\n                    <path d=\"m21 21-4.3-4.3\"><\/path>\n                <\/svg>\n            <\/span>\n            <input type=\"text\" id=\"lpNomeCrm\" placeholder=\"Nome do profissional ou CRM\">\n        <\/div>\n\n        <div class=\"lp-row\">\n            <div class=\"lp-field has-left-icon has-right-icon\">\n                <span class=\"lp-field-icon\" aria-hidden=\"true\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                        <path d=\"M3 6l6-2 6 2 6-2v14l-6 2-6-2-6 2z\"><\/path>\n                        <path d=\"M9 4v14\"><\/path>\n                        <path d=\"M15 6v14\"><\/path>\n                    <\/svg>\n                <\/span>\n                <label class=\"lp-sr-only\" for=\"lpEstado\">Estado<\/label>\n                <select id=\"lpEstado\">\n                    <option value=\"\">Estado<\/option>\n                    <option value=\"1\">ACRE<\/option>\n                    <option value=\"2\">ALAGOAS<\/option>\n                    <option value=\"3\">AMAZONAS<\/option>\n                    <option value=\"4\">AMAP\u00c1<\/option>\n                    <option value=\"5\">BAHIA<\/option>\n                    <option value=\"6\">CEAR\u00c1<\/option>\n                    <option value=\"7\">DISTRITO FEDERAL<\/option>\n                    <option value=\"8\">ESP\u00cdRITO SANTO<\/option>\n                    <option value=\"9\">GOI\u00c1S<\/option>\n                    <option value=\"10\">MARANH\u00c3O<\/option>\n                    <option value=\"11\">MINAS GERAIS<\/option>\n                    <option value=\"12\">MATO GROSSO DO SUL<\/option>\n                    <option value=\"13\">MATO GROSSO<\/option>\n                    <option value=\"14\">PAR\u00c1<\/option>\n                    <option value=\"15\">PARA\u00cdBA<\/option>\n                    <option value=\"16\">PERNAMBUCO<\/option>\n                    <option value=\"17\">PIAU\u00cd<\/option>\n                    <option value=\"18\">PARAN\u00c1<\/option>\n                    <option value=\"19\">RIO DE JANEIRO<\/option>\n                    <option value=\"20\">RIO GRANDE DO NORTE<\/option>\n                    <option value=\"21\">ROND\u00d4NIA<\/option>\n                    <option value=\"22\">RIO GRANDE DO SUL<\/option>\n                    <option value=\"23\">SANTA CATARINA<\/option>\n                    <option value=\"24\">SERGIPE<\/option>\n                    <option value=\"25\">S\u00c3O PAULO<\/option>\n                    <option value=\"26\">TOCANTINS<\/option>\n                    <option value=\"27\">RORAIMA<\/option>\n                <\/select>\n                <span class=\"lp-field-caret\" aria-hidden=\"true\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                        <path d=\"m6 9 6 6 6-6\"><\/path>\n                    <\/svg>\n                <\/span>\n            <\/div>\n\n            <div class=\"lp-field has-left-icon has-right-icon\">\n                <span class=\"lp-field-icon\" aria-hidden=\"true\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                        <path d=\"M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 0 1 16 0z\"><\/path>\n                        <circle cx=\"12\" cy=\"10\" r=\"3\"><\/circle>\n                    <\/svg>\n                <\/span>\n                <label class=\"lp-sr-only\" for=\"lpCidade\">Cidade<\/label>\n                <select id=\"lpCidade\" disabled>\n                    <option value=\"\">Cidade<\/option>\n                <\/select>\n                <span class=\"lp-field-caret\" aria-hidden=\"true\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                        <path d=\"m6 9 6 6 6-6\"><\/path>\n                    <\/svg>\n                <\/span>\n            <\/div>\n        <\/div>\n\n        <!-- ID 6 -  DPOC\n        ID 1 - Asma\n        ID 13 - Tuberculose Oncologia Tor\u00e1cica -->\n\n        <div class=\"lp-field has-left-icon has-right-icon\">\n            <span class=\"lp-field-icon\" aria-hidden=\"true\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                    <path d=\"M3 5h18l-7 8v6l-4 2v-8L3 5z\"><\/path>\n                <\/svg>\n            <\/span>\n            <label class=\"lp-sr-only\" for=\"lpArea\">\u00c1rea de atua\u00e7\u00e3o<\/label>\n            <select id=\"lpArea\">\n                <option value=\"0\">Outras<\/option>\n                <option value=\"1\">Pneumologia<\/option>\n                <option value=\"2\">Broncoscopia<\/option>\n                <!-- <option value=\"13\">Tuberculose Oncologia Tor\u00e1cica<\/option> -->\n                <!-- <option value=\"\">\u00c1rea de atua\u00e7\u00e3o<\/option>\n                <option value=\"Pneumologia Geral\">Pneumologia Geral<\/option>\n                <option value=\"6\">DPOC<\/option>\n                <option value=\"1\">Asma<\/option>\n                <option value=\"13\">Tuberculose Oncologia Tor\u00e1cica<\/option> -->\n                <!-- <option value=\"Medicina do Sono\">Medicina do Sono<\/option> -->\n            <\/select>\n            <span class=\"lp-field-caret\" aria-hidden=\"true\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                    <path d=\"m6 9 6 6 6-6\"><\/path>\n                <\/svg>\n            <\/span>\n        <\/div>\n\n        <div class=\"lp-btn-wrap\">\n            <button type=\"button\" class=\"lp-btn\" id=\"lpBuscarBtn\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                    <circle cx=\"11\" cy=\"11\" r=\"8\"><\/circle>\n                    <path d=\"m21 21-4.3-4.3\"><\/path>\n                <\/svg>\n                <span>Buscar Profissional<\/span>\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                    <path d=\"m9 6 6 6-6 6\"><\/path>\n                <\/svg>\n            <\/button>\n        <\/div>\n\n        <p class=\"lp-search-count\">Mais de <span>4.000 profissionais<\/span> cadastrados em todo o Brasil<\/p>\n    <\/div>\n\n    <div class=\"lp-backdrop\" id=\"lpBackdrop\"><\/div>\n\n    <div class=\"lp-offcanvas\" id=\"lpOffcanvas\">\n        <div class=\"lp-offcanvas-head\">\n            <div class=\"lp-head-main\">\n                <button class=\"lp-close\" id=\"idCloseBtn\" aria-label=\"Voltar\">\n                    <svg class=\"lp-icon-back\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                        <path d=\"m15 18-6-6 6-6\"><\/path>\n                    <\/svg>\n                    <svg class=\"lp-icon-close\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                        <path d=\"M18 6 6 18\"><\/path>\n                        <path d=\"m6 6 12 12\"><\/path>\n                    <\/svg>\n                <\/button>\n                <div class=\"lp-head-title\">\n                    <span class=\"lp-title-icon\">\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                            <path d=\"M11 2v2\"><\/path>\n                            <path d=\"M5 2v2\"><\/path>\n                            <path d=\"M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1\"><\/path>\n                            <path d=\"M8 15a6 6 0 0 0 12 0v-3\"><\/path>\n                            <circle cx=\"20\" cy=\"10\" r=\"2\"><\/circle>\n                        <\/svg>\n                    <\/span>\n                    <h3>Localizador Profissional<\/h3>\n                <\/div>\n                <div class=\"lp-head-chips\" id=\"lpHeadChips\"><\/div>\n            <\/div>\n\n            <div class=\"lp-offcanvas-intro\">\n                <div class=\"lp-offcanvas-intro-image\" aria-hidden=\"true\"><\/div>\n              \n                <div class=\"lp-head-title\">\n                    <span class=\"lp-title-icon\">\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                            <path d=\"M11 2v2\"><\/path>\n                            <path d=\"M5 2v2\"><\/path>\n                            <path d=\"M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1\"><\/path>\n                            <path d=\"M8 15a6 6 0 0 0 12 0v-3\"><\/path>\n                            <circle cx=\"20\" cy=\"10\" r=\"2\"><\/circle>\n                        <\/svg>\n                    <\/span>\n                    <h3>Localizador Profissional<\/h3>\n                <\/div>\n                  \n            <\/div>\n\n            <p class=\"lp-offcanvas-description\">Encontre pneumologistas certificados em todo o Brasil. Busque por nome, localiza\u00e7\u00e3o ou \u00e1rea de atua\u00e7\u00e3o e encontre o m\u00e9dico especialista mais perto de voc\u00ea.<\/p>\n        <\/div>\n\n        <div class=\"lp-offcanvas-search\" id=\"lpOffcanvasSearch\">\n            <div class=\"lp-field has-left-icon\">\n                <span class=\"lp-field-icon\" aria-hidden=\"true\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                        <circle cx=\"11\" cy=\"11\" r=\"8\"><\/circle>\n                        <path d=\"m21 21-4.3-4.3\"><\/path>\n                    <\/svg>\n                <\/span>\n                <input type=\"text\" id=\"lpOcNomeCrm\" placeholder=\"Nome do profissional ou CRM\">\n            <\/div>\n\n            <div class=\"lp-row\">\n                <div class=\"lp-field has-left-icon has-right-icon\">\n                    <span class=\"lp-field-icon\" aria-hidden=\"true\">\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                            <path d=\"M3 6l6-2 6 2 6-2v14l-6 2-6-2-6 2z\"><\/path>\n                            <path d=\"M9 4v14\"><\/path>\n                            <path d=\"M15 6v14\"><\/path>\n                        <\/svg>\n                    <\/span>\n                    <label class=\"lp-sr-only\" for=\"lpOcEstado\">Estado<\/label>\n                    <select id=\"lpOcEstado\">\n                        <option value=\"\">Estado<\/option>\n                        <option value=\"1\">ACRE<\/option>\n                        <option value=\"2\">ALAGOAS<\/option>\n                        <option value=\"3\">AMAZONAS<\/option>\n                        <option value=\"4\">AMAP\u00c1<\/option>\n                        <option value=\"5\">BAHIA<\/option>\n                        <option value=\"6\">CEAR\u00c1<\/option>\n                        <option value=\"7\">DISTRITO FEDERAL<\/option>\n                        <option value=\"8\">ESP\u00cdRITO SANTO<\/option>\n                        <option value=\"9\">GOI\u00c1S<\/option>\n                        <option value=\"10\">MARANH\u00c3O<\/option>\n                        <option value=\"11\">MINAS GERAIS<\/option>\n                        <option value=\"12\">MATO GROSSO DO SUL<\/option>\n                        <option value=\"13\">MATO GROSSO<\/option>\n                        <option value=\"14\">PAR\u00c1<\/option>\n                        <option value=\"15\">PARA\u00cdBA<\/option>\n                        <option value=\"16\">PERNAMBUCO<\/option>\n                        <option value=\"17\">PIAU\u00cd<\/option>\n                        <option value=\"18\">PARAN\u00c1<\/option>\n                        <option value=\"19\">RIO DE JANEIRO<\/option>\n                        <option value=\"20\">RIO GRANDE DO NORTE<\/option>\n                        <option value=\"21\">ROND\u00d4NIA<\/option>\n                        <option value=\"22\">RIO GRANDE DO SUL<\/option>\n                        <option value=\"23\">SANTA CATARINA<\/option>\n                        <option value=\"24\">SERGIPE<\/option>\n                        <option value=\"25\">S\u00c3O PAULO<\/option>\n                        <option value=\"26\">TOCANTINS<\/option>\n                        <option value=\"27\">RORAIMA<\/option>\n                    <\/select>\n                    <span class=\"lp-field-caret\" aria-hidden=\"true\">\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                            <path d=\"m6 9 6 6 6-6\"><\/path>\n                        <\/svg>\n                    <\/span>\n                <\/div>\n\n                <div class=\"lp-field has-left-icon has-right-icon\">\n                    <span class=\"lp-field-icon\" aria-hidden=\"true\">\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                            <path d=\"M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 0 1 16 0z\"><\/path>\n                            <circle cx=\"12\" cy=\"10\" r=\"3\"><\/circle>\n                        <\/svg>\n                    <\/span>\n                    <label class=\"lp-sr-only\" for=\"lpOcCidade\">Cidade<\/label>\n                    <select id=\"lpOcCidade\" disabled>\n                        <option value=\"\">Cidade<\/option>\n                    <\/select>\n                    <span class=\"lp-field-caret\" aria-hidden=\"true\">\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                            <path d=\"m6 9 6 6 6-6\"><\/path>\n                        <\/svg>\n                    <\/span>\n                <\/div>\n            <\/div>\n\n            <div class=\"lp-field has-left-icon has-right-icon\">\n                <span class=\"lp-field-icon\" aria-hidden=\"true\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                        <path d=\"M3 5h18l-7 8v6l-4 2v-8L3 5z\"><\/path>\n                    <\/svg>\n                <\/span>\n                <label class=\"lp-sr-only\" for=\"lpOcArea\">\u00c1rea de atua\u00e7\u00e3o<\/label>\n                <select id=\"lpOcArea\">\n                    <option value=\"0\">Outras<\/option>\n                    <option value=\"1\">Pneumologia<\/option>\n                    <option value=\"2\">Broncoscopia<\/option>\n                    <!-- <option value=\"\">\u00c1rea de atua\u00e7\u00e3o<\/option>\n                    <option value=\"Pneumologia Geral\">Pneumologia Geral<\/option>\n                    <option value=\"6\">DPOC<\/option>\n                    <option value=\"1\">Asma<\/option>\n                    <option value=\"13\">Tuberculose Oncologia Tor\u00e1cica<\/option> -->\n                <\/select>\n                <span class=\"lp-field-caret\" aria-hidden=\"true\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                        <path d=\"m6 9 6 6 6-6\"><\/path>\n                    <\/svg>\n                <\/span>\n            <\/div>\n\n            <div class=\"lp-btn-wrap\">\n                <button type=\"button\" class=\"lp-btn\" id=\"lpOcBuscarBtn\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                        <circle cx=\"11\" cy=\"11\" r=\"8\"><\/circle>\n                        <path d=\"m21 21-4.3-4.3\"><\/path>\n                    <\/svg>\n                    <span>Buscar Profissional<\/span>\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                        <path d=\"m9 6 6 6-6 6\"><\/path>\n                    <\/svg>\n                <\/button>\n            <\/div>\n\n            <p class=\"lp-search-count\">Mais de <span>4.000 profissionais<\/span> cadastrados em todo o Brasil<\/p>\n        <\/div>\n\n        <div class=\"lp-offcanvas-results\" id=\"lpOffcanvasResults\">\n            <div class=\"lp-results-meta\" id=\"lpResultsMeta\">Nenhuma busca executada.<\/div>\n\n            <div class=\"lp-results\" id=\"lpResults\"><\/div>\n\n            <div class=\"lp-pagination\" id=\"lpPagination\" style=\"display:none;\">\n                <button class=\"lp-page-btn\" id=\"lpPrevPage\">Anterior<\/button>\n                <span class=\"lp-page-info\" id=\"lpPageInfo\"><\/span>\n                <button class=\"lp-page-btn\" id=\"lpNextPage\">Pr\u00f3ximo<\/button>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <script>\n        document.addEventListener('DOMContentLoaded', function () {\n            const wrapper = document.querySelector('.lp-wrapper');\n            if (!wrapper) {\n                return;\n            }\n\n            const ajaxUrl = wrapper.getAttribute('data-ajax-url');\n            const nonce = wrapper.getAttribute('data-nonce');\n\n            const nomeCrmEl = document.getElementById('lpNomeCrm');\n            const estadoEl = document.getElementById('lpEstado');\n            const cidadeEl = document.getElementById('lpCidade');\n            const areaEl = document.getElementById('lpArea');\n\n            const buscarBtn = document.getElementById('lpBuscarBtn');\n            const backdrop = document.getElementById('lpBackdrop');\n            const offcanvas = document.getElementById('lpOffcanvas');\n            const closeBtn = document.getElementById('idCloseBtn') || document.getElementById('lpCloseBtn');\n            const offcanvasSearch = document.getElementById('lpOffcanvasSearch');\n            const offcanvasResults = document.getElementById('lpOffcanvasResults');\n\n            const ocNomeCrmEl = document.getElementById('lpOcNomeCrm');\n            const ocEstadoEl = document.getElementById('lpOcEstado');\n            const ocCidadeEl = document.getElementById('lpOcCidade');\n            const ocAreaEl = document.getElementById('lpOcArea');\n            const ocBuscarBtn = document.getElementById('lpOcBuscarBtn');\n\n            const resultsMeta = document.getElementById('lpResultsMeta');\n            const resultsBox = document.getElementById('lpResults');\n            const headChips = document.getElementById('lpHeadChips');\n            const pagination = document.getElementById('lpPagination');\n            const prevPageBtn = document.getElementById('lpPrevPage');\n            const nextPageBtn = document.getElementById('lpNextPage');\n            const pageInfo = document.getElementById('lpPageInfo');\n\n            let pageState = {\n                current: 1,\n                last: 1,\n            };\n\n            let lastRawTotal = 0;\n\n            function openOffcanvas() {\n                offcanvas.classList.add('active');\n                backdrop.classList.add('active');\n                document.body.style.overflow = 'hidden';\n            }\n\n            function closeOffcanvas() {\n                offcanvas.classList.remove('active');\n                backdrop.classList.remove('active');\n                document.body.style.overflow = '';\n            }\n\n            function syncMainToOffcanvasForm() {\n                if (!ocNomeCrmEl || !ocEstadoEl || !ocCidadeEl || !ocAreaEl) {\n                    return;\n                }\n\n                ocNomeCrmEl.value = nomeCrmEl.value;\n                ocEstadoEl.value = estadoEl.value;\n                ocCidadeEl.value = cidadeEl.value;\n                ocAreaEl.value = areaEl.value;\n            }\n\n            function syncOffcanvasToMainForm() {\n                if (!ocNomeCrmEl || !ocEstadoEl || !ocCidadeEl || !ocAreaEl) {\n                    return;\n                }\n\n                nomeCrmEl.value = ocNomeCrmEl.value;\n                estadoEl.value = ocEstadoEl.value;\n                cidadeEl.value = ocCidadeEl.value;\n                areaEl.value = ocAreaEl.value;\n            }\n\n            function showSearchView() {\n                if (!offcanvasSearch || !offcanvasResults) {\n                    return;\n                }\n\n                syncMainToOffcanvasForm();\n                if (estadoEl.value) {\n                    populateCities(estadoEl.value);\n                }\n                offcanvas.classList.remove('is-results');\n                offcanvas.classList.add('is-search');\n                closeBtn.setAttribute('aria-label', 'Fechar');\n                offcanvasResults.classList.add('hidden');\n                offcanvasSearch.classList.add('active');\n                if (ocNomeCrmEl) {\n                    ocNomeCrmEl.focus();\n                }\n            }\n\n            function showResultsView() {\n                if (!offcanvasSearch || !offcanvasResults) {\n                    return;\n                }\n\n                offcanvasSearch.classList.remove('active');\n                offcanvasResults.classList.remove('hidden');\n                offcanvas.classList.remove('is-search');\n                offcanvas.classList.add('is-results');\n                closeBtn.setAttribute('aria-label', 'Voltar');\n            }\n\n            function openSearchOffcanvas() {\n                openOffcanvas();\n                showSearchView();\n            }\n\n            function normalize(value) {\n                return (value || '')\n                    .toString()\n                    .trim()\n                    .normalize('NFD')\n                    .replace(\/[\\u0300-\\u036f]\/g, '')\n                    .toLowerCase();\n            }\n\n            function parseJsonArray(value) {\n                if (!value) {\n                    return [];\n                }\n\n                if (Array.isArray(value)) {\n                    return value;\n                }\n\n                if (typeof value === 'string') {\n                    try {\n                        const parsed = JSON.parse(value);\n                        return Array.isArray(parsed) ? parsed : [];\n                    } catch (error) {\n                        return [];\n                    }\n                }\n\n                return [];\n            }\n\n            function getPhoneText(item) {\n                const phones = parseJsonArray(item.telefone);\n                if (!phones.length) {\n                    return '';\n                }\n\n                const first = phones[0] || {};\n                const ddi = first.ddi ? `+${first.ddi} ` : '';\n                const fone = first.fone ? first.fone : '';\n                return `${ddi}${fone}`.trim();\n            }\n\n            function getAreaText(item) {\n                if (item.rqe_descricao) {\n                    return item.rqe_descricao;\n                }\n\n                const titulacao = parseJsonArray(item.titulacao);\n                if (titulacao.length && titulacao[0].descricao) {\n                    return titulacao[0].descricao;\n                }\n\n                return item.profissao || '';\n            }\n\n            function getInitials(fullName) {\n                const name = (fullName || '').trim();\n                if (!name) {\n                    return 'DR';\n                }\n\n                const parts = name.split(\/\\s+\/).filter(Boolean);\n                if (!parts.length) {\n                    return 'DR';\n                }\n\n                const first = parts[0].charAt(0);\n                const second = parts.length > 1 ? parts[parts.length - 1].charAt(0) : parts[0].charAt(1);\n                return `${first || 'D'}${second || 'R'}`.toUpperCase();\n            }\n\n            function phoneDigits(value) {\n                return (value || '').toString().replace(\/\\D+\/g, '');\n            }\n\n            function iconSvg(type) {\n                const icons = {\n                    phone: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"><\/path><\/svg>',\n                    mail: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"2\" y=\"4\" width=\"20\" height=\"16\" rx=\"2\"><\/rect><path d=\"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7\"><\/path><\/svg>',\n                    pin: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0\"><\/path><circle cx=\"12\" cy=\"10\" r=\"3\"><\/circle><\/svg>',\n                    message: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M7.9 20A9 9 0 1 0 4 16.1L2 22Z\"><\/path><\/svg>',\n                    instagram: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"2\" y=\"2\" width=\"20\" height=\"20\" rx=\"5\" ry=\"5\"><\/rect><path d=\"M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z\"><\/path><line x1=\"17.5\" y1=\"6.5\" x2=\"17.51\" y2=\"6.5\"><\/line><\/svg>',\n                    doc: '<svg class=\"lp-doc-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"2\" y=\"5\" width=\"20\" height=\"14\" rx=\"2\"><\/rect><circle cx=\"9\" cy=\"11\" r=\"2\"><\/circle><path d=\"M6.17 15a3 3 0 0 1 5.66 0\"><\/path><path d=\"M16 10h2\"><\/path><path d=\"M16 14h2\"><\/path><\/svg>'\n                };\n                return icons[type] || '';\n            }\n\n            function actionLink(href, type, label) {\n                if (!href) {\n                    return `<span class=\"lp-action is-disabled\" aria-label=\"${escapeHtml(label)}\">${iconSvg(type)}<\/span>`;\n                }\n\n                return `<a class=\"lp-action\" href=\"${escapeHtml(href)}\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"${escapeHtml(label)}\">${iconSvg(type)}<\/a>`;\n            }\n\n            function chipIcon(type) {\n                const icons = {\n                    estado: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z\"><\/path><path d=\"M15 5.764v15\"><\/path><path d=\"M9 3.236v15\"><\/path><\/svg>',\n                    cidade: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0\"><\/path><circle cx=\"12\" cy=\"10\" r=\"3\"><\/circle><\/svg>',\n                    area: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z\"><\/path><\/svg>',\n                    nomeCrm: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"11\" cy=\"11\" r=\"8\"><\/circle><path d=\"m21 21-4.3-4.3\"><\/path><\/svg>'\n                };\n\n                return icons[type] || icons.nomeCrm;\n            }\n\n            function getAreaLabel() {\n                const option = areaEl.options[areaEl.selectedIndex];\n                return option ? option.text : '';\n            }\n\n            function parseIdList(value) {\n                if (value === null || value === undefined) {\n                    return [];\n                }\n\n                if (Array.isArray(value)) {\n                    return value\n                        .map(function (entry) {\n                            return parseInt(entry, 10);\n                        })\n                        .filter(function (entry) {\n                            return Number.isInteger(entry) && entry > 0;\n                        });\n                }\n\n                if (typeof value === 'number') {\n                    return Number.isInteger(value) && value > 0 ? [value] : [];\n                }\n\n                const str = String(value).trim();\n                if (!str) {\n                    return [];\n                }\n\n                if (str.charAt(0) === '[') {\n                    try {\n                        const parsed = JSON.parse(str);\n                        return parseIdList(parsed);\n                    } catch (error) {\n                        return [];\n                    }\n                }\n\n                return str\n                    .split(',')\n                    .map(function (entry) {\n                        return parseInt(entry.trim(), 10);\n                    })\n                    .filter(function (entry) {\n                        return Number.isInteger(entry) && entry > 0;\n                    });\n            }\n\n            function getItemAreaIds(item) {\n                if (!item || typeof item !== 'object') {\n                    return [];\n                }\n\n                const candidates = [\n                    item.workAreasIds,\n                    item.work_areas_ids,\n                    item.workAreaIds,\n                    item.work_area_ids,\n                    item.areaIds,\n                    item.area_ids,\n                    item.rqe_ids,\n                    item.rqeIds,\n                ];\n\n                for (let index = 0; index < candidates.length; index += 1) {\n                    const parsed = parseIdList(candidates[index]);\n                    if (parsed.length) {\n                        return parsed;\n                    }\n                }\n\n                return [];\n            }\n\n            function getStateLabel() {\n                const option = estadoEl.options[estadoEl.selectedIndex];\n                return option ? option.text : '';\n            }\n\n            function renderHeadChips() {\n                const chips = [];\n                if (estadoEl.value) chips.push({ key: 'estado', label: getStateLabel() });\n                if (cidadeEl.value) chips.push({ key: 'cidade', label: getSelectedCityName() });\n                if (areaEl.value) chips.push({ key: 'area', label: getAreaLabel() });\n                if (nomeCrmEl.value) chips.push({ key: 'nomeCrm', label: nomeCrmEl.value });\n\n                if (!chips.length) {\n                    headChips.innerHTML = '';\n                    return;\n                }\n\n                headChips.innerHTML = chips.map(function (chip) {\n                    return `\n                        <span class=\"lp-chip\">\n                            ${chipIcon(chip.key)}\n                            <span>${escapeHtml(chip.label)}<\/span>\n                            <button type=\"button\" class=\"lp-chip-clear\" data-clear=\"${escapeHtml(chip.key)}\" aria-label=\"Remover filtro\">\n                                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M18 6 6 18\"><\/path><path d=\"m6 6 12 12\"><\/path><\/svg>\n                            <\/button>\n                        <\/span>\n                    `;\n                }).join('');\n            }\n\n            function clearFilterByKey(key) {\n                if (key === 'estado') estadoEl.value = '';\n                if (key === 'cidade') cidadeEl.value = '';\n                if (key === 'area') areaEl.value = '';\n                if (key === 'nomeCrm') nomeCrmEl.value = '';\n            }\n\n            function escapeHtml(value) {\n                return (value || '')\n                    .toString()\n                    .replace(\/&\/g, '&amp;')\n                    .replace(\/<\/g, '&lt;')\n                    .replace(\/>\/g, '&gt;')\n                    .replace(\/\"\/g, '&quot;')\n                    .replace(\/'\/g, '&#039;');\n            }\n\n            function renderMessage(message, className) {\n                resultsBox.innerHTML = `<div class=\"${className}\">${escapeHtml(message)}<\/div>`;\n            }\n\n            function getStateLabel() {\n                const option = estadoEl.options[estadoEl.selectedIndex];\n                return option ? option.text : '';\n            }\n\n            function stateIdToSigla(stateId) {\n                const map = {\n                    '1': 'AC', '2': 'AL', '3': 'AM', '4': 'AP',\n                    '5': 'BA', '6': 'CE', '7': 'DF', '8': 'ES',\n                    '9': 'GO', '10': 'MA', '11': 'MG', '12': 'MS',\n                    '13': 'MT', '14': 'PA', '15': 'PB', '16': 'PE',\n                    '17': 'PI', '18': 'PR', '19': 'RJ', '20': 'RN',\n                    '21': 'RO', '22': 'RS', '23': 'SC', '24': 'SE',\n                    '25': 'SP', '26': 'TO', '27': 'RR'\n                };\n                return map[stateId] || '';\n            }\n\n            function getSelectedCityName() {\n                const opt = cidadeEl.options[cidadeEl.selectedIndex];\n                return (opt && cidadeEl.value) ? opt.text : '';\n            }\n\n            function filterItems(items) {\n                const queryNomeCrm = normalize(nomeCrmEl.value);\n                const queryEstadoSigla = normalize(stateIdToSigla(estadoEl.value));\n                const queryCidade = normalize(getSelectedCityName());\n                const selectedAreaValue = (areaEl.value || '').toString().trim();\n                const selectedAreaId = parseInt(selectedAreaValue, 10);\n                const hasAreaIdFilter = Number.isInteger(selectedAreaId) && selectedAreaId > 0;\n                const queryArea = normalize(getAreaLabel());\n\n                return (items || []).filter(function (item) {\n                    const nome = normalize(item.nome);\n                    const crm = normalize(item.numero_conselho);\n                    const uf = normalize(item.uf || item.end_uf || item.uf_conselho);\n                    const cidade = normalize(item.municipio || item.end_municipio);\n                    const area = normalize(getAreaText(item));\n                    const itemAreaIds = getItemAreaIds(item);\n\n                    const okNomeCrm = !queryNomeCrm || nome.includes(queryNomeCrm) || crm.includes(queryNomeCrm);\n                    const okEstado = !queryEstadoSigla || uf === queryEstadoSigla;\n                    const okCidade = !queryCidade || cidade.includes(queryCidade);\n                    let okArea = !selectedAreaValue;\n\n                    if (!okArea && hasAreaIdFilter) {\n                        \/\/ Quando o filtro por ID \u00e9 aplicado, a API j\u00e1 faz o filtro principal.\n                        \/\/ Se o item n\u00e3o trouxer os IDs de \u00e1rea no payload, n\u00e3o bloqueamos localmente.\n                        okArea = !itemAreaIds.length || itemAreaIds.includes(selectedAreaId);\n                    }\n\n                    if (!okArea && !hasAreaIdFilter) {\n                        okArea = area.includes(queryArea);\n                    }\n\n                    return okNomeCrm && okEstado && okCidade && okArea;\n                });\n            }\n\n            function renderCards(items) {\n                if (!items.length) {\n                    renderMessage('Nenhum profissional encontrado com os filtros informados nesta p\u00e1gina.', 'lp-empty');\n                    return;\n                }\n\n                resultsBox.innerHTML = items.map(function (item) {\n                    const nome = item.nome || 'Nome n\u00e3o informado';\n                    const crmUF = [item.uf_conselho || '', item.numero_conselho || ''].filter(Boolean).join(' ');\n                    const crmLabel = crmUF ? `CRM ${crmUF}` : '';\n\n                    const cidade = item.municipio || item.end_municipio || '';\n                    const uf = item.uf || item.end_uf || '';\n                    const local = [cidade, uf].filter(Boolean).join(' - ');\n\n                    const email = item.email || '';\n                    const telefone = getPhoneText(item);\n                    const phoneOnlyDigits = phoneDigits(telefone);\n                    const area = getAreaText(item);\n                    const initials = getInitials(nome);\n                    \n                    const cardPhotoUrl = (item.foto || item.photoUrl || (item.palestrantes && Array.isArray(item.palestrantes) && item.palestrantes.length > 0 ? item.palestrantes[0].foto : '') || '').toString().trim();\n\n                    let avatarHtml = `<div class=\"lp-avatar\">${escapeHtml(initials)}<\/div>`;\n                    if (cardPhotoUrl) {\n                        avatarHtml = `<div class=\"lp-avatar\"><img decoding=\"async\" src=\"${escapeHtml(cardPhotoUrl)}\" alt=\"${escapeHtml(nome)}\" \/><\/div>`;\n                    }\n\n                    const endereco = [\n                        item.logradouro,\n                        item.numero,\n                        item.complemento,\n                        item.bairro,\n                        item.municipio || item.end_municipio,\n                        item.uf || item.end_uf,\n                        item.cep,\n                    ].filter(Boolean).join(', ');\n\n                    const phoneHref = phoneOnlyDigits ? `tel:+${phoneOnlyDigits}` : '';\n                    const mailHref = email ? `mailto:${email}` : '';\n                    const mapsHref = endereco ? `https:\/\/www.google.com\/maps\/search\/?api=1&query=${encodeURIComponent(endereco)}` : '';\n                    const whatsappHref = phoneOnlyDigits ? `https:\/\/wa.me\/${phoneOnlyDigits}` : '';\n                    const instaHref = '';\n\n                    return `\n                        <article class=\"lp-card\">\n                            <div class=\"lp-card-top\">\n                                ${avatarHtml}\n                                <div>\n                                    <h4>${escapeHtml(nome)}<\/h4>\n                                    ${crmLabel ? `\n                                    <div class=\"lp-subline\">\n                                        ${iconSvg('doc')}\n                                        <span>${escapeHtml(crmLabel)}<\/span>\n                                    <\/div>\n                                    ` : ''}\n                                <\/div>\n                            <\/div>\n                            <div class=\"lp-card-actions\">\n                                ${phoneHref ? actionLink(phoneHref, 'phone', 'Ligar') : ''}\n                                ${actionLink(mailHref, 'mail', 'Enviar e-mail')}\n                                ${actionLink(mapsHref, 'pin', 'Ver endere\u00e7o no mapa')}\n                                ${whatsappHref ? actionLink(whatsappHref, 'message', 'Conversar no WhatsApp') : ''}\n                                ${actionLink(instaHref, 'instagram', 'Instagram')}\n                            <\/div>\n                        <\/article>\n                    `;\n                }).join('');\n            }\n\n            function renderPagination(current, last) {\n                if (last <= 1) {\n                    pagination.style.display = 'none';\n                    return;\n                }\n\n                pagination.style.display = 'flex';\n                pageInfo.textContent = `${current} de ${last}`;\n                prevPageBtn.disabled = current <= 1;\n                nextPageBtn.disabled = current >= last;\n            }\n\n            async function buscarProfissionais(page = 1) {\n                openOffcanvas();\n                showResultsView();\n                renderHeadChips();\n                renderMessage('Carregando profissionais...', 'lp-loading');\n                resultsMeta.textContent = 'Consultando API...';\n                pagination.style.display = 'none';\n\n                try {\n                    const payload = new URLSearchParams();\n                    payload.append('action', 'sbpt_professional_locator_search');\n                    payload.append('nonce', nonce);\n                    payload.append('page', String(page));\n                    \n                    if (nomeCrmEl.value.trim()) {\n                        payload.append('name', nomeCrmEl.value.trim());\n                    }\n                    if (estadoEl.value.trim()) {\n                        payload.append('stateId', estadoEl.value.trim());\n                    }\n                    if (cidadeEl.value.trim()) {\n                        payload.append('districtId', cidadeEl.value.trim());\n                    }\n                    if (areaEl.value.trim()) {\n                        const selectedAreaValue = areaEl.value.trim();\n                        const selectedAreaId = parseInt(selectedAreaValue, 10);\n                        payload.append('workAreasIds', Number.isInteger(selectedAreaId) && selectedAreaId > 0 ? String(selectedAreaId) : selectedAreaValue);\n                    }\n\n                    console.log('[Localizador] Query string:', payload.toString());\n\n                    const response = await fetch(ajaxUrl, {\n                        method: 'POST',\n                        headers: {\n                            'Content-Type': 'application\/x-www-form-urlencoded; charset=UTF-8',\n                        },\n                        body: payload.toString(),\n                    });\n\n                    const json = await response.json();\n\n                    if (!response.ok || !json || !json.success) {\n                        throw new Error((json && json.data && json.data.message) || 'Falha ao carregar resultados.');\n                    }\n\n                    const apiData = json.data || {};\n                    const items = Array.isArray(apiData.data) ? apiData.data : [];\n                    const filtered = filterItems(items);\n\n                    lastRawTotal = Number(apiData.total || 0);\n                    pageState.current = Number(apiData.current_page || 1);\n                    pageState.last = Number(apiData.last_page || 1);\n\n                    renderCards(filtered);\n                    renderPagination(pageState.current, pageState.last);\n\n                    const filtroInfo = [];\n                    if (estadoEl.value) filtroInfo.push(`UF: ${getStateLabel()}`);\n                    if (cidadeEl.value) filtroInfo.push(`Cidade: ${getSelectedCityName()}`);\n                    if (areaEl.value) filtroInfo.push(`\u00c1rea: ${getAreaLabel()}`);\n                    if (nomeCrmEl.value) filtroInfo.push(`Busca: ${nomeCrmEl.value}`);\n\n                    const filtrosTxt = filtroInfo.length ? ` | Filtros: ${filtroInfo.join(' \u2022 ')}` : '';\n\n                    if (filtered.length === 0) {\n                        resultsMeta.textContent = '';\n                        resultsMeta.style.display = 'none';\n                    } else {\n                        resultsMeta.style.display = '';\n                        resultsMeta.textContent = `Exibindo ${filtered.length} de ${items.length} registros da p\u00e1gina ${pageState.current}. Total: ${lastRawTotal}.${filtrosTxt}`;\n                    }\n                } catch (error) {\n                    renderMessage(error.message || 'Erro ao carregar resultados.', 'lp-error');\n                    resultsMeta.textContent = 'N\u00e3o foi poss\u00edvel carregar os resultados.';\n                    pagination.style.display = 'none';\n                }\n            }\n\n            buscarBtn.addEventListener('click', function (event) {\n                event.preventDefault();\n                buscarProfissionais(1);\n            });\n\n            async function populateCities(stateId) {\n                if (!stateId) {\n                    ocCidadeEl.innerHTML = '<option value=\"\">Cidade<\/option>';\n                    ocCidadeEl.disabled = true;\n                    cidadeEl.innerHTML = '<option value=\"\">Cidade<\/option>';\n                    cidadeEl.disabled = true;\n                    return;\n                }\n\n                \/\/ Show loading state\n                ocCidadeEl.innerHTML = '<option value=\"\">Carregando...<\/option>';\n                ocCidadeEl.disabled = true;\n                cidadeEl.innerHTML = '<option value=\"\">Carregando...<\/option>';\n                cidadeEl.disabled = true;\n\n                try {\n                    const payload = new URLSearchParams();\n                    payload.append('action', 'sbpt_professional_locator_get_cities');\n                    payload.append('nonce', nonce);\n                    payload.append('stateId', String(stateId));\n\n                    const response = await fetch(ajaxUrl, {\n                        method: 'POST',\n                        headers: {\n                            'Content-Type': 'application\/x-www-form-urlencoded; charset=UTF-8',\n                        },\n                        body: payload.toString(),\n                    });\n\n                    const json = await response.json();\n\n                    if (!response.ok || !json || !json.success) {\n                        console.error('Erro ao carregar cidades:', json);\n                        ocCidadeEl.innerHTML = '<option value=\"\">Erro ao carregar cidades<\/option>';\n                        ocCidadeEl.disabled = true;\n                        cidadeEl.innerHTML = '<option value=\"\">Erro ao carregar cidades<\/option>';\n                        cidadeEl.disabled = true;\n                        return;\n                    }\n\n                    const cities = json.data && json.data.cities ? json.data.cities : [];\n\n                    if (!cities.length) {\n                        ocCidadeEl.innerHTML = '<option value=\"\">Nenhuma cidade dispon\u00edvel<\/option>';\n                        ocCidadeEl.disabled = true;\n                        cidadeEl.innerHTML = '<option value=\"\">Nenhuma cidade dispon\u00edvel<\/option>';\n                        cidadeEl.disabled = true;\n                        return;\n                    }\n\n                    \/\/ Build options HTML \u2014 value = district id, text = city name\n                    const optionsHtml = '<option value=\"\">Cidade<\/option>' + cities.map(function(city) {\n                        const id = city.id || city;\n                        const name = city.name || city;\n                        return `<option value=\"${escapeHtml(String(id))}\">${escapeHtml(name)}<\/option>`;\n                    }).join('');\n\n                    \/\/ Update both select elements and enable them\n                    ocCidadeEl.innerHTML = optionsHtml;\n                    ocCidadeEl.disabled = false;\n                    cidadeEl.innerHTML = optionsHtml;\n                    cidadeEl.disabled = false;\n                } catch (error) {\n                    console.error('Erro ao buscar cidades:', error);\n                    ocCidadeEl.innerHTML = '<option value=\"\">Erro ao carregar cidades<\/option>';\n                    ocCidadeEl.disabled = true;\n                    cidadeEl.innerHTML = '<option value=\"\">Erro ao carregar cidades<\/option>';\n                    cidadeEl.disabled = true;\n                }\n            }\n\n            if (ocEstadoEl) {\n                ocEstadoEl.addEventListener('change', function () {\n                    populateCities(this.value);\n                });\n            }\n\n            if (estadoEl) {\n                estadoEl.addEventListener('change', function () {\n                    populateCities(this.value);\n                });\n            }\n\n            if (cidadeEl) {\n                cidadeEl.addEventListener('change', function () {\n                    ocCidadeEl.value = this.value;\n                });\n            }\n\n            if (ocCidadeEl) {\n                ocCidadeEl.addEventListener('change', function () {\n                    cidadeEl.value = this.value;\n                });\n            }\n\n            document.addEventListener('click', function (event) {\n                const trigger = event.target.closest('.lp-open-offcanvas-form');\n                if (!trigger) {\n                    return;\n                }\n\n                event.preventDefault();\n                openSearchOffcanvas();\n            });\n\n            if (ocBuscarBtn) {\n                ocBuscarBtn.addEventListener('click', function (event) {\n                    event.preventDefault();\n                    syncOffcanvasToMainForm();\n                    buscarProfissionais(1);\n                });\n            }\n\n            headChips.addEventListener('click', function (event) {\n                const trigger = event.target.closest('[data-clear]');\n                if (!trigger) {\n                    return;\n                }\n\n                clearFilterByKey(trigger.getAttribute('data-clear'));\n                renderHeadChips();\n                buscarProfissionais(1);\n            });\n\n            prevPageBtn.addEventListener('click', function () {\n                if (pageState.current > 1) {\n                    buscarProfissionais(pageState.current - 1);\n                }\n            });\n\n            nextPageBtn.addEventListener('click', function () {\n                if (pageState.current < pageState.last) {\n                    buscarProfissionais(pageState.current + 1);\n                }\n            });\n\n            backdrop.addEventListener('click', closeOffcanvas);\n            closeBtn.addEventListener('click', function () {\n                if (offcanvasSearch && offcanvasSearch.classList.contains('active')) {\n                    closeOffcanvas();\n                    return;\n                }\n\n                showSearchView();\n            });\n\n            document.addEventListener('keydown', function (event) {\n                if (event.key === 'Escape') {\n                    closeOffcanvas();\n                }\n            });\n        });\n    <\/script>\n\n    \n\n\n<h3 class=\"wp-block-heading\">Localizador Profissional<\/h3>\n\n<h2 class=\"wp-block-heading\">Entre em Contato<\/h2>\n\nEstamos \u00e0 disposi\u00e7\u00e3o para atender suas d\u00favidas e sugest\u00f5es.\n\n{post_date}\n\n<h3 class=\"has-text-align-left wp-block-heading\">{post_title}<\/h3>\n\n<h3 class=\"has-text-align-left wp-block-heading\">{post_title}<\/h3>\n\n{post_date}\n\n\n\n\n\n<h3 class=\"has-text-align-left wp-block-heading\">{post_title}<\/h3>\n\n{post_date}\n\n<h3 class=\"wp-block-heading\">Jornal da SBPT<\/h3>\n\nRespiratory Research &amp; Clinical Practice\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"574\" src=\"https:\/\/sbpt.org.br\/portal\/wp-content\/uploads\/2026\/03\/sbpt_mentoria_2026-1-1.webp\" alt=\"Porjeto de mentoria SBPT\" class=\"wp-image-38826\" srcset=\"https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt-portal\/wp-content\/uploads\/2026\/03\/sbpt_mentoria_2026-1-1.webp 1600w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt-portal\/wp-content\/uploads\/2026\/03\/sbpt_mentoria_2026-1-1-300x108.webp 300w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt-portal\/wp-content\/uploads\/2026\/03\/sbpt_mentoria_2026-1-1-1024x367.webp 1024w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt-portal\/wp-content\/uploads\/2026\/03\/sbpt_mentoria_2026-1-1-768x276.webp 768w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt-portal\/wp-content\/uploads\/2026\/03\/sbpt_mentoria_2026-1-1-1536x551.webp 1536w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt-portal\/wp-content\/uploads\/2026\/03\/sbpt_mentoria_2026-1-1-1200x431.webp 1200w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt-portal\/wp-content\/uploads\/2026\/03\/sbpt_mentoria_2026-1-1-600x215.webp 600w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/figure>\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"688\" src=\"https:\/\/sbpt.org.br\/portal\/wp-content\/uploads\/2026\/03\/imagem-banner-3.webp\" alt=\"SBPT em 2026\" class=\"wp-image-39007\" srcset=\"https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt-portal\/wp-content\/uploads\/2026\/03\/imagem-banner-3.webp 1920w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt-portal\/wp-content\/uploads\/2026\/03\/imagem-banner-3-300x108.webp 300w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt-portal\/wp-content\/uploads\/2026\/03\/imagem-banner-3-1024x367.webp 1024w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt-portal\/wp-content\/uploads\/2026\/03\/imagem-banner-3-768x275.webp 768w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt-portal\/wp-content\/uploads\/2026\/03\/imagem-banner-3-1536x550.webp 1536w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt-portal\/wp-content\/uploads\/2026\/03\/imagem-banner-3-1200x430.webp 1200w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt-portal\/wp-content\/uploads\/2026\/03\/imagem-banner-3-600x215.webp 600w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><\/figure>\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"574\" src=\"https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt.org.br\/wp-content\/uploads\/2026\/03\/23160153\/Banner-Anuidade-ITARGET.png\" alt=\"Programe-se para 2026\" class=\"wp-image-39272\" srcset=\"https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt.org.br\/wp-content\/uploads\/2026\/03\/23160153\/Banner-Anuidade-ITARGET.png 1600w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt.org.br\/wp-content\/uploads\/2026\/03\/23160153\/Banner-Anuidade-ITARGET-300x108.png 300w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt.org.br\/wp-content\/uploads\/2026\/03\/23160153\/Banner-Anuidade-ITARGET-1024x367.png 1024w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt.org.br\/wp-content\/uploads\/2026\/03\/23160153\/Banner-Anuidade-ITARGET-768x276.png 768w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt.org.br\/wp-content\/uploads\/2026\/03\/23160153\/Banner-Anuidade-ITARGET-1536x551.png 1536w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt.org.br\/wp-content\/uploads\/2026\/03\/23160153\/Banner-Anuidade-ITARGET-1200x431.png 1200w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt.org.br\/wp-content\/uploads\/2026\/03\/23160153\/Banner-Anuidade-ITARGET-600x215.png 600w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/figure>\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"918\" src=\"https:\/\/sbpt.org.br\/portal\/wp-content\/uploads\/2026\/03\/sbpt_-_banner_site_-_sbpt_88_anos-3-1-1-scaled.webp\" alt=\"SBPT 88 Anos\" class=\"wp-image-38821\" srcset=\"https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt-portal\/wp-content\/uploads\/2026\/03\/sbpt_-_banner_site_-_sbpt_88_anos-3-1-1-scaled.webp 2560w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt-portal\/wp-content\/uploads\/2026\/03\/sbpt_-_banner_site_-_sbpt_88_anos-3-1-1-300x108.webp 300w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt-portal\/wp-content\/uploads\/2026\/03\/sbpt_-_banner_site_-_sbpt_88_anos-3-1-1-1024x367.webp 1024w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt-portal\/wp-content\/uploads\/2026\/03\/sbpt_-_banner_site_-_sbpt_88_anos-3-1-1-768x275.webp 768w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt-portal\/wp-content\/uploads\/2026\/03\/sbpt_-_banner_site_-_sbpt_88_anos-3-1-1-1536x551.webp 1536w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt-portal\/wp-content\/uploads\/2026\/03\/sbpt_-_banner_site_-_sbpt_88_anos-3-1-1-2048x734.webp 2048w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt-portal\/wp-content\/uploads\/2026\/03\/sbpt_-_banner_site_-_sbpt_88_anos-3-1-1-1200x430.webp 1200w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt-portal\/wp-content\/uploads\/2026\/03\/sbpt_-_banner_site_-_sbpt_88_anos-3-1-1-600x215.webp 600w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><\/figure>\n\n<h3 class=\"wp-block-heading\">Servi\u00e7os<\/h3>\n\n<h3 class=\"wp-block-heading\">Acad\u00eamico<\/h3>\n\n<figure class=\"wp-block-image size-full\"><a><img loading=\"lazy\" decoding=\"async\" width=\"1912\" height=\"685\" src=\"https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt.org.br\/wp-content\/uploads\/2026\/04\/09134927\/sbpt_-_banner_site_-_desktop_-_congresso_26.webp\" alt=\"SBPT 88 Anos\" class=\"wp-image-39391\" srcset=\"https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt.org.br\/wp-content\/uploads\/2026\/04\/09134927\/sbpt_-_banner_site_-_desktop_-_congresso_26.webp 1912w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt.org.br\/wp-content\/uploads\/2026\/04\/09134927\/sbpt_-_banner_site_-_desktop_-_congresso_26-300x107.webp 300w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt.org.br\/wp-content\/uploads\/2026\/04\/09134927\/sbpt_-_banner_site_-_desktop_-_congresso_26-1024x367.webp 1024w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt.org.br\/wp-content\/uploads\/2026\/04\/09134927\/sbpt_-_banner_site_-_desktop_-_congresso_26-768x275.webp 768w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt.org.br\/wp-content\/uploads\/2026\/04\/09134927\/sbpt_-_banner_site_-_desktop_-_congresso_26-1536x550.webp 1536w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt.org.br\/wp-content\/uploads\/2026\/04\/09134927\/sbpt_-_banner_site_-_desktop_-_congresso_26-1200x430.webp 1200w, https:\/\/d1xe7tfg0uwul9.cloudfront.net\/sbpt.org.br\/wp-content\/uploads\/2026\/04\/09134927\/sbpt_-_banner_site_-_desktop_-_congresso_26-600x215.webp 600w\" sizes=\"auto, (max-width: 1912px) 100vw, 1912px\" \/><\/a><\/figure><!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Acesso R\u00e1pido Encontre rapidamente os principais recursos e ferramentas para sua pr\u00e1tica profissional. Acesse as plataformas de conhecimento da SBPT. Sa\u00fade Respirat\u00f3ria Departamentos e Comiss\u00f5es Conhe\u00e7a nossos departamentos cient\u00edficos e comiss\u00f5es especializadas. Download App Baixe o aplicativo oficial da SBPT. Ensino \u00e0 Dist\u00e2ncia Cursos online, webinars e conte\u00fados exclusivos para associados. Eventos 2026 Programa\u00e7\u00e3o completa [&hellip;]<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"ngg_post_thumbnail":0,"footnotes":""},"class_list":["post-2","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/sbpt.org.br\/portal\/wp-json\/wp\/v2\/pages\/2","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sbpt.org.br\/portal\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sbpt.org.br\/portal\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sbpt.org.br\/portal\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sbpt.org.br\/portal\/wp-json\/wp\/v2\/comments?post=2"}],"version-history":[{"count":79,"href":"https:\/\/sbpt.org.br\/portal\/wp-json\/wp\/v2\/pages\/2\/revisions"}],"predecessor-version":[{"id":42018,"href":"https:\/\/sbpt.org.br\/portal\/wp-json\/wp\/v2\/pages\/2\/revisions\/42018"}],"wp:attachment":[{"href":"https:\/\/sbpt.org.br\/portal\/wp-json\/wp\/v2\/media?parent=2"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}