.rating .rating-icon {
  width:35px;
  cursor:pointer;
  transition: transform 0.2s ease, filter 0.2s ease;
}

/* Hover effect: red cross + glow directly on image */
.rating .rating-icon.hovered {
  content:url('/cdaa++/kreuz-rot.png');
  transform: scale(1.2);
  filter: drop-shadow(0 0 4px #ff4444);
}

.avg { font-weight: bold; color: #e74c3c; }   /* highlight average */
.max { color: #888; }                         /* lighter max rating */

.star-icon {
  width: 24px;
  margin: 2px;
  vertical-align: middle;
}

/* Selected state (after vote confirmed) */
.rating .rating-icon.selected {
  content:url('/cdaa++/kreuz-rot.png');
  transform: scale(1.2);
  filter: drop-shadow(0 0 4px #ff4444);
}
#ratingSummary {
  margin-top:20px;
  background:#111;
  color:#fff;
  padding:15px;
  border-radius:8px;
}
.summary-item {
  margin-bottom:10px;
  padding:8px;
  border-bottom:1px solid #333;
}
.summary-item:last-child {
  border-bottom:none;
}
#toastContainer {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.toast {
  background: rgba(0,0,0,0.9);
  color: #fff;
  padding: 12px 20px;
  margin-top: 10px;
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(255,255,255,0.2);
  opacity: 0;
  transform: scale(0.9);
  transition: opacity 0.3s ease, transform 0.3s ease;
  max-width: 90%;
  text-align: center;
  font-size: 14px;
}

.toast.show {
  opacity: 1;
  transform: scale(1);
}
.confirm-field {
  background: #222;
  color: #fff;
  padding: 10px;
  margin-top: 8px;
  border-radius: 6px;
  text-align: center;
  box-shadow: 0 0 8px rgba(0,0,0,0.6);
  opacity: 0;
  transform: translateY(-5px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.confirm-field.hidden {
  display: none;
}
.confirm-field:not(.hidden) {
  opacity: 1;
  transform: translateY(0);
}
.star-icon {
  width: 24px;
  margin: 2px;
  vertical-align: middle;
}

.partial-star {
  position: relative;
  display: inline-block;
  width: 24px;
  height: 24px;
}

.partial-star .filled {
  position: absolute;
  clip-path: inset(0 50% 0 0); /* show left half red */
}

.partial-star .empty {
  position: absolute;
}
.rating-box {
  background: #111;
  color: #fff;
  padding: 20px;
  border-radius: 10px;
  margin: 20px 0;
  box-shadow: 0 0 12px rgba(255, 255, 255, 0.15); /* subtle base shadow */
  border: 2px solid transparent;
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

/* Glow effect on hover */
.rating-box:hover {
  border-color: #ff4444;
  box-shadow: 0 0 20px rgba(255, 68, 68, 0.6); /* glowing red border */
}