/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jun 06 2026 | 02:42:35 */
/* =========================================================================
   cp-pages-tribunais.css — Hub "Tribunais / Quem decide"
   Prefixo: cp-trb-  | Organograma do STJ + ministros por órgão.
   Recorte penal (S3/T5/T6) destacado em burgundy. Full-width breakout.
   Regras de !important seguem memory/reference_css_buddyboss.md.
   ========================================================================= */

.cp-ds .cp-trb-wrap {
  --cp-trb-penal: #7A2E3A;
  --cp-trb-penal-soft: #f3e7ea;
  --cp-trb-muted: #6b7280;
  --cp-trb-line: #e5e7eb;
  --cp-trb-card: #ffffff;
}

/* ---- Hero (público) ---- */
.cp-ds .cp-trb-hero {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  background: linear-gradient(135deg, #1A1A1A 0%, #3a2a2e 60%, var(--cp-trb-penal) 140%);
  padding: 56px 20px 48px !important;
}
.cp-ds .cp-trb-hero-inner {
  max-width: var(--cp-page-max, 1100px);
  margin: 0 auto !important;
}
.cp-ds .cp-trb-crumb,
.cp-ds .cp-trb-crumb a {
  color: rgba(255, 255, 255, 0.75) !important;
  font-size: 13px !important;
  text-decoration: none !important;
}
.cp-ds .cp-trb-crumb a:visited { color: rgba(255, 255, 255, 0.75) !important; }
.cp-ds .cp-trb-crumb a:hover { color: var(--cp-amarelo, #F7D44A) !important; }
.cp-ds .cp-trb-hero-title {
  color: #fff !important;
  font-size: 38px !important;
  font-weight: 800 !important;
  line-height: 1.12 !important;
  margin: 10px 0 14px !important;
}
.cp-ds .cp-trb-hero-deck {
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: 18px !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  max-width: 720px;
}

/* ---- Seletor de cortes ---- */
.cp-ds .cp-trb-cortes {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  background: var(--cp-bg, #f4f4f6);
  padding: 28px 20px !important;
  border-bottom: 1px solid var(--cp-trb-line) !important;
}
.cp-ds .cp-trb-cortes-inner {
  max-width: var(--cp-page-max, 1100px);
  margin: 0 auto !important;
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}
.cp-ds .cp-trb-corte {
  flex: 1 1 220px;
  background: var(--cp-trb-card);
  border: 1px solid var(--cp-trb-line) !important;
  border-radius: 12px !important;
  padding: 18px 20px !important;
  display: flex;
  align-items: center;
  gap: 14px;
}
.cp-ds .cp-trb-corte-active {
  border-color: var(--cp-trb-penal) !important;
  box-shadow: 0 2px 14px rgba(122, 46, 58, 0.12);
}
.cp-ds .cp-trb-corte-soon { opacity: 0.6; }
.cp-ds .cp-trb-corte-sigla {
  font-size: 22px !important;
  font-weight: 800 !important;
  color: var(--cp-trb-penal) !important;
  background: var(--cp-trb-penal-soft);
  border-radius: 10px !important;
  padding: 8px 12px !important;
  line-height: 1 !important;
}
.cp-ds .cp-trb-corte-soon .cp-trb-corte-sigla {
  color: var(--cp-trb-muted) !important;
  background: #eceef1;
}
.cp-ds .cp-trb-corte-name {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--cp-preto, #1A1A1A) !important;
  margin: 0 0 2px !important;
}
.cp-ds .cp-trb-corte-desc {
  font-size: 12.5px !important;
  color: var(--cp-trb-muted) !important;
  margin: 0 !important;
  line-height: 1.35 !important;
}
.cp-ds .cp-trb-corte-badge {
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--cp-trb-muted) !important;
  border: 1px solid var(--cp-trb-line) !important;
  border-radius: 999px !important;
  padding: 2px 9px !important;
  margin-left: auto !important;
}

/* ---- Corpo / controles ---- */
.cp-ds .cp-trb-body {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  background: var(--cp-bg, #f4f4f6);
  padding: 28px 20px 56px !important;
}
.cp-ds .cp-trb-body-inner {
  max-width: var(--cp-page-max, 1100px);
  margin: 0 auto !important;
}
.cp-ds .cp-trb-controls {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin: 0 0 18px !important;
}
.cp-ds .cp-trb-scope {
  display: inline-flex;
  background: #eceef1;
  border-radius: 999px !important;
  padding: 4px !important;
}
.cp-ds .cp-trb-scope-btn {
  border: 0 !important;
  background: transparent !important;
  color: var(--cp-trb-muted) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  padding: 7px 18px !important;
  border-radius: 999px !important;
  cursor: pointer;
}
.cp-ds .cp-trb-scope-active {
  background: var(--cp-trb-penal) !important;
  color: #fff !important;
}
.cp-ds .cp-trb-window {
  font-size: 13px !important;
  color: var(--cp-trb-muted) !important;
  margin: 0 !important;
}

/* ---- Organograma (grid de órgãos) ---- */
.cp-ds .cp-trb-organograma {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}
.cp-ds .cp-trb-orgao {
  background: var(--cp-trb-card);
  border: 1px solid var(--cp-trb-line) !important;
  border-left: 4px solid var(--cp-trb-muted) !important;
  border-radius: 12px !important;
  padding: 18px 20px !important;
}
.cp-ds .cp-trb-area-penal { border-left-color: var(--cp-trb-penal) !important; }
.cp-ds .cp-trb-area-publico { border-left-color: #2563eb !important; }
.cp-ds .cp-trb-area-privado { border-left-color: #0f766e !important; }
.cp-ds .cp-trb-area-geral { border-left-color: var(--cp-preto, #1A1A1A) !important; }

.cp-ds .cp-trb-orgao-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 4px !important;
}
.cp-ds .cp-trb-orgao-name {
  display: block;
  font-size: 17px !important;
  font-weight: 800 !important;
  color: var(--cp-preto, #1A1A1A) !important;
  line-height: 1.2 !important;
}
.cp-ds .cp-trb-orgao-area {
  display: inline-block;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--cp-trb-penal) !important;
  margin-top: 2px !important;
}
.cp-ds .cp-trb-area-publico .cp-trb-orgao-area { color: #2563eb !important; }
.cp-ds .cp-trb-area-privado .cp-trb-orgao-area { color: #0f766e !important; }
.cp-ds .cp-trb-orgao-count {
  flex: 0 0 auto;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--cp-trb-muted) !important;
  white-space: nowrap;
}
.cp-ds .cp-trb-orgao-note {
  font-size: 12.5px !important;
  color: var(--cp-trb-muted) !important;
  margin: 0 0 12px !important;
  line-height: 1.4 !important;
}

/* ---- Ministros (cards clicáveis) ---- */
.cp-ds .cp-trb-ministros {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin-top: 12px !important;
}
.cp-ds a.cp-trb-min,
.cp-ds a.cp-trb-min:visited {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px !important;
  border: 1px solid var(--cp-trb-line) !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  color: inherit !important;
  background: #fafafa;
}
.cp-ds a.cp-trb-min:hover {
  border-color: var(--cp-trb-penal) !important;
  background: var(--cp-trb-penal-soft) !important;
}
.cp-ds .cp-trb-min-avatar {
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  border-radius: 50% !important;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--cp-trb-penal-soft);
}
.cp-ds .cp-trb-min-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cp-ds .cp-trb-min-avatar-initials {
  font-size: 13px !important;
  font-weight: 800 !important;
  color: var(--cp-trb-penal) !important;
}
.cp-ds .cp-trb-min-body { min-width: 0; }
.cp-ds .cp-trb-min-name {
  display: block;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: var(--cp-preto, #1A1A1A) !important;
  line-height: 1.2 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cp-ds .cp-trb-min-meta {
  display: block;
  font-size: 11.5px !important;
  color: var(--cp-trb-muted) !important;
  line-height: 1.2 !important;
}
.cp-ds .cp-trb-empty {
  font-size: 13.5px !important;
  color: var(--cp-trb-muted) !important;
  margin: 0 !important;
}

/* ---- Erro ---- */
.cp-ds .cp-trb-error {
  background: #fef2f2;
  border: 1px solid #fecaca !important;
  border-radius: 10px !important;
  padding: 14px 16px !important;
  color: #991b1b !important;
  font-size: 14px !important;
}

/* ---- Responsivo ---- */
@media (max-width: 900px) {
  .cp-ds .cp-trb-organograma { grid-template-columns: 1fr; }
  .cp-ds .cp-trb-hero-title { font-size: 30px !important; }
  .cp-ds .cp-trb-hero-deck { font-size: 16px !important; }
}
@media (max-width: 480px) {
  .cp-ds .cp-trb-ministros { grid-template-columns: 1fr; }
  .cp-ds .cp-trb-hero { padding: 40px 16px 32px !important; }
  .cp-ds .cp-trb-hero-title { font-size: 25px !important; }
}
