.masonry {
  column-count: 1;
  column-gap: 1rem;
}
@media (min-width: 576px) { .masonry { column-count: 2; } }
@media (min-width: 768px) { .masonry { column-count: 3; } }
@media (min-width: 1200px) { .masonry { column-count: 4; } }

.masonry-item {
  display: inline-block;
  width: 100%;
  margin-bottom: 1rem;
  break-inside: avoid;
  background: rgba(33, 37, 41, 0.8);
  border-radius: 0.6rem;
  padding: 0.75rem;
  color: #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  transition: all 0.25s ease;
}

.masonry-item:hover {
  transform: translateY(-2px);
}

.masonry-item[collapsed] ul { display: none; }

.masonry-item div[alt="colapsable"] {
  cursor: pointer;
  user-select: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.masonry-item div[alt="colapsable"] h5 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: #fff;
}

.masonry-item div[alt="colapsable"]::after {
  content: "▾";
  font-size: 1rem;
  color: #ddd;
  transition: transform 0.3s ease;
}

.masonry-item[collapsed] div[alt="colapsable"]::after {
  transform: rotate(-90deg);
}

.masonry-item ul {
  padding-left: 0;
  list-style: none;
  margin-bottom: 0;
}

.masonry-item ul li a {
  display: flex;
  align-items: center;
  padding: 0.25rem 0;
  text-decoration: none;
  color: #eaeaea;
  border-radius: 0.25rem;
  transition: background 0.2s;
}

.masonry-item ul li a:hover {
  background-color: rgba(255,255,255,0.1);
}

.masonry-item ul li a i {
  margin-right: 0.5rem;
  width: 20px;
  text-align: center;
}

/* === Barra flotante estilo vidrio === */
.glass-nav {
  position: fixed;
  bottom: 10px;
  left: 10px;
  width: 260px;
  z-index: 1050;
  border-radius: 10px;
  background: rgba(218, 205, 205, 0.395);
  backdrop-filter: blur(8px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  transition: all 0.3s ease;
}

.glass-nav:hover {
  background: rgba(20, 20, 20, 0.8);
}

.glass-nav .nav-link,
.glass-nav .navbar-brand {
  font-size: 0.9rem;
  padding: 4px 8px;
}

.glass-nav .fa-user,
.glass-nav .fa-right-from-bracket {
  opacity: 0.5;
}