/* Opacitate full cu prioritate */
.opacity-100 {
  opacity: 1 !important;
}

/* Imagine de fundal fixă - înlocuim background-attachment cu strat dedicat */
#fixed-bg {
  position: fixed;
  top: 0; left: 0;
  width: 100vw;
  height: 100vh;
  z-index: -2;
  overflow: hidden;
  pointer-events: none;
}

/* Încărcăm imaginea ca un element IMG, nu ca background */
#fixed-bg::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background-image: url("/static/img/poster5.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform: translateZ(0); /* Forță render în GPU, evită glitch-uri pe mobil */
}

/* Overlay transparent peste background */
#overlay-bg {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  z-index: -1;
  pointer-events: none;
}

#overlay-bg .bg-overlay {
  position: absolute;
  inset: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.0); /* poate fi rgba(0,0,0,0.4) pt efect întunecat */
  z-index: 2;
  pointer-events: none;
  transition: background 0.7s cubic-bezier(.4, 0, .2, 1);
}



  /* Animații fade & scale */
  @keyframes fadeInUp {
    0% { opacity: 0; transform: translateY(20px); }
    100% { opacity: 1; transform: translateY(0); }
  }

  .fade-in-up {
    animation: fadeInUp 1s ease-out forwards;
  }

  @keyframes fadeIn {
      0% { opacity: 0; transform: scale(0.95); }
      100% { opacity: 1; transform: scale(1); }
    }

    .animate-fade-in {
      animation: fadeIn 1.5s ease-out forwards;
    }


  @keyframes fadeOut {
    from { opacity: 1; transform: translateY(0); }
    to   { opacity: 0; transform: translateY(5px); }
  }

  .fade-out {
    animation: fadeOut 1.5s ease-in forwards;
  }

  @keyframes fade-in-down-scale {
    0% { opacity: 0; transform: translateY(-20px) scale(0.96); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
  }

  .animate-fade-in-down-scale {
    animation: fade-in-down-scale 0.5s ease-out forwards;
  }

  @layer utilities {
    .fade-in    { animation: fadeIn 0.5s ease-out forwards; }
    .fade-out   { animation: fadeOut 0.5s ease-in forwards; }
    .fade-in-up { animation: fadeInUp 1s ease-out forwards; }
  }

  .fade-warning.shake {
  animation: shake 0.4s ease-in-out;
}

@keyframes shake {
  0% { transform: translateX(0); }
  25% { transform: translateX(-5px); }
  50% { transform: translateX(5px); }
  75% { transform: translateX(-5px); }
  100% { transform: translateX(0); }
}

.shake {
  animation: shake 0.3s ease-in-out;
}


input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 1000px rgba(255, 255, 255, 0.1) inset !important;
  -webkit-text-fill-color: white !important;
  transition: background-color 2500s ease-in-out 0s;
}

.input-highlight {
    border: 2px solid #e11d48 !important;
    transition: border 0.25s;
}

.fade-in-up {
  animation: fadeInUp 1.5s ease-out forwards;
}
@keyframes fadeInUp {
  0% { opacity: 0; transform: translateY(20px);}
  100% { opacity: 1; transform: translateY(0);}
}

#add-baby-seat.active {
  background: #fff !important;
  color: #232323 !important;
  border: 2px solid #0070f3;
  /* Poți adăuga și efecte de umbră etc. */
}