/* Minimal scrollbar for pricing carousel on WebKit */
.scrollbar-thin::-webkit-scrollbar {
  height: 8px;
}
.scrollbar-thin::-webkit-scrollbar-thumb {
  background-color: rgba(148,163,184,.6);
  border-radius: 9999px;
}
.scrollbar-thin::-webkit-scrollbar-track {
  background-color: transparent;
}

/* Improve focus visibility */
:focus-visible {
  outline: 2px solid rgba(99, 102, 241, .6);
  outline-offset: 2px;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Selection */
::selection {
  background: rgba(99,102,241,.18);
}

/* Grid pattern helper used on hero background */
.bg-grid {
  background-image: radial-gradient(circle at 1px 1px, rgba(2, 6, 23, 0.12) 1px, transparent 0);
  background-size: 24px 24px;
}

/* Safe area for mobile */
@supports (padding: max(0px)) {
  .container {
    padding-left: max(1rem, env(safe-area-inset-left));
    padding-right: max(1rem, env(safe-area-inset-right));
  }
}

/* Subtle animated gradient blob for hero visuals (non essential) */
@keyframes floaty {
  0%, 100% { transform: translateY(0); opacity: .5; }
  50% { transform: translateY(-12px); opacity: .8; }
}
/* Center pricing cards */
.pricing-cards {
  justify-content: center;
}
