/* =========================================
   FONT FACES
   ========================================= */
@font-face {
    font-family: 'lato';
    /* Nota: Para usar negrito e itálico corretamente, você deve criar @font-face separados para cada font-weight */
    src: url('lato/Lato-Regular.ttf');
}

@font-face {
    font-family: 'icomoon';
    src: url('fonts/icomoon.eot?rtpg54');
    src: url('fonts/icomoon.eot?rtpg54#iefix') format('embedded-opentype'),
         url('fonts/icomoon.ttf?rtpg54') format('truetype'),
         url('fonts/icomoon.woff?rtpg54') format('woff'),
         url('fonts/icomoon.svg?rtpg54#icomoon') format('svg');
    font-weight: normal;
    font-style: normal;
}

/* =========================================
   RESPONSIVIDADE GLOBAL
   ========================================= */
* {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    max-width: 100%;
}

html {
    height: 100%;
    width: 100%;
    margin: 0;
    padding: 0;
}

body {
    width: 100%;
    margin: 0;
    padding: 0;
}

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

.container {
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

@media (min-width: 576px) {
    .container {
        width: 100%;
        max-width: 540px;
    }
}

@media (min-width: 768px) {
    .container {
        width: 100%;
        max-width: 720px;
    }
}

@media (min-width: 992px) {
    .container {
        width: 100%;
        max-width: 960px;
    }
}

@media (min-width: 1200px) {
    .container {
        width: 100%;
        max-width: 1170px;
    }
}

/* Site Content - Espaçamento para páginas */
.site-content, main, article.post, div.post {
    margin-bottom: 60px;
    padding-bottom: 40px;
}

page-template {
    margin-bottom: 80px;
}

/* Espaçamento específico para conteúdo de posts e páginas */
.entry-content, .page-content, .post-content {
    margin-bottom: 40px;
    padding-bottom: 30px;
}

@media (max-width: 768px) {
    .site-content, main, article.post, div.post {
        margin-bottom: 40px;
        padding-bottom: 30px;
    }
    
    .entry-content, .page-content, .post-content {
        margin-bottom: 30px;
        padding-bottom: 20px;
    }
}

@media (max-width: 480px) {
    .site-content, main, article.post, div.post {
        margin-bottom: 30px;
        padding-bottom: 20px;
    }
    
    .entry-content, .page-content, .post-content {
        margin-bottom: 20px;
        padding-bottom: 15px;
    }
}

/* Footer Sticky (Footer sempre no final) */
html {
    height: 100%;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    margin: 0;
    padding: 0;
}

main, section#services {
    flex: 1;
}

footer, .site-footer {
    margin-top: auto;
    flex-shrink: 0;
}

/* =========================================
   ICONS & GLOBAL TEXT
   ========================================= */
[class^="icon-"], [class*=" icon-"] {
    font-family: 'icomoon';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-facebook2:before { content: "\e900"; color: #134f9b; }
.icon-instagram:before { content: "\abb7"; color: #134f9b; }
.icon-twitter:before { content: "\e902"; color: #134f9b; }
.icon-youtube3:before { content: "\e903"; color: #134f9b; }

body {
    background-color: #FFF;
    background-image: url(img/bg_body.png);
    background-repeat: no-repeat;
    background-size: contain;
    -moz-background-size: contain;
    -webkit-background-size: contain;
    font-family: 'lato', sans-serif;
    font-size: 16px !important;
}

/* =========================================
   HEADER & NAVIGATION
   ========================================= */
.member-actions {
    position: absolute;
    right: 139px;
    top: 41px;
    -webkit-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
}

ul.member-actions li {
    display: inline;
    margin-right: 23px;
    font-size: 26px;
}

.logo {
    padding: 15px 0;
}

.container .navbar .navbar-inner {
    padding: 0;
}

/* =========================================
   NAVBAR RESPONSIVO
   ========================================= */
.container .navbar .nav {
    margin: 0;
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    justify-content: center;
}

.container .navbar .nav li {
    display: inline-block;
    float: none;
}

.container .navbar .nav li a {
    font-weight: bold;
    text-align: center;
    padding: 15px 15px;
    transition: all 0.3s ease;
}

.container .navbar .nav li:first-child a {
    border-left: 0;
    border-radius: 3px 0 0 3px;
}

.container .navbar .nav:last-child a {
    border-right: 0 !important;
    border-radius: 0 3px 3px 0;
}

.navbar-inverse .navbar-search .search-query {
    background-color: #ffffff;
    border-color: #404044;
}

.navbar-search {
    margin-top: 8px;
}

.dropdown-toggle {
    position: relative;
}

.dropdown {
    border-right: 2px solid #fff;
}

.menu_orange { border-bottom: 6px solid #e94e1b; }
.menu_blue   { border-bottom: 6px solid #0e71b8; }
.menu_yellow { border-bottom: 6px solid #f9b233; }

/* Responsividade Mobile - Navbar */
@media (max-width: 768px) {
    .container .navbar .nav {
        flex-direction: column;
        width: 100%;
    }

    .container .navbar .nav li {
        display: block;
        width: 100%;
        border-bottom: 1px solid #f0f0f0;
    }

    .container .navbar .nav li a {
        border: none;
        border-radius: 0;
        padding: 12px 15px;
        font-size: 13px;
        display: block;
    }

    .container .navbar .nav li:first-child a {
        border-left: 0;
        border-radius: 0;
    }

    .dropdown {
        border-right: none;
    }
}

/* =========================================
   LAYOUT & CONTAINERS
   ========================================= */
.container {
    margin: 0 auto;
    max-width: 1000px;
}

.container > hr {
    margin: 60px 0;
}

.jumbotron {
    margin: 80px 0;
    text-align: center;
}
.jumbotron h1 { font-size: 100px; line-height: 1; }
.jumbotron .lead { font-size: 24px; line-height: 1.25; }
.jumbotron .btn { font-size: 21px; padding: 14px 24px; }

.marketing {
    margin: 60px 0;
}
.marketing p + h4 {
    margin-top: 28px;
}

.margens .span8, .margens .span4 {
    margin-top: 25px !important;
}

.titles {
    margin-top: 0px !important;
    border-bottom: 6px solid #f9b233;
    font-size: 26px;
}

.title-news {
    position: relative;
    top: 0;
}

/* =========================================
   SLIDERS & PLUGINS
   ========================================= */
#banner-fade {
    height: 321px !important;
}

.fotorama__stage {
    max-width: 658px !important;
    max-height: 245px !important;
}
.fotorama__img {
    max-width: 658px !important;
    max-height: 245px !important;
}

.bjqs-caption a { color: #fff; }
.bjqs-caption a:hover { list-style: none !important; }

/* =========================================
   NEWS (NOTÍCIAS) & TABS
   ========================================= */
.noticias {
    border: 1px solid #e5e5e5;
    max-height: 327px;
    position: relative;
    float: left;
}
.noticias h2 { padding: 0 10px; }
.noticias-single { margin-bottom: 30px !important; }
.noticias a { color: #333; text-decoration: none; }
.noticias ul { height: 243px; overflow: auto; position: relative; }

.subtitulo {
    font-weight: 200;
}

.buttom-noticias {
    width: 100% !important;
    background-color: #0078ff;
    min-height: 28px;
    text-align: center;
    position: absolute;
    float: left;
    bottom: 0px !important;
}
.buttom-noticias a {
    color: #fff;
    width: 100%;
    text-decoration: none;
    display: inline-block;
    padding: 10px 0px;
}

.media-list { margin-top: 20px; padding: 0 10px; }
.media-list .img_noticias img { border-radius: 50%; }
.media-list .media-body { text-align: justify; }

/* Tabs Styling */
.tabs-left > .nav-tabs { background-color: #efefef; }
.tabs-left > .nav-tabs > li { border-radius: 0; background: url(img/bg_menu.png); }
.tabs-left > .nav-tabs > li > a { font-size: 15px; }
.tabs-left > .nav-tabs > li a span { padding: 13px 0; }

.nav-tabs > .active > a, 
.nav-tabs > .active > a:hover, 
.nav-tabs > .active > a:focus {
    color: #fff;
    cursor: default;
    background: url(img/bg_active.png);
    border: 1px solid #ddd;
    border-bottom-color: transparent;
    border-radius: 0 !important;
}
.nav-tabs > .active > li {
    background-color: red;
    border-radius: 0 !important;
}

.tabs-right > .nav-tabs > li > a {
    padding: 67px 0;
    background-color: #dfdfdf;
    border-radius: 0 !important;
}

.align-center {
    margin: auto !important;
    max-width: 752px;
    top: 1px;
    position: relative;
}

/* =========================================
   FOOTER & SOCIAL
   ========================================= */
.bg_footer {
    margin-top: 40px;
}

#fb-root { display: none; }
.fb_iframe_widget, .fb_iframe_widget span, .fb_iframe_widget span iframe[style] {
    width: 100% !important;
}

footer {
    background-color: #221f1f;
    text-align: center;
    padding: 18px 0 0 0;
}
footer .margin-footer { margin-bottom: 20px !important; }
footer p { font-size: 12px; color: #fff; font-weight: lighter; }
footer .text-footer { padding-top: 25px; }
footer ul { margin-left: 0px; }

ul.social-in-icons { text-align: center; }
ul.social-in-icons li { display: inline-block; }
.footer a { text-decoration: none; }

ul.social-in-icons li a span {
    background: url(img/img-sprite.png) -8px -141px;
    width: 39px;
    height: 39px;
    display: block;
}
ul.social-in-icons li.twitter a span { background-position: -51px -141px; }
ul.social-in-icons li.inline a span { background-position: -94px -141px; }
ul.social-in-icons li.youtube a span { background-position: -137px -141px; }

#social-buttons-wrapper { width: 100%; height: auto; position: relative; margin: 15px 0; z-index: 999; }
#social-buttons-wrapper .social { float: left; width: 100%; height: 30px; margin-right: 15px; }
#social-buttons-wrapper .social div { margin: 0 auto; }

/* =========================================
   MEDIA / VIDEO / IMAGES
   ========================================= */
figure {
    width: 90%;
    min-width: 14.5em;
    margin: 0 auto;
}
figcaption {
    font: 120% sans-serif;
    text-align: center;
}

.boxVideo, .boxVideo1 {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 25px;
    height: 0;
    margin: 0 auto;
}
.boxVideo iframe, .boxVideo1 iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.figure_interna { width: 100% !important; }

/* Images Hover & Zoom */
.hoverzoom {
    position: relative;
    overflow: hidden;
}
.hoverzoom > img {
    width: 100%;
    border-radius: 2px;
    transition: all .8s cubic-bezier(.190, 1.000, .220, 1.000);
    min-height: 167px;
}
.hoverzoom:hover > img {
    transform: scale(1.5);
}
.hoverzoom .retina {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 2px;
    text-align: center;
    transition: all .8s cubic-bezier(.190, 1.000, .220, 1.000);
}
.hoverzoom:hover .retina {
    opacity: 1;
    box-shadow: inset 0 0 100px 50px rgba(0,0,0,.5);
}
.hoverzoom .retina p {
    color: #fff;
    text-align: center;
    padding: 15px;
}
.hoverzoom .retina a {
    display: block;
    width: 50%;
    background: #0088cc;
    border: 1px solid #59afd4;
    border-radius: 4px;
    color: #fff;
    text-decoration: none;
    text-align: center;
    padding: 10px 15px;
    margin: 16px auto 0;
}

.ngg-gallery-thumbnail img { width: 200px; height: 143px; }
.ngg-gallery-thumbnail img:hover { background-color: #f9b233 !important; }

/* Global Image Fixes */
img, .wp-image, .wp-block-image, .aligncenter, .alignleft, .alignright {
    max-width: 100% !important;
    height: auto !important;
    display: block;
}
.img-responsiva {
    max-width: 100%;
    height: auto;
    display: block;
}

/* =========================================
   PAGINA INTERNA E PAGINAÇÃO
   ========================================= */
.date_and_social span { color: #8e8e8e; }
.title_and_subtitle h1 { font-size: 26px; }
.title_and_subtitle h2 { font-size: 20px; line-height: 30px; }
.body_news p { text-align: justify; line-height: 27px; }

.news ul li { list-style-type: none; }
.news h1 { font-size: 20px; line-height: 23px; }
.news a { text-decoration: none; color: #0e71b8; }
.news .row { margin-left: -20px; }

.news .row ul li {
    float: left;
    width: 31%;
    padding-right: 30px;
    min-height: 268px !important;
}
.news .row ul li:nth-child(3),
.news .row ul li:nth-child(6),
.news .row ul li:nth-child(9),
.news .row ul li:nth-child(12) {
    padding-right: 0px;
}
.news ul li p { text-align: justify; }
.news ul li span { color: #8e8e8e; }

.page-videos { width: 100%; height: auto; }
.page-videos h6 { min-height: 40px; }
.pagination-videos { width: 100%; display: inline-block; margin-top: 45px; }

.wp-pagenavi {
    clear: both;
    font-size: 18px !important;
    margin: 40px 0 40px 0;
    text-align: center;
}
.current {
    margin-right: 10px;
    color: #fff;
    border: 1px solid #DDD;
    padding: 5px 9px 5px 9px;
    background: #1E5B9D;
}
.wp-pagenavi a {
    margin-right: 10px;
    border: 1px solid #DDD;
    padding: 4px 8px 4px 8px;
}
.extend { margin-right: 10px !important; }

/* =========================================
   PAGES & MISC
   ========================================= */
#planos_municipais { display: none; }

.button_expand { padding: 0px 7px !important; }
.button_expand br { display: none; }
.button_expand span { top: 0px !important; }

.intens_plano {
    min-height: 20px;
    padding: 19px;
    margin-bottom: 20px;
    background-color: #f5f5f5;
    border: 1px solid #e3e3e3;
    border-radius: 4px;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.05);
}
.intens_plano a { color: #5C5F63; }

.secretaria { padding-top: 16px !important; }
.descricao img { float: left; padding: 10px; }
.siga { margin-top: 30px !important; }

/* =========================================
   MEDIA QUERIES
   ========================================= */
@media (max-width: 480px) {
    body {
        background-image: url(img/bg_body.png);
        background-repeat: no-repeat;
        background-size: 100% 2% !important;
        -moz-background-size: 100% 2% !important;
        -webkit-background-size: 100% 2% !important;
        font-size: 12px;
    }
    .logo {
        padding: 6px 0 !important;
        width: 40% !important;
        height: 40% !important;
    }
    .logo_footer {
        width: 40% !important;
        height: 40% !important;
    }
}

@media (min-width: 480px) and (max-width: 979px) {
    body {
        background-repeat: no-repeat;
        background-size: 100% 7%;
        -moz-background-size: 100% 7%;
        -webkit-background-size: 100% 7%;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }
}

@media (max-width: 768px) {
    body {
        background-image: url(img/bg_body.png);
        background-repeat: no-repeat;
        background-size: 100% 2.7%;
        -moz-background-size: 100% 2.7%;
        -webkit-background-size: 100% 2.7%;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }
    .logo { padding: 9px 0; }
    .container {
        padding-right: 20px !important;
        padding-left: 20px !important;
    }
    figure { width: 100%; margin-bottom: 10px; }
}

@media (min-width: 769px) and (max-width: 979px) {
    .noticias ul { height: 169px; }
    figure { width: 100%; min-width: 10.5em; margin: 0 auto; }
}

@media (max-width: 979px) {
    .dropdown {
        border: none;
        margin-bottom: 0px;
    }
    .menu_blue { border-bottom: 1px solid #0e71b8; }
    .menu_yellow { border-bottom: 1px solid #f9b233; }
    .menu_orange { border-bottom: 1px solid #e94e1b; }
    
    .navbar-inverse .nav-collapse .navbar-search {
        border-top-color: none !important;
        border-bottom-color: none;
    }
    .news ul li { width: 100% !important; }
}

.search-container {
    min-height: 60vh; /* Garante que o rodapé não suba em telas vazias */
}

.search-item h3 a {
    text-decoration: none;
    color: #333;
    font-weight: bold;
}

.search-item h3 a:hover {
    color: #0056b3; /* Cor de destaque */
}

.search-excerpt p {
    margin-bottom: 10px;
    line-height: 1.6;
}

/* Estilo para quando não há resultados */
.no-results {
    padding: 50px 0;
    background: #f9f9f9;
    border-radius: 8px;
}

/* =========================================
   RESPONSIVIDADE EXTRA - GARANTIR MOBILE
   ========================================= */
@media (max-width: 768px) {
    /* Remover overflow horizontal */
    html, body {
        width: 100%;
        overflow-x: hidden;
    }

    * {
        max-width: 100%;
    }

    .row {
        margin-left: -15px;
        margin-right: -15px;
    }

    [class*='col-'] {
        padding-left: 15px;
        padding-right: 15px;
        float: left;
        min-height: 1px;
    }

    .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6,
    .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12,
    .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6,
    .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12,
    .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6,
    .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
        float: left;
        width: 100%;
    }

    /* Tabelas responsivas */
    table {
        width: 100%;
        border-collapse: collapse;
    }

    /* Vídeos responsivos */
    .video-container {
        position: relative;
        padding-bottom: 56.25%;
        height: 0;
        overflow: hidden;
    }

    .video-container iframe,
    .video-container object,
    .video-container embed {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}

@media (max-width: 480px) {
    /* Ultra mobile - garantir sem overflow */
    html, body {
        width: 100vw;
        overflow-x: hidden;
    }

    .container {
        width: 100%;
        max-width: 100%;
        padding: 0 10px;
    }

    .row {
        margin: 0 -10px;
    }

    [class*='col-'] {
        padding: 0 10px;
    }

    /* Remover widths fixas */
    section, article, main {
        width: 100%;
        overflow-x: hidden;
    }

    /* Garantir que imagens se ajustem */
    img, .img-responsive, .thumbnail > img {
        width: 100% !important;
        height: auto !important;
        display: block;
    }

    /* Tipografia mobile */
    h1, .h1 { font-size: 22px; }
    h2, .h2 { font-size: 18px; }
    h3, .h3 { font-size: 16px; }
    h4, .h4 { font-size: 14px; }
    h5, .h5 { font-size: 13px; }
    h6, .h6 { font-size: 12px; }

    /* Padding e margin reduzidos */
    .container {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    p, li, a {
        word-break: break-word;
        overflow-wrap: break-word;
    }

    /* CORREÇÃO RESPONSIVIDADE EXTREMA */
    body, html {
        width: 100%;
        overflow-x: hidden;
    }

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

    table {
        width: 100%;
        overflow-x: auto;
        display: block;
    }
}

/* MEDIA QUERY EXTRA PARA DEVICES MUITO PEQUENOS */
@media (max-width: 480px) {
    body, html {
        width: 100%;
        margin: 0;
        padding: 0;
    }

    .container {
        width: 100% !important;
        padding: 0 10px !important;
        margin: 0 !important;
    }

    .row {
        margin-right: -5px;
        margin-left: -5px;
    }

    [class*="col-"] {
        padding-right: 5px;
        padding-left: 5px;
    }

    .navbar, .navbar-default {
        min-height: auto !important;
    }

    .navbar-nav > li > a {
        padding: 10px 12px !important;
        font-size: 12px !important;
    }
}

/* =========================================
   PAGES CONTENT & TITLES
   ========================================= */
.conteudo-page {
    font-size: 16px;
    line-height: 1.8;
    color: #444;
    font-family: 'Open Sans', sans-serif;
    background: #fff;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    margin-bottom: 40px;
}

.page-title {
    font-weight: 800;
    color: #333;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 1px solid #eee;
    text-transform: uppercase;
    font-size: 26px;
    border-left: 6px solid #f9b233;
    padding-left: 20px;
}

.conteudo-page img {
    max-width: 100%;
    height: auto;
    border-radius: 6px;
    margin: 20px 0;
}

.conteudo-page img:not(.alignleft):not(.alignright) {
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-height: 600px;
}

.conteudo-page .alignleft {
    float: left;
    margin-right: 25px;
    margin-bottom: 15px;
    max-width: 50%;
}

.conteudo-page .alignright {
    float: right;
    margin-left: 25px;
    margin-bottom: 15px;
    max-width: 50%;
}

@media(max-width: 768px) {
    .conteudo-page .alignleft,
    .conteudo-page .alignright {
        float: none;
        max-width: 100%;
        display: block;
        margin: 20px auto;
    }
    .conteudo-page { padding: 15px; }
}
