/* =====================================================
   IBGE - Global Styles (Unified)
   ===================================================== */

/* 1. DESIGN TOKENS (de tokens.css) */
:root {
	/* ===== CORES - Government BR ===== */
	--color-gov: #0c1d2e;

	/* ===== CORES - Primary Blue ===== */
	--color-primary: #1351b4;
	--color-primary-light: #1a6bc4;
	--color-primary-lighter: #2178c9;
	--color-primary-dark: #0c326f;

	/* ===== CORES - Navigation ===== */
	--color-nav-bg: #e6e6e6;
	--color-nav-border: #d0d0d0;
	--color-bg-gray: #e6e6e6;

	/* ===== CORES - Text ===== */
	--color-text: #515151;
	--color-text-blue: #345d96;

	/* ===== CORES - Borders ===== */
	--color-border: #d0d0d0;
	--color-border-light: #e8e8e8;

	/* ===== CORES - Footer ===== */
	--color-footer: #2e2e2e;

	/* ===== Typography ===== */
	--font-family: "rawline", Arial, Helvetica, sans-serif;
	--font-size-base: 15px;
	--line-height: 1.5;

	/* ===== Spacing ===== */
	--container-width: 1185px;
	--container: 1185px;
	--content-width: 1185px;

	/* ===== Transitions ===== */
	--transition: 0.2s ease;
}

/* 2. RESET (de reset.css) */
*,
*::before,
*::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	font-family: var(--font-family, "Open Sans", Arial, Helvetica, sans-serif);
	color: var(--color-text);
	background: var(--color-bg);
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

a {
	text-decoration: none;
	color: inherit;
}

ul {
	list-style: none;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

button {
	font-family: inherit;
}

h2 {
	font-size: 22px;
	font-weight: 700;
	color: var(--color-text-blue);
	margin-bottom: 24px;
}

/* 3. UTILITÁRIOS (de reset.css) */
.container {
	max-width: var(--container-width, 1185px);
	margin: 0 auto;
	padding: 0 20px;
}

.content-wrap {
	/* max-width: var(--container-width, 1185px); */
	margin: 0 auto;
	padding: 0;
}

.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}

/* 4. ESTILOS PRINCIPAIS (de global.css atual) */

/* ===== IBGE HEADER ===== */
.ibge-header {
	position: relative;
	overflow: hidden;
	background-color: var(--color-primary);
}

.ibge-header-inner {
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: url(../img/bg-header.png) right center no-repeat;
	width: 100%;
	min-height: 152px;
}

.ibge-logo-90 {
	width: 290px;
	position: relative;
}

.ibge-logo-90 svg {
	width: 80px;
	height: 80px;
}

.ibge-header-title h1 {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.2;
	margin: 0;
}

.ibge-header-left {
	display: flex;
	align-items: center;
	gap: 14px;
	z-index: 2;
	position: relative;
}
.ibge-logo-90 svg {
	width: 70px;
	height: 70px;
}
.ibge-header-title {
	color: #fff;
}
.ibge-header-title h1 {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.25;
}
.ibge-header-right {
	z-index: 2;
	position: relative;
	text-align: right;
	padding-right: 10px;
}
.ibge-header-right label {
	display: block;
	color: #fff;
	margin-bottom: 5px;
	font-weight: 600;
	text-align: left;
}

.ses-search-wrap {
	display: flex;
	align-items: center;
	background: #fff;
	border-radius: 3px;
	overflow: hidden;
}
.ses-search-icon {
	padding: 6px 8px;
	color: #555;
	flex-shrink: 0;
	display: flex;
	align-items: center;
}
.ses-select {
	flex: 1;
	padding: 6px 6px 6px 0;

	border: none;
	outline: none;
	background: transparent;
	color: var(--color-text);
	cursor: pointer;
}

/* ===== STATE BANNER ===== */
.state-banner {
	background: var(--color-primary-dark);
	padding: 0 40px;
	font-weight: 700;
	text-transform: uppercase;
}

.state-banner h1 {
	color: #fff;
	padding: 5px 0;
	font-size: 25px;
	font-weight: 700;
	text-transform: uppercase;
	background: var(--color-primary-dark) url(../img/bg-title.png) right center
		no-repeat;
	min-height: 53px;
}

/* ===== NAVIGATION ===== */
.main-nav {
	background: var(--color-nav-bg);
	padding: 0 40px;
	position: relative;
	z-index: 9;
}
.main-nav ul {
	display: flex;
}
.main-nav li a {
	display: block;
	padding: 17px 20px;
	color: var(--color-text);
	border-right: 1px solid #ffffff;
	transition: background var(--transition);
}
.main-nav li:first-child a {
	border-left: 1px solid #ffffff;
}
.main-nav li a:hover,
.main-nav li.active a {
	background: #fff;
}

/* Burger menu (mobile) */
.nav-toggle-wrap {
	display: none;
}
.burger-menu {
	display: none;
	cursor: pointer;
	flex-direction: column;
	gap: 5px;
	padding: 10px;
}
.burger-menu span {
	display: block;
	width: 24px;
	height: 2px;
	background: #333;
}

/* ===== BREADCRUMB ===== */
.breadcrumb {
	display: flex;
	align-items: center;
	gap: 14px;
	color: #555;
	padding: 30px 0;
}
.breadcrumb .home-icon {
	font-size: 0;
	width: 22px;
	height: 17px;
	background: url(../img/icon-casa.svg) no-repeat center;
}
.breadcrumb .sep {
	font-size: 0;
	width: 7px;
	height: 10px;
	background: url(../img/icon-seta-azul.svg) no-repeat center;
}
.breadcrumb .current {
	color: var(--color-primary);
	font-weight: 700;
	font-size: 24px;
}
.breadcrumb a {
	color: var(--color-primary);
	font-weight: 600;
}
.breadcrumb a:hover {
	text-decoration: underline;
}

/* ===== SECTION TITLE ===== */
.section-title {
	font-size: 22px;
	font-weight: 700;
	color: #1a1a1a;
	margin-bottom: 18px;
}

/* ===== NEWS COMPONENTS ===== */
.ultimas-noticias {
	padding: 30px 0 30px;
}
.noticias-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}

.noticia-destaque {
	position: relative;
	border-radius: 4px;
	overflow: hidden;
	min-height: 300px;
}

.noticia-destaque .uf-tag {background: #fff;color: var(--color-primary, #1351b4);font-size: 14px;}
.placeholder-img {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(255, 255, 255, 0.6);
	font-weight: 600;
	position: absolute;
	top: 0;
	left: 0;
}
.bg-news1 {
	background: linear-gradient(135deg, #3a6d8c, #4a8fb0);
}
.bg-news2 {
	background: linear-gradient(135deg, #5a8a5a, #6aaa6a);
}
.bg-news3 {
	background: linear-gradient(135deg, #6a8aa0, #7aaccc);
}
.bg-news4 {
	background: linear-gradient(135deg, #5a7a9a, #6a9aba);
}
.noticia-destaque-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 20px;
	background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
	color: #fff;
	z-index: 2;
	min-height: 80%;
	display: flex;
	justify-content: end;
	flex-direction: column;
	gap: 5px;
}
.noticia-destaque-overlay h3 {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
}

.noticias-side {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.noticia-side-item {
	display: flex;
	gap: 14px;
	align-items: flex-start;
}
.noticia-side-img {
	width: 130px;
	min-width: 130px;
	height: 85px;
	border-radius: 3px;
	overflow: hidden;
	flex-shrink: 0;
}
.noticia-side-info p {
	color: var(--color-text);
}

/* ===== AGENDA COMPONENTS ===== */
.agenda-respondendo {
	display: flex;
	gap: 70px;
	padding: 34px 0 20px;
}
.agenda-item {
	padding: 0 0 20px 0;
}
.agenda-item:nth-last-child(2) {
	margin-bottom: 20px;
}
.agenda-item-header {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	background: var(--color-nav-bg);
	padding: 3px 10px;
}
.agenda-item-header .day {
	font-weight: 600;
	color: var(--color-text-blue);
	font-size: 17px;
}
.agenda-item-header .date {
	font-size: 17px;
	font-weight: 600;
	color: var(--color-primary);
}
.agenda-item-detail {
	margin-top: 4px;
	padding: 0 9px;
}
.agenda-item-detail .time {
	font-weight: 600;
	color: var(--color-text);
}
.agenda-item-detail .dot {
	display: inline-block;
	width: 11px;
	height: 11px;
	background: red;
	border-radius: 50%;
	margin: -8px 6px 0;
	vertical-align: middle;
}
.agenda-section {
	width: 100%;
}
.respondendo-section {
	width: 312px;
	flex: 0 0 auto;
}
.respondendo-card {
	background: var(--color-primary);
	border-radius: 20px;
	padding: 0;
	color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.respondendo-icon {
	width: 100%;
}
.respondendo-card p {
	text-align: center;
	padding: 10px 24px 25px;
}

/* ===== AGENDA PAGE ===== */
.agenda-controls {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 20px;
	flex-wrap: wrap;
	gap: 10px;
}
.agenda-nav-group {
	display: flex;
	align-items: center;
	gap: 6px;
}
.btn-nav {
	background: var(--color-primary);
	color: #fff;
	border: none;
	width: 32px;
	height: 32px;
	border-radius: 3px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-weight: bold;
	transition: background var(--transition);
}
.btn-nav:hover {
	background: #0f4a8f;
}
.btn-hoje {
	background: var(--color-primary);
	color: #fff;
	border: none;
	padding: 0 16px;
	height: 32px;
	border-radius: 3px;

	font-weight: 600;
	cursor: pointer;
	transition: background var(--transition);
}
.btn-hoje:hover {
	background: #0f4a8f;
}
.agenda-current-date {
	font-size: 18px;
	color: #666;
	font-weight: 400;
	text-align: center;
	flex: 1;
}
.agenda-view-toggle {
	display: flex;
	gap: 5px;
}
.btn-toggle {
	padding: 6px 16px;

	border-radius: 3px;
	font-weight: 600;
	cursor: pointer;
	border: none;
	transition: background var(--transition);
}
.btn-toggle.inactive {
	background: #999;
	color: #fff;
}
.btn-toggle.active {
	background: var(--color-primary);
	color: #fff;
}
.agenda-list {
	margin-bottom: 40px;
}
.agenda-day {
	margin-bottom: 2px;
}
.agenda-day-header {
	background: #e9ecef;
	padding: 10px 16px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-radius: 3px 3px 0 0;
}
.agenda-day-header span:first-child {
	font-weight: 700;
	color: var(--color-text);
}
.agenda-day-header span:last-child {
	color: #555;
}
.agenda-day-header.active {
	background: #e9ecef;
}
.agenda-event {
	padding: 12px 16px;
	color: #444;
	display: flex;
	align-items: flex-start;
	gap: 12px;
	background: #fff;
	border-bottom: 1px solid #f5f5f5;
	border-radius: 0 0 3px 3px;
}
.agenda-event:last-child {
	border-bottom: none;
}
.agenda-event-time {
	color: #555;

	width: 90px;
	flex-shrink: 0;
	font-weight: 600;
	padding-top: 2px;
}
.agenda-event-dot {
	width: 8px;
	height: 8px;
	background: #d32f2f;
	border-radius: 50%;
	display: inline-block;
	flex-shrink: 0;
	margin-top: 6px;
}
.agenda-event-title {
	flex-grow: 1;
	line-height: 1.4;
	color: #222;
}

/* ===== BUTTONS ===== */
.btn {
	background: var(--color-primary);
	color: #fff;
	padding: 9px 20px;
	border-radius: 25px;
	font-weight: 600;
	text-decoration: none;
	transition: background var(--transition);
	display: inline-block;
	font-size: 17px;
}
.btn:hover {
	background: #0f4a8f;
	color: #fff;
}

/* ===== LOADING & ERROR STATES ===== */
.loading-state {
	padding: 40px;
	text-align: center;
	color: #888;
}
.error-state {
	padding: 40px;
	text-align: center;
	color: #c62828;
}

/* ===== PAGINATION ===== */
.pagination {
	display: flex;
	flex-wrap: wrap;
	margin-top: 50px;
	justify-content: center;
}
.pagination button,
.pagination span,
.pagination a {
	padding: 0px 12px;
	border-right: 1px solid #b7b6b6;
	color: var(--color-text-blue);
	background: #fff;
	cursor: pointer;
	font-family: inherit;
}
.pagination a:hover {
	background: var(--color-bg-gray);
}
.pagination .active {
	font-weight: 600;
	cursor: default;
}
.pagination .pagination-after,
.pagination .pagination-before {
	position: relative;
	color: var(--color-text);
}
.pagination .pagination-after:after,
.pagination .pagination-before:before {
	content: "";
	display: inline-block;
	width: 0;
	height: 11px;
	border-left: 8px solid var(--color-text);
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
}
.pagination .pagination-after:after {
	margin-left: 10px;
}
.pagination .pagination-before:before {
	margin-right: 10px;
	transform: rotate(180deg);
}
.pagination .pagination-after {
	border-right: none;
}
.pagination button:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

/* ===== FORM ELEMENTS ===== */
input[type="text"],
input[type="date"],
input[type="search"],
select {
	padding: 8px 10px;
	border: 1px solid #ccc;
	border-radius: 3px;
	height: 38px;
	font-family: inherit;
}
button,
.btn {
	font-family: inherit;
	border: none;
	cursor: pointer;
}

.btn.search {
	background-image: url(../img/icon-lupa-branco.svg);
	background-repeat: no-repeat;
	background-size: 20px;
	background-position: left 15px center;
	padding: 9px 20px 9px 45px;
}

/* ===== FOOTER ===== */
.site-footer {
	background: var(--color-footer);
	color: #ccc;
	padding: 58px 40px;
	margin-top: 0;
}
.footer-inner {
	max-width: var(--container);
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.footer-inner p {
	line-height: 1.6;
}
.footer-inner .footer-links {
	font-weight: 700;
	text-transform: uppercase;
}
.footer-logo img {
	width: 144px;
}

/* ===== PAGE BODY FULL ===== */
.page-body-full {
	padding-bottom: 50px;
}

#noticia-content img {
	display: block;
	max-width: 700px;
	width: 100%;
	margin: 0 auto
}

#noticia-content figcaption {
	text-align: center;
	margin-bottom: 20px;
	margin-top: 10px;
	font-style: italic;
}

/* ===== NOTICIA DETALHES ===== */

/* Article Header */
.article-header {
	margin-bottom: 20px;
}
.article-title {
	font-size: 32px;
	font-weight: 700;
	color: #1a1a1a;
	margin-bottom: 10px;
	line-height: 1.2;
}
.article-meta {
	color: #666;
	padding-bottom: 20px;
	border-bottom: 1px solid #eaeaea;
	margin-bottom: 30px;
	width: 100% !important;
}
.article-meta strong {
	color: #1565c0;
}

/* Article Images */
.article-main-img {
	margin-bottom: 30px;
}
.article-main-img img {
	width: 100%;
	max-width: 760px;
	border-radius: 3px;
}
.article-img-caption {
	color: #777;
	font-style: italic;
	margin-top: 8px;
}

/* Article Content */
.article-content {
	line-height: 1.8;
	color: var(--color-text);
}
.article-content p {
	margin-bottom: 20px;
}
.article-content h3 {
	font-size: 22px;
	font-weight: 700;
	margin: 30px 0 15px;
	color: #1a1a1a;
}

/* Secondary image float */
.article-secondary-img {
	float: left;
	width: 50%;
	margin: 0 25px 20px 0;
}
.article-secondary-img img {
	width: 100%;
	border-radius: 3px;
}

.clearfix::after {
	content: "";
	clear: both;
	display: table;
}

/* ===== AGENCIA DETALHE ===== */

/* Breadcrumb row */
.breadcrumb-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 18px 0 14px;
}

/* Agency title */
.agencia-title {
	font-size: 26px;
	font-weight: 700;
	color: var(--color-text);
	margin-bottom: 20px;
	line-height: 1.2;
}

/* Agency info */
.agencia-info {
	margin-bottom: 30px;
	color: #444;
	line-height: 1.8;
}
.agencia-info strong {
	font-weight: 700;
	color: #222;
	margin-right: 4px;
}

/* Agency map */
.agencia-map {
	margin-bottom: 30px;
}
#agencia-leaflet-map {
	width: 100%;
	height: 300px;
	border-radius: 4px;
	border: 1px solid #ddd;
	overflow: hidden;
	z-index: 0;
}
.map-no-coords {
	width: 100%;
	height: 180px;
	border: 1px solid #ddd;
	border-radius: 4px;
	background: linear-gradient(135deg, #e8f4f8 0%, #f5f9fc 100%);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 24px;
	text-align: center;
	color: #555;
}
.map-btn {
	display: inline-block;
	background: #1565c0;
	color: #fff;
	padding: 8px 18px;
	border-radius: 4px;

	font-weight: 600;
	text-decoration: none;
	transition: background 0.2s;
	margin-top: 6px;
}
.map-btn:hover {
	background: #0f4a8f;
}

/* Agency description */
.agencia-desc {
	color: #444;
	line-height: 1.7;
	margin-bottom: 40px;
	text-align: justify;
}

/* Section title */
.section-title {
	font-size: 22px;
	font-weight: 700;
	color: #1a1a1a;
	margin-bottom: 20px;
	border-bottom: 2px solid #eaeaea;
	padding-bottom: 10px;
}

/* News list inside agency */
.agencia-news-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-bottom: 40px;
}
.agencia-news-item {
	display: flex;
	gap: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #f0f0f0;
	align-items: stretch;
}
.agencia-news-item:last-child {
	border-bottom: none;
}
.agencia-news-img {
	width: 220px;
	flex-shrink: 0;
}
.agencia-news-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 4px;
}
.agencia-news-content {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.agencia-news-date {
	font-size: 12px;
	font-weight: 600;
	color: #1565c0;
	margin-bottom: 6px;
}
.agencia-news-content h4 {
	font-size: 18px;
	font-weight: 700;
	margin: 0 0 10px;
	color: #222;
	line-height: 1.3;
}
.agencia-news-content h4 a {
	color: #222;
}
.agencia-news-content h4 a:hover {
	color: #1565c0;
}
.agencia-news-content p {
	color: #555;
	line-height: 1.5;
	margin: 0;
}

/* Photo gallery */
.photo-gallery {
	display: flex;
	gap: 15px;
	margin-bottom: 40px;
	position: relative;
	flex-wrap: wrap;
}
.photo-gallery-item {
	flex: 1;
	min-width: 150px;
	max-width: calc(25% - 12px);
	position: relative;
	border-radius: 4px;
	overflow: hidden;
}
.photo-gallery-item img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	display: block;
}
.nav-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: #1565c0;
	color: #fff;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-weight: bold;
	z-index: 2;
	border: 2px solid #fff;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
	transition: background 0.2s;
}
.nav-arrow:hover {
	background: #0f4a8f;
}
.nav-arrow.prev {
	left: -16px;
}
.nav-arrow.next {
	right: -16px;
}

/* Videos */
.video-gallery {
	margin-bottom: 50px;
}
.video-item {
	position: relative;
	width: 340px;
	border-radius: 4px;
	overflow: hidden;
	cursor: pointer;
}
.video-item img {
	width: 100%;
	display: block;
}
.play-btn {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 54px;
	height: 54px;
	background: rgba(0, 0, 0, 0.7);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 24px;
	padding-left: 4px;
	transition: background 0.2s;
}
.video-item:hover .play-btn {
	background: #1565c0;
}

/* ===== AGENCIAS ===== */

/* Stats Bar */
.agencias-stats {
	background: #f5f5f5;
	border: 1px solid #e0e0e0;
	border-radius: 4px;
	padding: 12px 20px;
	margin: 20px 0;

	color: #555;
	display: flex;
	gap: 24px;
	align-items: center;
	flex-wrap: wrap;
}
.agencias-stats strong {
	color: #1565c0;
}

/* Search Bar */
.agencias-search {
	display: flex;
	gap: 12px;
	align-items: flex-end;
	margin-bottom: 24px;
	flex-wrap: wrap;
}
.agencias-search-group {
	display: flex;
	flex-direction: column;
	gap: 5px;
}
.agencias-search-group label {
	font-size: 12px;
	font-weight: 600;
	color: #444;
}
.agencias-search-group input {
	padding: 8px 10px;
	border: 1px solid #ccc;
	border-radius: 3px;
	height: 38px;
	min-width: 150px;
}
.agencias-search-group.search-flex {
	flex: 1;
	min-width: 200px;
}
.agencias-search-group.search-flex input {
	width: 100%;
}
.btn-buscar {
	background: #1565c0;
	color: #fff;
	border: none;
	padding: 0 20px;
	height: 38px;
	border-radius: 3px;

	font-weight: 600;
	cursor: pointer;
}
.btn-buscar:hover {
	background: #0f4a8f;
}
.btn-limpar {
	background: #999;
	color: #fff;
	border: none;
	padding: 0 16px;
	height: 38px;
	border-radius: 3px;

	font-weight: 600;
	cursor: pointer;
}
.btn-limpar:hover {
	background: #777;
}

/* Results Info */
.results-info {
	color: #666;
	margin-bottom: 12px;
}
.results-info strong {
	color: var(--color-text);
}

/* Agências List */
.agencias-list {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-bottom: 30px;
	margin-top: 10px;
}
.agencia-link {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 6px 3px;
	border-bottom: 1px solid #e8e8e8;
	color: var(--color-text-blue);
	font-weight: 600;
	text-decoration: none;
	transition:
		background 0.15s,
		border-color 0.15s;
	gap: 12px;
}
.agencia-link:hover {
	background: #f0f6ff;
	border-color: #1565c0;
	color: #0f4a8f;
}
.agencia-link .agencia-nome {
	flex: 1;
}
.agencia-link .agencia-muni {
	font-size: 12px;
	color: #888;
	font-weight: 400;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 300px;
}
.agencia-link .agencia-arrow {
	color: #aaa;
	font-size: 12px;
}
.agencia-link:hover .agencia-arrow {
	color: #1565c0;
}

/* ===== FOTOS E VIDEOS PAGE STYLES ===== */

.page-header {
	padding: 30px 0 20px;
}
.page-header h1 {
	font-size: 26px;
	font-weight: 700;
	color: #1a1a1a;
	margin-bottom: 8px;
}
.page-header p {
	color: #666;
}

.empty-gallery-state {
	text-align: center;
	padding: 60px 20px;
}
.empty-gallery-state h2 {
	font-size: 1.8rem;
	font-weight: 700;
	color: #1a1a1a;
	margin-bottom: 12px;
}
.empty-gallery-state p {
	color: #666;
	font-size: 1rem;
}

/* Gallery Grid */
.gallery-section {
	padding: 20px 0 40px;
}
.gallery-section h2 {
	font-size: 20px;
	font-weight: 700;
	color: #1a1a1a;
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: 2px solid #e0e0e0;
}

.gallery-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
.gallery-item {
	position: relative;
	border-radius: 8px;
	overflow: hidden;
	background: #f5f5f5;
	aspect-ratio: 4/3;
	cursor: pointer;
	transition:
		transform 0.2s,
		box-shadow 0.2s;
}
.gallery-item:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}
.gallery-item .placeholder-img {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;

	color: rgba(255, 255, 255, 0.8);
	font-weight: 600;
}
.gallery-item-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 15px;
	background: linear-gradient(transparent, rgba(0, 0, 0, 0.7));
	color: #fff;
}
.gallery-item-overlay h4 {
	font-weight: 600;
	margin-bottom: 4px;
}
.gallery-item-overlay span {
	font-size: 11px;
	opacity: 0.8;
}

/* Video items have play button */
.video-item::before {
	content: "▶";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 50px;
	height: 50px;
	background: rgba(21, 101, 192, 0.9);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 18px;
	padding-left: 4px;
	z-index: 2;
}

/* Background colors for placeholders */
.bg-photo1 {
	background: linear-gradient(135deg, #4a7c59, #6a9c79);
}
.bg-photo2 {
	background: linear-gradient(135deg, #5a7a9a, #7a9aba);
}
.bg-photo3 {
	background: linear-gradient(135deg, #8a6a5a, #aa8a7a);
}
.bg-photo4 {
	background: linear-gradient(135deg, #6a5a8a, #8a7aaa);
}
.bg-photo5 {
	background: linear-gradient(135deg, #5a8a8a, #7aaaaa);
}
.bg-photo6 {
	background: linear-gradient(135deg, #8a5a6a, #aa7a8a);
}
.bg-photo7 {
	background: linear-gradient(135deg, #7a8a5a, #9aaa7a);
}
.bg-photo8 {
	background: linear-gradient(135deg, #5a6a8a, #7a8aaa);
}

.bg-video1 {
	background: linear-gradient(135deg, #c62828, #e53935);
}
.bg-video2 {
	background: linear-gradient(135deg, #ad1457, #d81b60);
}
.bg-video3 {
	background: linear-gradient(135deg, #6a1b9a, #8e24aa);
}
.bg-video4 {
	background: linear-gradient(135deg, #283593, #3949ab);
}

/* Tabs */
.gallery-tabs {
	display: flex;
	gap: 8px;
	margin-bottom: 24px;
	border-bottom: 2px solid #e0e0e0;
}
.gallery-tab {
	padding: 12px 24px;
	font-weight: 600;
	color: #666;
	background: none;
	border: none;
	cursor: pointer;
	border-bottom: 3px solid transparent;
	margin-bottom: -2px;
	transition: all 0.2s;
}
.gallery-tab:hover {
	color: #1565c0;
}
.gallery-tab.active {
	color: #1565c0;
	border-bottom-color: #1565c0;
}

/* ===== HOME PAGE SPECIFIC STYLES ===== */

.ses-select {
	width: 280px;
	font-size: 14px;
	border-radius: 3px;
	background: #fff;
	color: var(--color-text);
	font-style: italic;
	padding: 7px 10px 7px 35px;
	background: url(../img/icon-lupa-cinza.svg) no-repeat;
	background-position: left 10px center;
	background-size: 17px;
}

/* Side news */
.noticias-side {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.noticia-side-item {
	display: flex;
	gap: 14px;
	align-items: flex-start;
}
.noticia-side-img {
	width: 190px;
	min-width: 130px;
	height: 116px;
	background: #87a8c7;
	border-radius: 3px;
	overflow: hidden;
	flex-shrink: 0;
	position: relative;
}
.noticia-side-img img,
.noticia-side-img div {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.noticia-side-date {
	color: var(--color-text-blue);
	font-size: 16px;
	margin-bottom: 4px;
}
.noticia-side-info p {
	color: var(--color-text);
	font-size: 16px;
	font-weight: 700;
}

/* Notícias Anteriores */
.noticia-anterior-item {
	display: flex;
	gap: 18px;
	padding: 18px 0;
	border-bottom: 1px solid #d0d0d0;
	align-items: flex-start;
}
.noticia-anterior-item:first-child {
	padding-top: 0;
}
.noticia-anterior-item:last-child {
	border-bottom: none;
	margin-bottom: 20px;
}
.noticia-anterior-img {
	width: 190px;
	min-width: 190px;
	height: 116px;
	background: #a0b8ce;
	border-radius: 3px;
	overflow: hidden;
	flex: 0 0 auto;
	position: relative;
}
.noticia-anterior-img img,
.noticia-anterior-img div {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.noticia-anterior-info {
	flex: 1;
}
.noticia-anterior-info .loc-date {
	color: var(--color-text-blue);
	margin-bottom: 4px;
}
.noticia-anterior-info h4 {
	font-size: 16.8px;
	font-weight: 700;
	color: #1a1a1a;
	margin-bottom: 6px;
}

/* SES Stats */
.ses-stats {
	display: flex;
	gap: 20px;
	margin: 30px 0;
	flex-wrap: wrap;
}
.stat-card {
	background: linear-gradient(135deg, #1351a0, #1a6bc4);
	color: #fff;
	border-radius: 8px;
	padding: 16px 24px;
	text-align: center;
	flex: 1;
	min-width: 140px;
}
.stat-num {
	display: block;
	font-size: 28px;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 4px;
}
.stat-label {
	font-size: 12px;
	opacity: 0.85;
	font-weight: 600;
}

/* ===== SOBRE ===== */

/* Sidebar Navigation */
.sidebar-nav {
	margin-top: 12px;
}
.sidebar-nav li {
	border-bottom: 1px solid #d8dde4;
}
.sidebar-nav li:last-child {
	border-bottom: none;
}
.sidebar-nav li a {
	display: block;
	padding: 11px 14px;

	color: var(--color-text);
	transition: background 0.15s;
}
.sidebar-nav li a:hover {
	background: #f0f4f8;
}
.sidebar-nav li.active a {
	background: var(--color-primary-dark);
	color: #fff;
}

/* Main content */
.main-content h2 {
	font-size: 29px;
	font-weight: 700;
	color: var(--color-text);
	margin-bottom: 20px;
}
.main-content p {
	margin-bottom: 18px;
}
.main-content p:last-child {
	margin-bottom: 0;
}

/* Content sections */
.content-section {
	display: none;
}
.content-section.active {
	display: block;
	animation: fadeIn 0.3s ease-in-out;
	width: 100%;
}
@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Apresentacao section */
.apresentacao-intro {
	background: linear-gradient(135deg, #f0f4f8, #e8eef5);
	padding: 24px;
	border-radius: 6px;
	margin-bottom: 24px;
	border-left: 4px solid #1565c0;
}
.apresentacao-intro p {
	margin-bottom: 0;
	color: var(--color-text);
}

.servicos-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
	margin-top: 20px;
}
.servico-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px;
	background: #f8f9fa;
	border-radius: 4px;
}
.servico-icon {
	width: 36px;
	height: 36px;
	background: #1565c0;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	flex-shrink: 0;
}
.servico-item span {
	font-size: 12.5px;
	color: var(--color-text);
	font-weight: 600;
}

/* Endereco section */

.enderecos-section {
	background: var(--color-bg-gray);
	padding: 40px 0;
	margin-top: 45px;
}
.enderecos-section .content-wrap {
	max-width: var(--container-width, 1185px);
	margin: 0 auto;
	padding: 0;
}
.enderecos-grid {
	display: flex;
	gap: 24px;
	align-items: start;
}
#endereco .enderecos-grid {
	flex-direction: column;
}
.endereco-map {
	width: 100%;
	height: 280px;
	background: #c8d6c0;
	border-radius: 6px;
	overflow: hidden;
}
.endereco-map iframe {
	width: 100%;
	height: 100%;
	border: 0;
}
.enderecos-info {
	padding-top: 8px;
}
.enderecos-info .pin-title {
	display: flex;
	align-items: flex-start;
	gap: 13px;
	margin-bottom: 14px;
	align-items: center;
}
.enderecos-info .pin-icon {
	flex: 0 0 auto;
	width: 26px;
	height: 31px;
	background: url(../img/icon-pin.svg) no-repeat center;
}
.enderecos-info .pin-title h3 {
	font-weight: 700;
	font-size: 17px;
}
.enderecos-info p {
	color: #444;
	line-height: 1.6;
}
.enderecos-info strong {
	font-weight: 700;
	color: var(--color-text);
}

/* Photo */
.content-photo-wrap {
	text-align: center;
	margin: 28px 0;
}
.content-photo {
	width: 350px;
	height: 270px;
	background: linear-gradient(145deg, #6090b0, #7ab0d0);
	border-radius: 2px;
	display: inline-block;
	overflow: hidden;
	position: relative;
}
.content-photo-placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(255, 255, 255, 0.6);

	position: relative;
}
.content-photo-placeholder::after {
	content: "AGENTE";
	position: absolute;
	bottom: 10px;
	right: 12px;
	font-size: 11px;
	color: rgba(255, 255, 255, 0.45);
	letter-spacing: 1px;
	font-weight: 700;
}
.content-photo-caption {
	margin-top: 8px;
	font-size: 12px;
	color: #666;
	font-style: italic;
	text-align: center;
}

/* Page body layout */
.page-body {
	display: flex;
	gap: 50px;
	padding-bottom: 90px;
	align-items: start;
	margin-top: 20px;
}

.sidebar {
	width: 250px;
	flex: 0 0 auto;
}

.main-content {
	width: 100%;
}

.enderecos-map {
	width: 100%;
}

/* ===== SKELETON LOADING ===== */
@keyframes shimmer {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}

.skeleton {
  position: relative;
  overflow: hidden;
  background: #e8e8e8;
  border-radius: 4px;
}

.skeleton::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 255, 255, 0.4) 50%,
    transparent 100%
  );
  animation: shimmer 1.5s infinite;
  transform: translateX(-100%);
}

.skeleton-text {
  height: 1em;
  margin-bottom: 0.5em;
  border-radius: 3px;
}

.skeleton-text-sm {
  height: 0.75em;
  width: 60%;
  margin-bottom: 0.5em;
  border-radius: 2px;
}

.skeleton-title {
  height: 1.5em;
  width: 80%;
  margin-bottom: 0.75em;
  border-radius: 4px;
}

.skeleton-image {
  aspect-ratio: 16/9;
  border-radius: 4px;
}

.skeleton-card {
  padding: 16px;
  border-radius: 6px;
}

.skeleton-inline {
  display: inline-block;
  height: 1.5em;
  width: 80px;
  border-radius: 3px;
}

/* Skeleton variants for news cards */
.skeleton-news-large {
  min-height: 300px;
  border-radius: 4px;
}

.skeleton-news-medium {
  height: 116px;
  border-radius: 4px;
}

.skeleton-news-small {
  height: 85px;
  border-radius: 4px;
}

/* Skeleton agenda item */
.skeleton-agenda-item {
  padding: 12px 0;
}

.skeleton-agenda-header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 8px;
}

.skeleton-agenda-header .skeleton-text {
  width: 120px;
}

.skeleton-agenda-detail {
  display: flex;
  align-items: center;
  gap: 8px;
}

.skeleton-agenda-detail .skeleton-text {
  width: 100px;
}

.skeleton-agenda-detail .skeleton-text:last-child {
  width: 200px;
}

/* Skeleton agencia card */
.skeleton-agencia-card {
  padding: 10px 0;
  border-bottom: 1px solid #e8e8e8;
}

.skeleton-agencia-card .skeleton-text {
  margin-bottom: 0.75em;
}

/* Skeleton map */
.skeleton-map {
  width: 100%;
  height: 280px;
  border-radius: 6px;
}

/* Skeleton profile block */
.skeleton-profile-block {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}

.skeleton-profile-photo {
  width: 200px;
  height: 200px;
  border-radius: 8px;
  flex-shrink: 0;
}

.skeleton-profile-content {
  flex: 1;
}

.skeleton-profile-content .skeleton-title {
  margin-bottom: 1em;
}

.skeleton-profile-content .skeleton-text {
  margin-bottom: 0.75em;
}

.skeleton-profile-content .skeleton-text:nth-child(3) {
  width: 70%;
}

/* Superintendent header layout */
.superintendente-header {
  display: flex;
  gap: 20px;
  align-items: center;
  margin-bottom: 24px;
}

.superintendente-header #superintendente-foto {
  width: 200px;
  height: 200px;
  border-radius: 8px;
  flex-shrink: 0;
  overflow: hidden;
}

.superintendente-header #superintendente-foto img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.superintendente-header #superintendente-nome {
  flex: 1;
  font-size: 1.5rem;
  color: var(--text-primary, #333);
}

/* Skeleton detail block */
.skeleton-detail-block {
  padding: 16px;
}

.skeleton-detail-block .skeleton-title {
  margin-bottom: 1em;
}

.skeleton-detail-block .skeleton-text {
  margin-bottom: 0.75em;
}

.skeleton-detail-block .skeleton-text:last-child {
  width: 50%;
}

/* Skeleton pagination */
.skeleton-pagination {
  display: flex;
  gap: 8px;
}

.skeleton-pagination .skeleton-inline {
  width: 40px;
  height: 32px;
}

/* Skeleton gallery item */
.skeleton-gallery-item {
  aspect-ratio: 4/3;
  border-radius: 8px;
}

/* Inline skeleton containers */
.skeleton-block {
  width: 100%;
  min-height: 20px;
  margin-bottom: 8px;
}


/* ===== GALLERY PAGE ===== */

.page-header {
	padding: 30px 0 20px;
}
.page-header h1 {
	font-size: 26px;
	font-weight: 700;
	color: #1a1a1a;
	margin-bottom: 8px;
}
.page-header p {
	color: #666;
}

/* Gallery Grid */
.gallery-section {
	padding: 20px 0 40px;
}
.gallery-section h2 {
	font-size: 20px;
	font-weight: 700;
	color: #1a1a1a;
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: 2px solid #e0e0e0;
}

.gallery-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
.gallery-item {
	position: relative;
	border-radius: 8px;
	overflow: hidden;
	background: #f5f5f5;
	aspect-ratio: 4/3;
	cursor: pointer;
	transition:
		transform 0.2s,
		box-shadow 0.2s;
}
.gallery-item > a {
	display: block;
	border-radius: 8px;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
}
.gallery-item > a img {
	position: absolute;
	width: 100%;
	min-height: 212px;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.gallery-item .gallery-item-name {
	position: absolute;
	bottom: 0;
	z-index: 1;
	background: #0000008c;
	padding: 10px 14px;
	color: #fff;
	font-size: 12px;
	width: 100%;
}
.gallery-item:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}
.gallery-item .placeholder-img {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;

	color: rgba(255, 255, 255, 0.8);
	font-weight: 600;
}
.gallery-item-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 15px;
	background: linear-gradient(transparent, rgba(0, 0, 0, 0.7));
	color: #fff;
}
.gallery-item-overlay h4 {
	font-weight: 600;
	margin-bottom: 4px;
}
.gallery-item-overlay span {
	font-size: 11px;
	opacity: 0.8;
}

/* Video items have play button */
.video-item::before {
	content: "▶";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 50px;
	height: 50px;
	background: rgba(21, 101, 192, 0.9);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 18px;
	padding-left: 4px;
	z-index: 2;
}

/* Background colors for placeholders */
.bg-photo1 {
	background: linear-gradient(135deg, #4a7c59, #6a9c79);
}
.bg-photo2 {
	background: linear-gradient(135deg, #5a7a9a, #7a9aba);
}
.bg-photo3 {
	background: linear-gradient(135deg, #8a6a5a, #aa8a7a);
}
.bg-photo4 {
	background: linear-gradient(135deg, #6a5a8a, #8a7aaa);
}
.bg-photo5 {
	background: linear-gradient(135deg, #5a8a8a, #7aaaaa);
}
.bg-photo6 {
	background: linear-gradient(135deg, #8a5a6a, #aa7a8a);
}
.bg-photo7 {
	background: linear-gradient(135deg, #7a8a5a, #9aaa7a);
}
.bg-photo8 {
	background: linear-gradient(135deg, #5a6a8a, #7a8aaa);
}

.bg-video1 {
	background: linear-gradient(135deg, #c62828, #e53935);
}
.bg-video2 {
	background: linear-gradient(135deg, #ad1457, #d81b60);
}
.bg-video3 {
	background: linear-gradient(135deg, #6a1b9a, #8e24aa);
}
.bg-video4 {
	background: linear-gradient(135deg, #283593, #3949ab);
}

/* Tabs */
.gallery-tabs {
	display: flex;
	gap: 8px;
	margin-bottom: 24px;
	/* border-bottom: none; */
}
.gallery-tab {
	padding: 12px 24px;
	font-weight: 600;
	color: #666;
	background: none;
	border: none;
	cursor: pointer;
	border-bottom: 3px solid transparent;
	margin-bottom: -2px;
	transition: all 0.2s;
}
.gallery-tab:hover {
	color: #1565c0;
}
.gallery-tab.active {
	color: #1565c0;
	border-bottom-color: #1565c0;
}

/* ===== HOME PAGE SPECIFIC STYLES ===== */

.ses-select {
	width: 280px;
	font-size: 14px;
	border-radius: 3px;
	background: #fff;
	color: var(--color-text);
	font-style: italic;
	padding: 7px 10px 7px 35px;
	background: url(../img/icon-lupa-cinza.svg) no-repeat;
	background-position: left 10px center;
	background-size: 17px;
}

/* Side news */
.noticias-side {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.noticia-side-item {
	display: flex;
	gap: 14px;
	align-items: flex-start;
}
.noticia-side-item > a {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	width: 100%;
}
.noticia-side-img {
	width: 190px;
	min-width: 130px;
	height: 116px;
	background: #87a8c7;
	border-radius: 3px;
	overflow: hidden;
	flex-shrink: 0;
	position: relative;
}
.noticia-side-img img,
.noticia-side-img div {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.noticia-side-date {
	color: var(--color-text-blue);
	font-size: 16px;
	margin-bottom: 4px;
}
.noticia-side-info p {
	color: var(--color-text);
	font-size: 16px;
	font-weight: 700;
}

/* Notícias Anteriores */
.noticia-anterior-item {
	display: flex;
	gap: 18px;
	padding: 18px 0;
	border-bottom: 1px solid #d0d0d0;
	align-items: flex-start;
}
.noticia-anterior-item:first-child {
	padding-top: 0;
}
.noticia-anterior-item:last-child {
	border-bottom: none;
	margin-bottom: 20px;
}
.noticia-anterior-img {
	width: 190px;
	min-width: 190px;
	height: 116px;
	background: #a0b8ce;
	border-radius: 3px;
	overflow: hidden;
	flex: 0 0 auto;
	position: relative;
}
.noticia-anterior-img img,
.noticia-anterior-img div {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.noticia-anterior-info {
	flex: 1;
}
.noticia-anterior-info .loc-date {
	color: var(--color-text-blue);
	margin-bottom: 4px;
}
.noticia-anterior-info h4 {
	font-size: 16.8px;
	font-weight: 700;
	color: #1a1a1a;
	margin-bottom: 6px;
}

/* SES Stats */
.ses-stats {
	display: flex;
	gap: 20px;
	margin: 30px 0;
	flex-wrap: wrap;
}
.stat-card {
	background: linear-gradient(135deg, #1351a0, #1a6bc4);
	color: #fff;
	border-radius: 8px;
	padding: 16px 24px;
	text-align: center;
	flex: 1;
	min-width: 140px;
}
.stat-num {
	display: block;
	font-size: 28px;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 4px;
}
.stat-label {
	font-size: 12px;
	opacity: 0.85;
	font-weight: 600;
}

/* ===== SOBRE ===== */

/* Sidebar Navigation */
.sidebar-nav {
	margin-top: 12px;
}
.sidebar-nav li {
	border-bottom: 1px solid #d8dde4;
}
.sidebar-nav li:last-child {
	border-bottom: none;
}
.sidebar-nav li a {
	display: block;
	padding: 11px 14px;

	color: var(--color-text);
	transition: background 0.15s;
}
.sidebar-nav li a:hover {
	background: #f0f4f8;
}
.sidebar-nav li.active a {
	background: var(--color-primary-dark);
	color: #fff;
}

/* Main content */
.main-content h2 {
	font-size: 29px;
	font-weight: 700;
	color: var(--color-text);
	margin-bottom: 20px;
}
.main-content p {
	margin-bottom: 18px;
}
.main-content ul {
	margin-bottom: 18px;
}
.main-content ul li {
	list-style: disc inside;
}
.main-content p:last-child {
	margin-bottom: 0;
}

/* Content sections */
.content-section {
	display: none;
}
.content-section.active {
	display: block;
	animation: fadeIn 0.3s ease-in-out;
	width: 100%;
}
@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Apresentacao section */
.apresentacao-intro {
	background: linear-gradient(135deg, #f0f4f8, #e8eef5);
	padding: 24px;
	border-radius: 6px;
	margin-bottom: 24px;
	border-left: 4px solid #1565c0;
}
.apresentacao-intro p {
	margin-bottom: 0;
	color: var(--color-text);
}

.servicos-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
	margin-top: 20px;
}
.servico-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px;
	background: #f8f9fa;
	border-radius: 4px;
}
.servico-icon {
	width: 36px;
	height: 36px;
	background: #1565c0;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	flex-shrink: 0;
}
.servico-item span {
	font-size: 12.5px;
	color: var(--color-text);
	font-weight: 600;
}

/* Endereco section */

.enderecos-section {
	background: var(--color-bg-gray);
	padding: 40px 0;
	margin-top: 45px;
}
.enderecos-section .content-wrap {
	max-width: var(--container-width, 1185px);
	margin: 0 auto;
	padding: 0;
}
.enderecos-grid {
	display: flex;
	gap: 24px;
	align-items: start;
}
#endereco .enderecos-grid {
	flex-direction: column;
}
.endereco-map {
	width: 100%;
	height: 280px;
	background: #c8d6c0;
	border-radius: 6px;
	overflow: hidden;
}
.endereco-map iframe {
	width: 100%;
	height: 100%;
	border: 0;
}
.enderecos-info {
	padding-top: 8px;
}
.enderecos-info .pin-title {
	display: flex;
	align-items: flex-start;
	gap: 13px;
	margin-bottom: 14px;
	align-items: center;
}
.enderecos-info .pin-icon {
	flex: 0 0 auto;
	width: 26px;
	height: 31px;
	background: url(../img/icon-pin.svg) no-repeat center;
}
.enderecos-info .pin-title h3 {
	font-weight: 700;
	font-size: 17px;
}
.enderecos-info p {
	color: #444;
	line-height: 1.6;
}
.enderecos-info strong {
	font-weight: 700;
	color: var(--color-text);
}

/* Photo */
.content-photo-wrap {
	text-align: center;
	margin: 28px 0;
}
.content-photo {
	width: 350px;
	height: 270px;
	background: linear-gradient(145deg, #6090b0, #7ab0d0);
	border-radius: 2px;
	display: inline-block;
	overflow: hidden;
	position: relative;
}
.content-photo-placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(255, 255, 255, 0.6);

	position: relative;
}
.content-photo-placeholder::after {
	content: "AGENTE";
	position: absolute;
	bottom: 10px;
	right: 12px;
	font-size: 11px;
	color: rgba(255, 255, 255, 0.45);
	letter-spacing: 1px;
	font-weight: 700;
}
.content-photo-caption {
	margin-top: 8px;
	font-size: 12px;
	color: #666;
	font-style: italic;
	text-align: center;
}

/* Page body layout */
.page-body {
	display: flex;
	gap: 50px;
	padding-bottom: 90px;
	align-items: start;
	margin-top: 20px;
}

.sidebar {
	width: 250px;
	flex: 0 0 auto;
}

.main-content {
	width: 100%;
}

.enderecos-map {
	width: 100%;
}

.enderecos-map iframe {
	width: 100%;
}

/* ===== NEWS LIST (noticias.html) ===== */
.news-search-bar {
	border-radius: 0 0 100px 0;
	background: var(--color-bg-gray);
	display: flex;
	padding: 35px 80px 39px 20px;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 20px;
}
.news-search-bar .controls {
	width: 100%;
}
.news-search-bar .controls:nth-child(1) {
	width: 450px;
	flex: 0 0 auto;
	max-width: 100%;
}
.news-search-bar .controls input,
.news-search-bar .controls select {
	width: 100%;
}
.noticias-anteriores {
	padding: 30px 0 20px;
}
.news-list .noticia-anterior-item {
	border-bottom: 1px solid #d0d0d0;
	padding: 30px 0;
	margin-bottom: 0;
}

/* Nacional */

section.intro-text {
    background: #e6e6e6;
}

section.intro-text .nacional-page {
    position: relative;
}

section.intro-text .nacional-page:after {
    background: url(../img/bg-resumo.png) right no-repeat;
    position: absolute;
    height: 100%;
    width: 100%;
    right: 0;
    top: 0;
    filter: grayscale(1);
    mix-blend-mode: multiply;
	opacity: .1;
}

section.map-section {
    background: #e6e6e6;
    padding: 45px 0;
    margin: 45px 0;
}

div#brazil-map-container path {
    fill: #0f9028;
    stroke: #005b10;
    cursor: pointer;
    transition: all 250ms;
}

div#brazil-map-container path:hover {
    fill: #005b10;
    stroke: #005b10;
    cursor: pointer;
}

div#brazil-map-tooltip {
    background: #fff;
    padding: 5px 10px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 5px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
    opacity: 0;
    transition: all 250ms;
}

div#brazil-map-tooltip.visible {
    opacity: 1;
}

h2.map-hint {
    text-align: center;
}

