.gpv-stars {
  display: inline-flex;
  padding: .6rem 0;
  gap: .6rem;
}
.gpv-star {
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  font-size: 1rem;
  line-height: 1;
  opacity: 0.6;
  transform: scale(0.8);
}
.gpv-star svg {
  width: 1.875rem;
  height: 1.875rem;
  fill: #f5a623;
}
.gpv-star:hover, 
.gpv-star.is-active {
  transform: scale(1);
  opacity: 1;
}
.gpv-status {
  margin-top: .5rem;
  font-size: .9rem;
}
.gpv-average {
  margin-top: .25rem;
  font-size: .85rem;
  opacity: .8;
}
.gpv-popup {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.5);
  display: grid;
  place-items: center;
  z-index: 9999;
}
.gpv-popup[hidden] { display: none; }
.gpv-popup-inner {
  background: #fff;
  border-radius: 10px;
  padding: 1rem;
  width: min(480px, 92vw);
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
}
.gpv-popup-close {
  float: right;
  border: 0;
  background: transparent;
  font-size: 1.25rem;
  cursor: pointer;
}
.respond_registration_parent .formfield-single,
.gpv-newsletter-form label {
  display:block;
  margin:.5rem 0;
}

.respond_registration_parent  input, .respond_registration_parent select,
.gpv-newsletter-form input, .gpv-newsletter-form select {
  width: 100%;
  padding: .5rem;
  border: 1px solid #ccc;
  border-radius: 6px;
}
.gpv-submit {
  margin-top: .75rem;
  padding: .6rem 1rem;
  border: 0;
  border-radius: 6px;
  background: #222;
  color: #fff;
  cursor: pointer;
}
.gpv-note {
  font-size: .9rem;
  opacity: .7;
}
