html{
	margin: 0;
	padding: 0;
	}	

.table{
	display: table;
	}	
.tr{
	display: table-row;
	}	
.td{
	display: table-cell;
	}	
	
.th{
	display: table-cell;
	}
	
/*****************
 *   COULEURS    *
 *****************/
 
body {
    --couleur-blanc: 	#FFFFFF;
    --couleur-noir: 	#090909;
	
	/* Bleu */
    --couleur-1-dark: 	#01A3E2;
    /* --couleur-1-medium: #18acac; */
    /* --couleur-1-light:	#ccffff; */

	/* Jaune */
	--couleur-2-dark: 	#FDF102;
	}



/**************
 *   FONTS    *
 **************/

/* https://gwfh.mranftl.com/fonts/antic?subsets=latin */

/* antic-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Antic';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/antic-v20-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


@font-face {
    font-family: "Zing Rust Base";
    src: url("../fonts/zing-rust-base.eot");
    src: url("../fonts/zing-rust-base.eot?#iefix")format("embedded-opentype"),
    url("../fonts/zing-rust-base.woff2")format("woff2"),
    url("../fonts/zing-rust-base.woff")format("woff"),
    url("../fonts/zing-rust-base.ttf")format("truetype"),
    url("../fonts/zing-rust-base.svg#Zing Rust Base")format("svg");
}


@font-face {
    font-family: "Zing Rust Base Rough";
    src: url("../fonts/zing-rust-base-rough.eot");
    src: url("../fonts/zing-rust-base-rough.eot?#iefix")format("embedded-opentype"),
    url("../fonts/zing-rust-base-rough.woff2")format("woff2"),
    url("../fonts/zing-rust-base-rough.woff")format("woff"),
    url("../fonts/zing-rust-base-rough.ttf")format("truetype"),
    url("../fonts/zing-rust-base-rough.svg#Zing Rust Grunge1 Base")format("svg");
}


body {
    -webkit-font-smoothing: antialiased;
	font-family: 'Antic', Helvetica, sans-serif;
	font-size:13px;
	line-height: 18px;
	color:var(--couleur-noir);
	background-color: #090909;
	background-image: url(../img_v2/template/fond.jpg);
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-position: bottom center;
	background-size: 100%;
	margin: 0;
	padding: 0;
	width:100%;
	text-align: center;
	}
	
a:focus {
	outline: none;
}
	
a:link,
a:visited,
a:hover {
	text-decoration:none;
	color:var(--couleur-2-dark);
	}	

.clear {
	display:block;
	clear:both;
	}	

.bleu {
	color:var(--couleur-1-dark);
	}
	
.surligne{
	color: #1c679b;
	background: #E8F0F5;
	padding: 3px 5px 3px 5px;
	}	

.gauche{
	clear:both;
	float: left;
	margin: 0 10px 0 0;
	}

	
::selection {
	background: #ffeb00; /* Safari */
	}
::-moz-selection {
	background: #ffeb00; /* Firefox */
}


	
#WrapperGlobal{
	display:block;
	width: 96vw;
	margin: 2vw;
	padding: 0;
	}
	
#WrapperHeader{
	}

#WrapperHeader.table{
	width: 100%;
	max-width: 100%;
	}
	
#WrapperHeader.table .td{
	vertical-align: top;
	text-align:center;
	}
	
#WrapperHeader .td:first-child img{
	width: 9.12vw;
	height: auto;
	margin: 0 0 0 0;	
	}
	
#WrapperHeader .td:nth-child(2) img{
	height: 6.1vw;
	width: auto;
	margin: 0.5vw auto 0 auto;	
	}
	
#WrapperHeader .td:nth-child(3) img{
	width: 2.1vw;
	height: auto;
	margin: 0 2.44vw 0 0;	
	}
	
#WrapperHeader .td:nth-child(4) img{
	width: 4.58vw;
	height: auto;
	margin: 0 0 0 0;	
	}
	
	
#WrapperHeader img{
	display:block;
	}
		

	
/******************
 *     ACCUEIL    *
 ******************/
	
#WrapperContenuInscription{
	clear:both;
	display: block;
	margin: 0;
	}
	
.contenuPrincipal{
	clear:both;
	display: block;
	text-align: center;
	margin: 0;
	width: 100%;
	}	
	
#aiguillage{
	position: relative;
	display: block;
	vertical-align: top;
	text-align: center;
	width: 100%;
	margin: 4vw auto 0 auto;
	}

#aiguillage > a{
	margin: 2vw auto 0 auto;
	display: block;
	width: 80vw;
	max-width: 1086px;
	text-align: center;
	}
	
#aiguillage img.banniereChoixPrestataire{
	width: 80vw;
	max-width: 1086px;
	height:auto;
	margin: 0 auto 0 auto;
	}
	
#aiguillage #wrapperBox{
	width: 80vw;
	max-width: 1086px;
	height:auto;
	margin: 2vw auto 0 auto;
	position: relative;
	}
	
#aiguillage #wrapperBox img.banniereChoixPrestataire{
	position: static; /* ou simplement enlever la règle position:absolute */
	display: block;
	width: 80vw;
	max-width: 1086px;
	height: auto;
	}

#aiguillage #wrapperBox a.boutonChoixPrestataire{
	display: block;
	position: absolute;
	bottom:0.5vw;
	}
	
#aiguillage #wrapperBox .boutonChoixPrestataire img{
	width: 11vw;
	max-width: 325px;
	height:auto;
	margin: 0;
	}
	
#aiguillage #wrapperBox a.boutonChoixPrestataire:nth-of-type(1){ left: 10%; }
#aiguillage #wrapperBox a.boutonChoixPrestataire:nth-of-type(2){ left: 40%; }
#aiguillage #wrapperBox a.boutonChoixPrestataire:nth-of-type(3){ left: 70%; }	


/**************************
 *    RECAP SELECTION    *
 **************************/

#recapSelection{
	text-align:left;
	margin:4vw 2vw 4vw 2vw;
	}
	
#recapSelection	> div{
	display:inline-block;
	cursor: pointer;
	}

#recapSelection	div div{
	display:block;
	opacity: 0.8;
	background: var(--couleur-1-dark);
	border-radius: 5px;	
	padding: 5px 10px 5px 10px;
    font-family: "Zing Rust Base Rough";
	text-transform: uppercase;
	font-size: 18px;
	line-height: 18px;
	color:var(--couleur-blanc);
	}
	
#recapSelection div:hover div{
	background: var(--couleur-2-dark);
	color:var(--couleur-noir);
	}			

/******************
 *    CIRCUITS    *
 ******************/

 
 #wrapperListeCircuits {
	margin-top: 4vw;
	text-align:center;
	}
	
.warning{
	display:inline-block;
	margin-top: 0 auto 2vw auto:;
	width: 40vw;
	padding:15px;
	min-width:270px;	
	color:var(--couleur-blanc);
	background: var(--couleur-1-dark);
	border-radius: 5px;	
	text-align:left;
	}
	
 #wrapperListeCircuits img {
	cursor:pointer;
	margin: 1vw;	 
	}
	

/******************
 *    VOITURES    *
 ******************/
 
 #wrapperListeVoitures {
	 margin-top: 4vw;
	}
 #wrapperListeVoitures img {
	cursor:pointer;
	margin: 1vw;	 
	}
	
	
/******************
 *     STAGES     *
 ******************/
 
 #wrapperListeStages {
	 margin-top: 4vw;
	}
 
 .wrapperStage{
    display: inline-block;
	width: 200px;
	height: 200px;
	text-align: center;
	}
	
 .wrapperTours{
    display: block;
	width: 150px;
	height: 100px;
	margin:auto;
	border: 4px solid var(--couleur-2-dark);
	border-radius : 10px;
	text-align: center;
	cursor: pointer;
	padding : 10px 0;
	}
		
 .wrapperTours .tours{
    font-family: "Zing Rust Base Rough";
	font-size: 80px;
	line-height: 80px;
	color:var(--couleur-blanc);
	}
	
 .wrapperTours .libelleTours{
    font-family: "Zing Rust Base Rough";
	text-transform: uppercase;
	font-size: 20px;
	line-height: 20px;
	color:var(--couleur-blanc);
	}
	
 .wrapperTours .titre_stage{
	padding: 10px;
    font-family: "Zing Rust Base Rough";
	text-transform: uppercase;
	font-size: 20px;
	line-height: 30px;
	color:var(--couleur-blanc);
	}
	
.wrapperStage .prix{
    display: block;
	margin: 20px auto;
	width: 150px;
	height: 40px;		
	font-family: "Zing Rust Base";
	font-size: 30px;
	line-height: 40px;
	color:var(--couleur-blanc);
	text-align: center;
	background: var(--couleur-1-dark);
	border-radius : 10px;	
	}
	
	
/******************
 *     DATES      *
 ******************/
 
 #wrapperListeDates {
	 margin-top: 4vw;
	}
 
 .wrapperDate{
    display: inline-block;
	width: 130px;
	height: 130px;
	text-align: center;
	}
	
 .wrapperJour{
    display: block;
	width: 100px;
	height: 100px;
	margin:auto;
	border: 4px solid var(--couleur-2-dark);
	border-radius : 10px;
	text-align: center;
	cursor: pointer;
	padding : 10px 0;
	}
		
 .wrapperJour .jour{
    font-family: "Zing Rust Base Rough";
	font-size: 80px;
	line-height: 80px;
	color:var(--couleur-blanc);
	}
	
 .wrapperJour .mois{
    font-family: "Zing Rust Base Rough";
	text-transform: uppercase;
	font-size: 20px;
	line-height: 20px;
	color:var(--couleur-blanc);
	}
	
	
/******************
 *     HEURES     *
 ******************/
 
 #wrapperListeHeures {
    display: inline-block;
	background: var(--couleur-1-dark);
	margin-top: auto;
	border-radius : 10px;
	padding: 10px 20px 0 20px;
	}
 
 .wrapperHeure{
    display: inline-block;
	width: 60px;
	height: 40px;
	margin: 0 10px 10px 10px;
	border: 2px solid var(--couleur-2-dark);
	border-radius : 10px;
	text-align: center;
	cursor: pointer;
	padding : 0;
	}
		
 .wrapperHeure .heure{
    font-family: "Zing Rust Base";
	font-size: 20px;
	line-height: 40px;
	color:var(--couleur-blanc);
	}
	

/******************
 *  COORDONNEES   *
 ******************/
 
 #wrapperCoordonnees {
    display: inline-block;
	width: 50vw;
	min-width: 800px;	
	margin: auto;
	}
	
 #wrapperCoordonnees .table{
	width: 100%;
	}
	
 #wrapperCoordonnees .td{
	width: 46%;
	padding: 0 2% 0 2%;
	vertical-align:top;
	position:relative;
	}


.inputCoordonnees {
	display: flex;
	align-items: center;
	width: 100%;          /* largeur responsive */
	box-sizing: border-box;
	margin: 0 0 15px; 0;
	border: 2px solid var(--couleur-2-dark);
	border-radius : 10px;
	height: 40px;	
	line-height: 40px;	
	position: relative;
	}

.inputCoordonnees label {
	flex: 0 0 auto;       /* garde sa largeur naturelle */
	color:var(--couleur-blanc);
	font-family: "Zing Rust Base Rough";
	font-size: 20px;
	margin: 0 10px 0 10px;    /* petit espace entre label et input */
	}

.inputCoordonnees input {
	flex: 1 1 auto;       /* prend tout l’espace restant */
	width: 100%;          /* utile si contenu interne (padding) */
	box-sizing: border-box;
	color:var(--couleur-blanc);
	font-size: 20px;
	font-family: 'Antic';
	background: none;
	border: none;
	padding-right: 30px;
	}
	
.inputCoordonnees input::placeholder {
	color:var(--couleur-blanc);
	font-size: 20px;
	font-family: 'Antic';	
	}

/* ✅ Check vert */
.inputCoordonnees.inputOK::after {
  content: "✔";
  color: #2ecc71;
  font-size: 18px;
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
}

/* ❌ Croix rouge */
.inputCoordonnees.error1::after {
	content: "✖";
	color: red;
	font-size: 18px;
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	}

.inputCoordonnees #invalidEmail,
.inputCoordonnees #birthdayError{
	background: red;
	color:var(--couleur-blanc)!important;
	padding:2px;
	border-radius:5px;
	color: red;
	font-size: 14px;
	line-height: 14px;
	position: absolute;
	right: 8px;
	bottom: -10px;	
	}


.textareaCoordonnees{
	border: 2px solid var(--couleur-2-dark);
	border-radius : 10px;
	position: relative;
	width: 100%;
	}

.textareaCoordonnees label {
	position: absolute;
	top: 10px;
	left: 5px;
	color:var(--couleur-blanc);
	font-family: "Zing Rust Base Rough";
	font-size: 20px;
	pointer-events: none; /* pour ne pas bloquer la saisie */
	}


.textareaCoordonnees label {
	flex: 0 0 auto;       /* garde sa largeur naturelle */

	margin: 0 10px 0 10px;    /* petit espace entre label et input */
	}

.textareaCoordonnees textarea {
	width: 100%;
	height: 250px ; /* hauteur du carré de saisie */
	box-sizing: border-box;
	padding: 28px 10px 10px; /* laisse la place pour le label en haut */
	font-size: 20px;
	color:var(--couleur-blanc);
	font-family: 'Antic';
	background: none;
	border: none;
	resize: vertical; /* autorise le redimensionnement vertical */
	}

#wrapperCoordonnees h2{
	display:block;
    font-family: "Zing Rust Base Rough";
	font-weight: normal;
	font-size: 30px;
	line-height: 30px;
	color:var(--couleur-blanc);
	text-align:left;
	margin: 0 0 15px 0;
	}

#terminerMaReservation {
    position: relative; /* nécessaire pour le ::before */
    clear: both;
    display: inline-block;
    margin: 30px 0;
    width: auto;
    padding: 10px 30px 10px 20px;
    font-family: "Zing Rust Base Rough";
    font-size: 30px;
    line-height: 30px;
    color: var(--couleur-noir);
    text-align: center;
    background: var(--couleur-2-dark);
    border-radius: 10px;
    z-index: 1; /* bouton au-dessus de la bordure */
	cursor:pointer;
}

/* Bordure décalée */
#terminerMaReservation::before {
    content: "";
    position: absolute;
    top: -8px;   /* décalage vers le haut */
    left: -8px;  /* décalage vers la gauche */
    right: -8px; /* décalage vers la droite */
    bottom: -8px; /* décalage vers le bas */
    border: 4px solid var(--couleur-2-dark); /* couleur et épaisseur de la bordure */
    border-radius: 15px; /* légèrement plus grand pour suivre les coins arrondis */
    z-index: 0; /* derrière le bouton */
}


/******************
 *    OPTIONS     *
 ******************/
 
 #WrapperContenuOptions {
	margin-top: 4vw;
	text-align: center;
	}
 #WrapperContenuOptions .contenuPrincipal{
	text-align: center;
	} 

 .wrapperOption{
    display: inline-block;
	width: 360px;
	height: auto;
	text-align: left;
	padding-bottom:20px;
	}
	
 .wrapperOption .wrapperDescriptionOption{
	float:left;
    display: block;
	width: 280px;
	height: auto;
	margin: auto;
	border: 4px solid var(--couleur-2-dark);
	border-radius : 10px;
	text-align: center;
	cursor: pointer;
	padding : 10px 0 10px 0;
	}

 .wrapperDescriptionOption .titreOption{
	padding: 0 20px;
    font-family: "Zing Rust Base Rough";
	text-transform: uppercase;
	font-size: 20px;
	line-height: 30px;
	color:var(--couleur-blanc);
	text-align:left;
	}
	
 .wrapperDescriptionOption .descriptionOption{
	padding: 0 20px;
	color:var(--couleur-blanc);
	text-align:left;
	}
	
.photoOption{
	width: 240px;
	height: auto;
	margin: 20px auto 0 auto;
	padding: 0;	
	clear:both;
	}
	
.wrapperOption .prixOption{
    display: block;
	margin: 20px;
	height: 30px;		
	font-family: "Zing Rust Base";
	font-size: 20px;
	line-height: 30px;
	color:var(--couleur-blanc);
	text-align: center;
	background: var(--couleur-1-dark);
	border-radius : 10px;	
	}
	
		
.wrapperOption .wrapperSelectOption{
    display: block;
	margin: 20px 0 0 0;
	padding: 10px;
	color:var(--couleur-blanc);
	text-align: left;
	background:transparent;
	position : relative;
	}

.wrapperOption .wrapperSelectOption::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 185px;
	height: 100%;
	background-color: var(--couleur-1-dark);
    clip-path: polygon(
        0 0,        /* coin haut gauche */
        90% 0%,   /* coin haut droit décalé vers le bas */
        100% 100%,  /* coin bas droit */
        0 100%      /* coin bas gauche */
    );
	z-index: 0; /* derrière le texte */
	}		
	
.wrapperOption .wrapperSelectOption > * {
	position: relative;
	z-index: 1;
	}	
	
	
/* Masquer la checkbox native */
.wrapperOption .wrapperSelectOption input[type="checkbox"] {
	display: none;
	}

/* Carré visible */
.wrapperOption .wrapperSelectOption label span {
	display: inline-block;
	width: 20px;
	height: 20px;
	/* background-color: var(--couleur-blanc); */
	border: 2px solid var(--couleur-2-dark);
	border-radius: 4px;
	vertical-align: middle;
	margin-right: 8px;
	position: relative;
	cursor: pointer;
	}

/* Cocher la checkbox : afficher le check */
.wrapperOption .wrapperSelectOption input:checked + span::after {
	content: "";
	position: absolute;
	left: 6px;
	top: 2px;
	width: 6px;
	height: 12px;
	border: solid var(--couleur-2-dark); /* couleur du check */
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
	}
	
.wrapperOption .wrapperQuantiteOption{
	float:right;
	clear:right;
	}
	
	
	
.wrapperOption .wrapperSelectOption .sbHolder{
	background: #ffffff;
	border: none;
	font-family: 'Antic';
	font-size: 13px;
	font-weight: normal;
	height: 26px;
	position: relative;
	width: 70px;
	}
	
.wrapperOption .wrapperSelectOption .sbOptions{
	/* background: #999999 url(../img_v2/template/fond-select-list.png) top left repeat-x; */
	background: #ffffff;
	border: solid 1px var(--couleur-2-dark);
	list-style: none;
	left: -1px;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 26px;
	width: 70px;
	z-index: 1;
	overflow-y: auto;
	}
	
.wrapperOption .wrapperSelectOption .sbToggle{
	background-image: none;
	background-color: var(--couleur-1-dark);
	display: block;
	height: 26px;
	outline: none;
	position: absolute;
	right: 0;
	top: 0;
	width: 35px;
	z-index: 99999;
}
	
.wrapperOption .wrapperSelectOption .sbToggle::after {
    content: '';
    position: absolute;
    top: 10px;
    right: 12px;
    width: 8px;
    height: 8px;
    transform: translateY(-50%) rotate(45deg); /* rotation pour faire le chevron */
    border-bottom: 2px solid var(--couleur-blanc);
    border-right: 2px solid var(--couleur-blanc);
}
	


#wrapperTotalOptions {
	width: 300px;
	margin: 30px auto 0 auto;
	padding: 30px;
	background:  var(--couleur-1-dark);	
	color:  var(--couleur-blanc);	
	text-align:left;
	}

/* Masquer la checkbox native */
#wrapperTotalOptions input[type="checkbox"] {
	display: none;
	}

/* Carré visible */
#wrapperTotalOptions label span {
	display: inline-block;
	width: 20px;
	height: 20px;
	/* background-color: var(--couleur-blanc); */
	border: 2px solid var(--couleur-2-dark);
	border-radius: 4px;
	vertical-align: middle;
	margin-right: 8px;
	position: relative;
	cursor: pointer;
	}

/* Cocher la checkbox : afficher le check */
#wrapperTotalOptions input:checked + span::after {
	content: "";
	position: absolute;
	left: 6px;
	top: 2px;
	width: 6px;
	height: 12px;
	border: solid var(--couleur-2-dark); /* couleur du check */
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
	}

#totalOptions{
	margin-top: 30px;
	font-family: "Zing Rust Base";
	font-size: 20px;
	line-height: 30px;
	color:var(--couleur-blanc);
	}
	
#wrapperModePaiement {
	display: block;
	text-align:left;
	width: 300px;
	margin: 0 auto 30px auto;
	padding: 0 30px 30px 30px;
	background:  var(--couleur-1-dark);	
	color:  var(--couleur-blanc);	
	}	
	
#wrapperModePaiement label{
	position: relative;
	display:block;
	height: 40px;
	}
	
/* Masquer la checkbox native */
#wrapperModePaiement input[type="radio"] {
	display: none;
	}

/* Carré visible */
#wrapperModePaiement label span {
	display: inline-block;
	width: 20px;
	height: 20px;
	/* background-color: var(--couleur-blanc); */
	border: 2px solid var(--couleur-2-dark);
	border-radius: 4px;
	vertical-align: middle;
	margin-right: 8px;
	position: absolute;
	bottom:0;
	left:0;
	cursor: pointer;
	}

/* Cocher la checkbox : afficher le check */
#wrapperModePaiement input:checked + span::after {
	content: "";
	position: absolute;
	left: 6px;
	bottom: 2px;
	width: 6px;
	height: 12px;
	border: solid var(--couleur-2-dark); /* couleur du check */
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
	}

#wrapperModePaiement label img {
	max-height:40px;
	position: absolute;
	bottom:0;
	left:30px;
	}
	

#wrapperValider{
    display: inline-block;
    position: relative;
    padding: 5px; /* espace pour la bordure */
    border: 4px solid var(--couleur-2-dark); /* bordure décalée */
    border-radius: 15px;
}

#wrapperValider #valider {
    display: inline-block;
    width: 100%;
    padding: 10px 50px 10px 50px;
	text-align:center;
    font-family: "Zing Rust Base Rough";
    font-size: 30px;
    line-height: 30px;
    color: var(--couleur-noir);
    background: var(--couleur-2-dark);
    border: none;
    border-radius: 10px; /* légèrement plus petit que le wrapper */
    cursor: pointer;
}


#wrapperMerci{
	padding:30px;
	font-size: 20px;
	line-height: 30px;
	color:var(--couleur-blanc);
	text-align:left;
	}