/* Shared ranking badges — Top 10 / 25 / 50 (events, profiles, organiser dashboard) */

.hub-ranking-badge {
  display: inline-block;
  max-width: 100%;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.35;
  border-radius: 999px;
  padding: 4px 10px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
}

.hub-ranking-badge--lg {
  font-size: 12px;
  padding: 6px 14px;
  white-space: normal;
  text-align: left;
}

.hub-ranking-badge--top10 {
  color: #6b4f0d;
  background: linear-gradient(135deg, #fdf4d8 0%, #f0dfa0 100%);
  border: 1px solid rgba(201, 168, 76, 0.55);
  box-shadow: 0 1px 4px rgba(107, 79, 13, 0.12);
}

.hub-ranking-badge--top25 {
  color: #2a4a6b;
  background: linear-gradient(135deg, #eef4fc 0%, #c8daf0 100%);
  border: 1px solid rgba(59, 111, 212, 0.4);
  box-shadow: 0 1px 4px rgba(42, 74, 107, 0.1);
}

.hub-ranking-badge--top50 {
  color: #3d4f3a;
  background: linear-gradient(135deg, #f0f6ee 0%, #c8dcc4 100%);
  border: 1px solid rgba(74, 120, 68, 0.38);
  box-shadow: 0 1px 4px rgba(61, 79, 58, 0.1);
}

.ev-host-ranking {
  margin: 0 0 8px;
}

.ev-host-ranking[hidden] {
  display: none !important;
}

.event-grid-ranking {
  position: absolute;
  right: 12px;
  left: auto;
  top: 12px;
  bottom: auto;
  z-index: 3;
  max-width: calc(100% - 88px);
  font-size: 9px;
  padding: 3px 7px;
}

.org-profile-ranking {
  margin: 0 0 10px;
}

.org-profile-ranking[hidden] {
  display: none !important;
}

.organiser-card-ranking {
  display: inline-block;
  margin-top: 6px;
}

.org-ranking-inline {
  display: inline-block;
  margin-top: 4px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.02em;
  border-radius: 999px;
  padding: 2px 8px;
  line-height: 1.35;
}

.org-td-name .org-ranking-inline {
  display: block;
  width: fit-content;
  max-width: 100%;
}
