/* SPES — convite do grupo de estudos e popups coordenados (public/js/spes-convites.js).
 *
 * Carregado em todas as páginas pelo partial partials/convites, inclusive nas
 * páginas antigas que não usam o layout público: por isso tudo aqui tem prefixo
 * spc- e não depende de variáveis do spes-publico.css (usa-as quando existem).
 *
 * Camadas: barra de oferta das páginas antigas 9985; botão 9980 (sobe acima de
 * barras fixas no rodapé via --spc-elevar e sai de cima da barra lateral do
 * painel via --spc-recuo, os dois medidos no JS); popups 9990.
 * O botão some enquanto há popup aberto, menu/gaveta (body.trava) ou modal do
 * Bootstrap (body.modal-open), e na impressão.
 */
.spc, .spc-dep {
  --spc-tinta: #151a33;
  --spc-tinta-2: #2b3150;
  --spc-tinta-3: #5b6280;
  --spc-roxo: #6b2fd6;
  --spc-roxo-escuro: #5222b0;
  --spc-roxo-medio: #cdbaf6;
  --spc-papel-2: #efeae1;
  --spc-zap: #13703d;          /* texto branco: 6,1:1 */
  --spc-zap-escuro: #0d5a30;
  --spc-zap-icone: #1a8f4c;    /* ícone sobre branco: 4,1:1 */
  --spc-fonte: var(--fonte, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif);
}
.spc-sr {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* ---------- Botão "Grupo de estudos" (sempre disponível) ---------- */
.spc a.spc-chip {
  position: fixed; z-index: 9980;
  left: calc(max(16px, env(safe-area-inset-left)) + var(--spc-recuo, 0px));
  bottom: calc(16px + var(--spc-elevar, 0px) + var(--spc-subir, 0px) + env(safe-area-inset-bottom));
  display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin: 0;
  padding: 0 16px 0 12px; border: 1px solid #d8d2e6; border-radius: 999px;
  background: #fff; color: var(--spc-tinta); text-decoration: none;
  font: 700 .9rem/1 var(--spc-fonte); letter-spacing: 0; text-transform: none;
  box-shadow: 0 10px 28px -14px rgba(21, 26, 51, .55);
  transition: transform .15s ease, box-shadow .15s ease, bottom .2s ease;
}
.spc a.spc-chip:hover { color: var(--spc-tinta); text-decoration: none; transform: translateY(-1px); box-shadow: 0 14px 30px -14px rgba(21, 26, 51, .6); }
.spc a.spc-chip:focus-visible { outline: 3px solid var(--spc-roxo); outline-offset: 3px; }
.spc .spc-chip__ic { width: 22px; height: 22px; flex: none; color: var(--spc-zap-icone); }
body.spc-popup-aberto .spc a.spc-chip,
body.trava .spc a.spc-chip,
body.modal-open .spc a.spc-chip,
body:has(.sidebar-overlay.open) .spc a.spc-chip { visibility: hidden; }   /* menu do painel aberto no celular */
@media (max-width: 699px) {
  .spc a.spc-chip { left: calc(max(12px, env(safe-area-inset-left)) + var(--spc-recuo, 0px)); bottom: calc(12px + var(--spc-elevar, 0px) + var(--spc-subir, 0px) + env(safe-area-inset-bottom)); padding: 0 14px 0 10px; font-size: .84rem; }
}

/* ---------- Popup (grupo; o da missão usa .popup-rf, do layout público) ---------- */
.spc .spc-popup {
  position: fixed; z-index: 9990; right: 24px; bottom: calc(24px + var(--spc-elevar, 0px));
  width: min(380px, calc(100vw - 48px)); max-height: calc(100vh - 48px); overflow: auto;
  margin: 0; padding: 22px 22px 14px; box-sizing: border-box;
  border: 1px solid var(--spc-roxo-medio); border-radius: 20px; background: #fff; color: var(--spc-tinta);
  box-shadow: 0 24px 60px -24px rgba(21, 26, 51, .45);
  font: 400 1rem/1.5 var(--spc-fonte); text-align: left;
  opacity: 0; transform: translateY(12px); transition: opacity .2s ease, transform .2s ease;
}
.spc .spc-popup[hidden] { display: none; }
.spc .spc-popup.is-visivel { opacity: 1; transform: none; }
.spc .spc-popup *, .spc-dep * { box-sizing: border-box; }
.spc .spc-fechar, .spc-dep .spc-fechar {
  position: absolute; top: 8px; right: 8px; width: 44px; height: 44px; margin: 0; padding: 0;
  display: grid; place-items: center; border: 0; border-radius: 10px;
  background: transparent; color: var(--spc-tinta-2); cursor: pointer; box-shadow: none;
}
.spc .spc-fechar:hover, .spc-dep .spc-fechar:hover { background: var(--spc-papel-2); color: var(--spc-tinta); }
.spc .spc-fechar svg, .spc-dep .spc-fechar svg { width: 20px; height: 20px; }
.spc .spc-kicker {
  display: flex; align-items: center; gap: 8px; margin: 0 44px 10px 0;
  font: 700 .82rem/1.3 var(--spc-fonte); color: var(--spc-zap); text-transform: none; letter-spacing: 0;
}
.spc .spc-kicker svg { width: 18px; height: 18px; flex: none; color: var(--spc-zap-icone); }
.spc .spc-titulo {
  margin: 0 0 8px; padding: 0; color: var(--spc-tinta);
  font-family: var(--fonte-titulo, var(--spc-fonte)); font-weight: var(--spc-titulo-peso, 800);
  font-size: 1.45rem; line-height: 1.15; letter-spacing: 0; text-transform: none;
}
.spc .spc-titulo:focus { outline: none; }
.spc .spc-titulo:focus-visible { outline: 3px solid var(--spc-roxo); outline-offset: 4px; border-radius: 4px; }
.spc .spc-texto { margin: 0 0 16px; font-size: .97rem; line-height: 1.5; color: var(--spc-tinta-2); }
.spc .spc-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; }
.spc a.spc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; margin: 0;
  padding: 0 20px; border: 0; border-radius: 12px; background: var(--spc-zap); color: #fff;
  font: 700 1rem/1 var(--spc-fonte); text-decoration: none; letter-spacing: 0; text-transform: none;
}
.spc a.spc-btn:hover { background: var(--spc-zap-escuro); color: #fff; text-decoration: none; }
.spc a.spc-btn:focus-visible, .spc a.spc-link:focus-visible, .spc .spc-agora-nao:focus-visible,
.spc .spc-fechar:focus-visible, .spc-dep a:focus-visible, .spc-dep .spc-fechar:focus-visible { outline: 3px solid var(--spc-roxo); outline-offset: 2px; }
.spc a.spc-link {
  display: inline-flex; align-items: center; min-height: 44px; color: var(--spc-roxo-escuro);
  font: 700 .95rem/1.2 var(--spc-fonte); text-decoration: underline; text-underline-offset: .2em;
}
.spc a.spc-link:hover { color: var(--spc-tinta); }
.spc .spc-agora-nao {
  display: block; min-height: 44px; margin: 4px 0 0; padding: 8px 2px; border: 0; background: none; box-shadow: none;
  cursor: pointer; font: 600 .92rem/1 var(--spc-fonte); color: var(--spc-tinta-3);
  text-decoration: underline; text-underline-offset: .2em;
}
.spc .spc-agora-nao:hover { color: var(--spc-tinta); }
@media (max-width: 699px) {
  .spc .spc-popup {
    left: 0; right: 0; bottom: 0; width: auto; max-height: 85vh;
    border-width: 1px 0 0; border-radius: 22px 22px 0 0;
    padding: 20px 16px calc(10px + env(safe-area-inset-bottom));
  }
  .spc a.spc-btn { flex: 1 1 100%; }
  .spc a.spc-link { margin: 0 auto; }
  .spc .spc-agora-nao { margin: 0 auto; }
}

/* ---------- Aprovação na home (aviso leve, publico/partials/depoimentos-popup) ---------- */
.spc-dep {
  position: fixed; z-index: 9990; left: 24px; bottom: calc(24px + var(--spc-elevar, 0px));
  width: min(340px, calc(100vw - 48px)); margin: 0; padding: 14px 48px 14px 14px; box-sizing: border-box;
  display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: center;
  border: 1px solid #ded8ea; border-radius: 18px; background: #fff; color: var(--spc-tinta);
  box-shadow: 0 18px 44px -22px rgba(21, 26, 51, .5);
  font: 400 .95rem/1.4 var(--spc-fonte); text-align: left;
  opacity: 0; transform: translateY(10px); transition: opacity .25s ease, transform .25s ease;
}
.spc-dep[hidden] { display: none; }
.spc-dep.is-visivel { opacity: 1; transform: none; }
.spc-dep__selo {
  width: 52px; height: 52px; display: grid; place-items: center; border-radius: 14px;
  background: #eee7fc; color: var(--spc-roxo-escuro);
}
.spc-dep__selo svg { width: 28px; height: 28px; }
.spc-dep__foto {
  width: 64px; height: 80px; margin: 0; border-radius: 12px; overflow: hidden; background: var(--spc-papel-2);
}
.spc-dep__foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.spc-dep__chapeu { margin: 0 0 2px; font: 700 .78rem/1.3 var(--spc-fonte); color: var(--spc-roxo-escuro); }
.spc-dep__curso { margin: 0; font: 800 1.08rem/1.2 var(--spc-fonte); color: var(--spc-tinta); }
.spc-dep__curso span { font-weight: 600; color: var(--spc-tinta-3); }
.spc-dep__frase { margin: 4px 0 0; font-size: .9rem; color: var(--spc-tinta-2); }
.spc-dep__citacao { margin: 6px 0 0; padding: 0; border: 0; }
.spc-dep__citacao p { margin: 0; font-size: .9rem; color: var(--spc-tinta-2); }
.spc-dep a.spc-dep__link {
  display: inline-flex; align-items: center; min-height: 32px; margin-top: 2px;
  color: var(--spc-roxo-escuro); font: 700 .9rem/1.2 var(--spc-fonte); text-decoration: underline; text-underline-offset: .2em;
}
.spc-dep a.spc-dep__link:hover { color: var(--spc-tinta); }
.spc-dep .spc-fechar { top: 6px; right: 6px; }
@media (max-width: 699px) {
  .spc-dep { left: 12px; right: 12px; bottom: calc(12px + var(--spc-elevar, 0px) + env(safe-area-inset-bottom)); width: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .spc a.spc-chip, .spc .spc-popup, .spc-dep { transition: none; transform: none; }
  .spc a.spc-chip:hover { transform: none; }
}
@media print {
  .spc, .spc-dep, [data-spc-popup] { display: none !important; }
}
