:root{
  --header-bg:#123b7d;
  --header-panel:#123b7d;
  --header-text:#ffffff;
  --header-accent:#3b82f6;
}

/* HEADER */
.site-header{
  position:sticky;
  top:0;
  z-index:1120; /* Above mobile menu and backdrop */
  background:var(--header-bg);
}

.header-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 18px;
  max-width:1200px;
  margin:auto;
}

.logo{height:44px}

/* NAV */
.site-nav{
  display:flex;
  flex:1;
  justify-content:center;
}

.nav-links{
  display:flex;
  gap:20px;
}

.nav-links a{
  color:var(--header-text);
  text-decoration:none;
  padding:8px 10px;
  border-radius:6px;
}

.nav-links a:hover{
  background:rgba(255,255,255,.06);
}
/* Active nav link styling */
.nav-links a.active{
  background:rgba(255,255,255,.12);
  box-shadow: inset 0 -3px 0 rgba(255,255,255,0.06);
  font-weight:700;
}

/* SOCIALS */
.header-social,
.nav-social-mobile{
  display:flex;
  gap:12px;
}

.header-social a,
.nav-social-mobile a{
  color:#fff;
  width:36px;
  height:36px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.05);
  text-decoration:none;
}

.header-social a:hover,
.nav-social-mobile a:hover{
  background:rgba(255,255,255,.12);
}

.nav-social-mobile{
  display:none;
}

/* ACTIONS */
.header-actions{
  display:flex;
  align-items:center;
  gap:14px;
}

.login-desktop{
  color:#fff;
  text-decoration:none;
  padding:8px 14px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:6px;
}

/* USER MENU */
.header-user{position:relative}

.user-toggle{
  width:40px;
  height:40px;
  border-radius:50%;
  border:none;
  background:transparent;
  color:#fff;
}

.user-avatar{
  width:36px;
  height:36px;
  border-radius:50%;
}

.user-menu{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  background:var(--header-panel);
  border-radius:10px;
  min-width:180px;
  max-width:calc(100vw - 20px);
  display:none;
}

.user-menu a{
  display:block;
  padding:12px 14px;
  color:#fff;
  text-decoration:none;
}

.user-menu a:hover{background:rgba(255,255,255,.06)}
.user-menu.open{display:block}

/* HAMBURGER */
.nav-toggle{
  display:none;
  flex-direction:column;
  gap:5px;
  background:none;
  border:none;
  width:40px;
  height:40px;
  padding:8px;
  border-radius:4px;
  transition:background-color .2s;
}

.nav-toggle:hover{
  background:rgba(255,255,255,.05);
}

.nav-toggle span,
.nav-toggle-line{
  width:22px;
  height:2px;
  background:#fff;
  transition:all .25s ease;
  transform-origin:center;
}

.nav-toggle.active .nav-toggle-line:nth-child(1){
  transform:rotate(45deg) translate(0, 0);
}

.nav-toggle.active .nav-toggle-line:nth-child(2){
  opacity:0;
  transform:scaleX(0);
}

.nav-toggle.active .nav-toggle-line:nth-child(3){
  transform:rotate(-45deg) translate(0, 0);
}

/* BACKDROP */
.nav-backdrop{
  display:none; /* Disabled for mobile menu */
}

.nav-backdrop.open{display:block}

/* =====================
   MOBILE
===================== */
@media(max-width:768px){

  .nav-toggle{display:flex}

  .header-social{
    display:none;
  }

  .site-nav{
    position:fixed !important;
    top:80px !important; /* Start below header */
    left:-100% !important;
    width:80% !important;
    height:calc(100vh - 80px) !important; /* Adjust height accordingly */
    background:var(--header-panel) !important;
    flex-direction:column !important;
    padding:0 20px 20px !important;
    transition:left .3s ease !important;
    z-index:1111 !important;
    display:flex !important;
    justify-content:space-between !important;
  }

  .site-nav.open{left:0 !important}

  .nav-links{
    flex-direction:column;
    gap:3px;
    flex:1;
    overflow-y:visible;
    padding-right:5px;
  }

  .nav-links a{
    font-size: 12px !important;
    font-weight:600 !important;
    padding:6px 10px !important;
    border-radius:8px !important;
    transition:background-color .2s !important;    color: #ffffff !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.5) !important;  }

  .nav-links a:hover{
    background:rgba(255,255,255,.1) !important;
  }

/* MOBILE SEARCH */
.mobile-search{
  display:none;
}

  .search-form{
    display:flex;
    gap:12px;
    align-items:center;
  }

  .search-input{
    flex:1;
    padding:12px 16px;
    border:none;
    border-radius:8px;
    background:rgba(255,255,255,.1);
    color:#fff;
    font-size:16px;
    width:100%;
  }

  .search-input::placeholder{
    color:rgba(255,255,255,.7);
  }

  .search-input:focus{
    outline:none;
    background:rgba(255,255,255,.15);
  }

  .search-btn{
    padding:12px 16px;
    border:none;
    border-radius:8px;
    background:var(--header-accent);
    color:#fff;
    cursor:pointer;
    transition:background-color .2s;
  }

  .search-btn:hover{
    background:#2563eb;
  }

  .nav-social-mobile{
    margin-top:auto;
    justify-content:flex-start;
    display:flex;
    padding-top:10px;
    border-top:1px solid rgba(255,255,255,.1);
  }

  /* Show mobile search on mobile */
  .mobile-search{
    display:block !important;
  }

  .nav-backdrop.open{
    display:block;
  }

  /* USER MENU → BOTTOM SHEET */
  .user-menu{
    position:fixed !important;
    top:auto !important;
    right:auto !important;
    bottom:-100%;
    left:0;
    width:100%;
    background: #0d1624;
    border-radius:16px 16px 0 0;
    padding:12px;
    display:block !important;
    transition:bottom .3s ease;
    z-index:1112;
  }

  .user-menu.open{
    bottom:0 !important;
  }

  .user-toggle{
    width:50px;
    height:50px;
  }
}

/* Ensure search is hidden on desktop/laptop */
@media(min-width:769px){
  .mobile-search{
    display:none !important;
  }
}
