/* ================================
   Global Variables
=================================== */
:root{
  --nav-border: rgba(226,232,240,.75);
  --nav-link: #334155;         /* slate-600 */
  --nav-link-hover: #0d6efd;   /* Bootstrap primary */
  --ink: #0f172a;
  --border-200:#e2e8f0;
}

/* ================================
   NAVBAR (fixed-top, collapsible)
=================================== */
.site-navbar{
  background:#fff;
  border-bottom:1px solid var(--nav-border);
  box-shadow:0 4px 12px rgba(15,23,42,.06);
  padding-top:.35rem;
  padding-bottom:.35rem;

  /* stay above any overlays/backdrops */
  z-index:1040;
  pointer-events:auto;
}
.site-container{ max-width:1120px; }

/* Prevent content from hiding behind the fixed navbar */
body{ padding-top:66px; }

/* Links & brand */
.navbar .nav-link{
  font-weight:600;
  color:var(--nav-link) !important;
}
.navbar .nav-link:hover,
.navbar .nav-link:focus{
  color:var(--nav-link-hover) !important;
  background:rgba(13,110,253,.06);
  border-radius:.5rem;
}
.navbar .navbar-brand{
  font-weight:800;
  letter-spacing:.2px;
  color:var(--ink);
}
.navbar .navbar-brand:hover{ color:var(--nav-link-hover); }

/* Toggler */
.navbar-light .navbar-toggler{
  border:1px solid var(--border-200);
  border-radius:.65rem;
  padding:.25rem .5rem;
}
/* Ensure hamburger is visible in all themes */
.navbar-light .navbar-toggler-icon{
  background-image: var(--bs-navbar-toggler-icon-bg, 
    url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280,0,0,.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"));
}

/* Keep items visible if other CSS tampers */
.site-navbar .navbar-nav .nav-item{
  line-height:1.2;
  visibility:visible;
}

/* Collapsed panel background on mobile */
@media (max-width: 767.98px){
  .site-navbar .navbar-collapse{
    background:#fff;
    border-top:1px solid var(--nav-border);
    box-shadow:0 8px 16px rgba(15,23,42,.08);
    padding:.4rem .25rem;
  }
}

/* ================================
   SECTION: Results box (from inline)
=================================== */
#resultBox{
  height:80vh;
  overflow-y:scroll;
  padding:15px;
  border:1px solid #ccc;
  border-radius:8px;
}

/* ================================
   Search results dropdown
=================================== */
#searchResults{
  max-height:320px;
  overflow-y:auto;
  border:1px solid var(--border-200);
  box-shadow:0 4px 12px rgba(15,23,42,.06);
  border-radius:.75rem;
}

/* ================================
   Shimmer placeholders
=================================== */
.shimmer{
  background: linear-gradient(90deg, #f3f4f6 25%, #e5e7eb 37%, #f3f4f6 63%);
  background-size: 400% 100%;
  animation: shimmer 1.2s linear infinite;
}
@keyframes shimmer{
  0%{ background-position: 100% 0; }
  100%{ background-position: 0 0; }
}

/* ================================
   Modal (vanilla)
=================================== */
.modal-backdrop{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.45);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:60;
}
.modal-panel{
  width:100%;
  max-width:820px;
  border-radius:12px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 10px 30px rgba(0, 0, 0, 0.2);
}

/* ================================
   Utilities
=================================== */
.hidden{ display:none !important; }
.prewrap{ white-space:pre-wrap; word-break:break-word; }