body{
  font-family: sans-serif;
  margin: 0;
  padding: 0;
}

.layout-grid {
  display: grid;
  grid-template-columns: 1fr;
}

.navbar, .toolbar, .filterbar, .groupbar, .optionsbar{
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  align-items: center;
  padding: 10px;
  gap: 10px;
  text-align: center;
}

.optionsbar{
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	background: #333;
}

.navbar {
  display: flex;
  justify-content: center; /* centra i link orizzontalmente */
  gap: 10px;               /* spazio tra i link */
  padding: 10px;
  background: #222;
}


.navbar {
  background: #222;
}

.navbar a {
  color: #fff;
  text-decoration: none;
  padding: 5px 10px;
  background: #444;
  border-radius: 5px;
}

.navbar a, .toolbar *, .filterbar *, .groupbar * {
  text-align: center;
}

.toolbar, .filterbar, .groupbar {
  background: #333;
  color: white;
}

input, select, button {
  padding: 5px;
  font-size: 1em;
}

input[type=range] {
  width: 150px;
}

.zoom-slider {
  display: flex;
  align-items: center;
  gap: 5px;
  justify-content: center;
}

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--card-width,120px), 1fr));
  gap: 10px;
  padding: 10px;
}

.grid img {
  width: 100%;
  border: 2px solid transparent;
  transition: border .3s, opacity .3s;
}

.highlight {
  border-color: gold !important;
}

#loading {
  display: none;
  text-align: center;
  padding: 20px;
}

#loading img {
  width: 50px;
}

@media screen and (max-width: 480px){
	.optionsbar{
		grid-template-columns: 1fr;
	}
}