/*!
Theme Name: PREVIBOC
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: previboc
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

PREVIBOC is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* ================================================== */
/*   Solução para Sticky Footer com CSS Grid (Robusta)  */
/* ================================================== */

/* 1. Garante que o HTML e o BODY ocupem 100% da altura */
html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}

/* 2. Transforma o BODY em um container Grid */
body {
    display: grid;
    /* Define 3 linhas: header (auto), conteúdo (1fr), footer (auto) */
    grid-template-rows: auto 1fr auto; 
    grid-template-columns: 100%; /* Apenas uma coluna */
}

/* 
   3. Opcional, mas recomendado:
   Garante que o header e o footer se encaixem corretamente no grid.
   Use os seletores corretos para o seu tema.
*/
header#masthead {
    grid-row: 1; /* Coloca o header na primeira linha */
}

main#content { /* O seu <main> já tem o ID 'content' */
    grid-row: 2; /* Coloca o conteúdo principal na segunda linha */
}

footer.footer { /* O seu <footer> já tem a classe 'footer' */
    grid-row: 3; /* Coloca o rodapé na terceira linha */
}


/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: #4169e1;
}

a:visited {
	color: none;
}

a:hover,
a:focus,
a:active {
	color: none;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0 0 1.5em;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

/*==================================================*/
/*    Largura do Tema para dispositivos maiores     */
/*==================================================*/


/* Muito grandes (1200px a 1399.98px) */
@media (min-width: 1200px) and (max-width: 1399.98px) {
    .container {
        max-width: 1200px !important;
    }
}

/* Extra grandes (1400px a 1599.98px) */
@media (min-width: 1400px) and (max-width: 1599.98px) {
    .container {
        max-width: 1400px !important;
    }
}

/* Ultra grandes */
@media (min-width: 1600px) {
    .container {
        max-width: 1600px !important;
    }
}

/* ================================================== */
/*             Barra do Topo (Top Bar)                */
/* ================================================== */

.container-barratopo {
    background-color: #3D7159;
    padding: 0.5rem 1rem; /* Ajuste de padding para um visual mais fino */
   
}

.barratopo-menu-container {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 1200px; /* Limita a largura em telas muito grandes */
    margin: 0 auto;
}

.barratopo-navbar-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
    flex-wrap: wrap; /* Permite que os itens quebrem a linha se necessário */
}

.barratopo-navbar-nav .barratopo-nav-item {
    margin: 0 1rem; /* Espaçamento horizontal */
}

.barratopo-navbar-nav .barratopo-nav-link {
    font-size: 0.875rem; /* 14px */
    font-weight: 500; /* Um pouco menos pesado que "bold" */
    color: #f8f9fa; /* Branco suave */
    text-decoration: none;
    padding: 0.5rem 0;
    white-space: nowrap;
    transition: color 0.3s ease;
}

.barratopo-navbar-nav .barratopo-nav-link:hover {
    color: #ffffff; /* Branco mais vivo no hover */
    text-decoration: underline;
}

/* Ícones de redes sociais */
.barratopo-social-icons a {
    margin-left: 1rem; /* Espaço entre os ícones sociais */
}

/* Estilos específicos para mobile */
@media (max-width: 991px) {
    .container-barratopo {
        padding: 0.25rem 1rem;
    }

    .barratopo-navbar-nav {
        justify-content: space-around; /* Distribui os ícones igualmente */
    }

    .barratopo-navbar-nav .barratopo-nav-item {
        margin: 0;
    }

    .barratopo-navbar-nav .barratopo-nav-link i {
        font-size: 1.25rem; /* Ícones um pouco maiores para facilitar o toque */
        padding: 0.5rem;
    }
}



/* ================================================== */
/*           Estilos do Cabeçalho (Header)            */
/* ================================================== */

/* --- Barra Superior (Logo e Busca) --- */
.topo-fundo-container {
  background-color: #4d8169; /*Verde Principal */
  width: 100%;
  padding: 10px 100px;
}

.topo-container {
  width: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  padding: 0 30px;
}

/* --- Logo (Sem alterações, como pediu) --- */
.topo-site-logo {
    flex: 0 0 auto;
    margin-left: 50px;
}
.topo-site-logo img {
    max-height: 80px;
    width: auto;
    height: auto;
    display: inline-block;
}
.topo-site-logo-mobile img {
    max-height: 50px;
    width: auto; 
    height: auto; 
    display: inline-block;
}

/* --- Formulário de Busca (Desktop) --- */
.search-wrapper {
  position: relative;
  width: 500px;
}

.search-form {
  display: flex;
  align-items: center;
  position: relative;
}

.search-field {
  width: 100%;
  padding-left: 20px !important; /* Aumentei um pouco o padding */
  border-radius: 30px !important;
  border: 1px solid transparent !important; /* CORREÇÃO: Borda transparente */
  background-color: #fff; /* CORREÇÃO: Fundo branco */
  color: #343A40 !important; /* CORREÇÃO: Cor do texto digitado escura */
  outline: none;
  transition: box-shadow 0.3s ease;
  height: 50px; /* Reduzi um pouco para ficar mais elegante */
}

.search-submit {
  position: absolute;
  right: 10px;
  background: none;
  border: none;
  color: #4d8169; /* ícone verde */
  font-size: 1.25rem; 
  cursor: pointer;
}

.search-field::placeholder {
  color: #6c757d; /* placeholder cinza */
}

.search-field:focus {
  background-color:#fff;
  color: #343A40 !important; /*Cor do texto escura */
  border-color: transparent !important;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.5); /* Efeito de foco sutil */
}

/* --- Barra de Menu Principal --- */
.menu-desktop-wrapper {
  background-color: #fff; 
  width: 100%;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

/* --- Cabeçalho Mobile --- */
.topo-fundo-container-mobile {
    background-color: #4d8169;
}

.mobile-header-item {
  flex: 0 0 40px;
  text-align: center;
}

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23ffffff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e" );
}

.mobile-header-item .btn {
    color: #2E6B4F;
}

.mobile-header-item .fas.fa-search {
    font-size: 1.25rem;
    color: #ffff; 
}

.mobile-collapse-wrapper {
    background-color: #f8f9fa;
}





/*==================================================*/
/*                 Banner Rotativo                  */
/*==================================================*/

.carousel-image-container {
    width: 100%; /* O container ocupa toda a largura horizontal */
    height: auto; /* Altura mínima fixa para evitar layout oscilante */
    background-color: #f0f0f0; /* Cor de fundo para o espaço vazio */
    display: flex; /* Alinha a imagem no centro */
    justify-content: center; 
    align-items: center; 
    overflow: hidden; /* Garante que nada ultrapasse o container */
}

.carousel-image-container img {
     object-fit: contain; /* Mantém a imagem completa sem distorção */
        width: 100%; /* Garante que a imagem ocupe toda a largura */
        height: auto; /* Mantém a proporção original da imagem */
}

/*==================================================*/
/*          Posicionamento das Setas                */
/*==================================================*/

/* Posiciona as setas nas extremidades laterais */
#carouselBanner .carousel-control-prev,
#carouselBanner .carousel-control-next {
    width: 5%; /* Largura dos controles */
    top: 50%; /* Centraliza verticalmente */
    transform: translateY(-50%); /* Ajuste fino da centralização */
    z-index: 10; /* Garante que fiquem acima das imagens */
}

/* Seta da esquerda - posiciona na extremidade esquerda */
#carouselBanner .carousel-control-prev {
    left: 0; /* Cola na borda esquerda */
}

/* Seta da direita - posiciona na extremidade direita */
#carouselBanner .carousel-control-next {
    right: 0; /* Cola na borda direita */
}

/* Estilização dos ícones das setas */
#carouselBanner .carousel-control-prev-icon,
#carouselBanner .carousel-control-next-icon {
    background-size: 20px 20px; /* Tamanho dos ícones */
    width: 20px;
    height: 20px;
}

/* Efeito hover para melhor interação */
#carouselBanner .carousel-control-prev:hover,
#carouselBanner .carousel-control-next:hover {
    background-color: rgba(0, 0, 0, 0.1); /* Fundo semi-transparente no hover */
    border-radius: 5px; /* Bordas arredondadas */
}

@media (max-width: 768px) {
    .carousel-image-container {
        width: 100%; /* O container ocupa toda a largura */
        min-height: 98px; /* Altura mínima mais adequada para mobile */
        height: auto; /* Permite ajuste de altura */
    }

    .carousel-image-container img {
        object-fit: contain; /* Mantém a imagem completa sem distorção */
        width: 100%; /* Garante que a imagem ocupe toda a largura */
        height: auto; /* Mantém a proporção original da imagem */
    }

    /* Ajustes das setas para mobile */
    #carouselBanner .carousel-control-prev,
    #carouselBanner .carousel-control-next {
        width: 8%; /* Largura maior para facilitar o toque em mobile */
    }

    #carouselBanner .carousel-control-prev-icon,
    #carouselBanner .carousel-control-next-icon {
        background-size: 16px 16px; /* Ícones menores para mobile */
        width: 16px;
        height: 16px;
    }
}


/* ================================================== */
/*        Customização Breadcrumb                   */
/* ================================================== */

.caminho-breadcrumb {
    margin-top: 10px;
    background-color: transparent;
    padding: 0.5rem 0; /* Apenas espaçamento vertical */
    margin-bottom: 1.5rem; /* Espaço entre o breadcrumb e o título da página */
    font-size: 0.9rem; /* Tamanho de fonte sutil (14.4px) */
}

.caminho-breadcrumb-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.caminho-breadcrumb-item {
    display: inline; /* Mantém os itens em linha */
}

/* Estilo para os links */
.caminho-breadcrumb-link {
    color: #2E6B4F; /* Verde Principal */
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease;
}

.caminho-breadcrumb-link:hover {
    color: #3A8E6A; 
    text-decoration: underline;
}

/* Estilo para o separador ">" */
.caminho-breadcrumb-item:not(:last-child)::after {
    content: ">";
    color: #6c757d; /* Cinza sutil para o separador */
    margin: 0 0.5rem; /* Espaçamento de 8px em cada lado do separador */
}

/* Estilo para o item ATUAL do breadcrumb (que não é um link) */
.caminho-breadcrumb-item:last-child .caminho-breadcrumb-link {
    color: #6c757d; /* Cinza sutil para indicar que é a página atual */
    font-weight: normal;
    pointer-events: none; /* Desativa o clique no item atual */
}


/* ================================================== */
/*           Botão Primário (Padrão do Site)          */
/* ================================================== */

.btn-primario {
    display: inline-block; /* Garante o comportamento correto */
    font-size: 14px;
    font-weight: bold;
    color: #ffffff !important; /* Cor do texto branca */
    background-color: #2E6B4F; /* Nosso Verde Principal */
    border: none;
    padding: 12px 24px; /* Aumentei um pouco para um toque mais moderno */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
    border-radius: 5px;
    text-transform: uppercase;
    text-decoration: none !important; /* Remove qualquer sublinhado */
    letter-spacing: 0.5px; /* Melhora a legibilidade do uppercase */
    transition: background-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}

.btn-primario:hover {
    color: #ffffff !important;
    transform: scale(1.05); /* Leve aumento ao passar o mouse */
    background-color: #24553F; /* Um tom mais escuro do nosso Verde Principal */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}


/* ================================================== */
/*           Estilos dos Cards de Serviço             */
/* ================================================== */

/* Fundo cinza claro para a secção */
.bg-light-custom {
    background-color: #F8F9FA !important;
}

/* Estilo geral do card */
.service-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid #e9ecef;
    border-radius: 0.5rem;
    box-shadow: 0 4px 15px rgba(0,0,0,.05);
}

.service-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 8px 25px rgba(0,0,0,.1);
}

/* Estilo do ícone dentro do card */
.service-card .card-icon {
    font-size: 3rem;
    color: #3A8E6A; /* Verde de Ação */
}

/* Estilo do botão (já deve existir, mas para garantir) */
.btn-action-custom {
    background-color: #3A8E6A !important;
    border-color: #3A8E6A !important;
    color: white !important;
    font-weight: 500;
    padding: 0.75rem 1.5rem;
    transition: background-color 0.3s ease, border-color 0.3s ease;
}
.btn-action-custom:hover {
    background-color: #2E6B4F !important;
    border-color: #2E6B4F !important;
}


/* ================================================== */
/*     Placeholder de Imagem para Notícias (CSS)       */
/* ================================================== */

.imagem-placeholder-css {
    /* Layout e Dimensões */
    width: 100%;
    height: 100%; /* Ocupa a altura definida no .card-noticia-imagem a */
    display: flex;
    align-items: center;
    justify-content: center;
    
    /* Fundo e Cor */
    background-color: #f0f4f2; /* Um cinza-esverdeado muito claro, do nosso projeto */
    position: relative; /* Necessário para o pseudo-elemento */
    overflow: hidden; /* Garante que nada saia dos limites */
}

/* Cria a palavra "NOTÍCIA" como um elemento de fundo */
.imagem-placeholder-css::before {
    content: 'NOTÍCIA';
    position: absolute;
    
    /* Estilo da Fonte */
    font-size: 4rem; /* Tamanho grande para o texto de fundo */
    font-weight: 800; /* Extra bold */
    color: rgba(46, 107, 79, 0.08); /* Nosso Verde Principal, mas com 8% de opacidade */
    
    /* Posicionamento e Rotação */
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-15deg); /* Centraliza e rotaciona */
    
    /* Garante que o texto não possa ser selecionado */
    user-select: none;
    pointer-events: none;
}


/* ================================================== */
/*           Página de Arquivo de Notícias             */
/* ================================================== */

/* Título principal da página de notícias */
.titulo-arquivo-noticias {
    font-weight: 700;
    color: #2E6B4F; /* Nosso Verde Principal */
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid #e9ecef;
}

/* Card individual de notícia */
.card-noticia {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid #e9ecef;
    border-radius: 0.5rem;
    box-shadow: 0 4px 15px rgba(0,0,0,.05);
}

.card-noticia:hover {
    transform: translateY(-8px);
    box-shadow: 0 8px 25px rgba(0,0,0,.1);
}

/* Imagem da notícia */
.card-noticia-imagem a {
    display: block;
    width: 100%;
    height: 200px; /* Altura fixa para todas as imagens */
    background-color: #f8f9fa; /* Fundo para a imagem padrão */
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
    overflow: hidden;
}

.card-noticia-imagem img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Garante que a imagem cubra a área sem distorcer */
}

/* Título do card */
.card-noticia .card-title a {
    color: #343A40;
    text-decoration: none;
    transition: color 0.3s ease;
}

.card-noticia:hover .card-title a {
    color: #2E6B4F; /* Verde Principal no hover */
}

/* Data da publicação */
.card-noticia .card-meta {
    font-size: 0.85rem;
    color: #6c757d;
}

/* Paginação */
.paginacao-arquivo .page-numbers {
    padding: 0.5rem 1rem;
    margin: 0 0.25rem;
    border: 1px solid #dee2e6;
    border-radius: 0.25rem;
    color: #3A8E6A; /* Verde de Ação */
    text-decoration: none;
    transition: all 0.3s ease;
}

.paginacao-arquivo .page-numbers:hover {
    background-color: #3A8E6A;
    color: white;
    border-color: #3A8E6A;
}

.paginacao-arquivo .page-numbers.current {
    background-color: #2E6B4F; /* Verde Principal */
    color: white;
    border-color: #2E6B4F;
}


/* ================================================== */
/*   Estilização da Página de Perguntas Frequentes    */
/* ================================================== */

/* Container que envolve o acordeão de perguntas */
.faq-container {
    max-width: 850px; /* Limita a largura para melhor legibilidade */
    margin: 40px auto; /* Centraliza o container na página */
}

/* --- Estilo do Acordeão (Accordion) --- */
.faq-container .accordion {
    border: none; /* Remove a borda externa padrão */
    border-radius: 0.5rem; /* Bordas arredondadas do nosso projeto */
    overflow: hidden; /* Garante que os cantos arredondados funcionem */
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.07); /* Sombra suave */
}

.faq-container .accordion-item {
    border-bottom: 1px solid #e9ecef; /* Linha sutil entre as perguntas */
}

.faq-container .accordion-item:last-of-type {
    border-bottom: none; /* Remove a borda do último item */
}

/* Botão que contém a pergunta */
.faq-container .accordion-button {
    font-size: 1.1rem;
    font-weight: 600;
    color: #343A40; /* Cor padrão do texto da pergunta */
    background-color: #ffffff;
    padding: 1.25rem;
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* Remove a seta padrão do Bootstrap e adiciona um ícone '+' */
.faq-container .accordion-button::after {
    flex-shrink: 0;
    width: 1.5rem;
    height: 1.5rem;
    margin-left: auto;
    content: "\f067"; /* Ícone '+' do Font Awesome */
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    background-image: none; /* Remove a imagem de seta do Bootstrap */
    transition: transform 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    color: #3A8E6A; /* Verde de Ação */
}

/* Estilo do botão quando a pergunta está ABERTA */
.faq-container .accordion-button:not(.collapsed) {
    background-color: #3A8E6A; /* Nosso Verde de Ação */
    color: white;
}

/* Muda o ícone para '-' quando a pergunta está aberta */
.faq-container .accordion-button:not(.collapsed)::after {
    content: "\f068"; /* Ícone '-' do Font Awesome */
    transform: rotate(180deg); /* Animação suave */
    color: white;
}

/* Remove a sombra azul padrão do Bootstrap no botão */
.faq-container .accordion-button:focus {
    box-shadow: none;
    border-color: transparent;
}

/* Corpo que contém a resposta */
.faq-container .accordion-body {
    padding: 1.25rem;
    background-color: #f8f9fa; /* Fundo cinza claro para a resposta */
    font-size: 1rem;
    color: #495057;
    line-height: 1.7; /* Aumenta o espaçamento entre linhas para leitura */
}

/* Remove a margem do último parágrafo dentro da resposta */
.faq-container .accordion-body p:last-child {
    margin-bottom: 0;
}

/* ================================================== */
/*           Secção de Acesso Rápido                  */
/* ================================================== */

/* Título da secção */
.titulo-acesso-rapido {
    font-size: 2.25rem; /* 36px */
    font-weight: 700;
    text-align: center;
    color: #343A40; /* Cor de texto escura */
    margin-bottom: 2.5rem; /* 40px */
}

/* Destaque verde na palavra "Rápido" */
.titulo-acesso-rapido span {
    color: #2E6B4F; /* Nosso Verde Principal */
}

/* Card individual */
.card-acesso-rapido {
    background-color: #ffffff;
    border: 1px solid #e9ecef;
    border-radius: 0.5rem; /* Borda padrão do nosso projeto */
    box-shadow: 0 4px 15px rgba(0,0,0,.05);
    padding: 1.5rem 1rem;
    text-align: center;
    height: 100%; /* Garante que todos os cards na mesma linha tenham a mesma altura */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

/* Efeito Hover no Card */
.card-acesso-rapido:hover {
    transform: translateY(-8px);
    box-shadow: 0 8px 25px rgba(46, 107, 79, 0.15); /* Sombra com tom verde */
    background-color: #2E6B4F; /* Fundo fica com o Verde Principal */
}

/* Ícone dentro do card */
.card-acesso-rapido .icone-container {
    width: 60px;
    height: 60px;
    background-color: #3A8E6A; /* Nosso Verde de Ação */
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* Efeito Hover no Ícone (inverte as cores) */
.card-acesso-rapido:hover .icone-container {
    background-color: white;
    color: #2E6B4F; /* O ícone fica com o Verde Principal */
}

/* Texto do card */
.card-acesso-rapido p {
    font-size: 0.875rem; /* 14px */
    font-weight: 500;
    color: #343A40; /* Cor de texto padrão */
    margin-bottom: 0;
    transition: color 0.3s ease;
}

/* Efeito Hover no Texto */
.card-acesso-rapido:hover p {
    color: white;
}

/* ================================================== */
/*        Secção de Últimas Notícias (Homepage)        */
/* ================================================== */

/* Título da secção */
.home-noticias-titulo {
    font-size: 2.25rem;
    font-weight: 700;
    text-align: center;
    color: #343A40;
    margin-bottom: 2.5rem;
}

.home-noticias-titulo span {
    color: #2E6B4F; /* Nosso Verde Principal */
}

/* Card individual de notícia na home */
.home-noticia-card {
    background-color: #ffffff;
    border: 1px solid #e9ecef;
    border-radius: 0.5rem;
    box-shadow: 0 4px 15px rgba(0,0,0,.05);
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.home-noticia-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 8px 25px rgba(46, 107, 79, 0.1);
}

/* Container da imagem (com ou sem placeholder) */
.home-noticia-imagem {
    display: block;
    width: 100%;
    height: 200px;
    background-color: #f8f9fa;
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
    overflow: hidden;
}

.home-noticia-imagem img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Garante que a imagem cubra a área */
}

/* Conteúdo do card */
.home-noticia-conteudo {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1; /* Faz o conteúdo ocupar o espaço restante */
}

/* Título do card */
.home-noticia-conteudo .h5 a {
    color: #343A40;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.3s ease;
}

.home-noticia-card:hover .h5 a {
    color: #2E6B4F; /* Verde Principal no hover */
}

/* Data da publicação */
.home-noticia-data {
    font-size: 0.85rem;
    color: #6c757d;
    margin-bottom: 1rem;
}

/* Resumo */
.home-noticia-resumo {
    flex-grow: 1; /* Empurra o botão "Leia Mais" para baixo */
    margin-bottom: 1.5rem;
}

/* Link "Veja mais notícias" */
.home-ver-mais {
    text-align: right;
    margin-top: 2rem;
}

.home-ver-mais a {
    color: #3A8E6A; /* Nosso Verde de Ação */
    text-decoration: none;
    font-weight: bold;
    transition: color 0.3s ease;
}

.home-ver-mais a:hover {
    color: #2E6B4F; /* Verde Principal no hover */
}

.home-ver-mais a .fa-arrow-right {
    transition: transform 0.3s ease;
    display: inline-block;
}

.home-ver-mais a:hover .fa-arrow-right {
    transform: translateX(5px);
}


/* ================================================== */
/*        Estilo Padrão para Títulos de Página        */
/*        (Funciona em pages, archives, singles)      */
/* ================================================== */

.pagina-header {
    margin-bottom: 2.5rem; /* Aumenta o espaço abaixo do título */
    padding-bottom: 1rem; /* Adiciona espaço entre o texto e a linha */
}

.pagina-header h1 {
    font-size: 2.25rem; /* Um pouco maior para mais impacto (40px) */
    font-weight: 700; /* Peso da fonte padrão para títulos no projeto */
    color: #2E6B4F; /* CORREÇÃO: Nosso Verde Principal */
    margin-top: 0.5rem; /* Espaço entre o breadcrumb e o título */
    margin-bottom: 0; /* Remove a margem de baixo do h1 */
    line-height: 1.3; /* Melhora a legibilidade em títulos longos */
}



/* ================================================== */
/*           Estilos da Página de Arquivos            */
/* ================================================== */

/* --- Barra de Filtros --- */
.filtros-arquivo {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 2.5rem;
    padding: 1.5rem;
    background-color: #f8f9fa; /* Fundo cinza claro padrão */
    border: 1px solid #e9ecef;
    border-radius: 0.5rem; /* Borda padrão do projeto */
}

.filtros-arquivo label {
    font-weight: 600; /* Um pouco mais forte */
    color: #495057;
    white-space: nowrap;
}

.filtros-arquivo input,
.filtros-arquivo select {
    padding: 0.6rem 0.8rem;
    border: 1px solid #ced4da;
    border-radius: 0.375rem;
    background-color: #ffffff;
    font-size: 1rem;
    color: #343A40;
    min-width: 180px;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.filtros-arquivo input:focus,
.filtros-arquivo select:focus {
    border-color: #3A8E6A; /* Verde de Ação no foco */
    box-shadow: 0 0 0 3px rgba(58, 142, 106, 0.2);
    outline: none;
}

/* Botão "Filtrar" agora usa nosso padrão */
.filtros-arquivo .filtro-botao {
    /* Reutilizando a classe .btn-primario que já criámos */
    /* Se não tiver, use o código abaixo: */
    background-color: #2E6B4F; /* Verde Principal */
    color: #ffffff;
    border: none;
    padding: 0.7rem 1.5rem;
    border-radius: 0.375rem;
    font-size: 0.9rem;
    font-weight: bold;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.filtros-arquivo .filtro-botao:hover {
    background-color: #24553F; /* Verde mais escuro */
    transform: translateY(-2px);
}

/* --- Lista de Itens do Arquivo --- */
.arquivo-item-card {
    background-color: #ffffff;
    margin-bottom: 1rem;
    padding: 1.5rem;
    border-radius: 0.5rem;
    border: 1px solid #e9ecef;
    border-left: 5px solid #3A8E6A; /* Borda lateral com nosso Verde de Ação */
    box-shadow: 0 4px 15px rgba(0,0,0,.05);
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.arquivo-item-card:hover {
   transform: translateY(-5px);
   box-shadow: 0 8px 25px rgba(46, 107, 79, 0.1); /* Sombra com tom verde */
}

.arquivo-item-card h2 {
    font-size: 1.2rem;
    font-weight: 600;
    color: #343A40;
    margin: 0;
}

.arquivo-item-card p {
    font-size: 1rem;
    color: #6c757d;
    margin: 5px 0 0 0;
    line-height: 1.6;
}

/* Botão de Download */
.btn-baixar-pdf {
    /* Reutilizando a classe .btn-primario */
    background-color: #2E6B4F;
    color: #ffffff !important;
    padding: 0.7rem 1.5rem;
    border-radius: 0.375rem;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: bold;
    transition: background-color 0.2s, transform 0.2s;
    white-space: nowrap;
    text-transform: uppercase;
}

.btn-baixar-pdf:hover {
    background-color: #24553F;
    color: #ffffff !important;
    transform: scale(1.05);
}

/* Mensagem para quando não há arquivo */
.btn-sem-arquivo {
    font-size: 0.875rem;
    color: #6c757d;
    font-style: italic;
    text-align: center;
    padding: 0.75rem;
    border: 1px dashed #ced4da;
    border-radius: 0.375rem;
    display: block; /* Ocupa a largura toda */
    width: 100%;
}

/* --- Responsividade --- */
@media (max-width: 768px) {
    .filtros-arquivo {
        flex-direction: column;
        align-items: stretch;
    }

    .arquivo-item-card {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem; /* Espaçamento entre os elementos empilhados */
    }
    
    .btn-baixar-pdf {
        width: 100%;
        text-align: center;
    }
}

/*==================================================*/
/*             Archive-licitacao.php                */
/*==================================================*/    
/** Estilização para a Página de Licitações **/

.licitacao-frase{
text-align: center;
}

/** Layout Geral **/
.licitacao-layout {
    display: flex;
    gap: 20px;
    margin-top: 20px;
}


.licitacao-mobile select {
    width: 100%; /* Select ocupa toda a largura */
    background-color: #f9f9f9;
    padding: 12px 15px;
    font-size: 1rem;
    border: 1px solid #ddd;
    border-radius: 5px;
    cursor: pointer;
}

.licitacao-mobile select option {
    color: #333; 
    background-color: #fff; 
}

/** Sidebar Desktop **/
.licitacao-sidebar {
    width: 25%; /* Apenas no desktop */
    background-color: #f9f9f9;
    padding: 20px;
    border-radius: 10px;
}

.licitacao-sidebar ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.licitacao-sidebar ul li a {
    display: block;
    padding: 12px 15px; /* Ajustado para uniformizar tamanho */
    text-align: center; /* Centraliza o texto no botão */
    font-size: 1rem; /* Mesmo tamanho dos selects */
    color: #333;
    background: #fff;
    margin-bottom: 10px;
    border-radius: 5px;
    text-decoration: none;
    border: 1px solid #ddd;
}

.licitacao-sidebar ul li.active a,
.licitacao-sidebar ul li a:hover {
    background: #2E6B4F;
    color: #fff;
    border-color: #2E6B4F;
}

/** Conteúdo Principal **/
.licitacao-content {
    flex: 1;
}

/** Filtros **/
.licitacao-filtros {
    display: flex;
    align-items: center; 
    gap: 10px; 
    flex-wrap: nowrap; 
    margin-top: 20px;
    margin-bottom: 20px;
}

.licitacao-filtros select {
    flex: 1;
    background-color: #f9f9f9;
    padding: 12px 15px;
    font-size: 1rem;
    border: 1px solid #ddd;
    border-radius: 5px;
    min-width: 180px; /* Define uma largura mínima */
    cursor: pointer;
}

/** Cards de Licitações **/
.licitacao-card {
    display: flex; 
    justify-content: space-between;
    align-items: center; 
    background: #fff;
    border-left: 5px solid #2E6B4F;
    padding: 15px;
    margin-bottom: 15px;
    border-radius: 5px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.licitacao-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.licitacao-card .licitacao-content {
    flex: 1; 
    margin-right: 20px; 
}

.licitacao-card h3 {
    font-size: 1.2rem;
    color: #333;
     font-weight: bold;
    margin-bottom: 10px;
}

.licitacao-card p {
    font-size: 0.9rem;
    color: #555;
    margin: 5px 0;
}

/** Botão **/
.licitacao-card .licitacao-button {
    flex-shrink: 0; 
}

@media (max-width: 768px) {
    .licitacao-layout {
        flex-direction: column; /* Empilha os elementos no mobile */
    }

    .licitacao-sidebar {
        width: 100%; /* Sidebar ocupa 100% no mobile */
        margin-bottom: 20px;
    }

    .licitacao-filtros {
        flex-direction: column; /* Filtros em colunas no mobile */
        gap: 10px;
         margin-top: 0px;
    }

    .licitacao-filtros select {
        width: 100%; /* Filtros ocupam toda a largura no mobile */
        flex: none;
    }

    .licitacao-card {
        flex-direction: column; /* Empilha conteúdo e botão no mobile */
        align-items: flex-start;
    }

    .licitacao-card .licitacao-content {
        margin-right: 0; /* Remove o espaço lateral no mobile */
        margin-bottom: 10px; /* Espaço entre o texto e o botão */
    }

    .licitacao-card .licitacao-button {
        width: 100%; /* Botão ocupa toda a largura no mobile */
        text-align: center; /* Centraliza o botão */
    }

    .licitacao-card h3 {
        font-size: 1rem;
    }

    .licitacao-card p {
        font-size: 0.85rem;
    }
}

.licitacao-desktop {
    display: block;
}

.licitacao-mobile {
    display: none;
}

@media (max-width: 768px) {
    .licitacao-desktop {
        display: none;
    }

    .licitacao-mobile {
        display: block;
    }
}

@media (max-width: 768px) {
    /* Ajusta o espaçamento entre os selects no mobile */
    .licitacao-mobile select {
        margin-bottom: 15px; /* Adiciona um espaçamento uniforme */
    }

    /* Ajusta os filtros para alinhamento e espaçamento iguais */
    .licitacao-filtros {
        flex-direction: column; /* Filtros empilhados no mobile */
        gap: 15px; /* Espaçamento uniforme entre os filtros */
        margin-bottom: 20px; /* Espaçamento inferior */
    }

    .licitacao-filtros select {
        width: 100%; /* O select ocupa toda a largura */
        margin-bottom: 15px; /* Espaçamento uniforme entre selects */
    }

    /* Espaçamento uniforme entre os cards */
    .licitacao-card {
        margin-bottom: 20px; /* Espaçamento consistente entre os cards */
    }
}


/*==================================================*/
/*               Single Licitações                  */
/*==================================================*/ 

        .licitacao-details {
            display: flex;
            flex-direction: column;
        }
        .licitacao-detail {
           padding: 10px 10px 10px 0;
            border-bottom: 1px solid #ccc;
        }
        .licitacao-detail strong {
             display: inline;
            font-weight: bold;
        }
        .licitacao-detail span {
             display: inline;
             margin-left: 5px; /* Adiciona um pequeno espaçamento */
        }
        .licitacao-detail ul {
            margin-top: 5px;
            list-style-type: none;
            padding: 0;
        }
        .licitacao-detail ul li {
            margin-bottom: 5px;
            display: flex;
            align-items: center;
        }
  

/*==================================================*/
/*             Página Fale Conosco                  */
/*==================================================*/    

.titulo-fale-conosco  {
    text-align: left; 
    margin-bottom: 2.5rem; 
    padding-bottom: 1rem; 
 }

.titulo-fale-conosco {
  font-size: 2.25rem; 
    font-weight: 700; 
    color: #2E6B4F; 
    margin-top: 0.5rem; 
    margin-bottom: 0;
    line-height: 1.3; 
}


.wpcf7-form label {
    font-weight: bold; 
}

.wpcf7 input[type="text"], 
.wpcf7 input[type="email"], 
.wpcf7 textarea {
    width: 100% !important; 
    padding: 10px;
    margin-bottom: 15px;
    font-size: 16px; 
    border: 1px solid #ddd;
    border-radius: 5px; 
    box-sizing: border-box; 
}


.wpcf7 input[type="submit"] {
    background-color: #2E6B4F;
    color: white; 
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    font-size: 16px;
    cursor: pointer;
    margin-bottom: 20px;
}

.wpcf7 input[type="submit"]:hover {
    transform: scale(1.05); 
}

@media (max-width: 767px) {
    
 .titulo-fale-conosco {
      text-align: center;
    border-bottom: none; 
}
}

/*=============================================
=  Estilização archive-galeria-video.php    =
=============================================*/

/* Configuração geral da galeria */
.row.galeria-video {
    margin: 0;
    gap: 15px;
}

/* Configuração do player do YouTube */
.arq-youtube-player {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}

.arq-youtube-player img,
.arq-youtube-player iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Botão de play no player */
.arq-youtube-play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    width: 60px;
    height: 60px;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: transform 0.3s ease;
}

.arq-youtube-play-button:hover {
    transform: translate(-50%, -50%) scale(1.2);
}

.arq-youtube-play-icon {
    fill: #ff0000;
    width: 30px;
    height: 30px;
}

/* Estilo dos cards de vídeos */
.galeria-video-card {
    padding-left: 10px;
    padding-right: 10px;
    flex: 1 0 calc(33.333% - 20px); /* 3 cards por linha */
    box-sizing: border-box;
    background-color: white;
    border: 1px solid #ddd;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.galeria-video-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.galeria-video-details {
    padding: 15px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* Títulos dos vídeos */
.galeria-video-title {
    font-size: 1.125rem !important;
    font-weight: bold;
    margin-bottom: 10px;
    color: #333;
}

.galeria-video-title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease;
}

.galeria-video-title a:hover {
    color: #002f60;
}

/* Metadados dos vídeos (data e categoria) */
.galeria-video-meta {
    font-size: 0.9em;
    color: #666;
    display: flex;
    justify-content: space-between;
    margin-top: auto;
}

.galeria-video-date,
.galeria-video-category {
    font-weight: bold;
}

.galeria-video-category {
    text-align: right;
}

@media (max-width: 768px) {

    .galeria-video-card {
        flex: 1 0 100%; /* Um vídeo por linha em telas pequenas */
    }
}

/* ================================================== */
/*        Estilos para Arquivo Institucional          */
/* ================================================== */

/* --- Grelha de Cards --- */
.grid-cards-institucional {
    display: grid;
    /* Cria 2 colunas em telas médias e 3 em telas grandes */
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 2rem; /* Espaçamento entre os cards */
    margin-top: 2rem;
}

/* --- O Card Individual --- */
.institucional-card {
    background-color: #ffffff;
    border: 1px solid #e9ecef;
    border-radius: 0.5rem; /* Bordas arredondadas padrão */
    padding: 2rem; /* Espaçamento interno generoso */
    box-shadow: 0 4px 15px rgba(0,0,0,.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    
    /* Flexbox para alinhar o conteúdo e o botão */
    display: flex;
    flex-direction: column;
    height: 100%; /* Garante que todos os cards na mesma linha tenham a mesma altura */
}

.institucional-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(46, 107, 79, 0.1); /* Sombra com tom verde */
}

/* --- Título do Card (H2) --- */
.institucional-card h2 {
    margin: 0 0 0.75rem 0;
    font-size: 1.5rem;
    font-weight: 600;
}

.institucional-card h2 a {
    color: #343A40; /* Cor de texto escura padrão */
    text-decoration: none;
    transition: color 0.3s ease;
}

.institucional-card h2 a:hover {
    color: #2E6B4F; /* Nosso Verde Principal no hover */
}

/* --- Resumo do Card (Parágrafo) --- */
.institucional-card p {
    color: #6c757d; /* Cinza sutil para o texto secundário */
    line-height: 1.6;
    margin-bottom: 1.5rem;
    flex-grow: 1; /* Faz o parágrafo ocupar o espaço disponível, empurrando o botão para baixo */
}

/* --- Botão "Saiba Mais" --- */
/* A classe .btn-padrao já deve estar definida, mas podemos garantir o alinhamento */
.institucional-card .btn-padrao {
    align-self: flex-start; /* Alinha o botão à esquerda */
}

/* Responsividade para telas menores */
@media (max-width: 768px) {
    .grid-cards-institucional {
        /* Em telas pequenas, fica com 1 coluna */
        grid-template-columns: 1fr;
    }
}

/* ================================================== */
/*     CSS COMPLETO PARA SINGLE DE GALERIA DE FOTOS     */
/*        (Inclui Estilos da Página e do Lightbox)      */
/* ================================================== */

/* --- Estilos da Página da Galeria --- */
.galeria-single-header {
    padding: 2rem 0;
    border-bottom: 1px solid #e9ecef;
    margin-bottom: 2rem;
}

.galeria-single-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #2E6B4F;
    margin-bottom: 1rem;
    line-height: 1.2;
}

.galeria-meta {
    display: flex;
    justify-content: center;
    gap: 2rem;
    flex-wrap: wrap;
    font-size: 0.95rem;
    color: #6c757d;
}

.galeria-meta span {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.galeria-meta i {
    color: #2E6B4F;
}

.galeria-descricao {
    background-color: #f8f9fa;
    padding: 1.5rem;
    border-radius: 0.5rem;
    border-left: 4px solid #2E6B4F;
    font-size: 1.1rem;
    line-height: 1.6;
}

.galeria-descricao p:last-child {
    margin-bottom: 0;
}

.galeria-fotos-header {
    text-align: center;
    padding: 1.5rem 0;
}

.galeria-fotos-titulo {
    font-size: 1.75rem;
    font-weight: 600;
    color: #343A40;
    margin-bottom: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
}

.galeria-fotos-titulo i {
    color: #2E6B4F;
    font-size: 1.5rem;
}

.galeria-fotos-instrucao {
    font-size: 0.95rem;
    margin-bottom: 0;
}

.galeria-fotos-wrapper {
    margin: 2rem 0;
}

.galeria-fotos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
    padding: 0;
    margin: 0;
}

.galeria-foto-item {
    display: block;
    position: relative;
    overflow: hidden;
    border-radius: 0.75rem;
    box-shadow: 0 4px 15px rgba(46, 107, 79, 0.1);
    transition: all 0.3s ease;
    aspect-ratio: 1 / 1;
}

.galeria-foto-item:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 8px 25px rgba(46, 107, 79, 0.2);
}

.galeria-foto-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.galeria-foto-item:hover img {
    transform: scale(1.05);
}

.galeria-foto-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, rgba(46, 107, 79, 0.1), rgba(46, 107, 79, 0.3));
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 1;
}

.galeria-foto-item:hover::before {
    opacity: 1;
}

.galeria-foto-item::after {
    content: '\F52D';
    font-family: 'bootstrap-icons';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-size: 2rem;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 2;
}

.galeria-foto-item:hover::after {
    opacity: 1;
}

/* --- Navegação e Botões da Página --- */
.galeria-navegacao {
    border-top: 1px solid #e9ecef;
    padding-top: 2rem;
}

.btn-navegacao {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 1rem 1.5rem;
    border: 2px solid #dee2e6;
    border-radius: 0.5rem;
    text-decoration: none;
    color: #495057;
    transition: all 0.3s ease;
    width: 100%;
    max-width: 300px;
}

.btn-navegacao:hover {
    border-color: #2E6B4F;
    color: #2E6B4F;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(46, 107, 79, 0.1);
}

.btn-navegacao small {
    font-size: 0.8rem;
    color: #6c757d;
    margin-top: 0.25rem;
    font-weight: normal;
}

.btn-navegacao i {
    margin-right: 0.5rem;
}

.col-md-6:last-child .btn-navegacao {
    margin-left: auto;
    align-items: flex-end;
}

.col-md-6:last-child .btn-navegacao i {
    margin-right: 0;
    margin-left: 0.5rem;
}

.galeria-voltar {
    padding: 2rem 0;
    border-top: 1px solid #e9ecef;
    margin-top: 2rem;
}

.btn-primary-custom {
    background-color: #2E6B4F;
    border-color: #2E6B4F;
    color: white;
    padding: 0.75rem 2rem;
    font-weight: 600;
    border-radius: 0.5rem;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.btn-primary-custom:hover {
    background-color: #245a42;
    border-color: #245a42;
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(46, 107, 79, 0.3);
}


/* ================================================== */
/*     CSS PARA O LIGHTBOX PERSONALIZADO (COM SETAS CORRIGIDAS)     */
/* ================================================== */

.lightbox-container {
    display: none;
    position: fixed;
    z-index: 99999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.85);
    justify-content: center;
    align-items: center;
    padding: 20px;
    box-sizing: border-box;
}

.lightbox-conteudo {
    position: relative; /* ESSENCIAL: Torna-se o ponto de referência para as setas */
    max-width: 100%;
    max-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.lightbox-imagem {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 4px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
}

.lightbox-legenda {
    color: #ccc;
    margin-top: 15px;
    font-size: 1rem;
    text-align: center;
    padding: 0 20px;
}

.lightbox-fechar, .lightbox-anterior, .lightbox-proximo {
    cursor: pointer;
    position: absolute;
    color: white;
    background-color: rgba(0, 0, 0, 0.3);
    border-radius: 50%;
    transition: background-color 0.3s ease;
    user-select: none;
    display: flex;
    justify-content: center;
    align-items: center;
}

.lightbox-fechar:hover, .lightbox-anterior:hover, .lightbox-proximo:hover {
    background-color: rgba(0, 0, 0, 0.6);
}

.lightbox-fechar {
    top: -15px;
    right: -15px;
    width: 40px;
    height: 40px;
    font-size: 28px;
    line-height: 40px;
}

.lightbox-anterior, .lightbox-proximo {
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    font-size: 24px;
}

/* Posição das setas para fora da imagem */
.lightbox-anterior {
    left: -60px;
}

.lightbox-proximo {
    right: -60px;
}


/* ================================================== */
/*                  Responsividade                    */
/* ================================================== */

/* --- Tablets e dispositivos menores (até 768px) --- */
@media (max-width: 768px) {
    .galeria-single-title {
        font-size: 2rem;
    }
    
    .galeria-meta {
        flex-direction: column;
        gap: 1rem;
    }
    
    .galeria-fotos-grid {
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 1rem;
    }
    
    .galeria-fotos-titulo {
        font-size: 1.5rem;
        flex-direction: column;
        gap: 0.5rem;
    }
    
    .btn-navegacao {
        max-width: 100%;
        text-align: center;
        align-items: center;
    }
    
    .col-md-6:last-child .btn-navegacao {
        align-items: center;
        margin-left: 0;
    }

    /* Responsividade do Lightbox */
    .lightbox-anterior, .lightbox-proximo {
        background-color: rgba(0, 0, 0, 0.5);
    }
    .lightbox-anterior {
        left: 10px;
    }
    .lightbox-proximo {
        right: 10px;
    }
    .lightbox-fechar {
        top: 10px;
        right: 10px;
    }
}

/* --- Celulares (até 576px) --- */
@media (max-width: 576px) {
    .galeria-fotos-grid {
        grid-template-columns: 1fr;
    }
    
    .galeria-single-header {
        padding: 1rem 0;
    }
    
    .galeria-descricao {
        padding: 1rem;
        font-size: 1rem;
    }
}



/* ================================================== */
/*     Anexos e Sidbar lateral single-pages */
/* ================================================== */

.cpt-post-attachment-list ul {
    list-style: none; 
    padding: 0;
    margin: 0;
}

.cpt-post-attachment-list li {
    display: flex;
    align-items: center; /* Alinha o ícone e o texto verticalmente */
    margin-bottom: 10px; /* Espaçamento entre os itens */
    border-bottom: 1px solid #ddd; /* Linha separadora */
    padding-bottom: 5px;
}

.cpt-post-attachment-list .icon-pdf {
    font-size: 1.5rem; /* Tamanho do ícone */
    color: #e3342f; /* Vermelho para o ícone de PDF */
}


/* Sidebar Lateral */
.sidebar-cpt-post {
    margin-top: 20px;
    padding: 10px;
    background-color: #f0f0f0; /* Fundo claro */
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); 
    display: flex;
    flex-direction: column; 
    gap: 20px; /* Espaço entre as seções */
}

.sidebar-cpt-post ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column; 
    gap: 10px; 
}

.sidebar-cpt-post ul li {
    display: flex;
    align-items: center;
    gap: 10px; /* Espaço entre o ícone e o texto */
}

.sidebar-cpt-post ul li .icon-cpt-post {
    font-size: 1.2rem;
    width: 30px;
    height: 30px;
    color: #2E6B4F;
    display: flex;
    justify-content: center;
    align-items: center;
}

.sidebar-cpt-post ul li a {
    font-size: 1rem;
    font-weight: 500;
    color: #333;
    text-decoration: none;
}

.sidebar-cpt-post ul li a:hover {
    color: #2E6B4F;
    text-decoration: underline;
}

/* ================================================== */
/*     Página Órgãos  Colegiados      */
/* ================================================== */
.pagina-orgaos-subtitulo {
    font-size: 1.2rem;
    color: #6c757d;
    max-width: 700px;
    margin: 1rem auto 0;
}

.orgaos-colegiados-grid {
    display: flex; 
    justify-content: center; 
    flex-wrap: wrap; 
    gap: 2rem;
    margin-top: 3rem;
    margin-bottom: 3rem;
}

.orgao-entrada-card {
    display: flex;
    flex-direction: column;
    background-color: #ffffff;
    border: 1px solid #e9ecef;
    border-radius: 0.75rem;
    padding: 2rem;
    text-decoration: none;
    color: inherit;
    transition: all 0.3s ease;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    width: 320px; /* Adiciona uma largura fixa para consistência */
    text-align: left; /* Garante que o texto dentro do card fique alinhado à esquerda */
}

.orgao-entrada-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 8px 30px rgba(46, 107, 79, 0.15);
    border-color: rgba(46, 107, 79, 0.2);
}

.orgao-entrada-icone i {
    font-size: 2.5rem;
    color: #2E6B4F;
    margin-bottom: 1rem;
}

.orgao-entrada-texto h2 {
    font-size: 1.5rem;
    font-weight: 600;
    color: #343A40;
    margin-bottom: 0.5rem;
}

.orgao-entrada-texto p {
    font-size: 1rem;
    color: #6c757d;
    line-height: 1.6;
    flex-grow: 1; /* Faz a descrição ocupar o espaço, alinhando o botão "Ver Detalhes" em baixo */
}

.orgao-entrada-cta {
    margin-top: auto;
    padding-top: 1rem;
    color: #2E6B4F;
    font-weight: 600;
    display: flex;
    align-items: center;
    transition: all 0.3s ease;
}

.orgao-entrada-card:hover .orgao-entrada-cta {
    color: #245a42;
}

.orgao-entrada-cta i {
    margin-left: 0.5rem;
    transition: transform 0.3s ease;
}

.orgao-entrada-card:hover .orgao-entrada-cta i {
    transform: translateX(5px);
}

/* ================================================== */
/*     Página Institucional      */
/* ================================================== */

/* Estilo para o subtítulo da página Institucional */
.pagina-institucional-subtitulo {
    font-size: 1.2rem;
    color: #6c757d;
    max-width: 700px;
    margin: 1rem auto 0;
}

/* Grid que alinha os cards da seção Institucional */
.institucional-grid {
    display: flex; 
    justify-content: center; 
    flex-wrap: wrap; 
    gap: 2rem;
    margin-top: 3rem;
    margin-bottom: 3rem;
}

/* Estilo base para cada card da seção Institucional */
.institucional-entrada-card {
    display: flex;
    flex-direction: column;
    background-color: #ffffff;
    border: 1px solid #e9ecef;
    border-radius: 0.75rem;
    padding: 2rem;
    text-decoration: none;
    color: inherit;
    transition: all 0.3s ease;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    width: 320px; /* Largura fixa para consistência */
    text-align: left; /* Alinhamento do texto à esquerda */
}

/* Efeito de hover para o card */
.institucional-entrada-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 8px 30px rgba(46, 107, 79, 0.15);
    border-color: rgba(46, 107, 79, 0.2);
}

/* Estilo do ícone dentro do card */
.institucional-entrada-icone i {
    font-size: 2.5rem;
    color: #2E6B4F; /* Cor verde principal do site */
    margin-bottom: 1rem;
}

/* Estilo do título (H2) dentro do card */
.institucional-entrada-texto h2 {
    font-size: 1.5rem;
    font-weight: 600;
    color: #343A40;
    margin-bottom: 0.5rem;
}

/* Estilo do parágrafo de descrição dentro do card */
.institucional-entrada-texto p {
    font-size: 1rem;
    color: #6c757d;
    line-height: 1.6;
    flex-grow: 1; /* Garante que o botão "Ver Detalhes" fique alinhado na base */
}

/* Estilo para a chamada para ação (link "Ver Detalhes") */
.institucional-entrada-cta {
    margin-top: auto;
    padding-top: 1rem;
    color: #2E6B4F;
    font-weight: 600;
    display: flex;
    align-items: center;
    transition: all 0.3s ease;
}

/* Efeito de hover para o texto da chamada para ação */
.institucional-entrada-card:hover .institucional-entrada-cta {
    color: #245a42; /* Tom de verde um pouco mais escuro */
}

/* Estilo para o ícone de seta */
.institucional-entrada-cta i {
    margin-left: 0.5rem;
    transition: transform 0.3s ease;
}

/* Animação da seta no hover do card */
.institucional-entrada-card:hover .institucional-entrada-cta i {
    transform: translateX(5px);
}


/* ================================================== */
/*     Paginação das Páginas de Arquivos              */
/* ================================================== */

.arquivo-paginacao {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 2.5rem; /* 40px */
    margin-bottom: 2.5rem; /* 40px */
}

.arquivo-paginacao .page-numbers {
    display: inline-block;
    margin: 0 0.25rem; /* 4px */
    padding: 0.625rem 1rem; /* 10px 16px */
    border: 1px solid #dee2e6; /* Borda cinza claro padrão */
    color: #2E6B4F; /* Nosso Verde Principal para o texto */
    background-color: #ffffff; /* Fundo branco */
    text-decoration: none;
    border-radius: 0.375rem; /* Bordas arredondadas (6px) */
    font-weight: 500;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

/* Estilo para o número da página ATUAL */
.arquivo-paginacao .page-numbers.current {
    background-color: #2E6B4F; /* Fundo com nosso Verde Principal */
    color: #ffffff; /* Texto branco */
    border-color: #2E6B4F; /* Borda com nosso Verde Principal */
    z-index: 3;
    position: relative;
}

/* Efeito ao passar o mouse sobre os números */
.arquivo-paginacao .page-numbers:hover {
    background-color: #3A8E6A; /* Fundo com nosso Verde de Ação */
    border-color: #3A8E6A;
    color: #ffffff; /* Texto branco */
}

/* Garante que o item atual não tenha efeito de hover */
.arquivo-paginacao .page-numbers.current:hover {
    background-color: #2E6B4F;
    border-color: #2E6B4F;
    color: #ffffff;
}

/* --- Ajustes para Dispositivos Móveis --- */
@media (max-width: 767px) {
    .arquivo-paginacao .page-numbers {
        margin: 0 2px;
        padding: 0.5rem 0.75rem; /* 8px 12px */
        font-size: 0.875rem; /* 14px */
    }
}

/* ================================================== */
/*        Estilos para Página de Busca (search.php)   */
/* ================================================== */

/* --- Cabeçalho da Página de Busca --- */
.search-page-header {
    margin-bottom: 3rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #e9ecef;
}
.search-results-label {
    color: #6c757d;
    font-size: 1rem;
    margin-bottom: 0.25rem;
}
.search-results-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 2.5rem;
    color: #343A40;
}

/* --- Contador de Resultados --- */
.search-results-count {
    margin-bottom: 1.5rem;
    color: #6c757d;
    font-weight: 500;
}

/* --- Container e Itens de Resultado --- */
.search-results-container {
    margin-bottom: 3rem;
}

.search-result-item {
    padding: 1.5rem 0;
    border-bottom: 1px solid #e9ecef;
}
.search-result-item:first-child {
    padding-top: 0;
}
.search-result-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.search-result-title a {
    font-size: 1.3rem;
    color: #2E6B4F; /* Nosso Verde Principal */
    text-decoration: none;
    transition: color 0.3s ease;
}
.search-result-title a:hover {
    color: #3A8E6A; /* Nosso Verde de Ação */
}

/* Destaque do termo pesquisado */
.search-result-title mark,
.search-result-excerpt mark {
    background-color: #fff3cd; /* Amarelo claro, cor padrão de marca-texto */
    padding: 0.1em 0.2em;
    border-radius: 3px;
}

.search-result-meta {
    font-size: 0.875rem;
    color: #6c757d;
    margin: 0.5rem 0;
}
.search-result-meta .post-type-label {
    font-weight: 600;
    color: #495057;
}
.search-result-meta .separator {
    margin: 0 0.5rem;
}

.search-result-excerpt {
    color: #495057;
    line-height: 1.6;
}

/* --- Estilos para "Nenhum Resultado" --- */
.no-results-found {
    padding: 3rem 0;
}
.no-results-found .error-icon-wrapper {
    color: #6c757d; /* Cinza sutil para o ícone */
    margin-bottom: 1.5rem;
}
.no-results-found .no-results-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.75rem;
    color: #343A40;
    margin-bottom: 1rem;
}


/* ================================================== */
/*   Estilos para Página 404.php                       */
/* ================================================== */

.error-404-section {
    padding: 1rem 0;
    max-width: 800px;
    margin: 0 auto;
}

.error-icon-wrapper {
    color: #e6b800;
    margin-bottom: 2rem;
}

.error-404-section .page-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 2.5rem;
    color: #343A40;
    margin-bottom: 1rem;
}

.error-404-section .lead {
    font-size: 1.1rem;
    color: #6c757d;
    margin-bottom: 2.5rem;
}

/* --- Formulário de Busca (Estilo Clássico) --- */
.error-search-form-wrapper {
    max-width: 500px;
    margin: 0 auto;
}

.error-search-form-wrapper .search-form {
    display: flex; /* Alinha o campo e o botão na mesma linha */
    gap: 0.5rem; /* Adiciona um pequeno espaço entre o campo e o botão */
}

.error-search-form-wrapper .search-field {
    flex-grow: 1; /* Faz o campo de busca ocupar o espaço disponível */
    padding: 0.625rem 1rem; /* 10px 16px */
    border: 1px solid #ced4da;
    border-radius: 0.375rem; /* Bordas padrão */
    font-size: 1rem;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.error-search-form-wrapper .search-field:focus {
    outline: none;
    border-color: #3A8E6A;
    box-shadow: 0 0 0 4px rgba(46, 107, 79, 0.2);
}

