:root {
--primary-color: #080f5b;
--accent-color: #6cb4ee;
--card-bg: #ffffff;
--text-dark: #111;
--text-light: #fff;
--tag-bg: #f1f3f6;
--tag-accent: #48cae4;
--hover-shadow: rgba(0,0,0,0.15);
}

/* --------------------
GENERAL
-------------------- */
body {
font-family: 'Arial', sans-serif;
margin: 0;
background: #f5f7fa;
color: var(--text-dark);
scroll-behavior: smooth;
}

a {
text-decoration: none;
transition: 0.3s ease;
}

/* --------------------
NAVBAR
-------------------- */
.navbar {
  background: var(--primary-color);
  color: var(--text-light);
  padding: 14px 56px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: sticky;
  top: 0;
  z-index: 1000;
  box-shadow: 0 8px 24px rgba(0,0,0,0.35);
}

/* Logo + title */
.usman {
  display: flex;
  align-items: center;
  gap: 14px;
}

.nwis {
  width: 46px;
  height: 46px;
  object-fit: contain;
  border-radius: 50%;
  background: #ffffff10;
  padding: 4px;
}

.usman span {
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* Nav links */
.nav-links {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 26px;
  margin: 0;
  padding: 0;
}

.nav-links a {
  position: relative;
  color: var(--text-light);
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 500;
  font-size: 15px;
  padding: 6px 0;
}

/* Underline hover + active */
.nav-links a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 0;
  height: 2px;
  background: var(--accent-color);
  border-radius: 999px;
  transition: width 0.25s ease;
}

.nav-links a:hover::after,
.nav-links a.active::after {
  width: 100%;
}

.nav-links a:hover {
  color: var(--accent-color);
}

/* Optional pill emphasis for one item, e.g. Peer Help */
.nav-links a.highlight {
  padding: 7px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.25);
}

.nav-links a.highlight:hover {
  background: var(--accent-color);
  color: #02063a;
}

/* --------------------
PAGE HEADER
-------------------- */
.mentorship-header {
text-align: center;
padding: 40px 20px;
background: var(--primary-color);
color: var(--text-light);
border-radius: 0 0 12px 12px;
}

.mentorship-header h1 {
font-size: 2.5rem;
margin: 0;
}

.mentorship-header p {
font-size: 1rem;
opacity: 0.9;
margin-top: 6px;
}

/* --------------------
FILTER BAR
-------------------- */
.filter-bar {
display: flex;
flex-direction: column;
align-items: center;
margin: 30px auto;
max-width: 1000px;
gap: 12px;
}

.filter-bar input[type="text"] {
width: 100%;
max-width: 600px;
padding: 10px 16px;
border-radius: 50px;
border: 1px solid #ccc;
font-size: 16px;
}

.filter-buttons {
display: flex;
gap: 10px;
flex-wrap: wrap;
justify-content: center;
}

.filter-buttons button {
padding: 6px 14px;
border-radius: 20px;
border: none;
background: var(--tag-bg);
color: var(--text-dark);
font-size: 14px;
cursor: pointer;
transition: 0.3s ease;
}

.filter-buttons button.active,
.filter-buttons button:hover {
background: var(--tag-accent);
color: var(--text-light);
}

/* --------------------
MENTOR GRID
-------------------- */
.mentor-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 20px;
max-width: 1200px;
margin: 0 auto 60px;
padding: 0 20px;
}

/* --------------------
MENTOR CARD
-------------------- */
.mentor-card {
background: var(--card-bg);
border-radius: 12px;
padding: 18px;
box-shadow: 0 8px 20px var(--hover-shadow);
transition: 0.3s ease;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
cursor: pointer;
}

.mentor-card:hover {
transform: translateY(-6px);
box-shadow: 0 12px 30px var(--hover-shadow);
}

/* Mentor image */
.mentor-photo {
width: 120px;
height: 120px;
border-radius: 50%;
object-fit: cover;
margin-bottom: 10px;
border: 2px solid var(--accent-color);
}

/* Name and info */
.mentor-card h3 {
font-size: 1.1rem;
margin: 6px 0;
color: var(--primary-color);
}

.mentor-card .mentor-details {
font-size: 0.9rem;
line-height: 1.2rem;
margin-bottom: 10px;
}

/* Tags */
.mentor-tags {
display: flex;
flex-wrap: wrap;
gap: 6px;
justify-content: center;
margin-bottom: 10px;
}

.mentor-tags span {
background: var(--tag-bg);
color: var(--text-dark);
font-size: 0.75rem;
padding: 4px 8px;
border-radius: 12px;
}

/* Book button */
.book-btn {
padding: 6px 14px;
font-size: 0.85rem;
border-radius: 6px;
background: var(--accent-color);
color: var(--text-light);
font-weight: bold;
transition: 0.3s ease;
}

.book-btn:hover {
background: var(--primary-color);
transform: scale(1.05);
}

.mentor-filters {
    display: flex;
    gap: 12px;
    margin: 20px auto 30px;
    width: 90%;
    max-width: 900px;
}

.mentor-filters input,
.mentor-filters select {
    padding: 10px;
    border-radius: 8px;
    border: 1px solid #ddd;
    font-size: 14px;
    flex: 1;
}




/* RESPONSIVE */
@media (max-width: 600px) {
.filter-bar input[type="text"] {
max-width: 100%;
}

.mentor-card h3 {
font-size: 1rem;
}

.mentor-card .mentor-details {
font-size: 0.8rem;
}

.book-btn {
font-size: 0.75rem;
padding: 5px 12px;
}



}

/* ---------- Booking Modal ---------- */

.booking-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.55);
  display: none;
  justify-content: center;
  align-items: center;
  backdrop-filter: blur(3px);
  z-index: 9999;
}

.booking-modal {
  background: white;
  width: 380px;
  padding: 25px;
  border-radius: 12px;
  box-shadow: 0 20px 40px rgba(0,0,0,0.25);
  animation: fadeIn 0.3s ease;
}

.booking-modal input {
  width: 100%;
  padding: 10px;
  margin: 6px 0 14px;
  border-radius: 8px;
  border: 1px solid #ddd;
  font-size: 14px;
}

.slot-container {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.slot-btn {
  padding: 10px;
  background: #eef4ff;
  border: 1px solid #c9d8ff;
  border-radius: 8px;
  cursor: pointer;
  transition: 0.2s;
}

.slot-btn:hover {
  background: #dbe7ff;
}

.slot-btn.selected {
  background: #6cb4ee;
  color: white;
}

.booking-actions {
  display: flex;
  justify-content: space-between;
  margin-top: 15px;
}

.confirm-btn {
  background: #080f5b;
  padding: 10px 20px;
  border-radius: 8px;
  color: white;
  cursor: pointer;
  border: none;
}

.cancel-btn {
  background: #ddd;
  padding: 10px 20px;
  border-radius: 8px;
  color: #333;
  border: none;
  cursor: pointer;
}

.booking-message {
  margin-top: 10px;
  font-size: 14px;
}
  MOBILE NAVBAR FIX (ALL-IN-ONE)
   =============================== */

.hamburger {
  display: none;
}

@media (max-width: 768px) {

  /* NAVBAR CONTAINER */
  .navbar {
    position: relative;
    padding: 14px 18px;
    height: 64px;
  }

  /* LOGO */
  .logo {
    font-size: 20px;
    line-height: 1.1;
  }

  .usman {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 10px;
  }

  /* HAMBURGER */
  .hamburger {
    display: block;
    font-size: 26px;
    cursor: pointer;
    color: white;
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1100;
  }

  /* NAV LINKS (HIDDEN BY DEFAULT) */
  .nav-links {
    position: absolute;
    top: 64px;
    left: 0;
    width: 100%;
    background: #080f5b;
    flex-direction: column;
    align-items: center;
    display: none;
    padding: 12px 0;
    z-index: 1000;
    animation: slideDown 0.25s ease-out;
  }

  /* SHOW MENU WHEN ACTIVE */
  .nav-links.show {
    display: flex;
  }

  /* NAV ITEMS */
  .nav-links li {
    width: 100%;
    text-align: center;
  }

  .nav-links a {
    display: block;
    padding: 10px 0;
    font-size: 16px;
  }
}

/* SLIDE ANIMATION */
@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
body {
  overflow-x: hidden;
}
@media (max-width: 768px) {
  .mentor-grid {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 0 16px;
  }

  .mentor-card {
    padding: 18px;
  }

  .mentor-photo {
    width: 72px;
    height: 72px;
  }

  .mentor-card h3 {
    font-size: 1.2rem;
  }

  .mentor-card p {
    font-size: 0.95rem;
  }
}
@media (max-width: 768px) {
  .mentor-filters {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 0 16px;
    margin-bottom: 20px;
  }

  .mentor-filters input,
  .mentor-filters select {
    width: 100%;
    font-size: 15px;
    padding: 12px;
  }
}
@media (max-width: 768px) {
  .book-btn {
    width: 100%;
    min-height: 44px;
    font-size: 15px;
    margin-top: 12px;
  }
}
@media (max-width: 768px) {
  .booking-modal {
    width: 95%;
    max-height: 90vh;
    overflow-y: auto;
    border-radius: 12px;
    padding: 18px;
  }

  .slot-container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .slot-btn {
    width: 100%;
    padding: 12px;
  }
}

@media (max-width: 768px) {
  h2.section-title {
    font-size: 1.6rem;
    margin-bottom: 14px;
  }

  p {
    line-height: 1.6;
  }
}
