/* ==========================================================================
   CASOTECA UNMANI — Stylesheet WordPress (Namespaced)
   Método UNMANI · Por Antonio Joaquim Schellenberger Fernandes

   Versão adaptada de styles.css para uso dentro do WordPress (tema The7).
   Todos os seletores isolados sob .casoteca-content para evitar conflitos.

   Removido: Reset CSS, .header-unmani, .footer-unmani, max-width container.
   Mantido: Todos os componentes, breakpoints, print, acessibilidade.
   Alterado: --roxo-tech alinhado com o site (#A02ED1).
   ========================================================================== */

/* Google Fonts — Open Sans (identidade pedagógica da Casoteca) */
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap');

/* ---------- Paleta de Marca (CSS Custom Properties) ---------- */
.casoteca-content {
  --azul-profundo:  #1A365D;
  --roxo-tech:      #A02ED1;
  --ouro-suave:     #D4A574;
  --verde-salvia:   #2D5A3D;
  --terracota:      #B85C38;
  --branco:         #FFFFFF;
  --cinza-claro:    #FFFFFF;
  --cinza-texto:    #333333;

  --font-principal: 'Open Sans', Arial, Helvetica, sans-serif;
  --espacamento:    2rem;

  /* Base typography for casoteca content */
  font-family: var(--font-principal);
  font-weight: 300;
  color: var(--cinza-texto);
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ---------- Layout ---------- */
.casoteca-content section {
  margin-block: var(--espacamento);
}

/* ---------- Tipografia ---------- */
.casoteca-content h1,
.casoteca-content h2,
.casoteca-content h3,
.casoteca-content h4,
.casoteca-content h5,
.casoteca-content h6 {
  font-weight: 700;
  color: var(--azul-profundo);
  line-height: 1.3;
  margin-bottom: 0.75rem;
}

.casoteca-content h1 { font-size: 2rem; }
.casoteca-content h2 { font-size: 1.5rem; border-bottom: 2px solid var(--ouro-suave); padding-bottom: 0.4rem; }
.casoteca-content h3 { font-size: 1.25rem; }
.casoteca-content h4 { font-size: 1.1rem; font-weight: 600; }

.casoteca-content p {
  margin-bottom: 1rem;
}

.casoteca-content a {
  color: var(--roxo-tech);
  text-decoration: none;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.casoteca-content a:hover,
.casoteca-content a:focus-visible {
  color: var(--terracota);
  text-decoration: underline;
}

.casoteca-content strong,
.casoteca-content b { font-weight: 600; }

.casoteca-content blockquote {
  border-left: 4px solid var(--ouro-suave);
  padding: 1rem 1.25rem;
  margin: 1.5rem 0;
  background-color: var(--cinza-claro);
  font-style: italic;
  color: var(--azul-profundo);
}

.casoteca-content code,
.casoteca-content pre {
  font-family: 'Courier New', Courier, monospace;
  background-color: var(--cinza-claro);
  border-radius: 3px;
}

.casoteca-content code { padding: 0.15em 0.4em; font-size: 0.9em; }

.casoteca-content pre {
  padding: 1rem;
  overflow-x: auto;
  border-left: 3px solid var(--verde-salvia);
}

/* ---------- Sinopse ---------- */
.casoteca-content .sinopse {
  background-color: var(--cinza-claro);
  border-left: 4px solid var(--roxo-tech);
  padding: 1.5rem 2rem;
  margin: 2rem 0;
  border-radius: 0 6px 6px 0;
}

.casoteca-content .sinopse p {
  margin-bottom: 0.85rem;
}

.casoteca-content .sinopse p:last-child {
  margin-bottom: 0;
}

/* ---------- Ficha do Caso (Tabela) ---------- */
.casoteca-content .ficha-caso {
  margin: 2rem 0;
}

.casoteca-content .ficha-caso table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
}

.casoteca-content .ficha-caso table caption {
  font-weight: 700;
  font-size: 1.15rem;
  color: var(--azul-profundo);
  text-align: left;
  margin-bottom: 0.75rem;
}

.casoteca-content .ficha-caso th,
.casoteca-content .ficha-caso td {
  padding: 0.65rem 1rem;
  text-align: left;
  border-bottom: 1px solid #e2e2e2;
  vertical-align: top;
}

.casoteca-content .ficha-caso th {
  width: 200px;
  font-weight: 600;
  color: var(--azul-profundo);
  background-color: var(--cinza-claro);
  white-space: nowrap;
}

.casoteca-content .ficha-caso td {
  color: var(--cinza-texto);
}

.casoteca-content .ficha-caso tr:last-child th,
.casoteca-content .ficha-caso tr:last-child td {
  border-bottom: 2px solid var(--ouro-suave);
}

/* ---------- Estrelas (Rating) ---------- */
.casoteca-content .estrelas {
  color: var(--ouro-suave);
  font-size: 1.2rem;
  letter-spacing: 0.1em;
}

.casoteca-content .estrelas .preenchida {
  color: var(--ouro-suave);
}

.casoteca-content .estrelas .vazia {
  color: #ddd;
}

/* ---------- Link Tribunal ---------- */
.casoteca-content .link-tribunal {
  background-color: var(--cinza-claro);
  border: 1px solid var(--ouro-suave);
  border-radius: 6px;
  padding: 1.25rem 1.5rem;
  margin: 2rem 0;
}

.casoteca-content .link-tribunal h3 {
  color: var(--verde-salvia);
  margin-bottom: 0.75rem;
}

.casoteca-content .link-tribunal a {
  display: inline-block;
  margin-right: 1.5rem;
  font-weight: 400;
}

.casoteca-content .link-tribunal .instrucao,
.casoteca-content .instrucao {
  margin-top: 0.75rem;
  font-size: 0.9rem;
  color: #666;
  font-style: italic;
}

/* ---------- Passos (Etapas Didáticas) ---------- */
.casoteca-content .passo {
  margin: 2.5rem 0;
  padding: 1.5rem 0;
  border-top: 1px solid #e8e8e8;
}

.casoteca-content .passo:first-of-type {
  border-top: none;
}

.casoteca-content .passo .numero-passo {
  display: inline-block;
  background-color: var(--azul-profundo);
  color: var(--branco);
  font-weight: 700;
  font-size: 0.8rem;
  padding: 0.25rem 0.75rem;
  border-radius: 3px;
  margin-bottom: 0.75rem;
  letter-spacing: 0.05em;
}

.casoteca-content .passo h2 {
  margin-top: 0.5rem;
}

.casoteca-content .passo .conteudo {
  margin-top: 1rem;
}

/* ---------- Pergunta de Transição ---------- */
.casoteca-content .pergunta-transicao {
  background: linear-gradient(135deg, var(--azul-profundo) 0%, var(--roxo-tech) 100%);
  color: var(--branco);
  padding: 1.25rem 1.75rem;
  margin: 2rem 0;
  border-radius: 6px;
  font-weight: 400;
  font-size: 1.05rem;
  line-height: 1.6;
  position: relative;
}

.casoteca-content .pergunta-transicao::before {
  content: "\201C";
  font-size: 3rem;
  position: absolute;
  top: -0.2rem;
  left: 0.5rem;
  opacity: 0.25;
  font-weight: 700;
}

/* ---------- Variações ---------- */
.casoteca-content .variacao {
  background-color: var(--cinza-claro);
  border-left: 4px solid var(--verde-salvia);
  padding: 1.25rem 1.5rem;
  margin: 1.25rem 0;
  border-radius: 0 6px 6px 0;
}

.casoteca-content .variacao h4 {
  color: var(--verde-salvia);
  margin-bottom: 0.5rem;
}

.casoteca-content .variacao .solucao {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px dashed var(--ouro-suave);
}

/* ---------- Ficha Semântica ---------- */
.casoteca-content .ficha-semantica {
  background-color: var(--cinza-claro);
  border: 1px solid var(--ouro-suave);
  border-radius: 6px;
  padding: 1.5rem 2rem;
  margin: 2rem 0;
}

.casoteca-content .ficha-semantica h3 {
  color: var(--azul-profundo);
  margin-bottom: 1rem;
  border-bottom: 2px solid var(--ouro-suave);
  padding-bottom: 0.4rem;
}

.casoteca-content .ficha-semantica dl {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 0.5rem 1rem;
}

.casoteca-content .ficha-semantica dt {
  font-weight: 600;
  color: var(--azul-profundo);
}

.casoteca-content .ficha-semantica dd {
  margin: 0;
}

.casoteca-content .ficha-semantica .tags span {
  display: inline-block;
  background-color: var(--roxo-tech);
  color: var(--branco);
  font-size: 0.8rem;
  padding: 0.2rem 0.6rem;
  border-radius: 3px;
  margin: 0.15rem 0.25rem 0.15rem 0;
}

/* ---------- Índice de Materiais ---------- */
.casoteca-content .indice-materiais {
  margin: 2rem 0;
}

.casoteca-content .indice-materiais ul {
  list-style: none;
  padding: 0;
}

.casoteca-content .indice-materiais li {
  margin-bottom: 0.6rem;
}

.casoteca-content .indice-materiais a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  border: 1px solid #e2e2e2;
  border-radius: 4px;
  transition: background-color 0.2s ease, border-color 0.2s ease;
  width: 100%;
}

.casoteca-content .indice-materiais a:hover {
  background-color: var(--cinza-claro);
  border-color: var(--roxo-tech);
  text-decoration: none;
}

.casoteca-content .indice-materiais .icone {
  color: var(--verde-salvia);
  font-size: 1.1rem;
  flex-shrink: 0;
}

/* ---------- Legenda de Forças ---------- */
.casoteca-content .legenda-forca {
  margin: 2rem 0;
  font-size: 0.9rem;
}

.casoteca-content .legenda-forca ul {
  list-style: none;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.casoteca-content .legenda-forca .badge {
  display: inline-block;
  padding: 0.2rem 0.65rem;
  border-radius: 3px;
  font-weight: 600;
  font-size: 0.8rem;
  margin-right: 0.35rem;
}

.casoteca-content .legenda-forca .badge-vinculante  { background-color: var(--terracota); color: var(--branco); }
.casoteca-content .legenda-forca .badge-dominante   { background-color: var(--roxo-tech); color: var(--branco); }
.casoteca-content .legenda-forca .badge-minoritario { background-color: var(--ouro-suave); color: var(--azul-profundo); }
.casoteca-content .legenda-forca .badge-isolado     { background-color: #e2e2e2; color: var(--cinza-texto); }

/* ---------- Acordão Complementar ---------- */
.casoteca-content .acordao-complementar {
  border: 1px solid #e2e2e2;
  border-radius: 6px;
  padding: 1.5rem;
  margin: 1.5rem 0;
  transition: border-color 0.2s ease;
}

.casoteca-content .acordao-complementar:hover {
  border-color: var(--ouro-suave);
}

.casoteca-content .acordao-complementar h4 {
  color: var(--azul-profundo);
}

.casoteca-content .acordao-complementar .meta {
  font-size: 0.9rem;
  color: #666;
  margin-bottom: 0.75rem;
}

.casoteca-content .acordao-complementar .distincao {
  background-color: var(--cinza-claro);
  padding: 1rem;
  border-radius: 4px;
  margin-top: 0.75rem;
  border-left: 3px solid var(--ouro-suave);
}

/* ---------- Botões / CTAs ---------- */
.casoteca-content .btn {
  display: inline-block;
  padding: 0.6rem 1.5rem;
  border-radius: 4px;
  font-weight: 600;
  font-size: 0.95rem;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.1s ease;
  border: none;
  text-decoration: none;
}

.casoteca-content .btn:hover {
  transform: translateY(-1px);
  text-decoration: none;
}

.casoteca-content .btn-primario {
  background-color: var(--terracota);
  color: var(--branco);
}

.casoteca-content .btn-primario:hover {
  background-color: #a04f2f;
  color: var(--branco);
}

.casoteca-content .btn-secundario {
  background-color: transparent;
  color: var(--roxo-tech);
  border: 1px solid var(--roxo-tech);
}

.casoteca-content .btn-secundario:hover {
  background-color: var(--roxo-tech);
  color: var(--branco);
}

/* ---------- SEO / Schema Meta (visualmente oculto) ---------- */
.casoteca-content .seo-meta,
.casoteca-content .schema-meta {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ==========================================================================
   v3 — COMPONENTES: Níveis Dedutivos, Glossário, SE→ENTÃO
   ========================================================================== */

/* ---------- Badges de Nível ---------- */
.casoteca-content .badge-nivel {
  display: inline-block;
  padding: 0.2rem 0.7rem;
  border-radius: 3px;
  font-weight: 600;
  font-size: 0.75rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  vertical-align: middle;
}

.casoteca-content .badge-nivel--primeiro-olhar {
  background-color: var(--verde-salvia);
  color: var(--branco);
}

.casoteca-content .badge-nivel--estudo-dirigido {
  background-color: var(--roxo-tech);
  color: var(--branco);
}

.casoteca-content .badge-nivel--analise-completa {
  background-color: var(--azul-profundo);
  color: var(--branco);
}

.casoteca-content .badge-nivel--indutivo {
  background-color: var(--ouro-suave);
  color: var(--azul-profundo);
}

/* ---------- Barra de Progressão (Capa) ---------- */
.casoteca-content .barra-niveis {
  display: flex;
  gap: 0;
  margin: 2rem 0;
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid #e2e2e2;
}

.casoteca-content .barra-niveis__nivel {
  flex: 1;
  padding: 1rem 1.25rem;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.2s ease, transform 0.1s ease;
  position: relative;
}

.casoteca-content .barra-niveis__nivel:hover,
.casoteca-content .barra-niveis__nivel:focus-visible {
  text-decoration: none;
  filter: brightness(1.08);
  outline: 2px solid var(--ouro-suave);
  outline-offset: -2px;
}

.casoteca-content .barra-niveis__nivel--1 {
  background-color: #e8f5e9;
  color: var(--verde-salvia);
  border-right: 1px solid #c8e6c9;
}

.casoteca-content .barra-niveis__nivel--2 {
  background-color: #ede7f6;
  color: var(--roxo-tech);
  border-right: 1px solid #d1c4e9;
}

.casoteca-content .barra-niveis__nivel--3 {
  background-color: #e3eaf4;
  color: var(--azul-profundo);
}

.casoteca-content .barra-niveis__titulo {
  display: block;
  font-weight: 700;
  font-size: 0.95rem;
  margin-bottom: 0.2rem;
}

.casoteca-content .barra-niveis__publico {
  display: block;
  font-size: 0.8rem;
  opacity: 0.75;
  font-weight: 400;
}

/* ---------- Link para Glossário (inline) ---------- */
.casoteca-content a.gl-link {
  color: var(--roxo-tech);
  text-decoration: none;
  border-bottom: 1px dotted var(--ouro-suave);
  transition: border-color 0.2s ease, color 0.2s ease;
}

.casoteca-content a.gl-link:hover,
.casoteca-content a.gl-link:focus-visible {
  color: var(--terracota);
  border-bottom-color: var(--terracota);
  border-bottom-style: solid;
  text-decoration: none;
}

/* Links sobre fundos escuros (azul/roxo) — contraste */
.casoteca-content .pergunta-transicao a,
.casoteca-content .se-entao__resultado a,
.casoteca-content .numero-passo a,
.casoteca-content .tabela-distincao thead a,
.casoteca-content .tabela-pretensao thead a {
  color: var(--ouro-suave);
  border-bottom-color: rgba(212, 165, 116, 0.5);
}

.casoteca-content .pergunta-transicao a:hover,
.casoteca-content .pergunta-transicao a:focus-visible,
.casoteca-content .se-entao__resultado a:hover,
.casoteca-content .se-entao__resultado a:focus-visible,
.casoteca-content .tabela-distincao thead a:hover,
.casoteca-content .tabela-distincao thead a:focus-visible,
.casoteca-content .tabela-pretensao thead a:hover,
.casoteca-content .tabela-pretensao thead a:focus-visible {
  color: var(--branco);
  border-bottom-color: var(--branco);
}

/* ---------- Glossário Contextual ---------- */
.casoteca-content .glossario-aviso {
  background-color: #fdf6ee;
  border: 1px solid var(--ouro-suave);
  border-left: 4px solid var(--ouro-suave);
  border-radius: 0 6px 6px 0;
  padding: 1.25rem 1.75rem;
  margin: 2rem 0;
  font-size: 0.95rem;
  line-height: 1.7;
  color: var(--cinza-texto);
}

.casoteca-content .glossario-aviso strong {
  color: var(--azul-profundo);
}

.casoteca-content .glossario-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  padding: 1rem 0;
  margin: 1.5rem 0;
  border-top: 1px solid #e2e2e2;
  border-bottom: 1px solid #e2e2e2;
}

.casoteca-content .glossario-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 4px;
  font-weight: 700;
  font-size: 0.85rem;
  color: var(--azul-profundo);
  background-color: var(--cinza-claro);
  transition: background-color 0.15s ease, color 0.15s ease;
}

.casoteca-content .glossario-nav a:hover {
  background-color: var(--azul-profundo);
  color: var(--branco);
  text-decoration: none;
}

.casoteca-content .glossario-nav a.inativo {
  opacity: 0.3;
  pointer-events: none;
}

.casoteca-content .glossario-letra {
  margin-top: 2.5rem;
  padding-top: 1rem;
  border-top: 2px solid var(--ouro-suave);
}

.casoteca-content .glossario-letra__titulo {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--azul-profundo);
  margin-bottom: 1.25rem;
  letter-spacing: 0.05em;
}

.casoteca-content .glossario-termo {
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #efefef;
}

.casoteca-content .glossario-termo:last-child {
  border-bottom: none;
}

.casoteca-content .glossario-termo dt {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--azul-profundo);
  margin-bottom: 0.5rem;
  scroll-margin-top: 2rem;
}

.casoteca-content .glossario-termo dd {
  margin: 0;
  padding-left: 0;
}

.casoteca-content .glossario-termo dd p {
  margin-bottom: 0.6rem;
}

.casoteca-content .glossario-termo .fundamento-legal {
  font-size: 0.88rem;
  color: var(--verde-salvia);
  font-weight: 600;
}

.casoteca-content .glossario-termo .nivel-uso {
  margin-top: 0.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

/* ---------- Checklist SE → ENTÃO ---------- */
.casoteca-content .se-entao {
  background-color: var(--cinza-claro);
  border: 1px solid #e2e2e2;
  border-radius: 6px;
  padding: 1.75rem 2rem;
  margin: 1.5rem 0;
}

.casoteca-content .se-entao__titulo {
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--azul-profundo);
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--ouro-suave);
}

.casoteca-content .se-entao__norma {
  font-size: 0.85rem;
  color: #666;
  font-weight: 400;
  margin-left: 0.5rem;
}

.casoteca-content .se-entao__lista {
  list-style: none;
  padding: 0;
  margin: 0 0 1.25rem 0;
}

.casoteca-content .se-entao__item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.6rem 0;
  border-bottom: 1px dashed #e2e2e2;
}

.casoteca-content .se-entao__item:last-child {
  border-bottom: none;
}

.casoteca-content .se-entao__check {
  flex-shrink: 0;
  width: 1.4rem;
  height: 1.4rem;
  border: 2px solid var(--azul-profundo);
  border-radius: 3px;
  margin-top: 0.15rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  color: var(--branco);
  background-color: var(--branco);
}

.casoteca-content .se-entao__check--sim {
  background-color: var(--verde-salvia);
  border-color: var(--verde-salvia);
}

.casoteca-content .se-entao__check--nao {
  background-color: var(--terracota);
  border-color: var(--terracota);
}

.casoteca-content .se-entao__pergunta {
  font-size: 1rem;
  line-height: 1.5;
}

.casoteca-content .se-entao__resultado {
  background: linear-gradient(135deg, var(--azul-profundo) 0%, var(--roxo-tech) 100%);
  color: var(--branco);
  padding: 1rem 1.5rem;
  border-radius: 4px;
  font-weight: 600;
  font-size: 1rem;
  margin-top: 0.5rem;
}

.casoteca-content .se-entao__resultado::before {
  content: "\2192  ";
}

/* SE→ENTÃO pressuposto */
.casoteca-content .se-entao__pressuposto {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px dashed #e2e2e2;
}

.casoteca-content .se-entao__pressuposto:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

/* SE→ENTÃO expandido (Nível 2 e 3) */
.casoteca-content .se-entao--expandido .se-entao__item {
  flex-direction: column;
  gap: 0.35rem;
  padding: 1rem 0;
}

.casoteca-content .se-entao--expandido .se-entao__numero {
  font-weight: 700;
  color: var(--azul-profundo);
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.casoteca-content .se-entao--expandido .se-entao__conceito {
  font-size: 0.92rem;
  color: #555;
  padding-left: 1.5rem;
  border-left: 2px solid var(--ouro-suave);
  margin: 0.35rem 0;
}

.casoteca-content .se-entao--expandido .se-entao__aplicacao {
  font-size: 0.95rem;
  padding-left: 1.5rem;
  color: var(--cinza-texto);
  font-weight: 400;
}

.casoteca-content .se-entao--expandido .se-entao__aplicacao strong {
  color: var(--verde-salvia);
}

/* ---------- Mapa do Sistema (Posição no Ordenamento) ---------- */
.casoteca-content .mapa-sistema {
  background-color: var(--cinza-claro);
  border: 1px solid #e2e2e2;
  border-radius: 6px;
  padding: 1.5rem 2rem;
  margin: 1.5rem 0;
  font-family: 'Courier New', Courier, monospace;
  font-size: 0.9rem;
  line-height: 1.8;
  overflow-x: auto;
  color: var(--cinza-texto);
  white-space: pre-wrap;
  word-wrap: break-word;
}

.casoteca-content .mapa-sistema .destaque {
  background-color: var(--azul-profundo);
  color: var(--branco);
  padding: 0.15rem 0.5rem;
  border-radius: 3px;
  font-weight: 700;
}

.casoteca-content .mapa-sistema .referencia {
  color: var(--roxo-tech);
  font-weight: 600;
}

/* ---------- Tabela de Distinções ---------- */
.casoteca-content .tabela-distincao {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  font-size: 0.92rem;
}

.casoteca-content .tabela-distincao thead th {
  background-color: var(--azul-profundo);
  color: var(--branco);
  padding: 0.75rem 1rem;
  text-align: left;
  font-weight: 600;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.casoteca-content .tabela-distincao tbody td {
  padding: 0.65rem 1rem;
  border-bottom: 1px solid #e8e8e8;
  vertical-align: top;
}

.casoteca-content .tabela-distincao tbody tr:nth-child(even) {
  background-color: var(--cinza-claro);
}

.casoteca-content .tabela-distincao tbody td:first-child {
  font-weight: 600;
  color: var(--azul-profundo);
  white-space: nowrap;
}

/* ---------- Transição entre Níveis (CTA) ---------- */
.casoteca-content .transicao-nivel {
  background-color: #fafafa;
  border: 2px dashed var(--ouro-suave);
  border-radius: 8px;
  padding: 1.5rem 2rem;
  margin: 2.5rem 0;
  text-align: center;
}

.casoteca-content .transicao-nivel p {
  margin-bottom: 0.75rem;
  font-size: 1rem;
  color: var(--cinza-texto);
}

.casoteca-content .transicao-nivel a.btn {
  margin-top: 0.5rem;
}

/* ---------- Seção "Leia a Decisão" ---------- */
.casoteca-content .leia-decisao {
  background: linear-gradient(180deg, #fdf6ee 0%, var(--branco) 100%);
  border: 1px solid var(--ouro-suave);
  border-radius: 6px;
  padding: 1.75rem 2rem;
  margin: 2rem 0;
}

.casoteca-content .leia-decisao h3 {
  color: var(--terracota);
  margin-bottom: 1rem;
}

.casoteca-content .leia-decisao ol,
.casoteca-content .leia-decisao ul {
  padding-left: 1.25rem;
  margin-bottom: 1rem;
}

.casoteca-content .leia-decisao li {
  margin-bottom: 0.5rem;
  line-height: 1.6;
}

/* ---------- Tabela de Pretensão (Quem quer o quê?) ---------- */
.casoteca-content div.tabela-pretensao {
  margin: 1.5rem 0;
  overflow-x: auto;
}

.casoteca-content table.tabela-pretensao {
  margin: 1.5rem 0;
}

.casoteca-content .tabela-pretensao table,
.casoteca-content table.tabela-pretensao {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
}

.casoteca-content .tabela-pretensao caption {
  font-weight: 700;
  font-size: 1.1rem;
  color: var(--azul-profundo);
  text-align: left;
  margin-bottom: 0.75rem;
  padding-bottom: 0.4rem;
  border-bottom: 2px solid var(--ouro-suave);
}

.casoteca-content .tabela-pretensao thead th {
  background-color: var(--azul-profundo);
  color: var(--branco);
  padding: 0.7rem 1rem;
  text-align: left;
  font-weight: 600;
  font-size: 0.85rem;
  letter-spacing: 0.03em;
}

.casoteca-content .tabela-pretensao thead th:first-child {
  border-radius: 4px 0 0 0;
}

.casoteca-content .tabela-pretensao thead th:last-child {
  border-radius: 0 4px 0 0;
}

.casoteca-content .tabela-pretensao tbody th {
  background-color: var(--cinza-claro);
  color: var(--azul-profundo);
  font-weight: 600;
  padding: 0.65rem 1rem;
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
  border-bottom: 1px solid #e2e2e2;
}

.casoteca-content .tabela-pretensao tbody td {
  padding: 0.65rem 1rem;
  border-bottom: 1px solid #e2e2e2;
  vertical-align: top;
  line-height: 1.6;
}

.casoteca-content .tabela-pretensao tbody tr:last-child th,
.casoteca-content .tabela-pretensao tbody tr:last-child td {
  border-bottom: 2px solid var(--ouro-suave);
}

/* Coluna do mantra "Quem quer o quê?" */
.casoteca-content .tabela-pretensao .col-mantra {
  background-color: #e3eaf4;
  color: var(--azul-profundo);
  font-weight: 700;
  font-size: 0.9rem;
  white-space: nowrap;
  border-right: 2px solid var(--ouro-suave);
}

/* Nível intermediário — Elemento da Ação */
.casoteca-content .tabela-pretensao--intermediario .col-elemento {
  font-size: 0.88rem;
  color: var(--roxo-tech);
  font-weight: 600;
}

.casoteca-content .tabela-pretensao--intermediario .col-elemento small {
  display: block;
  font-weight: 400;
  color: #666;
  font-size: 0.82rem;
  margin-top: 0.15rem;
}

/* Nível avançado — subcolunas da causa de pedir */
.casoteca-content .tabela-pretensao--avancado .subgrupo-header {
  background-color: #ede7f6;
  color: var(--roxo-tech);
  font-weight: 700;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.4rem 1rem;
}

.casoteca-content .tabela-pretensao--avancado .subgrupo-row td,
.casoteca-content .tabela-pretensao--avancado .subgrupo-row th {
  padding-left: 2rem;
  font-size: 0.9rem;
  border-bottom: 1px dashed #e8e8e8;
}

/* ---------- Destaque UNMANI (blockquote especial) ---------- */
.casoteca-content .destaque-unmani {
  background-color: var(--cinza-claro);
  border-left: 4px solid var(--roxo-tech);
  padding: 1rem 1.5rem;
  margin: 1.5rem 0;
  font-weight: 400;
  font-size: 1rem;
}

/* ---------- Destaque de Atualização Jurisprudencial ---------- */
.casoteca-content .destaque-atualizacao {
  background-color: #f0f4ff;
  border-left: 4px solid var(--azul-profundo);
  padding: 1rem 1.5rem;
  margin: 1.5rem 0;
  border-radius: 0 4px 4px 0;
}

.casoteca-content .destaque-atualizacao h4 {
  margin: 0 0 0.75rem 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--azul-profundo);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.casoteca-content .destaque-atualizacao ul {
  margin: 0.5rem 0;
  padding-left: 1.25rem;
}

.casoteca-content .destaque-atualizacao li {
  margin-bottom: 0.75rem;
  font-size: 0.93rem;
  line-height: 1.6;
}

.casoteca-content .destaque-atualizacao p:last-child {
  margin-bottom: 0;
}

/* ---------- Nota de Citação ---------- */
.casoteca-content .nota-citacao {
  font-size: 0.88rem;
  color: #666;
  font-style: italic;
  margin: 1rem 0;
  padding: 0.75rem 1rem;
  background-color: #fdf6ee;
  border-radius: 4px;
}

/* ---------- Subtítulo do Caso ---------- */
.casoteca-content .subtitulo-caso {
  font-size: 1.1rem;
  color: var(--roxo-tech);
  font-weight: 400;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}

/* ---------- Descrição de Níveis (Capa) ---------- */
.casoteca-content .descricao-niveis {
  font-size: 0.95rem;
  color: #666;
  margin-bottom: 0.75rem;
  font-style: italic;
}

/* ---------- Utilitários ---------- */
.casoteca-content .texto-centro  { text-align: center; }
.casoteca-content .texto-direita { text-align: right; }
.casoteca-content .mt-1 { margin-top: 0.5rem; }
.casoteca-content .mt-2 { margin-top: 1rem; }
.casoteca-content .mt-3 { margin-top: 1.5rem; }
.casoteca-content .mb-1 { margin-bottom: 0.5rem; }
.casoteca-content .mb-2 { margin-bottom: 1rem; }
.casoteca-content .mb-3 { margin-bottom: 1.5rem; }
.casoteca-content .bg-alternado { background-color: var(--cinza-claro); }

/* ==========================================================================
   RESPONSIVO
   ========================================================================== */

@media screen and (max-width: 768px) {
  .casoteca-content h1 { font-size: 1.6rem; }
  .casoteca-content h2 { font-size: 1.3rem; }

  .casoteca-content .ficha-caso th {
    width: 140px;
  }

  .casoteca-content .ficha-semantica dl {
    grid-template-columns: 1fr;
  }

  .casoteca-content .ficha-semantica dt {
    margin-top: 0.5rem;
  }

  .casoteca-content .legenda-forca ul {
    flex-direction: column;
    gap: 0.5rem;
  }

  .casoteca-content .pergunta-transicao {
    font-size: 0.95rem;
    padding: 1rem 1.25rem;
  }

  .casoteca-content .barra-niveis {
    flex-direction: column;
  }

  .casoteca-content .barra-niveis__nivel {
    border-right: none;
    border-bottom: 1px solid #e2e2e2;
  }

  .casoteca-content .barra-niveis__nivel:last-child {
    border-bottom: none;
  }

  /* ---- Tabelas responsivas — card layout (mobile) ---- */
  .casoteca-content .tabela-pretensao table,
  .casoteca-content table.tabela-pretensao,
  .casoteca-content .tabela-distincao {
    border: 0;
  }

  .casoteca-content .tabela-pretensao thead,
  .casoteca-content .tabela-distincao thead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .casoteca-content .tabela-pretensao tbody,
  .casoteca-content .tabela-pretensao tr,
  .casoteca-content .tabela-pretensao th,
  .casoteca-content .tabela-pretensao td,
  .casoteca-content .tabela-distincao tbody,
  .casoteca-content .tabela-distincao tr,
  .casoteca-content .tabela-distincao td {
    display: block;
    width: 100%;
  }

  .casoteca-content .tabela-pretensao tbody > tr,
  .casoteca-content .tabela-distincao tbody > tr {
    margin-bottom: 1.25rem;
    border: 1px solid #e2e2e2;
    border-left: 3px solid var(--azul-profundo);
    border-radius: 0 6px 6px 0;
    padding: 0;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    background-color: var(--branco);
  }

  .casoteca-content .tabela-pretensao tbody th,
  .casoteca-content .tabela-pretensao tbody td,
  .casoteca-content .tabela-distincao tbody td {
    padding: 0.6rem 1rem;
    border-bottom: 1px solid #f0f0f0;
    text-align: left;
    white-space: normal;
  }

  .casoteca-content .tabela-pretensao tbody th:last-child,
  .casoteca-content .tabela-pretensao tbody td:last-child,
  .casoteca-content .tabela-distincao tbody td:last-child {
    border-bottom: none;
  }

  /* data-label: pseudo-header sobre cada célula */
  .casoteca-content .tabela-pretensao [data-label]::before,
  .casoteca-content .tabela-distincao [data-label]::before {
    content: attr(data-label);
    display: block;
    font-weight: 700;
    font-size: 0.78rem;
    color: var(--azul-profundo);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 0.2rem;
  }

  /* Row headers (th) — card title */
  .casoteca-content .tabela-pretensao tbody > tr > th:first-child:not(.col-mantra) {
    background-color: var(--azul-profundo);
    color: var(--branco);
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }

  /* Subgrupo headers (Análise Completa) — dividers */
  .casoteca-content .tabela-pretensao .subgrupo-header {
    border: none;
    box-shadow: none;
    margin-bottom: 0;
    border-left: none;
    border-radius: 0;
  }

  .casoteca-content .tabela-pretensao .subgrupo-header td {
    background-color: var(--roxo-tech);
    color: var(--branco);
    font-weight: 700;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-align: center;
    border-radius: 4px;
    border-bottom: none;
  }

  /* col-mantra highlight on mobile */
  .casoteca-content .tabela-pretensao .col-mantra {
    background-color: #e3eaf4;
    border-right: none;
    border-bottom: 1px solid #d0dae8;
    white-space: normal;
  }

  /* col-elemento on mobile */
  .casoteca-content .tabela-pretensao .col-elemento {
    background-color: var(--cinza-claro);
  }

  /* tabela-distincao: first cell = card header */
  .casoteca-content .tabela-distincao tbody td:first-child {
    background-color: var(--cinza-claro);
    font-weight: 700;
    white-space: normal;
  }

  /* Remove alternate row shading in card mode */
  .casoteca-content .tabela-distincao tbody tr:nth-child(even) {
    background-color: transparent;
  }

  /* Reset last-row border */
  .casoteca-content .tabela-pretensao tbody tr:last-child th,
  .casoteca-content .tabela-pretensao tbody tr:last-child td {
    border-bottom: 1px solid #f0f0f0;
  }

  .casoteca-content .tabela-pretensao tbody tr:last-child td:last-child,
  .casoteca-content .tabela-pretensao tbody tr:last-child th:last-child {
    border-bottom: none;
  }
}

@media screen and (max-width: 480px) {
  .casoteca-content h1 { font-size: 1.4rem; }
  .casoteca-content h2 { font-size: 1.15rem; }
  .casoteca-content h3 { font-size: 1.05rem; }

  /* Passos */
  .casoteca-content .passo {
    margin: 1.5rem 0;
    padding: 1rem 0;
  }

  /* Perguntas de transição */
  .casoteca-content .pergunta-transicao {
    font-size: 0.9rem;
    padding: 0.85rem 1rem 0.85rem 1.25rem;
  }

  .casoteca-content .pergunta-transicao::before {
    font-size: 2rem;
    top: -0.1rem;
    left: 0.25rem;
    opacity: 0.15;
  }

  /* SE→ENTÃO */
  .casoteca-content .se-entao {
    padding: 1.25rem 1rem;
  }

  .casoteca-content .se-entao--expandido .se-entao__conceito,
  .casoteca-content .se-entao--expandido .se-entao__aplicacao {
    padding-left: 1rem;
  }

  .casoteca-content .se-entao__resultado {
    padding: 0.85rem 1rem;
    font-size: 0.92rem;
  }

  /* Variações */
  .casoteca-content .variacao {
    padding: 1rem 1.25rem;
  }

  /* Ficha semântica */
  .casoteca-content .ficha-semantica {
    padding: 1.25rem 1rem;
  }

  /* Ficha do caso */
  .casoteca-content .ficha-caso th,
  .casoteca-content .ficha-caso td {
    display: block;
    width: 100%;
  }

  .casoteca-content .ficha-caso th {
    border-bottom: none;
    padding-bottom: 0.1rem;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
  }

  .casoteca-content .ficha-caso td {
    padding-top: 0;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #eee;
  }

  /* Glossário */
  .casoteca-content .glossario-aviso {
    padding: 1rem 1.25rem;
  }

  .casoteca-content .glossario-termo dt {
    font-size: 1.05rem;
  }

  /* Mapa do sistema */
  .casoteca-content .mapa-sistema {
    padding: 1rem 1.25rem;
    font-size: 0.82rem;
  }

  /* Leia a decisão */
  .casoteca-content .leia-decisao {
    padding: 1.25rem 1rem;
  }

  .casoteca-content .leia-decisao ol,
  .casoteca-content .leia-decisao ul {
    padding-left: 0.85rem;
  }

  /* Transição entre níveis */
  .casoteca-content .transicao-nivel {
    padding: 1.25rem 1rem;
  }

  /* Link tribunal */
  .casoteca-content .link-tribunal {
    padding: 1rem;
  }

  .casoteca-content .link-tribunal a {
    margin-right: 0.75rem;
  }

  /* Botões — acessibilidade toque (min 44px) */
  .casoteca-content .btn {
    padding: 0.75rem 1.25rem;
    font-size: 0.9rem;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* Acordão complementar */
  .casoteca-content .acordao-complementar {
    padding: 1rem;
  }

  /* Sinopse */
  .casoteca-content .sinopse {
    padding: 1.25rem 1.25rem;
  }

  /* Blockquote */
  .casoteca-content blockquote {
    padding: 0.85rem 1rem;
    margin: 1rem 0;
  }

  /* Destaque atualização */
  .casoteca-content .destaque-atualizacao {
    padding: 0.75rem 1rem;
  }
}

/* ==========================================================================
   IMPRESSÃO
   ========================================================================== */

@media print {
  .casoteca-content {
    font-size: 11pt;
    color: #000;
    line-height: 1.5;
  }

  .casoteca-content a {
    color: #000;
    text-decoration: underline;
  }

  .casoteca-content a[href]::after {
    content: " (" attr(href) ")";
    font-size: 0.85em;
    color: #555;
  }

  .casoteca-content a[href^="#"]::after,
  .casoteca-content a[href^="javascript"]::after {
    content: "";
  }

  .casoteca-content .pergunta-transicao {
    background: none;
    color: #000;
    border: 2px solid #333;
    border-radius: 0;
  }

  .casoteca-content .sinopse,
  .casoteca-content .variacao,
  .casoteca-content .ficha-semantica,
  .casoteca-content .link-tribunal,
  .casoteca-content .acordao-complementar,
  .casoteca-content .leia-decisao,
  .casoteca-content .tabela-pretensao {
    border-color: #999;
    background: none;
  }

  .casoteca-content .transicao-nivel {
    border-color: #999;
    background: none;
  }

  .casoteca-content .btn {
    border: 1px solid #333;
    background: none;
    color: #000;
  }

  .casoteca-content .estrelas .preenchida { color: #333; }
  .casoteca-content .estrelas .vazia      { color: #ccc; }

  .casoteca-content .indice-materiais a {
    border: none;
    padding: 0;
  }

  .casoteca-content .barra-niveis {
    border-color: #999;
  }

  .casoteca-content .barra-niveis__nivel {
    background: none;
    color: #000;
    border-color: #999;
  }

  .casoteca-content .glossario-aviso {
    background: none;
    border-color: #999;
  }

  .casoteca-content .tabela-distincao thead th {
    background: none;
    color: #000;
    border-bottom: 2px solid #333;
  }

  .casoteca-content .se-entao__resultado {
    background: none;
    color: #000;
    border: 2px solid #333;
  }

  .casoteca-content section,
  .casoteca-content .passo {
    page-break-inside: avoid;
  }

  .casoteca-content h2,
  .casoteca-content h3 {
    page-break-after: avoid;
  }
}


/* ==========================================================================
   OVERRIDES — WPBakery / The7 specificity boost
   O The7 e o WPBakery injetam estilos com alta especificidade (.entry-content,
   .wpb_text_column, etc.). Estas regras garantem que os estilos da Casoteca
   prevalecam sem depender de !important.
   ========================================================================== */
.wpb_text_column .casoteca-content,
.entry-content .casoteca-content,
.casoteca-content {
  font-family: var(--font-principal);
  font-weight: 300;
  color: var(--cinza-texto);
  line-height: 1.75;
}

.wpb_text_column .casoteca-content h1,
.wpb_text_column .casoteca-content h2,
.wpb_text_column .casoteca-content h3,
.wpb_text_column .casoteca-content h4 {
  font-family: var(--font-principal);
  font-weight: 700;
  color: var(--azul-profundo);
  line-height: 1.3;
}

.wpb_text_column .casoteca-content a,
.entry-content .casoteca-content a {
  color: var(--roxo-tech);
  text-decoration: none;
}

.wpb_text_column .casoteca-content a:hover,
.entry-content .casoteca-content a:hover {
  color: var(--terracota);
}

.wpb_text_column .casoteca-content p,
.entry-content .casoteca-content p {
  margin-bottom: 1rem;
  font-size: 1rem;
}