:root {
  --color-column-toggle: var(--purple-1);
  --color-column-toggle-background: var(--blue-1);
  --color-column-toggle-text: var(--purple-1);
}

[data-theme="dark"] {
  --color-column-toggle: var(--white-1);
  --color-column-toggle-background: var(--blue-6);
  --color-column-toggle-text: var(--blue-4);
}

.column-container {
  margin-bottom: 1.25rem;
}

.column-container .header-container {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
  margin-bottom: .9375rem;
  color: var(--color-text);
}

.header-container .visibility-toggle {
  display: none;
}

.visibility-toggle .arrow-icon {
  display: none;
}

.column-container .columns {
  display: flex;
  flex-wrap: wrap;
  gap: .625rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.column-toggle {
  position: relative;
  display: inline-block;
  padding: .375rem .75rem .375rem 1.875rem;
  font-size: .875rem;
  color: var(--color-column-toggle);
  background: none;
  border: .0625rem solid var(--color-column-toggle);
  border-radius: 1.25rem;
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
}

.column-toggle .toggle-checkbox {
  display: none;
}

.column-toggle .btn-text::before {
  content: "+";
  position: absolute;
  left: .625rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1rem;
}

.column-toggle:has(.toggle-checkbox:checked) {
  background: var(--color-column-toggle-background);
  border: .0625rem solid var(--color-column-toggle-text);
}

.column-toggle .toggle-checkbox:checked + .btn-text::before {
  content: "×";
}

/* To revert an JS applied display: none */

@media (width >= 768px) {
  .column-container .columns {
    display: flex !important;
  }
}

/* Hiding Column Selectors on mobile view */

@media (width < 768px) {
  .column-container .columns {
    display: none;
  }

  .header-container .visibility-toggle {
    display: flex;
    width: fit-content;
  }

  .visibility-toggle .arrow-icon {
    display: block;
    fill: transparent;
    stroke: var(--color-column-toggle);;
    margin-top: 0.15rem;
  }
}
