/*
Theme Name: UEMASUL 2018 — Homologação Integrada 3.1
Theme URI: https://www.uemasul.edu.br
Author: Ascom UEMASUL / TI
Author URI: https://www.uemasul.edu.br
Description: Tema oficial da Universidade Estadual da Região Tocantina do Maranhão (UEMASUL) atualizado com a paleta oficial de cores, Bootstrap 5, PHP 8+, Live Search AJAX e total conformidade com acessibilidade (e-MAG / WCAG).
Version: 3.1.0-hml1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: uemasul
Tags: bootstrap-5, responsive-layout, custom-menu, featured-images, accessibility-ready, live-search
*/

/* ===================================================
   PALETA DE CORES OFICIAL DA UEMASUL
   ---------------------------------------------------
   1. Azul Institucional:  #25247b (C100 M100 Y00 K20 | R37 G36 B123)
   2. Vermelho:            #c53425 (C00 M90 Y90 K20   | R197 G52 B37)
   3. Preto / Escuro:      #000000 (C10 M00 Y00 K100  | R0 G0 B0)
   4. Verde:               #008345 (C90 M00 Y90 K30   | R0 G131 B69)
   5. Amarelo / Dourado:   #e5a712 (C00 M30 Y100 K10  | R229 G167 B18)
   =================================================== */
:root {
	--uemasul-blue: #25247b;
	--uemasul-blue-dark: #1a1958;
	--uemasul-blue-light: #35349e;
	--uemasul-red: #c53425;
	--uemasul-red-dark: #9e281c;
	--uemasul-red-light: #dd4838;
	--uemasul-black: #000000;
	--uemasul-dark: #121316;
	--uemasul-green: #008345;
	--uemasul-green-dark: #006636;
	--uemasul-green-light: #0da35a;
	--uemasul-gold: #e5a712;
	--uemasul-gold-dark: #c48e0d;
	--uemasul-gray-bg: #f8f9fa;

	/* Atribuições Semânticas do Tema */
	--uemasul-primary: var(--uemasul-blue);
	--uemasul-secondary: var(--uemasul-red);
}

/* --- Ajustes Globais --- */
html {
	scroll-behavior: smooth;
}

body {
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	background-color: var(--uemasul-gray-bg);
	color: var(--uemasul-dark);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

/* Link de Acessibilidade Saltar para o Conteúdo (e-MAG / WCAG) */
.skip-link {
	position: absolute;
	top: -60px;
	left: 0;
	background: var(--uemasul-red, #c53425);
	color: #ffffff !important;
	padding: 8px 16px;
	z-index: 99999;
	transition: top 0.2s ease;
	font-weight: bold;
	text-decoration: none !important;
	border-radius: 0 0 4px 0;
}

.skip-link:focus {
	top: 0;
	outline: 3px solid var(--uemasul-gold) !important;
}

body.alto-contraste .skip-link {
	background: #ffd700 !important;
	color: #000000 !important;
	border: 2px solid #ffffff !important;
}

/* Foco de Acessibilidade visível */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible {
	outline: 3px solid var(--uemasul-gold) !important;
	outline-offset: 2px !important;
}

/* Links institucionais */
.hover-primary:hover {
	color: var(--uemasul-blue) !important;
}

.hover-warning:hover {
	color: var(--uemasul-gold) !important;
}

.hover-danger:hover {
	color: var(--uemasul-red) !important;
}

/* Efeito suave nos Cards */
.transition-all {
	transition: all 0.25s ease-in-out;
}

.card {
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.card:hover {
	transform: translateY(-2px);
}

.hover-lift {
	transition: transform 0.25s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.hover-lift:hover {
	transform: translateY(-4px);
	box-shadow: 0 0.65rem 1.25rem rgba(37, 36, 123, 0.12) !important;
}

.news-card-hover:hover img {
	transform: scale(1.05);
}

/* Live Search Dropdown */
.live-search-dropdown {
	border-color: #dee2e6 !important;
	box-shadow: 0 10px 25px rgba(37, 36, 123, 0.15) !important;
}

.live-search-dropdown .list-group-item:hover {
	background-color: #f1f3fa;
}

/* Imagens responsivas no editor do WordPress */
.entry-content img {
	max-width: 100%;
	height: auto;
	border-radius: 0.375rem;
}

.entry-content iframe {
	max-width: 100%;
}

/* Paginação padrão com cores da UEMASUL */
.pagination {
	display: flex;
	gap: 0.25rem;
}

.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.25rem;
	height: 2.25rem;
	padding: 0.375rem 0.75rem;
	border: 1px solid #dee2e6;
	border-radius: 0.375rem;
	color: var(--uemasul-blue);
	text-decoration: none;
	font-size: 0.9rem;
	font-weight: 600;
	transition: all 0.2s;
}

.pagination .page-numbers.current {
	background-color: var(--uemasul-blue);
	color: #fff;
	border-color: var(--uemasul-blue);
}

.pagination .page-numbers:hover:not(.current) {
	background-color: #e9eaf7;
	color: var(--uemasul-blue-dark);
}

/* Utilitários tipográficos */
.fs-7 {
	font-size: 0.85rem;
}

/* --- Cores Primárias (Azul #25247b) --- */
.bg-primary {
	background-color: var(--uemasul-blue) !important;
}

.text-primary {
	color: var(--uemasul-blue) !important;
}

.border-primary {
	border-color: var(--uemasul-blue) !important;
}

.btn-primary {
	background-color: var(--uemasul-blue);
	border-color: var(--uemasul-blue);
	color: #fff;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
	background-color: var(--uemasul-blue-dark) !important;
	border-color: var(--uemasul-blue-dark) !important;
	color: #fff !important;
}

.btn-outline-primary {
	color: var(--uemasul-blue);
	border-color: var(--uemasul-blue);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
	background-color: var(--uemasul-blue) !important;
	border-color: var(--uemasul-blue) !important;
	color: #fff !important;
}

/* --- Cores Secundárias / Alerta (Vermelho #c53425) --- */
.bg-danger {
	background-color: var(--uemasul-red) !important;
}

.text-danger {
	color: var(--uemasul-red) !important;
}

.border-danger {
	border-color: var(--uemasul-red) !important;
}

.btn-danger {
	background-color: var(--uemasul-red);
	border-color: var(--uemasul-red);
	color: #fff;
}

.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active {
	background-color: var(--uemasul-red-dark) !important;
	border-color: var(--uemasul-red-dark) !important;
	color: #fff !important;
}

.btn-outline-danger {
	color: var(--uemasul-red);
	border-color: var(--uemasul-red);
}

.btn-outline-danger:hover,
.btn-outline-danger:focus,
.btn-outline-danger:active {
	background-color: var(--uemasul-red) !important;
	border-color: var(--uemasul-red) !important;
	color: #fff !important;
}

/* --- Cores de Sucesso (Verde #008345) --- */
.bg-success {
	background-color: var(--uemasul-green) !important;
}

.text-success {
	color: var(--uemasul-green) !important;
}

.border-success {
	border-color: var(--uemasul-green) !important;
}

.btn-success {
	background-color: var(--uemasul-green);
	border-color: var(--uemasul-green);
	color: #fff;
}

.btn-success:hover,
.btn-success:focus,
.btn-success:active {
	background-color: var(--uemasul-green-dark) !important;
	border-color: var(--uemasul-green-dark) !important;
	color: #fff !important;
}

.btn-outline-success {
	color: var(--uemasul-green);
	border-color: var(--uemasul-green);
}

.btn-outline-success:hover,
.btn-outline-success:focus,
.btn-outline-success:active {
	background-color: var(--uemasul-green) !important;
	border-color: var(--uemasul-green) !important;
	color: #fff !important;
}

/* --- Cores de Destaque / Ouro (Amarelo #e5a712) --- */
.bg-warning {
	background-color: var(--uemasul-gold) !important;
}

.text-warning {
	color: var(--uemasul-gold) !important;
}

.border-warning {
	border-color: var(--uemasul-gold) !important;
}

.btn-warning {
	background-color: var(--uemasul-gold);
	border-color: var(--uemasul-gold);
	color: #000;
	font-weight: 600;
}

.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active {
	background-color: var(--uemasul-gold-dark) !important;
	border-color: var(--uemasul-gold-dark) !important;
	color: #000 !important;
}

.btn-outline-warning {
	color: var(--uemasul-gold-dark);
	border-color: var(--uemasul-gold);
}

.btn-outline-warning:hover,
.btn-outline-warning:focus,
.btn-outline-warning:active {
	background-color: var(--uemasul-gold) !important;
	border-color: var(--uemasul-gold) !important;
	color: #000 !important;
}

/* --- Top Bar Institucional --- */
.top-bar {
	background-color: var(--uemasul-red);
}

@media (max-width: 767.98px) {
	.top-bar .top-links {
		justify-content: center;
		gap: 0.5rem !important;
		font-size: 0.75rem;
	}
}

/* --- Logotipo e Identidade Visual Responsiva --- */
.site-branding {
	display: flex;
	align-items: center;
}

.site-branding img,
.custom-logo-link img,
.custom-logo {
	max-height: 80px;
	width: auto !important;
	max-width: 100% !important;
	height: auto !important;
	object-fit: contain !important;
	display: block;
}

@media (max-width: 767.98px) {
	.site-branding {
		justify-content: center;
		width: 100%;
		text-align: center;
	}
	.site-branding img,
	.custom-logo-link img,
	.custom-logo {
		max-height: 56px !important;
		width: auto !important;
		height: auto !important;
		object-fit: contain !important;
		margin: 0 auto;
	}
	.main-header .d-flex.flex-column {
		width: 100%;
		align-items: center !important;
	}
	.main-header .accessibility-controls {
		justify-content: center;
		margin-bottom: 0.25rem;
	}
	.main-header .search-form {
		max-width: 100% !important;
	}
}

/* --- Controles de Acessibilidade no Cabeçalho (Fonte & Contraste) --- */
.accessibility-controls .font-ctrl-btn {
	padding: 0.15rem 0.45rem !important;
	font-size: 0.75rem !important;
	line-height: 1 !important;
	border-radius: 4px !important;
	border-color: #ced4da;
	color: #495057;
	transition: all 0.15s ease-in-out;
}

.accessibility-controls .font-ctrl-btn:hover:not(:disabled) {
	background-color: var(--uemasul-blue) !important;
	border-color: var(--uemasul-blue) !important;
	color: #ffffff !important;
}

.accessibility-controls .font-ctrl-btn:disabled {
	opacity: 0.35;
	cursor: not-allowed;
}

.accessibility-controls .font-size-badge {
	font-size: 0.72rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.3px;
	transition: all 0.2s ease;
	vertical-align: middle;
}

#alt-contrast.active {
	color: var(--uemasul-blue) !important;
	font-weight: 700;
}

/* --- Menu Principal (Navbar) & Prevenção de Duplo Botão --- */
.main-navigation .navbar-nav .nav-link {
	color: var(--uemasul-dark);
	transition: color 0.2s ease;
}

.main-navigation .navbar-nav .nav-link:hover,
.main-navigation .navbar-nav .nav-link:focus {
	color: var(--uemasul-blue) !important;
}

.main-navigation .navbar-nav .active > .nav-link,
.main-navigation .navbar-nav .nav-link.show {
	color: var(--uemasul-blue) !important;
	border-bottom: 2px solid var(--uemasul-gold);
}

/* Se houver Max Mega Menu ativo, remove qualquer botão de toggle duplicado */
.navbar:has(.mega-menu-wrap) .navbar-toggler,
.main-navigation:has(.mega-menu-wrap) .navbar-toggler {
	display: none !important;
}

.navbar:has(.mega-menu-wrap) .collapse:not(.show),
.main-navigation:has(.mega-menu-wrap) .collapse:not(.show) {
	display: block !important;
}

/* --- Estilos do Rodapé Institucional Oficial --- */
.site-footer {
	background-color: var(--uemasul-dark) !important;
	border-top: 4px solid var(--uemasul-blue);
}

.site-footer a {
	transition: color 0.2s ease, transform 0.2s ease;
}

.site-footer a:hover {
	color: #fff !important;
}

.footer-links a:hover {
	transform: translateX(4px);
	display: inline-block;
	color: var(--uemasul-gold) !important;
}

.footer-social-icon {
	transition: all 0.25s ease-in-out;
}

.footer-social-icon:hover {
	background-color: var(--uemasul-blue) !important;
	border-color: var(--uemasul-blue) !important;
	color: #fff !important;
	transform: translateY(-3px);
}

.footer-copyright {
	background-color: var(--uemasul-black) !important;
}

/* Responsividade de tabelas */
.table-responsive {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

/* ===================================================
   ESTILOS DO CHATBOT / ASSISTENTE VIRTUAL IA
   =================================================== */
.uemasul-chatbot-fab-container {
	position: relative;
}

/* Balão / Tooltip Hover: "Dúvidas, clique aqui." */
.chatbot-hover-tooltip {
	position: absolute;
	right: calc(100% + 14px);
	top: 50%;
	transform: translateY(-50%) translateX(10px);
	background: #ffffff;
	color: #1e1b4b;
	padding: 8px 16px;
	border-radius: 50px;
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.2px;
	white-space: nowrap;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), 0 2px 6px rgba(37, 36, 123, 0.08);
	border: 1px solid rgba(37, 36, 123, 0.14);
	display: flex;
	align-items: center;
	gap: 8px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	cursor: pointer;
	user-select: none;
	transition: opacity 0.25s cubic-bezier(0.165, 0.84, 0.44, 1),
	            transform 0.25s cubic-bezier(0.165, 0.84, 0.44, 1),
	            visibility 0.25s;
	z-index: 1040;
}

/* Flecha / Pontinha do Balão apontando para o botão */
.chatbot-hover-tooltip .chatbot-tooltip-arrow {
	position: absolute;
	right: -6px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 12px;
	height: 12px;
	background: #ffffff;
	border-top: 1px solid rgba(37, 36, 123, 0.14);
	border-right: 1px solid rgba(37, 36, 123, 0.14);
}

/* Ponto verde pulsante de status online */
.chatbot-tooltip-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #10b981;
	box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.25);
	flex-shrink: 0;
	display: inline-block;
}

/* Exibição suave ao passar o mouse */
.uemasul-chatbot-fab-container:hover .chatbot-hover-tooltip,
#uemasul-chatbot-toggle:hover ~ .chatbot-hover-tooltip,
#uemasul-chatbot-toggle:focus-visible ~ .chatbot-hover-tooltip {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(-50%) translateX(0);
}

/* Oculta o balão quando o chat já estiver aberto */
#uemasul-chatbot-window:not(.d-none) ~ .uemasul-chatbot-fab-container .chatbot-hover-tooltip {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	display: none !important;
}

#uemasul-chatbot-toggle {
	background: var(--uemasul-blue, #25247b);
	box-shadow: 0 8px 24px rgba(37, 36, 123, 0.35) !important;
	animation: pulseChatbot 3s infinite;
}

#uemasul-chatbot-toggle:hover {
	background: var(--uemasul-blue-dark, #1a1958);
	transform: scale(1.08) !important;
	box-shadow: 0 12px 28px rgba(37, 36, 123, 0.45) !important;
}

@keyframes pulseChatbot {
	0% {
		box-shadow: 0 0 0 0 rgba(37, 36, 123, 0.6);
	}
	70% {
		box-shadow: 0 0 0 14px rgba(37, 36, 123, 0);
	}
	100% {
		box-shadow: 0 0 0 0 rgba(37, 36, 123, 0);
	}
}

#uemasul-chatbot-window {
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25) !important;
	animation: slideUpChat 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@keyframes slideUpChat {
	from {
		opacity: 0;
		transform: translateY(20px) scale(0.96);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

.quick-chip {
	transition: all 0.2s ease;
}

.quick-chip {
	transition: all 0.2s ease;
	font-size: 0.78rem;
	cursor: pointer;
}

.quick-chip:hover {
	background-color: var(--uemasul-blue) !important;
	color: #ffffff !important;
	border-color: var(--uemasul-blue) !important;
	transform: translateY(-2px);
}

.chatbot-dynamic-suggestions {
	animation: fadeInSuggestions 0.3s ease-in-out;
}

.chatbot-dynamic-suggestions .quick-chip {
	font-size: 0.76rem;
	padding: 0.25rem 0.65rem !important;
	box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}

@keyframes fadeInSuggestions {
	from {
		opacity: 0;
		transform: translateY(4px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Modo Alto Contraste no Chatbot */
body.alto-contraste #uemasul-chatbot-window {
	background-color: #000000 !important;
	border: 2px solid #ffff00 !important;
}

body.alto-contraste #uemasul-chatbot-window .card-header {
	background: #111111 !important;
	border-bottom: 2px solid #ffff00 !important;
}

body.alto-contraste #uemasul-chatbot-window .card-body,
body.alto-contraste #uemasul-chatbot-window .card-footer {
	background-color: #000000 !important;
}

body.alto-contraste #uemasul-chatbot-window .chat-msg .p-3 {
	background-color: #121212 !important;
	color: #ffffff !important;
	border: 1px solid #444444 !important;
}

body.alto-contraste #uemasul-chatbot-window .bot-content a {
	color: #ffff00 !important;
	text-decoration: underline !important;
}

body.alto-contraste #uemasul-chatbot-window .quick-chip {
	background-color: #000000 !important;
	color: #ffff00 !important;
	border: 1px solid #ffff00 !important;
}

body.alto-contraste #uemasul-chatbot-window .quick-chip:hover {
	background-color: #ffff00 !important;
	color: #000000 !important;
}

body.alto-contraste #uemasul-chatbot-window input {
	background-color: #222222 !important;
	color: #ffffff !important;
	border-color: #ffff00 !important;
}

body.alto-contraste .chatbot-hover-tooltip {
	background: #000000 !important;
	color: #ffff00 !important;
	border-color: #ffff00 !important;
}

body.alto-contraste .chatbot-hover-tooltip .chatbot-tooltip-arrow {
	background: #000000 !important;
	border-top-color: #ffff00 !important;
	border-right-color: #ffff00 !important;
}

/* Responsividade Mobile do Chatbot */
@media (max-width: 575.98px) {
	#uemasul-chatbot-window {
		width: calc(100vw - 24px) !important;
		height: calc(100vh - 100px) !important;
		right: 0 !important;
		bottom: 75px !important;
	}
}

/* ===================================================
   ESTILOS DO WIDGET DE ACESSO RÁPIDO COM LOGOS
   =================================================== */
.shadow-xs {
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.acesso-rapido-btn {
	border-radius: 8px !important;
	border: 1px solid rgba(0, 0, 0, 0.07) !important;
	transition: all 0.22s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.acesso-rapido-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(37, 36, 123, 0.12) !important;
	border-color: var(--uemasul-blue) !important;
}

.acesso-rapido-btn:hover span {
	color: var(--uemasul-blue) !important;
}

.acesso-rapido-btn:hover i.bi-chevron-right {
	color: var(--uemasul-blue) !important;
	transform: translateX(3px);
}

.acesso-rapido-btn i.bi-chevron-right {
	transition: transform 0.2s ease;
}

/* Alto Contraste */
body.alto-contraste .acesso-rapido-btn {
	background-color: #151821 !important;
	border-color: #383d4a !important;
}

body.alto-contraste .acesso-rapido-btn span {
	color: #ffffff !important;
}

body.alto-contraste .acesso-rapido-btn:hover {
	border-color: #ffd700 !important;
	box-shadow: 0 4px 12px rgba(255, 215, 0, 0.2) !important;
}

body.alto-contraste .acesso-rapido-btn:hover span,
body.alto-contraste .acesso-rapido-btn:hover i.bi-chevron-right {
	color: #ffd700 !important;
}

/* ===================================================
   BADGES DE ÍCONES SUAVES (PADRÃO WEBMAIL / OUVIDORIA)
   =================================================== */
.icon-badge {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 0.5rem;
	transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.icon-badge-sigaa {
	background-color: rgba(37, 36, 123, 0.1) !important;
	color: var(--uemasul-blue, #25247b) !important;
}

.icon-badge-sipac {
	background-color: rgba(0, 131, 69, 0.1) !important;
	color: var(--uemasul-green, #008345) !important;
}

.icon-badge-editais {
	background-color: rgba(229, 167, 18, 0.15) !important;
	color: #b88204 !important;
}

.icon-badge-webmail {
	background-color: rgba(13, 202, 240, 0.15) !important;
	color: #0aa2c0 !important;
}

.icon-badge-cursos {
	background-color: rgba(197, 52, 37, 0.1) !important;
	color: var(--uemasul-red, #c53425) !important;
}

.icon-badge-ouvidoria {
	background-color: rgba(108, 117, 125, 0.15) !important;
	color: #495057 !important;
}

/* Hover interativo nos cards */
.card:hover .icon-badge-sigaa {
	background-color: var(--uemasul-blue) !important;
	color: #ffffff !important;
	transform: scale(1.08);
}

.card:hover .icon-badge-sipac {
	background-color: var(--uemasul-green) !important;
	color: #ffffff !important;
	transform: scale(1.08);
}

.card:hover .icon-badge-editais {
	background-color: var(--uemasul-gold) !important;
	color: #000000 !important;
	transform: scale(1.08);
}

.card:hover .icon-badge-webmail {
	background-color: #0dcaf0 !important;
	color: #ffffff !important;
	transform: scale(1.08);
}

.card:hover .icon-badge-cursos {
	background-color: var(--uemasul-red) !important;
	color: #ffffff !important;
	transform: scale(1.08);
}

.card:hover .icon-badge-ouvidoria {
	background-color: #495057 !important;
	color: #ffffff !important;
	transform: scale(1.08);
}

/* ===================================================
   SISTEMA DE ALTO CONTRASTE REFINADO (WCAG AAA & e-MAG)
   =================================================== */
body.alto-contraste {
	background-color: #0c0d10 !important;
	color: #ffffff !important;
}

body.alto-contraste #primary,
body.alto-contraste .site-main,
body.alto-contraste main {
	background-color: #0c0d10 !important;
	color: #ffffff !important;
}

/* Superfícies, Seções e Cards */
body.alto-contraste .bg-white,
body.alto-contraste .bg-light,
body.alto-contraste .bg-gray,
body.alto-contraste .card,
body.alto-contraste .list-group-item,
body.alto-contraste .tv-uemasul-section,
body.alto-contraste .main-header {
	background-color: #151821 !important;
	color: #ffffff !important;
	border-color: #383d4a !important;
}

body.alto-contraste .card {
	border: 1px solid #383d4a !important;
	box-shadow: none !important;
}

body.alto-contraste .card:hover {
	border-color: #ffd700 !important;
	box-shadow: 0 4px 16px rgba(255, 215, 0, 0.15) !important;
}

/* Hierarquia Tipográfica & Correção de Textos Escuros/Invisíveis */
body.alto-contraste h1,
body.alto-contraste h2,
body.alto-contraste h3,
body.alto-contraste h4,
body.alto-contraste h5,
body.alto-contraste h6,
body.alto-contraste .h1,
body.alto-contraste .h2,
body.alto-contraste .h3,
body.alto-contraste .h4,
body.alto-contraste .h5,
body.alto-contraste .h6,
body.alto-contraste strong,
body.alto-contraste b,
body.alto-contraste .text-dark,
body.alto-contraste .text-black,
body.alto-contraste .text-body {
	color: #ffffff !important;
}

body.alto-contraste .text-muted,
body.alto-contraste .text-secondary,
body.alto-contraste .text-white-50,
body.alto-contraste small,
body.alto-contraste .fs-7 {
	color: #d1d5db !important;
}

/* Links Globais e Interações */
body.alto-contraste a {
	color: #ffd700 !important;
	text-decoration: underline !important;
	text-underline-offset: 2px;
}

body.alto-contraste a:hover,
body.alto-contraste a:focus {
	color: #ffffff !important;
	text-decoration: underline !important;
}

/* Títulos que são links (notícias, cards, etc): Brancos com hover dourado para conforto visual */
body.alto-contraste .card-title a,
body.alto-contraste .news-card-hover a,
body.alto-contraste h2 a,
body.alto-contraste h3 a,
body.alto-contraste h4 a,
body.alto-contraste h5 a,
body.alto-contraste h6 a,
body.alto-contraste .acesso-rapido-sistemas a,
body.alto-contraste .campi-section a {
	color: #ffffff !important;
	text-decoration: none !important;
}

body.alto-contraste .card-title a:hover,
body.alto-contraste .news-card-hover a:hover,
body.alto-contraste h2 a:hover,
body.alto-contraste h3 a:hover,
body.alto-contraste h4 a:hover,
body.alto-contraste .acesso-rapido-sistemas .card:hover strong,
body.alto-contraste .campi-section .card:hover h4 {
	color: #ffd700 !important;
	text-decoration: underline !important;
}

/* Top Bar Governamental */
body.alto-contraste .top-bar {
	background-color: #000000 !important;
	border-bottom: 2px solid #ffd700 !important;
}

body.alto-contraste .top-bar a {
	color: #ffffff !important;
	text-decoration: none !important;
}

body.alto-contraste .top-bar a:hover {
	color: #ffd700 !important;
	text-decoration: underline !important;
}

/* Barra de Acessibilidade no Cabeçalho */
body.alto-contraste .accessibility-controls .btn-link {
	color: #ffffff !important;
}

body.alto-contraste .accessibility-controls .btn-link:hover {
	color: #ffd700 !important;
}

body.alto-contraste #alt-contrast.active,
body.alto-contraste #alt-contrast {
	color: #ffd700 !important;
	font-weight: 700 !important;
}

body.alto-contraste .font-ctrl-btn {
	border-color: #ffd700 !important;
	color: #ffd700 !important;
	background-color: transparent !important;
}

body.alto-contraste .font-ctrl-btn:hover:not(:disabled),
body.alto-contraste .font-ctrl-btn:focus:not(:disabled) {
	background-color: #ffd700 !important;
	color: #000000 !important;
}

body.alto-contraste .font-ctrl-btn:disabled {
	border-color: #4b5563 !important;
	color: #6b7280 !important;
	opacity: 0.4 !important;
}

body.alto-contraste #font-size-indicator {
	background-color: #ffd700 !important;
	color: #000000 !important;
	font-weight: 700 !important;
}

/* Campo de Busca & Live Search */
body.alto-contraste #header-search-input {
	background-color: #1c1f28 !important;
	color: #ffffff !important;
	border: 2px solid #ffd700 !important;
}

body.alto-contraste #header-search-input::placeholder {
	color: #9ca3af !important;
}

body.alto-contraste .search-form button[type="submit"] {
	color: #ffd700 !important;
}

body.alto-contraste .live-search-dropdown {
	background-color: #151821 !important;
	border: 2px solid #ffd700 !important;
}

body.alto-contraste .live-search-dropdown .list-group-item {
	background-color: #151821 !important;
	color: #ffffff !important;
	border-bottom-color: #383d4a !important;
}

body.alto-contraste .live-search-dropdown .list-group-item:hover {
	background-color: #242936 !important;
	color: #ffd700 !important;
}

/* Menu de Navegação Horizontal (Navbar) */
body.alto-contraste .main-navigation {
	background-color: #000000 !important;
	border-bottom: 2px solid #ffd700 !important;
}

body.alto-contraste .main-navigation .navbar-nav .nav-link {
	color: #ffffff !important;
}

body.alto-contraste .main-navigation .navbar-nav .nav-link:hover,
body.alto-contraste .main-navigation .navbar-nav .nav-link:focus,
body.alto-contraste .main-navigation .navbar-nav .active > .nav-link,
body.alto-contraste .main-navigation .navbar-nav .nav-link.show {
	color: #ffd700 !important;
	border-bottom-color: #ffd700 !important;
}

body.alto-contraste .dropdown-menu {
	background-color: #151821 !important;
	border: 2px solid #ffd700 !important;
}

body.alto-contraste .dropdown-item {
	color: #ffffff !important;
}

body.alto-contraste .dropdown-item:hover,
body.alto-contraste .dropdown-item:focus {
	background-color: #ffd700 !important;
	color: #000000 !important;
}

body.alto-contraste .navbar-toggler {
	border-color: #ffd700 !important;
}

body.alto-contraste .navbar-toggler-icon {
	filter: invert(1) brightness(2) !important;
}

/* Botões do Tema */
body.alto-contraste .btn-primary {
	background-color: #ffd700 !important;
	color: #000000 !important;
	border-color: #ffd700 !important;
	font-weight: 700 !important;
}

body.alto-contraste .btn-primary:hover,
body.alto-contraste .btn-primary:focus {
	background-color: #ffffff !important;
	color: #000000 !important;
	border-color: #ffffff !important;
}

body.alto-contraste .btn-outline-primary,
body.alto-contraste .btn-outline-danger,
body.alto-contraste .btn-outline-success,
body.alto-contraste .btn-outline-warning,
body.alto-contraste .btn-outline-secondary,
body.alto-contraste .btn-outline-info,
body.alto-contraste .btn-outline-light {
	color: #ffd700 !important;
	border: 2px solid #ffd700 !important;
	background-color: transparent !important;
	font-weight: 600 !important;
}

body.alto-contraste .btn-outline-primary:hover,
body.alto-contraste .btn-outline-danger:hover,
body.alto-contraste .btn-outline-success:hover,
body.alto-contraste .btn-outline-warning:hover,
body.alto-contraste .btn-outline-secondary:hover,
body.alto-contraste .btn-outline-info:hover {
	background-color: #ffd700 !important;
	color: #000000 !important;
	border-color: #ffd700 !important;
}

/* Badges e Selos */
body.alto-contraste .badge {
	border: 1px solid #ffd700 !important;
	background-color: #1f232d !important;
	color: #ffd700 !important;
}

body.alto-contraste .badge[class*="bg-opacity-"] {
	background-color: #1f232d !important;
	color: #ffd700 !important;
}

/* Ícones de Sistemas (Icon Badges) */
body.alto-contraste .icon-badge {
	background-color: #1f232d !important;
	border: 2px solid #ffd700 !important;
	color: #ffd700 !important;
}

body.alto-contraste .icon-badge i {
	color: #ffd700 !important;
}

body.alto-contraste .card:hover .icon-badge {
	background-color: #ffd700 !important;
	color: #000000 !important;
	transform: scale(1.08);
}

body.alto-contraste .card:hover .icon-badge i {
	color: #000000 !important;
}

/* Divisores e Bordas Estruturais */
body.alto-contraste .border,
body.alto-contraste .border-top,
body.alto-contraste .border-bottom,
body.alto-contraste .border-start,
body.alto-contraste .border-end {
	border-color: #383d4a !important;
}

/* Rodapé Institucional */
body.alto-contraste .site-footer {
	background-color: #000000 !important;
	border-top: 4px solid #ffd700 !important;
}

body.alto-contraste .footer-copyright {
	background-color: #000000 !important;
	border-top: 1px solid #383d4a !important;
}

body.alto-contraste .footer-links a {
	color: #ffffff !important;
	text-decoration: none !important;
}

body.alto-contraste .footer-links a:hover {
	color: #ffd700 !important;
	text-decoration: underline !important;
}

body.alto-contraste .footer-social-icon {
	border-color: #ffd700 !important;
	color: #ffd700 !important;
}

body.alto-contraste .footer-social-icon:hover {
	background-color: #ffd700 !important;
	color: #000000 !important;
}

/* Paginação */
body.alto-contraste .pagination .page-numbers {
	background-color: #151821 !important;
	color: #ffffff !important;
	border-color: #383d4a !important;
}

body.alto-contraste .pagination .page-numbers.current,
body.alto-contraste .pagination .page-numbers:hover {
	background-color: #ffd700 !important;
	color: #000000 !important;
	border-color: #ffd700 !important;
}

/* UEMASUL HML: correções para carrossel histórico com Bootstrap 5 */
#uemasul-carousel .carousel-item img{display:block;width:100%;height:auto;max-height:480px;object-fit:contain;background:#111}
#uemasul-carousel .carousel-indicators [data-bs-target]{height:5px;width:26px}
#uemasul-carousel .carousel-control-prev,#uemasul-carousel .carousel-control-next{width:8%}
