.content-wrapper {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-2xl);
}

.search-utilities {
  grid-column: 1 / -1;
  position: sticky;
  top: var(--nav-height, 10rem);
  align-self: start;
  display: block;
  max-height: none;
  padding: 0;
  overflow: visible;
  z-index: 250;
  transform: translateY(0);
  transition: transform .3s var(--transition);
}

.search-utilities.search-hidden {
  transform: translateY(calc(-100% - var(--nav-height, 10rem) - 1px));
  pointer-events: none;
}

.programme-archive-notice {
  padding: var(--space-sm) var(--space-md);
  border-bottom: 1px solid var(--accent);
  background: var(--bg-main);
  color: var(--accent);
}

.programme-archive-notice p {
  margin: 0;
  font-size: var(--fs-sm);
  letter-spacing: .01em;
}

.programme-toolbar {
  display: grid;
  grid-template-columns: repeat(4, minmax(9rem, 1fr)) minmax(14rem, 1.4fr);
  gap: 1px;
  align-items: stretch;
  z-index: 9999;
  /* background: var(--bg-main);
  border: 1px solid var(--bg-main); */
}

.programme-toolbar a {
  color: var(--bg-main) !important;
}

.programme-toolbar a:hover {
  color: var(--accent) !important;
}

.toolbar-button,
#search-bar {
  min-height: 2.75rem;
}

/* .toolbar-context {
  display: flex;
  align-items: center;
  padding-inline: var(--space-lg);
  border-right: 2px solid var(--bg-main);
  color: var(--bg-main);
  text-decoration: none;
  font-size: var(--fs-sm);
} */

.toolbar-control,
.toolbar-dropdown {
  position: relative;
  z-index: 9999;
  min-width: 0;
}

.toolbar-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  width: 100%;
  height: 100%;
  padding: var(--space-xs) var(--space-md);
  border: 0;
  border-radius: 0;
  background: var(--accent);
  color: var(--bg-main);
  font: inherit;
  font-size: var(--fs-sm);
  letter-spacing: .01em;
  text-align: left;
  text-decoration: none;
  text-transform: none;
  cursor: pointer;
  transition: background .15s var(--transition), color .15s var(--transition);
}

.toolbar-button:hover,
.toolbar-button:focus-visible,
.toolbar-button.active {
  background: var(--bg-main);
  color: var(--accent);
  outline: none;
}

.toolbar-button .side-menu-arrow {
  width: 1.1rem;
  height: 1.1rem;
  flex: 0 0 auto;
  transform: none;
  transition: transform .15s var(--transition);
}

.toolbar-button.active .side-menu-arrow,
.nav-dropdown-toggle.active .side-menu-arrow {
  transform: rotate(180deg);
}

.toolbar-dropdown-menu.nav-dropdown-content {
  position: absolute;
  inset: calc(100% + 1px) 0 auto;
  z-index: 3000;
  display: block;
  max-height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: var(--accent);
  border: 0 solid var(--bg-main);
  box-shadow: 0 10px 24px rgba(45, 37, 38, .18);
  transition: max-height .18s var(--transition), padding .18s var(--transition), border-width .18s var(--transition);
}

.toolbar-dropdown-menu.nav-dropdown-content.open {
  max-height: min(65vh, 34rem);
  padding-block: var(--space-xs);
  overflow-y: auto;
  border-width: 1px;
}

.toolbar-dropdown-menu .nav-dropdown-item {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  width: 100%;
  padding: var(--space-xs) var(--space-md);
  border: 0;
  border-radius: 0;
  background: var(--accent);
  color: var(--bg-main);
  font: inherit;
  font-size: var(--fs-sm);
  line-height: 1.25;
  text-align: left;
  text-decoration: none;
  text-transform: none;
  cursor: pointer;
  transition: background .12s var(--transition), color .12s var(--transition);
}

.toolbar-dropdown-menu .nav-dropdown-item:hover,
.toolbar-dropdown-menu .nav-dropdown-item:focus-visible,
.toolbar-dropdown-menu .nav-dropdown-item.active,
.toolbar-dropdown-menu .nav-dropdown-item.is-selected {
  background: var(--silver);
  color: var(--bg-main);
  outline: none;
}

/* Fixed-width gutter reserved on the left for the checkmark, so text never shifts */
.toolbar-dropdown-menu .nav-dropdown-item .check-icon {
  width: 1em;
  height: 1em;
  flex: 0 0 1em;
  visibility: hidden;
}

.toolbar-dropdown-menu .nav-dropdown-item.active .check-icon,
.toolbar-dropdown-menu .nav-dropdown-item.is-selected .check-icon {
  visibility: visible;
}

.alphabet-dropdown {
  min-width: 100%;
}

#search-bar {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  margin: 0;
  background: var(--accent);
}

#search-bar input {
  width: 100%;
  height: 100%;
  min-height: 2.75rem;
  padding: var(--space-xs) 2.75rem var(--space-xs) var(--space-md);
  border: 0;
  background: transparent;
  color: var(--bg-main);
  font-size: var(--fs-sm);
  transition: background .15s var(--transition), color .15s var(--transition);
}

#search-bar input:focus {
  background: var(--bg-main);
  color: var(--accent);
  outline: none;
}

#search-bar input::placeholder {
  color: var(--bg-main);
  opacity: .7;
}

#search-bar:focus-within img {
  filter: invert(1);
}

#search-bar img {
  position: absolute;
  right: var(--space-md);
  width: 1.25rem;
  height: 1.25rem;
  pointer-events: none;
}

.active-filter-chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  padding-top: var(--space-sm);
}

.active-filter-chips[hidden] {
  display: none;
}

.active-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-xs) var(--space-sm);
  border: 1px solid var(--bg-main);
  border-radius: 0;
  background: transparent;
  color: var(--bg-main);
  font: inherit;
  font-size: var(--fs-base);
  cursor: pointer;
  transition: background .15s var(--transition), color .15s var(--transition);
}

.active-filter-chip:hover,
.active-filter-chip:focus-visible {
  background: var(--bg-main);
  color: var(--accent);
  outline: none;
}

.cards-container,
.filmmakers-container,
.specials-container {
  grid-column: 1 / -1;
  width: 100%;
}

@media (max-width: 1180px) and (min-width: 769px) {
  .programme-toolbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #search-bar {
    grid-column: 1 / -1;
  }
}

@media (max-width: 768px) {
  .search-utilities {
    position: sticky;
    inset: auto;
    top: var(--nav-height, 10rem);
    background: var(--dark-silver);
    /* padding: var(--space-xs); */
  }

  .programme-toolbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin-top: 0;
    border: 0;
    background: transparent;
  }

  .toolbar-button,
  #search-bar,
  #search-bar input {
    min-height: 2.5rem;
  }

  .toolbar-button {
    padding-inline: var(--space-sm);
    font-size: var(--fs-xs);
  }

  .toolbar-dropdown-menu.nav-dropdown-content {
    inset: calc(100% + 1px) auto auto 0;
    width: calc(200% + 1px);
    max-width: calc(100vw - var(--space-md));
  }

  .toolbar-control:nth-child(even) .toolbar-dropdown-menu {
    right: 0;
    left: auto;
  }

  .toolbar-dropdown-menu.nav-dropdown-content.open {
    max-height: min(45vh, 24rem);
  }

  #search-bar {
    grid-column: 1 / -1;
    margin-top: 0;
  }

  .active-filter-chips {
    padding-bottom: var(--space-xl);
  }
}
