/* Review rating: progressive enhancement of the existing form select. */
#nbr-review-modal .nbr-review-form-rating {
  position: relative;
  min-width: 0;
}
#nbr-review-modal select[name="review-rating"] {
  appearance: none;
  padding-right: 44px !important;
  background-image: linear-gradient(45deg, transparent 50%, #33394a 50%), linear-gradient(135deg, #33394a 50%, transparent 50%) !important;
  background-position: calc(100% - 24px) 25px, calc(100% - 20px) 25px !important;
  background-size: 4px 4px !important;
  background-repeat: no-repeat !important;
}
#nbr-review-modal .nbr-rating-native[hidden] { display: none !important; }
#nbr-review-modal .nbr-rating-trigger {
  box-sizing: border-box;
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 54px;
  padding: 14px 44px 14px 18px;
  border: 1px solid transparent;
  border-radius: 3px;
  background: #e9ecf3;
  color: #33394a;
  font: inherit;
  font-size: 15px;
  line-height: 24px;
  text-align: left;
  cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease !important;
}
#nbr-review-modal .nbr-rating-trigger::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 21px;
  width: 7px;
  height: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  transition: transform .2s ease !important;
}
#nbr-review-modal .nbr-rating-trigger:hover { background: #e2e6ef; }
#nbr-review-modal .nbr-rating-trigger:focus-visible,
#nbr-review-modal .nbr-rating-trigger[aria-expanded="true"] {
  outline: none;
  border-color: #ffb600;
  background: #fff;
  box-shadow: 0 0 0 3px rgb(255 182 0 / 13%);
}
#nbr-review-modal .nbr-rating-trigger[aria-expanded="true"]::after { transform: translateY(3px) rotate(225deg); }
#nbr-review-modal .nbr-rating-trigger[aria-invalid="true"] { border-color: #c23f3f; }
#nbr-review-modal .nbr-rating-trigger:disabled { opacity: .6; cursor: default; }
#nbr-review-modal .nbr-rating-placeholder { text-transform: uppercase; }
#nbr-review-modal .nbr-rating-stars {
  display: inline-flex;
  flex-shrink: 0;
  gap: 2px;
  color: #ffb600;
  line-height: 1;
}
#nbr-review-modal .nbr-rating-star { width: 14px; height: 14px; fill: currentColor; }
#nbr-review-modal .nbr-rating-star--empty { color: #ccd1dc; }
#nbr-review-modal .nbr-rating-score { white-space: nowrap; font-size: 14px; }
#nbr-review-modal .nbr-rating-options {
  box-sizing: border-box;
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 10;
  width: max(100%, 280px);
  max-width: calc(100vw - 64px);
  max-height: 256px;
  margin: 0;
  padding: 6px;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid #e2e6ef;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 12px 30px rgb(36 43 60 / 16%);
  animation: nbr-rating-reveal .16s ease;
}
#nbr-review-modal .nbr-rating-options[hidden] { display: none !important; }
#nbr-review-modal .nbr-rating-options--above { top: auto; bottom: calc(100% + 8px); }
#nbr-review-modal .nbr-rating-option {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  padding: 8px 10px;
  box-sizing: border-box;
  border-radius: 3px;
  color: #33394a;
  font-size: 14px;
  line-height: 20px;
  cursor: pointer;
  transition: background-color .15s ease !important;
}
#nbr-review-modal .nbr-rating-option:hover,
#nbr-review-modal .nbr-rating-option.is-active { background: #fff3d6; }
#nbr-review-modal .nbr-rating-option[aria-selected="true"] { font-weight: 600; background: #fff3d6; }
#nbr-review-modal .nbr-rating-option[aria-selected="true"]::after {
  content: "";
  width: 5px;
  height: 9px;
  margin-left: auto;
  border-right: 1.5px solid #33394a;
  border-bottom: 1.5px solid #33394a;
  transform: rotate(45deg);
}
@keyframes nbr-rating-reveal { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
  #nbr-review-modal .nbr-rating-trigger,
  #nbr-review-modal .nbr-rating-trigger::after,
  #nbr-review-modal .nbr-rating-option { transition: none !important; }
  #nbr-review-modal .nbr-rating-options { animation: none; }
}
