/* ============================================================
   Barra superior sticky + navegación (con hamburguesa en móvil)
   ============================================================ */
.topbar{
  position:sticky;
  top:0;
  z-index:40;
  background:color-mix(in srgb, var(--page-bg) 88%, transparent);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.topbar .inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:12px 22px;
}
.topbar .brand img{ height:30px; width:auto; }

.nav{ display:flex; align-items:center; gap:26px; }
.nav-links{ display:flex; align-items:center; gap:26px; }
.nav-links a{
  font-family:var(--bo-display);
  font-weight:400;
  font-size:11.5px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--bo-cafe);
  transition:color .18s ease;
}
.nav-links a:hover{ color:var(--accent); }

.topbar .btn{ padding:9px 18px; font-size:11px; }

/* Hamburguesa */
.nav-toggle{
  display:none;
  place-items:center;
  width:40px;
  height:40px;
  padding:0;
  background:transparent;
  border:1px solid var(--line);
  border-radius:10px;
  color:var(--bo-cafe);
  cursor:pointer;
}
.nav-toggle svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
}

@media (max-width:640px){
  .nav-toggle{ display:grid; }
  .nav-links{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:8px 0 10px;
    background:var(--bo-crema);
    border-bottom:1px solid var(--line);
    box-shadow:var(--bo-shadow);
  }
  .nav.open .nav-links{ display:flex; }
  .nav-links a{ padding:14px 22px; }
}
