/* GLOBAL */

body {
  background: linear-gradient(135deg, #0b0b12, #11111a);
  font-family: "Poppins", sans-serif;
  color: #fff;
  overflow-x: hidden;
}

section {
  padding: 100px 0;
}

/* NAVBAR */

.navbar {
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(156, 107, 255, 0.2);
}

.navbar-brand {
  font-weight: 700;
  font-size: 24px;
  letter-spacing: 1px;
}

.nav-link {
  color: #fff !important;
  margin-left: 20px;
  position: relative;
}

.nav-link::after {
  content: "";
  width: 0%;
  height: 2px;
  background: #9c6bff;
  position: absolute;
  left: 0;
  bottom: -5px;
  transition: 0.4s;
}

.nav-link:hover::after {
  width: 100%;
}

/* HERO CAROUSEL */

.hero-carousel {
  margin-top: 70px; /* below navbar */
}

.hero-carousel img {
  height: 90vh;
  object-fit: cover;
  filter: brightness(60%);
}

.carousel-caption {
  bottom: 30%;
}

.carousel-caption h1 {
  font-size: 60px;
  font-weight: 800;
  text-shadow: 0 0 20px rgba(156, 107, 255, 0.8);
  animation: glowText 3s infinite alternate;
}

@keyframes glowText {
  from {
    text-shadow: 0 0 10px #9c6bff;
  }
  to {
    text-shadow: 0 0 30px #00f0ff;
  }
}

/* BUTTON */

.glow-btn {
  background: linear-gradient(45deg, #9c6bff, #00f0ff);
  border: none;
  padding: 12px 30px;
  border-radius: 40px;
  color: white;
  font-weight: 600;
  transition: 0.4s;
  box-shadow: 0 0 20px rgba(156, 107, 255, 0.6);
}

.glow-btn:hover {
  transform: translateY(-5px);
  box-shadow: 0 0 40px rgba(0, 240, 255, 0.9);
}

/* CARDS */

.card {
  background: #141422;
  border-radius: 20px;
  border: 1px solid rgba(156, 107, 255, 0.2);
  transition: 0.4s;
}

.card:hover {
  transform: translateY(-10px);
  box-shadow: 0 0 30px rgba(156, 107, 255, 0.5);
}

/* GALLERY */

.gallery-img {
  overflow: hidden;
  border-radius: 15px;
}

.gallery-img img {
  width: 100%;
  transition: 0.5s;
}

.gallery-img:hover img {
  transform: scale(1.1);
}

/* REVEAL ANIMATION */

.reveal {
  opacity: 0;
  transform: translateY(60px);
  transition: 1s ease;
}

.reveal.active {
  opacity: 1;
  transform: translateY(0);
}

/* FOOTER */

footer {
  background: #0b0b12;
  border-top: 1px solid rgba(156, 107, 255, 0.2);
  padding: 50px 0;
}

/* PARALLAX SECTION */

.parallax {
  background: url("../images/banner3.png") no-repeat center center/cover;
  background-attachment: fixed;
  height: 60vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

body {
  user-select: none;
}

img {
  pointer-events: none;
}

/* ================= NAVBAR ================= */

.navbar .nav-link {
  position: relative;
  transition: 0.3s ease;
  color: #ccc;
}

/* Active Link */
.navbar .nav-link.active {
  color: #9f7aea !important;
  font-weight: 600;
}

/* Active underline */
.navbar .nav-link.active::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 3px;
  background: linear-gradient(45deg, #9f7aea, #00f0ff);
  border-radius: 10px;
}

/* Hover effect */
.navbar .nav-link:hover {
  color: #fff;
}

.navbar .dropdown-toggle::after {
  display: none !important;
}

/* ================= DROPDOWN ================= */

.dropdown-menu {
  background: #0f0f1b;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 8px 0;
  min-width: 180px;
}

.dropdown-item {
  color: #ccc;
  padding: 10px 20px;
  transition: 0.3s;
}

/* Hover */
.dropdown-item:hover {
  background: linear-gradient(45deg, #9f7aea, #00f0ff);
  color: #fff;
}

/* Show on hover (desktop only) */
@media (min-width: 992px) {
  .navbar .dropdown:hover .dropdown-menu {
    display: block;
    margin-top: 0;
  }
}

/* ================= EXTRA POLISH ================= */

/* Smooth dropdown animation */
.dropdown-menu {
  opacity: 0;
  transform: translateY(10px);
  transition: 0.3s ease;
  visibility: hidden;
}

.navbar .dropdown:hover .dropdown-menu {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
}

/* Fix spacing for logo text */
.navbar-brand {
  font-weight: 600;
}

/* Tagline */
.navbar span {
  font-size: 12px;
  color: #aaa;
}

.social-icon {
  display: inline-block;
  margin: 0 12px;
  font-size: 22px;
  color: white;
  transition: 0.3s ease;
}

.social-icon:hover {
  color: #9f7aea;
  transform: scale(1.2);
}
