{"id":13981,"date":"2026-06-03T10:07:11","date_gmt":"2026-06-03T13:07:11","guid":{"rendered":"https:\/\/robsonmasselli.com.br\/psi\/?page_id=13981"},"modified":"2026-07-06T13:23:34","modified_gmt":"2026-07-06T16:23:34","slug":"agendar","status":"publish","type":"page","link":"https:\/\/robsonmasselli.com.br\/psi\/agendar\/","title":{"rendered":"Agendar"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"13981\" class=\"elementor elementor-13981\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dda8588 e-flex e-con-boxed e-con e-parent\" data-id=\"dda8588\" 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-d50485c elementor-widget elementor-widget-shortcode\" data-id=\"d50485c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><div id=\"rm-patient-gateway-k5J2Qp8V\" class=\"rm-agenda-patient-gateway-v12634\"><div class=\"rm-agenda-patient-gateway-booking-v12634\">        <style id=\"rm-pro-bono-public-v1618\">\n            .rmpb-result-toast{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(7,17,31,.58);font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Arial,sans-serif}\n            .rmpb-result-toast-card{width:min(520px,94vw);padding:24px;border-radius:22px;background:#fff;border:1px solid #dbeafe;box-shadow:0 28px 90px rgba(15,23,42,.3);text-align:center}\n            .rmpb-result-toast-card strong{display:block;color:#07111f;font-size:25px;line-height:1.15}.rmpb-result-toast-card p{margin:10px 0 18px;color:#475569;font-size:15px;line-height:1.6}\n            .rmpb-result-toast-card button{min-width:160px;min-height:46px;border:0;border-radius:13px;background:#0b5cab;color:#fff;font-weight:900;cursor:pointer;box-shadow:0 10px 22px rgba(11,92,171,.2)}\n            .rmpb-result-toast.is-success .rmpb-result-toast-card{border-color:#a7f3d0}.rmpb-result-toast.is-warning .rmpb-result-toast-card{border-color:#fed7aa}\n\n            .rmpb-public-host{width:100%;max-width:1360px;margin:16px auto;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Arial,sans-serif;color:#0f172a;opacity:1!important;filter:none!important;isolation:isolate}\n            .rmpb-public-host *{box-sizing:border-box}\n            .rmpb-premium-host{width:100%;max-width:none;margin:14px 0 0;padding:0}\n            .rmpb-premium-host>.rmpb-service-card{display:flex;max-width:none;margin:0;padding:16px 18px;align-items:center}\n            .rmpb-premium-host .rmpb-service-title{font-size:17px}\n            .rmpb-premium-host .rmpb-service-description{font-size:12px}\n            .rmpb-premium-host{display:block!important;opacity:1!important;filter:none!important;visibility:visible!important}\n            .rm-servicos-premium-shortcode-121.rmsp-has-selection>.rmpb-premium-host{display:block!important;visibility:visible!important;opacity:.54!important;filter:grayscale(1)!important;pointer-events:auto!important}\n            .rm-servicos-premium-shortcode-121.rmsp-has-selection>.rmpb-premium-host:hover{opacity:.78!important;filter:grayscale(.65)!important}\n            .rmpb-agenda-host.is-rmpb-service-selected{display:none!important}\n            .rmpb-public-host.rmpb-fallback-visible>.rmpb-service-card{display:flex;max-width:760px;margin:16px auto}\n            .rmpb-service-card{position:relative;width:100%;border:2px solid #047857!important;background:linear-gradient(135deg,#d8fff4 0%,#ffffff 54%,#dcfce7 100%)!important;color:#0f172a!important;border-radius:17px!important;padding:13px!important;display:flex;gap:11px;align-items:flex-start;box-shadow:0 15px 32px rgba(4,120,87,.22)!important;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;text-align:left;opacity:1!important;filter:none!important;mix-blend-mode:normal!important}\n            .rmpb-service-card:hover{transform:translateY(-2px)!important;box-shadow:0 19px 38px rgba(4,120,87,.28)!important;border-color:#065f46!important;opacity:1!important;filter:none!important}\n            .rmpb-service-icon{width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:#047857;color:#fff;display:flex;align-items:center;justify-content:center;font-size:21px;box-shadow:0 9px 20px rgba(4,120,87,.28);opacity:1!important;filter:none!important}\n            .rmpb-service-text{display:block;min-width:0;flex:1}.rmpb-service-title{display:block;margin:0;color:#064e3b;font-size:15px;line-height:1.18;font-weight:950;text-transform:uppercase}\n            .rmpb-service-status{display:block;margin-top:5px;color:#0f766e;font-size:11px;font-weight:900}.rmpb-service-description{margin:7px 0 0;color:#475569;font-size:11px;line-height:1.5}\n            .rmpb-service-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:11px}\n            .rmpb-service-chip{display:inline-flex;align-items:center;min-height:32px;padding:6px 10px;border-radius:10px;background:#fff;border:1px solid #99f6e4;color:#115e59;font-size:11px;font-weight:900}\n            .rmpb-more-button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:8px 11px;border:0;border-radius:10px;background:#047857!important;color:#fff!important;font-size:11px;font-weight:900;cursor:pointer;box-shadow:0 9px 18px rgba(4,120,87,.28)!important;opacity:1!important;filter:none!important}\n\n            .rmpb-agenda-host{padding:0 12px}\n            .rmpb-agenda-host:not(.is-rmpb-positioned){display:none!important}\n            .rmpb-agenda-host.is-rmpb-positioned{grid-column:1\/-1!important;width:100%!important;max-width:none!important;margin:12px 0 14px!important;padding:0!important}\n            .rmpb-agenda-host.is-rmpb-positioned>.rmpb-service-card{width:100%!important;max-width:none!important;margin:0!important;padding:16px 18px!important;border-radius:18px!important;align-items:center!important}\n            .rmpb-agenda-host .rmpb-service-card,.rmpb-standalone-host .rmpb-service-card{max-width:760px;margin:0 auto;padding:18px;border-radius:22px;align-items:center}\n            .rmpb-agenda-host .rmpb-service-icon,.rmpb-standalone-host .rmpb-service-icon{width:54px;height:54px;flex-basis:54px;border-radius:17px;font-size:27px}\n            .rmpb-agenda-host .rmpb-service-title,.rmpb-standalone-host .rmpb-service-title{font-size:19px}.rmpb-agenda-host .rmpb-service-status,.rmpb-standalone-host .rmpb-service-status{font-size:13px}\n            .rmpb-agenda-host .rmpb-service-description,.rmpb-standalone-host .rmpb-service-description{font-size:13px}.rmpb-agenda-host .rmpb-more-button,.rmpb-standalone-host .rmpb-more-button{font-size:13px;min-height:40px;padding:10px 15px}\n\n            .rmpb-modal{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(7,17,31,.72);opacity:1!important;filter:none!important}.rmpb-modal.is-open{display:flex}\n            .rmpb-modal-card{position:relative;width:min(760px,96vw);max-height:92vh;overflow:auto;padding:25px;border-radius:24px;background:#fff!important;border:2px solid #0f766e!important;box-shadow:0 30px 96px rgba(15,23,42,.38)!important;opacity:1!important;filter:none!important;mix-blend-mode:normal!important}\n            .rmpb-modal-close{position:absolute;right:14px;top:13px;width:38px;height:38px;border:0;border-radius:11px;background:#f1f5f9;color:#0f172a;font-size:23px;font-weight:900;cursor:pointer}\n            html body .rmpb-public-host,html body .rmpb-public-host .rmpb-service-card,html body .rmpb-public-host .rmpb-service-card *,html body .rmpb-modal-card,html body .rmpb-modal-card *{opacity:1!important;filter:none!important;mix-blend-mode:normal!important}\n            .rmpb-modal-kicker{display:inline-flex;padding:7px 12px;border-radius:999px;background:#ccfbf1;color:#115e59;font-size:11px;font-weight:950;letter-spacing:.05em;text-transform:uppercase}\n            .rmpb-modal h2{margin:12px 48px 7px 0;color:#07111f;font-size:clamp(25px,4vw,34px);line-height:1.08}.rmpb-modal-lead{margin:0 0 15px;color:#475569;font-size:15px;line-height:1.6}\n            .rmpb-info-box{padding:16px;border:1px solid #d1fae5;border-radius:16px;background:#f0fdf4}.rmpb-info-box h3{margin:0 0 8px;color:#064e3b;font-size:18px}.rmpb-info-box ul{margin:0;padding-left:20px;color:#334155;line-height:1.65}\n            .rmpb-info-note{margin:13px 0 0;padding:12px;border-radius:12px;background:#fff;border:1px solid #e2e8f0;color:#475569;font-size:13px;line-height:1.55}\n            .rmpb-primary-action{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;margin-top:17px;border:0;border-radius:14px;background:#0f766e;color:#fff;font-size:15px;font-weight:950;cursor:pointer;box-shadow:0 12px 24px rgba(15,118,110,.2)}\n            .rmpb-form-panel{display:none;margin-top:5px}.rmpb-form-panel.is-active{display:block}.rmpb-info-panel.is-hidden{display:none}\n            .rmpb-form-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.rmpb-form-head h3{margin:0;color:#07111f;font-size:21px}.rmpb-back-info{border:0;background:#eef6ff;color:#0b5cab;border-radius:10px;padding:8px 11px;font-weight:900;cursor:pointer}\n            .rmpb-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rmpb-form-grid label{display:flex;flex-direction:column;gap:6px;color:#334155;font-size:13px;font-weight:850}.rmpb-form-grid input,.rmpb-form-grid textarea{width:100%;min-height:45px;border:1px solid #cbd5e1;border-radius:11px;padding:10px 12px;background:#fff;color:#0f172a;font:inherit}.rmpb-form-grid textarea{min-height:88px;resize:vertical}\n            .rmpb-span-2{grid-column:1\/-1}.rmpb-check{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:9px!important;font-weight:600!important;line-height:1.45}.rmpb-check input{width:18px!important;min-width:18px!important;height:18px!important;min-height:18px!important;margin-top:1px;padding:0}\n            .rmpb-submit{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;margin-top:15px;border:0;border-radius:14px;background:#0b5cab;color:#fff;font-size:15px;font-weight:950;cursor:pointer;box-shadow:0 12px 24px rgba(11,92,171,.2)}\n            .rmpb-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}\n            @media(max-width:700px){.rmpb-agenda-host{padding:0 6px}.rmpb-agenda-host .rmpb-service-card,.rmpb-standalone-host .rmpb-service-card{align-items:flex-start;padding:15px}.rmpb-form-grid{grid-template-columns:1fr}.rmpb-span-2{grid-column:auto}.rmpb-modal-card{padding:20px 15px}.rmpb-form-head{align-items:flex-start;flex-direction:column}.rmpb-back-info{width:100%}}\n        <\/style>\n                <div id=\"rmpb-surface-1-84247\" class=\"rmpb-public-host rmpb-agenda-host\" data-rmpb-context=\"agenda\" data-rmpb-reopen-form=\"0\">\n            <article class=\"rmpb-service-card\" data-rmpb-public-card data-rmpb-open tabindex=\"0\" role=\"button\" aria-haspopup=\"dialog\">\n                <span class=\"rmpb-service-icon\" aria-hidden=\"true\">\ud83e\udd1d<\/span>\n                <span class=\"rmpb-service-text\">\n                    <strong class=\"rmpb-service-title\">Atendimento Pr\u00f3-Bono Presencial<\/strong>\n                    <span class=\"rmpb-service-status\">Solicita\u00e7\u00f5es abertas<\/span>\n                    <p class=\"rmpb-service-description\">Vagas dispon\u00edveis ap\u00f3s an\u00e1lise.<\/p>\n                    <span class=\"rmpb-service-actions\">\n                        <span class=\"rmpb-service-chip\">Sujeito \u00e0 an\u00e1lise<\/span>\n                        <button type=\"button\" class=\"rmpb-more-button\" data-rmpb-open>Mais informa\u00e7\u00f5es<\/button>\n                    <\/span>\n                <\/span>\n            <\/article>\n\n            <div class=\"rmpb-modal\" data-rmpb-modal aria-hidden=\"true\">\n                <div class=\"rmpb-modal-card\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"rmpb-surface-1-84247-title\">\n                    <button type=\"button\" class=\"rmpb-modal-close\" data-rmpb-close aria-label=\"Fechar\">&times;<\/button>\n\n                    <div class=\"rmpb-info-panel\" data-rmpb-info-panel>\n                        <span class=\"rmpb-modal-kicker\">Atendimento Pr\u00f3-Bono<\/span>\n                        <h2 id=\"rmpb-surface-1-84247-title\">Atendimento Pr\u00f3-Bono Presencial<\/h2>\n                        <p class=\"rmpb-modal-lead\">Uma oportunidade de acompanhamento psicanal\u00edtico presencial, na modalidade pro bono, destinada a moradores de Seng\u00e9s-PR, com atendimento gratuito, sujeito \u00e0 an\u00e1lise e \u00e0 disponibilidade de vagas.<\/p>\n                        <div class=\"rmpb-info-box\">\n                            <h3>Como funciona<\/h3>\n                            <ul>\n                                <li>O ciclo inicial \u00e9 de 2 sess\u00f5es sem cobran\u00e7a.<\/li>\n                                <li>O atendimento \u00e9 exclusivamente presencial em Seng\u00e9s-PR.<\/li>\n                                <li>A inscri\u00e7\u00e3o passa por an\u00e1lise e n\u00e3o confirma automaticamente uma vaga.<\/li>\n                                <li>H\u00e1 limite de 3 pessoas em acompanhamento simult\u00e2neo.<\/li>\n                                <li>Quando as vagas estiverem ocupadas, o cadastro permanece na lista de reserva.<\/li>\n                                <li>A cl\u00ednica entrar\u00e1 em contato pelo WhatsApp ou e-mail informado.<\/li>\n                            <\/ul>\n                            <p class=\"rmpb-info-note\">Este cadastro n\u00e3o \u00e9 um canal de urg\u00eancia ou emerg\u00eancia. Ap\u00f3s o envio, aguarde o contato da cl\u00ednica.<\/p>\n                        <\/div>\n                        <button type=\"button\" class=\"rmpb-primary-action\" data-rmpb-show-form>Inscrever-se<\/button>\n                    <\/div>\n\n                    <div class=\"rmpb-form-panel\" data-rmpb-form-panel>\n                        <div class=\"rmpb-form-head\">\n                            <h3>Inscri\u00e7\u00e3o para an\u00e1lise<\/h3>\n                            <button type=\"button\" class=\"rmpb-back-info\" data-rmpb-back-info>Voltar \u00e0s informa\u00e7\u00f5es<\/button>\n                        <\/div>\n                        <form method=\"post\" action=\"https:\/\/robsonmasselli.com.br\/psi\/wp-admin\/admin-post.php\">\n                            <input type=\"hidden\" id=\"rm_pro_bono_nonce\" name=\"rm_pro_bono_nonce\" value=\"1e24cbd8ec\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/psi\/wp-json\/wp\/v2\/pages\/13981\" \/>                            <input type=\"hidden\" name=\"action\" value=\"rm_agenda_pro_bono_apply\">\n                            <input type=\"hidden\" name=\"return_url\" value=\"https:\/\/robsonmasselli.com.br\/psi\/wp-json\/wp\/v2\/pages\/13981\">\n                            <input type=\"text\" name=\"website\" value=\"\" class=\"rmpb-hp\" tabindex=\"-1\" autocomplete=\"off\">\n                            <div class=\"rmpb-form-grid\">\n                                <label class=\"rmpb-span-2\">Nome completo<input type=\"text\" name=\"full_name\" required maxlength=\"190\"><\/label>\n                                <label>WhatsApp<input type=\"text\" name=\"phone\" required maxlength=\"60\"><\/label>\n                                <label>E-mail<input type=\"email\" name=\"email\" maxlength=\"190\"><\/label>\n                                <label>Data de nascimento<input type=\"date\" name=\"birthdate\"><\/label>\n                                <label>Bairro<input type=\"text\" name=\"neighborhood\" maxlength=\"120\"><\/label>\n                                <label class=\"rmpb-span-2\">Cidade<input type=\"text\" name=\"city\" value=\"Seng\u00e9s\" required maxlength=\"120\"><\/label>\n                                <label class=\"rmpb-span-2\">Dias e per\u00edodos dispon\u00edveis<textarea name=\"availability\" required placeholder=\"Ex.: segunda \u00e0 tarde, quarta pela manh\u00e3\"><\/textarea><\/label>\n                                <label class=\"rmpb-span-2\">Motivo da procura, de forma breve<textarea name=\"reason\" required maxlength=\"1500\"><\/textarea><\/label>\n                                <label class=\"rmpb-span-2 rmpb-check\"><input type=\"checkbox\" name=\"resident_confirm\" value=\"1\" required><span>Confirmo que moro em Seng\u00e9s-PR e tenho disponibilidade para atendimento presencial.<\/span><\/label>\n                                <label class=\"rmpb-span-2 rmpb-check\"><input type=\"checkbox\" name=\"consent\" value=\"1\" required><span>Autorizo o uso destes dados somente para an\u00e1lise da solicita\u00e7\u00e3o, contato e organiza\u00e7\u00e3o das vagas.<\/span><\/label>\n                            <\/div>\n                            <button class=\"rmpb-submit\" type=\"submit\">Enviar inscri\u00e7\u00e3o<\/button>\n                        <\/form>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n        <script>\n        (function(){\n            var host=document.getElementById(\"rmpb-surface-1-84247\");\n            if(!host)return;\n            var context=host.getAttribute('data-rmpb-context')||'standalone';\n            var card=host.querySelector('[data-rmpb-public-card]');\n            var modal=host.querySelector('[data-rmpb-modal]');\n            var info=host.querySelector('[data-rmpb-info-panel]');\n            var formPanel=host.querySelector('[data-rmpb-form-panel]');\n\n            if(context==='premium'&&card){\n                var premium=host.previousElementSibling;\n                while(premium && !(premium.classList&&premium.classList.contains('rm-servicos-premium-shortcode-121'))){premium=premium.previousElementSibling;}\n                if(!premium){\n                    var all=document.querySelectorAll('.rm-servicos-premium-shortcode-121');\n                    premium=all.length?all[all.length-1]:null;\n                }\n                var stage=premium?premium.querySelector('.rmsp-stage'):null;\n                if(premium&&stage){\n                    stage.insertAdjacentElement('afterend',host);\n                }else{\n                    host.classList.add('rmpb-fallback-visible');\n                }\n            }\n\n            if(context==='agenda'){\n                (function placeAndBindAgendaCard(attempt){\n                    var form=document.querySelector('#rmAgenda1216Form.rm-agenda-form') || document.querySelector('.rm-agenda-front-1216 .rm-agenda-form');\n                    if(!form){\n                        if(attempt<80)window.setTimeout(function(){placeAndBindAgendaCard(attempt+1);},100);\n                        return;\n                    }\n\n                    var serviceSelect=form.querySelector('.rm-agenda-service');\n                    var servicePanel=form.querySelector('.rm-agenda-service-panel');\n                    var serviceGrid=serviceSelect?serviceSelect.closest('.rm-agenda-grid'):null;\n                    var serviceCards=serviceGrid?serviceGrid.querySelector('.rm-agenda-service-cards-1223'):null;\n                    var modeField=serviceGrid?serviceGrid.querySelector('.rm-agenda-mode-field'):null;\n\n                    if(serviceGrid){\n                        if(serviceCards){\n                            serviceCards.insertAdjacentElement('afterend',host);\n                        }else if(modeField){\n                            serviceGrid.insertBefore(host,modeField);\n                        }else{\n                            serviceGrid.appendChild(host);\n                        }\n                        host.classList.add('is-rmpb-positioned');\n                    }else if(servicePanel){\n                        var preview=servicePanel.querySelector('.rm-agenda-service-preview');\n                        if(preview)servicePanel.insertBefore(host,preview);\n                        else servicePanel.appendChild(host);\n                        host.classList.add('is-rmpb-positioned');\n                    }\n\n                    if(!host.classList.contains('is-rmpb-positioned')){\n                        if(attempt<80)window.setTimeout(function(){placeAndBindAgendaCard(attempt+1);},100);\n                        return;\n                    }\n\n                    if(!serviceSelect)return;\n                    function syncAgendaCard(){\n                        host.classList.toggle('is-rmpb-service-selected',!!serviceSelect.value);\n                    }\n                    if(host.getAttribute('data-rmpb-agenda-bound')!=='1'){\n                        host.setAttribute('data-rmpb-agenda-bound','1');\n                        serviceSelect.addEventListener('change',function(){window.setTimeout(syncAgendaCard,0);});\n                        form.addEventListener('click',function(){window.setTimeout(syncAgendaCard,120);},true);\n                    }\n                    syncAgendaCard();\n                })(0);\n            }\n\n            function lockPage(lock){\n                try{document.documentElement.style.overflow=lock?'hidden':'';document.body.style.overflow=lock?'hidden':'';}catch(e){}\n            }\n            function showInfo(){\n                if(info)info.classList.remove('is-hidden');\n                if(formPanel)formPanel.classList.remove('is-active');\n            }\n            function showForm(){\n                if(info)info.classList.add('is-hidden');\n                if(formPanel)formPanel.classList.add('is-active');\n                setTimeout(function(){var input=formPanel?formPanel.querySelector('input[name=\"full_name\"]'):null;if(input)input.focus();},80);\n            }\n            function openModal(showFormNow){\n                if(!modal)return;\n                if(document.body && modal.parentNode!==document.body){document.body.appendChild(modal);}\n                if(showFormNow)showForm();else showInfo();\n                modal.classList.add('is-open');modal.setAttribute('aria-hidden','false');lockPage(true);\n            }\n            function closeModal(){\n                if(!modal)return;\n                modal.classList.remove('is-open');modal.setAttribute('aria-hidden','true');lockPage(false);showInfo();\n            }\n            var openers=[];\n            if(card){\n                openers.push(card);\n                card.querySelectorAll('[data-rmpb-open]').forEach(function(btn){openers.push(btn);});\n            }\n            openers.forEach(function(btn){\n                btn.addEventListener('click',function(e){e.preventDefault();e.stopPropagation();openModal(false);});\n            });\n            if(card){card.addEventListener('keydown',function(e){if(e.key==='Enter'||e.key===' '){e.preventDefault();openModal(false);}});}\n            var showFormButton=host.querySelector('[data-rmpb-show-form]');if(showFormButton)showFormButton.addEventListener('click',function(){showForm();});\n            var backButton=host.querySelector('[data-rmpb-back-info]');if(backButton)backButton.addEventListener('click',showInfo);\n            var closeButton=host.querySelector('[data-rmpb-close]');if(closeButton)closeButton.addEventListener('click',closeModal);\n            if(modal)modal.addEventListener('click',function(e){if(e.target===modal)closeModal();});\n            document.addEventListener('keydown',function(e){if(e.key==='Escape'&&modal&&modal.classList.contains('is-open'))closeModal();});\n            if(host.getAttribute('data-rmpb-reopen-form')==='1'){setTimeout(function(){openModal(true);},180);}\n        })();\n        <\/script>\n        <style id=\"rm-agenda-1216-front-css\">\n        .rm-agenda-front-1216{max-width:1040px;margin:0 auto}.rm-agenda-front-1216 .rm-agenda-brand-banner-1218{display:flex;justify-content:flex-start;align-items:center;margin:0 0 18px;text-align:left}.rm-agenda-front-1216 .rm-agenda-brand-banner-1218 img{display:block;max-width:340px;width:100%;height:auto;object-fit:contain}.rm-agenda-front-1216 .rm-agenda-step{display:flex;gap:12px;align-items:flex-start;margin:26px 0 14px}.rm-agenda-front-1216 .rm-agenda-step h3{margin:0;color:#111827}.rm-agenda-front-1216 .rm-agenda-step p{margin:4px 0 0;color:#64748b}.rm-agenda-front-1216 .rm-agenda-step-number{width:36px;height:36px;border-radius:999px;background:#07111f;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;flex:0 0 auto}.rm-agenda-front-1216 .rm-agenda-professional-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.rm-agenda-front-1216 .rm-agenda-prof-card{border:1px solid #dbeafe;background:#fff;border-radius:18px;padding:16px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;text-align:center;box-shadow:0 12px 34px rgba(15,23,42,.08);transition:.18s}.rm-agenda-front-1216 .rm-agenda-prof-card:hover,.rm-agenda-front-1216 .rm-agenda-prof-card.is-selected{transform:translateY(-2px);border-color:#0059b3;box-shadow:0 16px 44px rgba(0,89,179,.18)}.rm-agenda-front-1216 .rm-agenda-prof-card img,.rm-agenda-front-1216 .rm-agenda-prof-avatar{width:90px;height:90px;border-radius:50%;object-fit:cover;border:3px solid #eaf3ff}.rm-agenda-front-1216 .rm-agenda-prof-avatar{display:flex;align-items:center;justify-content:center;background:#eaf3ff;color:#07111f;font-size:34px;font-weight:900}.rm-agenda-front-1216 .rm-agenda-prof-card strong{font-size:1.03rem;color:#111827}.rm-agenda-front-1216 .rm-agenda-prof-card small{color:#64748b}.rm-agenda-front-1216 .rm-agenda-professional-registro{font-weight:800!important;color:#0059b3!important}.rm-agenda-front-1216 .rm-agenda-front-calendar{border:1px solid #cfe2ff;background:#f8fbff;border-radius:20px;padding:14px}.rm-agenda-front-1216 .rm-agenda-front-calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.rm-agenda-front-1216 .rm-agenda-front-calendar-head button{border:0;background:#07111f;color:#fff;border-radius:999px;width:38px;height:38px;cursor:pointer;font-weight:900}.rm-agenda-front-1216 .rm-agenda-front-weekdays,.rm-agenda-front-1216 .rm-agenda-front-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.rm-agenda-front-1216 .rm-agenda-front-weekdays span{text-align:center;font-size:12px;font-weight:900;color:#003f7f}.rm-agenda-front-1216 .rm-cal-day{min-height:50px;border:1px solid #e5e7eb;background:#fff;border-radius:14px;cursor:pointer;font-weight:800;color:#111827}.rm-agenda-front-1216 .rm-cal-day:hover,.rm-agenda-front-1216 .rm-cal-day.is-selected{background:#07111f;color:#fff;border-color:#07111f}.rm-agenda-front-1216 .rm-cal-day.is-disabled{opacity:.32;cursor:not-allowed;background:#f8fafc;color:#9ca3af}.rm-agenda-front-1216 .rm-cal-day.is-checking{opacity:.55;cursor:progress}.rm-agenda-front-1216 .rm-cal-day.is-available{border-color:#93c5fd;box-shadow:inset 0 0 0 1px #dbeafe}.rm-agenda-front-1216 .rm-cal-day.is-no-slots{opacity:.28;text-decoration:line-through}.rm-agenda-front-1216 .rm-cal-day.is-lotado{position:relative!important;overflow:hidden!important;opacity:.88!important;background:#f7f7f7!important;border-color:#e5e7eb!important;color:#111827!important;text-decoration:none!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;box-shadow:none!important}.rm-agenda-front-1216 .rm-cal-day.is-lotado .rm-cal-day-num{position:relative!important;z-index:1!important;font-size:14px!important;line-height:1!important;font-weight:950!important;color:#111827!important}.rm-agenda-front-1216 .rm-cal-day.is-lotado .rm-cal-day-lotado{position:absolute!important;left:50%!important;top:50%!important;width:165%!important;transform:translate(-50%,-50%) rotate(-24deg)!important;transform-origin:center!important;display:block!important;padding:3px 0!important;border-top:1px solid #d1d5db!important;border-bottom:1px solid #d1d5db!important;background:rgba(255,255,255,.88)!important;color:#111827!important;font-size:10px!important;line-height:1.1!important;font-weight:900!important;letter-spacing:.14em!important;text-transform:uppercase!important;text-align:center!important;opacity:.95!important;box-shadow:none!important;z-index:2!important;pointer-events:none!important}.rm-agenda-front-1216 .rm-agenda-calendar-status{margin:0 0 10px;padding:9px 11px;border:1px solid #dbeafe;border-radius:10px;background:#fff;color:#475569;font-size:13px;font-weight:700}.rm-agenda-front-1216 .rm-agenda-calendar-status.is-loading{color:#0059b3;background:#eff6ff}.rm-agenda-front-1216 .rm-agenda-calendar-status.is-ready{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.rm-agenda-front-1216 .rm-agenda-slot-loader{display:none;align-items:center;gap:16px;margin:14px 0;padding:20px 22px;border:3px solid #0059b3;border-radius:12px;background:linear-gradient(135deg,#eaf3ff,#ffffff);color:#0f3f75;font-weight:800;box-shadow:0 16px 38px rgba(0,89,179,.22);position:relative;overflow:hidden}.rm-agenda-front-1216 .rm-agenda-slot-loader.is-visible{display:flex}.rm-agenda-front-1216 .rm-agenda-slot-spinner{width:38px;height:38px;border:5px solid #bfdbfe;border-top-color:#0059b3;border-radius:50%;animation:rmAgendaSpin .75s linear infinite;flex:0 0 auto}.rm-agenda-front-1216 .rm-agenda-slot-loader-copy{flex:1;min-width:0}.rm-agenda-front-1216 .rm-agenda-slot-loader strong{display:block;font-size:16px;color:#003f7f}.rm-agenda-front-1216 .rm-agenda-slot-loader small{display:block;margin-top:4px;color:#475569;font-weight:700}.rm-agenda-front-1216 .rm-agenda-slot-elapsed{display:block;margin-top:7px;color:#0059b3;font-size:12px;font-style:normal;font-weight:900}.rm-agenda-front-1216 .rm-agenda-slot-progress{height:7px;margin-top:11px;border-radius:999px;background:#dbeafe;overflow:hidden}.rm-agenda-front-1216 .rm-agenda-slot-progress span{display:block;width:42%;height:100%;border-radius:999px;background:#0059b3;animation:rmAgendaProgress 1.15s ease-in-out infinite}.rm-agenda-front-1216 .rm-agenda-time-panel.is-loading{outline:3px solid rgba(0,89,179,.18);outline-offset:4px}@keyframes rmAgendaSpin{to{transform:rotate(360deg)}}@keyframes rmAgendaProgress{0%{transform:translateX(-120%)}100%{transform:translateX(340%)}}.rm-agenda-front-1216 .rm-cal-empty{min-height:50px}.rm-agenda-front-1216 .rm-agenda-time-panel select{width:100%;max-width:460px}.rm-agenda-front-1216 .rm-agenda-timezone-display{margin:0 0 10px;padding:9px 11px;border:1px solid #dbeafe;border-radius:10px;background:#eff6ff;color:#0f3f75;font-size:13px;font-weight:700}.rm-agenda-front-1216 .rm-agenda-patient-fields{margin-top:24px;border:1px solid #dbeafe;background:#ffffff;border-radius:18px;padding:20px 18px 18px;box-shadow:0 10px 28px rgba(15,23,42,.05)}.rm-agenda-front-1216 .rm-agenda-patient-fields .rm-agenda-step{margin:0 0 14px}.rm-agenda-front-1216 .rm-agenda-patient-fields .rm-agenda-grid{margin-top:10px}.rm-agenda-front-1216 .rm-agenda-patient-fields>label{display:block;margin-top:14px;padding:0 4px}.rm-agenda-front-1216 .rm-agenda-patient-fields .rm-agenda-grid>label{padding:0 4px}.rm-agenda-front-1216 .rm-agenda-patient-fields .rm-agenda-button{margin-top:16px;margin-left:4px}.rm-agenda-front-1216 .rm-is-hidden{display:none!important}.rm-agenda-front-1216 .rm-agenda-service-preview{padding:12px 14px;border-radius:14px;background:#f8fafc;border:1px solid #e5e7eb;margin-top:10px;display:none}.rm-agenda-front-1216 .rm-agenda-service-preview strong{display:block;color:#07111f}.rm-agenda-front-1216 .rm-agenda-service-preview span{color:#64748b}.rm-agenda-front-1216 .rm-agenda-mode-native{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.rm-agenda-front-1216 .rm-agenda-mode-cards{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;width:90%!important;max-width:900px!important;margin:0 auto!important;align-items:stretch!important}.rm-agenda-front-1216 .rm-agenda-mode-card{position:relative;width:100%!important;min-width:0!important;border:2px solid transparent;border-radius:12px;padding:20px 22px!important;cursor:pointer;text-align:left;color:#fff;box-shadow:0 10px 24px rgba(15,23,42,.12);transition:.18s ease;min-height:92px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}.rm-agenda-front-1216 button.rm-agenda-mode-card,.rm-agenda-front-1216 button.rm-agenda-mode-card *,.rm-agenda-front-1216 .rm-agenda-mode-card strong,.rm-agenda-front-1216 .rm-agenda-mode-card small{color:#fff!important;-webkit-text-fill-color:#fff!important}.rm-agenda-front-1216 .rm-agenda-mode-card strong,.rm-agenda-front-1216 .rm-agenda-mode-card small{display:block}.rm-agenda-front-1216 .rm-agenda-mode-card strong{font-size:18px!important;line-height:1.15!important;margin-bottom:8px!important;font-weight:900!important;letter-spacing:.01em!important}.rm-agenda-front-1216 .rm-agenda-mode-card small{font-size:15px!important;line-height:1.25!important;opacity:.98!important;font-weight:400!important;letter-spacing:0!important}.rm-agenda-front-1216 .rm-agenda-mode-online{background:#0ea5e9}.rm-agenda-front-1216 .rm-agenda-mode-presencial{background:#0059b3}.rm-agenda-front-1216 .rm-agenda-mode-card:hover{transform:translateY(-1px);filter:brightness(.96)}.rm-agenda-front-1216 .rm-agenda-mode-card.is-selected{border-color:#fff;box-shadow:0 0 0 3px #07111f,0 14px 30px rgba(15,23,42,.22)}.rm-agenda-front-1216 .rm-agenda-mode-card.is-selected:after{content:\"\u2713 Selecionado\";position:absolute;right:14px;top:12px;transform:none;font-size:12px;font-weight:900;color:#fff;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.42);border-radius:999px;padding:4px 8px}.rm-agenda-front-1216 .rm-agenda-mode-card[disabled]{opacity:.28;cursor:not-allowed;filter:grayscale(.25)}.rm-agenda-front-1216 .rm-agenda-mode-card small,.rm-agenda-front-1216 .rm-agenda-mode-card small *{font-weight:400!important;color:#fff!important;-webkit-text-fill-color:#fff!important}.rm-agenda-front-1216 .rm-agenda-mode-card strong,.rm-agenda-front-1216 .rm-agenda-mode-card strong *{color:#fff!important;-webkit-text-fill-color:#fff!important}.rm-agenda-front-1216 .rm-agenda-mode-field.is-mixed-package .rm-agenda-mode-cards{display:none!important}.rm-agenda-front-1216 .rm-agenda-mixed-package-info{display:none;border:1px solid #cfe2ff;background:#f8fafc;border-radius:14px;padding:14px 16px;color:#0f172a;box-shadow:0 10px 24px rgba(15,23,42,.06)}.rm-agenda-front-1216 .rm-agenda-mixed-package-info strong{display:block;font-size:16px;font-weight:900;color:#07111f;margin-bottom:4px}.rm-agenda-front-1216 .rm-agenda-mixed-package-info small{display:block;font-size:13px;line-height:1.45;color:#475569}.rm-agenda-front-1216 .rm-agenda-mode-field.is-mixed-package .rm-agenda-mixed-package-info{display:block!important}@media(max-width:520px){.rm-agenda-front-1216 .rm-agenda-mode-cards{width:100%!important;gap:10px!important}.rm-agenda-front-1216 .rm-agenda-mode-card{padding:15px 12px!important;min-height:82px!important}.rm-agenda-front-1216 .rm-agenda-mode-card strong{font-size:16px!important}.rm-agenda-front-1216 .rm-agenda-mode-card small{font-size:13px!important}.rm-agenda-front-1216 .rm-agenda-mode-card.is-selected:after{display:none!important}}.rm-agenda-front-1216 .rm-agenda-empty{grid-column:1\/-1;background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:14px;color:#64748b}.rm-agenda-after-booking{display:grid;gap:18px;max-width:980px;margin:24px auto}.rm-agenda-button-light{background:#f8fafc!important;color:#07111f!important;border:1px solid #cfe2ff!important;box-shadow:none!important}.rm-agenda-nuvemshop-payment{border:2px solid #0059b3;background:linear-gradient(135deg,#eff6ff,#fff);text-align:center}.rm-agenda-nuvemshop-payment h2{margin:.35rem 0 .5rem}.rm-agenda-nuvemshop-payment p{max-width:680px;margin:.5rem auto 1rem}.rm-agenda-nuvemshop-button{min-width:240px}.rm-agenda-nuvemshop-countdown{font-size:13px;color:#475569}.rm-agenda-ns-error{border-color:#f59e0b!important;background:linear-gradient(135deg,#fffbeb,#fff)!important}.rm-agenda-ns-ok{border-color:#0059b3!important}.rm-agenda-ns-manual{border-color:#0ea5e9!important}.rm-agenda-ns-debug{margin:12px auto;padding:12px;border:1px solid #fbbf24;background:#fff7ed;border-radius:10px;max-width:760px;text-align:left;color:#7c2d12;font-size:13px;line-height:1.45;word-break:break-word}\n        .rm-agenda-front-1216 .rm-agenda-prof-card{position:relative;overflow:hidden}.rm-agenda-front-1216 .rm-agenda-prof-card.is-selected{transform:translateY(-4px) scale(1.02);border:3px solid #0059b3;background:linear-gradient(135deg,#07111f 0%,#0059b3 100%);color:#fff;box-shadow:0 22px 58px rgba(0,89,179,.36),0 0 0 6px rgba(0,89,179,.14);padding:18px 16px 20px}.rm-agenda-front-1216 .rm-agenda-prof-card.is-selected:after{content:\"Selecionado\";position:absolute;top:10px;right:10px;background:#fff;color:#0059b3;border-radius:999px;padding:5px 10px;font-size:11px;line-height:1;font-weight:900;letter-spacing:.02em;box-shadow:0 8px 20px rgba(15,23,42,.16)}.rm-agenda-front-1216 .rm-agenda-prof-card.is-selected img,.rm-agenda-front-1216 .rm-agenda-prof-card.is-selected .rm-agenda-prof-avatar{width:122px;height:122px;border:5px solid #fff;box-shadow:0 12px 30px rgba(0,0,0,.22);background:#fff}.rm-agenda-front-1216 .rm-agenda-prof-card.is-selected strong{color:#fff;font-size:1.14rem}.rm-agenda-front-1216 .rm-agenda-prof-card.is-selected small,.rm-agenda-front-1216 .rm-agenda-prof-card.is-selected .rm-agenda-professional-registro{color:#eaf3ff!important}.rm-agenda-front-1216 .rm-agenda-prof-card.is-selected .rm-agenda-prof-avatar{color:#0059b3;font-size:42px}\n        .rm-agenda-front-1216 .rm-agenda-single-professional-show-253{display:flex;align-items:center;gap:16px;background:#f8fbff;border:1px solid #dbeafe;border-radius:18px;padding:16px 18px;margin:18px 0 8px;box-shadow:0 12px 30px rgba(15,23,42,.06)}.rm-agenda-front-1216 .rm-agenda-single-professional-photo-253{width:92px;height:92px;border-radius:999px;overflow:hidden;border:4px solid #eaf3ff;background:#eaf3ff;display:flex;align-items:center;justify-content:center;flex:0 0 92px}.rm-agenda-front-1216 .rm-agenda-single-professional-photo-253 img{width:100%;height:100%;object-fit:cover;display:block}.rm-agenda-front-1216 .rm-agenda-single-professional-photo-253 span{font-size:38px;color:#0059b3;font-weight:900}.rm-agenda-front-1216 .rm-agenda-single-professional-text-253 small{display:block;color:#64748b;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.rm-agenda-front-1216 .rm-agenda-single-professional-text-253 strong{display:block;color:#07111f;font-size:18px;line-height:1.18}.rm-agenda-front-1216 .rm-agenda-single-professional-text-253 .rm-agenda-professional-registro{display:block;margin-top:3px}.rm-agenda-front-1216 .rm-agenda-embed-externo-1222 .rm-agenda-single-professional-show-253{margin-top:6px}@media(max-width:620px){.rm-agenda-front-1216 .rm-agenda-single-professional-show-253{align-items:flex-start;padding:14px}.rm-agenda-front-1216 .rm-agenda-single-professional-photo-253{width:74px;height:74px;flex-basis:74px}}        @media(max-width:900px){.rm-agenda-front-1216 .rm-agenda-professional-cards{grid-template-columns:repeat(2,1fr)}}.rm-agenda-front-1216 .rm-agenda-single-professional-hidden-147{display:none!important}.rm-agenda-front-1216 .rm-cal-day{white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;min-width:0!important;width:100%!important;padding-left:2px!important;padding-right:2px!important}@media(max-width:620px){.rm-agenda-wrap.rm-agenda-front-1216{width:95vw!important;max-width:95vw!important;position:relative!important;left:50%!important;transform:translateX(-50%)!important;margin-left:0!important;margin-right:0!important;padding:0!important}.rm-agenda-front-1216 .rm-agenda-public-card{width:100%!important;max-width:none!important;padding-left:8px!important;padding-right:8px!important}.rm-agenda-front-1216 .rm-agenda-front-calendar{width:100%!important;max-width:none!important;padding:10px 5px!important}.rm-agenda-front-1216 .rm-agenda-professional-cards{grid-template-columns:1fr}.rm-agenda-front-1216 .rm-agenda-front-weekdays,.rm-agenda-front-1216 .rm-agenda-front-days{grid-template-columns:repeat(7,minmax(32px,1fr))!important;gap:3px!important;width:100%!important}.rm-agenda-front-1216 .rm-agenda-front-weekdays span{white-space:nowrap!important;font-size:11px!important}.rm-agenda-front-1216 .rm-cal-day{min-width:32px!important;min-height:44px!important;border-radius:9px!important;font-size:14px!important;line-height:1!important}.rm-agenda-front-1216 .rm-agenda-mode-cards{grid-template-columns:1fr}.rm-agenda-front-1216 .rm-agenda-prof-card.is-selected img,.rm-agenda-front-1216 .rm-agenda-prof-card.is-selected .rm-agenda-prof-avatar{width:112px;height:112px}}.rm-agenda-front-1216 .rm-agenda-slot-select{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}.rm-agenda-front-1216 .rm-agenda-slot-grid-1222,.rm-agenda-front-1216 .rm-agenda-slot-tip-1222{display:none!important}.rm-agenda-front-1216 .rm-agenda-slot-card-grid-460{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(108px,1fr))!important;gap:10px!important;width:100%!important;max-width:780px!important;margin:24px auto 22px!important}.rm-agenda-front-1216 .rm-agenda-slot-card-460{position:relative!important;overflow:hidden!important;border:1px solid #cfe2ff!important;background:#fff!important;color:#07111f!important;border-radius:13px!important;padding:13px 10px!important;min-height:58px!important;cursor:pointer!important;text-align:center!important;font-weight:900!important;box-shadow:0 8px 18px rgba(15,23,42,.05)!important}.rm-agenda-front-1216 .rm-agenda-slot-card-460 strong{display:block!important;color:inherit!important;font-size:15px!important;line-height:1.15!important}.rm-agenda-front-1216 .rm-agenda-slot-card-460 small{display:block!important;margin-top:3px!important;color:#64748b!important;font-size:11px!important;font-weight:800!important}.rm-agenda-front-1216 .rm-agenda-slot-card-460:hover{border-color:#0059b3!important;color:#0059b3!important}.rm-agenda-front-1216 .rm-agenda-slot-card-460.is-active{background:#0059b3!important;border-color:#0059b3!important;color:#fff!important}.rm-agenda-front-1216 .rm-agenda-slot-card-460.is-active small{color:#fff!important}.rm-agenda-front-1216 .rm-agenda-slot-card-460.is-unavailable{background:#f7f7f7!important;border-color:#e5e7eb!important;color:#111827!important;opacity:.9!important;cursor:not-allowed!important;box-shadow:none!important}.rm-agenda-front-1216 .rm-agenda-slot-card-460.is-unavailable strong,.rm-agenda-front-1216 .rm-agenda-slot-card-460.is-unavailable small{position:relative!important;z-index:1!important;color:#111827!important}.rm-agenda-front-1216 .rm-agenda-slot-card-460.is-unavailable:after{content:attr(data-status-label);position:absolute!important;left:50%!important;top:50%!important;width:165%!important;transform:translate(-50%,-50%) rotate(-24deg)!important;transform-origin:center!important;color:#111827!important;font-size:12px!important;line-height:1.1!important;font-weight:900!important;letter-spacing:.12em!important;text-transform:uppercase!important;text-align:center!important;padding:3px 0!important;border-top:1px solid #d1d5db!important;border-bottom:1px solid #d1d5db!important;background:rgba(255,255,255,.9)!important;opacity:.96!important;z-index:2!important;pointer-events:none!important}.rm-agenda-front-1216 .rm-agenda-slot-empty-460{grid-column:1\/-1!important;border:1px solid #cfe2ff!important;border-radius:14px!important;background:#f8fbff!important;padding:14px!important;color:#334155!important;font-weight:900!important;text-align:center!important}\n        <\/style><style id=\"rm-agenda-unavailable-inline-1308\">.rm-agenda-front-1216>.rm-agenda-unavailable-inline-1308{display:block!important;width:100%!important;max-width:100%!important;position:static!important;inset:auto!important;background:transparent!important;padding:0!important;margin:0 0 18px!important;z-index:auto!important}.rm-agenda-front-1216 .rm-agenda-unavailable-inline-card-1308{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;width:100%!important;background:#fff7ed!important;border:1px solid #fdba74!important;border-radius:16px!important;box-shadow:0 10px 28px rgba(15,23,42,.08)!important;padding:16px 18px!important;box-sizing:border-box!important}.rm-agenda-front-1216 .rm-agenda-unavailable-inline-copy-1308{display:block!important;flex:1 1 auto!important;min-width:0!important}.rm-agenda-front-1216 .rm-agenda-unavailable-inline-copy-1308 strong{display:block!important;font-size:16px!important;line-height:1.25!important;color:#9a3412!important;margin:0 0 4px!important}.rm-agenda-front-1216 .rm-agenda-unavailable-inline-copy-1308 p{margin:0!important;color:#7c2d12!important;font-size:13px!important;line-height:1.5!important;font-weight:600!important}.rm-agenda-front-1216 .rm-agenda-unavailable-inline-action-1308{display:inline-flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important;border:0!important;background:#0f4f8a!important;color:#fff!important;border-radius:12px!important;padding:11px 16px!important;font-size:13px!important;line-height:1.1!important;font-weight:900!important;white-space:nowrap!important;box-shadow:0 8px 18px rgba(15,79,138,.22)!important}.rm-agenda-front-1216 .rm-agenda-unavailable-inline-action-1308:hover{background:#0b3d6a!important;color:#fff!important}.rm-agenda-front-1216 .rm-agenda-unavailable-inline-action-1308:focus{outline:2px solid #0f4f8a!important;outline-offset:2px!important}.rm-agenda-front-1216 .rm-agenda-unavailable-inline-1308.rm-agenda-unavailable-modal{position:static!important;display:block!important;align-items:initial!important;justify-content:initial!important;background:transparent!important}@media(max-width:640px){.rm-agenda-front-1216 .rm-agenda-unavailable-inline-card-1308{display:block!important}.rm-agenda-front-1216 .rm-agenda-unavailable-inline-action-1308{display:flex!important;width:100%!important;margin-top:12px!important}}<\/style><div class=\"rm-agenda-wrap rm-agenda-front-1216 rm-agenda-single-professional-147\"><div class=\"rm-agenda-card rm-agenda-public-card\"><div class=\"rm-agenda-brand-banner-1218\"><img decoding=\"async\" src=\"https:\/\/robsonmasselli.com.br\/psi\/wp-content\/uploads\/2026\/06\/logo-ar-agenda2.png\" alt=\"AR Masselli Agenda\"><\/div><div class=\"rm-agenda-title-row\"><div><span class=\"rm-agenda-kicker\">Agendamento de consulta<\/span><h2>AR Masselli - Centro de Psican\u00e1lise e Psicopedagogia<\/h2><p>Escolha o servi\u00e7o, depois a data e o hor\u00e1rio dispon\u00edvel. Os dados do paciente s\u00f3 aparecem depois da escolha do hor\u00e1rio.<\/p><\/div><\/div><form method=\"post\" class=\"rm-agenda-form rm-agenda-booking-form\" id=\"rmAgenda1216Form\" data-single-professional=\"1\"><input type=\"hidden\" id=\"rm_agenda_122_nonce\" name=\"rm_agenda_122_nonce\" value=\"599570ad7d\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/psi\/wp-json\/wp\/v2\/pages\/13981\" \/><input type=\"hidden\" name=\"rm_agenda_action\" value=\"rm_agenda_122_book\"><input type=\"hidden\" name=\"rm_agenda_return_url\" value=\"\/psi\/wp-json\/wp\/v2\/pages\/13981\"><input type=\"hidden\" name=\"rm_agenda_embed_mode\" value=\"0\"><input type=\"hidden\" name=\"professional_id\" class=\"rm-agenda-professional\" value=\"1\" required><input type=\"hidden\" name=\"appointment_date\" class=\"rm-agenda-date\" required><input type=\"hidden\" name=\"start_time\" class=\"rm-agenda-slot-hidden\" required><input type=\"hidden\" name=\"patient_timezone\" class=\"rm-agenda-patient-timezone\" value=\"\"><div class=\"rm-agenda-single-professional-show-253 is-single-professional-253\"><div class=\"rm-agenda-single-professional-photo-253\"><img decoding=\"async\" src=\"https:\/\/robsonmasselli.com.br\/psi\/wp-content\/uploads\/2025\/11\/i34.png\" alt=\"Robson Masselli\"><\/div><div class=\"rm-agenda-single-professional-text-253\"><small>Profissional<\/small><strong>Robson Masselli<\/strong><small>Psicanalista Cl\u00ednico<\/small><small class=\"rm-agenda-professional-registro\">CBPC 2022.3686<\/small><\/div><\/div><div class=\"rm-agenda-professional-cards rm-agenda-single-professional-hidden-147\" aria-hidden=\"true\"><button type=\"button\" class=\"rm-agenda-prof-card is-selected\" data-professional-id=\"1\" data-services=\"1,7,8,161,162,268,274,275\" tabindex=\"-1\"><strong>Robson Masselli<\/strong><\/button><\/div><div class=\"rm-agenda-step-panel rm-agenda-service-panel\" data-rm-step-panel=\"service\"><div class=\"rm-agenda-step\"><div class=\"rm-agenda-step-number\">1<\/div><div><h3>Servi\u00e7o e modalidade<\/h3><p>O servi\u00e7o define dura\u00e7\u00e3o, valor e hor\u00e1rios dispon\u00edveis.<\/p><\/div><\/div><div class=\"rm-agenda-grid rm-agenda-grid-2\"><label><span>Servi\u00e7o<\/span><select name=\"service_id\" class=\"rm-agenda-service\" required><option value=\"\">Selecione<\/option><option value=\"274\" data-duration=\"30\" data-duration-label=\"20 a 30 min\" data-description=\"Conversa inicial de 20 a 30 minutos para entender sua necessidade e orientar o melhor caminho antes de iniciar as sess\u00f5es.\" data-full-description=\"A Conversa inicial \u00e9 um encontro breve, de 20 a 30 minutos, para entender o que voc\u00ea est\u00e1 buscando, acolher sua necessidade, explicar como funciona o atendimento e orientar qual caminho faz mais sentido para o seu caso. O sistema reserva 1 hora na agenda para manter o hor\u00e1rio protegido. O valor pago fica registrado como cr\u00e9dito para abatimento em um atendimento futuro, conforme as regras do servi\u00e7o.\" data-block-duration=\"60\" data-price=\"20.00\" data-mode=\"online\" data-type=\"single\" data-sessions=\"1\" data-rm-mixed-package=\"1\" data-max-advance-days=\"90\" data-global-max-advance-days=\"90\">Conversa inicial \u00b7 20 a 30 min \u00b7 R$ 20,00<\/option><option value=\"1\" data-duration=\"60\" data-duration-label=\"60 min\" data-description=\"Dura\u00e7\u00e3o 55 minutos\r\nSess\u00e3o realizada na Cl\u00ednica em hor\u00e1rio previamente agendado.\" data-full-description=\"Atendimento presencial voltado para conversar sobre sentimentos, pensamentos, conflitos, ansiedade, inseguran\u00e7as, relacionamentos e situa\u00e7\u00f5es que estejam trazendo sofrimento ou dificuldade no dia a dia.\r\n\r\nA sess\u00e3o acontece com escuta profissional, sem julgamentos, respeitando o tempo da pessoa e a hist\u00f3ria que ela traz. Todas as informa\u00e7\u00f5es compartilhadas durante o atendimento s\u00e3o mantidas em sigilo.\" data-block-duration=\"60\" data-price=\"86.00\" data-mode=\"presencial\" data-type=\"single\" data-sessions=\"1\" data-rm-mixed-package=\"0\" data-max-advance-days=\"90\" data-global-max-advance-days=\"90\">1 SESS\u00c3O PSICAN\u00c1LISE (PRESENCIAL) \u00b7 60 min \u00b7 R$ 86,00<\/option><option value=\"7\" data-duration=\"90\" data-duration-label=\"90 min\" data-description=\"Dura\u00e7\u00e3o 60-90 minutos\r\nSess\u00e3o realizada na Cl\u00ednica em hor\u00e1rio previamente agendado.\" data-full-description=\"Sess\u00e3o presencial de hipnose cl\u00ednica voltada para auxiliar no trabalho com emo\u00e7\u00f5es, pensamentos repetitivos, medos, inseguran\u00e7as, ansiedade, bloqueios e situa\u00e7\u00f5es internas que a pessoa deseja compreender ou ressignificar.\r\n\r\nDurante o atendimento, a pessoa permanece consciente e participativa. Tudo o que for conversado ou trabalhado na sess\u00e3o \u00e9 mantido em sigilo.\" data-block-duration=\"90\" data-price=\"100.00\" data-mode=\"presencial\" data-type=\"single\" data-sessions=\"1\" data-rm-mixed-package=\"0\" data-max-advance-days=\"90\" data-global-max-advance-days=\"90\">1 SESS\u00c3O HIPNOSE CL\u00cdNICA (PRESENCIAL) \u00b7 90 min \u00b7 R$ 100,00<\/option><option value=\"8\" data-duration=\"60\" data-duration-label=\"60 min\" data-description=\"Dura\u00e7\u00e3o 55 minutos\r\nSess\u00e3o realizada via WhatsApp ou APP previamente compartilhado.\" data-full-description=\"Atendimento online para quem deseja conversar sobre quest\u00f5es emocionais, conflitos pessoais, ansiedade, inseguran\u00e7a, relacionamentos, decis\u00f5es dif\u00edceis ou situa\u00e7\u00f5es que estejam afetando sua rotina.\r\n\r\nA sess\u00e3o \u00e9 realizada por chamada online, com privacidade e sigilo sobre tudo o que for conversado. \u00c9 uma op\u00e7\u00e3o pr\u00e1tica para quem prefere ou precisa ser atendido \u00e0 dist\u00e2ncia.\" data-block-duration=\"60\" data-price=\"86.00\" data-mode=\"online\" data-type=\"single\" data-sessions=\"1\" data-rm-mixed-package=\"0\" data-max-advance-days=\"90\" data-global-max-advance-days=\"90\">1 SESS\u00c3O PSICAN\u00c1LISE (ONLINE) \u00b7 60 min \u00b7 R$ 86,00<\/option><option value=\"161\" data-duration=\"89\" data-duration-label=\"89 min\" data-description=\"Dura\u00e7\u00e3o 360 minutos (total)\r\nSess\u00e3o realizada na Cl\u00ednica em hor\u00e1rio previamente agendado.\" data-full-description=\"Pacote com 4 sess\u00f5es de hipnose cl\u00ednica para quem deseja um acompanhamento mais cont\u00ednuo no trabalho com emo\u00e7\u00f5es, ansiedade, medos, bloqueios, inseguran\u00e7as ou padr\u00f5es de comportamento que deseja modificar.\r\n\r\nAs sess\u00f5es permitem acompanhar melhor a evolu\u00e7\u00e3o do processo e trabalhar os temas com mais tempo e organiza\u00e7\u00e3o. Todas as informa\u00e7\u00f5es compartilhadas durante os atendimentos s\u00e3o mantidas em sigilo.\" data-block-duration=\"89\" data-price=\"300.00\" data-mode=\"presencial\" data-type=\"package\" data-sessions=\"4\" data-rm-mixed-package=\"0\" data-max-advance-days=\"90\" data-global-max-advance-days=\"90\">PACOTE 4 SESS\u00d5ES HIPNOSE CL\u00cdNICA (PRESENCIAL) \u00b7 89 min \u00b7 R$ 300,00<\/option><option value=\"162\" data-duration=\"60\" data-duration-label=\"60 min\" data-description=\"Dura\u00e7\u00e3o 240 minutos\r\nSess\u00e3o realizada na Cl\u00ednica ou Online via WhatsApp por escolha do paciente.\" data-full-description=\"Pacote com 4 sess\u00f5es de psican\u00e1lise para quem deseja dar continuidade ao atendimento e acompanhar melhor suas quest\u00f5es emocionais ao longo das semanas.\r\n\r\nIndicado para trabalhar ansiedade, inseguran\u00e7as, conflitos internos, relacionamentos, autoestima e outras situa\u00e7\u00f5es que precisam de escuta e acompanhamento com mais regularidade. Todas as informa\u00e7\u00f5es tratadas nas sess\u00f5es s\u00e3o mantidas em sigilo.\" data-block-duration=\"60\" data-price=\"280.00\" data-mode=\"both\" data-type=\"package\" data-sessions=\"4\" data-rm-mixed-package=\"1\" data-max-advance-days=\"90\" data-global-max-advance-days=\"90\">PACOTE 4 SESS\u00d5ES PSICAN\u00c1LISE \u00b7 60 min \u00b7 R$ 280,00<\/option><\/select><\/label><label class=\"rm-agenda-mode-field\"><span>Modalidade<\/span><select name=\"mode\" class=\"rm-agenda-mode rm-agenda-mode-native\" required><option value=\"\">Selecione a modalidade<\/option><option value=\"online\">Online<\/option><option value=\"presencial\">Presencial<\/option><option value=\"both\">Misto<\/option><\/select><div class=\"rm-agenda-mode-cards\" role=\"radiogroup\" aria-label=\"Modalidade\"><button type=\"button\" class=\"rm-agenda-mode-card rm-agenda-mode-online\" data-mode=\"online\"><strong>Online<\/strong><small>Teleconsulta<\/small><\/button><button type=\"button\" class=\"rm-agenda-mode-card rm-agenda-mode-presencial\" data-mode=\"presencial\"><strong>Presencial<\/strong><small>Atendimento no local<\/small><\/button><\/div><div class=\"rm-agenda-mixed-package-info\" aria-live=\"polite\"><strong>Modalidade mista<\/strong><small>Este pacote permite sess\u00f5es online ou presenciais. Voc\u00ea agenda o primeiro hor\u00e1rio agora e combina a modalidade conforme sua necessidade.<\/small><\/div><\/label><\/div><div class=\"rm-agenda-service-preview\"><\/div><\/div><div class=\"rm-agenda-step-panel rm-agenda-date-panel rm-is-hidden\" data-rm-step-panel=\"date\"><div class=\"rm-agenda-step\"><div class=\"rm-agenda-step-number\">2<\/div><div><h3>Escolha a data<\/h3><p>Depois de escolher o servi\u00e7o, clique em um dia para consultar os hor\u00e1rios daquela data.<\/p><\/div><\/div><div class=\"rm-agenda-front-calendar\"><div class=\"rm-agenda-front-calendar-head\"><button type=\"button\" class=\"rm-cal-prev\">\u2190<\/button><strong class=\"rm-cal-title\"><\/strong><button type=\"button\" class=\"rm-cal-next\">\u2192<\/button><\/div><div class=\"rm-agenda-calendar-status\">Escolha o servi\u00e7o e clique em uma data para consultar os hor\u00e1rios.<\/div><div class=\"rm-agenda-front-weekdays\"><span>Dom<\/span><span>Seg<\/span><span>Ter<\/span><span>Qua<\/span><span>Qui<\/span><span>Sex<\/span><span>S\u00e1b<\/span><\/div><div class=\"rm-agenda-front-days\"><\/div><\/div><\/div><div class=\"rm-agenda-step-panel rm-agenda-time-step-panel rm-is-hidden\" data-rm-step-panel=\"time\"><div class=\"rm-agenda-step\"><div class=\"rm-agenda-step-number\">3<\/div><div><h3>Escolha o hor\u00e1rio<\/h3><p>Os hor\u00e1rios aparecem conforme o servi\u00e7o e a data selecionados.<\/p><\/div><\/div><div class=\"rm-agenda-time-panel\"><p class=\"rm-agenda-timezone-display\" data-clinic-timezone=\"America\/Sao_Paulo\">Detectando seu fuso hor\u00e1rio...<\/p><div class=\"rm-agenda-slot-loader\" role=\"status\" aria-live=\"assertive\"><span class=\"rm-agenda-slot-spinner\" aria-hidden=\"true\"><\/span><div class=\"rm-agenda-slot-loader-copy\"><strong>Procurando hor\u00e1rios dispon\u00edveis...<\/strong><small>Estamos consultando somente o dia escolhido. N\u00e3o feche esta p\u00e1gina.<\/small><div class=\"rm-agenda-slot-progress\" aria-hidden=\"true\"><span><\/span><\/div><em class=\"rm-agenda-slot-elapsed\">Aguarde alguns segundos...<\/em><\/div><\/div><select class=\"rm-agenda-slot-select\"><option value=\"\">Escolha servi\u00e7o e data<\/option><\/select><div class=\"rm-agenda-slot-card-grid-460\" aria-live=\"polite\"><\/div><\/div><\/div><div class=\"rm-agenda-step-panel rm-agenda-patient-fields rm-is-hidden\" data-rm-step-panel=\"patient\"><div class=\"rm-agenda-step\"><div class=\"rm-agenda-step-number\">4<\/div><div><h3>Dados do paciente<\/h3><p>Agora sim, preencha os dados para concluir a solicita\u00e7\u00e3o.<\/p><\/div><\/div><div class=\"rm-agenda-grid rm-agenda-grid-2\"><label><span>Nome completo<\/span><input type=\"text\" name=\"patient_name\" required><\/label><label><span>WhatsApp<\/span><input type=\"tel\" name=\"patient_phone\" required><\/label><label><span>E-mail<\/span><input type=\"email\" name=\"patient_email\"><\/label><label><span>Data de nascimento<\/span><input type=\"date\" name=\"patient_birthdate\"><\/label><\/div><label><span>Observa\u00e7\u00f5es sobre o agendamento<\/span><textarea name=\"notes\" rows=\"3\"><\/textarea><\/label><button class=\"rm-agenda-button\" type=\"submit\">Solicitar agendamento<\/button><\/div><\/form><\/div><\/div><script id=\"rm-agenda-1216-front-js\">\n        (function(){\n            var form=document.getElementById(\"rmAgenda1216Form\"); if(!form) return;\n            var singleProfessional=form.getAttribute(\"data-single-professional\")===\"1\";\n            var ajaxUrl=\"https:\\\/\\\/robsonmasselli.com.br\\\/psi\\\/wp-admin\\\/admin-ajax.php\", nonce=\"113daaed99\", cacheVersion=6800;\n            var current=new Date(); current.setDate(1); current.setHours(0,0,0,0);\n            var selectedDate=\"\", slotLoadSeq=0, slotAbortController=null, monthProbeSeq=0, simMonthSeq=0, simMonthLotadoKey=\"\", simMonthLotadoMap={}, simMonthInFlightKey=\"\";\n            var profHidden=form.querySelector(\".rm-agenda-professional\"), dateHidden=form.querySelector(\".rm-agenda-date\"), slotHidden=form.querySelector(\".rm-agenda-slot-hidden\");\n            var service=form.querySelector(\".rm-agenda-service\"), mode=form.querySelector(\".rm-agenda-mode\"), slotSelect=form.querySelector(\".rm-agenda-slot-select\"), slotCards=form.querySelector(\".rm-agenda-slot-card-grid-460\"), patientFields=form.querySelector(\".rm-agenda-patient-fields\"), preview=form.querySelector(\".rm-agenda-service-preview\"), calendarStatus=form.querySelector(\".rm-agenda-calendar-status\"), slotLoader=form.querySelector(\".rm-agenda-slot-loader\"), timePanel=form.querySelector(\".rm-agenda-time-panel\"), loaderElapsed=form.querySelector(\".rm-agenda-slot-elapsed\");\n            var loaderTimer=null, loaderStarted=0;\n            var timezoneInput=form.querySelector(\".rm-agenda-patient-timezone\"), timezoneDisplay=form.querySelector(\".rm-agenda-timezone-display\");\n            var clinicTimezone=\"America\\\/Sao_Paulo\";\n            var patientTimezone=\"\";\n            try{ patientTimezone=Intl.DateTimeFormat().resolvedOptions().timeZone||\"\"; }catch(e){}\n            if(timezoneInput) timezoneInput.value=patientTimezone;\n            function money(v){ var n=parseFloat(v||0); if(isNaN(n)) n=0; return n.toLocaleString(\"pt-BR\",{style:\"currency\",currency:\"BRL\"}); }\n            function pad(n){ return String(n).padStart(2,\"0\"); }\n            function iso(d){ return d.getFullYear()+\"-\"+pad(d.getMonth()+1)+\"-\"+pad(d.getDate()); }\n            function title(d){ return d.toLocaleDateString(\"pt-BR\",{month:\"long\",year:\"numeric\"}); }\n            function zoneParts(date,timeZone){\n                var parts=new Intl.DateTimeFormat(\"en-CA\",{timeZone:timeZone,year:\"numeric\",month:\"2-digit\",day:\"2-digit\",hour:\"2-digit\",minute:\"2-digit\",hourCycle:\"h23\"}).formatToParts(date), out={};\n                parts.forEach(function(p){ if(p.type!==\"literal\") out[p.type]=p.value; });\n                return out;\n            }\n            function wallTimeToDate(dateStr,timeStr,timeZone){\n                if(!dateStr||!timeStr||!timeZone) return null;\n                var dp=dateStr.split(\"-\").map(Number), tp=timeStr.split(\":\").map(Number);\n                if(dp.length<3||tp.length<2) return null;\n                var wanted=Date.UTC(dp[0],dp[1]-1,dp[2],tp[0],tp[1],0), guess=wanted;\n                for(var i=0;i<3;i++){\n                    var p=zoneParts(new Date(guess),timeZone), actual=Date.UTC(Number(p.year),Number(p.month)-1,Number(p.day),Number(p.hour),Number(p.minute),0);\n                    guess+=wanted-actual;\n                }\n                return new Date(guess);\n            }\n            function formatPatientSlot(slot){\n                var clinicLabel=slot.label||slot.value||\"\";\n                if(!patientTimezone||!clinicTimezone||patientTimezone===clinicTimezone||!selectedDate||!slot.value) return clinicLabel;\n                try{\n                    var date=wallTimeToDate(selectedDate,slot.value,clinicTimezone);\n                    if(!date) return clinicLabel;\n                    var localTime=new Intl.DateTimeFormat(\"pt-BR\",{timeZone:patientTimezone,hour:\"2-digit\",minute:\"2-digit\",hourCycle:\"h23\"}).format(date);\n                    var localDate=new Intl.DateTimeFormat(\"pt-BR\",{timeZone:patientTimezone,day:\"2-digit\",month:\"2-digit\"}).format(date);\n                    var clinicDate=selectedDate.slice(8,10)+\"\/\"+selectedDate.slice(5,7);\n                    return localTime+(localDate!==clinicDate?\" em \"+localDate:\"\")+\" \u00b7 cl\u00ednica \"+clinicLabel;\n                }catch(e){ return clinicLabel; }\n            }\n            function updateTimezoneDisplay(){\n                if(!timezoneDisplay) return;\n                if(!patientTimezone){ timezoneDisplay.textContent=\"Hor\u00e1rios da cl\u00ednica: \"+clinicTimezone+\". N\u00e3o foi poss\u00edvel detectar o fuso do seu dispositivo.\"; return; }\n                if(patientTimezone===clinicTimezone){ timezoneDisplay.textContent=\"Hor\u00e1rios exibidos no seu fuso: \"+patientTimezone+\".\"; return; }\n                timezoneDisplay.textContent=\"Hor\u00e1rios exibidos primeiro no seu fuso (\"+patientTimezone+\") e, ao lado, no fuso da cl\u00ednica (\"+clinicTimezone+\").\";\n            }\n            function selectedProfessionalCard(){ return form.querySelector(\".rm-agenda-prof-card.is-selected\"); }\n            function allowedServicesForSelectedProfessional(){\n                var card=selectedProfessionalCard();\n                if(!card) return null;\n                var raw=card.getAttribute(\"data-services\")||\"\";\n                return raw ? raw.split(\",\").filter(Boolean) : [];\n            }\n            function syncServiceCardVisibility(){\n                var allowed=allowedServicesForSelectedProfessional();\n                form.querySelectorAll(\".rm-agenda-service-card-1223\").forEach(function(card){\n                    var value=card.getAttribute(\"data-value\")||\"\";\n                    var visible=allowed===null || allowed.indexOf(value)!==-1;\n                    card.style.display=visible?\"\":\"none\";\n                    card.disabled=!visible;\n                    card.classList.toggle(\"is-disabled\", !visible);\n                    card.setAttribute(\"aria-disabled\", visible ? \"false\" : \"true\");\n                    if(card.getAttribute(\"role\") === \"radio\") card.setAttribute(\"tabindex\", visible ? \"0\" : \"-1\");\n                });\n            }\n            function filterServicesForProfessional(){\n                var allowed=allowedServicesForSelectedProfessional();\n                Array.prototype.slice.call(service.options||[]).forEach(function(opt){\n                    if(!opt.value) return;\n                    var visible=allowed===null || allowed.indexOf(opt.value)!==-1;\n                    opt.disabled=!visible;\n                    opt.hidden=!visible;\n                });\n                if(service.value && allowed!==null && allowed.indexOf(service.value)===-1){\n                    service.value=\"\";\n                    service.dispatchEvent(new Event(\"change\",{bubbles:true}));\n                }\n                window.setTimeout(syncServiceCardVisibility,0);\n                window.setTimeout(syncServiceCardVisibility,150);\n            }\n            function selectedServiceOption(){ return service.options[service.selectedIndex] || null; }\n            function effectiveMaxDays(){\n                var opt=selectedServiceOption();\n                if(!opt || !opt.value) return 0;\n                var globalMax=parseInt(opt.getAttribute(\"data-global-max-advance-days\")||\"90\",10), serviceMax=parseInt(opt.getAttribute(\"data-max-advance-days\")||\"0\",10);\n                if(!globalMax || globalMax<1) globalMax=90;\n                return serviceMax>0 ? Math.min(globalMax,serviceMax) : globalMax;\n            }\n            function maxDate(){ var d=new Date(); d.setHours(0,0,0,0); d.setDate(d.getDate()+effectiveMaxDays()); return d; }\n            function setCalendarStatus(message,state){ if(!calendarStatus) return; calendarStatus.textContent=message; calendarStatus.classList.remove(\"is-loading\",\"is-ready\"); if(state) calendarStatus.classList.add(state); }\n            function clearSelectedDate(){ selectedDate=\"\"; dateHidden.value=\"\"; resetSlot(\"Escolha uma data dispon\u00edvel\"); }\n            function renderCal(){\n                var titleEl=form.querySelector(\".rm-cal-title\"), days=form.querySelector(\".rm-agenda-front-days\"); titleEl.textContent=title(current); days.innerHTML=\"\";\n                var first=new Date(current.getFullYear(),current.getMonth(),1), last=new Date(current.getFullYear(),current.getMonth()+1,0), today=new Date(); today.setHours(0,0,0,0);\n                var limit=service.value ? maxDate() : null;\n                for(var i=0;i<first.getDay();i++){ var e=document.createElement(\"span\"); e.className=\"rm-cal-empty\"; days.appendChild(e); }\n                for(var d=1; d<=last.getDate(); d++){\n                    var day=new Date(current.getFullYear(),current.getMonth(),d), b=document.createElement(\"button\"); b.type=\"button\"; b.className=\"rm-cal-day\"; b.textContent=d; var val=iso(day); b.dataset.date=val;\n                    if(day < today){ b.classList.add(\"is-disabled\"); b.title=\"Data passada\"; }\n                    if(limit && day > limit){ b.classList.add(\"is-disabled\"); b.title=\"Fora do limite futuro deste servi\u00e7o\"; }\n                    if(monthKey()===simMonthLotadoKey && simMonthLotadoMap[val]){\n                        setDayLotadoLabel(b,val,true);\n                        b.classList.add(\"is-lotado\");\n                        b.title=\"Ver hor\u00e1rios indispon\u00edveis\";\n                    }\n                    if(val===selectedDate) b.classList.add(\"is-selected\");\n                    days.appendChild(b);\n                }\n                if(!profHidden.value || !service.value){ setCalendarStatus(singleProfessional ? \"Escolha o servi\u00e7o e clique em uma data para consultar os hor\u00e1rios.\" : \"Escolha profissional e servi\u00e7o e clique em uma data para consultar os hor\u00e1rios.\",\"\"); }\n                else if(selectedDate){ setCalendarStatus(\"Data selecionada. Consultando apenas os hor\u00e1rios deste dia.\",\"is-ready\"); }\n                else { setCalendarStatus(\"Clique em uma data para consultar os hor\u00e1rios dispon\u00edveis.\",\"\"); }\n                refreshSimulationMonthLabels();\n            }\n            function syncModeCards(){\n                var opt=selectedServiceOption(), m=opt ? (opt.getAttribute(\"data-mode\")||\"both\") : \"both\";\n                var modeField=form.querySelector(\".rm-agenda-mode-field\");\n                var isMixedPackage=!!(opt && opt.getAttribute(\"data-rm-mixed-package\")===\"1\");\n                var allowed=[\"online\",\"presencial\"];\n                if(m===\"online\") allowed=[\"online\"];\n                if(m===\"presencial\") allowed=[\"presencial\"];\n\n                if(modeField) modeField.classList.toggle(\"is-mixed-package\", isMixedPackage);\n\n                \/\/ V1.2.442: pacote de 4 sess\u00f5es de Psican\u00e1lise \u00e9 misto autom\u00e1tico.\n                \/\/ N\u00e3o pergunta Online\/Presencial para o paciente; libera datas e hor\u00e1rios direto.\n                if(isMixedPackage){\n                    mode.value=\"both\";\n                    mode.setAttribute(\"data-rm-auto-mode\",\"1\");\n                }else if(allowed.length===1){\n                    mode.value=allowed[0];\n                    mode.setAttribute(\"data-rm-auto-mode\",\"1\");\n                }else{\n                    mode.removeAttribute(\"data-rm-auto-mode\");\n                    if(allowed.indexOf(mode.value)===-1) mode.value=\"\";\n                }\n\n                form.querySelectorAll(\".rm-agenda-mode-card\").forEach(function(card){\n                    var value=card.dataset.mode||\"\";\n                    card.disabled=isMixedPackage || allowed.indexOf(value)===-1;\n                    card.classList.toggle(\"is-selected\", !isMixedPackage && value!==\"\" && value===mode.value);\n                    card.setAttribute(\"aria-pressed\", !isMixedPackage && value!==\"\" && value===mode.value ? \"true\" : \"false\");\n                });\n            }\n            function updatePreview(){\n                var opt=selectedServiceOption();\n                if(!opt || !opt.value){ preview.style.display=\"none\"; preview.innerHTML=\"\"; syncModeCards(); return; }\n                function esc(v){ var d=document.createElement(\"div\"); d.textContent=String(v||\"\"); return d.innerHTML; }\n                var price=opt.getAttribute(\"data-price\")||0, dur=opt.getAttribute(\"data-duration\")||\"\", durationLabel=opt.getAttribute(\"data-duration-label\")||(dur ? dur+\" min\" : \"Dura\u00e7\u00e3o\"), description=opt.getAttribute(\"data-description\")||\"\", m=opt.getAttribute(\"data-mode\")||\"both\", max=effectiveMaxDays(), isMixedPackage=opt.getAttribute(\"data-rm-mixed-package\")===\"1\";\n                preview.style.display=\"block\";\n                var modeLabel=isMixedPackage ? \"Misto: online ou presencial\" : (m===\"online\"?\"Somente online\":(m===\"presencial\"?\"Somente presencial\":\"Online ou presencial\"));\n                preview.innerHTML=\"<strong>\"+money(price)+\"<\/strong><span>\"+esc(durationLabel)+\" \u00b7 \"+modeLabel+\" \u00b7 Agendamento at\u00e9 \"+max+\" dias futuros<\/span>\"+(description?\"<p class=\\\"rm-agenda-service-preview-desc\\\">\"+esc(description)+\"<\/p>\":\"\");\n                syncModeCards();\n            }\n            function resetSlot(msg){ slotSelect.innerHTML=\"<option value=\\\"\\\">\"+(msg||\"Escolha profissional, data e servi\u00e7o\")+\"<\/option>\"; slotHidden.value=\"\"; patientFields.classList.add(\"rm-is-hidden\"); cleanupLegacySlotWidgets460(); updateStepVisibility(false); }\n            function panel(name){ return form.querySelector(\"[data-rm-step-panel=\\\"\"+name+\"\\\"]\"); }\n            function showPanel(name,show){ var el=panel(name); if(el) el.classList.toggle(\"rm-is-hidden\", !show); }\n            function stepReadyService(){ return !!(profHidden.value && service.value && mode.value); }\n            function updateStepVisibility(scrollToNext){\n                var hasProf=!!profHidden.value;\n                var hasService=stepReadyService();\n                var hasDate=hasService && !!selectedDate;\n                var hasSlot=hasDate && !!slotHidden.value;\n                var active=\"service\";\n                if(hasService) active=\"date\";\n                if(hasDate) active=\"time\";\n                if(hasSlot) active=\"patient\";\n\n                \/\/ V1.2.263: fluxo realmente em etapas. A etapa anterior some, em vez de ficar na tela e apenas rolar para baixo.\n                showPanel(\"service\", (hasProf || singleProfessional) && active===\"service\");\n                showPanel(\"date\", active===\"date\");\n                showPanel(\"time\", active===\"time\");\n                showPanel(\"patient\", active===\"patient\");\n\n                if(scrollToNext){\n                    var target=panel(active);\n                    if(target && !target.classList.contains(\"rm-is-hidden\") && target.scrollIntoView){\n                        try{ target.scrollIntoView({behavior:\"smooth\",block:\"start\"}); }catch(e){ target.scrollIntoView(); }\n                    }\n                }\n            }\n            function showUnavailableModal(title,msg){\n                var old=document.querySelector(\".rm-agenda-unavailable-modal-255,.rm-agenda-unavailable-modal-312\");\n                if(old) old.remove();\n                var wrap=document.createElement(\"div\");\n                wrap.className=\"rm-agenda-unavailable-modal-312\";\n                wrap.setAttribute(\"role\",\"dialog\");\n                wrap.setAttribute(\"aria-modal\",\"true\");\n                wrap.setAttribute(\"aria-labelledby\",\"rm-agenda-unavailable-title-312\");\n                wrap.style.cssText=\"position:fixed!important;inset:0!important;z-index:2147483000!important;background:rgba(15,23,42,.52)!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:18px!important;box-sizing:border-box!important;\";\n                function esc(v){var d=document.createElement(\"div\");d.textContent=String(v||\"\");return d.innerHTML;}\n                wrap.innerHTML=\"<div class=\\\"rm-agenda-unavailable-modal-card-312\\\" style=\\\"width:min(430px,94vw)!important;background:#fff!important;border-radius:20px!important;border:1px solid #dbeafe!important;box-shadow:0 28px 80px rgba(15,23,42,.28)!important;padding:24px!important;text-align:center!important;box-sizing:border-box!important;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif!important;color:#07111f!important;\\\"><strong id=\\\"rm-agenda-unavailable-title-312\\\" style=\\\"display:block!important;font-size:22px!important;color:#07111f!important;margin:0 0 8px!important;line-height:1.2!important;text-align:center!important;\\\">\"+esc(title||\"Hor\u00e1rio indispon\u00edvel\")+\"<\/strong><p style=\\\"display:block!important;margin:0 0 16px!important;color:#334155!important;font-size:14px!important;line-height:1.55!important;font-weight:750!important;text-align:center!important;\\\">\"+esc(msg||\"Escolha outro dia dispon\u00edvel para continuar.\")+\"<\/p><button type=\\\"button\\\" style=\\\"display:inline-flex!important;align-items:center!important;justify-content:center!important;border:0!important;background:#0059b3!important;color:#fff!important;border-radius:12px!important;padding:11px 18px!important;font-weight:900!important;cursor:pointer!important;text-align:center!important;line-height:1.15!important;\\\">Escolher outro hor\u00e1rio<\/button><\/div>\";\n                wrap.addEventListener(\"click\",function(e){ if(e.target===wrap || e.target.tagName===\"BUTTON\") wrap.remove(); });\n                document.body.appendChild(wrap);\n            }\n\n            function showSlotLoader(show){\n                if(slotLoader) slotLoader.classList.toggle(\"is-visible\",!!show);\n                if(timePanel) timePanel.classList.toggle(\"is-loading\",!!show);\n                slotSelect.disabled=!!show;\n                if(loaderTimer){ window.clearInterval(loaderTimer); loaderTimer=null; }\n                if(show){\n                    loaderStarted=Date.now();\n                    if(loaderElapsed) loaderElapsed.textContent=\"Aguarde alguns segundos...\";\n                    loaderTimer=window.setInterval(function(){\n                        var sec=Math.max(1,Math.floor((Date.now()-loaderStarted)\/1000));\n                        if(!loaderElapsed) return;\n                        if(sec<4) loaderElapsed.textContent=\"Consultando a agenda... \"+sec+\"s\";\n                        else if(sec<8) loaderElapsed.textContent=\"Ainda estamos procurando os melhores hor\u00e1rios... \"+sec+\"s\";\n                        else loaderElapsed.textContent=\"A consulta continua ativa. Por favor, permane\u00e7a nesta p\u00e1gina... \"+sec+\"s\";\n                    },1000);\n                }\n            }\n            function slotRequest(date, timeoutMs){\n                \/\/ V1.2.262: consulta somente a data escolhida; sem sondagem autom\u00e1tica do m\u00eas inteiro.\n                var fd=new FormData(); fd.append(\"action\",\"rm_agenda_1216_fast_slots\"); fd.append(\"nonce\",nonce); fd.append(\"professional_id\",profHidden.value); fd.append(\"service_id\",service.value); fd.append(\"date\",date);\n                var controller=(typeof AbortController!==\"undefined\") ? new AbortController() : null;\n                var timer=controller ? window.setTimeout(function(){ controller.abort(); }, timeoutMs || 18000) : null;\n                return fetch(ajaxUrl,{method:\"POST\",credentials:\"same-origin\",body:fd,signal:controller ? controller.signal : undefined})\n                    .then(function(r){ if(!r.ok) throw new Error(\"HTTP \"+r.status); return r.json(); })\n                    .finally(function(){ if(timer) window.clearTimeout(timer); });\n            }\n            function dayButton(date){ return form.querySelector(\".rm-agenda-front-days .rm-cal-day[data-date=\\\"\"+date+\"\\\"]\"); }\n            function dayNumberFromDate(date){ var n=parseInt(String(date||\"\").slice(8,10),10); return isNaN(n) ? \"\" : String(n); }\n            function setDayLotadoLabel(b,date,lotado){\n                if(!b) return;\n                if(lotado){ b.innerHTML=\"<span class=\\\"rm-cal-day-num\\\">\"+dayNumberFromDate(date)+\"<\/span><small class=\\\"rm-cal-day-lotado\\\">INDISP.<\/small>\"; }\n                else { b.textContent=dayNumberFromDate(date); }\n            }\n            function markDayAvailability(date, has, simulatedFull, hasAnySlots){\n                var b=dayButton(date); if(!b) return;\n                b.classList.remove(\"is-checking\",\"is-available\",\"is-no-slots\",\"is-lotado\");\n\n                \/\/ V1.2.461: se o dia tem grade de hor\u00e1rios, mas todos est\u00e3o bloqueados\n                \/\/ por simula\u00e7\u00e3o, agendamento, bloqueio ou conflito, ele N\u00c3O pode parecer dispon\u00edvel.\n                \/\/ Mant\u00e9m clic\u00e1vel para o paciente conferir os hor\u00e1rios indispon\u00edveis abaixo.\n                if(!has && (simulatedFull || hasAnySlots)){\n                    setDayLotadoLabel(b,date,true);\n                    b.classList.remove(\"is-disabled\");\n                    b.classList.add(\"is-lotado\");\n                    b.title=\"Dia indispon\u00edvel. Clique para ver os hor\u00e1rios indispon\u00edveis.\";\n                    return;\n                }\n\n                if(has){\n                    setDayLotadoLabel(b,date,false);\n                    b.classList.remove(\"is-disabled\");\n                    b.classList.add(\"is-available\");\n                    b.title=\"Hor\u00e1rios dispon\u00edveis\";\n                }\n                else {\n                    setDayLotadoLabel(b,date,false);\n                    b.classList.add(\"is-disabled\",\"is-no-slots\");\n                    b.title=\"Sem hor\u00e1rios cadastrados\";\n                }\n            }\n            function monthKey(){ return current.getFullYear()+\"-\"+pad(current.getMonth()+1); }\n            function applyLotadoMonthMap(key,map){\n                if(key!==monthKey()) return;\n                Object.keys(map||{}).forEach(function(date){\n                    if(map[date]) markDayAvailability(date,false,true,true);\n                });\n            }\n            function refreshSimulationMonthLabels(){\n                if(!profHidden.value || !service.value) return;\n                var key=monthKey();\n\n                \/\/ Se j\u00e1 existe resultado deste m\u00eas, reaplica imediatamente.\n                \/\/ Isso evita que a palavra LOTADO suma quando o calend\u00e1rio \u00e9 redesenhado.\n                if(simMonthLotadoKey===key){\n                    applyLotadoMonthMap(key,simMonthLotadoMap);\n                    return;\n                }\n                if(simMonthInFlightKey===key){\n                    return;\n                }\n\n                simMonthInFlightKey=key;\n                var seq=++simMonthSeq;\n                var fd=new FormData();\n                fd.append(\"action\",\"rm_agenda_1216_simulation_month\");\n                fd.append(\"nonce\",nonce);\n                fd.append(\"professional_id\",profHidden.value);\n                fd.append(\"service_id\",service.value);\n                fd.append(\"month\",key);\n\n                fetch(ajaxUrl,{method:\"POST\",credentials:\"same-origin\",body:fd})\n                    .then(function(r){ if(!r.ok) throw new Error(\"HTTP \"+r.status); return r.json(); })\n                    .then(function(j){\n                        if(seq!==simMonthSeq || key!==monthKey()) return;\n                        var dates=(j && j.success && j.data && Array.isArray(j.data.lotado_dates)) ? j.data.lotado_dates : [];\n                        var map={};\n                        dates.forEach(function(date){ map[date]=true; });\n                        simMonthInFlightKey=\"\";\n                        simMonthLotadoKey=key;\n                        simMonthLotadoMap=map;\n                        applyLotadoMonthMap(key,map);\n                    })\n                    .catch(function(){ if(simMonthInFlightKey===key) simMonthInFlightKey=\"\"; });\n            }\n            function visibleMonthDates(){\n                var out=[], daysWrap=form.querySelector(\".rm-agenda-front-days\");\n                if(!daysWrap) return out;\n                daysWrap.querySelectorAll(\".rm-cal-day\").forEach(function(btn){\n                    if(!btn.classList.contains(\"is-disabled\") || btn.classList.contains(\"is-selected\")){\n                        out.push(btn.dataset.date||\"\");\n                    }\n                });\n                return out.filter(Boolean);\n            }\n            function refreshVisibleMonthAvailability(){\n                if(!profHidden.value || !service.value) return Promise.resolve(false);\n                var seq=++monthProbeSeq;\n                var dates=visibleMonthDates();\n                if(!dates.length) return Promise.resolve(false);\n                setCalendarStatus(\"Atualizando somente os dias que realmente t\u00eam hor\u00e1rios dispon\u00edveis...\",\"is-loading\");\n                dates.forEach(function(date){\n                    var b=dayButton(date);\n                    if(b) b.classList.add(\"is-checking\");\n                });\n                return Promise.allSettled(dates.map(function(date){\n                    var cached=getBrowserCachedSlots(date);\n                    if(cached!==null){\n                        markDayAvailability(date, !!(cached && cached.length), false, !!(cached && cached.length));\n                        var b=dayButton(date); if(b) b.classList.remove(\"is-checking\");\n                        return Promise.resolve({date:date, slots:cached, cached:true});\n                    }\n                    return slotRequest(date, 12000).then(function(j){\n                        var slots=(j && j.success && j.data && Array.isArray(j.data.slots)) ? j.data.slots : [];\n                        var allSlots=(j && j.success && j.data && Array.isArray(j.data.all_slots)) ? j.data.all_slots : slots;\n                        var simulatedFull=!!(j && j.success && j.data && j.data.simulated_full);\n                        setBrowserCachedSlots(date, slots);\n                        markDayAvailability(date, !!slots.length, simulatedFull, !!allSlots.length);\n                        return {date:date, slots:slots, all_slots:allSlots, simulated_full:simulatedFull, cached:false};\n                    }).catch(function(){\n                        return {date:date, slots:null, failed:true};\n                    }).finally(function(){\n                        var b=dayButton(date); if(b) b.classList.remove(\"is-checking\");\n                    });\n                })).then(function(results){\n                    if(seq!==monthProbeSeq) return false;\n                    var availableCount=0;\n                    results.forEach(function(item){\n                        var r=item && item.value ? item.value : null;\n                        if(r && Array.isArray(r.slots) && r.slots.length) availableCount++;\n                    });\n                    var selectedButton=selectedDate ? dayButton(selectedDate) : null;\n                    if(selectedButton && selectedButton.classList.contains(\"is-disabled\")){\n                        clearSelectedDate();\n                    }\n                    setCalendarStatus(availableCount ? (availableCount+\" dia(s) com hor\u00e1rios cadastrados neste m\u00eas.\") : \"Consulte outro m\u00eas ou revise os hor\u00e1rios do profissional.\",\"is-ready\");\n                    if(!availableCount){ showUnavailableModal(\"Nenhum dia dispon\u00edvel\",\"N\u00e3o encontramos dias com hor\u00e1rio neste m\u00eas para o servi\u00e7o selecionado. Confira o pr\u00f3ximo m\u00eas ou revise a grade do profissional.\"); }\n                    return true;\n                });\n            }\n            function browserCacheKey(date){ return \"rmAgendaSlots452|\"+cacheVersion+\"|\"+profHidden.value+\"|\"+service.value+\"|\"+date; }\n            function getBrowserCachedSlots(date){\n                \/\/ V1.2.452: n\u00e3o usa cache do navegador para hor\u00e1rios.\n                \/\/ Assim, ao marcar\/limpar SIMULA\u00c7\u00c3O em outra aba, o front consulta o servidor novamente\n                \/\/ e respeita imediatamente o cache versionado do WordPress.\n                return null;\n            }\n            function setBrowserCachedSlots(date,slots){ return; }\n            function escHtml460(v){ var d=document.createElement(\"div\"); d.textContent=String(v||\"\"); return d.innerHTML; }\n            var lastDisplaySlots460=[];\n            function cleanupLegacySlotWidgets460(){ try{ form.querySelectorAll(\".rm-agenda-slot-picker-109,.rm-agenda-slot-card-grid-545\").forEach(function(el){el.remove();}); }catch(e){} }\n            function slotAvailable460(s){ return !!(s && !(s.available===false || s.available===0 || s.available===\"0\" || s.status===\"unavailable\")); }\n            function renderSlotCards460(displaySlots){\n                if(!slotCards) return;\n                cleanupLegacySlotWidgets460();\n                if(!displaySlots || !displaySlots.length){ slotCards.innerHTML=\"\"; cleanupLegacySlotWidgets460(); return; }\n                var html=\"\";\n                displaySlots.forEach(function(s){\n                    var available=slotAvailable460(s), value=s.value||\"\", label=formatPatientSlot(s), clinic=(s.label||value||\"\").substring(0,5), status=s.status_label||\"Indispon\u00edvel\";\n                    var active=available && normalizeTime460(slotHidden.value)===normalizeTime460(value);\n                    html+=\"<button type=\\\"button\\\" class=\\\"rm-agenda-slot-card-460\"+(available?\"\":\" is-unavailable\")+(active?\" is-active\":\"\")+\"\\\" data-value=\\\"\"+escHtml460(value)+\"\\\" data-label=\\\"\"+escHtml460(label)+\"\\\" data-status-label=\\\"\"+escHtml460(status)+\"\\\"\"+(available?\"\":\" aria-disabled=\\\"true\\\" tabindex=\\\"-1\\\"\")+\"><strong>\"+escHtml460(clinic)+\"<\/strong><small>\"+(available?\"Dispon\u00edvel\":escHtml460(status))+\"<\/small><\/button>\";\n                });\n                slotCards.innerHTML=html;\n                cleanupLegacySlotWidgets460();\n            }\n            function normalizeTime460(v){ v=String(v||\"\"); return v.length===5 ? v+\":00\" : v; }\n            function renderSlots(slots,requestDate,fromCache,simulatedFull,allSlots){\n                slotSelect.innerHTML=\"\";\n                var displaySlots=(Array.isArray(allSlots) && allSlots.length) ? allSlots : (Array.isArray(slots) ? slots : []);\n                lastDisplaySlots460=displaySlots && displaySlots.slice ? displaySlots.slice() : displaySlots;\n                var availableSlots=displaySlots.filter(slotAvailable460);\n                var hasAvailable=!!availableSlots.length;\n                markDayAvailability(requestDate,hasAvailable,!!simulatedFull,!!displaySlots.length);\n                if(!displaySlots.length){\n                    resetSlot(\"Escolha outra data dispon\u00edvel\");\n                    selectedDate=\"\";\n                    dateHidden.value=\"\";\n                    var noSlotButton=dayButton(requestDate);\n                    if(noSlotButton){\n                        noSlotButton.classList.remove(\"is-selected\",\"is-checking\");\n                        noSlotButton.classList.add(\"is-disabled\",\"is-no-slots\");\n                        noSlotButton.title=\"Sem hor\u00e1rios dispon\u00edveis\";\n                    }\n                    setCalendarStatus(simulatedFull ? \"Este dia est\u00e1 indispon\u00edvel. Escolha outro dia dispon\u00edvel.\" : \"N\u00e3o h\u00e1 hor\u00e1rios cadastrados nesta data. Escolha outro dia.\",\"\");\n                    updateStepVisibility(true);\n                    showUnavailableModal(simulatedFull ? \"Indispon\u00edvel\" : \"Sem hor\u00e1rios nesta data\", simulatedFull ? \"Este dia est\u00e1 indispon\u00edvel. Escolha outra data dispon\u00edvel para continuar.\" : \"Esta data n\u00e3o possui hor\u00e1rios cadastrados para o servi\u00e7o escolhido. Escolha outra data para continuar.\");\n                    return false;\n                }\n                var first=document.createElement(\"option\"); first.value=\"\"; first.textContent=hasAvailable ? \"Selecione o hor\u00e1rio\" : \"Todos os hor\u00e1rios est\u00e3o indispon\u00edveis\"; slotSelect.appendChild(first);\n                availableSlots.forEach(function(s){ var o=document.createElement(\"option\"); o.value=s.value; o.textContent=formatPatientSlot(s); o.dataset.clinicLabel=s.label||s.value||\"\"; slotSelect.appendChild(o); });\n                renderSlotCards460(displaySlots);\n                if(!hasAvailable){\n                    slotHidden.value=\"\";\n                    patientFields.classList.add(\"rm-is-hidden\");\n                    setCalendarStatus(\"Todos os hor\u00e1rios deste dia est\u00e3o indispon\u00edveis. Os hor\u00e1rios aparecem abaixo apenas para confer\u00eancia.\",\"is-ready\");\n                    updateStepVisibility(true);\n                    return true;\n                }\n                setCalendarStatus(displaySlots.length+\" hor\u00e1rio(s) exibido(s): \"+availableSlots.length+\" dispon\u00edvel(is) e \"+(displaySlots.length-availableSlots.length)+\" indispon\u00edvel(is)\"+(fromCache?\" \u00b7 carregamento r\u00e1pido\":\"\")+\".\",\"is-ready\");\n                updateStepVisibility(true);\n                return true;\n            }\n            function requestStandardSlots583(requestDate){\n                var fd=new FormData();\n                fd.append(\"action\",\"rm_agenda_122_get_slots\");\n                fd.append(\"nonce\",nonce);\n                fd.append(\"professional_id\",profHidden.value);\n                fd.append(\"service_id\",service.value);\n                fd.append(\"date\",requestDate);\n                return fetch(ajaxUrl,{method:\"POST\",credentials:\"same-origin\",body:fd})\n                    .then(function(r){ if(!r.ok) throw new Error(\"HTTP \"+r.status); return r.json(); })\n                    .then(function(j){\n                        if(!j || !j.success) throw new Error((j && j.data && j.data.message) ? j.data.message : \"Falha na consulta alternativa\");\n                        return (j.data && Array.isArray(j.data.slots)) ? j.data.slots : [];\n                    });\n            }\n            function loadSlots(){\n                updatePreview();\n                if(!profHidden.value || !selectedDate || !service.value){\n                    if(slotAbortController){ try{ slotAbortController.abort(); }catch(e){} slotAbortController=null; }\n                    resetSlot(\"Escolha profissional, data e servi\u00e7o\");\n                    showSlotLoader(false);\n                    return;\n                }\n                var requestDate=selectedDate, seq=++slotLoadSeq;\n                var cachedSlots=getBrowserCachedSlots(requestDate);\n                if(cachedSlots!==null){\n                    renderSlots(cachedSlots,requestDate,true,false,cachedSlots);\n                    showSlotLoader(false);\n                    return;\n                }\n                if(slotAbortController){ try{ slotAbortController.abort(); }catch(e){} }\n                slotAbortController=(typeof AbortController!==\"undefined\") ? new AbortController() : null;\n                var selectedButton=dayButton(requestDate);\n                if(selectedButton) selectedButton.classList.add(\"is-checking\");\n                setCalendarStatus(\"Carregando somente os hor\u00e1rios de \"+requestDate.split(\"-\").reverse().join(\"\/\")+\"...\",\"is-loading\");\n                resetSlot(\"Carregando hor\u00e1rios do dia selecionado...\");\n                showSlotLoader(true);\n                var fd=new FormData(); fd.append(\"action\",\"rm_agenda_1216_fast_slots\"); fd.append(\"nonce\",nonce); fd.append(\"professional_id\",profHidden.value); fd.append(\"service_id\",service.value); fd.append(\"date\",requestDate);\n                fetch(ajaxUrl,{method:\"POST\",credentials:\"same-origin\",body:fd,signal:slotAbortController ? slotAbortController.signal : undefined})\n                    .then(function(r){ if(!r.ok) throw new Error(\"HTTP \"+r.status); return r.json(); })\n                    .then(function(j){\n                        if(seq!==slotLoadSeq || requestDate!==selectedDate) return null;\n                        if(!j || !j.success){\n                            throw new Error((j && j.data && j.data.message) ? j.data.message : \"Falha na consulta r\u00e1pida\");\n                        }\n                        var slots=(j.data && Array.isArray(j.data.slots)) ? j.data.slots : [];\n                        var allSlots=(j.data && Array.isArray(j.data.all_slots)) ? j.data.all_slots : slots;\n                        var simulatedFull=!!(j.data && j.data.simulated_full);\n                        if(slots.length || allSlots.length || simulatedFull){\n                            return {slots:slots,allSlots:allSlots,simulatedFull:simulatedFull,cacheHit:!!(j.data && j.data.cache_hit)};\n                        }\n                        \/\/ V1.2.583: se a consulta r\u00e1pida vier vazia, confirma uma vez no\n                        \/\/ endpoint completo antes de concluir que o dia realmente n\u00e3o tem horas.\n                        return requestStandardSlots583(requestDate).then(function(fallbackSlots){\n                            return {slots:fallbackSlots,allSlots:fallbackSlots,simulatedFull:false,cacheHit:false};\n                        });\n                    })\n                    .then(function(result){\n                        if(!result || seq!==slotLoadSeq || requestDate!==selectedDate) return;\n                        setBrowserCachedSlots(requestDate,result.slots);\n                        renderSlots(result.slots,requestDate,result.cacheHit,result.simulatedFull,result.allSlots);\n                    })\n                    .catch(function(err){\n                        if(err && err.name===\"AbortError\") return;\n                        if(seq!==slotLoadSeq || requestDate!==selectedDate) return;\n                        resetSlot(\"N\u00e3o foi poss\u00edvel carregar os hor\u00e1rios agora. Tente clicar novamente na data.\");\n                        var b=dayButton(requestDate); if(b){ b.classList.remove(\"is-checking\",\"is-disabled\",\"is-no-slots\"); b.title=\"Clique para tentar carregar novamente\"; }\n                        setCalendarStatus(\"Falha ao consultar esta data. Clique nela novamente para tentar.\",\"\");\n                    })\n                    .finally(function(){\n                        if(seq!==slotLoadSeq) return;\n                        showSlotLoader(false);\n                        var b=dayButton(requestDate); if(b) b.classList.remove(\"is-checking\");\n                    });\n            }\n            form.querySelectorAll(\".rm-agenda-prof-card\").forEach(function(card){ card.addEventListener(\"click\",function(){ form.querySelectorAll(\".rm-agenda-prof-card\").forEach(function(c){c.classList.remove(\"is-selected\")}); card.classList.add(\"is-selected\"); profHidden.value=card.dataset.professionalId||\"\"; filterServicesForProfessional(); clearSelectedDate(); renderCal(); updateStepVisibility(true); }); });\n            form.querySelector(\".rm-cal-prev\").addEventListener(\"click\",function(){ current.setMonth(current.getMonth()-1); clearSelectedDate(); renderCal(); updateStepVisibility(false); });\n            form.querySelector(\".rm-cal-next\").addEventListener(\"click\",function(){ current.setMonth(current.getMonth()+1); clearSelectedDate(); renderCal(); updateStepVisibility(false); });\n            form.querySelector(\".rm-agenda-front-days\").addEventListener(\"click\",function(e){ var b=e.target.closest(\".rm-cal-day\"); if(!b || b.classList.contains(\"is-disabled\") || b.classList.contains(\"is-checking\")) return; selectedDate=b.dataset.date; dateHidden.value=selectedDate; renderCal(); updateStepVisibility(true); loadSlots(); });\n            service.addEventListener(\"change\",function(){ mode.value=\"\"; syncModeCards(); updatePreview(); clearSelectedDate(); renderCal(); updateStepVisibility(true); });\n            form.querySelectorAll(\".rm-agenda-mode-card\").forEach(function(card){ card.addEventListener(\"click\",function(){ if(card.disabled) return; mode.value=card.dataset.mode || \"\"; syncModeCards(); clearSelectedDate(); renderCal(); updateStepVisibility(true); }); });\n            if(slotCards){ slotCards.addEventListener(\"click\",function(e){ var btn=e.target.closest(\".rm-agenda-slot-card-460\"); if(!btn || btn.classList.contains(\"is-unavailable\")) return; slotHidden.value=btn.getAttribute(\"data-value\")||\"\"; slotSelect.value=slotHidden.value; slotCards.querySelectorAll(\".rm-agenda-slot-card-460\").forEach(function(b){b.classList.remove(\"is-active\")}); btn.classList.add(\"is-active\"); updateStepVisibility(true); }); }\n            slotSelect.addEventListener(\"change\",function(){ slotHidden.value=slotSelect.value||\"\"; var sourceSlots=(lastDisplaySlots460 && lastDisplaySlots460.length) ? lastDisplaySlots460 : Array.prototype.slice.call(slotSelect.options||[]).filter(function(o){return o.value;}).map(function(o){return {value:o.value,label:o.dataset.clinicLabel||o.textContent,available:1,status_label:\"Dispon\u00edvel\"};}); renderSlotCards460(sourceSlots); updateStepVisibility(true); cleanupLegacySlotWidgets460(); });\n            try{\n                var serviceCardObserver=new MutationObserver(function(){ syncServiceCardVisibility(); });\n                serviceCardObserver.observe(form,{childList:true,subtree:true});\n            }catch(e){}\n            mode.value=\"\"; syncModeCards(); updateTimezoneDisplay(); filterServicesForProfessional(); renderCal(); updatePreview(); updateStepVisibility(false);\n        })();\n        <\/script><\/div><div class=\"rm-agenda-patient-gateway-modal-v12635\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"rm-patient-gateway-k5J2Qp8V-title\"><div class=\"rm-agenda-patient-gateway-backdrop-v12635\" aria-hidden=\"true\"><\/div><div class=\"rm-agenda-patient-gateway-card-v12634\"><div class=\"rm-agenda-patient-gateway-question-v12635\"><span class=\"rm-agenda-kicker\">Antes de continuar<\/span><h2 id=\"rm-patient-gateway-k5J2Qp8V-title\">Voc\u00ea j\u00e1 \u00e9 paciente?<\/h2><p>Entre com seu e-mail e senha para acessar consultas, reagendamentos e sess\u00f5es restantes do pacote. Caso ainda n\u00e3o seja paciente, continue normalmente no formul\u00e1rio de agendamento que j\u00e1 est\u00e1 aberto.<\/p><div class=\"rm-agenda-patient-gateway-actions-v12634\"><button type=\"button\" class=\"rm-agenda-button\" data-rm-gateway-login=\"1\">SIM, J\u00c1 SOU PACIENTE<\/button><button type=\"button\" class=\"rm-agenda-button rm-agenda-button-light\" data-rm-gateway-new=\"1\">AINDA N\u00c3O SOU PACIENTE<\/button><\/div><\/div><div class=\"rm-agenda-patient-gateway-login-v12634\" hidden><span class=\"rm-agenda-kicker\">Acesso do paciente<\/span><h2>Acessar meu painel<\/h2><p>Informe o e-mail e a senha cadastrados. O c\u00f3digo ser\u00e1 necess\u00e1rio somente no primeiro acesso ou se voc\u00ea esquecer a senha.<\/p><form method=\"post\" action=\"https:\/\/robsonmasselli.com.br\/psi\/wp-admin\/admin-post.php\" class=\"rm-agenda-form\"><input type=\"hidden\" name=\"action\" value=\"rm_agenda_127_patient_login\"><input type=\"hidden\" name=\"_wpnonce\" value=\"e27952ea02\"><input type=\"hidden\" name=\"redirect_to\" value=\"https:\/\/robsonmasselli.com.br\/psi\/painel-cliente\/\"><div class=\"rm-agenda-grid rm-agenda-grid-2\"><label><span>E-mail cadastrado<\/span><input type=\"email\" name=\"patient_email\" required autocomplete=\"email\"><\/label><label><span>Senha<\/span><input type=\"password\" name=\"patient_password\" required autocomplete=\"current-password\"><\/label><\/div><div class=\"rm-agenda-patient-gateway-actions-v12634\"><button class=\"rm-agenda-button\" type=\"submit\">ENTRAR NO MEU PAINEL<\/button><button type=\"button\" class=\"rm-agenda-button rm-agenda-button-light\" data-rm-gateway-back=\"1\">VOLTAR<\/button><\/div><\/form><div class=\"rm-agenda-patient-gateway-links-v12634\"><a href=\"https:\/\/robsonmasselli.com.br\/psi\/painel-cliente\/?rm_patient_step=first_access\">Primeiro acesso \u2014 criar senha<\/a><a href=\"https:\/\/robsonmasselli.com.br\/psi\/painel-cliente\/?rm_patient_step=forgot\">Esqueci minha senha<\/a><\/div><\/div><\/div><\/div><\/div><script>(function(){var root=document.getElementById(\"rm-patient-gateway-k5J2Qp8V\");if(!root)return;var modal=root.querySelector(\".rm-agenda-patient-gateway-modal-v12635\");var question=root.querySelector(\".rm-agenda-patient-gateway-question-v12635\");var login=root.querySelector(\".rm-agenda-patient-gateway-login-v12634\");function lockPage(){document.body.classList.add(\"rm-agenda-patient-modal-open-v12635\");}function unlockPage(){document.body.classList.remove(\"rm-agenda-patient-modal-open-v12635\");}function closeModal(){if(modal)modal.hidden=true;unlockPage();}function showLogin(){if(question)question.hidden=true;if(login){login.hidden=false;var email=login.querySelector(\"input[type=email]\");if(email)setTimeout(function(){email.focus();},30);}}function showQuestion(){if(login)login.hidden=true;if(question)question.hidden=false;}root.addEventListener(\"click\",function(e){if(e.target.closest(\"[data-rm-gateway-new]\")){e.preventDefault();closeModal();}if(e.target.closest(\"[data-rm-gateway-login]\")){e.preventDefault();showLogin();}if(e.target.closest(\"[data-rm-gateway-back]\")){e.preventDefault();showQuestion();}});if(modal){modal.hidden=false;lockPage();}root.classList.add(\"is-ready\");})();<\/script><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_monsterinsights_skip_tracking":false,"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"class_list":["post-13981","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/robsonmasselli.com.br\/psi\/wp-json\/wp\/v2\/pages\/13981","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/robsonmasselli.com.br\/psi\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/robsonmasselli.com.br\/psi\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/robsonmasselli.com.br\/psi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/robsonmasselli.com.br\/psi\/wp-json\/wp\/v2\/comments?post=13981"}],"version-history":[{"count":11,"href":"https:\/\/robsonmasselli.com.br\/psi\/wp-json\/wp\/v2\/pages\/13981\/revisions"}],"predecessor-version":[{"id":14824,"href":"https:\/\/robsonmasselli.com.br\/psi\/wp-json\/wp\/v2\/pages\/13981\/revisions\/14824"}],"wp:attachment":[{"href":"https:\/\/robsonmasselli.com.br\/psi\/wp-json\/wp\/v2\/media?parent=13981"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}