/*!
 * Tema CBEPJUR 2026 (modelo Acesso) para o Chamilo 1.11.40 - APF Assessoria
 * Mesma estrutura do tema Acesso do CICV (cabeçalho com logo e nome, tela de login com boas-vindas e cartão, bloco lateral,
 * rodapé com crédito) com o design system do www.cbepjur.com.br (páginas inicial e de curso):
 * - cores do :root do site: #3B141D (fundo escuro), #C41E2D e #7A1B26 (degradê), #F7F3F1 (cartão), #ECE3E0 (borda);
 * - Fraunces nos títulos grandes (h1/h2), Archivo nos títulos menores, Inter no texto (SIL OFL, em fonts/);
 * - fundos escuros com o padrão de losangos, o ruído e o halftone do site; botões em pílula com o degradê;
 *   "eyebrow" (rótulo com bolinha) e cartões claros que sobem ao passar o mouse.
 * O tema CBEPJUR (2026, aprovado antes) continua na pasta CBEPJUR.
 */

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(fonts/inter-normal-latin.woff2) format('woff2');
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700 900;
  font-display: swap;
  src: url(fonts/archivo-normal-latin.woff2) format('woff2');
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url(fonts/fraunces-normal-latin.woff2) format('woff2');
}
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 300 900;
  font-display: swap;
  src: url(fonts/fraunces-italic-latin.woff2) format('woff2');
}

:root {
  --cb-bg-dark: #3B141D;
  --cb-bg-darker: #2E0F16;
  --cb-card: #F7F3F1;
  --cb-text: #1A1210;
  --cb-text-inv: #F7F1EE;
  --cb-muted: #6B5D5A;
  --cb-muted-inv: #CBAFAE;
  --cb-border: #ECE3E0;
  --cb-border-dark: #5C2530;
  --cb-accent: #C41E2D;
  --cb-accent2: #7A1B26;
  --cb-grad: linear-gradient(90deg, #C41E2D, #7A1B26);
  --cb-grad-soft: linear-gradient(135deg, rgba(196,30,45,.14), rgba(122,27,38,.10));
  --cb-radius: 14px;
  --cb-radius-sm: 8px;
  --cb-ease: cubic-bezier(.22,1,.36,1);
  --cb-shadow: 0 8px 30px rgba(16,24,40,.08);
  --cb-shadow-lg: 0 20px 60px rgba(16,24,40,.14);
  --cb-focus: 0 0 0 3px rgba(196,30,45,.22);
  --cb-pattern: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='56'%20height='56'%20viewBox='0%200%2056%2056'%3E%3Cg%20fill='none'%20stroke='%23ffffff'%20stroke-width='0.9'%20opacity='0.34'%3E%3Cpath%20d='M28%200%2056%2028%2028%2056%200%2028Z'/%3E%3Cpath%20d='M28%2014%2042%2028%2028%2042%2014%2028Z'%20opacity='0.5'/%3E%3C/g%3E%3Ccircle%20cx='28'%20cy='28'%20r='1.2'%20fill='%23ffffff'%20opacity='0.26'/%3E%3C/svg%3E");
  /* as camadas escuras do site: losangos e ruído em "overlay", os brilhos e o escurecimento */
  --cb-dark-layers:
    var(--cb-pattern),
    url(images/textura-ruido.webp),
    radial-gradient(1100px 620px at 8% -20%, rgba(196,30,45,.20), transparent 62%),
    radial-gradient(880px 540px at 108% 112%, rgba(122,27,38,.40), transparent 64%),
    linear-gradient(168deg, rgba(255,255,255,.045), rgba(0,0,0,.32));
  --cb-dark-repeat: repeat, repeat, no-repeat, no-repeat, no-repeat;
  --cb-dark-size: 56px 56px, 300px 300px, auto, auto, auto;
  --cb-dark-blend: overlay, overlay, normal, normal, normal;
}

/* Base */
html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: var(--cb-text);
  background: #FFFFFF;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
/* Rodapé no fim da página sem sobrepor o conteúdo (o base.css o deixa absoluto) */
body > main#main:has(> footer.footer) {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
body > main#main:has(> footer.footer) > #cm-content {
  flex: 1 0 auto;
}
body > main footer.footer {
  position: static;
}
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: 'Archivo', 'Inter', sans-serif;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--cb-text);
}
h1, h2, .h1, .h2 {
  font-family: 'Fraunces', 'Archivo', serif;
  font-weight: 600;
  letter-spacing: -0.015em;
}
a {
  color: var(--cb-accent2);
}
a:hover, a:focus {
  color: var(--cb-accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}
::selection {
  background: rgba(196,30,45,.18);
}
a:focus-visible, .btn:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: none;
  box-shadow: var(--cb-focus);
}
.text-muted, .help-block {
  color: var(--cb-muted);
}
/* rótulo com bolinha em degradê, como o "eyebrow" do site */
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--cb-accent2);
}
.eyebrow::before {
  content: '';
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--cb-grad);
}

/* Cabeçalho escuro: logo branco | nome completo da instituição */
#cm-header {
  background-color: var(--cb-bg-dark);
  background-image: var(--cb-dark-layers);
  background-repeat: var(--cb-dark-repeat);
  background-size: var(--cb-dark-size);
  background-blend-mode: var(--cb-dark-blend);
  color: var(--cb-text-inv);
}
#cm-header > .container {
  padding-top: 14px;
  padding-bottom: 14px;
}
#cm-header .cab-cbepjur {
  display: flex;
  align-items: center;
  gap: 18px;
}
#cm-header .cab-logo img {
  display: block;
  height: 46px;
  width: auto;
}
#cm-header .cab-nome {
  margin: 0;
  padding-left: 18px;
  border-left: 1px solid var(--cb-border-dark);
  font-family: 'Fraunces', 'Archivo', serif;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.3;
  color: var(--cb-muted-inv);
}
#cm-header > .container a {
  color: var(--cb-text-inv);
}
#cm-header .header-ol {
  margin: 6px 0;
}
.resize_font a,
#suport-btn {
  display: inline-block;
  padding: 5px 12px;
  border: 1px solid var(--cb-border-dark);
  border-radius: 999px;
  color: var(--cb-text-inv);
  font-size: 12px;
  font-weight: 600;
  line-height: 20px;
}
.resize_font a:hover,
#suport-btn:hover {
  border-color: var(--cb-accent);
  text-decoration: none;
}

/* Barra de administração no topo (administradores e professores) */
#toolbar-admin {
  margin-bottom: 0;
  background: #1A0A0E;
  border: 0;
  border-radius: 0;
}
#toolbar-admin .navbar-brand,
#toolbar-admin .navbar-nav > li > a {
  color: var(--cb-muted-inv);
}
#toolbar-admin .navbar-brand:hover,
#toolbar-admin .navbar-nav > li > a:hover,
#toolbar-admin .navbar-nav > li > a:focus,
#toolbar-admin .navbar-nav > .active > a,
#toolbar-admin .navbar-nav > .open > a {
  color: #FFFFFF;
  background: rgba(255,255,255,.08);
  text-decoration: none;
}

/* Menu principal: item ativo com a barra em degradê embaixo */
.navbar-default {
  margin-bottom: 0;
  background: var(--cb-bg-darker);
  border: none;
  border-top: 1px solid rgba(255,255,255,.08);
  border-radius: 0;
  box-shadow: 0 8px 24px rgba(9,2,3,.18);
}
.navbar-nav > li {
  border-left: none;
}
.navbar-default .navbar-brand,
.navbar-default .navbar-text,
.navbar-default .navbar-link,
.navbar-default .navbar-nav > li > a {
  color: var(--cb-text-inv);
}
.navbar-default .navbar-nav > li > a {
  display: block;
  padding: 0 16px;
  line-height: 50px;
  font-size: 15px;
  font-weight: 600;
  transition: background-color .2s ease;
}
.navbar-default .navbar-brand {
  height: 50px;
  line-height: 50px;
  padding: 0 16px;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus,
.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus,
.navbar-default .navbar-link:hover {
  color: #FFFFFF;
  background: rgba(255,255,255,.08);
  text-decoration: none;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: #FFFFFF;
  background: var(--cb-grad) left bottom / 100% 4px no-repeat, rgba(255,255,255,.06);
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  color: #FFFFFF;
  background: var(--cb-bg-dark);
}
.navbar-default .navbar-nav > li.avatar-user > a img {
  width: 30px;
  height: 30px;
  margin-top: -2px;
  border: 2px solid var(--cb-accent);
}
.navbar-default .navbar-toggle {
  margin-top: 8px;
  margin-bottom: 8px;
  border-color: var(--cb-border-dark);
  border-radius: var(--cb-radius-sm);
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
  background-color: var(--cb-border-dark);
}
.navbar-default .navbar-toggle .icon-bar {
  background-color: var(--cb-text-inv);
}
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  border-color: var(--cb-border-dark);
}
.dropdown-menu {
  padding: 6px 0;
  border: 1px solid var(--cb-border);
  border-radius: var(--cb-radius-sm);
  box-shadow: var(--cb-shadow);
}
.dropdown-menu > li > a {
  padding: 7px 18px;
  color: var(--cb-text);
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus,
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
  color: var(--cb-accent2);
  background: var(--cb-card);
  text-decoration: none;
}
@media (max-width: 767px) {
  .navbar-default .navbar-nav {
    margin-top: 0;
    margin-bottom: 8px;
  }
  .navbar-default .navbar-nav > li > a {
    line-height: 44px;
    padding: 0 12px;
  }
  .navbar-default .navbar-nav > .active > a,
  .navbar-default .navbar-nav > .active > a:hover,
  .navbar-default .navbar-nav > .active > a:focus {
    background: var(--cb-grad) left top / 4px 100% no-repeat, rgba(255,255,255,.06);
  }
  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
    color: var(--cb-text-inv);
  }
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a {
    color: #FFFFFF;
    background: rgba(255,255,255,.08);
  }
}

/* Conteúdo */
#cm-content {
  padding-top: 24px;
  padding-bottom: 36px;
}
.breadcrumb {
  margin-bottom: 20px;
  padding: 8px 18px;
  list-style: none;
  background: var(--cb-card);
  border: 1px solid var(--cb-border);
  border-radius: 999px;
  color: var(--cb-muted);
}
.breadcrumb > .active {
  color: var(--cb-text);
}
.page-header {
  border-bottom: 1px solid var(--cb-border);
}
blockquote {
  background: var(--cb-card);
  border-left: 4px solid var(--cb-accent);
  border-radius: 0 var(--cb-radius-sm) var(--cb-radius-sm) 0;
}
.panel {
  border-radius: var(--cb-radius);
  box-shadow: none;
}
.panel-default {
  border-color: var(--cb-border);
}
.panel-default > .panel-heading {
  background: var(--cb-card);
  border-color: var(--cb-border);
  color: var(--cb-text);
  border-top-left-radius: calc(var(--cb-radius) - 1px);
  border-top-right-radius: calc(var(--cb-radius) - 1px);
}
.panel-default > .panel-heading .panel-title,
.panel-default > .panel-heading .panel-title a {
  font-family: 'Archivo', 'Inter', sans-serif;
  font-weight: 700;
  color: var(--cb-text);
}
.panel-footer {
  background: var(--cb-card);
  border-color: var(--cb-border);
}
.well {
  background: var(--cb-card);
  border-color: var(--cb-border);
  border-radius: var(--cb-radius);
  box-shadow: none;
}

/* Coluna lateral da página inicial: bloco escuro com cartões brancos, como no tema Acesso */
#cm-content .sidebar {
  padding: 12px;
  background-color: var(--cb-bg-dark);
  background-image: var(--cb-dark-layers);
  background-repeat: var(--cb-dark-repeat);
  background-size: var(--cb-dark-size);
  background-blend-mode: var(--cb-dark-blend);
  border-radius: var(--cb-radius);
}
#cm-content .sidebar .panel {
  margin-bottom: 12px;
  border: 0;
}
#cm-content .sidebar .panel:last-child {
  margin-bottom: 0;
}
#cm-content .sidebar .panel-default > .panel-heading {
  background: #FFFFFF;
}
#cm-content .sidebar .nav > li > a {
  color: var(--cb-muted);
  border-radius: var(--cb-radius-sm);
}
#cm-content .sidebar .nav > li > a:hover,
#cm-content .sidebar .nav > li > a:focus,
#cm-content .sidebar .nav > li.active > a {
  color: var(--cb-accent2);
  background: var(--cb-card);
  text-decoration: none;
}

/* Botões em pílula com o degradê, como no site; secundário com contorno ("btn-ghost" do site) */
.btn {
  border-radius: 999px;
  font-weight: 700;
  transition: transform .35s var(--cb-ease), box-shadow .35s var(--cb-ease), border-color .2s ease, color .2s ease;
}
.btn-primary, .btn-success,
.btn-primary.disabled, .btn-primary[disabled], fieldset[disabled] .btn-primary,
.btn-success.disabled, .btn-success[disabled], fieldset[disabled] .btn-success {
  background: var(--cb-grad);
  border: 1px solid transparent;
  color: #FFFFFF;
  box-shadow: 0 10px 24px rgba(122,27,38,.22);
}
.btn-primary:hover, .btn-primary:focus, .btn-primary.focus, .btn-primary:active, .btn-primary.active,
.btn-primary:active:hover, .btn-primary:active:focus, .btn-primary.active:hover, .btn-primary.active:focus,
.open > .dropdown-toggle.btn-primary, .open > .dropdown-toggle.btn-primary:hover, .open > .dropdown-toggle.btn-primary:focus,
.btn-success:hover, .btn-success:focus, .btn-success.focus, .btn-success:active, .btn-success.active,
.btn-success:active:hover, .btn-success:active:focus, .btn-success.active:hover, .btn-success.active:focus,
.open > .dropdown-toggle.btn-success {
  background: var(--cb-grad);
  border-color: transparent;
  color: #FFFFFF;
}
.btn-primary:not(.disabled):not([disabled]):hover,
.btn-success:not(.disabled):not([disabled]):hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(122,27,38,.30);
}
.btn-default {
  background: transparent;
  border: 1.5px solid var(--cb-border);
  color: var(--cb-text);
}
.btn-default:hover, .btn-default:focus, .btn-default:active,
.btn-default.active, .open > .dropdown-toggle.btn-default {
  background: #FFFFFF;
  border-color: var(--cb-accent);
  color: var(--cb-accent2);
}
.btn:focus, .btn.focus, .btn:active:focus, .btn.active:focus {
  outline: none;
  box-shadow: var(--cb-focus);
}

/* Formulários */
.form-control {
  border: 1px solid var(--cb-border);
  border-radius: var(--cb-radius-sm);
  box-shadow: none;
}
.form-control:focus {
  border-color: var(--cb-accent);
  box-shadow: var(--cb-focus);
}
.input-group-addon {
  background: var(--cb-card);
  border-color: var(--cb-border);
  color: var(--cb-muted);
}
.input-group .form-control:not(:first-child),
.input-group-addon:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group .form-control:not(:last-child),
.input-group-addon:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

/* Tela de login (index.php sem sessão), como a seção de formulário do site: fundo escuro com losangos e halftone,
   boas-vindas à esquerda (app/home/home_top*.html) e o cartão branco à direita */
#cm-content:has(#login-block) {
  position: relative;
  overflow: hidden;
  padding: 72px 0 80px;
  background-color: var(--cb-bg-dark);
  background-image: var(--cb-dark-layers);
  background-repeat: var(--cb-dark-repeat);
  background-size: var(--cb-dark-size);
  background-blend-mode: var(--cb-dark-blend);
  color: var(--cb-text-inv);
}
#cm-content:has(#login-block)::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url(images/textura-halftone.webp) 100% -8% / 900px no-repeat;
  mix-blend-mode: screen;
  -webkit-mask-image: radial-gradient(circle 460px at 100% 0%, #000 0%, transparent 72%);
  mask-image: radial-gradient(circle 460px at 100% 0%, #000 0%, transparent 72%);
  pointer-events: none;
}
#cm-content:has(#login-block) > .container {
  position: relative;
}
#cm-content:has(#login-block) > .container > .row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
#cm-content:has(#login-block) .sidebar {
  margin: 0;
  padding: 0;
  background: none;
}
.boasvindas {
  max-width: 560px;
  padding: 8px 0 24px;
}
.boasvindas .eyebrow {
  color: var(--cb-accent);
}
.boasvindas h1 {
  margin: 0 0 18px;
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  line-height: 1.1;
  color: #FFFFFF;
  text-wrap: balance;
}
.boasvindas__texto {
  margin: 0 0 22px;
  font-size: 18px;
  line-height: 1.55;
  color: var(--cb-muted-inv);
}
.boasvindas__frase {
  margin: 0;
  padding-left: 16px;
  border-left: 3px solid var(--cb-accent);
  font-family: 'Fraunces', serif;
  font-size: 19px;
  font-style: italic;
  font-weight: 400;
  line-height: 1.45;
  color: var(--cb-text-inv);
}
/* cartão de login como o "lead-form-card" do site */
#login-block {
  max-width: 420px;
  margin: 0 auto;
  background: #FFFFFF;
  border: 0;
  border-radius: var(--cb-radius);
  box-shadow: var(--cb-shadow-lg);
  color: var(--cb-text);
}
#login-block .panel-body {
  position: relative;
  padding: 34px 34px 28px;
}
#login-block .login-titulo {
  margin: 0 0 4px;
  font-size: 28px;
}
#login-block .login-sub {
  margin: 0 0 6px;
  color: var(--cb-muted);
}
#login-block label {
  margin: 14px 0 6px;
  font-size: 14px;
  font-weight: 600;
}
#login-block .form-control,
#login-block .input-group-addon {
  height: 48px;
}
#login-block .form-control {
  font-size: 16px; /* 16px evita o zoom automático do iPhone ao tocar no campo */
}
#login-block .btn-primary,
#login-block button[type="submit"] {
  width: 100%;
  height: 50px;
  margin-top: 22px;
  font-size: 16px;
}
/* "* campo necessário": os dois campos são óbvios no login */
#formLogin .form-group:has(.form_required) {
  display: none;
}
#login-block .nav-pills {
  margin: 16px 0 0;
  text-align: center;
}
#login-block .nav-pills > li {
  float: none;
  display: inline-block;
}
#login-block .nav-pills > li > a {
  padding: 4px 8px;
  font-weight: 600;
  color: var(--cb-accent2);
  text-decoration: underline;
  text-underline-offset: 3px;
}
#login-block .nav-pills > li > a:hover {
  background: none;
  color: var(--cb-accent);
}
/* ajuda: atendimento do CBEPJUR (página "Fale conosco" do site, com o WhatsApp) e os contatos */
#login-block .login-ajuda {
  margin: 20px 0 0;
  padding: 14px;
  border-radius: var(--cb-radius-sm);
  background: var(--cb-card);
  text-align: center;
}
#login-block .login-ajuda__titulo {
  margin: 0 0 10px;
  font-size: 14px;
  font-weight: 600;
}
#login-block .login-ajuda__contato {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 44px;
  background: var(--cb-bg-dark);
  border: 0;
  color: #FFFFFF;
  box-shadow: none;
}
#login-block .login-ajuda__contato:hover,
#login-block .login-ajuda__contato:focus {
  background: var(--cb-accent2);
  color: #FFFFFF;
  text-decoration: none;
}
#login-block .login-ajuda__contato .fa {
  color: #2FBF71;
  font-size: 17px;
}
#login-block .login-ajuda__email {
  margin: 10px 0 0;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--cb-muted);
}
#login-block .login-ajuda__email a {
  font-weight: 600;
  overflow-wrap: anywhere;
}
@media (min-width: 992px) {
  #cm-content:has(#login-block) .col-md-9.col-md-push-3 {
    left: auto;
    width: 55%;
  }
  #cm-content:has(#login-block) .col-md-3.col-md-pull-9 {
    right: auto;
    width: 45%;
  }
}
@media (max-width: 991px) {
  #cm-content:has(#login-block) {
    padding: 24px 0 40px;
  }
  /* no celular o cartão de login vem primeiro */
  #cm-content:has(#login-block) .col-md-3.col-md-pull-9 {
    order: -1;
  }
  .boasvindas {
    margin: 0 auto;
    padding: 32px 0 0;
    text-align: center;
  }
  .boasvindas__frase {
    padding-left: 0;
    border-left: 0;
  }
  #login-block .panel-body {
    padding: 26px 22px 22px;
  }
}

/* Cursos do aluno e catálogo como os cartões do site */
.grid-courses .items {
  overflow: hidden;
  margin-bottom: 24px;
  background: var(--cb-card);
  border: 1px solid var(--cb-border);
  border-radius: var(--cb-radius);
  box-shadow: none;
  transition: transform .35s var(--cb-ease), box-shadow .35s var(--cb-ease), border-color .35s var(--cb-ease);
}
.grid-courses .items:hover {
  transform: translateY(-4px);
  box-shadow: var(--cb-shadow);
  border-color: rgba(196,30,45,.4);
}
.grid-courses .items .image img {
  width: 100%;
}
.grid-courses .items .description {
  padding: 16px 18px 18px;
}
.grid-courses .items .block-title .title {
  font-family: 'Archivo', 'Inter', sans-serif;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.25;
}
.grid-courses .items .block-title .title a {
  color: var(--cb-text);
}
.grid-courses .items .code-title {
  display: block;
  margin-top: 4px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: var(--cb-muted);
}
/* a etiqueta da categoria saía 10px para fora do cartão (com a "dobra" .cribbon); agora fica dentro */
.grid-courses .items .category {
  right: 0;
  height: auto;
  padding: 6px 12px;
  line-height: 1.4;
  background: var(--cb-grad);
  color: #FFFFFF;
  border-radius: var(--cb-radius-sm) 0 0 0;
  font-weight: 700;
}
.grid-courses .items .cribbon {
  display: none;
}

/* Abas, pílulas, selos, paginação, progresso, tabelas, avisos */
.nav-tabs {
  border-bottom-color: var(--cb-border);
}
.nav-tabs > li > a:hover {
  border-color: var(--cb-border) var(--cb-border) transparent;
  background: var(--cb-card);
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  color: var(--cb-accent2);
  font-weight: 600;
  border-color: var(--cb-border) var(--cb-border) transparent;
  box-shadow: inset 0 3px 0 var(--cb-accent);
}
.nav li a:hover {
  background: none;
}
.nav-pills > li > a {
  border-radius: 999px;
}
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
  background: var(--cb-grad);
  color: #FFFFFF;
}
.badge {
  background-color: var(--cb-accent);
}
.label-primary {
  background-color: var(--cb-accent2);
}
.pagination > li > a,
.pagination > li > span {
  color: var(--cb-accent2);
  border-color: var(--cb-border);
}
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > a:focus {
  background-color: var(--cb-accent2);
  border-color: var(--cb-accent2);
  color: #FFFFFF;
}
.progress {
  background-color: var(--cb-card);
  border-radius: 999px;
  box-shadow: inset 0 0 0 1px var(--cb-border);
}
.progress-bar {
  background-image: var(--cb-grad);
}
.table > thead > tr > th,
.data_table th {
  border-bottom: 2px solid var(--cb-border);
  font-weight: 700;
}
.data_table th {
  background: var(--cb-card);
}
.alert {
  border-radius: var(--cb-radius-sm);
}
.modal-content {
  border-radius: var(--cb-radius);
  border-color: var(--cb-border);
}
#carousel-announcement .left,
#carousel-announcement .right {
  background: var(--cb-accent2);
}

/* Rodapé escuro, como o do site */
footer.footer,
footer.bgfooter {
  background-color: var(--cb-bg-dark);
  background-image: var(--cb-dark-layers);
  background-repeat: var(--cb-dark-repeat);
  background-size: var(--cb-dark-size);
  background-blend-mode: var(--cb-dark-blend);
  color: var(--cb-muted-inv);
  border-top: none;
  padding: 28px 0 22px;
}
footer.footer a,
footer.bgfooter a {
  color: var(--cb-text-inv);
}
footer.footer a:hover,
footer.bgfooter a:hover {
  color: #FFFFFF;
}

/* Celular */
@media (max-width: 767px) {
  #cm-header > .container {
    padding-top: 10px;
    padding-bottom: 10px;
  }
  #cm-header .cab-cbepjur {
    gap: 12px;
  }
  #cm-header .cab-logo img {
    height: 34px;
  }
  #cm-header .cab-nome {
    padding-left: 12px;
    font-size: 13px;
  }
  #cm-header .header-ol {
    margin: 4px 0 0;
    text-align: left;
  }
  #cm-content {
    padding-top: 16px;
  }
  #cm-content .sidebar {
    margin-top: 16px;
  }
}
