#vote .gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); 
  gap: 24px;
  margin-top: 1.5em;
}

#vote .gallery-item {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  background: #222;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

#vote .gallery-item:hover {
  transform: scale(1.02);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4);
}

#vote .gallery-item img {
  width: 100%;
  height: 220px;            
  object-fit: cover;        
  display: block;
}

#vote .gallery-item input[type="checkbox"] {
  position: absolute;
  top: 10px;
  left: 10px;
  transform: scale(1.3);
  cursor: pointer;
  z-index: 5;
}

body.is-article-visible #vote {
  width: 95vw;
  max-width: 1600px;
  margin: 0 auto;
  padding: 1em 2em;
}

#vote .categories {
  text-align: center;
  margin-bottom: 1em;
}

#vote .categories button {
  margin: 0 10px;
  padding: 8px 16px;
  background-color: #444;
  color: #fff;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.3s ease;
}

#vote .categories button:hover {
  background-color: #666;
}


#vote .gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
}


#vote .gallery-item label {
  display: block;
  position: relative;
  cursor: pointer;
}

#vote .gallery-item input[type="checkbox"] {
  display: none; /* hide checkbox */
}

#vote .gallery-item input[type="checkbox"]:checked + img {
  border: 5px solid #00bcd4; /* highlight selected image */
  opacity: 0.8;
  transform: scale(1.05);
  transition: 0.2s;
}

#vote .gallery-item img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
  border-radius: 8px;
}

/* --- User info styling --- */
#vote .user-info {
  margin-top: 2em;
  display: flex;
  flex-direction: column;
  gap: 1em;
}

#vote .user-info input {
  padding: 0.5em;
  font-size: 1em;
  border-radius: 5px;
  border: 1px solid #ccc;
}

/* --- Buttons --- */
#vote .actions {
  margin-top: 1.5em;
  display: flex;
  gap: 1em;
}

#vote .actions .primary {
  background-color: #00bcd4;
  color: white;
  border: none;
  padding: 0.7em 1.5em;
  border-radius: 5px;
  cursor: pointer;
}

#vote .actions button:hover {
  opacity: 0.9;
}


.gallery-item input[type="radio"] {
  display: none;
}


.gallery-item label {
  display: block;
  cursor: pointer;
  position: relative;
  border: 3px solid transparent;
  transition: border 0.2s ease;
}


.gallery-item input[type="radio"]:checked + img {
  border: 3px solid #007bff; /* blue border */
  border-radius: 5px;
}


.gallery-item label:hover img {
  transform: scale(1.05);
  transition: transform 0.2s ease;
}

