/* ========== NAVBAR STYLES - FIXED ========== */

/* Reset untuk navbar */
.navbar {
   position: absolute;
   top: 0;
   width: 100%;
   z-index: 1000;
   padding: 1rem 0;
   background: transparent;
   transition: all 0.3s ease;
}

.navbar.scrolled {
   background: rgba(20, 30, 70, 0.95);
   backdrop-filter: blur(10px);
   position: fixed;
   box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
}

/* Nav Container */
.nav-container {
   max-width: 1400px;
   margin: 0 auto;
   padding: 0 3rem;
   display: flex;
   justify-content: space-between;
   align-items: center;
}

.nav-container span{
   font-size: 5px;
}

/* Logo Section */
.logo {
   display: flex;
   align-items: center;
   gap: 0.75rem;
   animation: fadeInLeft 0.8s ease;
   z-index: 1001;
}

@keyframes fadeInLeft {
   from {
      opacity: 0;
      transform: translateX(-30px);
   }
   to {
      opacity: 1;
      transform: translateX(0);
   }
}

.logo img {
   width: 60px;
   height: 60px;
   object-fit: contain;
}

.logo span {
   color: white;
   font-size: 0.90rem;
   font-weight: 600;
   text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
   line-height: 1.3;
   max-width: 250px;
   text-transform: capitalize;
}

/* Navigation Menu */
.nav-menu {
   display: flex;
   list-style: none;
   gap: 2rem;
   align-items: center;
   animation: fadeInRight 0.8s ease;
   margin: 0;
   padding: 0;
}

@keyframes fadeInRight {
   from {
      opacity: 0;
      transform: translateX(30px);
   }
   to {
      opacity: 1;
      transform: translateX(0);
   }
}

.nav-menu li {
   white-space: nowrap;
}

.nav-menu li a,
.nav-link {
   color: rgba(255, 255, 255, 0.9);
   text-decoration: none;
   font-size: 0.95rem;
   font-weight: 500;
   transition: all 0.3s ease;
   position: relative;
   text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
   white-space: nowrap;
   display: inline-block;
}

.nav-menu li a::after,
.nav-link::after {
   content: '';
   position: absolute;
   bottom: -5px;
   left: 0;
   width: 0;
   height: 2px;
   background: #00bfff;
   transition: width 0.3s ease;
}

.nav-menu li a:hover,
.nav-menu li a.active,
.nav-link:hover,
.nav-link.active {
   color: white;
}

.nav-menu li a:hover::after,
.nav-menu li a.active::after,
.nav-link:hover::after,
.nav-link.active::after {
   width: 100%;
}

/* Hamburger Menu */
.hamburger {
   display: none;
   flex-direction: column;
   cursor: pointer;
   gap: 5px;
   z-index: 1001;
}

.hamburger span {
   width: 25px;
   height: 3px;
   background: white;
   border-radius: 3px;
   transition: all 0.3s ease;
   display: block;
}

.hamburger.active span:nth-child(1) {
   transform: rotate(45deg) translateY(8px);
}

.hamburger.active span:nth-child(2) {
   opacity: 0;
}

.hamburger.active span:nth-child(3) {
   transform: rotate(-45deg) translateY(-8px);
}

/* ========== RESPONSIVE DESIGN ========== */

@media (max-width: 1200px) {
   .nav-menu {
      gap: 1.5rem;
   }

   .nav-menu li a,
   .nav-link {
      font-size: 0.9rem;
   }

   .logo span {
      font-size: 0.80rem;
   }
}

@media (max-width: 1024px) {
   .nav-menu {
      gap: 1.2rem;
   }

   .nav-menu li a,
   .nav-link {
      font-size: 0.85rem;
   }

   .nav-container {
      padding: 0 2rem;
   }

   .logo img {
      width: 55px;
      height: 55px;
   }

   .logo span {
      font-size: 0.45rem;
      max-width: 200px;
   }
}

@media (max-width: 768px) {
   .hamburger {
      display: flex;
   }

   .nav-menu {
      position: fixed;
      left: -100%;
      top: 0;
      flex-direction: column;
      background: rgba(20, 30, 70, 0.98);
      backdrop-filter: blur(10px);
      width: 100%;
      height: 100vh;
      padding: 100px 2rem 2rem;
      transition: left 0.3s ease;
      gap: 0;
      justify-content: flex-start;
      z-index: 1000;
   }

   .nav-menu.active {
      left: 0;
   }

   .nav-menu li {
      width: 100%;
   }

   .nav-menu li a,
   .nav-link {
      padding: 1rem 0;
      width: 100%;
      text-align: left;
      font-size: 1.1rem;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
      display: block;
   }

   .logo img {
      width: 50px;
      height: 50px;
   }

   .logo span {
      font-size: 0.85rem;
      max-width: 180px;
   }
}

@media (max-width: 480px) {
   .nav-container {
      padding: 0 1.5rem;
   }

   .logo img {
      width: 45px;
      height: 45px;
   }

   .logo span {
      font-size: 0.8rem;
      max-width: 150px;
   }

   .logo {
      gap: 0.5rem;
   }
}