/* theme-toggle.css — Botón sol/luna inyectado por theme-toggle.js.
   El variante de panel reutiliza .icon-btn (ver panel_administrador.css/panel_empleado.css).
   El variante de páginas públicas es un botón flotante fijo, independiente del
   menú de navegación (que se oculta por completo en móvil) — así queda visible
   en cualquier dispositivo, no solo en escritorio. Se ubica del lado izquierdo
   para no chocar con el botón flotante "¿Cómo comprar?" del inicio (derecha). */

.theme-toggle-btn--float {
  position: fixed;
  bottom: 90px;
  left: 20px;
  width: 46px;
  height: 46px;
  background: var(--color-bg-card, #2d2d2d);
  border: 1px solid var(--color-border, #3d3d3d);
  color: var(--color-text-main, #e0e0e0);
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  box-shadow: 0 4px 18px rgba(0,0,0,0.35);
  z-index: 890;
  /* Fuerza su propia capa de composición — sin esto, en iOS/Android el
     botón puede "perderse" o recortarse a medias durante el scroll activo
     mientras la barra de direcciones del navegador se colapsa/expande
     (mismo tratamiento ya usado en .mobile-bottom-nav, ver modal-auth.css). */
  transform: translateZ(0);
  will-change: transform;
  transition: background var(--transition-fast, 0.15s ease),
              color var(--transition-fast, 0.15s ease),
              transform 0.15s ease,
              box-shadow 0.2s ease;
}
.theme-toggle-btn--float:hover {
  background: var(--color-primary-light, rgba(139, 115, 85, 0.15));
  color: var(--color-accent, #c9a96e);
  transform: translateY(-2px) translateZ(0);
  box-shadow: 0 6px 22px rgba(0,0,0,0.4);
}
.theme-toggle-btn--float:active:not(:disabled) {
  transform: scale(0.94) translateZ(0);
}

@media (max-width: 992px) {
  .theme-toggle-btn--float {
    bottom: 80px;
    left: 14px;
    width: 42px;
    height: 42px;
    font-size: 15px;
  }
}

/* En este ancho el menú móvil añade la barra de navegación inferior fija
   (.mobile-bottom-nav, ver modal-auth.css) — subir el botón lo suficiente
   para que quede siempre por encima de ella, incluida el área segura de
   dispositivos con gesto inferior/notch. */
@media (max-width: 768px) {
  .theme-toggle-btn--float {
    bottom: calc(72px + env(safe-area-inset-bottom, 0px));
  }
}
