/* CheckSec - Custom Styles */

/* Wizard Chat-Bubble Animation */
.chat-bubble-enter {
  opacity: 0;
  transform: translateY(0.5rem);
  animation: chatBubbleIn 0.3s ease-out forwards;
}

@keyframes chatBubbleIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Typing Indicator */
.typing-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 9999px;
  background: hsl(var(--bc) / 0.4);
  animation: typingBounce 1.4s infinite ease-in-out;
}

.typing-dot:nth-child(1) { animation-delay: 0s; }
.typing-dot:nth-child(2) { animation-delay: 0.2s; }
.typing-dot:nth-child(3) { animation-delay: 0.4s; }

@keyframes typingBounce {
  0%, 80%, 100% { transform: scale(0.6); opacity: 0.4; }
  40% { transform: scale(1); opacity: 1; }
}

/* Blurred text (Match preview) */
.blurred-text {
  user-select: none;
  filter: blur(5px);
}

/* Premium-gated content blur (secure — only placeholder text) */
.premium-blur {
  user-select: none;
  -webkit-user-select: none;
  pointer-events: none;
  filter: blur(6px);
  -webkit-filter: blur(6px);
}
.premium-blur::selection {
  background: transparent;
}

/* Overlay for premium CTA over blurred content */
.premium-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
}

/* Fade in */
.fade-in {
  animation: fadeIn 0.5s ease-out;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(1rem); }
  to { opacity: 1; transform: translateY(0); }
}

/* ===== Scroll Animations ===== */

.animate-on-scroll {
  opacity: 0;
  transform: translateY(2rem);
  transition: opacity 0.7s ease-out, transform 0.7s ease-out;
}

.animate-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Staggered children */
.animate-on-scroll.is-visible .stagger-child:nth-child(1) { transition-delay: 0.1s; }
.animate-on-scroll.is-visible .stagger-child:nth-child(2) { transition-delay: 0.2s; }
.animate-on-scroll.is-visible .stagger-child:nth-child(3) { transition-delay: 0.3s; }
.animate-on-scroll.is-visible .stagger-child:nth-child(4) { transition-delay: 0.4s; }

.stagger-child {
  opacity: 0;
  transform: translateY(1rem);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

.animate-on-scroll.is-visible .stagger-child {
  opacity: 1;
  transform: translateY(0);
}

/* Stat counter tabular nums */
.stat-counter {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
}

/* Navbar scroll transition */
.navbar-scroll-transition {
  transition: background-color 0.3s ease, box-shadow 0.3s ease, backdrop-filter 0.3s ease;
}

/* Star rating */
.star-filled {
  color: #f59f00;
}

.star-empty {
  color: #e2e8f0;
}

/* ===== Wizard — Digitaler Berater ===== */

/* Chat-Container smooth scroll */
.wizard-chat {
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}

/* Option-Buttons im Chat */
.wizard-option-btn {
  transition: all 0.2s ease;
}
.wizard-option-btn:hover {
  transform: translateY(-1px);
}

/* Verifizierungscode-Eingabe */
.wizard-code-input {
  letter-spacing: 0.5em;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  font-variant-numeric: tabular-nums;
}

/* Zusammenfassung-Card */
.wizard-summary-card {
  background: linear-gradient(135deg, #f8fafc 0%, #eff6ff 100%);
}

/* Mobile: Fullscreen-Modal */
@media (max-width: 639px) {
  #wizard-dialog .modal-box {
    height: 100dvh;
    max-height: 100dvh;
    width: 100vw;
    max-width: 100vw;
    border-radius: 0;
    margin: 0;
  }
}

/* Multi-Select Chips */
.wizard-chip {
  transition: all 0.15s ease;
}
.wizard-chip.selected {
  background-color: hsl(var(--p));
  color: hsl(var(--pc));
  border-color: hsl(var(--p));
}

/* Progress-Bar Animation */
.wizard-progress {
  transition: width 0.5s ease;
}

