@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&family=Lato:wght@400;700&display=swap');

/* Global theme tokens for site components */
:root {
    /* Brand palette */
    --brand-blue-500: #0757e9; /* stripes/accents */
    --brand-blue-600: #0751d9; /* stripes/accents (darker) */
    --brand-blue-700: #065EFF; /* tag/hover blue */
    --brand-orange: #ffb400; /* accent/orange */

    /* Contextual */
    --overlay-blue: rgba(29, 77, 139, 0.93); /* galeria overlay */
    --navy-900: #0b2240; /* deep bg for media */
    --focus-ring: #0a84ff; /* focus outline */
    --text-dark: #333955;
    --muted-300: #cbd5e1;
    --color-white: #ffffff;

    --pmw-color-darkgray: #464646;
    --pmw-color-blue: #065EFF;
    --pmw-color-gray: #6C6C6C;
    --pmw-color-stronggray: #323232;
    --pmw-bg-light: #F0F0F0;

    /* 8px spacing scale */
    --space-0: 0px;
    --space-1: 8px;
    --space-2: 16px;
    --space-3: 24px;
    --space-4: 32px;
    --space-5: 40px;
    --space-6: 48px;
    --space-7: 56px;
    --space-8: 64px;
    --space-9: 72px;
    --space-10: 80px;
    /* noticia subtitle color */
    --news-subtitle-color: #656565;
}

/* Utility classes for brand colors */
.text-pmw-blue {
    color: var(--pmw-color-blue) !important;
}

.bg-pmw-blue {
    background-color: var(--pmw-color-blue) !important;
}

.border-pmw-blue {
    border-color: var(--pmw-color-blue) !important;
}

/* Page title - shared across orgaos and servicos */
.titulo-principal3-orgaos {
    opacity: 1;
    font-family: 'Inter', 'Rawline', 'sans-serif';
    font-weight: 700;
    font-size: 45px;
    line-height: 60px;
    letter-spacing: -4%;
    color: #1B2F53;
}

@media (max-width: 991px) {
    .titulo-principal3-orgaos {
        padding-top: 30px;
        text-align: center;
    }
}

body, html {
    font-family: 'Inter', 'Rawline', sans-serif;
}

/*
Regra Css para colocar a cor de background azul, podendo ser utilizada
em qualquer parte do código
*/
.background-azul {
    background-color: #EEF5FB;
    margin: 0 !important;
}

/* existing decorative stripes */
.listras-coloridas {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 30px; /* 3 faixas de 10px */
    height: 100%;
    background-image: linear-gradient(
            to left,
            var(--brand-orange, #ffb400) 0 10px, /* amarelo */ var(--brand-blue-600, #0751d9) 10px 20px, /* azul escuro */ var(--brand-blue-500, #0757e9) 20px 30px /* azul */
    );
}

/*
Regras CSS para o componente Título de cada página
*/
#titulo_barra_azul_pagina.titulo-pagina-barra-azul {
    min-height: 100px;
    background-color: #EEF5FB;
}

/* 
Regra CSS para o componente de pesquisa 
*/
div.input_pesquisa_pagina {
    margin: 0;
    min-height: 65px;
}

span.pipe {
    width: 3px;
    height: 1.25rem;
    top: 357px;
    left: 694px;
    opacity: 1;
    color: var(--servicos-pipe);
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 2px;
    padding: 0;
}

span.titulo_area_barra_lateral_esquerda_azul {
    border-left: 4px solid var(--servicos-pipe);
    height: 100%;
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    padding: 4px;
    line-height: 20px;
    letter-spacing: 0.07rem;
    color: var(--servicos-text-muted);
}

/*
Regra CSS para a cor dos ícones de compartilhamenho
*/
i.icone_compartilhamento {
    color: #5b5c5dff !important;
    font-size: 1.2rem !important;
}

p.data_publicacao, p.fotografo, p.legenda_imagem {
    color: rgb(118, 119, 120) !important;
    font-size: 0.9rem !important;
}


/*Regra CSS para o texto Acesso Rápido*/
#acesso_rapido {
    font-size: 32px;
    font-weight: 800;
    text-transform: initial;
    letter-spacing: 0.10em;
}

/*Regra CSS para a barra superior*/
header#menu_superior {
    border-bottom: 1px solid #BDBDBD !important;
    background-color: var(--pmw-color-blue) !important;
    padding: 0 !important;
}

/*Regra CSS para os itens do menu*/

a.link_menu_superior, a.link_menu_superior:hover, a.link_menu_superior:link, a.link_menu_superior:visited {
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 17px !important;
    font-size: 1.6em !important;
    color: var(--color-white) !important;
    position: relative !important;
    padding: 0 16px !important;
}

a.link_menu_superior.active,
a.link_menu_superior.active:hover,
a.link_menu_superior.active:focus,
a.link_menu_superior.active:active {
    background-color: transparent !important;
    color: var(--color-white) !important;
}

a.link_menu_superior.active::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 5% !important;
    width: 90% !important;
    height: 3px !important;
    background-color: #FFCD07 !important;
}

    a.botao_pesquisa {
        font-style: normal;
        font-weight: 500;
        font-size: 24px;
        line-height: 17px;
        color: #464646;
    }

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

/* Regra CSS para configurar a altura dos
card da intranet*/
.card-link-intranet {
    min-height: 8em !important;
    max-height: 8em !important;
}

.news-img {
    object-fit: cover;
    display: block;
    max-height: 700px;
    width: 100%;
}

.main-article-text{
    font-family: 'Lato', sans-serif !important;
    font-size: 25px !important;
    font-weight: 600 !important; /* semibold */
    line-height: 1.6 !important;
    color: var(--text-dark) !important;
}

/* Ensure paragraphs and inline elements inside the article inherit/receive the same overrides
   and beat Bootstrap utility classes (which often use !important) by using a more specific selector. */
article.main-article-text p,
article.main-article-text span,
article.main-article-text a,
article.main-article-text strong,
article.main-article-text em {
    font-family: 'Lato', sans-serif !important;
    font-size: 25px;
    font-weight: 500 !important;
    line-height: 1.6 !important;
}

.noticia-container{
    display: grid;
    grid-template-columns: 1fr 4fr 1fr;
    gap: 0;
}
.noticia-container > *{
    grid-column: 2;
}

.section-spacer-top{
    padding-top: 3.75rem;
}


.section-spacer-bottom{
    padding-bottom: 3.75rem;
}


.titulo-pagina-noticia{
    background-color: #ffffff;
}
.titulo-pagina-noticia__title{
    color: #1B2F53;
}

.titulo-pagina-noticia{
    display: grid;
    grid-template-columns: 1fr 4fr 1fr;
}
.titulo-pagina-noticia__container{
    grid-column: 2;
}

@media (max-width: 768px) {
    .titulo-pagina-noticia{ display: block; }
    .titulo-pagina-noticia__container{ grid-column: auto; }
}

@media (max-width: 768px) {
    .noticia-container{
        display: block;
    }
    .noticia-container > *{ grid-column: auto; }
    .main-article-text{ font-size: 18px; }
}

.height-top-social-banner{
    fill: white;
    width: 100%;
    height: auto;
    aspect-ratio: 456 / 142;
}

.limitar-linhas-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.limitar-linhas-4 {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.limitar-linhas-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.texto-noticia {
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 20px;
    line-height: 20px;
    letter-spacing: 0;
    color: #26272B;
}

/* Adjust navbar collapse to have proper spacing */
header#menu_superior .navbar-collapse {
    padding-left: 0%;
}

.navbar-slope {
    width: fit-content;
    height: 90px;
    background: var(--color-white);
    transform: skewX(-30deg);
    display: flex;
    align-items: stretch;
    margin-left: -30px; /* extend left to hide the blue corner */
    padding-left: 30px; /* compensate for the negative margin */
}
.remove-skew {
    transform: skewX(30deg);
    padding-right: 40px;
}

.logo-size{
    max-height: 60px;
    width: auto;
}

.cropped-aside{
    overflow: auto;
    aspect-ratio: 1.88461538 / 1;
    padding-bottom: 0 !important;
}

/* Melhora a experiência de rolagem */
.cropped-aside::-webkit-scrollbar {
  width: 3px;
}

.cropped-aside::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.03);
  border-radius: 3px;
}

.cropped-aside:hover::-webkit-scrollbar-thumb{
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 3px;
}

@media (max-width: 1400px) {
    .cropped-aside-noticias {
        aspect-ratio: unset;
    }
}

@media (max-width: 1700px) {
    a.link_menu_superior, a.link_menu_superior:hover, a.link_menu_superior:link, a.link_menu_superior:visited {
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 17px !important;
    font-size: 1.1em !important;
    color: var(--color-white) !important;
    padding: 0 12px !important;
}
}

@media (max-width: 1500px) {
    a.link_menu_superior, a.link_menu_superior:hover, a.link_menu_superior:link, a.link_menu_superior:visited {
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 17px !important;
    font-size: 1em !important;
    padding: 16px 8px !important;
    color: var(--color-white) !important;
}
}


@media (max-width: 1250px) {
    a.link_menu_superior, a.link_menu_superior:hover, a.link_menu_superior:link, a.link_menu_superior:visited {
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 17px !important;
    font-size: 0.7em !important;
    padding: 8px 8px !important;
    color: var(--color-white) !important;
    }
    .section-spacer-top{
        padding-top: 0rem !important;
    }
}

/* Cor de fundo da seleção de texto */
::selection {
  background-color: #ffd700; /* amarelo suave */
  color: #000;               /* texto preto (para contraste) */
}

/* Para Firefox (necessário) */
::-moz-selection {
  background-color: #ffd700;
  color: #000;
}

