/* Theme-Toggle + Mitteilungsglocke (s. formavis_header_floating_stack_after_theme_toggle). */
.fv-header-floating-stack {
  position: fixed;
  top: calc(0.85rem + var(--wp-admin--admin-bar--height, 0px) + env(safe-area-inset-top, 0px));
  right: max(1rem, env(safe-area-inset-right, 0px));
  z-index: 10040;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.45rem;
  pointer-events: none;
}

.fv-theme-toggle-shell {
  pointer-events: none;
}

.fv-header-floating-stack .fv-theme-toggle {
  pointer-events: auto;
}

.fv-theme-toggle {
  pointer-events: auto;
  min-width: 0;
  min-height: 2.375rem;
  padding: 0.35rem 0.75rem;
  gap: 0.4rem;
  border-radius: 9999px;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.2;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 98%, transparent), color-mix(in srgb, var(--color-bg-elevated) 98%, transparent));
  border-color: var(--color-border);
  box-shadow: var(--shadow-sm);
  color: var(--color-text);
}

/* Surface-Toggle, nicht Akzent-CTA: buttons.css erzwingt sonst z. B. Weiß in Light Mode (unsichtbar auf hellem Grund). */
html[data-theme="light"] .fv-theme-toggle,
html[data-theme="dark"] .fv-theme-toggle {
  color: var(--color-text);
}

.fv-theme-toggle:hover,
.fv-theme-toggle:focus-visible {
  border-color: var(--color-border-strong);
  color: var(--color-text);
  transform: none;
  filter: none;
  box-shadow: var(--shadow-sm);
}

html[data-theme="light"] .fv-theme-toggle:hover,
html[data-theme="light"] .fv-theme-toggle:focus-visible,
html[data-theme="dark"] .fv-theme-toggle:hover,
html[data-theme="dark"] .fv-theme-toggle:focus-visible {
  color: var(--color-text);
}

.fv-theme-toggle__icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  color: inherit;
}

.fv-theme-toggle__icon svg {
  display: block;
  width: 1.05rem;
  height: 1.05rem;
  stroke: currentColor;
  fill: none;
}

.fv-theme-toggle__value {
  color: var(--color-text);
  font-size: inherit;
  font-weight: 600;
}

@media (max-width: 768px) {
  /* Nebeneinander: weniger Konflikt mit Mobile-Menü/Hamburger (Glocke rechts, Toggle links davon). */
  .fv-header-floating-stack {
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    right: max(0.75rem, env(safe-area-inset-right, 0px));
  }

  .fv-header-floating-stack .fv-theme-toggle-shell {
    flex-shrink: 0;
  }

  .fv-header-floating-stack .fvx-notification-anchor {
    flex-shrink: 0;
  }
}

@media (max-width: 480px) {
  .fv-header-floating-stack {
    right: max(0.625rem, env(safe-area-inset-right, 0px));
  }

  .fv-theme-toggle {
    min-height: 2.25rem;
    padding: 0.3rem 0.65rem;
    width: auto;
  }
}
