/* Minimal custom styles layered on Tailwind for production theme. */
:root { color-scheme: light; }
html { scroll-behavior: smooth; }
body { font-family: 'Poppins', sans-serif; background: #ffffff; color: #0f172a; }
.no-scroll { overflow: hidden; }
.shadow-soft { box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08); }
.card-border { border: 1px solid rgba(148, 163, 184, 0.4); }
.gradient-text { background: linear-gradient(90deg, #2563eb, #7c3aed, #db2777); -webkit-background-clip: text; color: transparent; }
.mega-scroll { max-height: 320px; overflow: auto; }
.hide-scrollbar::-webkit-scrollbar { display: none; }
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
/* Focus ring fallback for elements without Tailwind focus utilities. */
:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }

/* Custom scrollbar styles */
.scrollbar-thin {
  scrollbar-width: thin;
  scrollbar-color: rgb(203 213 225) rgb(241 245 249);
}

.scrollbar-thin::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

.scrollbar-thin::-webkit-scrollbar-track {
  background: rgb(241 245 249);
  border-radius: 3px;
}

.scrollbar-thin::-webkit-scrollbar-thumb {
  background: rgb(203 213 225);
  border-radius: 3px;
}

.scrollbar-thin::-webkit-scrollbar-thumb:hover {
  background: rgb(148 163 184);
}

/* Responsive mega menu */
@media (max-width: 768px) {
  .mega-menu-mobile {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    max-width: 100vw !important;
    max-height: 100vh !important;
    border-radius: 0 !important;
  }
}

