.oripa-bbs-selector {
  margin: 1.25rem 0;
}

.oripa-bbs-label {
  margin: 0 0 0.5rem;
  font-weight: 700;
}

.oripa-bbs-label .required {
  color: #b42318;
  font-size: 0.875em;
  font-weight: 600;
}

.oripa-bbs-checkboxes {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 0.5rem;
}

.oripa-bbs-checkbox {
  align-items: center;
  border: 1px solid #d0d5dd;
  border-radius: 6px;
  cursor: pointer;
  display: flex;
  gap: 0.45rem;
  line-height: 1.4;
  padding: 0.625rem 0.75rem;
}

.oripa-bbs-checkbox:hover,
.oripa-bbs-checkbox:focus-within {
  border-color: #20a67a;
}

.oripa-bbs-error {
  color: #b42318;
  font-weight: 700;
  margin: 0.65rem 0 0;
}

.oripa-bbs-selector.is-error .oripa-bbs-checkboxes {
  outline: 2px solid #f97066;
  outline-offset: 3px;
}

.oripa-bbs-ranking {
  margin: 2rem 0;
}

.oripa-bbs-ranking h3 {
  margin: 0 0 1rem;
}

.oripa-bbs-chart-wrap {
  height: 360px;
  max-width: 100%;
}

.oripa-bbs-empty {
  color: #667085;
}

.oripa-bbs-comment-selected {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.5rem;
  margin-top: 0.75rem;
}

.oripa-bbs-comment-selected-label {
  color: #475467;
  font-size: 0.85em;
  font-weight: 700;
  line-height: 1.8;
}

.oripa-bbs-comment-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.oripa-bbs-comment-chip {
  background: #eef8fa;
  border: 1px solid #b8dfe7;
  border-radius: 999px;
  color: #225f6d;
  display: inline-flex;
  font-size: 0.85em;
  font-weight: 700;
  line-height: 1.2;
  padding: 0.25rem 0.55rem;
}
