:root{
  --hb-bg: rgba(255,255,255,.86);
  --hb-line: rgba(15,23,42,.10);
  --hb-text:#0f172a;
  --hb-muted:#64748b;

  --hb-blue:#2563eb;
  --hb-blue2:#1d4ed8;
  --hb-gold:#fbbf24;
  --hb-red:#ef4444;

  --hb-radius: 18px;
  --hb-shadow: 0 18px 45px rgba(2,6,23,.10);
}

/* HEADER BASE */
.hb{
  position: sticky;
  top: 0;
  z-index: 999;
  backdrop-filter: blur(12px);
  background: var(--hb-bg);
  border-bottom: 1px solid var(--hb-line);
}

.hbInner{
  max-width: 1120px;
  margin: 0 auto;
  padding: 6px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 14px;
  position: relative; /* importante pro dropdown do menu no mobile */
}

/* BRAND (LOGO) */
.hbBrand{
  display:flex;
  align-items:center;
  text-decoration:none;
}

.hbLogoImg{
  height: 68px;
  width: auto;
  display:block;
}

/* NAV (DESKTOP) */
.hbNav{
  display:flex;
  align-items:center;
  gap: 10px;
}

/* links “neutros” */
.hbLink{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 14px;
  text-decoration:none;
  color: var(--hb-text);
  font-weight: 800;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.92);
  transition: .16s ease;
}

.hbLink:hover{
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(2,6,23,.10);
}

/* BOTÕES */
.hbBtn{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 14px;
  text-decoration:none;
  font-weight: 900;
  border: 1px solid rgba(15,23,42,.10);
  background: #fff;
  color: var(--hb-text);
  transition: .16s ease;
  box-shadow: 0 10px 22px rgba(2,6,23,.08);
}

.hbBtn:hover{
  transform: translateY(-1px);
  box-shadow: 0 16px 34px rgba(2,6,23,.12);
}

.hbBtnBlue{
  background: var(--hb-blue);
  border-color: var(--hb-blue);
  color: #fff;
}
.hbBtnBlue:hover{
  background: var(--hb-blue2);
  border-color: var(--hb-blue2);
}

.hbBtnGold{
  background: var(--hb-gold);
  border-color: var(--hb-gold);
  color: #111827;
}

.hbBtnRed{
  background: var(--hb-red);
  border-color: var(--hb-red);
  color: #fff;
}

/* Ícones Font Awesome */
.hbNav i{
  font-size: 14px;
  opacity: .92;
}

/* BOTÃO HAMBURGUER (MOBILE) */
.hbBurger{
  display:none; /* só aparece no mobile */
  width: 46px;
  height: 46px;
  border-radius: 16px;
  border: 1px solid rgba(15,23,42,.12);
  background: rgba(255,255,255,.95);
  box-shadow: 0 12px 30px rgba(2,6,23,.10);
  cursor:pointer;
  align-items:center;
  justify-content:center;
  padding: 0;
}

.hbBurger i{
  font-size: 18px;
  color: #0f172a;
}

/* =========================
   MOBILE
========================= */
@media (max-width: 820px){

  /* logo um pouco menor */
  .hbLogoImg{
    height: 58px;
  }

  /* aparece o hamburguer */
  .hbBurger{
    display:flex;
  }

  /* menu vira dropdown */
  .hbNav{
    position: absolute;
    left: 12px;
    right: 12px;
    top: 64px;
    display:none;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 12px;
    border-radius: 18px;
    background: rgba(255,255,255,.98);
    border: 1px solid rgba(15,23,42,.12);
    box-shadow: 0 22px 55px rgba(2,6,23,.16);
  }

  .hbNav.open{
    display:flex;
    animation: hbDrop .18s ease;
  }

  /* botões e links ocupam largura total */
  .hbLink, .hbBtn{
    width: 100%;
    justify-content: center;
    padding: 12px 14px;
  }

  @keyframes hbDrop{
    from{ transform: translateY(-8px); opacity: 0; }
    to{ transform: translateY(0); opacity: 1; }
  }
}
