/* =====================================================
   1. ESTILO BASE DO SITE
===================================================== */

p{
  margin:0 0 1rem;
  padding:0;
  background:transparent;
  color:inherit;
}

/* =====================================================
   2. HEADER / TOPO
===================================================== */

.container-header{
  background:none !important;
  box-shadow:none !important;
  position:relative;
  z-index:1000;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}

/* topo institucional */
.container-topbar{
  width:100%;
  background:#efefef !important;
  border-bottom:none !important;
  padding:18px 28px 10px !important;
  margin:0 !important;
  box-shadow:none !important;
}

.container-topbar .top-bar-artigo{
  max-width:1400px;
  margin:0 auto;
  background:transparent !important;
  padding:0 !important;
}

.container-topbar .topo-camara-linha{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.container-topbar .topo-camara-esquerda{
  display:flex;
  align-items:center;
  gap:18px;
  min-width:0;
}

.container-topbar .topo-camara-esquerda img{
  width:110px;
  height:auto;
  display:block;
  object-fit:contain;
  background:transparent !important;
}

.container-topbar .topo-camara-box{
  background:linear-gradient(135deg, #0f5b95 0%, #0b3f6d 100%) !important;
  border-left:6px solid #ffd400;
  border-radius:0 10px 10px 0;
  padding:16px 24px 14px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:360px;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
}

/* linha menor */
.container-topbar .topo-camara-kicker{
  display:block;
  color:#cfe8f7 !important;
  font-size:14px;
  font-weight:700;
  line-height:1.1;
  letter-spacing:.14em;
  margin:0;
  text-transform:uppercase;
  background:transparent !important;
}

/* nome principal */
.container-topbar .topo-camara-titulo{
  display:block;
  color:#ffffff !important;
  font-size:46px;
  font-weight:900;
  line-height:1;
  margin:4px 0 0 0;
  text-transform:uppercase;
  letter-spacing:.02em;
  text-shadow:0 2px 6px rgba(0,0,0,.18);
  background:transparent !important;
}

/* subtítulo */
.container-topbar .topo-camara-subtitulo{
  display:block;
  color:#8fd3ff !important;
  font-size:11px;
  font-weight:700;
  letter-spacing:.24em;
  margin-top:8px;
  text-transform:uppercase;
  opacity:1;
  background:transparent !important;
}

.container-topbar .topo-camara-direita{
  color:#6a7682 !important;
  font-size:16px;
  font-weight:400;
  letter-spacing:.02em;
  text-align:right;
  white-space:nowrap;
  line-height:1.5;
  background:transparent !important;
  margin-top:-4px !important;
  padding-left:18px;
}

/* importante: não usar div aqui */
.container-topbar p,
.container-topbar span,
.container-topbar strong{
  background:transparent !important;
}

/* remove a barra branca entre topo e menu */
.grid-child.container-top-a{
  max-width:100%;
  width:100%;
  margin-top:0 !important;
  padding-top:0 !important;
  border-top:0 !important;
}

.container-top-a{
  margin-top:0 !important;
  padding-top:0 !important;
}

/* =====================================================
   3. BARRA DE ACESSIBILIDADE
===================================================== */

.barra-acessibilidade{
  position:fixed;
  top:10px;
  right:20px;
  z-index:2147483647;
  background:rgba(0,0,0,0.75);
  padding:8px 12px;
  border-radius:8px;
  font-size:14px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}

.barra-acessibilidade a{
  color:#fff;
  text-decoration:none;
  font-weight:bold;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:4px 8px;
  border:2px solid #fff;
  border-radius:6px;
  transition:all .2s;
  white-space:nowrap;
}

.barra-acessibilidade a:hover{
  color:#ffd700;
  border-color:#ffd700;
  background:rgba(255,255,255,0.1);
}

.barra-acessibilidade .social-icons{
  display:flex;
  gap:8px;
  margin-left:12px;
}

.barra-acessibilidade .social-icons a{
  font-size:16px;
  padding:4px 6px;
  border:2px solid #fff;
  border-radius:6px;
  color:#fff;
}

.barra-acessibilidade .social-icons a:hover{
  color:#ffd700;
  border-color:#ffd700;
  background:rgba(255,255,255,0.1);
}

/* =====================================================
   4. CONTROLE DE CAMADAS
===================================================== */

.container-top-a{
  position:relative;
  z-index:99999;
  grid-column:1 / -1;
  background:#0a4fa3;
  padding:0;
  margin:0;
}

.container-top-a ul.mod-menu li ul.mod-menu__sub{
  z-index:999999;
}

.carousel,
.carousel-inner,
.carousel-item{
  position:relative;
  z-index:1;
}

/* =====================================================
   5. MENU PRINCIPAL
===================================================== */

.container-top-a .card,
.container-top-a .card-body,
.container-top-a .card-header{
  background:none;
  border:none;
  padding:0;
  margin:0;
}

.container-top-a ul.mod-menu{
  display:flex;
  flex-direction:row;
  justify-content:center;
  align-items:center;
  list-style:none;
  margin:0;
  padding:0;
}

.container-top-a ul.mod-menu > li{
  position:relative !important;
  margin:0 !important;
  padding:0 10px !important;
}

.container-top-a ul.mod-menu > li > a{
  display:block;
  padding:16px 30px;
  color:#fff;
  font-weight:600;
  text-decoration:none;
  position:relative;
}

.container-top-a ul.mod-menu > li > a::after{
  content:"";
  position:absolute;
  bottom:0;
  left:0;
  width:0;
  height:3px;
  background:#ffd400;
  transition:.3s;
}

.container-top-a ul.mod-menu > li:hover > a::after{
  width:100%;
}

.container-top-a ul.mod-menu > li + li::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:50% !important;
  transform:translate(-50%, -50%) !important;
  width:3px !important;
  height:30px !important;
  background:#ffd400 !important;
  display:block !important;
}

/* =====================================================
   6. SUBMENUS
===================================================== */

.container-top-a ul.mod-menu li{
  position:relative;
}

.container-top-a ul.mod-menu > li > ul.mod-menu__sub{
  display:none;
  position:absolute;
  top:100%;
  left:0;
  background:#0a4fa3;
  min-width:260px;
  padding:15px 0;
  margin:0;
  list-style:none;
  box-shadow:0 6px 25px rgba(0,0,0,.15);
  z-index:999999;
  overflow:visible;
}

.container-top-a ul.mod-menu > li:hover > ul.mod-menu__sub{
  display:block;
}

.container-top-a ul.mod-menu > li > ul.mod-menu__sub > li,
.container-top-a ul.mod-menu > li > ul.mod-menu__sub > li > ul.mod-menu__sub > li{
  position:relative;
  list-style:none;
  margin:0;
  padding:0;
}

.container-top-a ul.mod-menu > li > ul.mod-menu__sub > li > a,
.container-top-a ul.mod-menu > li > ul.mod-menu__sub > li > ul.mod-menu__sub > li > a{
  display:block;
  padding:10px 18px 10px 22px;
  color:#fff;
  text-decoration:none;
  position:relative;
  font-size:15px;
  white-space:nowrap;
}

.container-top-a ul.mod-menu > li > ul.mod-menu__sub > li > a::before,
.container-top-a ul.mod-menu > li > ul.mod-menu__sub > li > ul.mod-menu__sub > li > a::before{
  content:"›";
  position:absolute;
  left:8px;
  top:50%;
  transform:translateY(-50%);
  color:#fff;
}

.container-top-a ul.mod-menu > li > ul.mod-menu__sub > li > a::after{
  content:"";
  position:absolute;
  left:0;
  top:4px;
  bottom:4px;
  width:0;
  background:#ffd400;
  transition:.3s;
}

.container-top-a ul.mod-menu > li > ul.mod-menu__sub > li > ul.mod-menu__sub > li > a::after{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  height:22px;
  width:0;
  background:#ffd400;
  transition:.3s;
}

.container-top-a ul.mod-menu > li > ul.mod-menu__sub > li > a:hover::after,
.container-top-a ul.mod-menu > li > ul.mod-menu__sub > li > ul.mod-menu__sub > li > a:hover::after{
  width:4px;
}

.container-top-a ul.mod-menu > li > ul.mod-menu__sub > li > a:hover,
.container-top-a ul.mod-menu > li > ul.mod-menu__sub > li > ul.mod-menu__sub > li > a:hover{
  color:#ffd400;
  background:rgba(255,255,255,0.04);
}

.container-top-a ul.mod-menu > li > ul.mod-menu__sub > li > ul.mod-menu__sub{
  display:none;
  position:absolute !important;
  top:0 !important;
  left:100% !important;
  min-width:260px;
  margin:0 !important;
  padding:10px 0;
  background:#0a4fa3 !important;
  background-image:none !important;
  opacity:1 !important;
  box-shadow:0 6px 25px rgba(0,0,0,.25);
  z-index:999999;
  overflow:visible !important;
}

.container-top-a ul.mod-menu li ul.mod-menu__sub li:hover > ul.mod-menu__sub{
  display:block;
}

.container-top-a ul.mod-menu > li > ul.mod-menu__sub > li > ul.mod-menu__sub > li,
.container-top-a ul.mod-menu > li > ul.mod-menu__sub > li > ul.mod-menu__sub > li > a{
  background:#0a4fa3 !important;
}

.container-top-a ul.mod-menu > li > ul.mod-menu__sub > li > ul.mod-menu__sub > li > a:hover{
  background:#0c5ab8 !important;
  color:#ffd400 !important;
}

/* =====================================================
   7. ALTO CONTRASTE
===================================================== */

.alto-contraste{
  background:#000 !important;
  color:#ffff00 !important;
}

.alto-contraste p{
  background:#000 !important;
  color:#ffff00 !important;
}

.alto-contraste .container-top-a{
  background:#000 !important;
}

.alto-contraste .container-top-a ul.mod-menu > li > a{
  color:#ffff00 !important;
}

.alto-contraste .container-top-a ul.mod-menu > li:not(:last-child)::before,
.alto-contraste .container-top-a ul.mod-menu > li > a::after{
  background:#ffff00 !important;
}

.alto-contraste .container-top-a ul.mod-menu li ul.mod-menu__sub{
  background:#000 !important;
}

.alto-contraste .container-top-a ul.mod-menu li ul.mod-menu__sub li a,
.alto-contraste .container-top-a ul.mod-menu li ul.mod-menu__sub li a::before{
  color:#ffff00 !important;
}

.alto-contraste .container-topbar{
  background:#000 !important;
  border-bottom:none !important;
}

.alto-contraste .container-topbar .top-bar-artigo,
.alto-contraste .container-topbar .topo-camara-linha,
.alto-contraste .container-topbar .topo-camara-esquerda,
.alto-contraste .container-topbar .topo-camara-logo,
.alto-contraste .container-topbar .topo-camara-direita,
.alto-contraste .container-topbar .topo-camara-box,
.alto-contraste .container-topbar p,
.alto-contraste .container-topbar span,
.alto-contraste .container-topbar strong,
.alto-contraste .container-topbar div,
.alto-contraste .container-topbar img{
  background:#000 !important;
  color:#ffff00 !important;
  box-shadow:none !important;
}

.alto-contraste .container-topbar .topo-camara-box{
  border-left:6px solid #ffff00 !important;
}

.alto-contraste .container-topbar .topo-camara-kicker,
.alto-contraste .container-topbar .topo-camara-titulo,
.alto-contraste .container-topbar .topo-camara-subtitulo,
.alto-contraste .container-topbar .topo-camara-direita,
.alto-contraste .container-topbar .topo-camara-esquerda a,
.alto-contraste .container-topbar .topo-camara-esquerda strong,
.alto-contraste .container-topbar .topo-camara-esquerda span{
  color:#ffff00 !important;
}

/* =====================================================
   8. MENU MOBILE
===================================================== */

.menu-toggle{
  display:none;
}

@media (max-width: 991px){

  html,
  body{
    overflow-x:hidden !important;
  }

  .top-bar-artigo{
    margin-left:10px !important;
    text-align:left !important;
  }

  .top-bar-artigo img{
    float:left !important;
    margin:0 10px 0 0 !important;
    width:80px !important;
    height:auto !important;
    display:inline-block !important;
  }

  .top-bar-artigo span{
    font-size:18px !important;
    line-height:1.2 !important;
    display:inline-block !important;
    vertical-align:middle !important;
  }

  .barra-acessibilidade{
    position:fixed !important;
    top:5px !important;
    right:5px !important;
    left:auto !important;
    padding:2px 4px !important;
    font-size:10px !important;
    gap:3px !important;
    border-radius:4px !important;
    max-width:none !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    justify-content:flex-end !important;
    z-index:2147483647 !important;
  }

  .barra-acessibilidade a{
    font-size:10px !important;
    padding:1px 3px !important;
    min-width:auto !important;
  }

  .barra-acessibilidade .social-icons a{
    font-size:12px !important;
    padding:1px 3px !important;
  }

  .container-topbar{
    padding:14px 12px 8px !important;
  }

  .container-topbar .topo-camara-linha{
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
  }

  .container-topbar .topo-camara-esquerda{
    width:100%;
    gap:12px;
  }

  .container-topbar .topo-camara-esquerda img{
    width:78px;
  }

  .container-topbar .topo-camara-box{
    min-width:0;
    width:100%;
    padding:12px 14px;
    border-left:4px solid #ffd400;
    border-radius:0 8px 8px 0;
  }

  .container-topbar .topo-camara-kicker{
    font-size:12px;
  }

  .container-topbar .topo-camara-titulo{
    font-size:28px;
  }

  .container-topbar .topo-camara-subtitulo{
    font-size:10px;
    letter-spacing:.12em;
  }

  .container-topbar .topo-camara-direita{
    font-size:15px;
    text-align:left;
    white-space:normal;
    margin-top:0 !important;
    padding-left:0;
  }

  .menu-toggle{
    display:flex !important;
    align-items:center;
    gap:10px;
    width:calc(100% - 20px);
    margin:10px auto 12px auto;
    padding:14px 16px;
    background:linear-gradient(135deg, #0f3b82, #0a2d63);
    color:#fff;
    border-radius:12px;
    font-size:17px;
    font-weight:700;
    cursor:pointer;
    box-sizing:border-box;
    box-shadow:0 4px 14px rgba(0,0,0,0.14);
  }

  .container-top-a ul.mod-menu{
    display:none !important;
    width:calc(100% - 20px) !important;
    margin:0 auto 14px auto !important;
    padding:0 !important;
    list-style:none !important;
    background:#0f3b82 !important;
    border-radius:14px !important;
    overflow:hidden !important;
    box-shadow:0 8px 24px rgba(0,0,0,0.16);
  }

  .container-top-a.mobile-open ul.mod-menu{
    display:block !important;
  }

  .container-top-a ul.mod-menu > li + li::before,
  .container-top-a ul.mod-menu > li > a::after,
  .container-top-a ul.mod-menu > li > ul.mod-menu__sub > li > a::before,
  .container-top-a ul.mod-menu > li > ul.mod-menu__sub > li > a::after,
  .container-top-a ul.mod-menu > li > ul.mod-menu__sub > li > ul.mod-menu__sub > li > a::before,
  .container-top-a ul.mod-menu > li > ul.mod-menu__sub > li > ul.mod-menu__sub > li > a::after{
    content:none !important;
    display:none !important;
  }

  .container-top-a ul.mod-menu,
  .container-top-a ul.mod-menu ul{
    list-style:none !important;
    margin:0 !important;
    padding:0 !important;
  }

  .container-top-a ul.mod-menu li{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    position:relative !important;
    box-sizing:border-box !important;
  }

  .container-top-a.mobile-open ul.mod-menu > li > ul.mod-menu__sub,
  .container-top-a.mobile-open ul.mod-menu > li.parent > ul.mod-menu__sub,
  .container-top-a.mobile-open ul.mod-menu > li.deeper > ul.mod-menu__sub,
  .container-top-a.mobile-open ul.mod-menu > li > ul.mod-menu__sub > li > ul.mod-menu__sub,
  .container-top-a.mobile-open ul.mod-menu > li > ul.mod-menu__sub > li.parent > ul.mod-menu__sub,
  .container-top-a.mobile-open ul.mod-menu > li > ul.mod-menu__sub > li.deeper > ul.mod-menu__sub{
    display:block !important;
    position:static !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    min-width:0 !important;
    width:100% !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    transform:none !important;
    overflow:visible !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  .container-top-a.mobile-open ul.mod-menu ul.mod-menu__sub[aria-hidden="true"],
  .container-top-a.mobile-open ul.mod-menu ul.mod-menu__sub[style]{
    display:block !important;
    position:static !important;
    left:auto !important;
    top:auto !important;
    right:auto !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  .container-top-a ul.mod-menu > li > a,
  .container-top-a ul.mod-menu > li > span{
    display:block !important;
    width:100% !important;
    padding:15px 18px !important;
    background:#0f3b82 !important;
    color:#fff !important;
    font-size:16px !important;
    font-weight:700 !important;
    text-decoration:none !important;
    border-bottom:1px solid rgba(255,255,255,0.10) !important;
    box-sizing:border-box !important;
    white-space:normal !important;
  }

  .container-top-a ul.mod-menu > li > ul.mod-menu__sub > li > a,
  .container-top-a ul.mod-menu > li > ul.mod-menu__sub > li > span{
    display:block !important;
    width:100% !important;
    padding:12px 18px 12px 32px !important;
    background:#1d56a8 !important;
    color:#fff !important;
    font-size:14px !important;
    font-weight:600 !important;
    text-decoration:none !important;
    border-top:1px solid rgba(255,255,255,0.08) !important;
    box-sizing:border-box !important;
    white-space:normal !important;
  }

  .container-top-a ul.mod-menu > li > ul.mod-menu__sub > li > ul.mod-menu__sub > li > a,
  .container-top-a ul.mod-menu > li > ul.mod-menu__sub > li > ul.mod-menu__sub > li > span{
    display:block !important;
    width:100% !important;
    padding:11px 18px 11px 48px !important;
    background:#eaf2ff !important;
    color:#0f3b82 !important;
    font-size:13px !important;
    font-weight:700 !important;
    text-decoration:none !important;
    border-top:1px solid rgba(15,59,130,0.10) !important;
    box-sizing:border-box !important;
    white-space:normal !important;
  }

  .container-top-a,
  .container-top-a *{
    max-width:100% !important;
    box-sizing:border-box !important;
  }
}

/* =====================================================
   9. MESA DIRETORA / PARLAMENTARES
===================================================== */

.mesa-diretora-vereadores,
.parlamentares-vereadores{
  font-family:Arial, sans-serif;
}

.mesa-diretora-vereadores .mesa-diretora-container,
.parlamentares-vereadores .mesa-diretora-container{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:25px;
  margin:30px 0;
}

.mesa-diretora-vereadores .mesa-diretora-card,
.parlamentares-vereadores .mesa-diretora-card{
  background:#cce0ff;
  border:2px solid #0066cc;
  border-radius:12px;
  padding:20px 15px;
  width:230px;
  text-align:center;
  box-shadow:0 6px 12px rgba(0,0,0,0.1);
  transition:transform 0.3s, box-shadow 0.3s, border-color 0.3s, background 0.3s;
  position:relative;
  text-decoration:none;
  color:#000;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.mesa-diretora-vereadores .mesa-diretora-card,
.mesa-diretora-vereadores .mesa-diretora-card p,
.mesa-diretora-vereadores .mesa-diretora-card span,
.mesa-diretora-vereadores .mesa-diretora-card strong{
  background:transparent !important;
  color:#333 !important;
}

.mesa-diretora-vereadores .mesa-diretora-card h3::before{
  content:"🏛️";
  display:block;
  font-size:28px;
  margin-bottom:8px;
}

.mesa-diretora-vereadores .mesa-diretora-card:hover,
.parlamentares-vereadores .mesa-diretora-card:hover{
  transform:translateY(-6px);
  box-shadow:0 10px 20px rgba(0,0,0,0.15);
  border-color:#ffd400;
  background:#b3d1ff;
}

.mesa-diretora-vereadores .mesa-diretora-card h3,
.parlamentares-vereadores .mesa-diretora-card h3{
  margin:5px 0 8px 0;
  color:#004080;
  font-size:18px;
  font-weight:700;
  text-transform:uppercase;
  transition:color 0.3s;
}

.mesa-diretora-vereadores .mesa-diretora-card:hover h3,
.parlamentares-vereadores .mesa-diretora-card:hover h3{
  color:#ffd400;
}

.mesa-diretora-vereadores .mesa-diretora-card img,
.parlamentares-vereadores .mesa-diretora-card img{
  width:120px;
  height:120px;
  object-fit:cover;
  border-radius:50%;
  margin-bottom:12px;
  border:3px solid #004080;
  transition:border-color 0.3s;
}

.mesa-diretora-vereadores .mesa-diretora-card:hover img,
.parlamentares-vereadores .mesa-diretora-card:hover img{
  border-color:#ffd400;
}

.mesa-diretora-vereadores .mesa-diretora-card p,
.parlamentares-vereadores .mesa-diretora-card p{
  margin:2px 0;
  font-size:14px;
  color:#004080;
  background:transparent;
}

.mesa-diretora-vereadores .mesa-diretora-card .partido-logo,
.parlamentares-vereadores .mesa-diretora-card .partido-logo{
  display:block;
  margin:4px auto 2px auto;
  width:60px;
  height:60px;
  object-fit:contain;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
}

.parlamentares-vereadores .card-status{
  margin-top:10px;
  padding:4px 0;
  text-align:center;
  font-weight:700;
  border-radius:0 0 12px 12px;
  background-color:#cce0ff;
  color:#004080;
  font-size:14px;
}

.parlamentares-vereadores .card-status.inativo,
.parlamentares-vereadores .mesa-diretora-card.inativo{
  opacity:0.5;
}

.parlamentares-vereadores .card-status.inativo{
  background-color:#e6e6e6;
}

@media (max-width: 768px){
  .mesa-diretora-vereadores .mesa-diretora-card,
  .parlamentares-vereadores .mesa-diretora-card{
    width:45%;
  }
}

@media (max-width: 480px){
  .mesa-diretora-vereadores .mesa-diretora-card,
  .parlamentares-vereadores .mesa-diretora-card{
    width:100%;
  }
}

/* =====================================================
   10. PHOCA DOWNLOAD - BASE
===================================================== */

.sessoes-camara.phoca-plenarias{
  width:100%;
  max-width:1040px;
  margin:25px auto 40px;
  font-family:Arial, sans-serif;
  box-sizing:border-box;
}

.sessoes-camara.phoca-plenarias,
.sessoes-camara.phoca-plenarias *{
  box-sizing:border-box;
}

.sessoes-camara.phoca-plenarias .sessoes-filtro{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  background:#ececec;
  border-left:4px solid #1d79ad;
  padding:22px 24px;
  margin-bottom:28px;
  flex-wrap:wrap;
}

.sessoes-camara.phoca-plenarias .filtro-esquerda strong{
  display:block;
  font-size:24px;
  line-height:1.2;
  color:#666;
  font-weight:400;
}

.sessoes-camara.phoca-plenarias .filtro-esquerda strong span{
  font-weight:700;
  color:#555;
}

.sessoes-camara.phoca-plenarias .filtro-esquerda small{
  display:block;
  margin-top:10px;
  font-size:14px;
  color:#777;
}

.sessoes-camara.phoca-plenarias .filtro-direita{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0;
  flex-wrap:wrap;
}

.sessoes-camara.phoca-plenarias .filtro-direita select{
  min-width:180px;
  height:44px;
  border:1px solid #d9d9d9;
  background:#fff;
  color:#555;
  font-size:16px;
  padding:0 14px;
  border-radius:0;
  outline:none;
  box-shadow:none;
}

.sessoes-camara.phoca-plenarias .filtro-direita button{
  height:44px;
  padding:0 24px;
  background:#1d84b5;
  color:#fff;
  border:none;
  font-size:16px;
  font-weight:600;
  cursor:pointer;
  border-radius:0;
}

.sessoes-camara.phoca-plenarias .filtro-direita button:hover{
  background:#166b92;
}

.sessoes-camara.phoca-plenarias .mes-titulo{
  font-size:24px;
  color:#111;
  font-weight:400;
  margin:0 0 18px;
  padding:0;
  border:0;
}

.sessoes-camara.phoca-plenarias .sessao-card{
  display:flex;
  align-items:stretch;
  width:100%;
  background:#f3f3f3;
  margin-bottom:16px;
  overflow:hidden;
}

.sessoes-camara.phoca-plenarias .sessao-dia-box{
  width:126px;
  min-width:126px;
  background:#dce7f5;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  border-radius:0 34px 34px 0;
  padding:18px 10px;
}

.sessoes-camara.phoca-plenarias .sessao-dia-label{
  font-size:14px;
  color:#8b99ab;
  text-transform:uppercase;
  line-height:1;
  margin-bottom:8px;
}

.sessoes-camara.phoca-plenarias .sessao-dia-numero{
  font-size:42px;
  line-height:1;
  color:#156c97;
  font-weight:400;
}

.sessoes-camara.phoca-plenarias .sessao-card.extraordinaria .sessao-dia-box{
  background:#fff1cc;
}

.sessoes-camara.phoca-plenarias .sessao-card.extraordinaria .sessao-dia-numero{
  color:#9a6a00;
}

.sessoes-camara.phoca-plenarias .sessao-info{
  flex:1;
  padding:14px 18px;
  min-width:0;
}

.sessoes-camara.phoca-plenarias .sessao-tipo{
  margin:0 0 8px;
  font-size:17px;
  color:#676767;
  font-weight:700;
}

.sessoes-camara.phoca-plenarias .sessao-data{
  margin:0 0 14px;
  font-size:15px;
  color:#8a8a8a;
}

.sessoes-camara.phoca-plenarias .sessao-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}

.sessoes-camara.phoca-plenarias .sessao-links a{
  text-decoration:none;
}

.sessoes-camara.phoca-plenarias .link-arquivo{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#fff;
  border:1px solid #d9d9d9;
  color:#0a67a4;
  padding:8px 12px;
  border-radius:6px;
  font-size:14px;
  transition:all 0.2s ease;
}

.sessoes-camara.phoca-plenarias .link-arquivo:hover{
  background:#f6f9fc;
  border-color:#bdd0dc;
  text-decoration:none;
}

.sessoes-camara.phoca-plenarias .arquivo-icone{
  font-size:15px;
  line-height:1;
}

.sessoes-camara.phoca-plenarias .link-video-youtube{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#ff0000;
  color:#fff;
  padding:9px 14px;
  border-radius:6px;
  font-size:14px;
  font-weight:600;
  transition:all 0.2s ease;
}

.sessoes-camara.phoca-plenarias .link-video-youtube:hover{
  background:#d90000;
  color:#fff;
  text-decoration:none;
}

.sessoes-camara.phoca-plenarias .yt-icone{
  position:relative;
  display:inline-block;
  width:20px;
  height:14px;
  background:#fff;
  border-radius:4px;
  flex:0 0 20px;
}

.sessoes-camara.phoca-plenarias .yt-icone::before{
  content:"";
  position:absolute;
  top:50%;
  left:7px;
  transform:translateY(-50%);
  width:0;
  height:0;
  border-left:6px solid #ff0000;
  border-top:4px solid transparent;
  border-bottom:4px solid transparent;
}

.sessoes-camara.phoca-plenarias .yt-texto{
  line-height:1;
}

.sessoes-camara.phoca-plenarias .sem-links{
  font-size:14px;
  color:#b24b4b;
}

.sessoes-camara.phoca-plenarias .sessao-vazia{
  background:#f5f5f5;
  border-left:4px solid #1d79ad;
  padding:18px 20px;
  color:#666;
}

.sessoes-camara.phoca-atas .filtro-esquerda strong span,
.sessoes-camara.phoca-pautas .filtro-esquerda strong span,
.sessoes-camara.phoca-plenarias.modo-decretos .filtro-esquerda strong span,
.sessoes-camara.phoca-plenarias.modo-portarias .filtro-esquerda strong span,
.sessoes-camara.phoca-plenarias.modo-projetos-lei .filtro-esquerda strong span{
  color:#0a4f7a;
}

.sessoes-camara.phoca-atas .link-ata,
.sessoes-camara.phoca-pautas .link-pauta{
  font-weight:600;
}

.sessoes-camara.phoca-atas .sessao-links,
.sessoes-camara.phoca-pautas .sessao-links{
  gap:12px;
}

.sessoes-camara.phoca-atas .sessao-vazia,
.sessoes-camara.phoca-pautas .sessao-vazia{
  background:#f5f5f5;
  border-left:4px solid #1d79ad;
}

.sessoes-camara.phoca-plenarias.modo-decretos .mes-titulo,
.sessoes-camara.phoca-plenarias.modo-portarias .mes-titulo,
.sessoes-camara.phoca-plenarias.modo-projetos-lei .mes-titulo{
  color:#0f3b82;
  font-weight:700;
}

.sessoes-camara.phoca-plenarias.modo-decretos .sessao-card.decreto-card,
.sessoes-camara.phoca-plenarias.modo-portarias .sessao-card.portaria-card,
.sessoes-camara.phoca-plenarias.modo-projetos-lei .sessao-card.projeto-lei-card{
  background:#f3f3f3;
  border-left:4px solid #0f3b82;
}

.sessoes-camara.phoca-plenarias.modo-decretos .sessao-card.decreto-card .sessao-dia-box,
.sessoes-camara.phoca-plenarias.modo-portarias .sessao-card.portaria-card .sessao-dia-box,
.sessoes-camara.phoca-plenarias.modo-projetos-lei .sessao-card.projeto-lei-card .sessao-dia-box{
  background:#dce7f5;
}

.sessoes-camara.phoca-plenarias.modo-decretos .sessao-card.decreto-card .sessao-dia-numero,
.sessoes-camara.phoca-plenarias.modo-portarias .sessao-card.portaria-card .sessao-dia-numero,
.sessoes-camara.phoca-plenarias.modo-projetos-lei .sessao-card.projeto-lei-card .sessao-dia-numero{
  color:#0f5f8f;
}

.sessoes-camara.phoca-plenarias.modo-decretos .sessao-card.decreto-card .sessao-tipo{
  color:#555;
  font-size:18px;
  font-weight:700;
}

.sessoes-camara.phoca-plenarias.modo-decretos .sessao-card.decreto-card .sessao-data{
  color:#7a7a7a;
  margin-bottom:14px;
}

.sessoes-camara.phoca-plenarias.modo-projetos-lei .projeto-ementa{
  margin:0 0 14px 0;
  padding:0 !important;
  background:transparent !important;
  color:#666;
  font-size:14px;
  line-height:1.6;
}

.sessoes-camara.phoca-plenarias.modo-decretos .link-decreto,
.sessoes-camara.phoca-plenarias.modo-portarias .link-portaria,
.sessoes-camara.phoca-plenarias.modo-projetos-lei .link-projeto-lei{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#0f3b82;
  border:1px solid #0f3b82;
  color:#fff !important;
  padding:10px 14px;
  border-radius:6px;
  font-size:14px;
  font-weight:600;
  transition:all .2s ease;
  text-decoration:none !important;
}

.sessoes-camara.phoca-plenarias.modo-decretos .link-decreto:hover,
.sessoes-camara.phoca-plenarias.modo-portarias .link-portaria:hover,
.sessoes-camara.phoca-plenarias.modo-projetos-lei .link-projeto-lei:hover{
  background:#0b2f67;
  border-color:#0b2f67;
  color:#fff !important;
  text-decoration:none !important;
}

.sessoes-camara.phoca-plenarias.modo-decretos .link-decreto .arquivo-icone{
  font-size:16px;
  line-height:1;
}

.sessoes-camara.phoca-plenarias.modo-decretos .sessao-vazia,
.sessoes-camara.phoca-plenarias.modo-portarias .sessao-vazia,
.sessoes-camara.phoca-plenarias.modo-projetos-lei .sessao-vazia{
  background:#f5f5f5;
  border-left:4px solid #0f3b82;
}

.sessoes-camara .sessao-card.solene .sessao-dia-box{
    background:#f3e8ff !important;
}

.sessoes-camara .sessao-card.solene .sessao-dia-numero{
    color:#7a2bbd !important;
}

.sessoes-camara .sessao-card.solene .sessao-tipo strong{
    color:#7a2bbd !important;
}

@media (max-width: 768px){
  .sessoes-camara.phoca-plenarias{
    margin:20px auto 35px;
    padding:0 12px;
  }

  .sessoes-camara.phoca-plenarias .sessoes-filtro{
    padding:16px;
  }

  .sessoes-camara.phoca-plenarias .filtro-direita{
    width:100%;
    flex-direction:column;
    align-items:stretch;
  }

  .sessoes-camara.phoca-plenarias .filtro-direita select,
  .sessoes-camara.phoca-plenarias .filtro-direita button,
  .sessoes-camara.phoca-plenarias .link-arquivo,
  .sessoes-camara.phoca-plenarias .link-video-youtube,
  .sessoes-camara.phoca-plenarias.modo-decretos .link-decreto,
  .sessoes-camara.phoca-plenarias.modo-portarias .link-portaria,
  .sessoes-camara.phoca-plenarias.modo-projetos-lei .link-projeto-lei{
    width:100%;
    min-width:100%;
    justify-content:center;
  }

  .sessoes-camara.phoca-plenarias .sessao-card{
    flex-direction:column;
  }

  .sessoes-camara.phoca-plenarias .sessao-dia-box{
    width:100%;
    min-width:100%;
    border-radius:0;
    padding:14px 10px;
  }

  .sessoes-camara.phoca-plenarias .sessao-dia-numero{
    font-size:36px;
  }
}

/* =====================================================
   11. PORTAIS
===================================================== */

.portal-legislacao,
.portal-camara{
  max-width:1280px;
  margin:0 auto;
  padding:28px 15px 55px;
}

.portal-leg-topo,
.portal-camara-topo{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg, #0b2c61 0%, #0f3b82 55%, #1d5ab8 100%);
  border-radius:22px;
  padding:42px 34px;
  margin-bottom:34px;
  box-shadow:0 18px 40px rgba(15,59,130,.18);
}

.portal-leg-topo::before,
.portal-camara-topo::before{
  content:"";
  position:absolute;
  top:-60px;
  right:-60px;
  width:220px;
  height:220px;
  background:rgba(255,255,255,.08);
  border-radius:50%;
}

.portal-leg-topo::after,
.portal-camara-topo::after{
  content:"";
  position:absolute;
  bottom:-80px;
  left:-80px;
  width:260px;
  height:260px;
  background:rgba(255,255,255,.05);
  border-radius:50%;
}

.portal-leg-topo__conteudo,
.portal-camara-topo__conteudo{
  position:relative;
  z-index:2;
  max-width:860px;
}

.portal-leg-topo__tag,
.portal-camara-topo__tag{
  display:inline-block !important;
  margin-bottom:12px;
  padding:7px 14px;
  font-size:.88rem;
  font-weight:700;
  color:#0f3b82;
  background:#ffd400 !important;
  border-radius:999px;
}

.portal-leg-topo h1,
.portal-camara-topo h1{
  margin:0 0 14px !important;
  color:#fff !important;
  font-size:2.6rem;
  font-weight:800;
  line-height:1.15;
  background:transparent !important;
}

.portal-leg-topo p,
.portal-camara-topo p{
  margin:0 !important;
  max-width:760px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  color:rgba(255,255,255,.94) !important;
  font-size:1.08rem !important;
  line-height:1.8 !important;
  width:auto !important;
  height:auto !important;
  min-height:auto !important;
}

.portal-leg-bloco,
.portal-camara-bloco{
  margin-bottom:34px;
}

.portal-leg-bloco--destaque{
  background:#f7fafd;
  border:1px solid #dce6f2;
  border-radius:20px;
  padding:26px 22px;
}

.portal-leg-titulo,
.portal-camara-titulo{
  margin-bottom:20px;
}

.portal-leg-titulo h2,
.portal-camara-titulo h2{
  margin:0 0 8px;
  color:#0f3b82;
  font-size:1.75rem;
  font-weight:800;
  line-height:1.2;
}

.portal-leg-titulo p,
.portal-camara-titulo p{
  margin:0;
  color:#5b6470;
  font-size:1rem;
  line-height:1.7;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.portal-leg-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:22px;
}

.portal-leg-grid--sessao{
  grid-template-columns:1.3fr 1fr 1fr;
}

.portal-camara-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:22px;
}

.portal-leg-card,
.portal-camara-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-decoration:none !important;
  background:#fff;
  border:1px solid #dfe7f1;
  border-top:5px solid #0f3b82;
  border-radius:18px;
  padding:24px 22px;
  min-height:235px;
  box-shadow:0 10px 26px rgba(0,0,0,.05);
  transition:all .25s ease;
}

.portal-leg-card:hover,
.portal-camara-card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 34px rgba(0,0,0,.10);
  border-color:#c9d9ec;
}

.portal-leg-card__icone,
.portal-camara-card__icone{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:62px;
  height:62px;
  margin-bottom:16px;
  border-radius:50%;
  background:#eef4fb !important;
  font-size:1.75rem;
}

.portal-leg-card h3,
.portal-camara-card h3{
  margin:0 0 10px;
  color:#0f3b82;
  font-size:1.26rem;
  font-weight:800;
  line-height:1.3;
  background:transparent !important;
}

.portal-leg-card p,
.portal-camara-card p{
  margin:0 0 18px !important;
  color:#5b6470 !important;
  font-size:.98rem;
  line-height:1.75;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  width:auto !important;
  height:auto !important;
  min-height:auto !important;
}

.portal-leg-card__link,
.portal-camara-card__link{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:800;
  color:#0f3b82;
  font-size:.95rem;
}

.portal-leg-card__link::after,
.portal-camara-card__link::after{
  content:"→";
  font-size:1rem;
}

.portal-leg-card--principal,
.portal-camara-card--destaque{
  background:linear-gradient(135deg, #0f3b82 0%, #1c56ad 100%);
  border-color:#0f3b82;
}

.portal-leg-card--principal .portal-leg-card__icone,
.portal-camara-card--destaque .portal-camara-card__icone{
  background:rgba(255,255,255,.14) !important;
}

.portal-leg-card--principal h3,
.portal-leg-card--principal p,
.portal-leg-card--principal .portal-leg-card__link,
.portal-leg-card--principal .portal-leg-card__icone,
.portal-camara-card--destaque h3,
.portal-camara-card--destaque p,
.portal-camara-card--destaque .portal-camara-card__link,
.portal-camara-card--destaque .portal-camara-card__icone{
  color:#fff !important;
}

.portal-leg-acesso-rapido,
.portal-camara-acesso-rapido{
  margin-top:18px;
  background:#ffffff;
  border:1px solid #dfe7f1;
  border-radius:18px;
  padding:24px 22px;
  box-shadow:0 10px 24px rgba(0,0,0,.05);
}

.portal-leg-acesso-rapido h2,
.portal-camara-acesso-rapido h2{
  margin:0 0 16px;
  font-size:1.5rem;
  font-weight:800;
  color:#0f3b82;
}

.portal-leg-links,
.portal-camara-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.portal-leg-links a,
.portal-camara-links a{
  display:inline-flex;
  align-items:center;
  text-decoration:none !important;
  background:#f3f7fc;
  color:#0f3b82;
  border:1px solid #d6e1ee;
  border-radius:999px;
  padding:10px 16px;
  font-weight:700;
  font-size:.95rem;
  transition:all .2s ease;
}

.portal-leg-links a:hover,
.portal-camara-links a:hover{
  background:#0f3b82;
  color:#fff !important;
  border-color:#0f3b82;
}

.portal-legislacao p,
.portal-legislacao h1,
.portal-legislacao h2,
.portal-legislacao h3{
  background:transparent !important;
  box-shadow:none !important;
}

.portal-legislacao p{
  margin-top:0 !important;
  padding:0 !important;
  border:0 !important;
  width:auto !important;
  height:auto !important;
  min-height:auto !important;
}

.portal-leg-topo__conteudo p{
  color:rgba(255,255,255,.94) !important;
  max-width:760px !important;
  line-height:1.8 !important;
}

.portal-leg-card--principal p{
  color:#fff !important;
}

@media (max-width: 1100px){
  .portal-leg-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .portal-leg-grid--sessao{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .portal-leg-card--principal{
    grid-column:1 / -1;
  }
}

@media (max-width: 767px){
  .portal-legislacao,
  .portal-camara{
    padding:20px 12px 40px;
  }

  .portal-leg-topo,
  .portal-camara-topo{
    padding:28px 20px;
    border-radius:18px;
  }

  .portal-leg-topo h1,
  .portal-camara-topo h1{
    font-size:2rem;
  }

  .portal-leg-topo p,
  .portal-camara-topo p{
    font-size:.98rem !important;
    line-height:1.7 !important;
  }

  .portal-leg-titulo h2,
  .portal-camara-titulo h2{
    font-size:1.45rem;
  }

  .portal-leg-grid,
  .portal-leg-grid--sessao,
  .portal-camara-grid{
    grid-template-columns:1fr;
    gap:16px;
  }

  .portal-leg-card,
  .portal-camara-card{
    min-height:auto;
    padding:20px 16px;
    border-radius:16px;
  }

  .portal-leg-card h3,
  .portal-camara-card h3{
    font-size:1.15rem;
  }

  .portal-leg-links,
  .portal-camara-links{
    gap:10px;
  }

  .portal-leg-links a,
  .portal-camara-links a{
    width:100%;
    justify-content:center;
    text-align:center;
  }
}

/* =========================================================
   HOME INICIAL - CÂMARA MUNICIPAL DE DERRUBADAS
   VERSÃO INSTITUCIONAL REFINADA
========================================================= */

:root{
  --home-bg: #f3f5f7;
  --home-surface: #ffffff;
  --home-surface-soft: #f8fbff;
  --home-border: #dbe5f0;
  --home-primary: #0f3b82;
  --home-primary-2: #1459a6;
  --home-secondary: #1888d8;
  --home-accent: #15a2e5;
  --home-gold: #ffd400;
  --home-text: #48576a;
  --home-text-soft: #5e6d7d;
  --home-shadow: 0 10px 30px rgba(15, 59, 130, .06);
  --home-shadow-hover: 0 16px 34px rgba(15, 59, 130, .12);
  --home-radius-xl: 28px;
  --home-radius-lg: 22px;
  --home-radius-md: 18px;
  --home-radius-sm: 12px;
  --home-space-top-desktop: 32px;
  --home-space-top-tablet: 24px;
  --home-space-top-mobile: 18px;
}

/* =========================================================
   1. ESTRUTURA GERAL
========================================================= */

.site-grid > .container-banner,
.site-grid > .home-camara{
  grid-column: 1 / -1;
  width: 100%;
  max-width: 100%;
}

.site-grid > .container-banner{
  margin: 0 !important;
  padding: 0 !important;
}

.site-grid > .home-camara{
  display: block;
  margin-top: var(--home-space-top-desktop) !important;
  padding-top: 0 !important;
}

.site .home-camara{
  width: 100%;
  background:
    linear-gradient(180deg, #f8fafc 0%, var(--home-bg) 100%);
  padding: 10px 0 50px;
}

.site .home-camara__wrap{
  width: min(1440px, calc(100% - 80px));
  margin: 0 auto;
}

/* =========================================================
   2. CAROUSEL CK
========================================================= */

.container-banner.full-width{
  width: 100%;
  max-width: 100%;
  margin: 0 auto !important;
  padding: 0 !important;
  display: block;
  text-align: center;
  overflow: visible;
}

#carouselck_wrap_125{
  width: 100% !important;
  max-width: 1600px !important;
  height: 420px !important;
  margin: 0 auto !important;
  position: relative !important;
  left: 0 !important;
  right: 0 !important;
  float: none !important;
  overflow: hidden !important;
  border-radius: 0 0 20px 20px;
}

#carouselck_wrap_125 .carouselck_images{
  width: 100% !important;
  height: 420px !important;
  position: relative !important;
  margin: 0 auto !important;
  left: 0 !important;
  right: 0 !important;
}

#carouselck_wrap_125 .carouselck_src,
#carouselck_wrap_125 .carouselck_captions,
#carouselck_wrap_125 .carouselck_videos,
#carouselck_wrap_125 .carouselck_thumbs_cont{
  width: 100% !important;
  margin: 0 auto !important;
  left: 0 !important;
  right: 0 !important;
}

#carouselck_wrap_125 .carouselck_prev,
#carouselck_wrap_125 .carouselck_next{
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 2000 !important;
}

#carouselck_wrap_125 .carouselck_prev{
  left: 14px !important;
}

#carouselck_wrap_125 .carouselck_next{
  right: 14px !important;
}

#carouselck_wrap_125 .carouselck_commands{
  position: absolute !important;
  top: 50% !important;
  right: 58px !important;
  transform: translateY(-50%) !important;
  z-index: 2000 !important;
}

/* =========================================================
   3. BOAS-VINDAS
========================================================= */

.site .home-camara__boasvindas{
  position: relative;
  text-align: center;
  background:
    linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
  border: 1px solid rgba(15, 59, 130, .08);
  border-radius: var(--home-radius-xl);
  padding: 42px 36px 36px;
  box-shadow: 0 14px 34px rgba(15, 59, 130, .07);
  margin-bottom: 28px;
  overflow: hidden;
}

.site .home-camara__boasvindas::before{
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
  background: linear-gradient(180deg, var(--home-primary), var(--home-secondary));
}

.site .home-camara__boasvindas::after{
  content: "";
  position: absolute;
  top: -60px;
  right: -60px;
  width: 210px;
  height: 210px;
  border-radius: 50%;
  background: rgba(24, 136, 216, .06);
}

.site .home-camara__tag{
  display: inline-block;
  background: linear-gradient(90deg, var(--home-primary), var(--home-secondary));
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  padding: 8px 16px;
  border-radius: 999px;
  margin-bottom: 14px;
  box-shadow: 0 8px 18px rgba(15, 59, 130, .14);
}

.site .home-camara__boasvindas h2{
  margin: 0 0 12px;
  font-size: 42px;
  line-height: 1.12;
  font-weight: 800;
  color: var(--home-primary);
}

.site .home-camara__boasvindas p{
  max-width: 980px;
  margin: 0 auto;
  font-size: 17px;
  line-height: 1.82;
  color: var(--home-text);
}

.site .home-camara__meta{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 14px;
  margin-top: 24px;
}

.site .home-camara__meta span{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 999px;
  background: linear-gradient(180deg, #eef4fb 0%, #f6faff 100%);
  border: 1px solid rgba(15, 59, 130, .10);
  color: var(--home-primary);
  font-size: 14px;
  font-weight: 700;
}

/* =========================================================
   4. FAIXA INSTITUCIONAL
========================================================= */

.site .home-camara__faixa{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 30px;
}

.site .home-camara__faixa-item{
  background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
  border: 1px solid rgba(15, 59, 130, .08);
  border-radius: var(--home-radius-md);
  padding: 22px 18px;
  box-shadow: 0 10px 24px rgba(15, 59, 130, .05);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.site .home-camara__faixa-item::before{
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, var(--home-primary), var(--home-secondary));
}

.site .home-camara__faixa-item strong{
  display: block;
  margin-bottom: 8px;
  font-size: 18px;
  line-height: 1.2;
  color: var(--home-primary);
  font-weight: 800;
}

.site .home-camara__faixa-item span{
  display: block;
  color: var(--home-text-soft);
  font-size: 15px;
  line-height: 1.65;
}

/* =========================================================
   5. TÍTULOS DE SEÇÃO
========================================================= */

.site .home-camara__titulo{
  position: relative;
  text-align: center;
  margin-bottom: 20px;
}

.site .home-camara__titulo::before{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 3px;
  background: linear-gradient(90deg, var(--home-accent), var(--home-primary));
  transform: translateY(-50%);
  border-radius: 20px;
}

.site .home-camara__titulo h2{
  display: inline-block;
  position: relative;
  z-index: 2;
  margin: 0;
  padding: 0 18px;
  background: var(--home-bg);
  font-size: 30px;
  line-height: 1.2;
  font-weight: 800;
  color: var(--home-primary);
}

/* =========================================================
   6. ACESSO RÁPIDO
========================================================= */

.site .home-camara__acessos{
  width: 100%;
  margin-bottom: 28px;
}

.site .home-camara__grid--compacto{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.site .home-camara-card--compacto{
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 112px;
  background: var(--home-surface);
  border: 1px solid var(--home-border);
  border-radius: var(--home-radius-md);
  padding: 18px;
  text-decoration: none;
  box-shadow: 0 8px 22px rgba(15, 59, 130, .05);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  position: relative;
  overflow: hidden;
}

.site .home-camara-card--compacto::before{
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, var(--home-primary), var(--home-secondary));
}

.site .home-camara-card--compacto:hover{
  transform: translateY(-4px);
  box-shadow: var(--home-shadow-hover);
  border-color: #c7d9ee;
}

.site .home-camara-card__icone{
  flex: 0 0 auto;
  width: 54px;
  height: 54px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #eef4fb;
  font-size: 28px;
  line-height: 1;
}

.site .home-camara-card__conteudo{
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.site .home-camara-card--compacto h3{
  margin: 0;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 800;
  color: var(--home-primary);
}

.site .home-camara-card__link{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 800;
  color: var(--home-secondary);
}

.site .home-camara-card__link::after{
  content: "→";
  font-size: 15px;
}

/* =========================================================
   7. ÚLTIMA SESSÃO
========================================================= */

.site .home-camara__sessao-full{
  position: relative;
  background:
    linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
  border: 1px solid rgba(15, 59, 130, .08);
  border-radius: var(--home-radius-xl);
  padding: 32px 30px 36px;
  box-shadow: 0 16px 36px rgba(15, 59, 130, .08);
  margin-bottom: 30px;
  overflow: hidden;
}

.site .home-camara__sessao-full::before{
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
  background: linear-gradient(180deg, var(--home-primary), var(--home-secondary));
}

.site .home-camara__sessao-texto{
  max-width: 920px;
  margin: 0 auto 22px;
  text-align: center;
  color: var(--home-text);
  font-size: 16px;
  line-height: 1.8;
}

.site .home-video-full{
  position: relative;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  border-radius: 24px;
  overflow: hidden;
  cursor: pointer;
  background: #0c1f3c;
  box-shadow: 0 20px 38px rgba(0,0,0,.16);
  aspect-ratio: 16 / 9;
  border: 1px solid rgba(255,255,255,.10);
}

.site .home-video-full::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.18) 100%);
  pointer-events: none;
}

.site .home-video-full img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}

.site .home-video-full:hover img{
  transform: scale(1.03);
}

.site .home-video-full iframe{
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
  z-index: 3;
}

.site .home-video-full__play{
  position: absolute;
  top: 50%;
  left: 50%;
  width: 92px;
  height: 92px;
  margin: -46px 0 0 -46px;
  border-radius: 50%;
  background: rgba(255,255,255,.95);
  color: #d90000;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 38px;
  box-shadow: 0 14px 28px rgba(0,0,0,.22);
  z-index: 2;
  transition: transform .25s ease, box-shadow .25s ease;
}

.site .home-video-full:hover .home-video-full__play{
  transform: scale(1.06);
  box-shadow: 0 18px 34px rgba(0,0,0,.28);
}

.site .home-video-full__live{
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 2;
  background: linear-gradient(90deg, #d90000, #ff2a2a);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  padding: 8px 12px;
  border-radius: 999px;
  letter-spacing: .08em;
  box-shadow: 0 8px 18px rgba(217,0,0,.30);
}

.site .home-video-full__acoes{
  display: flex;
  justify-content: center;
  margin-top: 22px;
}

.site .home-btn-canal{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 230px;
  padding: 13px 22px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--home-primary), var(--home-secondary));
  color: #fff !important;
  font-weight: 800;
  font-size: 15px;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(15,59,130,.18);
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}

.site .home-btn-canal::after{
  content: "↗";
  font-size: 14px;
}

.site .home-btn-canal:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(15,59,130,.24);
  filter: brightness(1.03);
}

.site .home-video-full--erro{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 260px;
  background: linear-gradient(180deg, #f5f8fc 0%, #fbfdff 100%);
  border: 1px dashed rgba(15, 59, 130, .18);
  border-radius: 22px;
  color: var(--home-text-soft);
  text-align: center;
  padding: 26px;
}

.site .home-video-full--erro p{
  max-width: 700px;
  margin: 0 auto;
  font-size: 15px;
  line-height: 1.7;
}

/* =========================================================
   8. NOTÍCIAS / BLOCO FINAL
========================================================= */

.site .home-camara__noticias-placeholder{
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
  border: 1px solid rgba(15, 59, 130, .08);
  border-radius: var(--home-radius-xl);
  padding: 30px 28px;
  box-shadow: 0 14px 32px rgba(15, 59, 130, .06);
  text-align: center;
}

.site .home-camara__noticias-placeholder p{
  max-width: 820px;
  margin: 0 auto;
  color: var(--home-text);
  font-size: 16px;
  line-height: 1.75;
}

/* =========================================================
   9. RESPONSIVO
========================================================= */

@media (max-width: 1200px){
  .site .home-camara__wrap{
    width: min(1400px, calc(100% - 48px));
  }

  .site .home-camara__grid--compacto{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .site .home-camara__faixa{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 991px){
  .site-grid > .home-camara{
    margin-top: var(--home-space-top-tablet) !important;
  }

  #carouselck_wrap_125,
  #carouselck_wrap_125 .carouselck_images{
    height: 340px !important;
  }

  .site .home-camara__boasvindas{
    padding: 30px 20px;
  }

  .site .home-camara__boasvindas h2{
    font-size: 32px;
  }

  .site .home-camara__boasvindas p{
    font-size: 16px;
  }

  .site .home-camara__titulo h2{
    font-size: 26px;
  }

  .site .home-camara__sessao-full{
    padding: 24px 18px 24px;
  }
}

@media (max-width: 767px){
  .site-grid > .home-camara{
    margin-top: var(--home-space-top-mobile) !important;
  }

  .site .home-camara{
    padding: 8px 0 34px;
  }

  .site .home-camara__wrap{
    width: calc(100% - 24px);
  }

  #carouselck_wrap_125,
  #carouselck_wrap_125 .carouselck_images{
    height: 240px !important;
  }

  .site .home-camara__boasvindas{
    padding: 24px 16px;
    border-radius: 20px;
  }

  .site .home-camara__tag{
    font-size: 12px;
    padding: 7px 14px;
  }

  .site .home-camara__boasvindas h2{
    font-size: 26px;
  }

  .site .home-camara__boasvindas p{
    font-size: 15px;
    line-height: 1.7;
  }

  .site .home-camara__meta{
    flex-direction: column;
    align-items: center;
  }

  .site .home-camara__titulo{
    margin-bottom: 16px;
  }

  .site .home-camara__titulo h2{
    font-size: 22px;
    padding: 0 12px;
  }

  .site .home-camara__grid--compacto{
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .site .home-camara-card--compacto{
    min-height: auto;
    padding: 16px;
  }

  .site .home-camara-card--compacto h3{
    font-size: 18px;
  }

  .site .home-camara__sessao-full{
    border-radius: 20px;
    padding: 20px 14px 22px;
  }

  .site .home-camara__sessao-texto{
    font-size: 15px;
    line-height: 1.7;
  }

  .site .home-video-full{
    border-radius: 16px;
  }

  .site .home-video-full__play{
    width: 68px;
    height: 68px;
    margin: -34px 0 0 -34px;
    font-size: 28px;
  }

  .site .home-video-full__live{
    top: 12px;
    left: 12px;
    font-size: 11px;
    padding: 7px 10px;
  }

  .site .home-btn-canal{
    width: 100%;
    min-width: 0;
  }

  .site .home-camara__noticias-placeholder{
    padding: 22px 16px;
    border-radius: 20px;
  }

  .site .home-camara__noticias-placeholder p{
    font-size: 15px;
    line-height: 1.7;
  }
}

/* =====================================================
   12. RODAPÉ CÂMARA - FOOTER
===================================================== */

.container-footer,
.footer,
.grid-child.container-footer,
.grid-child.footer{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  max-width:100% !important;
  width:100% !important;
}

.container-footer > .grid-child,
.footer > .grid-child{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  max-width:100% !important;
  width:100% !important;
}

.container-footer .moduletable,
.footer .moduletable,
.container-footer .mod-custom,
.footer .mod-custom,
.container-footer .custom,
.footer .custom{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  max-width:100% !important;
  width:100% !important;
}

.rodape-camara-full{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
  background:linear-gradient(135deg, #07285f 0%, #0d387d 50%, #0a234d 100%) !important;
  color:#fff !important;
  clear:both !important;
  box-sizing:border-box !important;
}

.rodape-camara-full,
.rodape-camara-full *,
.rodape-camara-full *::before,
.rodape-camara-full *::after{
  box-sizing:border-box !important;
}

.rodape-camara-box{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

.rodape-camara-grid{
  width:100% !important;
  max-width:1380px !important;
  margin:0 auto !important;
  padding:30px 32px 22px !important;
  display:grid !important;
  grid-template-columns:1.2fr 0.9fr 0.95fr 0.70fr !important;
  gap:32px !important;
  align-items:start !important;
}

.rodape-camara-col{
  min-width:0 !important;
  background:transparent !important;
}

.rodape-camara-col h3{
  margin:0 0 16px !important;
  padding:0 !important;
  color:#fff !important;
  font-size:1.12rem !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.rodape-camara-col h3::after{
  content:"" !important;
  display:block !important;
  width:48px !important;
  height:4px !important;
  margin-top:10px !important;
  border-radius:999px !important;
  background:#8dccff !important;
}

.rodape-info,
.rodape-info p,
.rodape-info a,
.rodape-fone,
.rodape-fone a,
.rodape-links,
.rodape-links li,
.rodape-links a,
.rodape-redes,
.rodape-redes a,
.rodape-redes svg,
.rodape-logo-box,
.rodape-logo-box img,
.rodape-bottom,
.rodape-bottom-left,
.rodape-bottom-right,
.rodape-bottom a{
  box-shadow:none !important;
}

.rodape-info{
  margin:0 0 10px !important;
  padding:0 !important;
  background:transparent !important;
}

.rodape-info p{
  margin:0 0 7px !important;
  padding:0 !important;
  background:transparent !important;
  color:rgba(255,255,255,.88) !important;
  font-size:.95rem !important;
  line-height:1.5 !important;
  border:0 !important;
}

.rodape-info a{
  color:#dcecff !important;
  text-decoration:none !important;
  background:transparent !important;
}

.rodape-info a:hover{
  color:#ffffff !important;
  text-decoration:underline !important;
}

.rodape-fone{
  margin:12px 0 12px !important;
  padding:0 !important;
  background:transparent !important;
}

.rodape-fone a{
  display:inline-block !important;
  margin:0 !important;
  padding:0 !important;
  color:#ffffff !important;
  text-decoration:none !important;
  font-size:1.85rem !important;
  line-height:1.1 !important;
  font-weight:800 !important;
  border:0 !important;
  background:transparent !important;
}

.rodape-fone a:hover{
  color:#bfe1ff !important;
}

.rodape-links{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}

.rodape-links li{
  list-style:none !important;
  margin:0 0 8px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}

.rodape-links a{
  display:inline-block !important;
  position:relative !important;
  padding:0 0 0 14px !important;
  margin:0 !important;
  color:rgba(255,255,255,.92) !important;
  text-decoration:none !important;
  font-size:.98rem !important;
  line-height:1.45 !important;
  border:0 !important;
  background:transparent !important;
}

.rodape-links a::before{
  content:"›" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  color:#8dccff !important;
  font-weight:700 !important;
}

.rodape-links a:hover{
  color:#ffffff !important;
  transform:translateX(3px) !important;
}

.rodape-redes{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin-top:14px !important;
  padding:0 !important;
  background:transparent !important;
}

.rodape-redes a{
  width:40px !important;
  height:40px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:10px !important;
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  text-decoration:none !important;
  padding:0 !important;
}

.rodape-redes a:hover{
  background:#ffffff !important;
}

.rodape-redes svg{
  width:18px !important;
  height:18px !important;
  fill:#ffffff !important;
  background:transparent !important;
}

.rodape-redes a:hover svg{
  fill:#0d387d !important;
}

.logo-col{
  display:flex !important;
  justify-content:center !important;
  align-items:flex-start !important;
}

.rodape-logo-box{
  width:100% !important;
  max-width:165px !important;
  padding:14px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  text-align:center !important;
}

.rodape-logo-box img{
  display:block !important;
  width:100% !important;
  max-width:115px !important;
  height:auto !important;
  margin:0 auto !important;
  border:0 !important;
  background:transparent !important;
}

.rodape-bottom{
  width:100% !important;
  max-width:1380px !important;
  margin:0 auto !important;
  padding:14px 32px 14px !important;
  border-top:1px solid rgba(255,255,255,.10) !important;
  border-bottom:0 !important;
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:16px !important;
  flex-wrap:wrap !important;
  background:transparent !important;
}

.rodape-bottom-left,
.rodape-bottom-right{
  margin:0 !important;
  padding:0 !important;
  color:rgba(255,255,255,.78) !important;
  font-size:.92rem !important;
  background:transparent !important;
}

.rodape-bottom a{
  color:rgba(255,255,255,.78) !important;
  text-decoration:none !important;
  background:transparent !important;
}

.rodape-bottom a:hover{
  color:#ffffff !important;
  text-decoration:underline !important;
}

.rodape-camara-full,
.rodape-bottom,
.rodape-bottom-left,
.rodape-bottom-right{
  margin-bottom:0 !important;
}

.rodape-bottom > *:last-child,
.rodape-camara-full p:last-child,
.rodape-camara-full div:last-child{
  margin-bottom:0 !important;
}

.rodape-camara-full::after{
  content:"";
  display:block;
  width:100%;
  height:2px;
  background:#0d387d;
  margin-bottom:-2px;
}

@media (max-width: 1100px){
  .rodape-camara-grid{
    grid-template-columns:1fr 1fr !important;
  }

  .logo-col{
    justify-content:flex-start !important;
  }
}

@media (max-width: 767px){
  .rodape-camara-grid{
    grid-template-columns:1fr !important;
    gap:22px !important;
    padding:26px 18px 20px !important;
  }

  .rodape-fone a{
    font-size:1.55rem !important;
  }

  .rodape-bottom{
    padding:14px 18px 16px !important;
    flex-direction:column !important;
    align-items:flex-start !important;
  }
}

/* =========================================================
   RODAPÉ - REDES SOCIAIS COM ÍCONES VIA CSS
========================================================= */

.rodape-redes{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin-top:14px !important;
  padding:0 !important;
}

.rodape-redes a{
  width:42px !important;
  height:42px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:10px !important;
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  text-decoration:none !important;
  position:relative !important;
  transition:all .25s ease !important;
  box-shadow:none !important;
}

/* ícones */
.rodape-redes a::before{
  font-family:"Font Awesome 6 Brands" !important;
  font-weight:400 !important;
  font-size:18px !important;
  line-height:1 !important;
  color:#ffffff !important;
  display:block !important;
}

/* fallback para whatsapp em alguns casos */
.rodape-redes a[aria-label="WhatsApp"]::before{
  font-family:"Font Awesome 6 Brands" !important;
}

/* códigos dos ícones */
.rodape-redes a[aria-label="Facebook"]::before{
  content:"\f39e" !important;
}

.rodape-redes a[aria-label="Instagram"]::before{
  content:"\f16d" !important;
}

.rodape-redes a[aria-label="YouTube"]::before{
  content:"\f167" !important;
}

.rodape-redes a[aria-label="WhatsApp"]::before{
  content:"\f232" !important;
}

/* hover */
.rodape-redes a:hover{
  background:#ffffff !important;
  transform:translateY(-2px) !important;
  box-shadow:0 10px 20px rgba(0,0,0,.12) !important;
}

.rodape-redes a[aria-label="Facebook"]:hover::before{
  color:#1877f2 !important;
}

.rodape-redes a[aria-label="Instagram"]:hover::before{
  color:#e1306c !important;
}

.rodape-redes a[aria-label="YouTube"]:hover::before{
  color:#ff0000 !important;
}

.rodape-redes a[aria-label="WhatsApp"]:hover::before{
  color:#25d366 !important;
}

/* =====================================================
   ALTO CONTRASTE - HOME COMPLETO
===================================================== */

body.alto-contraste,
body.alto-contraste .site-grid,
body.alto-contraste .home-camara,
body.alto-contraste .home-camara__wrap{
    background: #000 !important;
    color: #ff0 !important;
}

/* remove brilhos e sombras */
body.alto-contraste *,
body.alto-contraste *::before,
body.alto-contraste *::after{
    box-shadow: none !important;
    text-shadow: none !important;
}

/* textos gerais */
body.alto-contraste h1,
body.alto-contraste h2,
body.alto-contraste h3,
body.alto-contraste h4,
body.alto-contraste h5,
body.alto-contraste h6,
body.alto-contraste p,
body.alto-contraste span,
body.alto-contraste strong,
body.alto-contraste li,
body.alto-contraste div{
    color: #ff0 !important;
}

/* links */
body.alto-contraste a{
    color: #00ffff !important;
}

/* =====================================================
   BOAS-VINDAS / TAGS SUPERIORES
===================================================== */

body.alto-contraste .home-camara__boasvindas{
    background: #000 !important;
    border: 1px solid #ff0 !important;
}

body.alto-contraste .home-camara__tag{
    background: #000 !important;
    color: #ff0 !important;
    border: 1px solid #ff0 !important;
}

/* ESSA PARTE É A DAS "PILULAS" BRANCAS DO TOPO */
body.alto-contraste .home-camara__meta,
body.alto-contraste .home-camara__meta span{
    background: transparent !important;
}

body.alto-contraste .home-camara__meta span{
    display: inline-block !important;
    background: #000 !important;
    color: #ff0 !important;
    border: 1px solid #ff0 !important;
    box-shadow: none !important;
}

/* =====================================================
   FAIXA INSTITUCIONAL
===================================================== */

body.alto-contraste .home-camara__faixa,
body.alto-contraste .home-camara__faixa-item{
    background: #000 !important;
}

body.alto-contraste .home-camara__faixa-item{
    border: 1px solid #ff0 !important;
}

/* =====================================================
   TÍTULOS DE SEÇÃO
===================================================== */

/* linha azul/amarela atrás do título */
body.alto-contraste .home-camara__titulo{
    background: transparent !important;
    border: 0 !important;
}

/* fundo branco atrás de "Acesso Rápido" e "Última Sessão" */
body.alto-contraste .home-camara__titulo h2{
    display: inline-block !important;
    background: #000 !important;
    color: #ff0 !important;
    border: 1px solid #ff0 !important;
    padding: 6px 18px !important;
}

/* caso exista linha decorativa em pseudo-elemento */
body.alto-contraste .home-camara__titulo::before,
body.alto-contraste .home-camara__titulo::after{
    background: #ff0 !important;
    border-color: #ff0 !important;
}

/* =====================================================
   CARDS DE ACESSO RÁPIDO
===================================================== */

body.alto-contraste .home-camara__acessos,
body.alto-contraste .home-camara__grid--compacto,
body.alto-contraste .home-camara-card--compacto{
    background: #000 !important;
}

body.alto-contraste .home-camara-card--compacto{
    border: 2px solid #ff0 !important;
}

body.alto-contraste .home-camara-card__conteudo,
body.alto-contraste .home-camara-card__conteudo h3,
body.alto-contraste .home-camara-card__link{
    background: transparent !important;
    color: #ff0 !important;
}

body.alto-contraste .home-camara-card__icone{
    background: #111 !important;
    border: 1px solid #ff0 !important;
    color: #ff0 !important;
}

/* =====================================================
   BLOCO DA ÚLTIMA SESSÃO / NOTÍCIAS
===================================================== */

body.alto-contraste .home-camara__sessao-full,
body.alto-contraste .home-camara__noticias-placeholder,
body.alto-contraste .home-video-full,
body.alto-contraste .home-video-full__acoes{
    background: #000 !important;
    border-color: #ff0 !important;
    color: #ff0 !important;
}

body.alto-contraste .home-video-full__play,
body.alto-contraste .home-video-full__live{
    background: #000 !important;
    color: #ff0 !important;
    border: 1px solid #ff0 !important;
}

body.alto-contraste .home-btn-canal{
    background: #000 !important;
    color: #00ffff !important;
    border: 2px solid #00ffff !important;
}

/* =====================================================
   TOPO / MENU / RODAPÉ
===================================================== */

body.alto-contraste .container-header,
body.alto-contraste .container-nav,
body.alto-contraste .container-top-a,
body.alto-contraste .topo-institucional-camara,
body.alto-contraste .topo-institucional-inner,
body.alto-contraste .barra-acessibilidade,
body.alto-contraste .container-footer,
body.alto-contraste footer{
    background: #000 !important;
    color: #ff0 !important;
    border-color: #ff0 !important;
}

body.alto-contraste .mod-menu a,
body.alto-contraste .container-nav a,
body.alto-contraste .barra-acessibilidade a{
    color: #00ffff !important;
}

body.alto-contraste .mod-menu__sub{
    background: #000 !important;
    border: 1px solid #ff0 !important;
}

/* =========================================================
   PÁGINA DE NOTÍCIAS - JOOMLA BLOG DE CATEGORIA
   Classe do item de menu: pagina-noticias
========================================================= */

/* =========================================================
   1. ÁREA GERAL
========================================================= */
.pagina-noticias{
  --noticias-azul:#0F3B82;
  --noticias-azul-escuro:#0c2f68;
  --noticias-texto:#475569;
  --noticias-borda:#dbe4ee;
  --noticias-fundo:#ffffff;
  --noticias-sombra:0 8px 24px rgba(15, 59, 130, 0.06);
  --noticias-raio:18px;
}

.pagina-noticias .com-content-category-blog,
.pagina-noticias .blog,
.blog.pagina-noticias{
  max-width:1200px;
  margin:0 auto;
  padding:30px 15px 40px;
}

/* título principal da página */
.pagina-noticias .page-header,
.blog.pagina-noticias .page-header{
  margin-bottom:22px;
}

.pagina-noticias .page-header h1,
.blog.pagina-noticias .page-header h1{
  margin:0;
  color:var(--noticias-azul);
  font-size:2rem;
  line-height:1.2;
  font-weight:800;
}

/* descrição da categoria */
.pagina-noticias .category-desc,
.blog.pagina-noticias .category-desc{
  margin:0 0 28px;
  color:#334155;
  line-height:1.7;
}

/* =========================================================
   2. CONTAINER DOS ITENS
========================================================= */
.pagina-noticias .blog-items,
.blog.pagina-noticias .blog-items{
  display:flex !important;
  flex-direction:column !important;
  gap:22px !important;
  margin:0 !important;
  padding:0 !important;
}

.pagina-noticias .blog-items > div,
.blog.pagina-noticias .blog-items > div{
  width:100% !important;
  max-width:100% !important;
  flex:0 0 100% !important;
  margin:0 !important;
  padding:0 !important;
}

/* remove larguras herdadas do grid do Joomla */
.pagina-noticias .items-row,
.blog.pagina-noticias .items-row{
  display:block !important;
  margin:0 !important;
}

.pagina-noticias .items-row > [class*="col-"],
.blog.pagina-noticias .items-row > [class*="col-"],
.pagina-noticias .blog-items > [class*="col-"],
.blog.pagina-noticias .blog-items > [class*="col-"]{
  width:100% !important;
  max-width:100% !important;
  flex:0 0 100% !important;
  margin:0 !important;
  padding:0 !important;
}

/* =========================================================
   3. CARD DA NOTÍCIA
========================================================= */
.pagina-noticias .blog-item,
.blog.pagina-noticias .blog-item,
.pagina-noticias article,
.blog.pagina-noticias article{
  display:grid !important;
  grid-template-columns:320px minmax(0, 1fr) !important;
  gap:0 !important;
  align-items:stretch !important;
  background:var(--noticias-fundo) !important;
  border:1px solid var(--noticias-borda) !important;
  border-radius:var(--noticias-raio) !important;
  overflow:hidden !important;
  box-shadow:var(--noticias-sombra) !important;
  margin:0 !important;
  padding:0 !important;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.pagina-noticias .blog-item:hover,
.blog.pagina-noticias .blog-item:hover,
.pagina-noticias article:hover,
.blog.pagina-noticias article:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 30px rgba(15, 59, 130, 0.10) !important;
  border-color:#c9d8ea !important;
}

/* =========================================================
   4. IMAGEM
========================================================= */
.pagina-noticias .blog-item .item-image,
.blog.pagina-noticias .blog-item .item-image,
.pagina-noticias article .item-image,
.blog.pagina-noticias article .item-image{
  margin:0 !important;
  padding:0 !important;
  width:100% !important;
  min-height:100% !important;
  height:100% !important;
  overflow:hidden !important;
  background:#eaf0f7 !important;
}

.pagina-noticias .blog-item .item-image a,
.blog.pagina-noticias .blog-item .item-image a,
.pagina-noticias article .item-image a,
.blog.pagina-noticias article .item-image a{
  display:block !important;
  width:100% !important;
  height:100% !important;
}

.pagina-noticias .blog-item .item-image img,
.blog.pagina-noticias .blog-item .item-image img,
.pagina-noticias article .item-image img,
.blog.pagina-noticias article .item-image img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:240px !important;
  object-fit:cover !important;
  margin:0 !important;
}

/* =========================================================
   5. CONTEÚDO INTERNO
========================================================= */
.pagina-noticias .blog-item > .item-content,
.blog.pagina-noticias .blog-item > .item-content,
.pagina-noticias .blog-item > .content,
.blog.pagina-noticias .blog-item > .content,
.pagina-noticias article > .item-content,
.blog.pagina-noticias article > .item-content{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  padding:22px 24px !important;
  min-width:0 !important;
}

/* quando o Joomla não usa wrapper de conteúdo, força espaçamento nos filhos */
.pagina-noticias .blog-item .page-header,
.pagina-noticias .blog-item .article-info,
.pagina-noticias .blog-item .introtext,
.pagina-noticias .blog-item .readmore,
.blog.pagina-noticias .blog-item .page-header,
.blog.pagina-noticias .blog-item .article-info,
.blog.pagina-noticias .blog-item .introtext,
.blog.pagina-noticias .blog-item .readmore{
  padding-left:0 !important;
  padding-right:0 !important;
}

/* =========================================================
   6. TÍTULO DO ARTIGO
========================================================= */
.pagina-noticias .blog-item .page-header,
.blog.pagina-noticias .blog-item .page-header{
  margin:0 0 12px !important;
}

.pagina-noticias .blog-item .page-header h2,
.pagina-noticias .blog-item .page-header h1,
.blog.pagina-noticias .blog-item .page-header h2,
.blog.pagina-noticias .blog-item .page-header h1{
  margin:0 !important;
  font-size:1.5rem !important;
  line-height:1.3 !important;
  font-weight:800 !important;
}

.pagina-noticias .blog-item .page-header a,
.blog.pagina-noticias .blog-item .page-header a{
  color:#10233f !important;
  text-decoration:none !important;
}

.pagina-noticias .blog-item .page-header a:hover,
.blog.pagina-noticias .blog-item .page-header a:hover{
  color:var(--noticias-azul) !important;
}

/* =========================================================
   7. META / DATA
========================================================= */
.pagina-noticias .blog-item .article-info,
.blog.pagina-noticias .blog-item .article-info{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin:0 0 14px !important;
  padding:0 !important;
  color:var(--noticias-azul) !important;
  font-size:.94rem !important;
  font-weight:700 !important;
  list-style:none !important;
}

.pagina-noticias .blog-item .article-info dd,
.pagina-noticias .blog-item .article-info dt,
.pagina-noticias .blog-item .article-info li,
.blog.pagina-noticias .blog-item .article-info dd,
.blog.pagina-noticias .blog-item .article-info dt,
.blog.pagina-noticias .blog-item .article-info li{
  margin:0 !important;
}

/* =========================================================
   8. TEXTO / RESUMO
========================================================= */
.pagina-noticias .blog-item .introtext,
.blog.pagina-noticias .blog-item .introtext{
  margin:0 0 18px !important;
  color:var(--noticias-texto) !important;
  line-height:1.7 !important;
  font-size:1rem !important;
}

.pagina-noticias .blog-item .introtext p:last-child,
.blog.pagina-noticias .blog-item .introtext p:last-child{
  margin-bottom:0 !important;
}

/* =========================================================
   9. BOTÃO LEIA MAIS
========================================================= */
.pagina-noticias .blog-item .readmore,
.blog.pagina-noticias .blog-item .readmore{
  margin-top:auto !important;
  margin-bottom:0 !important;
}

.pagina-noticias .blog-item .readmore a,
.blog.pagina-noticias .blog-item .readmore a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:44px !important;
  padding:10px 18px !important;
  background:var(--noticias-azul) !important;
  color:#ffffff !important;
  text-decoration:none !important;
  border:none !important;
  border-radius:10px !important;
  font-weight:700 !important;
  box-shadow:none !important;
  transition:background .25s ease, transform .25s ease;
}

.pagina-noticias .blog-item .readmore a:hover,
.blog.pagina-noticias .blog-item .readmore a:hover{
  background:var(--noticias-azul-escuro) !important;
  transform:translateY(-1px);
}

/* =========================================================
   10. PAGINAÇÃO
========================================================= */
.pagina-noticias .pagination,
.blog.pagina-noticias .pagination{
  display:flex !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  margin-top:30px !important;
}

.pagina-noticias .pagination .page-link,
.pagina-noticias .pagination .page-item span,
.blog.pagina-noticias .pagination .page-link,
.blog.pagina-noticias .pagination .page-item span{
  border-radius:10px !important;
}

/* =========================================================
   11. RESPONSIVO
========================================================= */
@media (max-width: 991.98px){
  .pagina-noticias .blog-item,
  .blog.pagina-noticias .blog-item,
  .pagina-noticias article,
  .blog.pagina-noticias article{
    grid-template-columns:1fr !important;
  }

  .pagina-noticias .blog-item .item-image img,
  .blog.pagina-noticias .blog-item .item-image img,
  .pagina-noticias article .item-image img,
  .blog.pagina-noticias article .item-image img{
    min-height:230px !important;
  }

  .pagina-noticias .blog-item > .item-content,
  .blog.pagina-noticias .blog-item > .item-content,
  .pagina-noticias .blog-item > .content,
  .blog.pagina-noticias .blog-item > .content,
  .pagina-noticias article > .item-content,
  .blog.pagina-noticias article > .item-content{
    padding:20px !important;
  }
}

@media (max-width: 767.98px){
  .pagina-noticias .com-content-category-blog,
  .pagina-noticias .blog,
  .blog.pagina-noticias{
    padding:24px 12px 34px !important;
  }

  .pagina-noticias .page-header h1,
  .blog.pagina-noticias .page-header h1{
    font-size:1.7rem !important;
  }

  .pagina-noticias .blog-item .page-header h2,
  .pagina-noticias .blog-item .page-header h1,
  .blog.pagina-noticias .blog-item .page-header h2,
  .blog.pagina-noticias .blog-item .page-header h1{
    font-size:1.22rem !important;
  }

  .pagina-noticias .blog-item .introtext,
  .blog.pagina-noticias .blog-item .introtext{
    font-size:.98rem !important;
  }

  .pagina-noticias .blog-item .item-image img,
  .blog.pagina-noticias .blog-item .item-image img,
  .pagina-noticias article .item-image img,
  .blog.pagina-noticias article .item-image img{
    min-height:210px !important;
  }
}