@import url("grid.css");

html, body {
    margin: 0;
    padding: 0;
}

body {
    background: #f5f7fa;
    color: #333;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    line-height: 1.6;
}

#wrapper {
    background: #f5f7fa;
    min-height: 100vh;
}

a:link,
a:visited,
#content a:link,
#content a:visited,
dl.portlet a:link,
dl.portlet a:visited {
    color: #005ca9;
    text-decoration: none;
}

a:hover,
#content a:hover,
dl.portlet a:hover {
    color: #003d73 !important;
    text-decoration: underline;
}

.visualClear,
.clear {
    clear: both;
}

#accessibility {
    background: #002f59;
    color: #fff;
    padding: 6px 2%;
    font-size: 13px;
}

#accessibility a {
    color: #fff !important;
    margin-right: 15px;
}

#portal-header {
    background: #005ca9;
    background: linear-gradient(135deg, #005ca9, #003d73);
    color: #fff;
    box-shadow: 0 4px 18px rgba(0,0,0,.18);
    position: relative;
    z-index: 10;
}

#portal-header a {
    color: #fff !important;
}

#portal-header a:hover {
    color: #f2c94c !important;
}

#top-bar {
    background: rgba(0,0,0,.18);
    padding: 8px 2%;
    font-size: 13px;
    min-height: 34px;
}

#top-bar:after,
#header-banner:after,
#main:after {
    content: "";
    display: table;
    clear: both;
}

#siteactions,
#portal-siteactions {
    list-style: none;
    margin: 0;
    padding: 0;
    float: left;
}

#siteactions li,
#portal-siteactions li {
    display: inline-block;
    margin-right: 16px;
}

#siteactions a,
#portal-siteactions a {
    font-weight: bold;
}

#user {
    float: right;
    position: relative;
}

#user ul,
#user dl,
#portal-personaltools {
    margin: 0;
    padding: 0;
    list-style: none;
}

#user .actionMenuContent {
    background: #fff;
    color: #333;
    position: absolute;
    right: 0;
    top: 100%;
    min-width: 210px;
    padding: 8px 0;
    border-radius: 8px;
    box-shadow: 0 6px 18px rgba(0,0,0,.18);
    z-index: 9999;
}

#user .actionMenuContent a {
    color: #003d73 !important;
    display: block;
    padding: 8px 14px;
}

#header-banner {
    padding: 24px 2%;
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

#portal-logo {
    display: block;
    flex: 0 0 auto;
}

#portal-logo img {
    max-height: 105px;
    max-width: 155px;
    display: block;
}

#portal-title {
    flex: 1 1 auto;
    min-width: 260px;
}

#portal-title h1 {
    color: #fff;
    font-size: 2rem;
    line-height: 1.2;
    margin: 0;
    font-weight: 700;
}

#portal-title p {
    color: rgba(255,255,255,.92);
    margin: 6px 0 0;
    font-size: 1rem;
}

#search,
#portal-searchbox {
    flex: 0 1 330px;
    min-width: 260px;
}

#search form,
#portal-searchbox form {
    margin: 0;
}

#search .LSBox,
#portal-searchbox .LSBox {
    display: flex;
    background: #fff;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 3px 10px rgba(0,0,0,.12);
}

#search label,
#portal-searchbox label.hiddenStructure {
    display: none;
}

#search input[type="text"],
#portal-searchbox input.searchField,
#portal-searchbox input[type="text"] {
    border: none;
    padding: 11px 14px;
    flex: 1;
    outline: none;
    color: #333;
    width: 100%;
    background: #fff;
}

#search input.searchButton,
#portal-searchbox .searchButton {
    border: none;
    padding: 11px 16px;
    background: #f2c94c;
    color: #003d73 !important;
    cursor: pointer;
    font-weight: bold;
}

.searchSection,
#portal-advanced-search {
    display: none !important;
}

#main-navigation,
#portal-globalnav {
    margin: 0;
    padding: 0;
    clear: both;
    background: #003d73;
    list-style: none;
    text-align: center;
}

#main-navigation ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

#main-navigation li,
#portal-globalnav li {
    display: inline-block;
    margin: 0;
    padding: 0;
}

#main-navigation li a,
#portal-globalnav li a {
    display: block;
    padding: 15px 14px;
    color: #fff !important;
    font-size: 14px;
    font-weight: bold;
    text-decoration: none;
    border: none;
}

#main-navigation li a:hover,
#main-navigation li.selected a,
#portal-globalnav li a:hover,
#portal-globalnav li.selected a {
    background: rgba(255,255,255,.15);
    color: #f2c94c !important;
    text-decoration: none;
}

#portal-breadcrumbs {
    width: 96%;
    max-width: 1400px;
    margin: 16px auto;
    font-size: 13px;
    color: #666;
    clear: both;
}

.section-front-page #portal-breadcrumbs {
    display: none;
}

#main {
    width: 96%;
    max-width: 1400px;
    margin: 24px auto;
    display: flex;
    gap: 24px;
    align-items: flex-start;
}

#main-content {
    flex: 1;
    min-width: 0;
    background: #fff;
    padding: 22px;
    border-radius: 14px;
    box-shadow: 0 3px 12px rgba(0,0,0,.07);
}

#column-one,
#column-two {
    width: 260px;
    flex: 0 0 260px;
}

#content {
    line-height: 1.6;
}

#content h1,
#content h2,
#content h3,
h1, h2, h3 {
    color: #003d73;
}

h1 {
    font-size: 2.1em;
    margin-top: 0;
}

#content .row,
.row {
    max-width: 100%;
}

.tile,
.tile-default,
.tile-edge {
    max-width: 100%;
}

.tile img,
.portlet img,
.image-inline {
    max-width: 100%;
    height: auto;
}

.portlet,
dl.portlet,
.portletStaticText,
.votePortlet {
    margin-bottom: 22px;
    padding: 15px;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 3px 12px rgba(0,0,0,.07);
    border: 1px solid #e0e7ef;
}

.portletHeader,
dl.portlet dt.portletHeader {
    border-bottom: 1px solid #d9e2ec;
    font-weight: bold;
    background: transparent;
    color: #003d73;
    padding-bottom: 10px;
    margin-bottom: 10px;
}

.portletHeader a,
dl.portlet dt.portletHeader a {
    color: #003d73 !important;
}

.portlet ul,
dl.portlet ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.portlet li,
dl.portlet li {
    border-bottom: 1px solid #e7edf3;
}

.portlet li:last-child,
dl.portlet li:last-child {
    border-bottom: none;
}

.portlet li a,
dl.portlet li a,
.portletNavigationTree a {
    display: block;
    padding: 9px 6px;
    border-radius: 6px;
}

.portlet li a:hover,
dl.portlet li a:hover,
.portletNavigationTree a:hover {
    background: #e8f2fb;
    text-decoration: none;
}

button,
.btn,
.context,
input[type="submit"] {
    border-radius: 8px;
    border: none;
    background: #005ca9;
    color: #fff;
    padding: 8px 14px;
    cursor: pointer;
}

button:hover,
.btn:hover,
.context:hover,
input[type="submit"]:hover {
    background: #003d73;
}

#edit-bar,
.contentViews,
.contentActions {
    max-width: 100%;
}

#portal-footer {
    margin-top: 40px;
    padding: 35px 2%;
    background: #003d73;
    color: #fff;
    clear: both;
}

#portal-footer a {
    color: #fff !important;
}

#portal-footer a:hover {
    color: #f2c94c !important;
}

#footer-content,
#footer-colophon {
    width: 96%;
    max-width: 1400px;
    margin: 0 auto;
}

#footer-colophon {
    margin-top: 20px;
    padding-top: 15px;
    border-top: 1px solid rgba(255,255,255,.2);
    text-align: center;
    font-size: 13px;
}

[vw-access-button] {
    right: 20px !important;
    bottom: 95px !important;
    z-index: 99999 !important;
}

@media (max-width: 900px) {
    #main {
        display: block;
    }

    #main-content,
    #column-one,
    #column-two {
        width: auto;
        margin-bottom: 22px;
    }
}

@media (max-width: 767px) {
    #top-bar,
    #header-banner {
        text-align: center;
    }

    #siteactions,
    #portal-siteactions,
    #user {
        float: none;
        display: block;
        margin-bottom: 8px;
    }

    #siteactions li,
    #portal-siteactions li {
        margin: 4px 7px;
    }

    #header-banner {
        display: block;
    }

    #portal-logo img {
        margin: 0 auto 10px;
        max-height: 85px;
    }

    #portal-title h1 {
        font-size: 1.35rem;
    }

    #search,
    #portal-searchbox {
        width: 100%;
        min-width: 100%;
        margin-top: 14px;
    }

    #main-navigation li,
    #portal-globalnav li {
        display: block;
        width: 100%;
    }

    #main-navigation li a,
    #portal-globalnav li a {
        border-top: 1px solid rgba(255,255,255,.12);
    }
}

@media (max-width: 480px) {
    body {
        font-size: 14px;
    }

    #portal-title h1 {
        font-size: 1.15rem;
    }
}


/* =========================================================
   AJUSTES FINAIS - NOVO HORIZONTE DO OESTE + VLIBRAS
   ========================================================= */

/* Remove título e descrição antigos injetados pelo Portal Modelo dentro do logo */
#titleHeader,
#siteTitle,
#siteDescription {
    display: none !important;
}

/* Garante que o cabeçalho novo seja o único título visual */
#portal-title {
    display: block !important;
}

/* Evita que o logo antigo empurre o cabeçalho */
#portal-logo {
    overflow: hidden !important;
}

#portal-logo img {
    display: block !important;
    max-height: 105px !important;
    max-width: 155px !important;
}

/* Corrige links do topo e evita quebra do menu */
#top-bar,
#header-banner,
#portal-header,
#main-navigation {
    box-sizing: border-box !important;
}

#siteactions,
#portal-siteactions {
    list-style: none !important;
}

/* Oculta checkbox 'apenas nesta seção' da busca */
.searchSection {
    display: none !important;
}

/* Mantém o conteúdo e os portlets dentro do layout original do tema */
#main,
#main-content,
#column-one,
#column-two {
    box-sizing: border-box !important;
}

/* Rodapé compatível com o Portal Modelo */
#portal-footer,
#footer-content,
#footer-colophon {
    box-sizing: border-box !important;
}

/* VLibras fixo e acima do tema */
[vw-access-button] {
    right: 20px !important;
    bottom: 95px !important;
    z-index: 999999 !important;
}

[vw-plugin-wrapper] {
    z-index: 999999 !important;
}

/* Evita estouro de imagens, vídeos e embeds */
img,
object,
embed,
iframe,
video {
    max-width: 100% !important;
}

img {
    height: auto;
}
