/*
 * custom2026.css
 * Modernização do corpo do site (tipografia, capitalização, cards, botões,
 * formulários e tabelas), alinhada ao visual de www.unichristus.edu.br.
 *
 * Regras de escopo:
 *  - Tudo fica sob ".main" (wrapper do conteúdo), exceto a barra
 *    ".wgt-acesso-rapido", que fica fora do wrapper.
 *  - Header e footer NÃO são tocados: sem seletores globais (h1..h6, p, a,
 *    .container, .modal*, .submenu...) e sem alterar html/body.
 *  - Sem !important em font-size de ".wgt-cont": o botão A+/A- (js/unichristus.js)
 *    aplica font-size inline nesse elemento e os filhos herdam por em.
 *
 * Carregado por functions.php depois do style.min.css.
 */

/* ==========================================================================
   1. Tokens
   ========================================================================== */
:root {
  --c26-font-heading: "Open Sans", sans-serif;
  --c26-font-body: "Montserrat", sans-serif;

  --c26-primary: #23548c;
  --c26-primary-dark: #19385d;
  --c26-secondary: #008ed4;
  --c26-text: rgba(0, 0, 0, .6);
  --c26-text-strong: #333;
  --c26-muted: #686a6c;
  --c26-border: #ccc;
  --c26-border-soft: #e7e7ed;
  --c26-surface: #f5f6f8;
  --c26-white: #fff;

  --c26-radius-sm: 6px;
  --c26-radius-md: 8px;
  --c26-radius-lg: 12px;
  --c26-shadow: 0 10px 20px rgba(0, 0, 0, .04), 0 2px 6px rgba(0, 0, 0, .04), 0 0 1px rgba(0, 0, 0, .04);

  /* Escala de títulos (referência unichristus.edu.br) */
  --c26-fs-h1: 38px;
  --c26-fs-h2: 32px;
  --c26-fs-h3: 26px;
  --c26-fs-h4: 22px;
  --c26-fs-h5: 19px;
  --c26-fs-h6: 16px;
  --c26-fs-body: 16px;
  --c26-fs-small: 14px;
  --c26-lh: 1.45;
  --c26-lh-heading: 1.2;
}

/* ==========================================================================
   2. Base do corpo
   ========================================================================== */
.main.home {
  background-color: var(--c26-surface);
  padding: 40px 0 48px;
}

.main {
  font-family: var(--c26-font-body);
  font-size: var(--c26-fs-body);
  line-height: var(--c26-lh);
  color: var(--c26-text);
}

.main a {
  color: var(--c26-primary);
  text-decoration: none;
  transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}

.main a:hover,
.main a:focus {
  color: var(--c26-secondary);
  text-decoration: none;
}

/* ==========================================================================
   3. Títulos (Open Sans, 700, sem caixa alta)
   ========================================================================== */

/* Título da página */
.main .wgt-post .wgt-head .wgt-title,
.main .wgt-post .wgt-head .titulo-curso,
.main .pagetitle {
  font-family: var(--c26-font-heading);
  font-size: var(--c26-fs-h2);
  font-weight: 700;
  line-height: var(--c26-lh-heading);
  color: var(--c26-primary-dark);
  text-transform: none;
  letter-spacing: 0;
  margin: 0 0 12px;
}

/* Títulos dentro do conteúdo editável (colunas estreitas: um degrau abaixo da escala) */
.main .wgt-post .wgt-cont h1,
.main .wgt-post .wgt-cont h2,
.main .wgt-post .wgt-cont h3,
.main .wgt-post .wgt-cont h4,
.main .wgt-post .wgt-cont h5,
.main .wgt-post .wgt-cont h6 {
  font-family: var(--c26-font-heading);
  font-weight: 700;
  line-height: var(--c26-lh-heading);
  color: var(--c26-primary-dark);
  text-transform: none;
  margin: 1.4em 0 .5em;
}

.main .wgt-post .wgt-cont h1,
.main .wgt-post .wgt-cont h2 { font-size: var(--c26-fs-h3); }
.main .wgt-post .wgt-cont h3 { font-size: var(--c26-fs-h4); }
.main .wgt-post .wgt-cont h4 { font-size: var(--c26-fs-h5); }
.main .wgt-post .wgt-cont h5,
.main .wgt-post .wgt-cont h6 { font-size: var(--c26-fs-h6); }

.main .wgt-post .wgt-cont > :first-child { margin-top: 0; }

/* Títulos de widgets (sidebars): rótulo curto, mantém o ícone e a linha atuais */
.main .wgt-menu-interno .wgt-title,
.main .wgt-noticias-sidebar .wgt-title,
.main .title-line {
  font-family: var(--c26-font-heading);
  font-size: 18px !important; /* substitui !important de style.min.css:8328 e :10745 */
  font-weight: 700;
  line-height: var(--c26-lh-heading);
  color: var(--c26-primary-dark);
  text-transform: none;
  letter-spacing: 0;
}

/* ==========================================================================
   4. Texto corrido
   ========================================================================== */

/* font-size sem !important: o A+/A- aplica inline e os filhos herdam por em */
.main .wgt-post .wgt-cont,
.main .wgt-post .wgt-cont.pesquisa-projetos {
  font-family: var(--c26-font-body);
  font-size: var(--c26-fs-body);
  line-height: 1.6;
  color: var(--c26-text);
}

.main .wgt-post .wgt-cont p,
.main .wgt-post .wgt-cont li {
  font-size: 1em;
  line-height: 1.6;
}

.main .wgt-post .wgt-cont p { margin: 0 0 1em; }

.main .wgt-post .wgt-cont ul,
.main .wgt-post .wgt-cont ol { margin: 0 0 1.4em; padding-left: 1.4em; }

.main .wgt-post .wgt-cont li { margin: 0 0 .4em; }

.main .wgt-post .wgt-cont strong,
.main .wgt-post .wgt-cont b { font-weight: 600; }

/* Destaques em <strong> das listas de projetos/pesquisa (era 1.5rem e 1.6rem) */
.main .pesquisa-projetos.wgt-cont strong,
.main .pesquisa-projetos.wgt-cont li > strong:first-child {
  font-size: 1em;
  line-height: inherit;
  padding: 0;
  color: var(--c26-primary-dark);
  border-radius: 0;
}

.main .pesquisa-projetos.wgt-cont li { line-height: 1.6; }

.main .wgt-post .wgt-cont img { max-width: 100%; height: auto; border-radius: var(--c26-radius-md); }

/* ==========================================================================
   5. Cards
   ========================================================================== */
.main .wgt-post {
  background-color: var(--c26-white);
  border-radius: var(--c26-radius-lg);
  box-shadow: var(--c26-shadow);
  padding: 32px 32px 24px;
  margin-bottom: 24px;
}

.main .wgt-post .wgt-head {
  padding-bottom: 12px;
  margin-bottom: 8px;
}

.main .wgt-post .wgt-cont { overflow-x: auto; }

.main .docente-curriculo {
  background-color: var(--c26-white);
  border-radius: var(--c26-radius-lg);
  box-shadow: var(--c26-shadow);
  padding: 24px;
  margin-bottom: 24px;
}

/* Menu interno (esquerda) */
.main .wgt-menu-interno .nav {
  background-color: var(--c26-white);
  border-radius: var(--c26-radius-md);
  box-shadow: var(--c26-shadow);
  overflow: hidden;
}

.main .wgt-menu-interno .nav > li > a {
  font-family: var(--c26-font-body);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.3;
  padding: 10px 12px;
  overflow-wrap: break-word;
  text-transform: capitalize;
  border-bottom-color: var(--c26-border-soft);
}

.main .wgt-menu-interno .nav .dropdown-menu > li a {
  font-family: var(--c26-font-body);
  font-size: 12px;
  font-weight: 400;
  text-transform: none;
}

/* Sidebar de notícias */
.main .wgt-noticias-sidebar ul > li > a {
  font-family: var(--c26-font-body);
  font-size: var(--c26-fs-small);
  font-weight: 600;
  line-height: 1.4;
  text-transform: none;
  color: var(--c26-text-strong);
}

.main .wgt-noticias-sidebar ul > li > a:hover { color: var(--c26-primary); }

/* Breadcrumb */
.main .breadcrumb {
  font-family: var(--c26-font-body);
  font-size: var(--c26-fs-small);
  color: var(--c26-muted);
  text-transform: none;
}

.main .breadcrumb span a { color: var(--c26-muted); }
.main .breadcrumb span a:hover { color: var(--c26-primary); }

/* Controles A+/A- */
.main .wgt-post .wgt-head .tools .font-resizer .btn-dec,
.main .wgt-post .wgt-head .tools .font-resizer .btn-inc {
  font-size: 12px;
  background-color: var(--c26-border-soft);
  color: var(--c26-primary-dark);
}

.main .wgt-post .wgt-head .tools .font-resizer .btn-dec:hover,
.main .wgt-post .wgt-head .tools .font-resizer .btn-inc:hover {
  background-color: var(--c26-primary);
  color: var(--c26-white);
}

/* ==========================================================================
   6. Botões (rótulo curto: caixa alta)
   ========================================================================== */
.main .btn,
.main .wgt-noticias-sidebar .btn-mais-not,
.main .frm-padrao .btn-enviar,
.main .form-fale-conosco input[type="submit"],
.main .wpcf7-submit,
.main a.sdm_download {
  font-family: var(--c26-font-body);
  font-size: var(--c26-fs-small);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .05em;
  text-transform: uppercase;
  border-radius: var(--c26-radius-sm);
  padding: 12px 24px;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.main .wgt-noticias-sidebar .btn-mais-not,
.main .frm-padrao .btn-enviar,
.main .form-fale-conosco input[type="submit"],
.main .wpcf7-submit,
.main .btn-primary {
  background-color: var(--c26-primary);
  border: 0;
  color: var(--c26-white);
}

.main .wgt-noticias-sidebar .btn-mais-not:hover,
.main .frm-padrao .btn-enviar:hover,
.main .form-fale-conosco input[type="submit"]:hover,
.main .wpcf7-submit:hover,
.main .btn-primary:hover,
.main .btn-primary:focus {
  background-color: var(--c26-primary-dark);
  color: var(--c26-white);
}

.main .btn-default {
  background-color: var(--c26-white);
  border: 1px solid var(--c26-border);
  color: var(--c26-text-strong); /* .main a (link azul) venceria o color do Bootstrap */
}

.main .btn-default:hover,
.main .btn-default:focus {
  border-color: var(--c26-primary);
  color: var(--c26-primary);
}

.main .form-fale-conosco input[type="submit"] { width: auto; min-width: 150px; }

/* Botão de download (o <style> inline da dissertação zera o fundo em .sdm_download.green) */
.main a.sdm_download.green {
  background-color: var(--c26-primary);
  border: 0;
  color: var(--c26-white) !important; /* vence o !important inline em single-post-dissertacao.php */
}

.main a.sdm_download.green:hover { background-color: var(--c26-primary-dark); }

/* ==========================================================================
   7. Formulários
   ========================================================================== */
.main .frm-padrao .control-label,
.main .form-fale-conosco label,
.main .wpcf7 label {
  font-family: var(--c26-font-body);
  font-size: var(--c26-fs-small);
  font-weight: 600;
  color: var(--c26-text-strong);
  text-transform: none;
}

.main .form-control,
.main .frm-padrao .ipt,
.main .form-fale-conosco input[type="text"],
.main .form-fale-conosco input[type="email"],
.main .form-fale-conosco textarea,
.main .wpcf7 input[type="text"],
.main .wpcf7 input[type="email"],
.main .wpcf7 input[type="tel"],
.main .wpcf7 textarea,
.main .wpcf7 select {
  font-family: var(--c26-font-body);
  font-size: var(--c26-fs-small);
  color: var(--c26-text-strong);
  background-color: var(--c26-white);
  border: 1px solid var(--c26-border);
  border-radius: var(--c26-radius-sm);
  padding: 10px 14px;
  outline: none;
  box-shadow: none;
}

.main .form-control,
.main .frm-padrao .ipt,
.main .form-fale-conosco input[type="text"],
.main .form-fale-conosco input[type="email"],
.main .wpcf7 input[type="text"],
.main .wpcf7 input[type="email"],
.main .wpcf7 input[type="tel"],
.main .wpcf7 select {
  height: 44px;
}

.main .form-control:focus,
.main .frm-padrao .ipt:focus,
.main .form-fale-conosco input:focus,
.main .form-fale-conosco textarea:focus,
.main .wpcf7 input:focus,
.main .wpcf7 textarea:focus,
.main .wpcf7 select:focus {
  border-color: var(--c26-secondary);
  box-shadow: 0 0 0 3px rgba(0, 142, 212, .15);
}

.main .help-block { font-size: 13px; color: var(--c26-muted); }

/* ==========================================================================
   8. Tabelas (tamanho em em: acompanha o A+/A-)
   ========================================================================== */
.main .wgt-cont table,
.main .tablepress,
.main .table {
  font-family: var(--c26-font-body);
  font-size: .9em;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--c26-border-soft);
  border-radius: var(--c26-radius-md);
  overflow: hidden;
  margin-bottom: 1.4em;
}

.main .wgt-cont table thead,
.main .tablepress thead,
.main .table thead {
  background-color: var(--c26-primary);
  color: var(--c26-white);
}

.main .wgt-cont table thead th,
.main .tablepress thead th,
.main .table thead th {
  font-family: var(--c26-font-body) !important; /* vence !important de style.min.css:8924/8958/8994 */
  font-size: 1em !important;
  font-weight: 600 !important;
  line-height: 1.35;
  text-transform: none;
  padding: 12px 14px;
  border-right-color: rgba(255, 255, 255, .25);
}

.main .wgt-cont table tbody td,
.main .tablepress tbody td,
.main .table tbody td {
  font-family: var(--c26-font-body);
  font-size: 1em;
  line-height: 1.5;
  padding: 10px 14px;
  vertical-align: middle;
}

.main .wgt-cont table tbody tr:nth-child(odd),
.main .tablepress tbody tr:nth-child(odd),
.main .table tbody tr:nth-child(odd) { background-color: var(--c26-white); }

.main .wgt-cont table tbody tr:nth-child(even),
.main .tablepress tbody tr:nth-child(even),
.main .table tbody tr:nth-child(even) { background-color: var(--c26-surface); }

/* ==========================================================================
   9. Componentes específicos do mestrado
   ========================================================================== */

/* Matriz curricular */
.main .wgt-grade-curricular,
.main .matriz-curriculum {
  font-family: var(--c26-font-body);
  font-size: var(--c26-fs-small);
}

.main .wgt-grade-curricular .grade-total { text-transform: none; }

/* Notícias e listagens: títulos longos sem caixa alta */
.main .wgt-newsflash,
.main .wgt-noticia-destaque,
.main .block-books-related--item h3,
.main .block-books-related--item a,
.main .adm-curso .curso--novo h2,
.main .adm-curso .curso--novo h3 { text-transform: none; }

/* Rótulos curtos em caixa alta */
.main .matricula-item__name,
.main .matricula-item__obs {
  font-family: var(--c26-font-body);
  text-transform: uppercase;
  letter-spacing: .05em;
}

.main .matricula-item__name { font-size: var(--c26-fs-h6); }
.main .matricula-item__obs { font-size: 12px; }
.main .matricula-item__link { font-size: var(--c26-fs-small); }

/* Paginação (havia 26.92px e 14.09px) */
.main .navigation-links {
  font-family: var(--c26-font-body);
  font-size: var(--c26-fs-small);
}

.main .navigation-links a {
  border-radius: var(--c26-radius-sm);
}

/* Busca e 404 (sem CSS até aqui) */
.main .pagetitle { margin-bottom: 24px; }

.main .wgt-error-404 {
  text-align: center;
  padding: 48px 0;
}

.main .wgt-error-404 .titulo {
  font-family: var(--c26-font-heading);
  font-size: var(--c26-fs-h1);
  font-weight: 700;
  color: var(--c26-primary-dark);
}

/* ==========================================================================
   10. Barra de acesso rápido (fora de .main)
   ========================================================================== */
.wgt-acesso-rapido .menu-acesso-rapido .navbar-nav > li > a {
  font-family: var(--c26-font-body);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .02em;
  padding: .5em .75em;
  white-space: nowrap;
  /* vence o "capitalize !important" de css/custom-header-style.css:1482 */
  text-transform: uppercase !important;
}

/* Coluna mais estreita (768-1199px): evita quebra de linha dos 7 itens */
@media (min-width: 768px) and (max-width: 1199px) {
  .wgt-acesso-rapido .menu-acesso-rapido .navbar-nav > li > a {
    font-size: 11px;
    letter-spacing: .01em;
    padding: .5em .55em;
  }
}

.wgt-acesso-rapido .menu-acesso-rapido .navbar-nav > li .dropdown-menu {
  border-radius: var(--c26-radius-md);
  box-shadow: var(--c26-shadow);
}

.wgt-acesso-rapido .menu-acesso-rapido .navbar-nav > li .dropdown-menu a {
  font-family: var(--c26-font-body);
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.wgt-acesso-rapido .btn-menu-mb {
  font-family: var(--c26-font-body);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .05em;
}

/* ==========================================================================
   11. Responsivo
   ========================================================================== */
@media (max-width: 991px) {
  .main .wgt-post .wgt-head .wgt-title,
  .main .wgt-post .wgt-head .titulo-curso,
  .main .pagetitle { font-size: 28px; }
}

@media (max-width: 767px) {
  .main.home { padding: 24px 0 32px; }

  .main .wgt-post,
  .main .docente-curriculo { padding: 20px 16px; }

  .main .wgt-post .wgt-head .wgt-title,
  .main .wgt-post .wgt-head .titulo-curso,
  .main .pagetitle { font-size: 24px; }

  .main .wgt-post .wgt-cont h1,
  .main .wgt-post .wgt-cont h2 { font-size: 22px; }
  .main .wgt-post .wgt-cont h3 { font-size: 19px; }
  .main .wgt-post .wgt-cont h4 { font-size: 17px; }

  .main .wgt-error-404 .titulo { font-size: 28px; }
}

/* ==========================================================================
   12. Widgets flutuantes de terceiros (GTranslate / Acessibilidade)
   O override fica em functions.php (uni_fix_floating_widgets_overlap), NÃO
   aqui: o GTranslate e o Pojo Accessibility imprimem os próprios <style>
   inline no <head>, depois deste arquivo, também com !important — em empate
   de especificidade/!important, quem vem por último no HTML vence. Por isso
   o fix precisa sair via wp_footer (sempre depois de tudo que sai no head).
   ========================================================================== */

/* ==========================================================================
   13. Projetos (listagem minimalista: thumb + título, sem card pesado)
   O filtro por curso usa .wgt-menu-interno (coluna esquerda), já estilizado
   acima — nada de CSS novo pra ele.
   ========================================================================== */

.main .projetos-lista {
  list-style: none;
  margin: 0;
  padding: 0;
}

.main .projetos-item {
  border-bottom: 1px solid var(--c26-border-soft);
}

.main .projetos-item:first-child {
  border-top: 1px solid var(--c26-border-soft);
}

.main .projetos-item a {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 4px;
}

.main .projetos-item__img {
  flex: 0 0 auto;
  width: 64px;
  height: 64px;
  border-radius: var(--c26-radius-sm);
  overflow: hidden;
  background-color: var(--c26-surface);
}

.main .projetos-item__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.main .projetos-item__titulo {
  font-family: var(--c26-font-heading);
  font-size: var(--c26-fs-body);
  font-weight: 600;
  color: var(--c26-text-strong);
}

.main .projetos-item a:hover .projetos-item__titulo {
  color: var(--c26-primary);
}

/* ==========================================================================
   14. Links Úteis (sidebar): grid de logos em cards, em vez de soltos
   ========================================================================== */
.main .links-uteis-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.main .links-uteis-grid__item a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 64px;
  padding: 8px;
  background-color: var(--c26-white);
  border-radius: var(--c26-radius-md);
  box-shadow: var(--c26-shadow);
}

.main .links-uteis-grid__item img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}
