/* Compacta e profissionaliza o header/navigation */
.header .header-logo__img{max-height:48px;height:auto;width:auto;display:inline-block}
.header .header-logo{float:none !important;display:block;text-align:center;margin:8px auto 4px}
/* Espaçamento menor entre logo e menu */
.header .header-inner{margin-top:4px}
.navbar.yamm .nav>li>a{padding:10px 14px;font-size:14px;white-space:nowrap;color:var(--brand-text)}
.navbar.yamm .dropdown-menu{min-width:260px}
.navbar .nav-subtitle{display:block;font-size:11px;line-height:1;color:#7a869a;margin-top:2px}
.header-inner{align-items:center}

/* Header CTA e busca */
.header-login__item.matricula{background:var(--brand-accent);border:0;color:#fff;border-radius:8px;padding:8px 12px}
.header-login__item.matricula:hover{background:var(--brand-accent-2);color:#fff}
#search-open{color:var(--brand-secondary)}

/* Degradê para unir com a barra superior (apenas dentro do header) */
.header{position:relative;background:#fff}
.header:before{content:"";position:absolute;top:0;left:0;right:0;height:56px;background:linear-gradient(to bottom,var(--brand-secondary) 0%,rgba(10,31,51,.85) 20%,rgba(10,31,51,0) 100%);pointer-events:none}

/* Sticky: sombra/linha sutil e mais visível */
.header.sticky{box-shadow:0 6px 16px rgba(15,23,42,.08);border-bottom:1px solid rgba(2,6,23,.06)}

/* Evita quebra do menu em larguras médias */
@media (min-width:992px) and (max-width:1199px){
  .navbar.yamm .nav>li>a{padding:9px 10px;font-size:13px}
  .navbar .nav-subtitle{display:none}
}
@media (min-width:768px) and (max-width:991px){
  .navbar.yamm .nav>li>a{padding:8px 8px;font-size:13px}
  .navbar .nav-subtitle{display:none}
}

/* Mobile: diminuir logo e ajustar paddings */
@media (max-width:767px){
  .header .header-logo__img{max-height:38px}
  .header .header-logo{margin:6px auto 2px}
  .header:before{height:42px}
  .navbar.yamm .nav>li>a{padding:8px 10px;font-size:13px}
}

/* Barra superior: refine tipografia */
.top-header__contacts,.header-login__item{font-size:12px}

/* Paleta (teal/azul) */
:root{--brand-primary:#0b3b44;--brand-secondary:#0a1f33;--brand-accent:#1098ad;--brand-accent-2:#0ea5a8;--brand-surface:#f7fafc;--brand-text:#0f172a;--brand-warning:#ffb600}

/* Botões */
.btn.btn-primary{background:var(--brand-primary);border-color:var(--brand-primary)}
.btn.btn-primary:hover{background:#072c33;border-color:#072c33}
.btn.btn-warning{background:var(--brand-warning);border-color:var(--brand-warning);color:#152036}
.btn.btn-warning:hover{background:#e0a200;border-color:#e0a200;color:#0f172a}

/* Home: cartões (Acessos rápidos e Motivos) */
.home-cards .group,
.home-reasons .rounded-md{ 
  padding:22px !important;
}
.home-cards .text-slate-600,
.home-reasons .text-slate-600{
  font-size:14.5px !important;
  line-height:1.7 !important;
}
.home-cards .text-[#0077b6],
.home-reasons h3{ font-size:17px; }

/* Títulos */
.ui-title-page{font-weight:700;letter-spacing:.2px;color:var(--brand-secondary);margin-top:18px;margin-bottom:16px}
.ui-title-block{font-weight:700;margin-top:22px;margin-bottom:12px}
/* Heading HTML defaults (em áreas de conteúdo) */
#conteudo h1{margin:24px 0 14px}
#conteudo h2{margin:22px 0 12px}
#conteudo h3{margin:20px 0 10px}
#conteudo h4{margin:18px 0 8px}

/* REMOÇÃO DE OVERRIDES DE LISTAS
   Não tocar no layout do tema para .section-advantages/.advantages */

/* Rodapé */
.footer .footer-contacts address{margin-bottom:6px}
.footer-title{font-size:14px;text-transform:uppercase;letter-spacing:.4px;margin:8px 0 10px;color:#334155}
.footer-links li{margin:6px 0}
.footer-links a{color:#4b5563}
.footer-links a:hover{color:var(--brand-primary)}
.footer-cookie-link{display:inline-block;margin-top:10px;font-size:12px;color:#1e429f}

/* Barra inferior de copyright */
.rodape{background:#0b1b3a;border-top:1px solid rgba(255,255,255,.06)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 28px}
.footer-bottom .copyright{color:#e5e7eb;font-size:13px;line-height:1.6}
.footer-bottom .social-links{display:flex;gap:12px;margin:0;padding:0}
.footer-bottom .social-links li{margin:0}
.footer-bottom .social-links li a{color:#9ca3af;font-size:16px}
.footer-bottom .social-links li a:hover{color:#fff}
@media (min-width:1200px){.footer-bottom{padding:16px 48px}}
@media (max-width:767px){.footer-bottom{flex-direction:column;align-items:flex-start;padding:16px}}

/* Base */
  body{background:var(--brand-surface);color:var(--brand-text);font-size:16.5px;line-height:1.7}
a{color:var(--brand-accent)}
a:hover{color:var(--brand-accent-2)}

/* Cookie banner */
#cookie-banner{font-size:14px;box-shadow:0 -2px 8px rgba(0,0,0,.25);visibility:visible;opacity:1}
#cookie-banner{position:fixed!important;bottom:0!important;left:0!important;right:0!important;z-index:2147483647!important}

@media (max-width: 767px){
  #nav-principal{ display:none !important; }
  /* #nav-mobile visibilidade controlada via classe .hidden (JS) */
}
@media (min-width: 768px){
  #nav-mobile{ display:none !important; }
}

/* Botão flutuante: Portal do Aluno */
.btn-portal-fixed{
  position: fixed;
  right: 16px;
  bottom: 86px; /* acima do WhatsApp e do cookie */
  z-index: 2147483647;
  display: inline-flex; align-items: center; justify-content: center;
  padding: 10px 14px; border-radius: 9999px;
  background: #0077b6; color: #fff; text-decoration: none;
  font-weight: 600; box-shadow: 0 10px 20px rgba(0,0,0,.18);
}
.btn-portal-fixed:hover{ background:#0a84ca; color:#fff; }
.btn-portal-fixed:focus{ outline: 2px solid #0a84ca; outline-offset: 2px; }

@media (max-width: 480px){
  .btn-portal-fixed{ right: 12px; bottom: 82px; padding: 9px 12px; font-size: 14px; }
}

/* Tipografia: justificar apenas textos extensos e áreas de leitura */
#conteudo .article-content,
#conteudo .post-content,
#conteudo .entry-content,
#conteudo .content article,
#conteudo .content .wysiwyg,
#conteudo .section-default .container,
#conteudo .page-content,
#conteudo .blog-post,
#conteudo .policy,
#conteudo .regulations,
#conteudo .text-long{
  text-align: justify;
  text-justify: inter-word;
}

/* Evita justificação em cartões, grids e itens curtos */
#conteudo .grid *,
#conteudo .card *,
#conteudo .rounded-md *,
#conteudo .widget *,
#conteudo .list-categories *,
#conteudo .advantages *,
#conteudo .ui-title-page{
  text-align: initial;
}
