/* Pulse Profissionais SST — escopo proprio, nao depende do Tailwind do tema */

/* Os shortcodes sao renderizados dentro de um wrapper .prose (Tailwind Typography),
   cuja regra `.prose a{text-decoration:underline}` tem a MESMA especificidade (0,1,1)
   de `.ppsst-busca a` — e vence por ordem de carregamento. Repetindo a classe
   (`.ppsst-busca.ppsst-busca a` = 0,2,1) a nossa passa a ganhar sem precisar de !important. */
.ppsst-cad.ppsst-cad a,
.ppsst-busca.ppsst-busca a,
.ppsst-perfil.ppsst-perfil a{text-decoration:none}
.ppsst-cad.ppsst-cad a:hover,
.ppsst-busca.ppsst-busca a:hover,
.ppsst-perfil.ppsst-perfil a:hover{text-decoration:none}
.ppsst-busca.ppsst-busca .ppsst-card-nome a{color:#111827}
.ppsst-busca.ppsst-busca .ppsst-card-nome a:hover{color:#7B44F2}
.ppsst-busca.ppsst-busca .ppsst-card-btn{color:#7B44F2}
.ppsst-busca.ppsst-busca .ppsst-card-btn:hover{color:#fff}
.ppsst-perfil.ppsst-perfil .ppsst-contato{color:#374151}
.ppsst-perfil.ppsst-perfil .ppsst-wpp,
.ppsst-perfil.ppsst-perfil .ppsst-wpp:hover{color:#fff}
.ppsst-cad.ppsst-cad .ppsst-btn,
.ppsst-busca.ppsst-busca .ppsst-btn,
.ppsst-perfil.ppsst-perfil .ppsst-btn{color:#fff}
/* Aqui o sublinhado e proposital: sao links de texto corrido */
.ppsst-cad.ppsst-cad .ppsst-check a,
.ppsst-cad.ppsst-cad .ppsst-aviso a,
.ppsst-busca.ppsst-busca .ppsst-vazio-busca a{text-decoration:underline}

.ppsst-cad,.ppsst-busca,.ppsst-perfil{--rx:#7B44F2;--rx-esc:#5B22D4;--rx-nev:#F5F1FE;--rx-borda:#EAE3FB;
  --txt:#111827;--txt2:#6B7280;--erro:#B91C1C;
  font-family:inherit;color:var(--txt);box-sizing:border-box}
.ppsst-cad *,.ppsst-busca *,.ppsst-perfil *{box-sizing:border-box}

/* ───────── Cadastro ───────── */
.ppsst-cad{max-width:840px;margin:0 auto;padding:32px 20px 64px}
.ppsst-hp{position:absolute!important;left:-9999px!important;opacity:0!important;height:0!important;width:0!important}

.ppsst-passos{display:flex;gap:8px;list-style:none;margin:0 0 32px;padding:0;counter-reset:p}
.ppsst-passo{flex:1;display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600;color:#9CA3AF;
  padding:12px 14px;border-radius:12px;background:#F9FAFB;border:1px solid #F0F0F4;transition:all .2s}
.ppsst-passo span{width:24px;height:24px;flex-shrink:0;border-radius:50%;background:#E5E7EB;color:#6B7280;
  display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}
.ppsst-passo.ativo{color:var(--rx);background:var(--rx-nev);border-color:var(--rx-borda)}
.ppsst-passo.ativo span{background:var(--rx);color:#fff}
.ppsst-passo.feito{color:#0a7c2f;background:#F0FBF4;border-color:#D6F0E0}
.ppsst-passo.feito span{background:#0a7c2f;color:#fff}

.ppsst-etapa{display:none;border:0;padding:0;margin:0}
.ppsst-etapa.ativa{display:block;animation:ppFade .22s ease}
@keyframes ppFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.ppsst-legend{display:block;width:100%;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--rx);margin:28px 0 14px;padding-bottom:9px;border-bottom:1px solid var(--rx-borda)}
.ppsst-etapa .ppsst-legend:first-child{margin-top:0}

.ppsst-grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ppsst-campo{margin-bottom:16px}
.ppsst-campo label{display:block;font-size:12px;font-weight:700;color:#374151;margin-bottom:6px;
  text-transform:uppercase;letter-spacing:.04em}
.ppsst-campo label small{text-transform:none;font-weight:500;color:var(--txt2);letter-spacing:0}
.ppsst-campo input,.ppsst-campo select,.ppsst-campo textarea{width:100%;padding:12px 14px;font-size:14px;
  font-family:inherit;color:var(--txt);background:#fff;border:1.5px solid #E5E7EB;border-radius:10px;
  transition:border-color .16s,box-shadow .16s}
.ppsst-campo input:focus,.ppsst-campo select:focus,.ppsst-campo textarea:focus{outline:none;border-color:var(--rx);
  box-shadow:0 0 0 3px rgba(123,68,242,.14)}
.ppsst-campo textarea{resize:vertical;min-height:110px}
.ppsst-ajuda{font-size:12.5px;color:var(--txt2);margin:0 0 10px}
.ppsst-contador{float:right;font-weight:600;color:var(--txt2);text-transform:none;letter-spacing:0}
.ppsst-contador.ok b{color:#0a7c2f}
.ppsst-contador b{color:var(--erro)}

/* Tipos de profissional */
.ppsst-tipos{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-bottom:6px}
.ppsst-tipo{position:relative;display:block;padding:15px 16px;border:1.5px solid #E5E7EB;border-radius:12px;
  cursor:pointer;transition:all .16s;background:#fff}
.ppsst-tipo:hover{border-color:#C4B0F8;background:#FDFCFF}
.ppsst-tipo.sel{border-color:var(--rx);background:var(--rx-nev);box-shadow:0 3px 12px rgba(123,68,242,.13)}
.ppsst-tipo input{position:absolute;opacity:0;pointer-events:none}
.ppsst-tipo strong{display:block;font-size:14px;font-weight:700;color:var(--txt);margin-bottom:3px}
.ppsst-tipo small{display:block;font-size:12px;color:var(--txt2)}
.ppsst-tipo.sel strong{color:var(--rx-esc)}

/* Registros de conselho */
.ppsst-reg{display:grid;grid-template-columns:130px 1fr 84px auto;gap:8px;margin-bottom:9px;align-items:center}
.ppsst-reg select,.ppsst-reg input{padding:11px 12px;font-size:14px;font-family:inherit;background:#fff;
  border:1.5px solid #E5E7EB;border-radius:10px;width:100%}
.ppsst-reg select:focus,.ppsst-reg input:focus{outline:none;border-color:var(--rx);box-shadow:0 0 0 3px rgba(123,68,242,.14)}
.ppsst-reg.obrig select[data-fixo]{background:var(--rx-nev);border-color:var(--rx-borda);font-weight:700;color:var(--rx-esc)}
.ppsst-tag-obrig{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;
  color:var(--rx);background:var(--rx-nev);padding:5px 9px;border-radius:6px;white-space:nowrap}
.ppsst-rm{width:32px;height:32px;border:0;border-radius:8px;background:#FEF2F2;color:#B91C1C;font-size:19px;
  line-height:1;cursor:pointer;transition:background .16s}
.ppsst-rm:hover{background:#FEE2E2}
.ppsst-btn-link{background:none;border:0;color:var(--rx);font-size:13px;font-weight:700;cursor:pointer;
  padding:8px 0;font-family:inherit}
.ppsst-btn-link:hover{text-decoration:underline}

/* Cores */
.ppsst-cores{display:flex;gap:9px;flex-wrap:wrap}
.ppsst-cor{width:38px;height:38px;border-radius:10px;border:2.5px solid transparent;cursor:pointer;
  transition:transform .14s,border-color .14s}
.ppsst-cor:hover{transform:scale(1.09)}
.ppsst-cor.sel{border-color:var(--txt);transform:scale(1.09)}

.ppsst-check{display:flex;align-items:flex-start;gap:11px;font-size:13.5px;color:#374151;line-height:1.55;
  padding:14px;background:#F9FAFB;border-radius:11px;cursor:pointer;margin-top:8px}
.ppsst-check input{margin-top:2px;width:17px;height:17px;flex-shrink:0;accent-color:var(--rx)}
.ppsst-check a{color:var(--rx);font-weight:600}

.ppsst-erros{display:none;margin:20px 0 0;padding:15px 18px;background:#FEF2F2;border:1px solid #FECACA;
  border-left:4px solid var(--erro);border-radius:10px}
.ppsst-erros.vis{display:block}
.ppsst-erros ul{margin:0;padding-left:19px}
.ppsst-erros li{font-size:13.5px;color:#991B1B;line-height:1.6}

.ppsst-acoes{display:flex;gap:11px;justify-content:flex-end;margin-top:30px;
  padding-top:22px;border-top:1px solid #F0F0F4}
.ppsst-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 26px;
  background:var(--rx);color:#fff;font-size:14px;font-weight:700;font-family:inherit;border:0;border-radius:11px;
  cursor:pointer;text-decoration:none;transition:background .16s,box-shadow .16s;box-shadow:0 4px 14px rgba(123,68,242,.28)}
.ppsst-btn:hover{background:var(--rx-esc);color:#fff;box-shadow:0 7px 20px rgba(91,34,212,.36)}
.ppsst-btn:disabled{opacity:.6;cursor:not-allowed}
.ppsst-btn-sec{background:#fff;color:#374151;border:1.5px solid #E5E7EB;box-shadow:none}
.ppsst-btn-sec:hover{background:#F9FAFB;color:#111827;box-shadow:none}

.ppsst-sucesso{text-align:center;padding:52px 24px}
.ppsst-sucesso-ico{width:66px;height:66px;margin:0 auto 20px;border-radius:50%;background:#E7F6EC;color:#0a7c2f;
  font-size:33px;display:flex;align-items:center;justify-content:center}
.ppsst-sucesso h3{font-size:24px;font-weight:800;margin:0 0 12px}
.ppsst-sucesso p{color:var(--txt2);margin:0 0 26px;line-height:1.65;max-width:460px;
  margin-left:auto;margin-right:auto}
.ppsst-aviso{max-width:640px;margin:36px auto;padding:20px;background:var(--rx-nev);
  border:1px solid var(--rx-borda);border-radius:12px;text-align:center;color:#374151}
.ppsst-aviso a{color:var(--rx);font-weight:700}

/* ───────── Busca ───────── */
.ppsst-busca{max-width:1180px;margin:0 auto;padding:32px 20px 64px}
.ppsst-filtros{display:flex;gap:13px;align-items:flex-end;flex-wrap:wrap;padding:20px;background:#fff;
  border:1px solid var(--rx-borda);border-radius:16px;box-shadow:0 5px 22px rgba(123,68,242,.07);margin-bottom:26px}
.ppsst-filtro-campo{display:flex;flex-direction:column;gap:6px;min-width:170px}
.ppsst-f-cresce{flex:1;min-width:230px}
.ppsst-filtro-campo label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#6B7280}
.ppsst-filtro-campo input,.ppsst-filtro-campo select{padding:11px 13px;font-size:14px;font-family:inherit;
  border:1.5px solid #E5E7EB;border-radius:10px;background:#fff}
.ppsst-filtro-campo input:focus,.ppsst-filtro-campo select:focus{outline:none;border-color:var(--rx);
  box-shadow:0 0 0 3px rgba(123,68,242,.14)}
.ppsst-filtro-check{display:flex;align-items:center;gap:8px;font-size:13.5px;color:#374151;padding-bottom:11px}
.ppsst-filtro-check input{width:17px;height:17px;accent-color:var(--rx)}
.ppsst-resultado-info{font-size:14px;color:var(--txt2);margin:0 0 20px}
.ppsst-resultado-info strong{color:var(--rx);font-size:16px}

.ppsst-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:20px}
.ppsst-card{background:#fff;border:1px solid #EFEAF8;border-radius:16px;overflow:hidden;
  transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;flex-direction:column}
.ppsst-card:hover{transform:translateY(-4px);border-color:var(--rx);box-shadow:0 12px 32px rgba(123,68,242,.16)}
.ppsst-card-topo{height:76px;position:relative}
.ppsst-card-foto{position:absolute;left:20px;bottom:-27px;width:62px;height:62px;border-radius:50%;
  object-fit:cover;border:3.5px solid #fff;background:#fff;box-shadow:0 3px 12px rgba(0,0,0,.13)}
.ppsst-card-inicial{display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;
  color:#6B7280;background:#F3F4F6}
.ppsst-card-corpo{padding:37px 20px 20px;flex:1;display:flex;flex-direction:column}
.ppsst-card-nome{font-size:16.5px;font-weight:800;margin:0 0 5px;line-height:1.3}
.ppsst-card-nome a{color:var(--txt);text-decoration:none}
.ppsst-card-nome a:hover{color:var(--rx)}
.ppsst-card-tipo{display:inline-block;font-size:12px;font-weight:700;color:var(--rx);background:var(--rx-nev);
  padding:4px 10px;border-radius:99px;margin-bottom:11px;align-self:flex-start}
.ppsst-card-local{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--txt2);margin:0 0 13px}
.ppsst-card-local svg{width:14px;height:14px;flex-shrink:0}
.ppsst-card-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;flex:1;align-content:flex-start}
.ppsst-selo,.ppsst-selo-reg{font-size:11px;font-weight:700;padding:4px 9px;border-radius:6px;
  background:#F3F4F6;color:#4B5563}
.ppsst-selo-reg{background:#ECFDF3;color:#0a7c2f}
.ppsst-card-btn{display:block;text-align:center;padding:11px;background:var(--rx-nev);color:var(--rx);
  font-size:13px;font-weight:700;border-radius:10px;text-decoration:none;transition:background .16s,color .16s}
.ppsst-card-btn:hover{background:var(--rx);color:#fff}

.ppsst-pag{display:flex;gap:7px;justify-content:center;margin-top:36px;flex-wrap:wrap}
.ppsst-pag a{min-width:40px;padding:10px 13px;text-align:center;border:1.5px solid #E5E7EB;border-radius:9px;
  color:#374151;font-size:13.5px;font-weight:700;text-decoration:none;transition:all .16s}
.ppsst-pag a:hover{border-color:var(--rx);color:var(--rx)}
.ppsst-pag a.atual{background:var(--rx);border-color:var(--rx);color:#fff}
.ppsst-vazio-busca{text-align:center;padding:56px 20px;color:var(--txt2)}
.ppsst-vazio-busca a{color:var(--rx);font-weight:700}

/* ───────── Perfil ───────── */
.ppsst-perfil{max-width:1120px;margin:0 auto;padding:0 20px 64px}
.ppsst-preview-aviso{margin:20px 0;padding:15px 18px;background:#FFFBEB;border:1px solid #FDE68A;
  border-left:4px solid #D97706;border-radius:10px;font-size:14px;color:#78350F}
.ppsst-perfil-capa{border-radius:20px;margin-top:26px;padding:34px;position:relative;overflow:hidden}
.ppsst-perfil-capa::after{content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 70% 100% at 85% 50%,rgba(255,255,255,.18),transparent 70%);pointer-events:none}
.ppsst-perfil-capa-in{display:flex;align-items:center;gap:22px;position:relative;z-index:1;flex-wrap:wrap}
.ppsst-perfil-foto{width:96px;height:96px;border-radius:50%;object-fit:cover;border:4px solid rgba(255,255,255,.92);
  background:#fff;flex-shrink:0}
.ppsst-perfil-inicial{display:flex;align-items:center;justify-content:center;font-size:38px;font-weight:800;color:#6B7280}
.ppsst-perfil-ident{flex:1;min-width:200px}
.ppsst-perfil-ident h1{font-size:clamp(22px,3.4vw,32px);font-weight:800;color:#fff;margin:0 0 6px;line-height:1.18}
.ppsst-perfil-ident p{font-size:14.5px;color:rgba(255,255,255,.9);margin:0}
.ppsst-verificado{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;background:rgba(255,255,255,.95);
  color:#0a7c2f;font-size:12.5px;font-weight:800;border-radius:99px;white-space:nowrap}
.ppsst-verificado svg{width:16px;height:16px}

.ppsst-perfil-grid{display:grid;grid-template-columns:1fr 340px;gap:30px;margin-top:30px;align-items:start}
.ppsst-bloco{background:#fff;border:1px solid #EFEAF8;border-radius:16px;padding:26px;margin-bottom:20px}
.ppsst-bloco h2{font-size:17px;font-weight:800;margin:0 0 16px;color:var(--txt)}
.ppsst-bio{font-size:15px;line-height:1.75;color:#374151}
.ppsst-bio p{margin:0 0 13px}
.ppsst-regs-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:11px}
.ppsst-reg-item{padding:14px 16px;background:var(--rx-nev);border:1px solid var(--rx-borda);border-radius:11px}
.ppsst-reg-item strong{display:block;font-size:14px;color:var(--rx-esc);font-weight:800;margin-bottom:3px}
.ppsst-reg-item span{font-size:13px;color:var(--txt2)}
.ppsst-reg-nota{font-size:12.5px;color:var(--txt2);margin:14px 0 0;line-height:1.6;font-style:italic}
.ppsst-tags{display:flex;flex-wrap:wrap;gap:8px}
.ppsst-tag{font-size:13px;font-weight:600;padding:7px 13px;background:#F3F4F6;color:#374151;border-radius:99px;
  text-decoration:none;transition:all .16s}
.ppsst-tag:hover{background:var(--rx);color:#fff}

.ppsst-contato-box,.ppsst-info-box{background:#fff;border:1px solid #EFEAF8;border-radius:16px;padding:22px;margin-bottom:18px}
.ppsst-contato-box h2{font-size:15px;font-weight:800;margin:0 0 15px}
.ppsst-contato{display:block;text-align:center;padding:13px;margin-bottom:9px;border:1.5px solid #E5E7EB;
  border-radius:11px;color:#374151;font-size:14px;font-weight:700;text-decoration:none;transition:all .16s}
.ppsst-contato:hover{border-color:var(--rx);color:var(--rx);background:var(--rx-nev)}
.ppsst-wpp{background:#25D366;border-color:#25D366;color:#fff}
.ppsst-wpp:hover{background:#1EBE5A;border-color:#1EBE5A;color:#fff}
.ppsst-redes{display:flex;gap:9px;margin-top:13px}
.ppsst-redes a{flex:1;text-align:center;padding:9px;font-size:12.5px;font-weight:700;color:var(--txt2);
  background:#F9FAFB;border-radius:9px;text-decoration:none;transition:all .16s}
.ppsst-redes a:hover{background:var(--rx-nev);color:var(--rx)}
.ppsst-info-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;
  border-bottom:1px solid #F3F4F6}
.ppsst-info-item:last-child{border-bottom:0}
.ppsst-info-item span{font-size:12px;color:var(--txt2);font-weight:600}
.ppsst-info-item strong{font-size:13.5px;color:var(--txt);text-align:right}
.ppsst-voltar-busca{display:block;text-align:center;padding:12px;color:var(--rx);font-size:13.5px;
  font-weight:700;text-decoration:none}
.ppsst-voltar-busca:hover{text-decoration:underline}

/* ───────── Responsivo ───────── */
@media (max-width:900px){
  .ppsst-perfil-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .ppsst-grid2,.ppsst-tipos{grid-template-columns:1fr}
  .ppsst-passo{font-size:0;justify-content:center;padding:11px 8px;gap:0}
  .ppsst-passo span{font-size:12px}
  .ppsst-reg{grid-template-columns:1fr 1fr;gap:7px}
  .ppsst-reg input{grid-column:1/-1}
  .ppsst-acoes{flex-direction:column-reverse}
  .ppsst-acoes .ppsst-btn{width:100%}
  .ppsst-filtros{flex-direction:column;align-items:stretch}
  .ppsst-filtro-campo{min-width:0}
  .ppsst-perfil-capa{padding:24px}
  .ppsst-perfil-capa-in{flex-direction:column;text-align:center}
  .ppsst-cards{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .ppsst-etapa.ativa{animation:none}
  .ppsst-card:hover,.ppsst-cor:hover{transform:none}
}
