@font-face {
	font-family: 'Advert';
	src: url('fonts/Advert Rough Four Regular.otf') format('opentype');
	font-weight: bold;
	font-style: normal;
}

@font-face {
	font-family: 'Advert';
	src: url('fonts/Advert Rough Three Regular.otf') format('opentype');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'Dinot';
	src: url('fonts/Dinot.otf') format('opentype');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'Providence';
	src: url('fonts/Providence Sans Bold.otf') format('opentype');
	font-weight: bold;
	font-style: normal;
}

@font-face {
	font-family: 'Providence';
	src: url('fonts/Providence Sans Regular.ttf') format('opentype');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'Stone Sans Semi Bold Regular';
	src: url('fonts/Stone Sans Semi Bold Regular.ttf') format('opentype');
	font-weight: normal;
	font-style: normal;
}


/* Animations de fondu */
.fade-in {
  animation: fadeIn 0.4s ease forwards;
}
.fade-out {
  animation: fadeOut 0.4s ease forwards;
}

@keyframes fadeIn {
  from { opacity: 0; transform: scale(0.98); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes fadeOut {
  from { opacity: 1; transform: scale(1); }
  to { opacity: 0; transform: scale(1.02); }
}

html, body {
	background: #3D3936 !important;
}

body {
  font-family: Arial, sans-serif;
  text-align: center;
  background: #f2f2f2;
  margin: 0;
  padding: 0;
  height: 100vh;
  width: 100vw;
  overflow: hidden;
}

.container {
  width: 100vw;
  height: 100vh;
  margin: 0;
  padding: 0;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.subcontainer {
	max-width: 1480px;
	width: 100%;
	padding: 20px;
}

/* #quiz-screen .subcontainer { */
	/* margin-top: -100px; */
/* } */

.screen {
	max-width: 100% !important;
	width: 100%;
	justify-content: center !important;
	display: flex;
	height: 100% !important;
	align-items: center;
}

h1 {
	font-family: Advert;
	font-size: 77px;
	line-height: 10px;
	color: #3d3935;
}

h2 {
	font-family: Providence;
	font-weight: bold;
	font-size: 42px;
	line-height: 40px;
	color: #3d3935;
	margin-top: 0;
	text-align: left;
	max-width: 1110px;
	margin: 0 auto;
}

h3 {
	font-family: Advert;
	font-size: 28px;
	line-height: 10px;
	color: #3d3935;
}

#lang-screen {
	background: url(images/fond_blanc.jpg) center center /cover;
}

#start-screen, #result-screen {
	background: url(images/fond_blanc.jpg) center center /cover;
}

#quiz-screen {
	background: url(images/fond_gris.jpg) center center /cover;
}

.hidden { display: none; }

button {
  padding: 15px 25px;
  margin: 15px;
  font-size: 22px;
  border-radius: 22px;
  border: none;
  cursor: pointer;
  background: #0077cc;
  color: white;
  width: 80%;
  max-width: 400px;
}
button:hover { background: #005fa3; }
button:disabled { background: #aaa !important; cursor: not-allowed; }


.level-btn {
	/* background: #F5F5F3 !important; */
	/* border: #3d3935 2px solid; */
	color: #3d3935 !important;
	font-family: Advert;
	font-size: 29px;
	border-image: url(images/button-border.png) 0;
	background-color: transparent !important;
}

.level-btn.selected {
	/* background: #7f4c3a !important; */
	border-image: url(images/button-border-select.png) 0;
	/* border: #FFFFFF 2px solid !important; */
	color: #FFFFFF !important;
	font-family: Advert;
	font-size: 29px;
}

#start-quiz-btn {
	background: #3d3935;
	font-family: Advert;
	font-size: 29px;
}

#quit-btn {
	position: absolute;
	z-index: 99999;
	top: -38px;
	left: -30px;
	font-size: 18px;
	/* padding: 10px 15px; */
	background: #3B3734;
	width: 110px;
	height: 110px;
	border-radius: 100px;
	font-family: Advert;
	border: 2px solid #AAAAAA;
}

#quit-btn:hover { background: #a30000; }

#level-indicator {
	position: absolute;
	top: -40px;
	right: 80px;
	font-size: 18px;
	font-weight: bold;
	color: #3d3935;
	background: #D7D2CB;
	padding: 8px 12px;
	border-radius: 8px;
	border: 3px solid #3d3935;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 150px;
	height: 150px;
	border-radius: 500px;
	font-family: Advert;
	font-size: 23px;
}


/* ✅ Sélection langue */
.lang-choice {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-top: 30px;
}
.flag {
  width: 120px;
  height: auto;
  cursor: pointer;
  border: 3px solid transparent;
  border-radius: 10px;
  transition: transform 0.3s, border-color 0.3s;
}

/* ✅ Réponses en horizontal avec pastille */
.answers-grid {
	display: flex;
	justify-content: right;
	gap: 70px;
	flex-wrap: wrap;
	margin-top: 20px;
}

.answer-option {
	position: relative;
	border: 3px solid #3d3935;
	border-radius: 27px;
	padding: 20px 30px;
	width: 275px;
	min-height: 160px;
	/* background: #D7D2CB; */
	cursor: pointer;
	transition: background 0.3s, border-color 0.3s;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-family: Advert;
	font-size: 25px;
	color: #3d3935;
	border-image: url('images/answer-border.png') 0;
}

.answer-option.selected {
	/* background: #3d3935; */
	border-image: url('images/answer-border-select.png') 0;
	border-color: #ffffff;
	/* box-shadow: 0 0 10px rgba(0, 119, 204, 0.5); */
	color: #FFFFFF;
}

.separateur {
	margin-bottom: 25px;
}

#submit-answer {
	background: transparent !important;
	color: white;
	margin-top: 50px;
	font-family: Advert;
	position: absolute;
	right: -54px !important;
	border-image: url('images/button-border-select.png') 0;
	font-family: Advert;
	font-size: 36px;
	border-radius: 150px;
	bottom: 120px;
	max-width: 400px;
}

.quiz-question {
	margin-bottom: 0px;
}

.answer-letter {
  position: absolute;
  top: -12px;
  left: -12px;
  background: #0077cc;
  color: white;
  font-weight: bold;
  border-radius: 50%;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  box-shadow: 0 0 4px rgba(0,0,0,0.3);
}


.answer-option .answer-letter {
	width: 65px;
	height: 100px;
	padding: 0 !important;
	text-indent: -500px;
	overflow: hidden;
	border-radius: 0 !important;
	box-shadow: none !important;
	top: -40px !important;
	left: -30px;
}

.answer-option[data-index="0"] .answer-letter {
	background: url(images/lettre-a.png) center center /contain;
}

.answer-option[data-index="1"] .answer-letter {
	background: url(images/lettre-b.png) center center /contain;
}

.answer-option[data-index="2"] .answer-letter {
	background: url(images/lettre-c.png) center center /contain;
}

.answer-option.correct {
	/* background: #D7D2CB; */
	/* border-color: #295540; */
	color: #358138;
	/* font-weight: bold; */
	border-image: url('images/answer-border.png') 0;
}
.answer-option.incorrect {
	/* background: #D7D2CB; */
	/* border-color: #B92323; */
	color: #E63F3B;
	/* font-weight: bold; */
	border-image: url('images/answer-border.png') 0;
}

.explanation-box {
	/* background: rgba(127,76,59,0.7); */
	background: #7F4C3A;
	border-radius: 25px;
	padding: 0px 35px 35px 50px;
	font-size: 20px;
	max-width: 1340px;
	text-align: left;
	color: #FFF;
	margin: 40px 0 0px 319px;
	font-family: Stone Sans Semi Bold Regular;
}

.intro_explication {
	font-family: Providence;
	font-size: 35px;
	margin-bottom: -15px;
	display: block;
}

.intro_explication img {
	position: relative;
	top: 20px;
	width: 45px;
}

/* Progression */
#progress-bar-container {
	width: 900px;
	background: #999;
	height: 40px;
	border-radius: 75px;
	margin-bottom: 20px;
	position: relative;
	overflow: hidden;
	position: absolute;
	top: 30px !important;
	left: 490px;
}
#progress-bar {
	height: 100%;
	width: 0%;
	background: #7F4C3B;
	transition: width 0.3s;
}
#progress-text {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-weight: bold;
	color: white;
	z-index: 2;
	pointer-events: none;
	font-family: Providence;
	font-size: 23px;
	line-height: 100% !important;
}


#start-error {
	font-family: Providence !important;
	color: #B92323;
	font-size: 34px;
	position: absolute;
	bottom: 70px;
	width: 100% !important;
	left: 0;
}

#score-display {
	font-family: Advert;
	font-size: 90px;
	line-height: 67px;
	color: #3d3935;
	margin: 10px 0 20px 0 !important;
}

#result-message {
	font-family: Providence;
	font-size: 31px;
	color: #3d3935;
	background: rgba(0,0,0,0.1);
	border-radius: 20px;
	padding: 20px;
	line-height: 34px;
}


@keyframes pulseZoom {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.08); }
  100% { transform: scale(1); }
}

#next-btn {
	color: white;
	margin-top: 50px;
	position: absolute;
	border-image: url('images/button-border-select.png') 0;
	right: 210px !important;
	animation: pulseZoom 3s ease-in-out infinite;
}

#restart-btn {
	color: white;
	margin-top: 20px;
	position: absolute;
	border-image: url('images/button-border-select.png') 0;
	right: 750px !important;
	animation: pulseZoom 3s ease-in-out infinite;
}


#next-btn, #restart-btn {
	font-family: Advert;
	background: transparent;
	font-size: 25px;
	border-radius: 150px;
}

.answers-grid img {
	max-width: 440px;
	position: absolute;
	left: 70px;
	bottom: 70px;
}

#result-image {
	position: absolute;
	top: -10px !important;
	left: 837px;
}

.plusieurs_reponses {
	font-size: 28px;
}

