/* Cabeçalho semântico (header/nav) com Flexbox, sem tabelas.
   Logo + busca + ícones ficam juntos numa faixa; o menu de navegação
   continua numa linha própria logo abaixo. */
.hf-header { background:#EDF2F2; }
.hf-topbar { max-width:1024px; box-sizing:border-box; margin:0 auto; display:flex; align-items:center; gap:18px; padding:20px 15px 14px; flex-wrap:wrap; }
.hf-logo { flex-shrink:0; }
.hf-logo img, .hf-logo svg { display:block; }
.hf-search { position:relative; flex:1 1 200px; min-width:160px; }
.hf-search form { display:flex; }
.hf-search-box { display:flex; align-items:stretch; width:100%; max-width:420px; margin:0 auto; border:1px solid #D2DADD; border-radius:8px; overflow:hidden; background:#F7F9FA; box-sizing:border-box; }
.hf-search-box input { flex:1; min-width:0; border:none; background:transparent; padding:0 16px; height:44px; color:#757575; font-size:14px; outline:none; }
.hf-search-box button { width:44px; border:none; border-left:1px solid #D2DADD; background:#F7F9FA; cursor:pointer; display:flex; align-items:center; justify-content:center; padding:0; flex-shrink:0; }
.hf-suggest { position:absolute; top:100%; left:0; right:0; max-width:420px; margin:6px auto 0; background:#FFFFFF; border:1px solid #E1E8EA; border-radius:10px; box-shadow:0 1px 2px rgba(22,35,44,0.05), 0 6px 20px rgba(22,35,44,0.06); max-height:360px; overflow-y:auto; z-index:1000; font-family:Arial, Helvetica, sans-serif; }
.hf-suggest[hidden] { display:none; }
.hf-suggest a { display:flex; align-items:center; gap:10px; padding:8px 12px; text-decoration:none; color:#16232C; }
.hf-suggest a:hover, .hf-suggest a.ativo { background:#EDF2F2; }
.hf-suggest img { width:32px; height:44px; object-fit:contain; background:#F5F8F9; border-radius:4px; flex-shrink:0; }
.hf-suggest-info { min-width:0; }
.hf-suggest-titulo { display:block; font-size:13px; font-weight:bold; line-height:1.3; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hf-suggest-autor { display:block; font-size:11px; color:#5B6B72; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hf-suggest-empty { padding:12px; font-size:12px; color:#8B9BA1; text-align:center; }
.hf-icons { display:flex; align-items:center; gap:8px; flex-wrap:wrap; flex-shrink:0; }
.hf-icons a { display:flex; align-items:center; justify-content:center; background:#006486; text-decoration:none; padding:8px; border-radius:4px; }
.hf-icons svg { width:25px; height:26px; display:block; }
.hf-nav { max-width:1024px; box-sizing:border-box; margin:0 auto; padding:2px 15px 16px; display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.hf-nav a { padding:9px 20px; border-radius:16px; text-decoration:none; font-family:Arial, Helvetica, sans-serif; font-size:14px; font-weight:bold; background:#ffffff; color:#16232C; white-space:nowrap; box-shadow:0 1px 2px rgba(22,35,44,0.05); }
.hf-nav a.ativo { background:#006486; color:#ffffff; }
.hf-nav a.novera { background:#f3b7c4; color:#16232C; }
.hf-bar { height:2px; background:#006486; }
.hf-catalogo-wrap { position:relative; }
.hf-nav-btn { margin:0; padding:9px 20px; border-radius:16px; border:none; text-decoration:none; font-family:Arial, Helvetica, sans-serif; font-size:14px; font-weight:bold; background:#ffffff; color:#16232C; white-space:nowrap; cursor:pointer; display:inline-flex; align-items:center; gap:6px; -webkit-appearance:none; appearance:none; touch-action:manipulation; box-shadow:0 1px 2px rgba(22,35,44,0.05); }
.hf-nav-btn.ativo { background:#006486; color:#ffffff; }
.hf-caret { display:inline-flex; align-items:center; line-height:1; }
.hf-catalogo-menu { position:absolute; top:100%; left:0; margin-top:6px; background:#ffffff; border:1.5px solid #C7D2D6; border-radius:10px; box-shadow:0 4px 12px rgba(22,35,44,0.14), 0 12px 32px rgba(22,35,44,0.12); padding:10px; display:grid; grid-template-columns:1fr 1fr; gap:0 20px; min-width:440px; z-index:1000; }
.hf-catalogo-menu[hidden] { display:none; }
.hf-catalogo-menu a { display:block; padding:7px 8px; color:#16232C; font-family:Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold; text-decoration:none; border-radius:4px; white-space:nowrap; border-bottom:1px solid #EDF2F2; }
.hf-catalogo-menu a:hover { background:#EDF2F2; color:#006486; }
.hf-catalogo-menu a.hf-catalogo-todos { grid-column:1 / -1; margin-top:8px; padding:10px; border:none; border-radius:8px; background:#EEF6FA; font-weight:bold; color:#006486; display:flex; align-items:center; justify-content:space-between; gap:8px; }
.hf-catalogo-menu a.hf-catalogo-todos:hover { background:#DDEEF6; }
@media (max-width:600px) {
	.hf-catalogo-menu { grid-template-columns:1fr; min-width:0; position:fixed; top:auto; left:15px; right:15px; max-height:70vh; overflow-y:auto; }
}
@media (max-width:600px) {
	.hf-topbar { padding:16px 15px 10px; gap:10px; }
	.hf-logo { order:1; }
	.hf-icons { order:2; gap:4px; margin-left:auto; }
	.hf-search { order:3; flex-basis:100%; min-width:0; margin-top:12px; }
	.hf-search-box { max-width:100%; }
}
@media (max-width:480px) {
	.hf-icons a { padding:6px; }
	.hf-icons svg { width:20px; height:21px; }
}

/* Compatibilidade: páginas ainda não convertidas para HTML semântico usam
   estas classes no wrapper de tabela do próprio conteúdo. Remover quando
   todas as páginas estiverem migradas para <main>. */
.site-wrap { max-width: 1024px; width: 100%; margin-left: auto; margin-right: auto; box-sizing: border-box; }
@media (max-width: 768px) {
	.main-content table tr:has(> td + td) > td {
		display: block;
		width: 100% !important;
		height: auto !important;
	}
	.main-content img:not([width]) {
		max-width: 100%;
		height: auto;
	}
}
