/* Theme switcher styles */
.theme-switch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  user-select: none;
}

.theme-switch input[type="checkbox"] {
  position: absolute;
  height: 0;
  width: 0;
  visibility: hidden;
}

.theme-switch label {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 45px;
  height: 24px;
  background: var(--grey-neutral);
  border-radius: 24px;
  cursor: pointer;
  transition: 0.3s;
}

.theme-switch label:after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  background: #fff;
  border-radius: 50%;
  transition: 0.3s;
}

.theme-switch input:checked + label {
  background: var(--brand-color);
}

.theme-switch input:checked + label:after {
  left: calc(100% - 2px);
  transform: translateX(-100%);
}

.theme-switch .theme-icon {
  width: 16px;
  height: 16px;
  display: inline-block;
}

.theme-switch .theme-label {
  margin-left: 8px;
}
