/* =========================
   Base / tokens
   ========================= */
:root{
  --bs-body-color:#1f2937; /* slate-800 */
  --bs-body-bg:#ffffff;
  --muted:#6b7280;
  --accent:#0ea5e9;

  /* Navbar pills */
  --nav-pill-text:#0b3b63;
  --nav-pill-bg:rgba(14,165,233,.10);
  --nav-pill-bd:rgba(14,165,233,.35);
  --nav-pill-hover-bg:rgba(14,165,233,.18);
  --nav-pill-hover-bd:rgba(14,165,233,.55);
  --nav-pill-active-bg:#0ea5e9;
  --nav-pill-active-bd:#0ea5e9;
  --nav-pill-active-tx:#fff;

  /* Brand */
  --logo-size:104px;

  /* Hero (cores/overlays globais) */
  --hero-fg:#fff;
  --hero-dim:.0;      /* escurecer (preto)   0–.6 */
  --hero-bleach:.0;   /* aclarar   (branco)  0–.4 */
  --hero-grad-a:rgba(14,165,233,.18);
  --hero-grad-b:rgba(163,230,53,.12);
}

html,body{ color:var(--bs-body-color); background:var(--bs-body-bg); }
body{ scroll-behavior:smooth; }

/* =========================
   Navbar + brand
   ========================= */

/* barra mais compacta */
.navbar.sticky-top{ padding-top:.20rem; padding-bottom:.20rem; }

/* links como “pills” */
.navbar .nav-link{
  color:var(--nav-pill-text);
  background:var(--nav-pill-bg);
  border:1px solid var(--nav-pill-bd);
  border-radius:.6rem;
  padding:.45rem .75rem;
  margin:.125rem .25rem;
  font-weight:500;
  line-height:1.25;
  transition:background-color .15s ease, border-color .15s ease, color .15s ease;
}
.navbar .nav-link:hover,
.navbar .nav-link:focus{
  background:var(--nav-pill-hover-bg);
  border-color:var(--nav-pill-hover-bd);
  color:var(--nav-pill-text);
}
.navbar .nav-link.active,
.navbar .nav-link[aria-current="page"],
.navbar .dropdown.show > .nav-link{
  background:var(--nav-pill-active-bg);
  border-color:var(--nav-pill-active-bd);
  color:var(--nav-pill-active-tx);
}

/* dropdown com o mesmo “feeling” */
.dropdown-menu{
  border:1px solid #e6f0fb;
  border-radius:.75rem;
  padding:.5rem;
  box-shadow:0 8px 24px rgba(14,165,233,.12);
}
.dropdown-item{ border-radius:.5rem; color:var(--nav-pill-text); }
.dropdown-item:hover,
.dropdown-item:focus{ background:var(--nav-pill-hover-bg); color:var(--nav-pill-text); }
.dropdown-item.active,
.dropdown-item:active{ background:var(--nav-pill-active-bg); color:var(--nav-pill-active-tx); }

/* Offcanvas (mobile) – manter o espaçamento */
.offcanvas .nav-link{ margin:.25rem 0; }

/* ===== Brand ===== */
.brand-wordmark{
  font-weight:800;
  font-size:1.5rem;     /* 1.4–1.8rem  */
  letter-spacing:.2px;
  color:#0c4a6e;
  line-height:1;
}
.navbar .navbar-logo{
  height:72px !important; width:auto !important; display:block; object-fit:contain;
}
.navbar-brand img{ max-height:none !important; }
.logo-bg{
  display:inline-block;
  width: var(--logo-size);
  height: var(--logo-size);
  aspect-ratio: 1 / 1;
  flex: 0 0 var(--logo-size);
  background-image: url("../img/iaflui-logo.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  padding: 4px;
  background-origin: content-box;
}
@media (max-width:991.98px){
  .navbar .navbar-logo{ height:56px !important; }
  .brand-wordmark{ display:none; }  /* opcional: só símbolo no mobile */
  .logo-bg{ width:64px; height:48px; }
}

/* =========================
   Hero (banner com imagem + overlays)
   ========================= */
.hero{
  position:relative; overflow:hidden;
  min-height:clamp(200px, 24vh, 300px);
  color:var(--hero-fg);
  border-bottom:1px solid #eef2f7;

  /* imagem por defeito (podes sobrescrever por página) */
  background-image:url("../img/iaflui-hero.JPG");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

/* conteúdo acima dos overlays */
.hero .container{ position:relative; z-index:2; }

/* decor suave */
.hero::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:linear-gradient(to bottom right, var(--hero-grad-a), var(--hero-grad-b));
}

/* funcional: escurecer + aclarar (empilhados) */
.hero::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(rgba(0,0,0,var(--hero-dim)), rgba(0,0,0,var(--hero-dim))),
    linear-gradient(rgba(255,255,255,var(--hero-bleach)), rgba(255,255,255,var(--hero-bleach)));
}

/* se usares <img class="hero-bg"> em vez de background-image */
.hero .hero-bg{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-1;
}

/* tipografia e links SEMPRE em branco dentro do hero */
.hero h1, .hero h2, .hero h3,
.hero p, .hero .lead,
.hero a, .hero a:visited,
.hero a.btn-link{
  color:#fff !important;
  text-shadow:0 1px 2px rgba(0,0,0,.45);
}
.hero a:hover{ color:#fff !important; opacity:.9; }

/* padding compacto no hero */
.hero.py-5{ padding-top:1rem !important; padding-bottom:1rem !important; }

/* botões dentro do hero */
.hero .btn-outline-secondary{ color:#fff; border-color:#fff; }
.hero .btn-outline-secondary:hover{ background:#fff; color:#0d6efd; }

/* =========================
   Cards (notícias)
   ========================= */
.card{
  background:linear-gradient(180deg, rgba(14,165,233,.10), rgba(163,230,53,.10));
  border:1px solid rgba(14,165,233,.28);
  border-radius:1rem;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.card:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 28px rgba(14,165,233,.16);
  border-color:rgba(14,165,233,.40);
}
.card .card-title a{ color:#0b3b63; text-decoration:none; }
.card .card-title a:hover{ text-decoration:underline; }
.card .card-footer{ background:transparent; border-top:0; }

/* Sidebar */
.sidebar .list-group-item{
  border:0; border-bottom:1px dashed #e5e7eb; padding:.6rem 0;
}

/* Footer */
.footer{ border-top:1px solid #eef2f7; }

/* =========================
   Back to top
   ========================= */
.back-to-top{
  position:fixed; right:24px; bottom:24px; z-index:1050;
  border-radius:999px; box-shadow:0 6px 20px rgba(0,0,0,.15);
}
.back-to-top[hidden]{ display:none !important; }

/* =========================
   Pesquisa / utilitários
   ========================= */
main [data-lang]{ display:none; }
main [data-lang].show{ display:block; }

#searchResults .list-group-item h6{ color:#0c4a6e; }
#searchResults mark{ padding:0 .1em; border-radius:.2em; }

/* campo de pesquisa com ícone */
.search-wrap{ position:relative; }
.search-wrap .form-icon{
  position:absolute; left:12px; top:50%; transform:translateY(-50%);
  pointer-events:none;
}
.search-wrap .form-control{ padding-left:2rem; }

/* micro animações */
.list-group-item a i,
.card-footer .btn-link i{ transition:transform .15s ease; }
.list-group-item a:hover i,
.card-footer .btn-link:hover i{ transform:translateX(2px); }

/* === HERO: todo o texto em bold === */
:root{ --hero-fw: 700; } /*  usar 600 */

.hero h1, .hero h2, .hero h3, .hero h4, .hero h5, .hero h6,
.hero p, .hero .lead,
.hero a, .hero a:visited,
.hero .btn, .hero small, .hero span, .hero li, .hero label {
  font-weight: var(--hero-fw) !important;
}

/* ——— NAV & OFFCANVAS por cima de tudo ——— */

.navbar.sticky-top { z-index: 1030 !important; }

.offcanvas{ z-index:1200; }
.offcanvas-backdrop{ z-index:1190; }
.hero::before{ pointer-events:none; }
.hero, main{ position:relative; z-index:1; }

.back-to-top { z-index: 1045; }

