/*
 * CISPORTAL Main Stylesheet
 * Developed by Siqueira & Souza Comunicação
 */

/* 1. VARIÁVEIS DO SISTEMA DE DESIGN (Apple Material Inspired) */
:root {
	/* Paleta de Cores */
	--color-bg-base: #f5f5f7;          /* Cinza claro de fundo padrão da Apple */
	--color-bg-card: #ffffff;          /* Branco puro para os cards */
	--color-text-primary: #1d1d1f;     /* Preto elegante/grafite */
	--color-text-secondary: #6e6e73;   /* Cinza suave para legendas e metadados */
	
	--color-verde-cana: #5bc82c;       /* Verde limão/cana principal da logo */
	--color-verde-cana-light: #f0fbeb; /* Fundo verde cana claro */
	--color-verde-cana-hover: #48a322; /* Verde cana escuro para hover */
	--color-verde-cana-accent: #5bc82c;/* Verde cana vibrante para acentos */
	
	--color-azul: #154794;             /* Azul escuro da base da logo */
	--color-azul-hover: #0e326b;       /* Azul ainda mais escuro para hover */
	--color-border: #d2d2d7;           /* Borda cinza suave */
	--color-divider: #e5e5ea;          /* Divisor interno */
	
	/* Ícones dos Serviços - Todos com a cor verde da logo */
	--color-icon-transp: #5bc82c;      /* Verde da Transparência/Logo */
	--color-icon-ouvidoria: #ff9500;   /* Laranja */
	--color-icon-licitacoes: #007aff;  /* Azul */
	--color-icon-public: #5856d6;      /* Roxo */
	--color-icon-municipios: #af52de;  /* Violeta */
	--color-icon-noticias: #ff2d55;    /* Rosa */

	/* Tipografia e Raio */
	--font-title: 'Outfit', sans-serif;
	--font-body: 'Inter', sans-serif;
	
	--border-radius-large: 16px;       /* Padrão de cards Apple */
	--border-radius-medium: 10px;      /* Botões e elementos menores */
	--border-radius-round: 50%;
	
	--shadow-soft: 0 4px 20px rgba(0, 0, 0, 0.04);
	--shadow-hover: 0 8px 30px rgba(0, 0, 0, 0.08);
	--transition-speed: 0.3s;
}

/* 2. ACESSIBILIDADE: ALTO CONTRASTE */
body.gh-high-contrast {
	--color-bg-base: #000000 !important;
	--color-bg-card: #000000 !important;
	--color-text-primary: #ffffff !important;
	--color-text-secondary: #ffff00 !important;
	
	--color-verde-cana: #ffff00 !important;
	--color-verde-cana-light: #111111 !important;
	--color-verde-cana-hover: #ffff00 !important;
	--color-verde-cana-accent: #ffff00 !important;
	
	--color-azul: #00ffff !important;
	--color-azul-hover: #00ffff !important;
	--color-border: #ffffff !important;
	--color-divider: #ffffff !important;
	
	--color-icon-transp: #00ffff !important;
	--color-icon-ouvidoria: #00ffff !important;
	--color-icon-licitacoes: #00ffff !important;
	--color-icon-public: #00ffff !important;
	--color-icon-municipios: #00ffff !important;
	--color-icon-noticias: #00ffff !important;
}

body.gh-high-contrast .top-bar,
body.gh-high-contrast .search-bar-green,
body.gh-high-contrast .carousel-slide,
body.gh-high-contrast .service-apple-card,
body.gh-high-contrast .news-apple-card,
body.gh-high-contrast .apple-panel,
body.gh-high-contrast .main-footer {
	border: 1px solid #ffffff !important;
	background: #000000 !important;
	color: #ffffff !important;
}

body.gh-high-contrast a,
body.gh-high-contrast button,
body.gh-high-contrast h1,
body.gh-high-contrast h2,
body.gh-high-contrast h3,
body.gh-high-contrast h4,
body.gh-high-contrast p,
body.gh-high-contrast span,
body.gh-high-contrast i {
	color: #ffffff !important;
}

body.gh-high-contrast a:hover,
body.gh-high-contrast button:hover {
	color: #ffff00 !important;
	text-decoration: underline !important;
}

body.gh-high-contrast .main-navigation ul li a:hover {
	background-color: #ffff00 !important;
	color: #000000 !important;
	text-decoration: none !important;
}

body.gh-high-contrast .contact-service-card {
	border: 1px solid #ffffff !important;
	background: #000000 !important;
	color: #ffffff !important;
}

body.gh-high-contrast .contact-service-card:hover {
	border-color: #ffff00 !important;
}

body.gh-high-contrast .contact-card-icon-wrapper {
	background: #000000 !important;
	border: 1px solid #ffffff !important;
	color: #ffffff !important;
}

body.gh-high-contrast .contact-service-card:hover .contact-card-icon-wrapper {
	border-color: #ffff00 !important;
	color: #ffff00 !important;
}

body.gh-high-contrast .cisportal-contact-form input,
body.gh-high-contrast .cisportal-contact-form textarea {
	border: 1px solid #ffffff !important;
	background: #000000 !important;
	color: #ffffff !important;
}

body.gh-high-contrast .cisportal-contact-form input:focus,
body.gh-high-contrast .cisportal-contact-form textarea:focus {
	border-color: #ffff00 !important;
	box-shadow: none !important;
}

body.gh-high-contrast .btn-send-message {
	background: #000000 !important;
	border: 1px solid #ffffff !important;
	color: #ffffff !important;
}

body.gh-high-contrast .btn-send-message:hover {
	background: #ffff00 !important;
	color: #000000 !important;
	border-color: #ffff00 !important;
}

body.gh-high-contrast .info-icon {
	background: #000000 !important;
	border: 1px solid #ffffff !important;
	color: #ffffff !important;
}

/* 3. ACESSIBILIDADE: FONTE AMPLIADA */
body.gh-font-large {
	font-size: 115% !important;
}
body.gh-font-large h1, body.gh-font-large .slide-title { font-size: 2.2rem !important; }
body.gh-font-large h2 { font-size: 1.8rem !important; }
body.gh-font-large h3 { font-size: 1.5rem !important; }
body.gh-font-large p, body.gh-font-large a, body.gh-font-large span, body.gh-font-large button { font-size: 1.1rem !important; }

/* 4. ESTILOS GERAIS & RESET */
* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

body {
	font-family: var(--font-body);
	background-color: var(--color-bg-base);
	color: var(--color-text-primary);
	line-height: 1.5;
	overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-title);
	font-weight: 600;
	letter-spacing: -0.02em;
}

a {
	color: var(--color-azul);
	text-decoration: none;
	transition: color var(--transition-speed) ease;
}

a:hover {
	color: var(--color-azul-hover);
}

button {
	cursor: pointer;
	border: none;
	background: none;
	font-family: inherit;
	transition: all var(--transition-speed) ease;
}

/* Layout Containers */
.page-container {
	max-width: 1200px;
	margin: 40px auto;
	padding: 0 20px;
}

.cis-main {
	min-height: 60vh;
}

/* 5. HEADER: BARRA DE ACESSIBILIDADE (eMAG) */
.top-bar {
	background-color: #f1f3f5;
	color: #1d1d1f;
	font-size: 12px;
	font-weight: 300;
	height: 38px;
	border-bottom: 1px solid var(--color-border);
	display: flex;
	align-items: center;
}

.top-bar-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.top-bar-left, .top-bar-right {
	display: flex;
	align-items: center;
	gap: 15px;
}

.access-shortcut {
	color: #1d1d1f;
	font-size: 12px;
	font-weight: 300;
	display: flex;
	align-items: center;
	gap: 4px;
}

.access-shortcut:hover {
	color: var(--color-verde-cana);
}

.shortcut-num {
	color: var(--color-verde-cana);
	font-size: 12px;
	font-weight: 300;
	margin-right: 4px;
	background: none;
	border: none;
	padding: 0;
}

.topbar-link, .topbar-btn {
	color: #1d1d1f;
	font-weight: 300;
	font-size: 12px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
}

.topbar-link:hover, .topbar-btn:hover {
	color: var(--color-verde-cana);
}

.topbar-link i, .topbar-btn i {
	color: var(--color-verde-cana);
}

.topbar-divider {
	color: var(--color-border);
	font-weight: 300;
}

.font-resize-controls {
	display: flex;
	gap: 5px;
	align-items: center;
}

.btn-font-control {
	background: #ffffff;
	border: 1px solid var(--color-border);
	color: #1d1d1f;
	font-size: 10px;
	font-weight: bold;
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 4px;
	transition: all var(--transition-speed) ease;
	cursor: pointer;
}

.btn-font-control:hover {
	background: var(--color-verde-cana);
	color: #ffffff;
	border-color: var(--color-verde-cana);
}

/* 6. HEADER PRINCIPAL (Marca + Menu Inline) */
.main-header {
	background-color: rgba(255, 255, 255, 0.8);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	position: sticky;
	top: 0;
	z-index: 100;
	border-bottom: 1px solid var(--color-divider);
	padding: 15px 0;
}

.header-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

/* Logo Placeholder & Official */
.cis-logo-placeholder {
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--color-text-primary);
}

.cis-logo-official-wrapper {
	display: flex;
	align-items: center;
	max-height: 70px;
}

.cis-logo-official {
	height: auto;
	max-height: 70px;
	width: auto;
	object-fit: contain;
	transition: transform var(--transition-speed) ease;
}

.cis-logo-official-wrapper:hover .cis-logo-official {
	transform: scale(1.02);
}

.custom-logo-link img.custom-logo {
	max-height: 70px !important;
	width: auto !important;
	height: auto !important;
}

.cis-logo-icon {
	background-color: var(--color-verde-cana-light);
	color: var(--color-verde-cana);
	width: 48px;
	height: 48px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
}

.cis-logo-text strong {
	display: block;
	font-size: 20px;
	line-height: 1.1;
	font-family: var(--font-title);
	color: var(--color-verde-cana);
}

.cis-logo-text small {
	font-size: 11px;
	color: var(--color-text-secondary);
	display: block;
	max-width: 320px;
}

/* Menu de Navegação Horizontal */
.main-navigation {
	flex-grow: 1;
	margin-left: 60px;
}

.main-navigation > ul {
	display: flex;
	list-style: none;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	gap: 15px;
}

.main-navigation > ul > li {
	position: relative;
}

.main-navigation > ul > li > a {
	color: var(--color-text-primary);
	font-weight: 500;
	font-size: 14px;
	padding: 8px 16px;
	border-radius: 6px;
	display: block;
	transition: background-color var(--transition-speed) ease, color var(--transition-speed) ease;
}

.main-navigation > ul > li > a:hover {
	background-color: rgba(91, 200, 44, 0.12); /* Verde bem clarinho quase transparente */
	color: var(--color-verde-cana-hover);
}

/* Estilos para Submenus (Dropdowns) */
.main-navigation ul li .sub-menu {
	display: none;
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	background-color: #ffffff;
	min-width: 200px;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
	border: 1px solid var(--color-divider);
	border-radius: 8px;
	padding: 8px 0;
	margin: 5px 0 0 0;
	list-style: none;
	z-index: 999;
}

/* Ponte de hover invisível para evitar fechamento precoce do submenu */
.main-navigation ul li .sub-menu::before {
	content: '';
	position: absolute;
	top: -15px;
	left: 0;
	right: 0;
	height: 15px;
	background: transparent;
}

/* Garante que os itens do submenu fiquem na vertical e não herdem o flex */
.main-navigation ul li .sub-menu li {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
}

.main-navigation ul li .sub-menu li a {
	display: block;
	padding: 10px 20px;
	color: var(--color-text-primary) !important;
	font-size: 13px;
	font-weight: 500;
	border-radius: 0;
	white-space: nowrap;
	transition: background-color var(--transition-speed) ease, color var(--transition-speed) ease;
	text-align: left;
	background: none !important;
}

.main-navigation ul li .sub-menu li a:hover {
	background-color: rgba(91, 200, 44, 0.08) !important;
	color: var(--color-verde-cana-hover) !important;
}

/* Mostrar no Hover */
.main-navigation ul li.menu-item-has-children:hover .sub-menu {
	display: block;
}

/* 7. BARRA DE BUSCA VERDE CANA */
.search-bar-green {
	background-color: #338014;
	padding: 15px 0;
}

.search-bar-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

.search-form-header {
	display: flex;
	background: rgba(0, 0, 0, 0.12);
	border-radius: 8px;
	padding: 10px 18px;
	border: 1px solid rgba(255, 255, 255, 0.25);
	transition: background var(--transition-speed) ease, border-color var(--transition-speed) ease;
	width: 100%;
}

.search-form-header:focus-within {
	background: rgba(0, 0, 0, 0.18);
	border-color: rgba(255, 255, 255, 0.5);
}

.search-field-header {
	flex: 1;
	border: none;
	background: none;
	color: #ffffff;
	font-size: 16px;
	font-family: inherit;
	outline: none;
}

.search-field-header::placeholder {
	color: rgba(255, 255, 255, 0.85);
}

.search-submit-header {
	background: none;
	color: #ffffff;
	width: auto;
	height: auto;
	border-radius: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	box-shadow: none;
}

.search-submit-header:hover {
	transform: scale(1.1);
	color: rgba(255, 255, 255, 0.9);
}

/* 8. HOME: SEÇÃO HERO (Carrossel + Grid de Serviços) */
.hero-section {
	max-width: 1200px;
	margin: 40px auto;
	padding: 0 20px;
}

.hero-container {
	display: grid;
	grid-template-columns: 6.5fr 3.5fr;
	gap: 30px;
	align-items: stretch;
}

@media (max-width: 991px) {
	.hero-container {
		grid-template-columns: 1fr;
	}
	.carousel-wrapper {
		height: 350px !important;
	}
	.service-apple-card {
		flex: none !important;
	}
}

/* Carrossel */
.hero-carousel-col {
	width: 100%;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.carousel-wrapper {
	position: relative;
	height: 100%;
	flex: 1;
	min-height: 440px;
	border-radius: var(--border-radius-large);
	overflow: hidden;
	box-shadow: var(--shadow-soft);
	background-color: #000;
}

.carousel-slides {
	position: relative;
	width: 100%;
	height: 100%;
}

.carousel-slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	opacity: 0;
	z-index: 1;
	transition: opacity 0.8s ease-in-out;
}

.carousel-slide.active {
	opacity: 1;
	z-index: 2;
}

.slide-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.95) 0%, rgba(0, 0, 0, 0.7) 45%, rgba(0, 0, 0, 0) 80%);
	display: flex;
	align-items: flex-end;
	padding: 30px 80px;
}

.slide-content {
	color: #ffffff;
	max-width: 80%;
}

.slide-badge {
	background-color: var(--color-verde-cana-accent);
	color: #ffffff;
	font-size: 10px;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 20px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	display: inline-block;
	margin-bottom: 15px;
}

.slide-title {
	font-size: 28px;
	line-height: 1.2;
	margin-bottom: 12px;
}

.slide-title a {
	color: #ffffff;
}

.slide-title a:hover {
	color: var(--color-verde-cana-light);
}

.slide-excerpt {
	color: rgba(255, 255, 255, 0.8);
	font-size: 14px;
	margin-bottom: 25px;
	font-weight: 300;
}

/* Botões Apple-Style */
.btn-apple-primary {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background-color: #ffffff;
	color: var(--color-text-primary);
	font-size: 14px;
	font-weight: 600;
	padding: 10px 20px;
	border-radius: 20px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	transition: all var(--transition-speed) ease;
}

.btn-apple-primary:hover {
	background-color: var(--color-bg-base);
	color: var(--color-verde-cana);
	transform: translateY(-1px);
}

.btn-apple-outline {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 1px solid var(--color-border);
	background: var(--color-bg-card);
	color: var(--color-text-primary);
	font-size: 13px;
	font-weight: 600;
	padding: 8px 18px;
	border-radius: 20px;
	transition: all var(--transition-speed) ease;
}

.btn-apple-outline:hover {
	background-color: var(--color-bg-base);
	border-color: var(--color-text-secondary);
}

.btn-apple-text {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-weight: 600;
	font-size: 13px;
	color: var(--color-azul);
}

.btn-apple-text:hover {
	color: var(--color-azul-hover);
}

/* Controles de Slide */
.carousel-control {
	position: absolute;
	top: 40%;
	transform: translateY(-50%);
	z-index: 10;
	background: rgba(255, 255, 255, 0.25);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	color: #ffffff;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
}

.carousel-control:hover {
	background: rgba(255, 255, 255, 0.4);
}

.carousel-control.prev { left: 20px; }
.carousel-control.next { right: 20px; }

.carousel-indicators {
	position: absolute;
	bottom: 20px;
	right: 40px;
	z-index: 10;
	display: flex;
	gap: 8px;
}

.indicator {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.4);
	cursor: pointer;
	transition: background var(--transition-speed) ease, width var(--transition-speed) ease;
}

.indicator.active {
	background: #ffffff;
	width: 24px;
	border-radius: 4px;
}

/* Grid de Serviços */
.hero-services-col {
	display: flex;
	flex-direction: column;
}

.services-grid-title {
	margin-bottom: 20px;
}

.services-grid-title h3 {
	font-size: 15px;
	letter-spacing: 0.05em;
	color: var(--color-text-secondary);
}

.services-grid-title span {
	font-size: 11px;
	color: var(--color-text-secondary);
}

.services-apple-grid {
	display: flex;
	flex-direction: column;
	gap: 12px;
	flex: 1;
	justify-content: space-between;
}

.service-apple-card {
	background-color: var(--color-bg-card);
	border-radius: 14px;
	padding: 10px 16px;
	display: flex;
	align-items: center;
	gap: 15px;
	box-shadow: var(--shadow-soft);
	transition: all var(--transition-speed) cubic-bezier(0.25, 0.8, 0.25, 1);
	border: 1px solid rgba(0, 0, 0, 0.02);
	flex: 1;
}

.service-apple-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow-hover);
	border-color: var(--color-border);
}

.service-card-icon {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	color: #ffffff;
	flex-shrink: 0;
	background-color: var(--color-icon-transp) !important;
}

/* Cores específicas de ícones com translucidez estilo Apple */
.color-transparência { background-color: var(--color-icon-transp); }
.color-ouvidoria { background-color: var(--color-icon-ouvidoria); }
.color-licitacoes { background-color: var(--color-icon-licitacoes); }
.color-publicacoes { background-color: var(--color-icon-public); }
.color-municipios { background-color: var(--color-icon-municipios); }
.color-noticias { background-color: var(--color-icon-noticias); }

.service-card-info {
	flex: 1;
}

.service-card-info h4 {
	font-size: 14px;
	color: var(--color-text-primary);
	font-weight: 600;
	margin-bottom: 2px;
}

.service-card-info p {
	font-size: 11px;
	color: var(--color-text-secondary);
}

.service-card-arrow {
	color: var(--color-border);
	font-size: 12px;
	transition: transform var(--transition-speed) ease;
}

.service-apple-card:hover .service-card-arrow {
	transform: translateX(3px);
	color: var(--color-text-primary);
}

/* 9. SEÇÃO DE NOTÍCIAS RECENTES (Home) */
.news-section {
	background-color: #ffffff;
	padding: 60px 0;
	border-top: 1px solid var(--color-divider);
	border-bottom: 1px solid var(--color-divider);
}

.section-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

.section-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 40px;
}

.section-title {
	font-size: 24px;
	color: var(--color-text-primary);
	margin-bottom: 5px;
}

.section-subtitle {
	font-size: 14px;
	color: var(--color-text-secondary);
}

.news-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}

@media (max-width: 768px) {
	.news-grid {
		grid-template-columns: 1fr;
	}
	.section-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 15px;
	}
}

/* News Card */
.news-apple-card {
	background-color: var(--color-bg-base);
	border-radius: var(--border-radius-large);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: var(--shadow-soft);
	transition: all var(--transition-speed) cubic-bezier(0.25, 0.8, 0.25, 1);
	height: 100%;
}

.news-apple-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-hover);
	background-color: #ffffff;
	border: 1px solid var(--color-divider);
}

.news-card-image-link {
	display: block;
	width: 100%;
	height: 200px;
	overflow: hidden;
}

.news-card-img {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	transition: transform var(--transition-speed) ease;
}

.placeholder-gradient {
	background: linear-gradient(135deg, var(--color-verde-cana-light) 0%, var(--color-divider) 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 40px;
	color: var(--color-verde-cana);
	width: 100%;
	height: 100%;
}

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

.news-card-body {
	padding: 24px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.news-card-date {
	font-size: 11px;
	color: var(--color-text-secondary);
	margin-bottom: 10px;
	display: flex;
	align-items: center;
	gap: 5px;
}

.news-card-title {
	font-size: 18px;
	line-height: 1.3;
	margin-bottom: 10px;
}

.news-card-title a {
	color: var(--color-text-primary);
}

.news-card-title a:hover {
	color: var(--color-azul);
}

.news-card-excerpt {
	font-size: 13px;
	color: var(--color-text-secondary);
	margin-bottom: 20px;
	flex: 1;
	line-height: 1.5;
}

.news-card-more {
	font-size: 12px;
	font-weight: 700;
	color: var(--color-verde-cana);
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.news-card-more:hover {
	color: var(--color-verde-cana-hover);
}

/* 10. RODAPÉ (Footer) */
.main-footer {
	background-color: #194899;
	color: #ffffff;
	padding: 60px 0 0 0;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-top {
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	padding-bottom: 40px;
}

.footer-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr;
	gap: 60px;
}

@media (max-width: 991px) {
	.footer-container {
		grid-template-columns: repeat(2, 1fr);
		gap: 40px;
	}
}

@media (max-width: 576px) {
	.footer-container {
		grid-template-columns: 1fr;
		gap: 30px;
	}
}

.footer-col h3 {
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: #ffffff;
	text-transform: uppercase;
	margin-bottom: 20px;
	font-family: var(--font-title);
}

.footer-desc {
	font-size: 14px;
	color: #ffffff;
	line-height: 1.6;
	margin-bottom: 15px;
}

.footer-col p {
	font-size: 14px;
	color: #ffffff;
	line-height: 1.6;
	margin-bottom: 12px;
}

.footer-col p strong {
	font-weight: 700;
	color: #ffffff;
}

.footer-col a {
	color: #ffffff;
	text-decoration: none;
	transition: opacity var(--transition-speed) ease;
}

.footer-col a:hover {
	color: #ffffff;
	opacity: 0.8;
	text-decoration: underline;
}

/* Menu do Rodapé */
.footer-menu {
	list-style: none;
	padding: 0;
	margin: 0;
}

.footer-menu li {
	margin-bottom: 12px;
}

.footer-menu li a {
	font-size: 14px;
	color: #ffffff;
	text-decoration: none;
	transition: opacity var(--transition-speed) ease;
}

/* Clima e Redes */
.weather-widget-footer {
	background: rgba(255, 255, 255, 0.05);
	border-radius: var(--border-radius-medium);
	padding: 10px 15px;
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 20px;
	border: 1px solid rgba(255, 255, 255, 0.08);
}

.weather-icon {
	font-size: 20px;
	color: #ffcc00;
}

.weather-info {
	display: flex;
	flex-direction: column;
}

.weather-city {
	font-size: 11px;
	font-weight: 700;
	color: #ffffff;
}

.weather-temp {
	font-size: 11px;
	color: #cccccc;
}

.footer-social-icons {
	display: flex;
	gap: 12px;
}

.footer-social-icons a {
	background: rgba(255, 255, 255, 0.1);
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	font-size: 14px;
	transition: all var(--transition-speed) ease;
}

.footer-social-icons a:hover {
	background: var(--color-verde-cana-accent);
	transform: scale(1.08);
}

/* Bottom Footer */
.footer-bottom {
	background-color: #0b295e;
	padding: 20px 0;
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	font-size: 12px;
	color: #cbd5e1;
}

.footer-bottom p {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.6;
}

.bottom-container {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.footer-copy {
	font-size: 12px;
	font-weight: 400;
}

.footer-updated {
	color: #cbd5e1;
	font-size: 12px;
	font-weight: 400;
}

.footer-dev {
	font-size: 12px;
	font-weight: 400;
}

@media (max-width: 768px) {
	.bottom-container {
		flex-direction: column;
		gap: 12px;
		text-align: center;
	}
}

.dev-link {
	color: #ffffff;
}

.dev-link:hover {
	color: var(--color-verde-cana-accent);
}

/* 11. PÁGINAS INTERNAS (Padrão Apple Panel) */
.apple-panel {
	background: #ffffff;
	border-radius: var(--border-radius-large);
	padding: 40px;
	box-shadow: var(--shadow-soft);
	border: 1px solid rgba(0, 0, 0, 0.02);
}

.archive-header {
	margin-bottom: 40px;
	text-align: center;
}

.archive-header .page-title {
	font-size: 32px;
	color: var(--color-text-primary);
	margin-bottom: 8px;
}

.archive-header .page-subtitle, 
.archive-header .archive-description {
	font-size: 16px;
	color: var(--color-text-secondary);
}

.archive-content-layout {
	display: grid;
	grid-template-columns: 8fr 4fr;
	gap: 40px;
}

@media (max-width: 768px) {
	.archive-content-layout {
		grid-template-columns: 1fr;
	}
}

.news-list-grid {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.news-horizontal-card {
	background: #ffffff;
	border-radius: var(--border-radius-large);
	padding: 20px;
	display: flex;
	gap: 20px;
	box-shadow: var(--shadow-soft);
	transition: all var(--transition-speed) ease;
	border: 1px solid rgba(0, 0, 0, 0.02);
}

.news-horizontal-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow-hover);
}

.card-thumb {
	width: 200px;
	height: 140px;
	border-radius: var(--border-radius-medium);
	overflow: hidden;
	flex-shrink: 0;
}

.card-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--transition-speed) ease;
}

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

.card-details {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.card-meta {
	font-size: 11px;
	color: var(--color-text-secondary);
	margin-bottom: 8px;
	display: block;
}

.card-title {
	font-size: 18px;
	margin-bottom: 8px;
}

.card-title a {
	color: var(--color-text-primary);
}

.card-title a:hover {
	color: var(--color-azul);
}

.card-excerpt {
	font-size: 13px;
	color: var(--color-text-secondary);
	margin-bottom: 12px;
	line-height: 1.5;
}

/* Sidebar Widgets */
.sidebar-area {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.sidebar-widget h4 {
	font-size: 16px;
	border-bottom: 2px solid var(--color-verde-cana-light);
	padding-bottom: 10px;
	margin-bottom: 15px;
}

.widget-list {
	list-style: none;
}

.widget-list li {
	margin-bottom: 12px;
}

.widget-list li a {
	color: var(--color-text-primary);
	font-size: 13px;
	font-weight: 500;
	display: flex;
	align-items: center;
	gap: 8px;
}

.widget-list li a i {
	color: var(--color-verde-cana);
}

.widget-list li a:hover {
	color: var(--color-azul);
}

/* Paginação */
.pagination-wrapper {
	margin-top: 40px;
}

.pagination-wrapper .nav-links {
	display: flex;
	justify-content: center;
	gap: 8px;
}

.pagination-wrapper .page-numbers {
	background: #ffffff;
	border: 1px solid var(--color-border);
	padding: 8px 16px;
	border-radius: var(--border-radius-medium);
	font-size: 13px;
	font-weight: 600;
	color: var(--color-text-primary);
}

.pagination-wrapper .page-numbers.current,
.pagination-wrapper .page-numbers:hover {
	background: var(--color-verde-cana);
	border-color: var(--color-verde-cana);
	color: #ffffff;
}

/* 12. PÁGINA SINGLE / POST INDIVIDUAL */
.single-post-card {
	max-width: 800px;
	margin: 0 auto 40px auto;
}

.post-meta-top {
	font-size: 12px;
	color: var(--color-text-secondary);
	margin-bottom: 15px;
	display: flex;
	gap: 15px;
}

.post-meta-top a {
	color: var(--color-text-secondary);
}

.post-meta-top a:hover {
	color: var(--color-azul);
}

.post-title {
	font-size: 34px;
	line-height: 1.2;
	color: var(--color-text-primary);
	margin-bottom: 25px;
}

.post-thumbnail-wrapper {
	margin: 0 -40px 30px -40px;
	max-height: 450px;
	overflow: hidden;
}

@media (max-width: 768px) {
	.post-thumbnail-wrapper {
		margin: 0 -20px 20px -20px;
	}
	.post-title {
		font-size: 26px;
	}
	.apple-panel {
		padding: 20px;
	}
}

.post-img-featured {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.post-content {
	font-size: 16px;
	line-height: 1.7;
	color: #333333;
}

.post-content p {
	margin-bottom: 20px;
}

.post-content h2, .post-content h3 {
	margin: 30px 0 15px 0;
}

.post-footer {
	margin-top: 40px;
	border-top: 1px solid var(--color-divider);
	padding-top: 25px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
}

.post-share-section {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	color: var(--color-text-secondary);
}

.share-btn {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffffff !important;
	font-size: 13px;
}

.share-btn.whatsapp { background-color: #25d366; }
.share-btn.facebook { background-color: #1877f2; }
.share-btn.twitter { background-color: #000000; }

.share-btn:hover {
	transform: scale(1.05);
	opacity: 0.9;
}

.post-tags-list {
	font-size: 12px;
	color: var(--color-text-secondary);
}

.post-navigation-wrapper {
	max-width: 800px;
	margin: 0 auto;
}

.post-navigation-wrapper .nav-links {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
}

.post-navigation-wrapper .nav-previous, 
.post-navigation-wrapper .nav-next {
	background: #ffffff;
	padding: 15px 20px;
	border-radius: var(--border-radius-medium);
	box-shadow: var(--shadow-soft);
	font-size: 13px;
	font-weight: 600;
	flex: 1;
	min-width: 250px;
}

.post-navigation-wrapper .nav-previous a, 
.post-navigation-wrapper .nav-next a {
	color: var(--color-text-primary);
}

.post-navigation-wrapper .nav-previous a:hover, 
.post-navigation-wrapper .nav-next a:hover {
	color: var(--color-azul);
}

/* 13. PÁGINA 404 */
.error-404-card {
	max-width: 600px;
	margin: 80px auto;
	text-align: center;
}

.error-icon {
	font-size: 54px;
	color: var(--color-icon-ouvidoria);
	margin-bottom: 20px;
}

.error-title {
	font-size: 28px;
	margin-bottom: 10px;
}

.error-text {
	color: var(--color-text-secondary);
	font-size: 14px;
	margin-bottom: 30px;
}

.error-search-wrapper {
	margin-bottom: 40px;
	padding: 20px;
	background: var(--color-bg-base);
	border-radius: var(--border-radius-medium);
}

.error-search-wrapper p {
	font-size: 13px;
	margin-bottom: 12px;
	color: var(--color-text-secondary);
}

.error-actions {
	display: flex;
	gap: 15px;
	justify-content: center;
	flex-wrap: wrap;
}

.error-actions a {
	padding: 12px 24px;
}

/* 14. PÁGINA DE ATENDIMENTO / CONTATO */
.contact-page-template {
	max-width: 1200px;
	margin: 40px auto;
	padding: 0 20px;
}

.contact-page-header {
	margin-bottom: 40px;
}

.contact-page-header h1.page-title {
	font-size: 34px;
	color: var(--color-text-primary);
	margin-bottom: 8px;
}

.contact-page-header .page-subtitle {
	font-size: 16px;
	color: var(--color-text-secondary);
}

/* 3 Cards Superiores */
.contact-cards-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 25px;
	margin-bottom: 40px;
}

.contact-service-card {
	background-color: var(--color-bg-card);
	border-radius: var(--border-radius-large);
	padding: 24px;
	display: flex;
	align-items: center;
	gap: 20px;
	box-shadow: var(--shadow-soft);
	transition: transform var(--transition-speed) ease, box-shadow var(--transition-speed) ease;
	border: 1px solid transparent;
}

.contact-service-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--shadow-hover);
	border-color: var(--color-divider);
}

.contact-card-icon-wrapper {
	width: 56px;
	height: 56px;
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	flex-shrink: 0;
}

.contact-card-icon-wrapper.icon-ouvidoria {
	color: #ff9500;
	background-color: rgba(255, 149, 0, 0.1);
}

.contact-card-icon-wrapper.icon-esic {
	color: #007aff;
	background-color: rgba(0, 122, 255, 0.1);
}

.contact-card-icon-wrapper.icon-transparencia {
	color: var(--color-verde-cana);
	background-color: var(--color-verde-cana-light);
}

.contact-card-body {
	flex-grow: 1;
}

.contact-card-body h3 {
	font-size: 16px;
	color: var(--color-text-primary);
	margin-bottom: 6px;
	font-weight: 600;
}

.contact-card-body p {
	font-size: 13px;
	color: var(--color-text-secondary);
	line-height: 1.4;
}

.contact-card-arrow {
	color: #c7c7cc;
	font-size: 16px;
	transition: transform var(--transition-speed) ease, color var(--transition-speed) ease;
}

.contact-service-card:hover .contact-card-arrow {
	transform: translateX(4px);
	color: var(--color-text-primary);
}

/* Bloco Central: Form e Info */
.contact-main-grid {
	display: grid;
	grid-template-columns: 2fr 1.2fr;
	gap: 30px;
	margin-bottom: 40px;
	align-items: stretch;
}

.contact-form-card {
	padding: 40px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.cisportal-contact-form {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.form-row-two {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.form-group {
	display: flex;
	flex-direction: column;
}

.form-group input,
.form-group textarea {
	border: 1px solid var(--color-border);
	border-radius: 8px;
	padding: 14px 18px;
	font-size: 14px;
	font-family: inherit;
	background-color: #ffffff;
	color: var(--color-text-primary);
	transition: border-color var(--transition-speed) ease, box-shadow var(--transition-speed) ease;
	outline: none;
	width: 100%;
}

.form-group input:focus,
.form-group textarea:focus {
	border-color: var(--color-verde-cana);
	box-shadow: 0 0 0 3px rgba(91, 200, 44, 0.15);
}

.form-group textarea {
	resize: vertical;
}

.form-submit-row {
	display: flex;
	justify-content: flex-end;
}

.btn-send-message {
	background-color: var(--color-azul);
	color: #ffffff;
	font-size: 14px;
	font-weight: 600;
	padding: 12px 28px;
	border-radius: var(--border-radius-medium);
	display: inline-flex;
	align-items: center;
	gap: 10px;
	transition: background-color var(--transition-speed) ease, transform var(--transition-speed) ease, box-shadow var(--transition-speed) ease;
	border: none;
	cursor: pointer;
}

.btn-send-message:hover {
	background-color: var(--color-azul-hover);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(21, 71, 148, 0.2);
}

/* Card de Info Presencial */
.contact-info-card {
	padding: 40px;
}

.contact-info-card h2 {
	font-size: 22px;
	color: var(--color-text-primary);
	margin-bottom: 30px;
	font-weight: 600;
}

.info-block {
	display: flex;
	gap: 16px;
	margin-bottom: 24px;
	align-items: flex-start;
}

.info-block:last-child {
	margin-bottom: 0;
}

.info-icon {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background-color: var(--color-azul);
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	flex-shrink: 0;
}

.info-content {
	display: flex;
	flex-direction: column;
}

.info-content strong {
	font-size: 11px;
	letter-spacing: 0.05em;
	color: var(--color-text-secondary);
	margin-bottom: 4px;
}

.info-content p {
	font-size: 14px;
	color: var(--color-text-primary);
	line-height: 1.5;
}

.info-content p a {
	color: var(--color-azul);
}

.info-content p a:hover {
	color: var(--color-azul-hover);
	text-decoration: underline;
}

/* Feedback do Form */
.form-feedback-message {
	padding: 30px;
	border-radius: var(--border-radius-large);
	display: flex;
	gap: 20px;
	align-items: flex-start;
}

.form-feedback-message.success-message {
	background-color: rgba(91, 200, 44, 0.08);
	border: 1px solid rgba(91, 200, 44, 0.2);
}

.form-feedback-message.success-message .feedback-icon {
	color: var(--color-verde-cana);
	font-size: 32px;
}

.form-feedback-message.success-message h3 {
	color: var(--color-verde-cana-hover);
	font-size: 18px;
	margin-bottom: 6px;
}

.form-feedback-message.error-message {
	background-color: rgba(255, 45, 85, 0.08);
	border: 1px solid rgba(255, 45, 85, 0.2);
}

.form-feedback-message.error-message .feedback-icon {
	color: #ff2d55;
	font-size: 32px;
}

.form-feedback-message.error-message h3 {
	color: #d32f2f;
	font-size: 18px;
	margin-bottom: 6px;
}

.form-feedback-message.error-message ul {
	margin-left: 20px;
	font-size: 13px;
	color: #333;
}

/* Mapa */
.contact-map-wrapper {
	border-radius: var(--border-radius-large);
	overflow: hidden;
	box-shadow: var(--shadow-soft);
	margin-bottom: 40px;
	height: 300px;
}

/* Responsividade */
@media (max-width: 991px) {
	.contact-cards-grid {
		grid-template-columns: 1fr;
	}
	
	.contact-main-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 576px) {
	.form-row-two {
		grid-template-columns: 1fr;
		gap: 15px;
	}
	
	.contact-form-card {
		padding: 24px;
	}
	
	.contact-info-card {
		padding: 24px;
	}
}

/* 11. CAMINHO DE NAVEGAÇÃO (Breadcrumbs) & LOGO RODAPÉ */
.cis-breadcrumbs {
	background-color: #ffffff;
	border-bottom: 1px solid var(--color-divider);
	padding: 14px 0;
	font-size: 13px;
	font-family: var(--font-body);
}

.breadcrumbs-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	color: var(--color-text-secondary);
}

.breadcrumbs-container a.breadcrumb-link {
	color: var(--color-azul);
	text-decoration: none;
	font-weight: 500;
	transition: color var(--transition-speed) ease;
}

.breadcrumbs-container a.breadcrumb-link:hover {
	color: var(--color-verde-cana-hover);
	text-decoration: underline;
}

.breadcrumb-separator {
	color: #a3a3a3;
	font-size: 11px;
}

.breadcrumb-current {
	color: var(--color-text-primary);
	font-weight: 400;
}

/* Logo do Rodapé */
.cis-footer-logo-img {
	max-height: 70px;
	width: auto;
	object-fit: contain;
	margin-bottom: 15px;
	display: block;
}

/* ==========================================================================
   12. PÁGINA DE NOTÍCIAS (GRID E PAGINAÇÃO)
   ========================================================================== */
.news-page-template {
	padding: 40px 0 60px 0;
	max-width: 1200px;
	margin: 0 auto;
}

.news-header {
	text-align: center;
	margin-bottom: 40px;
}

.news-header .page-title {
	font-size: 32px;
	color: var(--color-azul);
	font-weight: 700;
	margin-bottom: 8px;
}

.news-header .news-subtitle {
	font-size: 16px;
	color: var(--color-text-secondary);
}

.news-grid-four {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	margin-bottom: 50px;
}

.news-grid-card {
	background: #ffffff;
	border-radius: var(--border-radius-large, 16px);
	overflow: hidden;
	box-shadow: var(--shadow-soft, 0 4px 20px rgba(0, 0, 0, 0.04));
	border: 1px solid rgba(0, 0, 0, 0.03);
	transition: transform var(--transition-speed) ease, box-shadow var(--transition-speed) ease;
}

.news-grid-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.news-card-link-wrapper {
	text-decoration: none;
	color: inherit;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.news-card-image-wrapper {
	position: relative;
	width: 100%;
	height: 160px;
	overflow: hidden;
	background: #f1f5f9;
}

.news-card-image-wrapper.no-image {
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
}

.news-card-fallback-logo {
	width: 120px;
	opacity: 0.25;
}

.news-card-fallback-logo img {
	width: 100%;
	height: auto;
}

.news-card-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}

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

.news-grid-card-date {
	position: absolute;
	bottom: 12px;
	left: 12px;
	background-color: var(--color-azul, #154794);
	color: #ffffff;
	font-size: 11px;
	font-weight: 600;
	padding: 4px 10px;
	border-radius: 4px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.news-card-content {
	padding: 20px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.news-card-title {
	font-size: 16px;
	font-weight: 700;
	color: var(--color-text-primary, #1d1d1f);
	margin: 0 0 10px 0;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	height: 44px;
}

.news-card-excerpt {
	font-size: 13px;
	color: var(--color-text-secondary, #515154);
	margin: 0 0 15px 0;
	line-height: 1.5;
	flex-grow: 1;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.news-card-readmore {
	font-size: 12px;
	font-weight: 600;
	color: var(--color-azul, #154794);
	display: flex;
	align-items: center;
	gap: 4px;
	transition: gap var(--transition-speed) ease;
}

.news-grid-card:hover .news-card-readmore {
	gap: 8px;
	color: var(--color-verde-cana, #5bc82c);
}

.news-no-posts {
	text-align: center;
	padding: 60px 40px;
	color: var(--color-text-secondary);
}

/* Paginação Premium (Baseada no Print do Cliente) */
.cis-pagination-nav {
	display: flex;
	justify-content: center;
	margin-top: 40px;
}

.cis-pagination-container {
	display: flex;
	align-items: center;
	gap: 12px;
}

.pag-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	padding: 0 18px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	transition: all 0.2s ease;
	gap: 8px;
}

/* Botão Anterior */
.prev-btn {
	background-color: #ffffff;
	border: 1px solid #e2e8f0;
	color: #64748b;
}

.prev-btn:not(.disabled):hover {
	border-color: #cbd5e1;
	background-color: #f8fafc;
	color: #334155;
}

.prev-btn.disabled {
	border-color: #f1f5f9;
	color: #cbd5e1;
	cursor: not-allowed;
	background-color: #f8fafc;
}

/* Botão Próxima (Ativo com borda verde e texto verde) */
.next-btn {
	background-color: #ffffff;
	border: 1px solid var(--color-verde-cana, #5bc82c);
	color: var(--color-verde-cana, #5bc82c);
}

.next-btn:not(.disabled):hover {
	background-color: rgba(91, 200, 44, 0.05);
	color: var(--color-verde-cana-hover, #4bb020);
	border-color: var(--color-verde-cana-hover, #4bb020);
}

.next-btn.disabled {
	border-color: #f1f5f9;
	color: #cbd5e1;
	cursor: not-allowed;
	background-color: #f8fafc;
}

/* Números das Páginas */
.pag-numbers {
	display: flex;
	gap: 8px;
}

.pag-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.2s ease;
	background-color: #ffffff;
	border: 1px solid #e2e8f0;
	color: #334155;
}

/* Página Ativa (Fundo Verde do Tema e Texto Branco) */
.pag-number.active {
	background-color: var(--color-verde-cana, #5bc82c);
	border-color: var(--color-verde-cana, #5bc82c);
	color: #ffffff;
	box-shadow: 0 4px 10px rgba(91, 200, 44, 0.25);
}

.pag-number:not(.active):hover {
	border-color: var(--color-verde-cana, #5bc82c);
	color: var(--color-verde-cana, #5bc82c);
}

/* Responsividade da Grid e Paginação */
@media (max-width: 1100px) {
	.news-grid-four {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 800px) {
	.news-grid-four {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 550px) {
	.news-grid-four {
		grid-template-columns: 1fr;
	}
	.cis-pagination-container {
		gap: 6px;
	}
	.pag-btn {
		padding: 0 10px;
		font-size: 12px;
	}
	.pag-number {
		width: 34px;
		height: 34px;
		font-size: 12px;
	}
}

/* ==========================================================================
   PÁGINA DE ACESSIBILIDADE - ESTILOS PREMIUM
   ========================================================================== */
.accessibility-page-template {
	max-width: 1200px;
	margin: 0 auto;
	padding: 40px 20px 80px 20px;
}

.accessibility-page-header {
	text-align: center;
	margin-bottom: 40px;
}

/* Card de Introdução Legal */
.accessibility-intro-card {
	background: var(--color-bg-card);
	border-radius: var(--border-radius-large);
	padding: 30px;
	box-shadow: var(--shadow-soft);
	display: flex;
	gap: 24px;
	align-items: center;
	margin-bottom: 40px;
	border: 1px solid rgba(0, 0, 0, 0.03);
}

.accessibility-intro-icon {
	font-size: 40px;
	color: var(--color-azul);
	background: rgba(21, 71, 148, 0.08);
	width: 80px;
	height: 80px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.accessibility-intro-text h2 {
	font-size: 22px;
	color: var(--color-azul);
	margin-bottom: 10px;
}

.accessibility-intro-text p {
	font-size: 15px;
	color: var(--color-text-secondary);
	line-height: 1.6;
}

/* Grid de Recursos */
.section-title-access {
	font-size: 24px;
	color: var(--color-text-primary);
	margin-bottom: 24px;
	text-align: center;
}

.accessibility-resources-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	margin-bottom: 50px;
}

.access-feature-card {
	background: var(--color-bg-card);
	border-radius: var(--border-radius-large);
	padding: 30px;
	box-shadow: var(--shadow-soft);
	border: 1px solid rgba(0, 0, 0, 0.03);
	display: flex;
	gap: 20px;
	transition: transform var(--transition-speed) ease, box-shadow var(--transition-speed) ease;
}

.access-feature-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-hover);
}

.access-feature-icon-wrapper {
	font-size: 24px;
	width: 54px;
	height: 54px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: #ffffff;
}

.access-feature-icon-wrapper.icon-contrast {
	background: linear-gradient(135deg, #1d1d1f, #515154);
}

.access-feature-icon-wrapper.icon-font-zoom {
	background: linear-gradient(135deg, var(--color-azul), #3b82f6);
}

.access-feature-icon-wrapper.icon-audio {
	background: linear-gradient(135deg, var(--color-verde-cana), #84cc16);
}

.access-feature-icon-wrapper.icon-libras {
	background: linear-gradient(135deg, #af52de, #d946ef);
}

.access-feature-body h3 {
	font-size: 18px;
	color: var(--color-text-primary);
	margin-bottom: 8px;
}

.access-feature-body p {
	font-size: 14px;
	color: var(--color-text-secondary);
	line-height: 1.5;
}

/* Seção de Navegação e Atalhos */
.accessibility-navigation-section {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: 30px;
	margin-bottom: 50px;
}

.navigation-info-card {
	background: var(--color-bg-card);
	border-radius: var(--border-radius-large);
	padding: 35px;
	box-shadow: var(--shadow-soft);
	border: 1px solid rgba(0, 0, 0, 0.03);
}

.navigation-info-card h2 {
	font-size: 20px;
	color: var(--color-azul);
	margin-bottom: 15px;
	border-bottom: 2px solid var(--color-verde-cana-light);
	padding-bottom: 10px;
}

.navigation-info-card p {
	font-size: 14px;
	color: var(--color-text-secondary);
	margin-bottom: 20px;
	line-height: 1.6;
}

.navigation-info-card ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.navigation-info-card ul li {
	font-size: 14px;
	color: var(--color-text-primary);
	margin-bottom: 12px;
	line-height: 1.5;
	display: flex;
	align-items: center;
	gap: 10px;
}

/* Tabela de Atalhos */
.accessibility-table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 15px;
}

.accessibility-table th, 
.accessibility-table td {
	padding: 12px 15px;
	text-align: left;
	border-bottom: 1px solid var(--color-divider);
	font-size: 14px;
}

.accessibility-table th {
	font-weight: 600;
	color: var(--color-text-primary);
	background: var(--color-bg-base);
}

.accessibility-table td {
	color: var(--color-text-secondary);
}

kbd {
	background-color: #f1f3f5;
	border: 1px solid #ccd0d4;
	border-radius: 4px;
	box-shadow: 0 1px 0 rgba(0,0,0,0.2);
	color: #32373c;
	display: inline-block;
	font-family: inherit;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
	margin: 0 2px;
	padding: 2px 6px;
	white-space: nowrap;
}

/* Card de Feedback */
.accessibility-feedback-card {
	background: var(--color-bg-card);
	border-radius: var(--border-radius-large);
	padding: 30px;
	box-shadow: var(--shadow-soft);
	display: flex;
	gap: 24px;
	align-items: center;
	border: 1px solid rgba(0, 0, 0, 0.03);
}

.accessibility-feedback-card .feedback-icon {
	font-size: 40px;
	color: var(--color-verde-cana);
	background: rgba(91, 200, 44, 0.08);
	width: 80px;
	height: 80px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.accessibility-feedback-card .feedback-text h2 {
	font-size: 22px;
	color: var(--color-azul);
	margin-bottom: 10px;
}

.accessibility-feedback-card .feedback-text p {
	font-size: 15px;
	color: var(--color-text-secondary);
	line-height: 1.6;
}

.accessibility-feedback-card .feedback-text a {
	color: var(--color-azul);
	font-weight: 600;
	text-decoration: underline;
}

.accessibility-feedback-card .feedback-text a:hover {
	color: var(--color-verde-cana);
}

/* Compatibilidade das Seções com Alto Contraste */
body.gh-high-contrast .access-feature-card,
body.gh-high-contrast .navigation-info-card,
body.gh-high-contrast .accessibility-intro-card,
body.gh-high-contrast .accessibility-feedback-card {
	border: 1px solid #ffffff !important;
	background: #000000 !important;
}

body.gh-high-contrast .accessibility-table th {
	background-color: #111111 !important;
	border-bottom: 1px solid #ffffff !important;
}

body.gh-high-contrast kbd {
	background-color: #000000 !important;
	border: 1px solid #ffffff !important;
	color: #ffffff !important;
}

/* Responsividade Acessibilidade */
@media (max-width: 900px) {
	.accessibility-resources-grid {
		grid-template-columns: 1fr;
	}
	.accessibility-navigation-section {
		grid-template-columns: 1fr;
	}
	.accessibility-intro-card, 
	.accessibility-feedback-card {
		flex-direction: column;
		text-align: center;
		padding: 25px;
	}
	.accessibility-intro-icon, 
	.accessibility-feedback-card .feedback-icon {
		margin: 0 auto 15px auto;
	}
	}
}

/* ==========================================================================
   PÁGINAS DE PRIVACIDADE E LGPD - ESTILOS PREMIUM
   ========================================================================== */
/* Reuso de classes para Privacidade e LGPD */
.privacy-page-template,
.lgpd-page-template {
	max-width: 1200px;
	margin: 0 auto;
	padding: 40px 20px 80px 20px;
}

.privacy-page-header,
.lgpd-page-header {
	text-align: center;
	margin-bottom: 40px;
}

/* Card de Introdução */
.privacy-intro-card,
.lgpd-intro-card {
	background: var(--color-bg-card);
	border-radius: var(--border-radius-large);
	padding: 30px;
	box-shadow: var(--shadow-soft);
	display: flex;
	gap: 24px;
	align-items: center;
	margin-bottom: 40px;
	border: 1px solid rgba(0, 0, 0, 0.03);
}

.privacy-intro-icon,
.lgpd-intro-icon {
	font-size: 40px;
	color: var(--color-azul);
	background: rgba(21, 71, 148, 0.08);
	width: 80px;
	height: 80px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.privacy-intro-text h2,
.lgpd-intro-text h2 {
	font-size: 22px;
	color: var(--color-azul);
	margin-bottom: 10px;
}

.privacy-intro-text p,
.lgpd-intro-text p {
	font-size: 15px;
	color: var(--color-text-secondary);
	line-height: 1.6;
}

/* Grid de Seções de Privacidade */
.privacy-sections-grid,
.lgpd-rights-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	margin-bottom: 50px;
}

.privacy-feature-card,
.lgpd-right-card {
	background: var(--color-bg-card);
	border-radius: var(--border-radius-large);
	padding: 30px;
	box-shadow: var(--shadow-soft);
	border: 1px solid rgba(0, 0, 0, 0.03);
	display: flex;
	gap: 20px;
	transition: transform var(--transition-speed) ease, box-shadow var(--transition-speed) ease;
}

.privacy-feature-card:hover,
.lgpd-right-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-hover);
}

.privacy-feature-icon,
.right-icon-wrapper {
	font-size: 24px;
	width: 54px;
	height: 54px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: #ffffff;
}

.privacy-feature-icon.icon-ouvidoria {
	background: linear-gradient(135deg, var(--color-icon-ouvidoria), #ffa229);
}

.privacy-feature-icon.icon-esic {
	background: linear-gradient(135deg, var(--color-azul), #3b82f6);
}

.privacy-feature-icon.icon-contact {
	background: linear-gradient(135deg, var(--color-verde-cana), #84cc16);
}

.privacy-feature-icon.icon-security {
	background: linear-gradient(135deg, #1d1d1f, #515154);
}

.right-icon-wrapper {
	background: linear-gradient(135deg, var(--color-azul), #3b82f6);
}

.privacy-feature-body h3,
.right-body h3 {
	font-size: 18px;
	color: var(--color-text-primary);
	margin-bottom: 8px;
}

.privacy-feature-body p,
.right-body p {
	font-size: 14px;
	color: var(--color-text-secondary);
	line-height: 1.5;
	margin-bottom: 12px;
}

.privacy-feature-body ul {
	padding-left: 20px;
	font-size: 13px;
	color: var(--color-text-secondary);
}

.privacy-feature-body ul li {
	margin-bottom: 6px;
}

/* Diretrizes de Cookies nas Páginas */
.cookies-info-section {
	background: var(--color-bg-card);
	border-radius: var(--border-radius-large);
	padding: 35px;
	box-shadow: var(--shadow-soft);
	border: 1px solid rgba(0, 0, 0, 0.03);
	margin-bottom: 50px;
}

.cookies-info-section h2 {
	font-size: 20px;
	color: var(--color-azul);
	margin-bottom: 15px;
	border-bottom: 2px solid var(--color-verde-cana-light);
	padding-bottom: 10px;
}

.cookies-info-section p {
	font-size: 14px;
	color: var(--color-text-secondary);
	margin-bottom: 24px;
	line-height: 1.6;
}

.cookies-types-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.cookie-type-box {
	background: var(--color-bg-base);
	border-radius: var(--border-radius-medium);
	padding: 20px;
	border: 1px solid rgba(0, 0, 0, 0.02);
}

.cookie-type-box h4 {
	font-size: 15px;
	color: var(--color-text-primary);
	margin-bottom: 8px;
}

.cookie-type-box p {
	font-size: 13px;
	color: var(--color-text-secondary);
	line-height: 1.5;
	margin-bottom: 0;
}

/* Encarregado de Dados (DPO) e Solicitação */
.lgpd-dpo-section {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	margin-bottom: 50px;
}

.dpo-info-card,
.dpo-how-to-request-card {
	background: var(--color-bg-card);
	border-radius: var(--border-radius-large);
	padding: 35px;
	box-shadow: var(--shadow-soft);
	border: 1px solid rgba(0, 0, 0, 0.03);
}

.dpo-info-card h2,
.dpo-how-to-request-card h2 {
	font-size: 20px;
	color: var(--color-azul);
	margin-bottom: 15px;
	border-bottom: 2px solid var(--color-verde-cana-light);
	padding-bottom: 10px;
}

.dpo-info-card p,
.dpo-how-to-request-card p {
	font-size: 14px;
	color: var(--color-text-secondary);
	margin-bottom: 20px;
	line-height: 1.6;
}

.dpo-contact-box {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-top: 10px;
}

.dpo-contact-item {
	display: flex;
	align-items: center;
	gap: 15px;
	background: var(--color-bg-base);
	padding: 15px;
	border-radius: var(--border-radius-medium);
}

.dpo-contact-item i {
	font-size: 20px;
	color: var(--color-azul);
	width: 24px;
	text-align: center;
}

.dpo-contact-item div {
	display: flex;
	flex-direction: column;
}

.dpo-contact-item div strong {
	font-size: 12px;
	color: var(--color-text-secondary);
	text-transform: uppercase;
}

.dpo-contact-item div span {
	font-size: 14px;
	color: var(--color-text-primary);
	font-weight: 600;
}

.dpo-contact-item div span a {
	color: var(--color-azul);
}

.request-steps-list {
	padding-left: 20px;
}

.request-steps-list li {
	font-size: 14px;
	color: var(--color-text-secondary);
	margin-bottom: 12px;
	line-height: 1.6;
}

.request-steps-list li a {
	color: var(--color-azul);
	font-weight: 600;
	text-decoration: underline;
}

/* Cards de Direitos e Avisos no Fim */
.privacy-rights-card,
.lgpd-warning-card {
	background: var(--color-bg-card);
	border-radius: var(--border-radius-large);
	padding: 30px;
	box-shadow: var(--shadow-soft);
	display: flex;
	gap: 24px;
	align-items: center;
	border: 1px solid rgba(0, 0, 0, 0.03);
}

.rights-icon,
.warning-icon {
	font-size: 40px;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.rights-icon {
	color: var(--color-azul);
	background: rgba(21, 71, 148, 0.08);
}

.warning-icon {
	color: #e2a03f;
	background: rgba(226, 160, 63, 0.08);
}

.privacy-rights-card .rights-text h2,
.lgpd-warning-card .warning-text h2 {
	font-size: 22px;
	color: var(--color-azul);
	margin-bottom: 10px;
}

.privacy-rights-card .rights-text p,
.lgpd-warning-card .warning-text p {
	font-size: 15px;
	color: var(--color-text-secondary);
	line-height: 1.6;
}

.privacy-rights-card .rights-text a {
	color: var(--color-azul);
	font-weight: 600;
	text-decoration: underline;
}

/* ==========================================================================
   POPUP DE CONSENTIMENTO DE COOKIES (Visual Apple)
   ========================================================================== */
.cookie-consent-banner {
	position: fixed;
	bottom: 24px;
	left: 24px;
	right: 24px;
	background: rgba(255, 255, 255, 0.85);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	border-radius: var(--border-radius-large);
	padding: 24px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12);
	border: 1px solid rgba(0, 0, 0, 0.06);
	z-index: 9999;
	transform: translateY(120px);
	opacity: 0;
	transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.5s ease;
}

.cookie-consent-banner.show-banner {
	transform: translateY(0);
	opacity: 1;
}

.cookie-banner-container {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
}

.cookie-banner-content {
	display: flex;
	align-items: center;
	gap: 16px;
	text-align: left;
}

.cookie-banner-content .cookie-icon {
	font-size: 28px;
	color: #d97706; /* Cor cookie marrom/laranja */
	flex-shrink: 0;
}

.cookie-banner-content p {
	font-size: 13.5px;
	color: var(--color-text-primary);
	line-height: 1.55;
	margin-bottom: 0;
}

.cookie-banner-content p a {
	color: var(--color-azul);
	font-weight: 600;
	text-decoration: underline;
}

.cookie-banner-content p a:hover {
	color: var(--color-verde-cana);
}

.cookie-banner-actions {
	flex-shrink: 0;
}

.btn-cookie-accept {
	background-color: var(--color-verde-cana);
	color: #ffffff;
	padding: 12px 24px;
	font-size: 14px;
	font-weight: 600;
	border-radius: var(--border-radius-medium);
	border: none;
	cursor: pointer;
	box-shadow: 0 4px 12px rgba(91, 200, 44, 0.25);
	transition: all 0.2s ease;
	white-space: nowrap;
}

.btn-cookie-accept:hover {
	background-color: var(--color-verde-cana-hover);
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(91, 200, 44, 0.35);
}

/* ==========================================================================
   ACESSIBILIDADE: COMPATIBILIDADE ALTO CONTRASTE (LGPD & COOKIES)
   ========================================================================== */
body.gh-high-contrast .cookie-consent-banner {
	background: #000000 !important;
	border: 2px solid #ffffff !important;
	box-shadow: none !important;
}

body.gh-high-contrast .cookie-banner-content .cookie-icon {
	color: #ffff00 !important;
}

body.gh-high-contrast .cookie-banner-content p,
body.gh-high-contrast .cookie-banner-content p a {
	color: #ffffff !important;
}

body.gh-high-contrast .cookie-banner-content p a:hover {
	color: #ffff00 !important;
	text-decoration: underline !important;
}

body.gh-high-contrast .btn-cookie-accept {
	background-color: #000000 !important;
	border: 1px solid #ffffff !important;
	color: #ffffff !important;
	box-shadow: none !important;
}

body.gh-high-contrast .btn-cookie-accept:hover {
	background-color: #ffff00 !important;
	color: #000000 !important;
	border-color: #ffff00 !important;
}

body.gh-high-contrast .privacy-feature-card,
body.gh-high-contrast .lgpd-right-card,
body.gh-high-contrast .cookies-info-section,
body.gh-high-contrast .cookie-type-box,
body.gh-high-contrast .dpo-info-card,
body.gh-high-contrast .dpo-how-to-request-card,
body.gh-high-contrast .dpo-contact-item,
body.gh-high-contrast .privacy-rights-card,
body.gh-high-contrast .lgpd-warning-card {
	border: 1px solid #ffffff !important;
	background: #000000 !important;
	color: #ffffff !important;
}

body.gh-high-contrast .cookies-info-section h2,
body.gh-high-contrast .dpo-info-card h2,
body.gh-high-contrast .dpo-how-to-request-card h2 {
	border-bottom: 2px solid #ffffff !important;
}

body.gh-high-contrast .dpo-contact-item i {
	color: #ffffff !important;
}

body.gh-high-contrast .dpo-contact-item div strong {
	color: #ffff00 !important;
}

body.gh-high-contrast .warning-icon {
	color: #ffff00 !important;
	background: none !important;
}

/* ==========================================================================
   RESPONSIVIDADE ADAPTATIVA (LGPD & COOKIES)
   ========================================================================== */
@media (max-width: 900px) {
	.privacy-sections-grid,
	.lgpd-rights-grid,
	.cookies-types-grid,
	.lgpd-dpo-section {
		grid-template-columns: 1fr;
	}
	
	.privacy-intro-card,
	.lgpd-intro-card,
	.privacy-rights-card,
	.lgpd-warning-card {
		flex-direction: column;
		text-align: center;
		padding: 25px;
	}
	
	.privacy-intro-icon,
	.lgpd-intro-icon,
	.rights-icon,
	.warning-icon {
		margin: 0 auto 15px auto;
	}
	
	/* Responsividade do Banner de Cookies */
	.cookie-consent-banner {
		bottom: 12px;
		left: 12px;
		right: 12px;
		padding: 16px;
	}
	
	.cookie-banner-container {
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
	}
	
	.cookie-banner-content {
		align-items: flex-start;
	}
	
	.btn-cookie-accept {
		width: 100%;
		display: block;
		text-align: center;
	}
}

/* ==========================================================================
   PÁGINAS INSTITUCIONAIS (O CONSÓRCIO, DIRETORIA E ESTATUTO)
   ========================================================================== */

/* Layout O Consórcio */
.about-page-grid {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: 30px;
	margin-bottom: 40px;
}

.about-text-column,
.about-video-column {
	padding: 30px;
}

.about-text-column p {
	font-size: 15px;
	line-height: 1.7;
	color: var(--color-text-primary);
	margin-bottom: 20px;
}

.about-text-column p:last-child {
	margin-bottom: 0;
}

.video-section-wrapper h3 {
	font-family: var(--font-title);
	font-size: 20px;
	font-weight: 600;
	color: var(--color-azul);
	margin: 0 0 20px 0;
}

.video-player-container {
	position: relative;
	padding-bottom: 56.25%; /* Proporção 16:9 */
	height: 0;
	overflow: hidden;
	border-radius: 12px;
	box-shadow: var(--shadow-soft);
	background: #000000;
	border: 1px solid var(--color-border);
}

.video-element,
.video-element-iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
	object-fit: cover;
}

.video-caption {
	color: var(--color-text-secondary);
	text-align: center;
	margin: 12px 0 0 0;
	font-size: 13px;
	font-weight: 500;
}

.no-video-placeholder {
	background: #f8f9fa;
	border: 2px dashed var(--color-border);
	border-radius: 12px;
	padding: 40px 20px;
	text-align: center;
	color: var(--color-text-secondary);
}

.no-video-placeholder i {
	font-size: 40px;
	margin-bottom: 12px;
	color: var(--color-border);
}

/* Layout Diretoria */
.board-profile-card {
	display: block;
	padding: 40px;
	margin-bottom: 45px;
}

.board-profile-flex {
	display: flex;
	flex-direction: row;
	gap: 40px;
	align-items: flex-start;
}

.board-photo-wrapper {
	flex: 0 0 240px;
	max-width: 240px;
	width: 100%;
}

.board-president-img {
	width: 100%;
	height: 300px;
	object-fit: cover;
	border-radius: 14px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
	border: 4px solid #ffffff;
}

.board-photo-placeholder {
	width: 100%;
	height: 300px;
	border-radius: 14px;
	background: #e9ecef;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 72px;
	color: #adb5bd;
	border: 4px solid #ffffff;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04);
}

.board-info-wrapper {
	flex: 1;
}

.board-tag {
	background-color: var(--color-verde-cana-light);
	color: var(--color-verde-cana-hover);
	padding: 4px 12px;
	border-radius: 20px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	display: inline-block;
	margin-bottom: 12px;
}

.board-president-name {
	font-family: var(--font-title);
	font-size: 30px;
	font-weight: 700;
	color: var(--color-azul);
	margin: 0 0 4px 0;
	line-height: 1.2;
}

.board-president-title {
	font-size: 15px;
	font-weight: 500;
	color: var(--color-text-secondary);
	margin: 0 0 24px 0;
}

.board-bio-section h3,
.board-contact-section h3 {
	font-family: var(--font-title);
	font-size: 18px;
	font-weight: 600;
	color: var(--color-text-primary);
	margin: 0 0 12px 0;
	border-bottom: 2px solid var(--color-divider);
	padding-bottom: 6px;
}

.board-president-bio {
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--color-text-primary);
	margin: 0 0 28px 0;
}

.board-contact-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.board-contact-list li {
	margin-bottom: 10px;
	font-size: 14px;
	color: var(--color-text-primary);
	display: flex;
	align-items: center;
}

.board-contact-list li:last-child {
	margin-bottom: 0;
}

.contact-label {
	font-weight: 600;
	color: var(--color-azul);
	margin-right: 8px;
	display: flex;
	align-items: center;
	gap: 6px;
}

.contact-label i {
	width: 16px;
	text-align: center;
	color: var(--color-verde-cana-hover);
}

.contact-value {
	color: var(--color-text-primary);
	text-decoration: none;
	transition: color var(--transition-speed) ease;
}

.contact-value:hover {
	color: var(--color-verde-cana-hover);
	text-decoration: underline;
}

/* Layout Estatuto */
.statute-content-card {
	padding: 40px;
	margin-bottom: 45px;
}

.statute-body-text h2 {
	font-family: var(--font-title);
	font-size: 24px;
	font-weight: 700;
	color: var(--color-azul);
	margin: 0 0 15px 0;
}

.statute-body-text p {
	font-size: 15px;
	line-height: 1.6;
	color: var(--color-text-primary);
	margin: 0 0 30px 0;
}

.statute-download-card,
.statute-no-pdf-card {
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 24px;
	background: var(--color-verde-cana-light);
	border: 1px solid rgba(91, 200, 44, 0.15);
	border-radius: 12px;
}

.statute-no-pdf-card {
	background: #f8f9fa;
	border: 1px dashed var(--color-border);
}

.statute-pdf-icon {
	font-size: 52px;
	color: #d9381e;
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
}

.statute-pdf-icon.inactive {
	color: #adb5bd;
}

.statute-pdf-details {
	flex: 1;
}

.statute-pdf-details h3 {
	margin: 0 0 4px 0;
	font-size: 18px;
	font-weight: 600;
	color: var(--color-text-primary);
}

.statute-pdf-details p {
	margin: 0 0 16px 0;
	font-size: 13.5px;
	color: var(--color-text-secondary);
}

.btn-download-pdf {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--color-verde-cana);
	color: #ffffff !important;
	padding: 10px 20px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	border: none;
	cursor: pointer;
	transition: background-color var(--transition-speed) ease, box-shadow var(--transition-speed) ease;
	text-decoration: none !important;
	box-shadow: 0 4px 10px rgba(91, 200, 44, 0.15);
}

.btn-download-pdf:hover {
	background: var(--color-verde-cana-hover);
	box-shadow: 0 4px 14px rgba(91, 200, 44, 0.25);
}

.btn-download-pdf.disabled {
	background: #6e6e73;
	cursor: not-allowed;
	box-shadow: none;
	opacity: 0.6;
}

/* Cabeçalhos Internos de Cards */
.about-card-header,
.board-card-header,
.statute-card-header {
	border-bottom: 1px solid var(--color-divider);
	padding-bottom: 20px;
	margin-bottom: 30px;
}

.about-card-header .page-title,
.board-card-header .page-title,
.statute-card-header .page-title {
	font-family: var(--font-title);
	font-size: 28px;
	font-weight: 700;
	color: var(--color-azul);
	margin: 0 0 6px 0;
	line-height: 1.2;
}

.about-card-header .page-subtitle,
.board-card-header .page-subtitle,
.statute-card-header .page-subtitle {
	font-size: 14px;
	color: var(--color-text-secondary);
	margin: 0;
	font-weight: 500;
}

/* Seções de base comuns */
.about-cards-section,
.board-cards-section,
.statute-cards-section {
	margin-top: 50px;
	border-top: 1px solid var(--color-divider);
	padding-top: 40px;
}

/* ==========================================================================
   ALTO CONTRASTE (PÁGINAS INSTITUCIONAIS)
   ========================================================================== */
body.gh-high-contrast .about-text-column,
body.gh-high-contrast .about-video-column,
body.gh-high-contrast .board-profile-card,
body.gh-high-contrast .statute-content-card {
	border: 1px solid #ffffff !important;
	background: #000000 !important;
	color: #ffffff !important;
}

body.gh-high-contrast .board-president-name,
body.gh-high-contrast .video-section-wrapper h3,
body.gh-high-contrast .board-bio-section h3,
body.gh-high-contrast .board-contact-section h3,
body.gh-high-contrast .statute-body-text h2,
body.gh-high-contrast .contact-label {
	color: #ffff00 !important;
	border-color: #ffffff !important;
}

body.gh-high-contrast .board-tag {
	background: #000000 !important;
	border: 1px solid #ffff00 !important;
	color: #ffff00 !important;
}

body.gh-high-contrast .board-president-img {
	border-color: #ffffff !important;
}

body.gh-high-contrast .board-photo-placeholder {
	background: #000000 !important;
	border-color: #ffffff !important;
	color: #ffffff !important;
}

body.gh-high-contrast .video-player-container {
	border-color: #ffffff !important;
}

body.gh-high-contrast .no-video-placeholder,
body.gh-high-contrast .statute-download-card,
body.gh-high-contrast .statute-no-pdf-card {
	background: #000000 !important;
	border: 1px solid #ffffff !important;
	color: #ffffff !important;
}

body.gh-high-contrast .statute-pdf-icon {
	color: #ffff00 !important;
}

body.gh-high-contrast .btn-download-pdf {
	background: #000000 !important;
	border: 1px solid #ffffff !important;
	color: #ffffff !important;
	box-shadow: none !important;
}

body.gh-high-contrast .btn-download-pdf:hover {
	background: #ffff00 !important;
	color: #000000 !important;
	border-color: #ffff00 !important;
}

body.gh-high-contrast .btn-download-pdf.disabled {
	border-color: #666666 !important;
	color: #666666 !important;
}

body.gh-high-contrast .about-card-header,
body.gh-high-contrast .board-card-header,
body.gh-high-contrast .statute-card-header {
	border-color: #ffffff !important;
}

body.gh-high-contrast .about-card-header .page-title,
body.gh-high-contrast .board-card-header .page-title,
body.gh-high-contrast .statute-card-header .page-title {
	color: #ffff00 !important;
}

body.gh-high-contrast .about-card-header .page-subtitle,
body.gh-high-contrast .board-card-header .page-subtitle,
body.gh-high-contrast .statute-card-header .page-subtitle {
	color: #ffffff !important;
}

/* ==========================================================================
   RESPONSIVIDADE (PÁGINAS INSTITUCIONAIS)
   ========================================================================== */
@media (max-width: 991px) {
	.about-page-grid {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	
	.board-profile-flex {
		flex-direction: column;
		align-items: center;
		padding: 0;
		gap: 30px;
	}
	
	.board-photo-wrapper {
		flex: 0 0 200px;
		max-width: 200px;
	}
	
	.board-president-img,
	.board-photo-placeholder {
		height: 250px;
	}
	
	.board-info-wrapper {
		width: 100%;
		text-align: center;
	}
	
	.board-contact-list li {
		justify-content: center;
	}
	
	.statute-download-card,
	.statute-no-pdf-card {
		flex-direction: column;
		text-align: center;
		padding: 30px 20px;
	}
}

/* ==========================================================================
   MELHORIAS DE RESPONSIVIDADE MOBILE (Cabeçalho, Acessibilidade, Menu e Destaques)
   ========================================================================== */

/* Botão do hambúrguer oculto por padrão no Desktop */
.menu-hamburger-btn {
	display: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 8px;
	background-color: var(--color-verde-cana-light);
	color: var(--color-azul);
	font-size: 20px;
	border: 1px solid var(--color-border);
	cursor: pointer;
	transition: all var(--transition-speed) ease;
}

.menu-hamburger-btn:hover {
	background-color: var(--color-verde-cana);
	color: #ffffff;
	border-color: var(--color-verde-cana);
}

@media (max-width: 768px) {
	/* 1. BARRA SUPERIOR DE ACESSIBILIDADE COMPACTA */
	.top-bar {
		height: auto;
		padding: 6px 0;
	}
	
	.top-bar-container {
		justify-content: center;
		padding: 0 10px;
	}

	.top-bar-left {
		display: none !important; /* Oculta atalhos de teclado eMAG no celular */
	}

	.top-bar-right {
		width: 100%;
		justify-content: space-around;
		gap: 8px;
	}

	/* Oculta os textos dos botões de acessibilidade, mantendo apenas os ícones */
	.topbar-link, .topbar-btn {
		font-size: 0 !important; /* Esconde o texto */
		padding: 6px;
		background: #ffffff;
		border: 1px solid var(--color-border);
		border-radius: 6px;
		width: 36px;
		height: 36px;
		justify-content: center;
	}

	.topbar-link i, .topbar-btn i {
		font-size: 16px !important; /* Deixa o ícone visível e destacado */
		margin: 0 !important;
	}

	.topbar-divider {
		display: none !important; /* Remove o divisor vertical */
	}

	.font-resize-controls {
		gap: 4px;
	}

	.btn-font-control {
		width: 36px;
		height: 36px;
		font-size: 12px;
	}

	/* Ajustes em Alto Contraste Mobile */
	body.gh-high-contrast .topbar-link,
	body.gh-high-contrast .topbar-btn,
	body.gh-high-contrast .btn-font-control {
		border: 1px solid #ffffff !important;
		background: #000000 !important;
	}

	/* 2. HEADER E MENU HAMBÚRGUER (SANDUÍCHE) */
	.header-container {
		position: relative;
	}

	.cis-logo-official-wrapper,
	.custom-logo-link img.custom-logo {
		max-height: 50px !important; /* Reduz ligeiramente a logo no celular para dar espaço */
	}

	/* Exibe o botão do hambúrguer no mobile */
	.menu-hamburger-btn {
		display: flex;
		z-index: 101;
	}

	.menu-hamburger-btn.active {
		background-color: var(--color-azul);
		color: #ffffff;
		border-color: var(--color-azul);
	}

	/* Menu Sanduíche Dropdown Absoluto */
	.main-navigation {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		width: 100%;
		background-color: #ffffff;
		box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
		border-top: 1px solid var(--color-divider);
		padding: 10px 20px 20px 20px;
		margin: 0;
		z-index: 100;
	}

	.main-navigation.active {
		display: block;
		animation: slideDownMenu 0.3s ease-out forwards;
	}

	@keyframes slideDownMenu {
		from { opacity: 0; transform: translateY(-10px); }
		to { opacity: 1; transform: translateY(0); }
	}

	.main-navigation > ul {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		width: 100%;
	}

	.main-navigation > ul > li {
		width: 100%;
		border-bottom: 1px solid var(--color-divider);
	}

	.main-navigation > ul > li:last-child {
		border-bottom: none;
	}

	.main-navigation > ul > li > a {
		padding: 12px 10px;
		font-size: 15px;
		border-radius: 0;
	}

	.main-navigation > ul > li > a:hover {
		background-color: var(--color-verde-cana-light);
	}

	/* Submenus expandidos inline no mobile */
	.main-navigation ul li .sub-menu {
		position: static !important;
		display: block !important; /* Exibe aberto */
		transform: none !important;
		box-shadow: none !important;
		border: none !important;
		background-color: #fcfcfc !important;
		padding: 0 0 10px 15px !important; /* Recuo à esquerda para identação */
		margin: 0 !important;
		width: 100% !important;
	}

	.main-navigation ul li .sub-menu::before {
		display: none !important; /* Oculta a ponte de hover no mobile */
	}

	.main-navigation ul li .sub-menu li a {
		padding: 10px 12px !important;
		font-size: 14px !important;
		border-bottom: 1px dashed var(--color-divider) !important;
	}

	.main-navigation ul li .sub-menu li:last-child a {
		border-bottom: none !important;
	}

	body.gh-high-contrast .main-navigation {
		background-color: #000000 !important;
		border: 1px solid #ffffff !important;
	}

	/* 3. MELHORIA NO CARROSSEL DE NOTÍCIAS (MOBILE) */
	.carousel-wrapper {
		min-height: 280px !important;
		height: 280px !important;
	}

	.slide-overlay {
		padding: 20px !important; /* Reduz padding lateral no celular */
	}

	.slide-content {
		max-width: 100% !important;
	}

	.slide-title {
		font-size: 18px !important; /* Reduz fonte do título */
		line-height: 1.3 !important;
		margin-bottom: 8px !important;
	}

	.slide-excerpt {
		display: none !important; /* Oculta resumo no mobile para caber perfeitamente */
	}

	.slide-badge {
		margin-bottom: 8px !important;
	}

	.btn-apple-primary {
		padding: 8px 16px !important;
		font-size: 12px !important;
	}

	.carousel-control {
		display: none !important; /* Oculta setas laterais prev/next no mobile */
	}

	.carousel-indicators {
		right: 20px !important;
		bottom: 15px !important;
	}
}


