/* Default: light mode top bar */
#topbar {
  background-color: #f1f1f1 !important;
  transition: background-color var(--theme-transition) ease, 
              color var(--theme-transition) ease;
  border-bottom: var(--light-mode-border);
  color: var(--light-mode-text-color) !important;
  z-index: 1004 !important;
}

/* Dark mode top bar */
body.dark-mode #topbar {
  background-color: var(--dark-mode-background-color) !important;
  color: var(--dark-mode-text-color) !important;
  border-bottom: var(--dark-mode-border);
}

/* 1) Let the top bar show overflowed children */
#topbar,
#topbar .w3-bar {
  overflow: visible !important;
}

/* 2) Make the search form the positioning context */
#topbar-search {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: clamp(150px, 45vw, 600px);
}

/* Style the input itself */
#topbar-search input {
  /* fill the form’s full width */
  width: 100%;
  max-width: 100%;

  /* shorter height: roughly ⅔ of a normal 2.25rem bar */
  height: 1.5rem;
  line-height: 1.5rem;

  /* a little inner padding */
  padding: 0.9rem 0.75rem;

  /* white background + light border in light mode */
  background-color: var(--light-mode-accent-background-color);
  border: var(--light-mode-border);
  border-radius: var(--pill-border-radius);

  /* text uses the bar’s color (black in light) */
  color: var(--light-mode-text-color);
  font-size: 1rem;

  /* keep transitions in sync */
  transition: background-color var(--theme-transition) ease,
              color            var(--theme-transition) ease,
              border-color     var(--theme-transition) ease;

  box-sizing: border-box;
}

/* Dark-mode switch */
body.dark-mode #topbar-search input {
  background-color: var(--dark-mode-accent2-background-color);
  color: var(--dark-mode-text-color);    /* white text */
  border: var(--dark-mode-border);  /* matching your dark borders */
}

/* 3) Style & position the results dropdown */
#search-results {
  position: absolute;
  top: 109%;
  left: 0;      /* align to the left edge of the form */
  right: 0;     /* align to the right edge of the form */
  box-sizing: border-box;

  margin: 4px 0 0;
  padding: 0;
  list-style: none;

  border: none;
  border-left:  var(--light-mode-border);
  border-right: var(--light-mode-border);
  border-bottom: var(--light-mode-border);
  border-bottom-left-radius: 0.7rem;
  border-bottom-right-radius: 0.7rem;

  background: var(--light-mode-background-color);
  max-height: 300px;
  overflow-y: auto;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  z-index: 1005;

  /* keep transitions in sync */
  transition: background-color var(--theme-transition) ease,
              color            var(--theme-transition) ease;
}

/* show each item */
#search-results li {
  display: block;
}

/* link styling */
#search-results li a {
  display: block;
  padding: 8px 12px;
  text-decoration: none;
  color: var(--light-mode-text-color);

  /* same rounding as your input */
  border-radius: var(--pill-border-radius);
  /* keep it full-width but inset by the padding-amount */
  display: block;
  width: 100%;
  box-sizing: border-box;

  transition: color var(--theme-transition) ease;
}

/* hover/focus */
#search-results li a:hover,
#search-results li a:focus {
  background: var(--light-mode-hover-background-color);
}

/* dark-mode overrides */
body.dark-mode #search-results {
  background: #2D2D2D;
  border: none;
  border-left:  var(--dark-mode-border);
  border-right: var(--dark-mode-border);
  border-bottom: var(--dark-mode-border);
}
body.dark-mode #search-results li a {
  color: white;
}
body.dark-mode #search-results li a:hover,
body.dark-mode #search-results li a:focus {
  background: var(--dark-mode-hover-background-color);
}

/* collapse the dropdown when it has no children */
#search-results:empty {
  display: none;
}

#topbar .moon-icon {
  margin-right: 10px;
}