.ss-festival-badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  max-width: 100%;
}

.ss-festival-badges--card {
  margin-top: 0.45rem;
}

.ss-festival-badges--detail {
  margin-top: 0.75rem;
}

.ss-festival-badges--header {
  justify-content: flex-end;
  margin: 0.75rem 0 -0.25rem;
}

.ss-festival-badge {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  min-height: 1.35rem;
  padding: 0.18rem 0.46rem;
  border: 1px solid color-mix(in srgb, var(--ss-border, rgba(15, 23, 42, 0.14)) 78%, transparent);
  border-radius: 6px;
  background: color-mix(in srgb, var(--ss-surface, #fff) 90%, var(--ss-muted, #6b7280) 10%);
  color: color-mix(in srgb, var(--ss-heading, #111827) 46%, var(--ss-muted, #6b7280) 54%);
  font-size: 0.68rem;
  font-weight: 600;
  line-height: 1.15;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ss-festival-badge--verified {
  background: color-mix(in srgb, var(--ss-surface, #fff) 86%, #22c55e 14%);
  border-color: color-mix(in srgb, #22c55e 28%, transparent);
  color: color-mix(in srgb, var(--ss-heading, #111827) 58%, #166534 42%);
}

.ss-festival-badge--partner {
  background: color-mix(in srgb, var(--ss-surface, #fff) 86%, #d6a33a 14%);
  border-color: color-mix(in srgb, #d6a33a 30%, transparent);
  color: color-mix(in srgb, var(--ss-heading, #111827) 58%, #854d0e 42%);
}

.festival-template .gh-page-head .ss-festival-badges,
.festival-template .post-content-wrapper .ss-festival-badges--detail {
  justify-content: flex-start;
}

.ss-festival-claim-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 1.5rem 0;
  padding: 1rem;
  border: 1px solid color-mix(in srgb, var(--ss-border, rgba(15, 23, 42, 0.12)) 84%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--ss-surface, #fff) 92%, var(--ss-muted, #6b7280) 8%);
}

.ss-festival-claim-cta__copy {
  min-width: 0;
}

.ss-festival-claim-cta__copy h2 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.25;
}

.ss-festival-claim-cta__copy p {
  margin: 0.2rem 0 0;
  color: var(--ss-muted, #6b7280);
  font-size: 0.94rem;
  line-height: 1.4;
}

.ss-festival-claim-cta__button,
.ss-festival-claim-cta__button:link,
.ss-festival-claim-cta__button:visited {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-height: 2.25rem;
  padding: 0.55rem 0.85rem;
  border-radius: 6px;
  background: var(--ghost-accent-color, #15171a);
  color: var(--color-accent-foreground, #fff);
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.1;
  text-decoration: none;
}

.ss-festival-claim-cta__button:hover,
.ss-festival-claim-cta__button:focus-visible {
  color: var(--color-accent-foreground, #fff);
  filter: brightness(0.94);
}

[data-color-scheme="dark"] .ss-festival-badge,
:root[data-color-scheme="dark"] .ss-festival-badge {
  background: color-mix(in srgb, var(--ss-surface, #111827) 86%, white 14%);
  border-color: color-mix(in srgb, white 10%, transparent);
  color: color-mix(in srgb, white 72%, var(--ss-muted, #9ca3af) 28%);
}

[data-color-scheme="dark"] .ss-festival-badge--verified,
:root[data-color-scheme="dark"] .ss-festival-badge--verified {
  background: color-mix(in srgb, var(--ss-surface, #111827) 82%, #22c55e 18%);
  border-color: color-mix(in srgb, #22c55e 34%, transparent);
  color: color-mix(in srgb, white 78%, #86efac 22%);
}

[data-color-scheme="dark"] .ss-festival-badge--partner,
:root[data-color-scheme="dark"] .ss-festival-badge--partner {
  background: color-mix(in srgb, var(--ss-surface, #111827) 80%, #d6a33a 20%);
  border-color: color-mix(in srgb, #d6a33a 36%, transparent);
  color: color-mix(in srgb, white 78%, #fde68a 22%);
}

[data-color-scheme="dark"] .ss-festival-claim-cta,
:root[data-color-scheme="dark"] .ss-festival-claim-cta {
  background: color-mix(in srgb, var(--ss-surface, #111827) 88%, white 12%);
  border-color: color-mix(in srgb, white 10%, transparent);
}

@media (max-width: 620px) {
  .ss-festival-badges {
    gap: 0.3rem;
  }

  .ss-festival-badges--header {
    justify-content: center;
    margin: 0.65rem 0 0.15rem;
  }

  .ss-festival-badge {
    font-size: 0.64rem;
  }

  .ss-festival-claim-cta {
    align-items: stretch;
    flex-direction: column;
  }

  .ss-festival-claim-cta__button {
    width: 100%;
  }
}
