.loader-body {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100vh;
  position: fixed;
  z-index: 10000;
  visibility: visible;
  top: 0;
  left: 0;
  text-align: center;
  justify-content: center;
  align-content: center;
  transition: 0.5s all;
  background-color: #F5F0F0;
  /* background: url(../images/TITANIC_SOFT_2023.png), #f5f0f0;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-position: 50% 40%; */
}
/* Logo + spinner como una sola pila centrada: así el spinner queda siempre
   debajo del logo, sin importar el alto del logo de cada empresa. */
.loader-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 26px;
  padding: 0 20px;
}
.contenedor-logo-loader{
  max-width: 230px;
  width: 100%;
}
.contenedor-logo-loader img{
  display: block;
  width: 100%;
  height: auto;
  max-height: 90px;
  object-fit: contain;
  animation: loaderLogoIn 0.4s ease both;
}
.loader {
  width: 42px;
  height: 42px;
  border: 3px solid rgba(37, 42, 52, 0.12);
  border-radius: 50%;
  border-top-color: #FDB00E;
  -webkit-animation: 1s spin infinite linear;
  -o-animation: 1s spin infinite linear;
  animation: 1s spin infinite linear;
}
@keyframes loaderLogoIn {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}
.loader-body.done {
  visibility: hidden;
  opacity: 0;
}
@keyframes spin {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}
