/* ==========================================================================
   dato luminoso - pantalla cinematográfica de carga (precarga.css)
   ========================================================================== */

.pantalla-carga-global {
  position: fixed;
  inset: 0;
  background-color: var(--color-fondo-base);
  z-index: 999999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 40px 24px 24px 24px;
  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1),
              visibility 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}

.pantalla-carga-global.oculta {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.pantalla-carga-global .bloque-central-carga {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-top: auto;
  margin-bottom: auto;
  width: 100%;
  max-width: 360px;
}

.pantalla-carga-global .envoltura-logo-carga {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  transform: translateY(35px);
  transition: transform 0.85s cubic-bezier(0.25, 1, 0.5, 1);
}

.pantalla-carga-global.sin-formulario .envoltura-logo-carga {
  transform: translateY(0);
}

.pantalla-carga-global .logo-animado-carga {
  height: 60px;
  width: auto;
  object-fit: contain;
  filter: none !important;
  animation: latidoCorazon 1.4s infinite ease-in-out;
  transform-origin: center center;
}

/* Cuando se detiene la animación para el acceso editorial */
.pantalla-carga-global.fase-login .logo-animado-carga {
  animation: none !important;
  transform: scale(1) !important;
}

.pantalla-carga-global.fase-login .envoltura-logo-carga {
  transform: translateY(0);
}

.pantalla-carga-global .etiqueta-carga {
  font-family: var(--fuente-principal);
  font-size: var(--tamano-meta-info);
  font-weight: 700;
  color: var(--color-principal-solido);
  text-transform: lowercase;
  letter-spacing: 2px;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.5s ease 0.2s, transform 0.5s ease 0.2s;
}

.pantalla-carga-global.fase-login .etiqueta-carga {
  opacity: 1;
  transform: translateY(0);
}

@keyframes latidoCorazon {
  0% { transform: scale(1); }
  14% { transform: scale(1.06); }
  28% { transform: scale(1); }
  42% { transform: scale(1.04); }
  70% { transform: scale(1); }
  100% { transform: scale(1); }
}

.pantalla-carga-global .pie-carga {
  border-top: none;
  padding: 0;
  text-align: center;
}

.pantalla-carga-global .pie-carga p {
  font-family: var(--fuente-principal);
  font-size: var(--tamano-meta-info);
  color: color-mix(in srgb, var(--color-texto-negro) 55%, transparent);
  text-transform: lowercase;
  margin: 0;
}