html {
  scroll-behavior: smooth;
}

body {
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

.qv-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.qv-scrollbar-hide::-webkit-scrollbar {
  display: none;
}
.qv-scrollbar-hide {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.qv-accordion-icon {
  transition: transform 0.2s ease;
}
.qv-accordion[open] .qv-accordion-icon {
  transform: rotate(45deg);
}

.qv-cookie-banner {
  transform: translateY(120%);
  transition: transform 0.35s ease;
}
.qv-cookie-banner.qv-visible {
  transform: translateY(0);
}

.qv-pill-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1.5rem;
  border-radius: 9999px;
  font-weight: 700;
  font-size: 0.9rem;
  color: #ffffff;
  background-image: linear-gradient(135deg, #ec4899, #f59e0b);
  box-shadow: 0 12px 30px -12px rgba(236, 72, 153, 0.55);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.qv-pill-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 34px -12px rgba(236, 72, 153, 0.7);
}

.qv-pill-btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.65rem 1.45rem;
  border-radius: 9999px;
  font-weight: 700;
  font-size: 0.9rem;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.25);
  transition: background 0.15s ease, border-color 0.15s ease;
}
.qv-pill-btn-outline:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.45);
}

.qv-tab-btn {
  display: inline-flex;
  align-items: center;
  padding: 0.55rem 1.1rem;
  border-radius: 9999px;
  font-size: 0.8rem;
  font-weight: 700;
  white-space: nowrap;
  color: rgba(255, 255, 255, 0.65);
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: background 0.15s ease, color 0.15s ease;
}
.qv-tab-btn:hover {
  color: #ffffff;
}

.qv-tab-btn[aria-selected="true"] {
  background-image: linear-gradient(135deg, #ec4899, #f59e0b);
  color: #fff;
  box-shadow: 0 10px 25px -10px rgba(236, 72, 153, 0.6);
}

.qv-line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.qv-line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .qv-cookie-banner,
  .qv-accordion-icon {
    transition: none;
  }
}
