/* Sprint 7 - Subtle Celebrations */
.vs-celebrate-sheen {
  position: relative;
  overflow: hidden;
}

.vs-celebrate-sheen::after {
  content: "";
  position: absolute;
  inset: -40% -30%;
  background: conic-gradient(from 180deg at 50% 50%, rgba(255,255,255,0) 0deg, rgba(167,139,250,.22) 80deg, rgba(34,211,238,.2) 150deg, rgba(255,255,255,0) 240deg);
  animation: vsSheen 6s linear infinite;
  pointer-events: none;
}

.vs-retention-card--welcome {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .8rem;
}

.vs-relevance-hint {
  margin-left: auto;
  align-self: flex-start;
  font-size: .69rem;
  color: #bae6fd;
  background: rgba(56, 189, 248, .15);
  border: 1px solid rgba(56, 189, 248, .3);
  border-radius: 999px;
  padding: .15rem .45rem;
}

.vs-guestbook-card--highlight {
  border-color: rgba(56, 189, 248, 0.42);
  box-shadow: 0 8px 20px rgba(14, 116, 144, 0.22);
}

.vs-celebration-card {
  position: relative;
  border-color: rgba(139, 92, 246, 0.34);
  background: linear-gradient(138deg, rgba(28, 16, 52, 0.88), rgba(20, 31, 52, 0.78));
}

.vs-celebration-card strong {
  color: #ede9fe;
}

@keyframes vsSheen {
  from { transform: translateX(-10%) rotate(0deg); }
  to { transform: translateX(12%) rotate(360deg); }
}

@media (max-width: 395px) {
  .vs-retention-card--welcome {
    flex-direction: column;
    align-items: flex-start;
  }

  .vs-relevance-hint {
    margin-left: 0;
    margin-top: .2rem;
  }
}
