@import url("grid.css");
@import url("../../../contraste.css");

/********** Estilos Básicos **********/
body {
    background: #cfd0d3;
    color: #333333;
    font-family: 'Open Sans', "Helvetica Neue", Arial, FreeSans, sans-serif;
}

a:link, a:visited {
    color: #0c33c9;
    transition: color 0.2s ease;
    text-decoration: none;
}

a:hover {
    color: #1d2d6b;
}

.clear { clear: both; }

/********** Container Principal **********/
#wrapper {
    padding: 0;
    max-width: 1200px;
    margin: 0 auto;
    background-color: #ffffff;
    box-shadow: 0 0 35px rgba(0, 0, 0, 0.45);
}

#main {
    margin: 0 auto;
    max-width: 96%;
    padding-bottom: 20px;
}

/********** Cabeçalho **********/
header {
    background-color: #ffffff;
    color: #000000;
    margin: 0px auto;
    max-width: 96%;
}

#portal-logo {
    display: block;
    float: left;
    margin: 1.5em 1.5em 1.5em 0;
}

/* Busca */
#portal-searchbox {
    float: right;
    margin: 1.5em 0;
    position: relative;
}

#portal-searchbox input.searchField {
    min-width: 20em;
    height: 30px;
    text-indent: 1em;
    border: 1px solid #ccc;
}

.searchButton {
    background: #1d2d6b;
    color: #ffffff;
    border: none;
    height: 30px;
    padding: 0 10px;
    cursor: pointer;
}

/********** Navegação Principal **********/
nav {
    margin: 0;
    clear: both;
    background: #1d2d6b;
    color: #ffffff;
    display: block;
    width: 100%;
}

nav ul {
    padding: 0;
    margin: 0;
    list-style: none;
    display: flex;
}

nav li a {
    font-size: 80%;
    color: #ffffff !important;
    text-decoration: none;
    display: block;
    padding: 1.2em 1.5em;
    font-weight: bold;
    text-transform: uppercase;
}

nav li a:hover {
    background: #131d45;
}

/********** ÁREA DOS VEREADORES (CORRIGIDA) **********/
.area-vereadores {
    width: 100%;
    max-width: 1152px;
    padding: 20px 0;
    margin: 10px auto;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fcfcfc; /* Um fundo leve para destacar */
    border-bottom: 1px solid #eee;
    overflow: hidden;
}

table.invisible {
    border-collapse: separate !important;
    border-spacing: 12px 0 !important;
    width: auto;
    margin: 0 auto;
    border: 0 !important;
}

th.celula-vereador {
    text-align: center;
    padding: 0 !important;
    border: 0 !important;
    font-weight: normal;
    vertical-align: top;
}

.img-vereador {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    width: 85px;
    height: 105px;
    object-fit: cover;
    border-radius: 6px;
    box-shadow: 0 3px 8px rgba(0,0,0,0.15);
    image-rendering: -webkit-optimize-contrast;
}

.img-vereador:hover {
    transform: scale(1.1);
    box-shadow: 0 8px 20px rgba(0,0,0,0.3);
    position: relative;
    z-index: 10;
}

.legenda {
    margin-top: 8px;
    font-size: 11px;
    line-height: 1.2;
    color: #333;
    width: 90px;
}

.legenda strong {
    display: block;
    color: #1d2d6b;
    font-size: 12px;
}

/********** Breadcrumbs **********/
#portal-breadcrumbs {
    margin: 1em 2%;
    font-size: 65%;
    background: #f9f9f9;
    padding: 0.6em 1.2em;
    border: 1px solid #E9E9E9;
    border-radius: 6px;
    text-transform: uppercase;
    display: inline-block;
}

/********** Portlets e Conteúdo **********/
h1, h2, h3 { color: #1d2d6b; font-family: 'Open Sans', sans-serif; }

.portletHeader {
    background-color: #1d2d6b;
    color: #fff;
    padding: 10px;
    font-weight: bold;
    text-transform: uppercase;
}

/********** Rodapé **********/
footer {
    border-top: #ccc 2px solid;
    margin-top: 2em;
    padding: 2%;
    background: #f9f9f9;
    font-size: 80%;
}

/********** Responsividade (Celular) **********/
@media (max-width: 767px) {
    #portal-logo img { max-width: 200px; }
    
    nav ul {
        overflow-x: auto;
        white-space: nowrap;
    }

    .area-vereadores {
        justify-content: flex-start;
        overflow-x: auto;
        padding: 15px 10px;
    }

    table.invisible {
        margin: 0;
    }
}