/* css styles */

/* Sidebar hover highlight effect - inspired by pauricfreeman.com */

/* Main sidebar navigation links */
.sidebar .sidebar-item-text.sidebar-link {
  transition: all 0.2s ease;
  border-radius: 0;
  padding: 0.25rem 0.8rem;
  margin: 0;
  display: block;
  text-decoration: none;
  color: inherit;
}

.sidebar .sidebar-item-text.sidebar-link:hover {
  background-color: #000 !important;
  color: #fff !important;
  text-decoration: none;
}

/* Section headers that are also links */
.sidebar .sidebar-item-text.sidebar-link.collapsed {
  transition: all 0.2s ease;
  padding: 0.25rem 0.8rem;
  margin: 0;
  border-radius: 0;
}

.sidebar .sidebar-item-text.sidebar-link.collapsed:hover {
  background-color: #000 !important;
  color: #fff !important;
}

/* Ensure all sidebar links get the effect */
a.sidebar-item-text.sidebar-link {
  transition: all 0.2s ease;
  border-radius: 0;
  padding: 0.25rem 0.8rem;
  margin: 0;
}

a.sidebar-item-text.sidebar-link:hover {
  background-color: #000 !important;
  color: #fff !important;
  text-decoration: none;
}

/* Aggressively remove spacing from sidebar items */
.sidebar .sidebar-item {
  margin: 0 !important;
  padding: 0 !important;
}

.sidebar .sidebar-item-container {
  margin: 0 !important;
  padding: 0 !important;
}

/* Remove spacing from sidebar lists */
.sidebar ul.list-unstyled {
  margin: 0 !important;
  padding: 0 !important;
}

.sidebar ul.list-unstyled li {
  margin: 0 !important;
  padding: 0 !important;
}

/* Specifically target top-level sidebar items for tight spacing */
.sidebar .sidebar-menu-container > ul > li {
  margin: 0 !important;
  padding: 0 !important;
}

/* Override any existing link styles */
.sidebar a:hover {
  text-decoration: none;
}

/* Custom cursor effect for sidebar links */
.sidebar .sidebar-link:hover {
  cursor: pointer;
}

/* Consistent hover effect for body text links */
.quarto-layout-cell a {
  transition: all 0.2s ease;
  text-decoration: none;
  color: inherit;
  padding: 0.1rem 0.2rem;
  margin: -0.1rem -0.2rem;
  border-radius: 0;
}

.quarto-layout-cell a:hover {
  background-color: #000 !important;
  color: #fff !important;
  text-decoration: none;
}

/* Also apply to main content area links */
main a {
  transition: all 0.2s ease;
  text-decoration: none;
  color: inherit;
  padding: 0.1rem 0.2rem;
  margin: -0.1rem -0.2rem;
  border-radius: 0;
}

main a:hover {
  background-color: #000 !important;
  color: #fff !important;
  text-decoration: none;
}

/* General content area links */
#quarto-content a:not(.sidebar a):not(.navbar a) {
  transition: all 0.2s ease;
  text-decoration: none;
  color: inherit;
  padding: 0.1rem 0.2rem;
  margin: -0.1rem -0.2rem;
  border-radius: 0;
}

#quarto-content a:not(.sidebar a):not(.navbar a):hover {
  background-color: #000 !important;
  color: #fff !important;
  text-decoration: none;
}

/* Override any theme-specific link colors */
body a:hover {
  background-color: #000 !important;
  color: #fff !important;
  text-decoration: none;
}

/* But exclude sidebar and navigation links from the general rule */
.sidebar a:hover,
.navbar a:hover,
.quarto-secondary-nav a:hover {
  /* Let sidebar styles take precedence */
}

/* Sidebar top-level headings - neue-haas-grotesk-display font */
.sidebar .sidebar-item-text.sidebar-link.collapsed {
  font-family: neue-haas-grotesk-display, sans-serif !important;
  font-weight: normal !important;
  font-size: 16px !important;
  line-height: 24px !important;
  text-transform: uppercase !important;
  word-spacing: 0.2em !important;
}

/* Also target section headers that might not have the collapsed class */
.sidebar .sidebar-item-section .sidebar-item-text {
  font-family: neue-haas-grotesk-display, sans-serif !important;
  font-weight: normal !important;
  font-size: 16px !important;
  line-height: 24px !important;
  text-transform: uppercase !important;
  word-spacing: 0.2em !important;
}

/* Target non-collapsible top-level items (like Papers, Courses, etc.) */
.sidebar > .sidebar-menu-container > ul > li > .sidebar-item-container > .sidebar-item-text.sidebar-link:not(.collapsed) {
  font-family: neue-haas-grotesk-display, sans-serif !important;
  font-weight: normal !important;
  font-size: 16px !important;
  line-height: 24px !important;
  text-transform: uppercase !important;
  word-spacing: 0.2em !important;
}

/* Alternative selector for top-level sidebar items */
.sidebar .sidebar-menu-container > ul > li:not(.sidebar-item-section) > .sidebar-item-container > .sidebar-item-text {
  font-family: neue-haas-grotesk-display, sans-serif !important;
  font-weight: normal !important;
  font-size: 16px !important;
  line-height: 24px !important;
  text-transform: uppercase !important;
  word-spacing: 0.2em !important;
}

/* Body text h2 headings - neue-haas-grotesk-display font */
h2 {
  font-family: neue-haas-grotesk-display, sans-serif !important;
  font-weight: normal !important;
  font-size: 16px !important;
}

/* Also target h2 in main content areas */
main h2,
#quarto-content h2,
.quarto-layout-cell h2 {
  font-family: neue-haas-grotesk-display, sans-serif !important;
  font-weight: normal !important;
  font-size: 16px !important;
}

/* Sidebar title font size */
.sidebar-title {
  font-size: 26px !important;
}

/* Alternative selectors for sidebar title */
.navbar-brand {
  font-size: 26px !important;
}

.sidebar .nav-link.active {
  font-size: 26px !important;
}

/* Quarto specific sidebar title */
.sidebar-header .sidebar-title {
  font-size: 26px !important;
}

/* Mobile sidebar fixes */
@media (max-width: 991.98px) {
  /* Force mobile navigation visibility */
  .quarto-secondary-nav {
    display: flex !important;
    background: white;
    border-bottom: 1px solid #dee2e6;
    padding: 0.5rem 0;
    position: sticky;
    top: 0;
    z-index: 1040;
  }
  
  .quarto-secondary-nav .container-fluid {
    display: flex !important;
    align-items: center;
  }
  
  /* Make the hamburger button visible and styled */
  .quarto-btn-toggle {
    display: flex !important;
    align-items: center;
    justify-content: center;
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    padding: 0.5rem;
    margin: 0;
    border-radius: 0.375rem;
    color: #495057;
    font-size: 1.1rem;
    cursor: pointer;
  }
  
  .quarto-btn-toggle:hover {
    background: #e9ecef;
  }
  
  /* Ensure sidebar is accessible on mobile */
  .sidebar {
    display: block !important;
  }
  
  /* Ensure the sidebar content is visible when expanded */
  .sidebar.show {
    display: block !important;
  }
  
  /* Fix for floating sidebar on mobile */
  .sidebar.sidebar-navigation.floating {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100vh;
    background: white;
    z-index: 1050;
    overflow-y: auto;
    transform: translateX(-100%);
    transition: transform 0.3s ease;
    box-shadow: 2px 0 5px rgba(0,0,0,0.1);
  }
  
  .sidebar.sidebar-navigation.floating.show {
    transform: translateX(0) !important;
  }
  
  /* Ensure proper mobile navigation button styling */
  .quarto-secondary-nav .quarto-btn-toggle {
    background: none;
    border: 1px solid #dee2e6;
    padding: 0.375rem 0.75rem;
    margin: 0.5rem;
    border-radius: 0.25rem;
  }
  
  /* Alternative fix for sidebar visibility */
  #quarto-sidebar {
    display: block !important;
  }
  
  /* Make sure sidebar content is scrollable on mobile */
  .sidebar-menu-container {
    max-height: 100vh;
    overflow-y: auto;
  }
}
