.theme-toggle {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  width: var(--height-default, 50px);
  height: var(--height-default, 50px);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-color);
  border-radius: 50%;
  transition: background-color 0.2s ease;
  flex-shrink: 0;

  &:hover {
    background-color: var(--color-grey-light);
  }
}

.theme-toggle__icon {
  display: none;
  width: 20px;
  height: 20px;
}

/* Show the icon matching the current mode */
[data-theme-toggle-mode="light"]  .theme-toggle__icon--light,
[data-theme-toggle-mode="dark"]   .theme-toggle__icon--dark,
[data-theme-toggle-mode="system"] .theme-toggle__icon--system {
  display: block;
}

/* Show system icon before JS connects (avoids empty button) */
.theme-toggle:not([data-theme-toggle-mode]) .theme-toggle__icon--system {
  display: block;
}

/* Theme toggle labels (used in dropdown menu variant) */
.theme-toggle__label {
  display: none;
}

[data-theme-toggle-mode="light"]  .theme-toggle__label--light,
[data-theme-toggle-mode="dark"]   .theme-toggle__label--dark,
[data-theme-toggle-mode="system"] .theme-toggle__label--system {
  display: inline;
}

/* Show "Device" before JS connects */
[data-controller="theme-toggle"]:not([data-theme-toggle-mode]) .theme-toggle__label--system {
  display: inline;
}
