/* header.css */

/* Variables */
:root {
  --primary: #0A192F;       /* Deep Navy for container */
  --accent: #E14D25;        /* Warm Accent */
  --light: #F2F2F2;         /* Soft Light */
  --transition-speed: 0.3s;
}

*{
font-family: 'Montserrat', sans-serif;
}

/* Fade-In Animation */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Scroll Progress Indicator Styles */
#progress-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 5px;
  background: rgba(0,0,0,0.1);
  z-index: 9999;
}

#progress-bar {
  width: 0%;
  height: 100%;
  background: var(--accent, #E14D25); /* uses your accent color */
  transition: width 0.25s ease-out;
}


/* Fixed Header (Always at the Top) */
.fixed-header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  background: var(--primary);
  backdrop-filter: blur(8px);
  animation: fadeIn 0.8s ease-out;
}

/* Header Container (Deep Navy background) */
.header-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-shadow: 0rem 0rem 4rem 0rem black;
  background: var(--primary);
  padding: 0px 20px;
}

/* Logo Styling */
.logo {
  /* Ensure the container fits inside the header */
  height: 100%;  /* Adjust as needed */
  display: inline-block;
  margin: -14px 10px;
}

.logo a {
  display: block; /* Makes the entire area clickable */
}

.logo img {
  display: block;
  width: min(60px, 20vw); /* caps at 120px, can shrink slightly on very small screens */
  height: auto;
  margin: 20px auto;
}


/* Desktop Navigation (Visible on Desktop) */
.desktop-nav {
  display: block;
}
.desktop-nav ul {
  list-style: none;
  display: flex;
  margin: 9px;
  padding: 0px;
  flex-wrap: nowrap;
  justify-content: space-around;
  flex-direction: row;
  align-items: center;
}
.desktop-nav ul li {
  margin-left: 6px;
  position: relative;
}
.desktop-nav ul li a {
  text-decoration: none;
  color: var(--light);
  font-size: 12px;
  /* border-style: initial; */
  padding: 4px 20px;
  transition: color var(--transition-speed), transform var(--transition-speed);
}
.desktop-nav ul li a:hover,
.desktop-nav ul li a.active {
  color: var(--accent);
  transform: translateY(-2px);
}

/* Dropdown Submenu for Desktop */
.has-submenu .submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: rgba(10,25,47,0.9);
  backdrop-filter: blur(8px);
  padding: 1rem 0;
  min-width: 400px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: opacity var(--transition-speed) ease, transform var(--transition-speed) ease;
  z-index: 9999;
}
.has-submenu:hover .submenu,
.has-submenu.active .submenu {
  display: block;
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.submenu li {
  padding: 10px 20px;
}
.submenu li a {
  color: var(--light);
  font-size: 16px;
  text-decoration: none;
}

/* Hamburger Button (Visible Only on Mobile) */
.hamburger {
  display: none;
  flex-direction: column;
  justify-content: space-around;
  width: 30px;
  height: 30px;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 2000;
}
.hamburger .bar {
  display: block;
  width: 25px;
  height: 3px;
  background: var(--accent);
  transition: transform var(--transition-speed);
  border-radius: 0;
}

/* Mobile Sidebar Navigation */
.sidebar {
  position: fixed;
  top: 0;
  left: -340px;
  width: 300px;
  height: 100vh;       /* Full viewport height */
  overflow-y: hidden;  /* Prevent internal scrolling */
  background: var(--primary);
  color: var(--light);
  padding: 20px;
  transition: left var(--transition-speed) ease;
  z-index: 1500;
}

.sidebar.open {
  left: 0;
}
.close-sidebar {
  background: none;
  border: none;
  color: var(--accent);
  font-size: 30px;
  cursor: pointer;
  margin-bottom: 20px;
}
.mobile-nav ul {
  list-style: none;
  padding: 0;
}
.mobile-nav ul li {
  margin-bottom: 15px;
  position: relative;
}
.mobile-nav ul li a {
  color: var(--light);
  text-decoration: none;
  font-size: 18px;
  display: flex;
  margin: 14px;
  align-items: center;
  border: 1px solid white;
  border-radius: 1rem;
  padding: 1rem;
  gap: 10px;
  transition: color var(--transition-speed);
  flex-direction: row-reverse;
  justify-content: space-between;
}
.mobile-nav ul li a:hover {
  color: var(--accent);
}

/* Mobile Dropdown Submenu (Vertical) */
.mobile-nav .has-submenu .submenu {
  display: none;
  flex-direction: column;
  padding-left: 15px;
  margin-top: 10px;
  z-index: 9999;
}
.mobile-nav .has-submenu.active .submenu {
  display: flex;
}

/* Overlay for Sidebar */
.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(10,25,47,0.7);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--transition-speed);
  z-index: 1400;
}
.overlay.open {
  opacity: 1;
  visibility: visible;
}

/* Responsive Styles */
@media (max-width: 768px) {
  .desktop-nav {
    display: none;
  }

  /* Logo Styling */
.logo {
  /* Ensure the container fits inside the header */
  height: 100%;  /* Adjust as needed */
  display: inline-block;
  margin: 4px; /* Space between logo and other header content */
}

.logo a {
  display: block; /* Makes the entire area clickable */
}

.logo img {
  display: block;
  width: min(60px, 20vw); /* caps at 120px, can shrink slightly on very small screens */
  height: auto;
  margin: 10px auto;
}


  .hamburger {
    display: flex;
  }
}
