.o-theme-selector {
  position: relative;
  display: flex;
  justify-content: center;
  margin: 0 0 0.5rem 0;
}

.o-theme-selector button {
  width: 2.125rem;
  height: 2.125rem;
  border-radius: 50%;
  background: #ffffff;
  border: none;
  padding: 0.5rem;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  display: block;
  position: relative;
  overflow: visible;
  line-height: 0;
}

.o-theme-selector button:hover {
  background: hsl(0, 0%, 92%);
}

.o-theme-selector button:focus-visible {
  outline: 2px solid hsl(205, 100%, 48%);
  outline-offset: 2px;
}

.o-theme-selector button svg {
  width: 18px;
  height: 18px;
  fill: hsl(0, 0%, 29%);
}

.o-theme-selector button span[data-tooltip] {
  z-index: 200;
}

.o-theme-selector > button.active svg {
  fill: hsl(205, 100%, 48%);
}

.o-theme-selector-panel {
  position: absolute;
  left: calc(100% + 0.5rem);
  top: 0;
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  z-index: 100;
}

.o-theme-selector-panel[hidden] {
  display: none;
}

.o-theme-selector-panel button {
  flex: none;
}

.o-theme-selector-panel button.active {
  background: hsl(205, 100%, 48%);
}

.o-theme-selector-panel button.active:hover {
  background: hsl(205, 100%, 43%);
}

.o-theme-selector-panel button.active svg {
  fill: #ffffff;
}
