@charset "UTF-8";


/* ===== MENU MOBILE (OFFCANVAS) =====
   AJUSTE: agora vale até 1199.98px (antes era só 991.98px)
*/
@media (max-width: 1199.98px) {

  /* largura/visual do offcanvas */
  .offcanvas-mobile{
    width: 86vw;
    max-width: 360px;
    background: #fff;
  }

  .offcanvas-mobile .offcanvas-header{
    padding: 22px 22px 12px 22px;
    border-bottom: 1px solid rgba(0,0,0,.06);
  }

  .offcanvas-mobile .logo-offcanvas{
    width: auto;
    display: block;
  }

  .offcanvas-mobile .offcanvas-body{
    padding: 6px 0 16px 0;
  }

  /* lista do menu */
  .offcanvas-mobile .menu-list .navbar-nav{
    padding: 0;
    margin: 0;
  }

  .offcanvas-mobile .menu-list .navbar-nav > li{
    list-style: none;
    border-bottom: 1px solid rgba(0,0,0,.08);
    margin: 0;
  }

  /* link do item (top level) */
  .offcanvas-mobile .menu-list .navbar-nav > li > a{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;

    padding: 18px 22px;
    text-decoration: none;
    color: var(--secundaria);
    font-weight: 700;
    font-size: 18px;
    line-height: 1.2;

    background: transparent;
  }

  .offcanvas-mobile .mt-auto{
    padding-left: 16px;
    padding-right: 16px;
    padding-bottom: 12px;
  }

  .offcanvas-mobile .menu-list .navbar-nav > li > a:active,
  .offcanvas-mobile .menu-list .navbar-nav > li > a:focus{
    outline: none;
    box-shadow: none;
  }

  /* seta à direita (botão inserido via JS) */
  .offcanvas-mobile .submenu-toggle{
    width: 38px;
    height: 38px;
    min-width: 38px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: 0;
    background: transparent;
    padding: 0;
    margin: 0;

    color: #111;
  }


@media (min-width: 0px) and (max-width: 390px) {
 
  #banner-home-swiper {height: 400px !important; }
    .banner-home #banner-home-swiper .titulo-banner {
        font-size: clamp(22px, 6.6vw, 40px) !important;
    }
 
}


  .offcanvas-mobile .submenu-toggle i{
    font-size: 18px;
    transition: transform .2s ease;
  }

  /* estado aberto (gira a seta) */
  .offcanvas-mobile .menu-item-has-children.is-open > a .submenu-toggle i{
    transform: rotate(180deg);
  }

  /* sub-menu */
  .offcanvas-mobile .sub-menu{
    display: none;
    padding: 0 0 10px 0;
    margin: 0;
  }

  .offcanvas-mobile .menu-item-has-children.is-open > .sub-menu{
    display: block;
  }

  /* itens do sub-menu */
  .offcanvas-mobile .sub-menu li{
    list-style: none;
    margin: 0;
  }

  .offcanvas-mobile .sub-menu li a{
    display: block;
    padding: 12px 22px 12px 34px;
    text-decoration: none;

    color: #333;
    font-weight: 600;
    font-size: 16px;
  }

  /* botão apoiar no rodapé */
  .offcanvas-mobile .btn-apoiar{
    border-radius: 18px;
    padding: 14px 16px;
    font-weight: 700;
    text-decoration: none;
  }
}


/* ===== FIX: 992px até 1199px vira "mobile" (hambúrguer + offcanvas) ===== */
@media (min-width: 992px) and (max-width: 1199.98px) {

  /* esconde o menu desktop central */
  nav.navbar .center-nav{
    display: none !important;
  }

  /* esconde o botão apoiar do desktop */
  nav.navbar > .container .btn-apoiar.ms-3{
    display: none !important;
  }

  /* garante o hambúrguer aparecendo */
  nav.navbar .navbar-toggler{
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
  }

  /* garante que o container não "esmague" o logo */
  nav.navbar .nav-main{
    flex-wrap: nowrap !important;
  }

  /* IMPORTANTE: cancela regras DESKTOP que você liga em >= 992px e quebram a faixa 992–1199 */
  .center-nav{
    position: static !important;
    left: auto !important;
    transform: none !important;
  }

  .nav-main .center-nav,
  .nav-main .btn-apoiar{
    display: none !important;
  }
}


/* Força o bloco de texto a ficar "col-6" até telas pequenas */
@media (min-width: 576px){
  .banner-home .banner-col{
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@media (max-width: 575.98px){
  .banner-home .banner-col{
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* ===== Banner: manter padrão col-6 e fonte responsiva ===== */
.banner-home #banner-home-swiper .banner-col{
  text-align: left !important;   /* impede centralização em telas menores */
  max-width: 50%;
  flex: 0 0 50%;
}

/* no celular pequeno, recomendo virar 100% pra não apertar demais */
@media (max-width: 767.98px){
  .banner-home #banner-home-swiper .banner-col{
    max-width: 100%;
    flex: 0 0 100%;
  }
}

.banner-home #banner-home-swiper .titulo-banner{
  font-weight: 700;
  line-height: 1.05;
  margin: 0;
  font-size: clamp(30px, 4.2vw, 50px) !important;
}

.banner-home #banner-home-swiper .descricao-banner{
  font-weight: 400;
  line-height: 1.25;
  margin-top: 14px;
  font-size: clamp(16px, 2.0vw, 26px) !important;
  max-width: 36ch;
}

.banner-home #banner-home-swiper .descricao-banner p{
  margin: 0;
}

/* ===== Banner <= 767px: texto no canto + fonte maior ===== */
@media (max-width: 767.98px){

  /* garante alinhamento à esquerda (mata qualquer centralização antiga) */
  .banner-home #banner-home-swiper,
  .banner-home #banner-home-swiper .row,
  .banner-home #banner-home-swiper .banner-col{
    text-align: left !important;
    justify-content: flex-start !important;
  }

  /* mantém "cara de col-6": não ocupa 100% visualmente, mas fica no canto */
  .banner-home #banner-home-swiper .banner-col{
    flex: 0 0 78%;
    max-width: 78%;
    padding-left: 22px !important;
    padding-right: 12px !important;
  }

  /* tipografia maior no celular e ainda responsiva */
  .banner-home #banner-home-swiper .titulo-banner{
    font-size: clamp(28px, 6.6vw, 40px) !important;
    line-height: 1.08;
  }

  .banner-home #banner-home-swiper .descricao-banner{
    font-size: clamp(15px, 4.2vw, 18px) !important;
    line-height: 1.25;
    max-width: 28ch;
  }

  .banner-home #banner-home-swiper .btn-fale{
    font-size: 15px;
    padding: 10px 22px;
    border-radius: 999px;
  }
}


@media (max-width:764px) {
  .footer-text { font-size: 17px; }
  .center { justify-content: center !important; text-align: center !important; }
  .mobile-none { display: none; }
}

@media (min-width:765px) {
  .desktop-none { display: none; }
}

@media (min-width:765px) {
  .pad-desk { padding-top: 40px; }
}

@media (max-width:991px) {
  .lupa-none { display: none; }
  .menu-col-none { display: none; }
}

@media (min-width:0px) and (max-width:991px) {
  .tamanho-card-white {
    box-shadow: none;
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    padding: 0;
    margin: 0;
  }
  .card-black { border-radius: 10px !important; }
  .pad { padding: 0 !important; }
  .espaco-n { padding-top: 25px; }
  .start { justify-content: start !important; }
}

@media (min-width:0px) and (max-width:400px) {
  .comentarios-inpt input[type="text"] { font-size: 12px; }
}

@media (min-width:992px) and (max-width:1200px) {
  .link-li li a { padding-left: 7px !important; padding-right: 7px; }
}

@media (min-width:1200px) and (max-width:1400px) {
  .link-li li a { padding-left: 7px !important; padding-right: 7px; }
}

@media (min-width:992px) and (max-width:1399px) {
  .esp-mobi-cat { padding-top: 10% !important; }
}

@media (max-width: 768px) {
  .footer-nav { justify-content: center; margin-bottom: 15px; }
  .social-icons { justify-content: center; }
  .filters-left .chip--all,
  .filters-left .dropdown:nth-child(2),
  .filters-left .dropdown:nth-child(3) { display: none !important; }
  .filters-toolbar { justify-content: space-between; gap: 16px; }
  .filters-left { gap: 16px; }
}

@media (max-width: 640px) {
  .nav-pag { flex-direction: column; gap: 14px; }
  .nav-pag__numbers { gap: 12px; flex-wrap: wrap; }
}

@media (max-width: 767.98px) {
  #parceiros-swiper .swiper-slide {
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .col-12.d-flex {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    gap: 8px;
  }
  .col-12.d-flex img { margin: 0 !important; }
  .sindicato-footer { margin: 0; font-size: 14px; line-height: 1.4; }
  .brand-overlap { left: 15%; transform: translateX(-50%); bottom: -55px; }
  #parceiros-swiper .parceiros-row {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    width: 100%;
    gap: 10px;
  }
  .titulo-banner { font-size: 40px !important; }
  #parceiros-swiper .parceiro-logo {
    max-height: 48px;
    flex: 1 1 0;
    object-fit: contain;
    filter: grayscale(1) brightness(0);
    opacity: 0.85;
    transition: opacity .2s ease;
  }
  #parceiros-swiper .parceiro-logo:hover { opacity: 1; }
}

@media (max-width: 991.98px) {
  #notas-swiper .swiper-slide[class*="col-"] {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }
  #notas-swiper .swiper-slide { display: flex; justify-content: center; }
  #notas-swiper .card-nota {
    max-width: 92%;
    margin: 0 auto;
    border-radius: 16px;
  }
  #notas-swiper .swiper-pagination { position: static; margin-top: 12px; }
  .sindicato-footer { margin: 0; font-size: 18px; line-height: 1.4; padding-top: 10px; }
  .atualizar { text-decoration: none; padding-top: 20px; }
  .setas-s { display: none !important; }
  .filiados { font-size: 30px; }
  #conv-swiper .swiper-slide { height: auto; display: flex; }
  #conv-swiper .card-vantagens { width: 100%; }
  .card-vantagens {
    border: 2px solid #1e3a2f;
    border-radius: 14px;
    background: #fffdf2;
    box-shadow: none;
  }
  .card-vantagens .row { padding: 16px !important; }
  .title-vantagens { margin: 8px 0 6px; font-weight: 700; }
  .text-vantagens { color: #2b3b34; line-height: 1.45; }
  #conv-swiper .swiper-pagination { position: static; margin-top: 10px; }
  #conv-swiper .swiper-pagination-bullet {
    width: 8px; height: 8px;
    background: #d6d9d7;
    opacity: 1;
    margin: 0 4px;
  }
  #conv-swiper .swiper-pagination-bullet-active { background: #1e7a5a; }
  .center-nav { display: none !important; }
  .offcanvas-mobile { width: 340px; border-right: 1px solid #f1f1f1; }
  .menu-list { display: flex; flex-direction: column; gap: 8px; }
  .item + .item { border-top: 1px solid #eee; }
  .item-head {
    width: 100%;
    background: transparent;
    border: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 0;
    font-size: 18px;
    font-weight: 700;
    color: #212529;
    text-decoration: none;
  }
  .item-head i { transition: transform .2s; }
  .item-head[aria-expanded="true"] i { transform: rotate(180deg); }
  .item-head.no-arrow i { display: none; }
  .sub {
    display: block;
    padding: 10px 0;
    font-size: 15px;
    color: #6c757d;
    text-decoration: none;
  }
  .sub:hover { color: #198754; }
  .link-update { color: #198754; font-weight: 700; text-decoration: none; }
  .navbar { padding-bottom: 1rem; }
}

@media (min-width: 992px) {
  .setas-s { display: flex; gap: 8px; }
  .notas-btn {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .25);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .notas-btn svg { width: 18px; height: 18px; stroke: #fff; }
}

/* MOBILE */
@media (max-width: 767.98px) {

  /* área do swiper */
  #notas-swiper {
    overflow: hidden;
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  /* cada slide vira um “cartão” centralizado */
  #notas-swiper .swiper-slide.nota-slide {
    display: flex;
    justify-content: center;
  }

  /* largura máxima do card no mobile */
  #notas-swiper .card-nota {
    width: 90%;
    max-width: 360px;
  }

  /* paginação logo abaixo */
  #notas-swiper .swiper-pagination {
    position: relative;
    margin-top: 1rem;
    text-align: center;
  }
}

/* DESKTOP */
@media (min-width: 768px) {
  #notas-swiper .swiper-pagination { display: none; }
  #notas-swiper .swiper-slide.nota-slide { display: flex; }
  #notas-swiper .card-nota { width: 100%; }
}

/* DESKTOP */
@media (max-width: 991px) {
  .divider { display: none; }
}

/* DESKTOP */
@media (max-width: 991px) {
  .cc-card-1 { width: auto; }
}

/* DESKTOP */
@media (max-width: 292px) {
  .titulo-sobre { font-size: 45px; }
  .titulo-juridico { font-size: 45px; }
  .titulo-att { font-size: 45px; }
  .pesquisa input { font-size: 13px; }
}

/* >= LG */
@media (min-width: 992px) {
  .navbar .container { position: relative; }
  .center-nav {
    position: absolute;
    left: 55%;
    transform: translateX(-50%);
    z-index: 1031;
  }
}

@media (min-width: 768px) {
  #parceirosSwiper .swiper-wrapper {
    display: flex !important;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
  }

  #parceirosSwiper .swiper-slide {
    width: auto !important;
    flex: 0 0 auto !important;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
  }

  #parceirosSwiper img {
    height: auto;
    width: auto;
    max-height: none;
  }
}

@media (max-width: 767.98px) {
  #parceirosSwiper {
    display: block !important;
    overflow: hidden;
  }

  #parceirosSwiper .swiper-wrapper {
    display: flex !important;
    flex-wrap: nowrap;
    align-items: center;
  }

  #parceirosSwiper .swiper-slide {
    flex: 0 0 auto;
    width: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    min-height: 60px;
    text-align: center;
  }

  #parceirosSwiper img {
    max-height: 45px;
    width: auto;
    height: auto;
  }
}

@media (max-width: 480px) {
  .convenios-modal {
    margin-top: 2rem;
    margin-bottom: 2rem;
    max-width: 100%;
    border-radius: 10px;
    padding: 16px;
  }

  .convenios-modal__header { flex-direction: row; gap: 12px; }
  .convenios-filtros-wrapper { padding-bottom: 16px; }
  .convenios-scroll-wrapper { padding-top: 16px; max-height: 60vh; }
  .convenios-lista { padding-right: 24px; max-height: 60vh; }
  .scrollbar-track { right: 8px; width: 6px; border-radius: 3px; }
  .convenio-card { padding: 16px 0; }
  .convenio-head { padding-right: 8px; }
  .convenio-head__left { gap: 12px; }
  .convenio-logo img { max-width: 56px; max-height: 40px; }
  .convenio-body { padding-left: calc(56px + 12px); }
}

@media (max-width: 991.98px) {
  #banner-home-swiper { height: 520px; }
}

/* === Slides === */
#banner-home-swiper .swiper-wrapper { height: 100%; }

#banner-home-swiper .swiper-slide {
  height: 100%;
  display: flex;
  align-items: center;
  padding: 0;
  background-size: cover;
  background-position: center;
  position: relative;
}

#banner-home-swiper .swiper-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

#banner-home-swiper .swiper-slide > * {
  position: relative;
  z-index: 2;
}

/* garante que a logo vinda do WP use o mesmo tamanho */
.custom-logo {
  max-height: 130px;
  height: auto;
  width: auto;
}

/* Desktop: tudo na mesma linha, sem quebra */
@media (min-width: 992px) {

  .nav-main {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
  }

  .nav-main .navbar-brand-wrapper { flex-shrink: 0; }

  .nav-main .center-nav {
    display: flex !important;
    justify-content: center;
    flex-grow: 1;
  }

  .nav-main .center-nav .navbar-nav { flex-wrap: nowrap; }

  .nav-main .center-nav .navbar-nav > li > a,
  .link-li li a { white-space: nowrap; }

  .nav-main .btn-apoiar { flex-shrink: 0; }
}

/* Centraliza verticalmente APENAS a logo do 1º item */
@media (min-width: 768px){
  .ntb-trabalho__container > .ntb-trabalho__item:first-child .ntb-trabalho__logo-col{
    align-self: center;
  }
}
