/* Permet de cacher le bloc lors de l'ajout de la classe hidden */
.hidden {
    opacity: 0;
	visibility: hidden; /* Cache l'élément après la transition */
}
/* Permet l'affichage du bloc lors de l'ajout de la classe visible */
.visible {
    opacity: 1;
	visibility: visible; /* Cache l'élément après la transition */
}



/* Zone d'erreur */
#oro-error-message {
	color: red;
	position: absolute;
	opacity: 0;
	padding: 10px;
	background: #fffefec4;
	border-radius: 10px;
	font-size: 1rem;
	transition: opacity 0.5s ease, transform 0.5s ease; /* Transition fluide pour l'opacité et la translation */
}
#oro-error-message.visible {
	display: block;
	opacity: 1;
}



/* zone des résultats avec les animations */
#oro-animation-wrapper {
	display: none;
	border-radius: 10px;
	padding: 20px 20px;
	/* min-width: 85%; */
}
/* Affichage du bloc */
#oro-animation-wrapper.visible {
	display: block;
}
/* style du bloc de résultat de victoire */
.oro-animation-wrapper-win {
    box-shadow: 4px 4px 12px rgba(0, 0, 0, 0.2);
	background: rgb(232 255 232 / 95%);
	border: solid 3px;
	border-color: rgba(232, 255, 232, 0.95);
}
/* style du bloc de résultat de défaite */
.oro-animation-wrapper-lose {
    box-shadow: 4px 4px 12px rgba(0, 0, 0, 0.2);
	background: rgb(209 154 74 / 95%);
	border: solid 3px;
	padding: 5px 30px 20px 30px!important;
	border-color: rgba(255, 233, 197, 0.95);
}


#oro-center-content {
	display: none;
	min-height: 200px;
	align-items: center;
}
/* Affichage du bloc */
#oro-center-content.visible {
	display: flex;
}

/*****************        *****************
****************** LOTTIE *****************
******************        *****************/

/* Style du lottie de chargement du résultat */
#lottie-loading {
	opacity: 0; /* Commence invisible */
	transform: translateY(20px); /* Commence légèrement décalé */
	transition: opacity 1s ease, transform 1s ease; /* Transition fluide pour l'opacité et la translation */
	width: 250px;
	background: #ffffffe6;
    border-radius: 500px;
    box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.2);
    border: solid 5px silver;
	margin: auto;
}
/* Quand Lottie doit apparaître */
#lottie-loading.visible {
	opacity: 1; /* Rendre visible */
    transform: translateY(0); /* Remettre Lottie à sa position d'origine */
	
}
/* Permet de centrer les lotties */
#lottie-center {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}

/* Style du lottie de défaite */
#lottie-top-lose {
width: 200px;
transition: opacity 0.5s ease;
opacity: 0;
z-index: 2;
top: -40px;
}
#lottie-top-lose.visible {
opacity: 1;
}
/* Style du lottie de victoire */
#lottie-top-win {
transition: opacity 0.5s ease;
position: absolute;
z-index: 5;
pointer-events: none;
top: 10px;
width: 100%;
}
}
#lottie-top-win.visible {
opacity: 1;
}
/* Style du lottie bottom utilisé en victoire en plus */
#lottie-bottom {
width: 500px;
margin-bottom: 50px;
transition: opacity 0.5s ease;
opacity: 0;
position: absolute;
z-index: 2;
top: -40px;
}
#lottie-bottom.visible {
opacity: 1;
}
/***************** 			      *****************
****************** MESSAGE RESULT *****************
******************      		  *****************/

#oro-result-message {
    /* font-size: 1.2rem;
    transition: opacity 0.5s ease;*/
	text-align: center;
	z-index: 1;
	/* min-width: 85%; */
}
.result-win {
  background: rgba(232, 255, 232, 0.85); /* Vert très clair */
  box-shadow: 4px 4px 12px rgba(0, 0, 0, 0.1);
  padding: 20px;
  border-radius: 10px;
  animation: fadeIn 0.6s ease;
  font-size: 1rem;
}
/* Message de victoire principal */
.result-win .oro-title-message {
	color: #1b5e20;
	font-size:2.4rem;
	font-weight: 800;
	margin-bottom: 10px;
}
/* Message de victoire principal */
.result-win .oro-subtitle-message {
	font-size: 1.4rem;
	font-weight: 600;
	color: #1b5e20;
}
.result-win .oro-instructions-message {
font-weight: 600;
color: #000;
}
.result-win .oro-guide-message {
color: #000;
}
.result-win .oro-warn-message {
font-size: 0.9rem;
text-decoration: underline;
margin-bottom: 0px;
}

.result-lose {
  background: rgba(255, 239, 213, 0.9); /* Beige clair chaleureux */
  box-shadow: 4px 4px 12px rgba(0, 0, 0, 0.1);
  padding: 20px;
  border-radius: 10px;
  animation: fadeIn 0.6s ease;
  font-size: 1rem;
}

/* Titre principal – "Dommage Florent !" */
.result-lose .oro-title-message {
  color: #7c5b27; /* Marron doux */
  font-size: 2.4rem;
  font-weight: 800;
}

/* Sous-titre – "Tu n’as pas gagné..." */
.result-lose .oro-subtitle-message {
  font-size: 1.4rem;
  font-weight: 600;
  color: #7c5b27;
}

/* Message instructions – "Mais ne repars pas les mains vides..." */
.result-lose .oro-instructions-message {
  font-weight: 600;
  color: #000;
}

/* Guide de survie */
.result-lose .oro-guide-message {
  color: #000;
  font-style: italic;
}

/* Avertissement spam */
.result-lose .oro-warn-message {
  font-size: 0.9rem;
  text-decoration: underline;
  margin-bottom: 0px;
}

@media (max-width: 1024px) {
	
  #oro-animation-wrapper, #oro-result-message{
	width: 95%;
  }	  
  
  #oro-result-message,
  #oro-animation-wrapper,
  .oro-animation-wrapper-win,
  .oro-animation-wrapper-lose,
  .result-win,
  .result-lose {
    padding: 20px;
    font-size: 0.95rem;
  }

  .result-win .oro-title-message,
  .result-lose .oro-title-message {
    font-size: 2.2rem;
  }

  .result-win .oro-subtitle-message,
  .result-lose .oro-subtitle-message {
    font-size: 1.4rem;
  }

  .result-win .oro-instructions-message,
  .result-lose .oro-instructions-message {
    font-size: 1rem;
  }

  .result-win .oro-guide-message,
  .result-lose .oro-guide-message {
    font-size: 0.95rem;
  }

  .result-win .oro-warn-message,
  .result-lose .oro-warn-message {
    font-size: 0.85rem;
  }

  #lottie-loading {
    width: 200px;
  }

  #lottie-top-lose,
  #lottie-bottom {
    width: 200px;
  }
}


/* 📱 Responsive pour les écrans <= 768px */
@media (max-width: 768px) {
  #oro-animation-wrapper{
	width: 100%;
  }	  
  #oro-result-message,
  #oro-animation-wrapper,
  .oro-animation-wrapper-win,
  .oro-animation-wrapper-lose,
  .result-win,
  .result-lose {
    padding: 15px;
    font-size: 0.95rem;
  }

  .result-win .oro-title-message,
  .result-lose .oro-title-message {
    font-size: 2rem;
  }

  .result-win .oro-subtitle-message,
  .result-lose .oro-subtitle-message {
    font-size: 1.2rem;
  }

  .result-win .oro-instructions-message,
  .result-lose .oro-instructions-message {
    font-size: 1rem;
  }

  .result-win .oro-guide-message,
  .result-lose .oro-guide-message {
    font-size: 0.95rem;
  }

  .result-win .oro-warn-message,
  .result-lose .oro-warn-message {
    font-size: 0.8rem;
  }
  .oro-warn-message{
	margin: 0 40px;
  }
  #lottie-loading {
    width: 120px;
  }

  #lottie-top-lose,
  #lottie-bottom {
  }

  #lottie-top-win {

  }
}

/* 📱 Ultra petit écran (<= 480px) */
@media (max-width: 480px) {
  #oro-animation-wrapper{
	width: 100%;
  }
  #oro-animation-wrapper.oro-animation-wrapper-lose{
	padding: 5px 20px 20px 20px !important;
  }
  #oro-result-message {
	padding: 20px 10px;
  }
  .result-win .oro-title-message,
  .result-lose .oro-title-message {
    font-size: 1.6rem;
  }

  .result-win .oro-subtitle-message,
  .result-lose .oro-subtitle-message {
    font-size: 1.1rem;
  }
  .oro-subtitle-message {
	margin: 0 20px;
  }
  .oro-instructions-message{
	margin: 0 20px;
  }
  .oro-guide-message{
	margin-top: 15px;
  }
  .oro-warn-message{
	margin: 0 15px;
  }
  #oro-error-message {
    font-size: 0.85rem;
    padding: 8px;
  }
}

/* 📱 Ultra petit écran (<= 430px) */
@media (max-width: 430px) {
  #oro-animation-wrapper{
	width: 100%;
  }
  #oro-animation-wrapper.oro-animation-wrapper-lose{
	padding: 5px 10px 15px 10px !important;
  }

  #oro-result-message {
	padding: 20px 10px;
  }
  .result-win .oro-title-message,
  .result-lose .oro-title-message {
    font-size: 1.6rem;
	margin-bottom: 12px;
  }

  .result-win .oro-subtitle-message,
  .result-lose .oro-subtitle-message {
    font-size: 1.1rem;
  }
  .oro-subtitle-message {
	margin: 0 20px;
  }
  .oro-instructions-message{
	margin: 0 10px;
  }
  .oro-guide-message{
	margin-top: 15px;
  }
  .oro-warn-message{
	margin: 0 18px;
  }
  #oro-error-message {
    font-size: 0.85rem;
    padding: 8px;
  }
}