:root {
	
	--color-noce:#FF00A4;
	--color-mariage:#00A9D5;
	--color-poker:#ffdc01;
	--color-general:#E84E0F;
}

pre {white-space: inherit;}
.infoDevis { margin: 10px 0;}
.footerInfoPaiement { display: flex; justify-content: space-evenly; font-size: 14px; font-weight: bold; margin: 10px; }
.cadreAgence { color: var(--color-blue-60); border: 1px solid var(--color-orange); text-align: center; background-color: var(--color-orange-10); width: 100%; padding: 20px 0; border-radius: 4px;}
.required {color: var(--color-blue-50);}
.errorMessage { color: #CC0000; font-weight: bolder; }
.img-footer { background: var(--color-blue-60);}
.btImp { display: flex; align-items: center;  gap: 5px;}
.btImp img { width: 20px; height: 20px;}
.messageCentrer {   text-align: center;}

.btn.btnMainBis { background: var(--color-white);  border-color: var(--color-orange);  color: var(--color-orange); }
.btn.btnMainBis:hover { background: var(--color-orange-50); border-color: var(--color-orange-10); color: var(--color-orange-10);}

/* ---- pop-up verif choix gds ---- */
.choixvolclasse  {	padding-top: 5px; border-top: 1px solid var(--color-blue-50);}
.separator { padding-bottom: 5px; border-bottom: 1px solid var(--color-blue-50);}
.choixvolclasse td { padding: 0px 5px 0px 5px;}
.numvol { width: 10% !important;}
.dateVol {	width: 30% !important;}
.classeResaContainer {	width: 60% !important;	position: relative;}

.pvType1 {	border-bottom: 3px solid green;}
.pvType2 {	border-bottom: 3px solid orange;}
.pvType3 {	border-bottom: 3px solid red;}

.pvNonDispo {	color: red;}
.pvPasAssezDispo {	color: orange;}
.pvUnDef {	color: purple;}
.pvPasDansContrat {	color: red;}
.pvIncompatible { color: red; }
.volNonCompatibleConnexion { color: red; }
.raisonNonVendable { display: none; }
.raisonNonVendable { display: none;	position: absolute;	background-color: white;	font-weight: bold;}
.legendTypeClasse {	padding-left: 25px;	text-align: left; }
.classeSelectionnee { background-color: var(--color-blue-50); color: white; }
.divlisteLimit {  width: 100%;}
.popupContentGDS {display: flex; gap: 10px; flex-direction: column; justify-content: center; align-items: center; text-align: center; vertical-align: middle;  margin: 10px; }
.popupContentGDS table { display: inline;}
.popupContentColumn{	display: flex;	gap : 10px; flex-direction: column;}
.imageThumbnailWrapper {width: 100%}

/* ---- fin verif choix gds ---- */

/* ---- PopUp recadrer hotel ---- */

.popupContent{	display: flex;	gap : 10px;}
.popup_left, #floatform, .hebergementItem{ display: flex; flex-direction: column;}
.popup_full { border: 1px solid var(--color-orange); border-radius: 10px; padding: 20px; margin: 20px; width: 100%;}
.popup_left, .popup_right{	border: 1px solid var(--color-orange); border-radius: 10px; padding: 20px; margin: 20px; width: 50%;}

.popup_full .infoHotel { width: 100%; }
.infoHotel { display: flex; width: 90%; gap: 5px;}
.rowAligneCenter { display: flex; align-items: center; width: 100%; justify-content: space-between;}
.sortable { cursor: grab;}

.divRecherche { display: flex; width: 100%; align-items: center; justify-content: space-between; margin: 5px 0;}
.divRecherche input, .divRecherche select, .cardFormContent select, .cardFormContent input { border: 1px solid var(--color-blue-50); border-radius: 5px; width: 75%; color: var(--color-blue-50);}

.lstProduitCp{ overflow: auto; display: flex; height: 350px; font-size: 12px; color: #e84d0e; flex-direction: column; gap:5px;}
.lstProduitCp li { text-align: justify;  list-style-type: none;}
.lstProduitCp li div {display: flex;}
.lstProduitCp tr td, .lstProduitCp tr { display: flex;flex-direction: column;}
.lstProduitCp tr {text-align: justify;}
.lstProduitCp .plusMoinsWrapper .moinsLink, .lstProduitCp .plusMoinsWrapper .plusLink {   width: 20px;  height: 20px;  font-size: 14px;}
.lstProduitCp .plusMoins .number {   font-size: 14px; }

.descriptionText {font-size: smaller; color: var(--color-grey);}
.ui-state-highlight { border: 1px solid var(--color-orange-50); background: var(--color-orange-20); color: var(--color-orange);}
#loading{ display:none; color:var(--color-orange);  font-style:italic;}

/* ---- Fin PopUp recadrer hotel ---- */

/* -- Composant -- */
.squareCheckbox { display: none; }

.squareCheckboxLabel::before {content: ""; display: inline-block;	width: 20px; height: 20px;	border: 2px solid var(--color-blue-20);	background-color: var(--color-blue-20);	vertical-align: middle !important; margin-right: 10px !important; transition: background-color 0.3s, border-color 0.3s !important; border-radius: 4px !important; }

.squareCheckbox:checked + .squareCheckboxLabel::before { background-color: var(--color-blue-50);	border-color: var(--color-blue-50);	content: "\2713"; color: white;	font-weight: bold;	text-align: center;	line-height: 20px; }

/* -- End -- */

/* ---- Composant transport ---- */

/* WarningBox transport changement aeroport */
@media (min-width: 768px) {
	.warningChangeAirport { align-items: center !important; padding: 5px 20px 5px 20px !important;}
	.iconWarningChangeAirport { width: 30px !important;	}
	.txtWarningChangeAirport { font-size: 12px !important;}	
}

@media (max-width: 1024px) {
  .btnDesktopChambre { display: none !important; }
  .reversePanierMobile { display: flex; flex-direction: column-reverse; }
}

/* +1 jour apres le depart */
.oneMoreDayDepart {display: inline-block; position: relative; border-radius: 25%; background-color: var(--color-blue-10); font-size: 10px; color: var(--color-blue); width: 18px; height: 18px; text-align: center; line-height: 18px; font-weight: bold; border: 1px solid var(--color-blue); margin-left: 4px;}
.cadreOneMoreDayDepart { color: var(--color-blue); border: 1px solid var(--color-blue); text-align: center; background-color: var(--color-blue-10); padding: 2px 5px; border-radius: 4px; }
.nbBagageWrapper { margin-top: 10px;}
.wrapperBagage { flex-direction: column;}

@media (max-width: 1024px) {
	.trajetBlockMobile { position: relative; }
}

/* -- End Composant transport -- */

/* ---- Page participant ---- */

/* Box cordonnee */
.boxCheckboxParticipant { display: flex; }

.labelCheckboxCoordonne { margin-left: 5px;	font-size: 16px !important;}
.squareCheckboxLabel { padding: 0px !important;	margin-bottom: 0px !important;}

/* Box participant | information */
.titlePersonTravel { margin-bottom: 10px !important; }
.warningPersonTravel { padding: 10px 20px 10px 20px !important; margin: 10px 0px !important; }

@media (min-width: 1025px) {
	.formPassager{ width: 85%; display: flex; gap: 20px; }
	.formPassager .passengersFormCivilite {width: 11.76%}
	.formPassager .passengersFormNom {width: 29.41%}
	.formPassager .passengersFormPrenom {width: 29.41%}
	.formPassager .passengersFormDate {width: 29.41%}
	
	.formBagage {width: 15%; display: flex; gap: 20px;}
	.formBagage .passengersFormBagages {width: 100%}
	.footerRight { display: flex; align-items: center; }
}

/* Assurance */
.blockFormAssurance {display: flex; flex-direction: column; gap: 20px}
.assuranceBlockWrapper {border: 1px solid var(--color-blue-70);padding: 10px 25px 10px 10px;border-radius: 12px;margin-bottom: 10px;transition: background-color 0.3s ease;display: flex;gap: 10px;position: relative;cursor: default;}
.assuranceBlockWrapper:hover { background-color: var(--color-blue-10); } 
.assuranceBlockWrapper.selected { background-color: var(--color-orange-10); border-color: var(--color-orange); } 
.assuranceBlockWrapper .imgChoix { border-radius: 4px; aspect-ratio: 16/9; max-width: 90px; margin: 0 auto; width: 100%; }
.assuranceBlockWrapper input[type="radio"] { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); z-index: 2; }
.assuranceBlockWrapper input[type="radio"]+label{ display: none;}
.assuranceBlockWrapper .infosChoixWrapperAssurance, .infosChoixWrapperAssurance { display: flex; gap: 10px; width: 100%; justify-content: space-between; flex-direction: column;}
.infosChoixAssurance {width: 75%;}
.prixAssuranceChoix {width: 25%;}
.assuranceBlockWrapper.selected { display: flex;}
.prixAssuranceChoix {color: var(--color-blue);}

.AssuranceListeWrapper {position: relative;}
.assuranceLoader { display: flex; pointer-events: none; align-items: center; justify-content: center;  background: var(--color-white) url(/images/tunnel/loader-chambres.png) no-repeat 0px 0px; background-size: 100% auto; border-radius: 4px; position: absolute; left: 0; right: 0; top: 0; height: 100%; z-index: 20;   }
.loaded .assuranceLoader { display: none; }

/* Carnet */
.carnetVoyageInfos {font-size: 12px;}

/* ---- End Page participant ---- */

/* ---- Page chambre ---- */

.imgChoixWrapper { height: -webkit-fill-available; display: flex; align-items: center;}

.TypeChambreListe input[type="radio"]:not(:disabled):not(:checked)+label+label:hover { background-color: var(--color-blue-10); }
.TypeChambreListe input[type="radio"]:checked+label+label , .excursion.checked, .traverseeBateau.checked {background-color: var(--color-orange-10);border-color: var(--color-orange);}
.TypeChambreListe input[type="radio"]:disabled+label+label { opacity: 0.4;}

.pensionsListe input[type="radio"] + label , .TypeChambreListe input[type="radio"]+label, .transfertChoix input[type="radio"]+label { display: none;}
.pensionsListe input[type="radio"]:disabled+label+label { opacity: 0.4;}

.pensionsListe input[type="radio"]:not(:disabled):not(:checked)+label+label:hover { background-color: var(--color-blue-10); }
.pensionsListe input[type="radio"]:checked+label+label { background-color: var(--color-orange-30);border-color: var(--color-orange);}

.transfertChoix input[type="radio"]+label+label { display: flex; align-items: center; gap: 10px; position: relative; cursor: default; width: 100%;}

.titreChambre {display: flex; align-items: center; gap: 10px;}
.typeChambreTitleBox, .typeVoitureTitleBox, .typeExcursionTitleBox { display: flex; justify-content: space-between; }

.viewMoreChambreToggleWrapper, .viewMoreVoitureToggleWrapper, .viewMoreExcursionToggleWrapper { font-size: 12px; color: var(--color-blue); }
.viewMoreChambreToggleWrapper > a, .viewMoreVoitureToggleWrapper > a, .viewMoreExcursionToggleWrapper > a { display: none; cursor: pointer; }
.viewMoreChambreToggleWrapper > a.selectedDetailChambre, .viewMoreVoitureToggleWrapper > a.selectedDetailVoiture , .viewMoreExcursionToggleWrapper > a.selectedDetailExcursion  { display: block; }

.chambreBlockDetail, .voitureBlockDetail, .excursionBlockDetail { position: relative; }
.chambreBlockDetail.smaller, .voitureBlockDetail.smaller, .excursionBlockDetail.smaller { height: 350px; overflow: hidden; }
.chambreBlockDetail.smaller:before , .voitureBlockDetail.smaller:before, .excursionBlockDetail.smaller:before  { 
 content: ''; position: absolute; z-index: 10; left: 0; right: 0; bottom: 0; height: 120px;   border-radius: 4px;
 background: linear-gradient(0deg, rgba(191,201,207,1) 0%, rgba(191,201,207,0) 100%); 
 background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%); 
}

.scrollArrowGradient {position: absolute; bottom: 0; left: 0; right: 0; background: none; display: flex; justify-content: center; align-items: flex-end; pointer-events: none; z-index: 11; margin-bottom: 8px;}
.scrollToggle { pointer-events: auto; background: white; border-radius: 50%; font-size: 24px; width: 40px; height: 40px; line-height: 36px; text-align: center; box-shadow: 0 2px 5px rgba(0,0,0,0.2); text-decoration: none; color: black; margin-bottom: 10px;}
.scrollArrowGradient .scrollToggle.close {margin-bottom: -40px;}
.chambrePersonneBlock, .chambrePensionBlock{  padding: 0 15px;}

.texte_sur_button_afficher{	position: absolute; font-size: 12px; transform: translate(-25%, 75%); margin-top: 6px; }
.texte_sur_button_afficher.newChambre{	transform: translate(0%, 250%);}

@media (max-width: 950px) {
	.chambreBlockDetail.smaller, .voitureBlockDetail.smaller { height: 350px; overflow: hidden; margin-bottom: 50px; }
  	.filtersContent.collapsed {max-height: 60px; overflow: hidden; position: relative;}
}

@media (max-width: 1024px) {
	.filtreBlockVol { display: flex; align-items: center; justify-content: space-between;}
	.filtreViewMoreVol {display: block !important;}
	.toggleMoreLess { display: block; margin-top: 10px; font-weight: bold; cursor: pointer; }
	.hiddenContentOnMobile .filtersContent {display: block !important;}
	.chambrePersonneBlock {margin-top: 20px;}
}

@media (min-width: 1025px) {
	.filtreViewMoreVol {display: none;}
	.assuranceBlockWrapper .infosChoixWrapperAssurance, .infosChoixWrapperAssurance {align-items: center; flex-direction: row;}
	.plusMoinsWrapper .moinsLink.miniatrue, .plusMoinsWrapper .plusLink.miniatrue {width: 25px; height: 25px;}
}

.radioTypeChambreParent { display: flex; gap: max(30px, 3%);}
.TypeChambreListe li > .radioTypeChambre {display: flex;flex-direction: column; align-items: normal;}
.plusLinkAdd { width: 40px; height: 40px; display: flex; justify-content: center; align-items: center;  background: transparent; border: 1.5px solid var(--color-blue-50); cursor: pointer; border-radius: 30px; text-decoration: none; font-size: 20px; color: var(--color-blue-50); }
.plusLinkAdd:hover { background: var(--color-blue-20); color: var(--color-blue-50);}
.separator-with-plus {display: flex; align-items: center; justify-content: center; width: 100%; margin: 20px 0px 38px 0px;}
.separator-with-plus::before,
.separator-with-plus::after {content: '';flex: 1;height: 1px;background: var(--color-blue-50);margin: 0 15px;}
.plusMoinsWrapper .moinsLink.disabled-link, .plusMoinsWrapper .plusLink.disabled-link { pointer-events: none; color: #A4A4A4; text-decoration: none; border-color: #A4A4A4; background-color: var(--color-light); }	

.TypeTransfertListeWrapper {position: relative;}
.transfertLoader { display: flex; pointer-events: none; align-items: center; justify-content: center;  background: var(--color-white) url(/images/tunnel/loader-chambres.png) no-repeat 0px 0px; background-size: 100% auto; border-radius: 4px; position: absolute; left: 0; right: 0; top: 0; height: 100%; z-index: 20;   }
.loaded .transfertLoader { display: none; }
.blockInfoVoiture { display: flex; flex-direction: column; gap: 10px; }
.absoHautDroit{position: absolute; top: 5px; right: 5px;}


@media (min-width: 1440px) {
 .transfertLoader {
  background-size: 920px auto;
 }
}

@media (min-width: 991px) {
	.blockInfoVoiture { flex-direction: row; }
	.infoVoitureCourt { width: 20%;}
	.infoVoitureLong { width: 30%;}
}

@media (min-width: 1025px) {
	.blockInfoVoiture { flex-direction: column; }
	.infoVoitureCourt { width: 100%;}
	.infoVoitureLong { width: 100%;}
}

@media (min-width: 1440px) {
	.blockInfoVoiture { flex-direction: row; }
	.infoVoitureCourt { width: 20%;}
	.infoVoitureLong { width: 30%;}
}


.editionALaCarte{ display: flex; margin: 5px 0; gap: 5px; align-items: center;}

/* ---- End Page chambre ---- */

/* ---- Card Panier ---- */
.veepeeReferenceProduit, .descriptifHotel {	font-size: 12px; font-weight: normal; }
li.surTitre { color: var(--color-orange); font-weight: bold; }
li.interneInfo, sup.interneInfo { font-size: 10px; font-style: italic; color: var(--color-blue-70); }

.btn.btnInlineMain { background: transparent; color: var(--color-orange);   border-color: var(--color-orange); border-radius:10px;}
.btn.btnInlineMain:hover { background: transparent; color: var(--color-grey);  border-color: var(--color-grey);}

.lienWrapper {display: flex; flex-direction: column; align-items: flex-end;}
.ligneDevisWrapper { font-size: 12px; text-align: right;}

.priceTable .ligne-tarif td.changeProduit { border-top: dashed var(--color-orange) 2px;}
.ligne-tarif .ligneDevisNomHotelAbsolute { position: absolute; color: var(--color-orange); top: -20px; text-align: right; background: white; padding: 1px; width: auto; right: auto;}
.ligne-tarif .ligneDevisNomHotelAbsolute a { color: var(--color-orange);}

.lienWrapperGrille { display: flex; flex-direction: column; align-items: flex-start; padding: 10px;}

.total-mini { font-size: 14px !important; }
.price-mini { font-size: 26px !important; }
.price-decimal { font-size: 14px; }

/* composant budget */ 
.detailTarif {border-bottom: 1px solid var(--color-blue-50); padding-bottom: 15px;}
.devisWrapper .priceWrapper { border-bottom: 1px solid var(--color-blue-50); display: inherit }
.lignePrix {display: flex; justify-content: space-between; align-items: center;}
.devisWrapper .priceWrapper .lignePrix { margin: 10px 0;}
.devisWrapper .lignePrix .total { font-size: 20px; font-weight: bold;}
.tunnelColonnePrixLoader { display: flex; pointer-events: none; align-items: center; justify-content: center; background: var(--color-white) url(/images/tunnel/bg-colonne.png) no-repeat 0px 0px; background-size: 100%  auto; position: absolute; left: 0; right: 0; top: 0; height: 100%; z-index: 5; }
.loaded .tunnelColonnePrixLoader { display: none; }

.wrapper { background: white; display: flex;  flex-direction: column;}
.info_budget { background: white; padding: 20px; border-radius: 4px 4px 0 0; }
.budgetWrapper.info_budget { padding: 0px;}
.box-total-price { display: flex; align-items: center; width: -webkit-fill-available; gap: 15px; }

@media (min-width: 1025px) { 
	.info_budget { position: sticky; top: 0px; background: white; z-index: 2;padding: 20px; border-radius: 4px;}
	.wrapper { background:none; height:100% }
}

@media (min-width: 1025px) and (max-width: 1380px) { 
	.lignePrixMobile { display: flex; flex-direction: column; }
	.box-total-price-mobile { width: -webkit-fill-available; display: flex; justify-content: space-between; }
}

@media (max-width: 1024px) { 
	.widgetTitle { flex-direction: row; justify-content: space-between; }
}

.btn { line-height: unset; }



.mv-sheet { display: none; }
@media ( max-width : 1024px) {
	
	.mv-sheet { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9999; display: block;}
	.mv-backdrop { position: fixed; inset: 0; background: rgba(0, 0, 0, .45); opacity: 0; transition: opacity .2s ease; pointer-events: none; }
	.mv-bar { position: fixed; left: 0; right: 0; bottom: 0; height: 64px; display: flex; justify-content: space-between; align-items: center; padding: 0 16px; border: 0; color: #fff; font-weight: 700;
		z-index: 2;	cursor: pointer; border-radius: 10px 10px 0px 0px; }
	.mv-contentWrap { position: fixed; left: 0; right: 0; bottom: 64px; transform: translateY(110%); transition: transform .25s ease; z-index: 1; }
	.mv-content { background: #fff; border-top-left-radius: 14px; border-top-right-radius: 14px; max-height: 70vh; overflow: auto; padding: 16px; box-shadow: 0 -10px 30px rgba(0, 0, 0, .18); }
	.mv-row { display: flex; justify-content: space-between; flex-direction: column; padding: 8px 0; }
	.mv-sep { border: 0; border-top: 1px solid #e6e6e6; margin: 10px 0; }
	.mv-total { font-weight: 800; }
	.mv-sheet.is-open .mv-backdrop { opacity: 1; pointer-events: auto; }
	.mv-sheet.is-open .mv-contentWrap { transform: translateY(0); }
	
	.mv-section-title { font-weight: bold; font-size: 16px; }
	
	.trajetMobileDetails { margin: 0; }
	.trajetMobileSummary { cursor: pointer; list-style: none; }
	.trajetMobileSummary::-webkit-details-marker { display: none; }
	.trajetMobileSummaryTop { display: flex; gap: 2px; align-items: baseline; }
	.trajetMobileLabel { font-weight: 700; }
	.trajetMobileRoute { font-weight: 700; }
	.trajetMobileSummarySub { margin-top: 4px; font-size: 12px; opacity: .8; display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
	.trajetMobileSubItem { display: flex; align-items: center; }
	.trajetMobileDot { opacity: .6; }
	.trajetMobileFull { margin-top: 10px; }
	
	.hebMobileSummary { cursor: pointer; list-style: none; display: flex; flex-direction: column; }
	.hebMobileSummary::-webkit-details-marker { display: none; }
	
	.hebMobileTop { display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; }
	.hebMobileSub { margin-top: 4px; font-size: 12px; opacity: .8; display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
	.hebMobileDot { opacity: .6; }
	.hebMobileFull { margin-top: 10px; }
	
	.mv-acc summary { cursor: pointer; list-style: none; }
	.mv-acc summary::-webkit-details-marker { display: none; }
	.mv-acc-body { margin-top: 10px; }
	
	.mv-bar { display: flex; align-items: center; justify-content: space-between; }
	.mv-bar-right { display: inline-flex; align-items: center; gap: 10px; }
	
	.mv-chevron { width: 10px; height: 10px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .2s ease; }
	.mv-sheet.is-open .mv-chevron { transform: rotate(-135deg); }
	details.btm-acc > summary { cursor: pointer; list-style: none; position: relative; padding-right: 22px; }
	details.btm-acc > summary::-webkit-details-marker { display: none; } 
	details.btm-acc > summary::after { content: ""; position: absolute; right: 4px; top: 50%; width: 9px; height: 9px; border-right: 2px solid currentColor;
			border-bottom: 2px solid currentColor; transform: translateY(-50%) rotate(45deg); transition: transform .2s ease; } 
	details.btm-acc[open] > summary::after { transform: translateY(-50%) rotate(-135deg); }
	
	.mv-icon-box { display: flex; align-items: center; gap: 8px; }
	.list-aerien-mobile { display: flex; flex-direction: column; gap: 20px; }
	.titre-avion-mobile { font-weight: normal !important; }
	.transfertTopLineLeftMobile { align-items: center; }
}

/* ---- End Card Panier ---- */

/* ---- Fil d Ariane ---- */
.tunnelBreadcrumb ul li:not(.backLink) span { display: block; border: 1px solid var(--color-blue-50); border-radius: 4px; padding: 5px 10px; color: var(--color-blue-50);  }
.mobileHeaderAriane { display: none;}
.mobileHeaderAriane a {text-decoration: none;}
.mobileHeaderAriane ul li:not(.backLink) span { display: block; border: 1px solid var(--color-blue-50); border-radius: 4px; padding: 5px; color: var(--color-blue-50);  }
.mobileHeaderAriane, .headerRight .phoneWrapper, .proLink { position: relative; min-height: 50px; padding-left: 10px; }
.mobileHeaderAriane:before, .headerRight .phoneWrapper:before, .proLink:before { content: ''; background: var(--color-blue-50); position: absolute; top: 0; bottom: 0; width: 1px; z-index: 2; left: -10px;  }
.mobileHeaderAriane { display: none; }
.mobileHeaderAriane ul {display: flex; flex-wrap: wrap; gap: 10px; align-items: center; max-width: 100%;}
.mobileHeaderAriane ul li:not(.backLink) a { display: block; border: 1px solid var(--color-blue-50); border-radius: 4px; padding: 5px; color: var(--color-blue-50);  }
.mobileHeaderAriane ul li.past a { color: var(--color-blue); text-decoration: none; }
.mobileHeaderAriane ul li.past a:hover { background: var(--color-blue-50); }
.mobileHeaderAriane ul li.active a { color: var(--color-white); background: var(--color-blue-50); text-decoration: none; }
.mobileHeaderAriane ul li.backLink a { color: var(--color-white); display: flex; gap: 8px; }
.mobileHeaderAriane ul li.backLink a:hover { text-decoration: underline; }
.mobileHeaderAriane ul li { margin: 0; padding: 0;line-height: 1;}
.retourArianeMobile {color: var(--color-blue-50) !important;}

@media (max-width: 1024px) { 
	.mobileHeaderAriane {padding-top: 8px; padding-bottom: 8px; background-color: var(--color-white);}
	.mobileHeaderAriane {display: flex !important;}
	.box-total-price { justify-content: space-between; }
}
/* ---- End Fil d Ariane ---- */

/* ---- Page vols ---- */

.positionBoutonValider {display: flex;justify-content: center;}
.arrivalInfosWrapper , .departureInfosWrapper {display: flex; flex-direction: column; align-items: flex-start;}
.gestionClasseAllerRetour{display: flex; justify-content: flex-start; flex-direction: column; }

@media (min-width: 520px) { 
	.gestionClasseAllerRetour{flex-direction: row; gap:10px;}
}

@media (min-width: 1025px) { 
	.gestionClasseAllerRetour{flex-direction: column;  gap:0px;}
}
@media (min-width: 1600px) { 
	.gestionClasseAllerRetour{flex-direction: row; gap:10px;}
}

.radioClasseVol tr { display: flex; flex-direction: column;}
.nbBagageWrapper .iconbagageTrajet { height: 20px;}

.bagageLoadTxt { text-align: center; font-size: 18px; font-weight: 900; margin-top: 20px; margin-bottom: 20px; }

/* ---- End Page vols ---- */

/* --- Page Grille --- */
.selectVille {width: 100%;}
.bonusRowStyle { margin-top: 5px; font-style: italic;}
.existeEnVolDirect { width: 100%; height: 5px; background-color: var(--color-orange-50); position: absolute; bottom: 0; }
.existeEnVolDirectLegende { width: 15px; height: 5px; background-color: var(--color-orange-50); }
.existeEnVolDirectLegendeTexte { display: flex;align-items: center; gap: 5px;}
.calendarLine .day .dayLink.selected { border-color: var(--color-orange);}

.trajetWrapper .btnWrapper { flex-direction: column;}

@media (min-width: 400px) {
	.trajetWrapper .btnWrapper { flex-direction: row;}
}

@media (min-width: 1025px) {
	.selectVille {width: auto;}
	.trajetWrapper .btnWrapper { flex-direction: column;}
}

@media (min-width: 1440px) {
	.trajetWrapper .btnWrapper { flex-direction: row;}
}
.hebergementWrapper .blockWrapper { background: var(--color-white); border-radius: 4px; padding: 20px; display: flex; flex-direction: column; position: relative; margin-bottom: 20px;}
a.nbPersonnesTrigger { background-color: var(--color-white); color: var(--color-blue); border: 1px solid var(--color-blue); padding: 7px 5px; font-size: 14px;  line-height: 1.2; border-radius: 4px; margin-bottom: 5px; outline: 0; text-decoration: none; position: relative; display: inline-block;}
.blockWrapper p { margin-bottom: 10px; margin-top:0;}
form .villeDepartWrapper label,form .hebergementWrapper label  { color: var(--color-blue); }
.annimationLoader{ display: flex; pointer-events: none; align-items: center; justify-content: center; background-size: 100% auto; height: 100%;}
.annimationLoader .loader { z-index:7;}

.utilsProd { display:flex; align-items: center;}

.badgesWrapper .supplementsLinknoces a.badgeCode,
.badgesWrapper .supplementsLinkDouceur a.badgeCode,
.badgesWrapper .supplementsLinkannivmariage a.badgeCode  { cursor: pointer; border: 2px solid var(--color-blue-70); background: var(--color-blue-10);}
.badgesWrapper .supplementsLinkPoker a.badgeCode { cursor: pointer; border: 2px solid var(--color-blue-70);}

.supplementsLinknoces a, .surTitre .noces {  color: var(--color-noce);}
.supplementsLinkannivmariage a, .surTitre .anniv  {  color: var(--color-mariage);}
.supplementsLinkDouceur a {  color: var(--color-orange);}
.supplementsLinkPoker a {  color: var(--color-orange); background-color: var(--color-poker);}

.nbNuitsSelectContainer { display: flex; flex-direction: column; gap: 5px; padding: 5px 0 0 5px; background: var(--color-blue-10);}


.infoDebug {background: white;height: 100%;}
.infoDebug table td,.infoDebug table th { border:1px solid var(--color-blue); text-align:center; font-size:10pt;}
.infoDebug table { float:left; margin:10px; background:  var(--color-white);}
.infoDebug table th { background-color: var(--color-blue-60); color: var(--color-white);}
.debugInfo { font-size: 10px;}
.SejourVignette {flex-direction: column;}
.phraseContractuel{color:var(--color-blue);}
.tarifSansPromo { font-size: 10px; color: var(--color-orange);}
.calendarLine .day .tarifSansPromo {display: block; white-space: nowrap;}

/* ---- End Page Grille ---- */

/* ---- Page Confirmation ---- */
.confirmationParticipantsColumns {display: flex;gap: 10px;flex-direction: column;}
.confirmationParticipantColumn {padding: 15px 0;width: 100%;}

@media (min-width: 992px) {
	.confirmationParticipantsColumns {display: flex;gap: 50px;flex-direction: row;}
	.confirmationParticipantColumn {padding: 15px 0;width: 50%;}
}

.whiteBlockHalf .widgetTitle { display: none;}
.whiteBlock.collapsed { display: none;}

.accordion-section { display: block;	margin: 10px 0;}
.accordion-section.collapsed {	background: var(--color-white);}
.accordion-section h2 {	display: flex; justify-content: space-between; align-items: center;	padding: 0px 10px;}
.toggle-btn { font-size: 0.8em; margin-left: 10px; background: none; border: none; color: var(--color-blue-50); cursor: pointer;}

@media (min-width: 992px) {
 .tunnelMainConfirmation .tunnelLeft {  display: flex;  flex-direction: column;  justify-content: space-between; }
}

.confirmationThumbnail { border-radius: 4px; width: 68px; object-fit: contain;	height:auto;}
.transfertTrajetConfirmation {	padding: 10px 0;}
.transfertTrajetConfirmation .transfertTopLineLeft { flex-wrap: wrap;}
.cadreOneMoreDayDepart,
.transfertTrajetConfirmation .transfertNumber,
.transfertTrajetConfirmation .transfertHeure,
.transfertTrajetConfirmation .transfertLieu,
.transfertTrajetConfirmation .transfertLieuDetail{	font-size: 14px;}
.transfertTrajetConfirmation .transfertTopLineLeft, .transfertTrajetConfirmation .transfertLieu{	font-size: unset;}
.sectionVol {	padding: 15px 0; margin: 5px 0; border-bottom: 1px solid var(--color-blue-10);}
.whiteBlockHalf .txtWarningChangeAirport {  font-size: 16px !important;  }

.fieldWrapper { gap: 15px; display: flex; }

.confirmationLine.confirmationSelectWrapper { padding-bottom: 10px;}

.btnDevisMailPopup { color: white; text-decoration: none; }
.btnResaDevisMailWrapper { display: flex; flex-direction: row; gap: 20px; }

/* Pop-up devis mail */

.formDevisMailClientWrapper { margin-top: 10px; }
.inputmailMessageDevisBox { display: flex; flex-direction: column; gap: 5px; }
.boxDevisMailClientBtn { margin-top: 20px; display: flex; justify-content: flex-end; }
.msgsErrorSuccessDevisMail { display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold; color: red; }

/* End Pop-up devis mail */

/* ---- End Page Confirmation ---- */

/* ---- Page �dition Ligne Devis ---- */
.actionBtnBoxLigneDevis { display: flex; flex-direction: column; align-items: center; gap: 5px; }
.actionBtnWrapperLigneDevis { display: flex; flex-direction: row; align-items: center; gap: 10px; }
.inputFieldDevisDisplay { width: 0px; }
.separateurLigneDevis {position: relative;}
.separateurLigneDevis::after { content: ""; position: absolute; bottom: 0; left: 10%; width: 80%; height: 1px; background: #ddd; }
.dropableZoneBox { display: flex; cursor: move; justify-content: center; flex-direction: row; align-items: flex-start;}


.ligneDevis-drag-helper { opacity: 0.9; }
.ligneDevis-placeholder { border: 2px dashed #999; background: rgba(0,0,0,0.04); }
.icone-drag { cursor: grab; }
.icone-drag:active { cursor: grabbing; }

/* ---- End Page �dition Ligne Devis ---- */