/* CSS Document */

.judges-slider {
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.judges-slider::-webkit-scrollbar {
  height: 8px;
}
.judges-slider::-webkit-scrollbar-thumb {
  background: #bbb;
  border-radius: 4px;
}

.judge-card {
  flex: 0 0 256px;
  width: 256px;
  scroll-snap-align: start;
  border: 1px solid #ddd;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}

.judge-photo-wrap {
  width: 100%;
  aspect-ratio: 3 / 4; /* 3x4 requested */
  overflow: hidden;
  background: #f3f3f3;
}

.judge-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.judge-card-body {
  padding: 0.85rem;
}

.judge-name {
  font-size: 1.05rem;
  margin-bottom: 0.25rem;
}

.judge-position {
  font-size: 0.9rem;
  color: #555;
  margin-bottom: 0.75rem;
  min-height: 2.6em;
}

.judge-actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

@media (max-width: 360px) {
  .judge-card {
    flex-basis: 92vw;
    width: 92vw;
  }
}