.triagem-open{overflow:hidden}
.triagem-direct-link{display:inline-flex;align-items:center;justify-content:center;margin-top:10px;color:#006b68;font-size:14px;font-weight:750;text-decoration:underline;text-underline-offset:4px}
.hero-actions .triagem-direct-link{flex-basis:100%;justify-content:flex-start;margin-top:0}
/* O CTA final da Psicologia usa fundo escuro e precisa manter leitura clara. */
body.page-psychology .specialty-final-cta .cta h2,
body.page-psych-online .specialty-final-cta .cta h2{color:#fffdf8!important}
body.page-psychology .specialty-final-cta .cta p,
body.page-psych-online .specialty-final-cta .cta p{color:#fffdf8!important}
body.page-psychology div#formulario{padding:0!important;background:transparent!important}
.triagem-layer[hidden]{display:none!important}
.triagem-layer{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px}
.triagem-backdrop{position:absolute;inset:0;border:0;background:rgba(7,31,35,.64);backdrop-filter:blur(5px);cursor:default}
.triagem-panel{position:relative;display:flex;flex-direction:column;width:min(480px,100%);max-height:min(760px,calc(100vh - 48px));overflow:hidden;border:1px solid rgba(255,255,255,.7);border-radius:26px;background:#fff;box-shadow:0 30px 90px rgba(3,32,35,.3)}
.triagem-head{padding:22px 24px 16px;border-bottom:1px solid #e1ecea;background:linear-gradient(145deg,#f7fcfb,#edf8f6)}
.triagem-head-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.triagem-title{margin:0;color:#102f35;font:800 27px/1.08 Outfit,Figtree,sans-serif}
.triagem-seal{display:block;margin-top:7px;color:#3f6567;font-size:12.5px;font-weight:700}
.triagem-close{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border:1px solid #c8dcda;border-radius:50%;background:#fff;color:#15494c;font:400 26px/1 Arial,sans-serif;cursor:pointer}
.triagem-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:18px}
.triagem-progress-item{display:grid;gap:6px;color:#718083;font-size:11px;font-weight:750;text-align:center}
.triagem-progress-item:before{content:"";height:5px;border-radius:999px;background:#dce8e6}
.triagem-progress-item.is-current,.triagem-progress-item.is-done{color:#006b68}
.triagem-progress-item.is-current:before,.triagem-progress-item.is-done:before{background:#008f89}
.triagem-body{min-height:310px;padding:26px 24px 18px;overflow-y:auto;overscroll-behavior:contain}
.triagem-question{margin:0 0 18px;color:#102f35;font:750 21px/1.25 Outfit,Figtree,sans-serif}
.triagem-helper{margin:-8px 0 18px;color:#617174;font-size:14px;line-height:1.5}
.triagem-contact{display:grid;gap:10px}
.triagem-contact>label:not(.triagem-contact-consent){color:#173f42;font-size:13px;font-weight:750}
.triagem-contact>input{width:100%;min-height:50px;padding:12px 14px;border:1px solid #c8dcda;border-radius:13px;background:#fff;color:#173f42;font:500 15px Figtree,sans-serif}
.triagem-contact>input:focus-visible{outline:2px solid #008f89;outline-offset:2px}
.triagem-contact-consent{display:flex;align-items:flex-start;gap:10px;margin:5px 0;color:#456064;font-size:13px;line-height:1.5}
.triagem-contact-consent input{width:18px;height:18px;flex:0 0 18px;margin:1px 0 0;accent-color:#008f89}
.triagem-contact-consent a{color:#006b68;font-weight:750}
.triagem-contact-error{margin:0;color:#9a312b;font-size:13px;line-height:1.4}
.triagem-contact-submit{width:100%;min-height:52px;margin-top:2px}
.triagem-contact-submit:disabled{opacity:.65;cursor:wait}
.triagem-options{display:grid;gap:10px}
.triagem-option{display:flex;align-items:center;min-height:58px;width:100%;padding:13px 16px;border:1px solid #c8dcda;border-radius:16px;background:#fff;color:#173f42;font:700 15px/1.3 Figtree,sans-serif;text-align:left;cursor:pointer;transition:border-color .18s,background .18s,transform .18s}
.triagem-option:hover,.triagem-option:focus-visible,.triagem-option.is-selected{border-color:#008f89;background:#edf9f7;outline:0;transform:translateY(-1px)}
.triagem-loading{display:grid;place-items:center;min-height:230px;color:#426164;text-align:center}
.triagem-loading:before{content:"";width:36px;height:36px;margin-bottom:12px;border:4px solid #dce8e6;border-top-color:#008f89;border-radius:50%;animation:triagem-spin .8s linear infinite}
@keyframes triagem-spin{to{transform:rotate(360deg)}}
.triagem-error{padding:18px;border:1px solid #f0d3cf;border-radius:16px;background:#fff5f3;color:#8b3d36;text-align:center}
.triagem-result{display:grid;gap:16px}
.triagem-result-mark{display:grid;place-items:center;width:50px;height:50px;border-radius:16px;background:#e6f7f3;color:#007b76;font-size:27px;font-weight:800}
.triagem-result h3{margin:0;color:#102f35;font:800 25px/1.15 Outfit,Figtree,sans-serif}
.triagem-result p{margin:0;color:#52676b;line-height:1.55}
.triagem-hours{padding:12px 14px;border-radius:13px;background:#fff6dc;color:#6f5611;font-size:13.5px;font-weight:650}
.triagem-map{display:grid;gap:8px;padding:15px;border:1px solid #d8e7e5;border-radius:16px;background:#f7fbfa}
.triagem-map strong{color:#143e42}
.triagem-map span{color:#607275;font-size:13.5px}
.triagem-map a{color:#006b68;font-weight:800}
.triagem-actions{display:grid;gap:10px;margin-top:4px}
.triagem-actions .btn{width:100%;min-height:54px;text-align:center}
.triagem-route-links{display:grid;gap:10px}
.triagem-route-links a{display:flex;align-items:center;justify-content:center;min-height:54px;padding:12px;border:1px solid #c8dcda;border-radius:15px;color:#006b68;font-weight:800;text-align:center;text-decoration:none}
.triagem-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 24px 18px;border-top:1px solid #edf2f1;background:#fff}
.triagem-back{border:0;background:none;color:#456064;font:700 13px Figtree,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.triagem-back[hidden]{visibility:hidden}
.triagem-direct{margin-left:auto;color:#006b68;font-size:13px;font-weight:750;text-align:right;text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){
  .triagem-layer{align-items:end;padding:0}
  .triagem-panel{width:100%;max-height:min(90vh,calc(100% - 8px));border-radius:24px 24px 0 0;animation:triagem-up .22s ease-out}
  .triagem-head{padding:18px 18px 14px}
  .triagem-title{font-size:24px}
  .triagem-body{min-height:0;flex:1 1 auto;padding:22px 18px 16px}
  .triagem-question{font-size:20px}
  .triagem-foot{padding:12px 18px calc(14px + env(safe-area-inset-bottom))}
}
@keyframes triagem-up{from{transform:translateY(35px);opacity:.5}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.triagem-panel,.triagem-option,.triagem-loading:before{animation:none!important;transition:none!important}}
