/* ==============================
   Navbar & Topbar Modern
   ============================== */

/* Topbar */
.bg-dark {
  background: linear-gradient(90deg, #040a14, #050505);
  color: #fff;
  font-size: 13px;
  font-weight: 400;
  padding: 4px 0;
}

/* Navbar */
.navbar {
  background: #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
  padding: 0.3rem 1rem;
}

/* Navbar links */
.navbar-nav .nav-link {
  color: #000;
  margin-left: 15px;
  font-weight: 600;
  font-size: 14px;
  text-transform: uppercase;
  transition: all 0.3s ease;
  position: relative;
  padding: 10px 5px !important;
}

/* Hover & Active */
.navbar-nav .nav-link.active,
.navbar-nav .nav-link:hover {
  color: #0d6efd;
}

/* Smooth underline */
.navbar-nav .nav-link::after {
  content: "";
  display: block;
  width: 0;
  height: 2px;
  background: #0d6efd;
  transition: width 0.3s ease;
  position: absolute;
  bottom: 0;
  left: 0;
}

.navbar-nav .nav-link:hover::after,
.navbar-nav .nav-link.active::after {
  width: 100%;
}

/* ==============================
   Dropdown Bertingkat
   ============================== */
.dropdown-submenu {
  position: relative;
}

.dropdown-submenu > .dropdown-menu {
  top: 0;
  left: 100%;
  margin-left: 0.2rem;
  border-radius: 0.4rem;
  box-shadow: 0 4px 12px rgba(0,0,0,0.12);
  background: #fff;
  opacity: 0;
  visibility: hidden;
  transform: translateX(8px);
  transition: all 0.25s ease;
}

/* Hover desktop */
@media(min-width:992px){
  .navbar .dropdown:hover > .dropdown-menu,
  .dropdown-submenu:hover > .dropdown-menu {
    display: block;
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
  }
}

/* Dropdown items */
.dropdown-menu .dropdown-item {
  font-size: 14px;
  transition: all 0.2s ease;
  border-radius: 0.3rem;
  padding: 8px 15px;
}

.dropdown-menu .dropdown-item:hover {
  background: #0d6efd;
  color: #fff;
  padding-left: 20px;
}

/* Arrow pada submenu */
.dropdown-submenu > a::after {
  content: "▶";
  float: right;
  margin-left: 5px;
  font-size: 11px;
  transition: transform 0.3s ease;
}

.dropdown-submenu:hover > a::after {
  transform: rotate(90deg);
}

/* Mobile */
@media(max-width:991px){
  .dropdown-submenu > .dropdown-menu {
    position: relative;
    left: 0;
    transform: none;
    opacity: 1;
    visibility: visible;
    margin-left: 0;
    box-shadow: none;
  }
  .navbar-nav .nav-link {
    padding: 10px !important;
    border-bottom: 1px solid #eee;
  }
}
