.review-stars {
  text-align: center;
  font-size: 2rem;
  letter-spacing: 4px;
  margin-bottom: 1rem;
}

.review-stars .starrating {
  display: inline-flex;
  gap: 6px;
}

.review-stars::before {
  content: "★★★★★";
  color: #444;
}

.rating-1 .review-stars::before { content: "★☆☆☆☆"; color: #C20F2D; }
.rating-2 .review-stars::before { content: "★★☆☆☆"; color: #C20F2D; }
.rating-3 .review-stars::before { content: "★★★☆☆"; color: #C20F2D; }
.rating-4 .review-stars::before { content: "★★★★☆"; color: #C20F2D; }
.rating-5 .review-stars::before { content: "★★★★★"; color: #C20F2D; }

.field--name-field-rating select {
  display: none;
}

.custom-star-rating {
  display: flex;
  gap: 6px;
  font-size: 2.2rem;
  cursor: pointer;
}

.custom-star-rating .star {
  color: transparent; 
  -webkit-text-stroke: 1px #C20F2D;
  transition: all 0.2s ease;
}

.custom-star-rating .star.active {
  color: #C20F2D;     
  -webkit-text-stroke: 1px #C20F2D;
}

.node-review-form {
  max-width: 700px;
  margin: 4rem auto;
  padding: 3rem;
  background: rgba(0, 0, 0, 0.75);
  border: 2px solid #C20F2D;
  color: #fff;
}

.node-review-form label {
  font-family: "Atilla";
  text-transform: uppercase;
  font-size: 1rem;
  letter-spacing: 1px;
}

.node-review-form input[type="text"],
.node-review-form textarea,
.node-review-form select {
  width: 100%;
  background: #111;
  border: 1px solid #444;
  color: #fff;
  padding: 0.75rem;
  font-size: 1rem;
}

.node-review-form textarea {
  min-height: 150px;
}

.node-review-form .form-submit {
  background: #C20F2D;
  border: none;
  color: #fff;
  padding: 1rem 2rem;
  font-family: "Ultra";
  text-transform: uppercase;
  font-size: 1.2rem;
  cursor: pointer;
  transition: background 0.2s ease;
}

.node-review-form .form-submit:hover {
  background: #b81b26;
}

.custom-star-rating .star:hover {
  color: #C20F2D;
}