/*!
Theme Name: Iprev Mariana
Theme URI: http://underscores.me/
Author: Gmaes
Author URI: https://www.gmaestelecom.com.br/
Description: Instituto de Previdência de Mariana
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: ibprev
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.

Ibprev 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 */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* 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: #0d6efd;
}

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;
}

.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;
}


/* Ajustes Gerais */
html, body {
    overflow-x: hidden; /* Desabilita o scroll horizontal */
    margin: 0;
    padding: 0;
}

.container, .row {
    max-width: 100%;
    overflow: hidden;
    margin: 0 auto;
}

img {
    max-width: 100%;
    height: auto; /* Garante que imagens não causem overflow */
}

.site-footer {
    margin: 0 auto;
    padding: 0;
    overflow-x: hidden; /* Remove scroll horizontal no rodapé */
}


/*==================================================*/
/*    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;
    }
}

/*==================================================*/
/*        Customização Breadcrumb          */
/*==================================================*/
.iprev-breadcrumb {
    margin-top: 20px;
    padding: 10px;
    background-color: #f9f9f9;
    border-radius: 5px;
}

.iprev-breadcrumb-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: inline; /* Garante que os itens sejam exibidos em linha */
}

.iprev-breadcrumb-item {
    font-size: 14px;
    color: #333;
    display: inline; /* Cada item é exibido em linha */
}

.iprev-breadcrumb-link {
    color: #0d6efd;
    text-decoration: none;
}

.iprev-breadcrumb-link:hover {
    text-decoration: underline;
}

.iprev-breadcrumb-item:not(:last-child)::after {
    content: " > "; /* Adiciona o separador */
    color: #999;
}


/*==================================================*/
/*        Customização do Título Arquivo            */
/*==================================================*/

.pagina-header  {
    text-align: center;
    margin-bottom: 10px;
 }

.pagina-header h1 {
font-size: 32px;
  font-weight: 800;
  color: #1e293b;
  margin-bottom: 30px;
}
.pagina-header  span {
	  color: #0d6efd;
}

/*==================================================*/


/*==================================================*/
/*           Paginação das Páginas Arquivos         */
/*==================================================*/
 .arquivo-paginacao {
    display: flex;
    justify-content: center; 
    margin-top: 20px;
    margin-bottom: 40px; 
}

.arquivo-paginacao .page-numbers {
    display: inline-block;
    margin: 0 5px;
    padding: 8px 12px;
    border: 1px solid #ddd;
    color: #0d6efd;
    text-decoration: none;
    border-radius: 3px;
}

.arquivo-paginacao .page-numbers.current {
    background-color: #002f67;
    color: #fff;
    border-color: #002f67;
}

.arquivo-paginacao .page-numbers:hover {
    background-color: #004a9b;
    border-color: #004a9b;
    color: #fff;
}

@media (max-width: 767px) {
    .arquivo-paginacao .page-numbers {
        margin: 0 3px;
        padding: 6px 10px;
        font-size: 14px; 
    }

    .arquivo-paginacao .page-numbers.current {
        padding: 6px 10px;
    }
}

/*==================================================*/
/*                 Botão Padrão                     */
/*==================================================*/
   
    .btn-padrao {
        font-size: 14px;
        font-weight: bold;
        color: #fff;
        background-color: #2c7ae7;
        border: none;
        padding: 10px 16px;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        border-radius: 5px;
        text-transform: uppercase;
        text-decoration: none;
        transition: background-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
    }

    .btn-padrao:hover {
         color: #fff !important;
        transform: scale(1.05); /* Leve aumento ao passar o mouse */
        background-color: #1f5bb5;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    }
    
    
    
/*==================================================*/
/*                 Menu Topo                        */
/*==================================================*/

.container-menutopo {
    background-color: #002f67;
    padding: 5px 0;
}

.menutopo-menu-container {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.menutopo-navbar-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
    flex-wrap: nowrap;
}

.menutopo-navbar-nav .menutopo-nav-item {
    margin: 5px 25px; /* Aumenta o espaçamento entre os itens */
    display: flex;
    align-items: center;
}

.menutopo-navbar-nav .menutopo-nav-link {
    font-size: 14px;
    font-weight: bold;
    color: white;
    text-decoration: none;
    padding: 5px;
    white-space: nowrap;
}


/* Estilos específicos para mobile */
@media (max-width: 768px) {
    .d-none {
        display: none !important;
    }

    .d-lg-block {
        display: none !important;
    }

    .d-lg-none {
        display: block !important;
    }

    .menutopo-navbar-nav {
        justify-content: space-around;
    }

    .menutopo-navbar-nav .menutopo-nav-item {
        margin: 5px 5px; /* Ajusta o espaçamento no mobile */
    }

    .menutopo-navbar-nav .menutopo-nav-link i {
        font-size: 15px; 
        padding: 5px 8px; /* Ajusta o espaçamento ao redor do ícone */
    }
}

/*==================================================*/
/*               Página search.php                  */
/*==================================================*/

mark {
    background-color: #ffedb2; /* Amarelo claro */
    color: #000; /* Preto */
    padding: 0 2px; /* Suaviza o destaque */
    font-weight: bold; /* Evidencia o texto */
    border-radius: 3px; /* Adiciona bordas arredondadas */

}

.sem-resultados{
    color: red;
    font-weight: bold;
    text-align: center;
    font-size: 20px;
    margin: 20px 0;
}
.page-title-search {
     margin-top: 20px;
}
.card-title-search  {
    font-size: 20px!important;
    color: #333; 
    font-weight: bold;
}
.card-title-search a {
    color: inherit; /* Herda a cor do h2 */
    text-decoration: none;
}
.card-title-search a:hover {
    color: #016b2b; 
}
.card-footer-search {
 margin-top: auto; /* Empurra o botão para o final do card */
    text-align: right;
    padding: 10px;
    background-color: #f8f9fa;
    border-top: none; /* Remove a linha superior */
}

.post-date-search {
    font-size: 0.9rem;
    color: #888;
    margin-bottom: 10px;
}
.card-search {
     display: flex;
    flex-direction: column; /* Empilha os elementos verticalmente */
    justify-content: space-between; /* Garante que os elementos sejam distribuídos */
    height: 100%; /* Altura uniforme para todos os cards */
    border: 1px solid #ddd;
    border-radius: 8px;
    transition: all 0.3s ease;
}
.card-search{
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); 
}
.search-again {
    display: flex;
    justify-content: center;
    margin-top: 20px;
      margin-bottom: 40px;
}

.search-form .form-control {
    width: 500px;
    max-width: 100%;
}

.search-form button {
    padding: 6px 12px;
}


@media (max-width: 767px) {
    .search-again {
        flex-direction: column; /* Empilha o input e o botão verticalmente */
        align-items: center; /* Centraliza os elementos */
    }

    .search-form .form-control {
        width: 100%; 
        margin-bottom: 10px; 
    }

    .search-form button {
        width: auto; 
        padding: 8px 16px; 
    }
}


/*==================================================*/
/*                 Rodapé / Footer                  */
/*==================================================*/



.site-footer h2 {
    color: #fff;
    font-weight: bold;
    font-size: 24px !important;
    margin-bottom: 20px;
}

.site-footer p {
    margin: 5px 0; /* Define o espaçamento superior e inferior */
    line-height: 1.5; /* Ajusta a altura da linha para melhorar a legibilidade */
}

.site-footer a {
       margin-bottom: 50px;
    color: #fff;
    text-decoration: none;
}

.site-footer a:hover {
    text-decoration: underline;
}

    
/*=============================================
=  Rodape - footer.php                       =
=============================================*/

.site-footer {
    background-color: #002f67;
    padding: 2rem 0;
}

.footer-section {
    margin-bottom: 1.5rem;
}

.footer-section h2 {
    font-size: 1.25rem;
    margin-bottom: 1rem;
    color: #ffffff;
}

.footer-section p {
    margin: 0;
    line-height: 1.6;
    margin-bottom: 0.75rem; /* Espaçamento entre os parágrafos */
}

.footer-section i {
    margin-right: 0.5rem;
}

.footer-list-unstyled {
    padding-left: 0;
}

.footer-credits a {
    text-decoration: none !important;
}

.footer-credits a:hover {
    text-decoration: underline;
}

.footer-social-links {
    display: flex;
    justify-content: center;
    gap: 1rem;
}

.footer-social-icon {
    font-size: 1.5rem;
    color: #ffffff;
    transition: color 0.3s ease;
}

.footer-social-icon:hover {
    color: #ffc107; /* Amarelo para hover */
}

.footer-bottom {
    font-size: 1rem;
    margin-top: 2rem;
    padding-top: 1rem;
    font-weight: bold;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.footer-bottom p {
    margin: 0;
}

/* Responsividade */
@media (max-width: 768px) {
    .footer-section {
        text-align: center;
    }

    .footer-social-links {
        flex-wrap: wrap; /* Permite que os ícones quebrem para uma nova linha se necessário */
        justify-content: center; /* Centraliza os ícones na tela */
        gap: 1rem; /* Mantém o espaçamento entre os ícones */
    }

    .footer-social-icon {
        font-size: 1.2rem; 
    }
}



/* Responsividade */
@media (max-width: 767px) {
    .site-footer .row {
        text-align: center; /* Centraliza o conteúdo no mobile */
    }
    .site-footer .col {
        margin-bottom: 20px; /* Adiciona espaçamento entre colunas no mobile */
    }
}

/*==================================================*/
/*                 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 */
}


@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 */
    }
}


/*==================================================*/
/*                 Archives                  */
/*==================================================*/

/* Contêiner de Filtros */
.filtros-arquivo {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap; /* Responsividade */
    gap: 15px;
    margin-bottom: 30px;
    padding: 15px;
    background-color: #f9f9f9;
    border-radius: 8px;
}

/* Estilo para os rótulos */
.filtros-arquivo label {
    font-weight: bold;
    white-space: nowrap;
}

/* Campos de texto e seleção */
.filtros-arquivo input,
.filtros-arquivo select {
    padding: 8px 10px;
    border: 1px solid #ddd;
    border-radius: 5px;
    background-color: #f8f9fa;
    font-size: 1rem;
    color: #333;
    min-width: 160px;
}


/* Botão "Filtrar" */
.filtros-arquivo .filtro-botao {
    background-color: #2c7ae7;
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    font-size: 0.9rem;
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: background-color 0.3s ease;
}

.filtros-arquivo .filtro-botao:hover {
    background-color: #1f5bb5;
}


.arquivo-item-card {
   background-color: white;
    margin: 10px 0;
    padding: 20px;
    border-radius: 5px;
    border: 1px solid #e1e1e1; /* Borda ao redor de todo o item */
    border-left: 5px solid #0d6efd;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-sizing: border-box;
}
.arquivo-item-card:hover {
   transform: translateY(-5px);
   box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}
.arquivo-item-card h2 {
 font-size: 1.2rem;
    font-weight: bold;
    margin-bottom: 10px;
    margin: 0;
}
.arquivo-item-card p {
     font-size: 1rem;
    color: #555;
    margin: 5px 0;
    margin-right: 10px;
    line-height: 1.5;
    max-height: 4.5em;
    overflow: hidden; 
    text-overflow: ellipsis; 
    display: -webkit-box;
    -webkit-line-clamp: 3; 
    -webkit-box-orient: vertical;
}
.btn-sem-arquivo {
    font-size: 0.875rem;
    color: #999; /* Cinza claro */
    font-style: italic;
    text-align: center;
    padding: 0.5rem;
    border: 1px dashed #ccc;
    display: inline-block;
}

/* Estilização do Formulário de Filtro */
#arquivo-form {
    margin-bottom: 20px;
    display: flex;
    gap: 10px;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap; /* Permite que os elementos quebrem para a linha de baixo */
}

.btn-baixar-pdf {
    background-color: #0d6efd;
    color: #fff;
    padding: 10px 20px;
    border-radius: 5px;
    text-decoration: none;
    font-size: 14px;
    transition: background-color 0.2s, transform 0.2s;
    white-space: nowrap;
}

.btn-baixar-pdf:hover {
    background-color: #0b5ed7;
    color: #fff;
}


@media (max-width: 768px) {
    .arquivo-item-card {
        flex-direction: column;
        align-items: flex-start;
        padding: 15px;
        margin: 0;
        width: 100%;
        box-sizing: border-box;
    }
    
    #arquivo-form {
        flex-direction: column; /* Empilha os elementos na vertical */
        align-items: stretch; /* Faz os selects ocuparem 100% da largura */
    }

    #arquivo-form label {
        text-align: center; 
    }

    #arquivo-form 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;
    }
    
    .ctc-saiba-mais{
         width: 100%;
        text-align: center;
        margin-top:10px
    }
    
     .btn-baixar-pdf {
         margin-top: 15px;
        width: auto;
        text-align: center;
        margin: 0 auto;
    }
    
}


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

.titulo-fale-conosco{
font-size: 32px;
  font-weight: 800;
  color: #1e293b;
  margin-bottom: 30px;
}


.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: #0d6efd;
    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); 
    background-color: #0b5ed7;
}

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

/*==================================================*/
/*             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: #0d6efd;
    color: #fff;
    border-color: #0d6efd;
}

/** 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 #0d6efd;
    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;
        }
  
  
  /*==================================================*/
/*               Archive Noticias                 */
/*==================================================*/ 
        
/** Estilização dos Cards **/
.noticias-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    min-height: 450px;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 6px 10px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    background-color: #fff;
}

.noticias-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 20px rgba(0, 0, 0, 0.15);
}

/** Imagem do card **/
.noticias-arquivo-thumbnail {
    height: 250px;
    overflow: hidden;
    border-radius: 10px 10px 0 0;
    border-bottom: 1px solid #ddd;
}

.noticias-arquivo-thumbnail img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center;
}

/** Corpo do card **/
.noticias-card .arquivo-card-body {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 15px;
    flex-grow: 1;
}

/** Título com altura fixa **/
.noticias-card .arquivo-entry-title {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 10px;
    color: #333;
    line-height: 1.4;
    height: 72px; /* Limita o título a no máximo 2 linhas */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal; /* Permite quebras de linha */
}

/** Data **/
.noticias-card .arquivo-entry-meta {
    font-size: 14px;
    color: #999;
    margin-bottom: 10px;
    text-align: left;
}

/** Resumo (excerpt) **/
.noticias-card .arquivo-entry-content {
    font-size: 16px;
    line-height: 1.5;
    color: #555;
    height: 72px; /* Limita o resumo a no máximo 3 linhas */
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 10px;
}

/** Botão alinhado ao final **/
.noticias-card .btn-container-mais-noticias-arquivo {
    text-align: center;
    margin-top: auto;
    padding-top: 20px;
}

.noticias-card .btn-leia-mais-noticias-arquivo {
    background-color: transparent;
    color: #0d6efd;
    padding: 10px 20px;
    text-decoration: none;
    border: 1px solid #0d6efd;
    border-radius: 5px;
    transition: background-color 0.3s, color 0.3s;
    display: inline-block;
}

.noticias-card .btn-leia-mais-noticias-arquivo:hover {
     background-color: #0b5ed7;
    color: #ffffff;
}


  /*==================================================*/
/*             page-servicos.php                */
/*==================================================*/ 

/* Cards de serviços */
.srv-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}

/* Estilo individual dos cards */
.srv-card {
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
    display: flex;
    flex-direction: column; /* Organiza os elementos verticalmente */
    align-items: center; /* Centraliza horizontalmente */
    justify-content: space-between; /* Distribui os elementos verticalmente */
    height: 100%; /* Garante que todos os cards tenham a mesma altura */
}

.srv-card:hover {
    transform: scale(1.02);
}

/* Cabeçalho do card (ícone) */
.srv-card-header {
    text-align: center;
    margin-bottom: 10px;
}

.srv-card-icone {
    font-size: 60px; /* Tamanho grande para os ícones */
    color: #0d6efd; /* Cor azul principal */
}

/* Corpo do card (título e descrição) */
.srv-card-body {
    text-align: center;
    margin-bottom: 10px;
}

.srv-card-titulo {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 5px;
    color: #333;
}

.srv-card-descricao {
    font-size: 16px;
    color: #666;
    margin-bottom: 20px;
}

/* Rodapé do card (botão) */
.srv-card-footer {
    text-align: center;
}

.srv-card-botao {
    display: inline-block;
    padding: 10px 20px;
    background-color: #0d6efd;
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
    transition: background-color 0.3s ease;
}

.srv-card-botao:hover {
    background-color: #0b5ed7;
}


/*==================================================*/
/*             Página page-faq.php                  */
/*==================================================*/

.faq-container {
    margin-top: 40px;
}

/* Layout do container principal */
.faq-custom-row {
    display: flex;
    gap: 20px; /* Espaçamento entre o menu e o conteúdo */
}

/* Coluna do menu de categorias */
.custom-col-categories {
   
    width: 350px; /* Largura mínima para telas pequenas */
}

/* Coluna do conteúdo das FAQs */
.custom-col-faqs {
    flex: 1; /* Ocupa o restante da largura */
}

/* Estilizando o container do menu */
.faq-categories {
    background-color: #f8f9fa;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

/* Estilizando os itens do menu */
.categoria-list-group-item {
    list-style: none;
    padding: 15px;
    cursor: pointer;
    border-bottom: 1px solid #e0e0e0;
    transition: background-color 0.3s ease;
    text-align: left; /* Alinha o texto à esquerda */
}

/* Removendo a última divisória */
.categoria-list-group-item:last-child {
    border-bottom: none; /* Remove a linha inferior do último item */
}

/* Estilizando o item ativo */
.categoria-list-group-item.active {
    background-color: #0d6efd; /* Azul ativo */
    color: white; /* Texto branco para contraste */
    font-weight: bold; /* Destacando o texto do item ativo */
}

/* Efeito ao passar o mouse */
.categoria-list-group-item:hover {
    background-color: #e9ecef; /* Cor de fundo ao passar o mouse */
}

/* Links dentro dos itens do menu */
.categoria-list-group-item a {
    text-decoration: none;
    color: inherit; /* Herda a cor do pai */
    display: block; /* Garante que todo o espaço do item seja clicável */
}

/* Área das perguntas frequentes */
.accordion {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
}

.accordion-item {
    border-bottom: 1px solid #e0e0e0;
}

.accordion-button {
    font-size: 1rem;
    font-weight: bold;
    color: #333;
    background-color: #fff;
    border: none;
    padding: 15px;
    text-align: left;
    transition: background-color 0.3s ease;
}

.accordion-button:not(.collapsed) {
    background-color: #0d6efd;
    color: white;
}

.accordion-body {
    padding: 20px;
    background-color: #f8f9fa;
    font-size: 1rem;
    color: #555;
}

/* Responsividade para telas menores */
@media (max-width: 768px) {
    .faq-custom-row {
        flex-direction: column; /* Altera o layout para colunas empilhadas */
    }

    .custom-col-categories,
    .custom-col-faqs {
        flex: 1 1 100%; /* Ocupa 100% da largura em telas menores */
    }

    .faq-categories {
        width: 100%; /* Ajusta o menu para ocupar toda a largura */
        margin-bottom: 20px; /* Adiciona espaçamento abaixo do menu */
    }

    .categoria-list-group-item {
        padding: 12px;
        font-size: 0.9rem;
    }

    .accordion-button {
        font-size: 0.9rem;
        padding: 12px;
    }

    .accordion-body {
        padding: 15px;
        font-size: 0.9rem;
    }
}


/*==================================================*/
/*             Archive institucional                */
/*==================================================*/
.institucional-container {
    max-width: 1100px;
    margin: 0 auto;
    text-align: center;
    padding: 20px 0;
}

.grid-cards-institucional {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 colunas fixas */
    gap: 20px;
    justify-items: center;
}

.grid-cards-institucional {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 colunas fixas */
    gap: 20px;
    justify-items: center;
}

.institucional-card {
    background: #fff;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease-in-out;
    width: 100%;
    max-width: 320px;
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Garante que os botões fiquem alinhados */
    min-height: 250px; /* Define uma altura mínima */
}

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

.institucional-card h2 {
    font-size: 18px;
    font-weight: bold;
}

.institucional-card p {
    font-size: 1rem;
    color: #444;
    flex-grow: 1; /* Faz o texto expandir e empurrar o botão para baixo */
}


/* Responsividade */
@media (max-width: 1024px) {
    .grid-cards-institucional {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .grid-cards-institucional {
        grid-template-columns: repeat(1, 1fr);
    }
}

/*=============================================
=  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 */
    }
}

/*=============================================
=  Estilização page-legislacao.php    =
=============================================*/

    /* Garantir que todos os cards tenham o mesmo tamanho */
    .legislacao-card {
        width: 100%;
        min-height: 150px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        background: white;
        transition: 0.3s;
        border-radius: 12px;
    }

    /* Efeito de hover */
    .legislacao-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
        background-color: #0d6efd;
        color: white;
    }

    /* Ícone dentro do card */
    .icon-legislacao-container {
        width: 60px;
        height: 60px;
        background: #0d6efd;
        color: white;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
    }

    /* Ícone no hover (inverter cores) */
    .legislacao-card:hover .icon-legislacao-container {
        background: white;
        color: #0d6efd;
    }

    /* Mantém o título preto por padrão */
    .legislacao-card p {
        font-size: 16px;
        color: #000;
        transition: color 0.3s ease-in-out;
    }

    /* Quando o card estiver em hover, o texto fica branco */
    .legislacao-card:hover p {
        color: white !important;
    }

    