.language-bar {
  display: flex;
  gap: 15px;
  justify-content: center;
  margin-top: 10px;
}

.lang-item {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 6px 12px;
  cursor: pointer;
  border-radius: 6px;
  transition: background 0.2s ease, color 0.2s ease;
  font-weight: normal;
}

.lang-item img {
  width: 24px;
  height: 24px;
}

.lang-item.active {
  background-color: #004d66;
  color: #ffd700;
  font-weight: bold;
}

.lang-item:hover:not(.active) {
  background-color: #007a99;
  color: #fff;
}

/* Optional: underline museum links via CSS instead of <u> */
ul.museum-list li a {
  text-decoration: underline;
}

/* Mobile & Tablet optimization for horizontal language bar */
@media (max-width: 768px) {
  #language-select {
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.4rem;
  }

  .lang-item {
    padding: 0.3rem 0.5rem;
    font-size: 0.9rem;
  }

  /* Hide full language names, show short codes instead */
  .lang-item span[data-short]::before {
    content: attr(data-short);
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
  }

  .lang-item span {
    font-size: 0; /* visually hide full name text */
  }

  /* Adjust flag size */
  .lang-item img {
    width: 20px;
    height: 20px;
    margin-right: 0.3rem;
  }
}

@media (max-width: 480px) {
  .lang-item {
    padding: 0.2rem 0.4rem;
  }

  .lang-item img {
    width: 18px;
    height: 18px;
  }
}
