/* TIF single-tour refonte (portage sandbox → prod) — chargé APRÈS tif-custom.css */
/* Source: work-sandbox/traveltour-child/style.css */

/* TH-CSS-01 — ajustement bouton (historique) */
/* Ajout pour mettre le bouton à niveau */

/* ===============================================================
   REFONTE-2026-01 — Single tour : bandeau infos clés + badge type
   ---------------------------------------------------------------
   Encadré : .tif-bandeau-haut--navy (#2e3a4b, id=tif-bandeau)
   Liberté : #liberte / --liberte (#E2E3E8, message liberté inclus)
   =============================================================== */

/* —— Structure commune —— */
.tif-bandeau-haut {
	/* Même air haut / bas (le pdb GDLR était un faux bas de +30px). */
	padding-top: 40px !important;
	padding-bottom: 40px !important;
	position: relative;
	z-index: 1;
}

/* Annule le padding-bottom natif Goodlayers (sinon bas >> haut). */
.tif-bandeau-haut .gdlr-core-item-pdb {
	padding-bottom: 0 !important;
}

.tif-bandeau-haut .tif-bandeau-infos,
.tif-bandeau-haut .listedate {
	margin: 0;
	padding: 0;
	list-style: none;
}

.tif-bandeau-haut .tif-bandeau-infos > li,
.tif-bandeau-haut .listedate > li {
	margin: 0 0 10px !important;
	padding: 0 !important;
	border: 0 !important;
	float: none !important;
	width: auto !important;
}

.tif-bandeau-haut .tif-bandeau-infos > li:last-child,
.tif-bandeau-haut .listedate > li:last-child {
	margin-bottom: 0 !important;
}

/* Pictos alignés au centre vertical du texte (pas trop bas) */
.tif-bandeau-haut .tif-bandeau-infos > li {
	display: flex !important;
	align-items: center;
	clear: none !important;
}

.tif-bandeau-haut .tif-bandeau-infos > li::before,
.tif-bandeau-haut .tif-bandeau-infos > li::after {
	display: none !important;
	content: none !important;
}

.tif-bandeau-haut .tif-bandeau-infos > li > a {
	display: flex !important;
	align-items: center;
	gap: 0;
	width: 100%;
	text-decoration: none;
}

.tif-bandeau-haut .tif-bandeau-infos > li > a > .gdlr-core-icon-list-icon-wrap,
.tif-bandeau-haut .gdlr-core-icon-list-icon-wrap {
	float: none !important;
	position: relative !important;
	top: 0 !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	margin-top: 0 !important;
	margin-right: 14px !important;
	flex: 0 0 18px;
	width: 18px;
	height: 1.45em;
	line-height: 1 !important;
}

.tif-bandeau-haut .gdlr-core-icon-list-icon,
.tif-bandeau-haut .gdlr-core-icon-list-icon-hover,
.tif-bandeau-haut .fa-calendar {
	font-size: 18px !important;
	width: 18px !important;
	height: auto !important;
	line-height: 1 !important;
	vertical-align: middle !important;
	display: inline-block !important;
	position: relative !important;
	top: 0 !important;
}

.tif-bandeau-haut .tif-bandeau-infos .gdlr-core-icon-list-content-wrap {
	flex: 1 1 auto;
	min-width: 0;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Colonne dates : flex (icône stable à l’ouverture accordion) */
.tif-bandeau-haut .dateshaut .listedate > li.tif-dateshaut-li,
.tif-bandeau-haut .dateshaut .listedate > li {
	display: flex !important;
	flex-direction: row;
	align-items: flex-start;
	gap: 0;
	float: none !important;
	width: 100% !important;
	clear: none !important;
}

.tif-bandeau-haut .dateshaut .listedate > li.tif-dateshaut-li::before,
.tif-bandeau-haut .dateshaut .listedate > li.tif-dateshaut-li::after {
	display: none !important;
	content: none !important;
}

.tif-bandeau-haut .dateshaut .listedate > li > .gdlr-core-icon-list-icon-wrap {
	float: none !important;
	position: relative;
	top: 0 !important;
	line-height: 1 !important;
	height: 1.45em;
}

.tif-bandeau-haut .dateshaut .listedate > li > .gdlr-core-icon-list-icon-wrap .gdlr-core-icon-list-icon,
.tif-bandeau-haut .dateshaut .listedate > li > .gdlr-core-icon-list-icon-wrap .fa-calendar {
	display: inline-block !important;
	line-height: 1 !important;
	vertical-align: middle;
}

.tif-bandeau-haut .dateshaut .gdlr-core-icon-list-content-wrap {
	flex: 1 1 auto;
	min-width: 0;
	overflow: visible;
}

.tif-bandeau-haut .gdlr-core-icon-list-content {
	text-transform: uppercase;
	font-weight: 700 !important;
	font-size: 13px !important;
	letter-spacing: 0.4px;
	line-height: 1.45;
}

.tif-bandeau-haut .tif-bandeau-value,
.tif-bandeau-haut .dateshautliste {
	font-weight: 500 !important;
	text-transform: none !important;
	letter-spacing: 0;
	margin-left: 6px;
}

.tif-bandeau-haut .dateshautliste {
	display: block;
	margin-left: 0;
	margin-top: 6px;
	font-size: 14px;
	line-height: 1.55;
}

.tif-bandeau-haut .dateshautliste > span[class^="global"] {
	display: block;
	margin: 0;
	padding: 0;
}

.tif-bandeau-haut .gdlr-core-skin-divider {
	border-color: transparent !important;
}

.tif-bandeau-haut .excerpticon {
	display: none !important;
}

/* Accordion dates — structure (couleurs par variante) */
.tif-bandeau-haut .tif-dates-accordion {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	width: 100%;
	max-width: 100%;
	clear: none !important;
	float: none !important;
}

.tif-bandeau-haut .tif-dates-accordion.gdlr-core-item-mgb {
	margin-bottom: 0 !important;
}

.tif-bandeau-haut .tif-dates-accordion .gdlr-core-accordion-item-tab {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	clear: none !important;
	float: none !important;
	width: 100% !important;
}

.tif-bandeau-haut .tif-dates-accordion .gdlr-core-accordion-item-tab::before,
.tif-bandeau-haut .tif-dates-accordion .gdlr-core-accordion-item-tab::after {
	display: none !important;
	content: none !important;
}

.tif-bandeau-haut .tif-dates-accordion .gdlr-core-accordion-item-icon {
	display: none !important;
}

.tif-bandeau-haut .tif-dates-accordion .gdlr-core-accordion-item-content-wrapper {
	padding: 0 !important;
	margin: 0 !important;
	width: 100% !important;
	float: none !important;
	display: flex;
	flex-direction: column;
}

/* Ouvert : dates d’abord, toggle en bas — via order (DOM titre→contenu intact pour GDLR). */
.tif-bandeau-haut .tif-dates-accordion .gdlr-core-accordion-item-tab.gdlr-core-active .gdlr-core-accordion-item-title {
	order: 2;
	padding-top: 4px !important;
}

.tif-bandeau-haut .tif-dates-accordion .gdlr-core-accordion-item-tab.gdlr-core-active .gdlr-core-accordion-item-content {
	order: 1;
}

.tif-bandeau-haut .tif-dates-accordion .gdlr-core-accordion-item-title {
	color: var(--orange, #F97150) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	padding: 4px 0 0 !important;
	margin: 0 !important;
	background: transparent !important;
	cursor: pointer;
	padding-left: 0 !important;
	text-indent: 0 !important;
}

.tif-bandeau-haut .tif-dates-accordion .gdlr-core-accordion-item-title::before {
	content: '> ';
	color: var(--orange, #F97150);
	position: static !important;
	margin: 0 !important;
	padding: 0 !important;
}

.tif-bandeau-haut .tif-dates-accordion .gdlr-core-accordion-item-title::after {
	display: none !important;
}

.tif-bandeau-haut .tif-dates-accordion .gdlr-core-accordion-item-content {
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	font-size: 14px;
	line-height: 1.55;
	border: 0 !important;
	width: 100% !important;
	box-sizing: border-box;
}

.tif-bandeau-haut .tif-dates-accordion .gdlr-core-accordion-item-content span[class^="global"] {
	display: block;
}

.tif-bandeau-haut span.confirmé,
.tif-bandeau-haut span.complet {
	display: inline-block;
	border-radius: 20px;
	padding: 2px 10px !important;
	font-size: 11px;
	font-weight: 600;
	text-transform: lowercase;
	letter-spacing: 0.2px;
	margin-left: 6px;
	vertical-align: middle;
	line-height: 1.4;
}

.tif-bandeau-haut span.confirmé {
	background-color: #5cb139 !important;
	color: #ffffff !important;
}

.tif-bandeau-haut span.complet {
	background-color: #1a222d !important;
	color: #ffffff !important;
}

@media (max-width: 999px) {
	.tif-bandeau-haut .tif-bandeau-infos-col,
	.tif-bandeau-haut--navy .tif-bandeau-infos-col,
	.tif-bandeau-haut--liberte .tif-bandeau-infos-col,
	#liberte.tif-bandeau-haut .tif-bandeau-infos-col {
		border-right: 0 !important;
		padding-right: 0 !important;
		margin-bottom: 18px;
	}
}

/* —— Encadré : navy Dylan —— */
.tif-bandeau-haut--navy {
	background-color: var(--dark-blue, #2e3a4b) !important;
}

.tif-bandeau-haut--navy .gdlr-core-pbf-background-wrap {
	background-color: var(--dark-blue, #2e3a4b) !important;
}

.tif-bandeau-haut--navy .tif-bandeau-infos-col {
	border-right: 1px solid rgba(255, 255, 255, 0.35);
	padding-right: 18px;
	box-sizing: border-box;
}

.tif-bandeau-haut--navy .gdlr-core-icon-list-icon,
.tif-bandeau-haut--navy .gdlr-core-icon-list-icon-hover,
.tif-bandeau-haut--navy .fa-calendar {
	color: rgba(255, 255, 255, 0.9) !important;
}

.tif-bandeau-haut--navy .gdlr-core-icon-list-content {
	color: #9fb3cf !important;
}

.tif-bandeau-haut--navy .tif-bandeau-value,
.tif-bandeau-haut--navy .dateshautliste,
.tif-bandeau-haut--navy .tif-dates-accordion .gdlr-core-accordion-item-content {
	color: #ffffff !important;
}

.tif-bandeau-haut--navy a {
	color: inherit;
}

/* —— Liberté : gris historique (#E2E3E8), id=liberte —— */
#liberte.tif-bandeau-haut,
.tif-bandeau-haut--liberte,
#liberte {
	background-color: #E2E3E8 !important;
}

#liberte .gdlr-core-pbf-background-wrap,
.tif-bandeau-haut--liberte .gdlr-core-pbf-background-wrap {
	background-color: #E2E3E8 !important;
}

.tif-bandeau-haut--liberte .tif-bandeau-infos-col {
	border-right: 1px solid rgba(57, 69, 84, 0.25);
	padding-right: 18px;
	box-sizing: border-box;
}

.tif-bandeau-haut--liberte .gdlr-core-icon-list-icon,
.tif-bandeau-haut--liberte .gdlr-core-icon-list-icon-hover,
.tif-bandeau-haut--liberte .fa-calendar,
#liberte .gdlr-core-icon-list-icon,
#liberte .fa-calendar {
	color: #5276a5 !important;
}

.tif-bandeau-haut--liberte .gdlr-core-icon-list-content,
#liberte .gdlr-core-icon-list-content {
	color: #5276a5 !important;
}

.tif-bandeau-haut--liberte .tif-bandeau-value,
.tif-bandeau-haut--liberte .dateshautliste,
.tif-bandeau-haut--liberte .tif-dates-accordion .gdlr-core-accordion-item-content,
#liberte .tif-bandeau-value,
#liberte .dateshautliste {
	color: #394554 !important;
}

#liberte,
#liberte p,
#liberte li,
#liberte .gdlr-core-text-box-item-content,
#liberte .letop {
	color: #394554;
}

#liberte a {
	color: #5276a5;
}

#liberte h2,
#liberte h3 {
	color: #5276a5;
}

/* Badge "type de séjour" (Camp de base / Itinérance / ...) */
.tif-stay-type-badge-wrap {
	position: relative;
	z-index: 5;
	text-align: center;
	margin-top: -19px;
	margin-bottom: 10px;
}

/* ===============================================================
   REFONTE-2026-01 — Tokens typo single tour (unifiés)
   ---------------------------------------------------------------
   Une seule source pour corps de texte / titres de section sur la
   fiche séjour. Les blocs (#programme, #niveau, etc.) héritent.
   =============================================================== */
:root {
	--tif-font: Poppins, sans-serif;
	--tif-font-size-body: 14px;
	--tif-line-height-body: 1.6;
	--tif-color-body: #394554;
	--tif-font-size-title: 24px;
	--tif-line-height-title: 1.2;
	--tif-color-title: var(--dark-blue, #2e3a4b);
	--tif-section-bg: #e1e3e8;
	/* Écart contenu section → bouton CTA (FAQ, niveau, …). Toujours réutiliser. */
	--tif-section-cta-gap: 28px;
	/* Padding vertical des bandeaux fiche (haut/bas) — une seule valeur partout. */
	--tif-section-pad-y: 36px;
	/* Espace sous le H3 de section avant le contenu. */
	--tif-section-title-gap: 10px;
	/* Boutons CTA fiche — solid navy, hover bleu. */
	--tif-btn-bg: #2e3a4b;
	--tif-btn-bg-hover: #5276a5;
	--tif-btn-fg: #ffffff;
	--tif-btn-radius: 999px;
	--tif-btn-font-size: 14px;
	--tif-btn-font-weight: 700;
	--tif-btn-pad-y: 12px;
	--tif-btn-pad-x: 28px;
	--tif-btn-min-h: 46px;
}

/* Corps de texte unifié sur toute la fiche single */
.single-tour .tourmaster-template-wrapper,
.single-tour .tourmaster-single-main-content,
.single-tour .gdlr-core-pbf-wrapper,
.single-tour .gdlr-core-text-box-item-content,
.single-tour .gdlr-core-accordion-item-content,
.single-tour .gdlr-core-toggle-box-item-content,
.single-tour .programme-jour-contenu,
.single-tour .tif-programme-accordion,
.single-tour .tif-programme-accordion p,
.single-tour .tif-niveau-detail,
.single-tour .tif-niveau-body,
.single-tour .tif-infos-pratiques-stack,
.single-tour .comprend,
.single-tour .comprendpas {
	font-family: var(--tif-font) !important;
	font-size: var(--tif-font-size-body) !important;
	line-height: var(--tif-line-height-body) !important;
	color: var(--tif-color-body);
}

.single-tour .tourmaster-template-wrapper p,
.single-tour .gdlr-core-accordion-item-content p,
.single-tour .gdlr-core-toggle-box-item-content p,
.single-tour .programme-jour-contenu p,
.single-tour .tif-programme-accordion > p {
	font-family: var(--tif-font) !important;
	font-size: var(--tif-font-size-body) !important;
	line-height: var(--tif-line-height-body) !important;
	margin: 0 0 0.85em;
}

.single-tour .tourmaster-template-wrapper p:last-child,
.single-tour .gdlr-core-accordion-item-content p:last-child,
.single-tour .programme-jour-contenu p:last-child {
	margin-bottom: 0;
}

/* ===============================================================
   REFONTE-2026-01 — Titres de section (Programme, Infos pratiques,
   Hébergement, Niveau, Équipement, Vos questions, Avis)
   ---------------------------------------------------------------
   Une seule classe (.titre3tourstyle1) est réutilisée par toutes les
   sections de la fiche séjour : la restyler ici améliore d’un coup
   l’ensemble de la page, pas seulement le haut.
   =============================================================== */

/* Bandeaux fiche : même padding haut/bas partout (évite 30/40/50px mélangés). */
.single-tour #programme.gdlr-core-pbf-wrapper,
.single-tour #hebergement.gdlr-core-pbf-wrapper,
.single-tour #niveau.gdlr-core-pbf-wrapper,
.single-tour #questions.tif-faq-section-wrap,
.single-tour #infos-pratiques.tif-infos-pratiques-wrap,
.single-tour #autres-niveaux.autres-niveaux-section,
.single-tour .tif-reviews-wrap.gdlr-core-pbf-wrapper,
.single-tour #tif-related.tif-crosssell,
.single-tour .tourmaster-single-related-tour {
	padding-top: var(--tif-section-pad-y, 36px) !important;
	padding-bottom: var(--tif-section-pad-y, 36px) !important;
	box-sizing: border-box;
}

/* Titres H3 de section : pas de padding-top (le bandeau le porte), gap bas normé. */
.single-tour #programme .tif-programme-title,
.single-tour #hebergement .tif-hebergement-title,
.single-tour #niveau .tif-niveau-title,
.single-tour #infos-pratiques .tif-infos-title,
.single-tour #questions .tif-faq-title,
.single-tour .tif-section-title.titre3tourstyle1,
.single-tour .tif-reviews-title.titre3tourstyle1,
.single-tour .tif-related-title.titre3tourstyle1,
.single-tour .tif-crosssell-title.titre3tourstyle1 {
	margin: 0 !important;
	padding-top: 0 !important;
	padding-bottom: var(--tif-section-title-gap, 10px) !important;
}

/* Wrapper Goodlayers autour du H3 : pas de padding-bottom natif qui décale. */
.single-tour #programme .gdlr-core-title-item,
.single-tour #hebergement .gdlr-core-title-item,
.single-tour #niveau .gdlr-core-title-item {
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

.titre3tourstyle1,
h3.titre3tourstyle1 {
	font-family: var(--tif-font) !important;
	font-size: var(--tif-font-size-title) !important;
	line-height: var(--tif-line-height-title) !important;
	color: var(--tif-color-title) !important;
	font-weight: 900 !important;
	font-style: italic !important;
	/* !important nécessaire : une règle plus spécifique "h3.titre3tourstyle1"
	   du thème/plugin force déjà text-transform:none. */
	text-transform: uppercase !important;
	letter-spacing: 0.3px;
}

.gdlr-core-title-item-left-icon i {
	color: var(--blue) !important;
}

/* Petit trait d’accent orange sous le titre, à la place du diviseur invisible d’origine */
.titre3tourstyle1 .gdlr-core-title-item-title-divider {
	display: block !important;
	width: 44px;
	height: 3px;
	margin-top: 10px;
	background-color: var(--orange);
	border-radius: 3px;
}

/* ===============================================================
   REFONTE-2026-01 — Programme du stage (aligné Dylan accordion)
   ---------------------------------------------------------------
   Markup : gdlr-core-accordion. Carte blanche sur fond section gris,
   +/− en bout de ligne, séparateur entre chaque jour,
   courbe en object-fit:contain. Typo via --tif-*.
   =============================================================== */

#programme .gdlr-core-pbf-background-wrap {
	background-color: var(--tif-section-bg) !important;
}

#programme h3.titre3tourstyle1.tif-programme-title,
#programme .tif-programme-title {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px;
	font-family: var(--tif-font) !important;
	font-size: var(--tif-font-size-title) !important;
	line-height: var(--tif-line-height-title) !important;
	font-style: normal !important;
	font-weight: 900 !important;
	color: var(--tif-color-title) !important;
	text-transform: uppercase !important;
	margin: 0 !important;
	padding: 0 0 var(--tif-section-title-gap, 10px) !important;
}

#programme .tif-programme-title .gdlr-core-title-item-title-divider {
	display: none !important;
}

#programme .tif-programme-title .gdlr-core-title-item-left-icon,
#programme .tif-programme-title .gdlr-core-title-item-left-icon i {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 0.9em !important;
	line-height: 1 !important;
	color: var(--tif-color-title) !important;
	position: static !important;
	top: auto !important;
	transform: none !important;
	vertical-align: middle;
}

#programme .tif-programme-accordion,
.tif-faq-accordion,
.tif-accordion {
	margin-bottom: 15px !important;
	padding: 30px !important;
}

/* Skin white : panneau blanc sur fond de section gris (Programme) */
.tif-accordion--white,
#programme .tif-programme-accordion {
	background: #ffffff !important;
	border: 1px solid #d8dde6 !important;
}

/* Skin gray : fond de section blanc → chaque item en gris (pas un gros bloc) */
.tif-accordion--gray {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
}

.tif-accordion--gray .gdlr-core-accordion-item-tab {
	background: #e1e3e8 !important;
	border-bottom: none !important;
	margin: 0 0 10px !important;
	padding: 0 18px !important;
	border-radius: 2px;
}

.tif-accordion--gray .gdlr-core-accordion-item-tab:last-of-type {
	margin-bottom: 0 !important;
}

#programme .tif-programme-accordion > p {
	color: var(--tif-color-body);
	line-height: var(--tif-line-height-body) !important;
}

/* Ligne jour / FAQ : titre à gauche, +/− (pseudo ElegantIcons) en bout de ligne */
#programme .tif-programme-accordion .gdlr-core-accordion-item-tab,
.tif-faq-accordion .gdlr-core-accordion-item-tab {
	display: block !important;
	float: none !important;
	clear: both;
	border-bottom: 1px solid #e7e9ee;
}

#programme .tif-programme-accordion .gdlr-core-accordion-item-tab:last-of-type,
.tif-faq-accordion .gdlr-core-accordion-item-tab:last-of-type {
	border-bottom: none;
}

/* Icône native GDLR inutilisée ici : le +/- est sur le titre (::before) */
#programme .tif-programme-accordion .gdlr-core-accordion-item-icon,
.tif-faq-accordion .gdlr-core-accordion-item-icon {
	display: none !important;
}

#programme .tif-programme-accordion .gdlr-core-accordion-item-content-wrapper,
.tif-faq-accordion .gdlr-core-accordion-item-content-wrapper {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
}

#programme .tif-programme-accordion .gdlr-core-accordion-item-title,
.tif-faq-accordion .gdlr-core-accordion-item-title {
	display: flex !important;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 18px 0 !important;
	background: transparent !important;
	font-family: var(--tif-font) !important;
	font-size: var(--tif-font-size-body) !important;
	line-height: var(--tif-line-height-body) !important;
	font-style: normal;
	font-weight: 700;
	color: var(--tif-color-title);
	cursor: pointer;
	transition: color 0.15s ease;
}

/* Hover + actif : même bleu #5276A5 (Programme + FAQ) */
#programme .tif-programme-accordion .gdlr-core-accordion-item-title:hover,
.tif-faq-accordion .gdlr-core-accordion-item-title:hover,
#programme .tif-programme-accordion .gdlr-core-active .gdlr-core-accordion-item-title,
.tif-faq-accordion .gdlr-core-active .gdlr-core-accordion-item-title {
	color: #5276a5 !important;
}

/* "+" / "-" généré par GoodLayers sur le titre : poussé à droite */
#programme .tif-programme-accordion .gdlr-core-accordion-item-title::before,
.tif-faq-accordion .gdlr-core-accordion-item-title::before {
	order: 2;
	margin-left: auto;
	padding-left: 16px;
	flex: 0 0 auto;
	color: #98a1b0 !important;
	font-size: 18px;
	font-weight: 400;
	line-height: 1;
	transition: color 0.15s ease;
}

#programme .tif-programme-accordion .gdlr-core-accordion-item-title:hover::before,
.tif-faq-accordion .gdlr-core-accordion-item-title:hover::before,
#programme .tif-programme-accordion .gdlr-core-active .gdlr-core-accordion-item-title::before,
.tif-faq-accordion .gdlr-core-active .gdlr-core-accordion-item-title::before {
	color: #5276a5 !important;
}

#programme .tif-programme-accordion .gdlr-core-accordion-item-title .gdlr-core-head {
	margin-right: 0.35em;
}

/* Jamais de ":" auto après "Jour N" */
#programme .tif-programme-accordion .gdlr-core-accordion-item-title .gdlr-core-head::after {
	content: none !important;
}

#programme .tif-programme-accordion .gdlr-core-accordion-item-content,
.tif-faq-accordion .gdlr-core-accordion-item-content {
	padding: 18px 0 22px;
	border-top: 1px solid #e7e9ee;
	color: var(--tif-color-body);
	line-height: var(--tif-line-height-body) !important;
}

.tif-accordion--gray .gdlr-core-accordion-item-content {
	border-top-color: #cfd3db;
}

#programme .tif-programme-accordion .gdlr-core-accordion-item-content p,
.tif-faq-accordion .gdlr-core-accordion-item-content p {
	margin: 0 0 0.85em;
	line-height: var(--tif-line-height-body) !important;
}

/* Page FAQ globale — titres de catégorie + filtre */
.tif-faq--page .tif-faq-group {
	margin: 0 0 2.25rem;
}

.tif-faq--page .tif-faq-group:last-child {
	margin-bottom: 0;
}

.tif-faq--page .tif-faq-group-title,
h2.tif-faq-group-title {
	margin: 0 0 14px !important;
	padding: 0 !important;
	font-family: var(--tif-font, Poppins, sans-serif) !important;
	font-size: 20px !important;
	font-weight: 800 !important;
	font-style: italic !important;
	line-height: 1.2 !important;
	letter-spacing: 0.2px;
	text-transform: uppercase !important;
	color: var(--tif-color-title, #2e3a4b) !important;
}

.tif-faq--page .tif-faq-page-title {
	margin: 0 0 1.5rem !important;
	font-family: var(--tif-font, Poppins, sans-serif) !important;
	font-size: 24px !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
	color: var(--tif-color-title, #2e3a4b) !important;
}

.tif-faq--page .tif-faq-filter {
	margin: 0 0 1.75rem;
}

.tif-faq--page .tif-faq-filter-search {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin: 0 0 12px;
	padding: 11px 14px;
	border: 1px solid #cfd3db;
	border-radius: 6px;
	font-family: var(--tif-font, Poppins, sans-serif);
	font-size: 14px;
	line-height: 1.3;
	color: #2e3a4b;
	background: #f7f8fa;
}

.tif-faq--page .tif-faq-filter-search:focus {
	outline: none;
	border-color: #5276a5;
	background: #fff;
}

.tif-faq--page .tif-faq-filter-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 10px;
}

.tif-faq--page .tif-faq-filter-chip {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 32px;
	padding: 6px 12px !important;
	border: 1px solid #cfd3db !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: #2e3a4b !important;
	font-family: var(--tif-font, Poppins, sans-serif) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	cursor: pointer;
	user-select: none;
	box-shadow: none !important;
}

.tif-faq--page .tif-faq-filter-chip:hover,
.tif-faq--page .tif-faq-filter-chip:focus {
	border-color: #5276a5 !important;
	color: #5276a5 !important;
	outline: none;
}

.tif-faq--page .tif-faq-filter-chip.is-active {
	background: #2e3a4b !important;
	border-color: #2e3a4b !important;
	color: #fff !important;
}

.tif-faq--page .tif-faq-filter-chip.is-featured:not(.is-active) {
	border-color: #5276a5 !important;
	color: #5276a5 !important;
	font-weight: 700 !important;
}

.tif-faq--page .tif-faq-group--featured .tif-faq-group-title {
	color: #5276a5 !important;
}

.tif-faq--page .tif-faq-filter-count {
	margin: 0 !important;
	padding: 0 !important;
	font-family: var(--tif-font, Poppins, sans-serif);
	font-size: 12px;
	font-weight: 500;
	color: #6b7280;
}

.tif-faq--page .tif-faq-filter-empty {
	margin: 1rem 0 0 !important;
	padding: 0 !important;
	font-family: var(--tif-font, Poppins, sans-serif);
	font-size: 14px;
	font-style: italic;
	color: #6b7280;
	text-align: center;
}

/* CTA sous contenu de section (FAQ, niveau, avis…) — gap = --tif-section-cta-gap */
.tif-section-cta-wrap,
.tif-faq-more-wrap,
.tif-niveau-cta-wrap,
.tif-reviews-actions {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	margin: var(--tif-section-cta-gap, 28px) 0 0;
	text-align: center;
}

/* =============================================================================
 * Boutons CTA fiche — primitive .tif-btn (+ alias métier)
 * Solid navy → hover #5276a5. Jamais text-transform: uppercase.
 * Variante outline : .tif-btn--outline
 * ========================================================================== */
.tif-btn,
.tif-faq-more-btn,
.tif-reviews-all-btn,
.tif-niveau-open-utmb {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--tif-btn-min-h, 46px);
	padding: var(--tif-btn-pad-y, 12px) var(--tif-btn-pad-x, 28px);
	border: 0;
	border-radius: var(--tif-btn-radius, 999px);
	background: var(--tif-btn-bg, #2e3a4b);
	color: var(--tif-btn-fg, #ffffff) !important;
	font-family: var(--tif-font, Poppins, sans-serif);
	font-size: var(--tif-btn-font-size, 14px);
	font-weight: var(--tif-btn-font-weight, 700);
	line-height: 1.2;
	letter-spacing: 0;
	text-decoration: none !important;
	text-transform: none !important;
	cursor: pointer;
	box-shadow: none;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.tif-btn:hover,
.tif-btn:focus,
.tif-faq-more-btn:hover,
.tif-faq-more-btn:focus,
.tif-reviews-all-btn:hover,
.tif-reviews-all-btn:focus,
.tif-niveau-open-utmb:hover,
.tif-niveau-open-utmb:focus {
	background: var(--tif-btn-bg-hover, #5276a5);
	color: var(--tif-btn-fg, #ffffff) !important;
	text-decoration: none !important;
}

/* Outline : fond blanc, bordure navy → hover fill #5276a5 */
.tif-btn--outline {
	background: #ffffff;
	color: var(--tif-btn-bg, #2e3a4b) !important;
	border: 2px solid var(--tif-btn-bg, #2e3a4b);
}

.tif-btn--outline:hover,
.tif-btn--outline:focus {
	background: var(--tif-btn-bg-hover, #5276a5);
	border-color: var(--tif-btn-bg-hover, #5276a5);
	color: var(--tif-btn-fg, #ffffff) !important;
}

/* =============================================================================
 * TIF modals — primitives partagées (voir docs/TIF-MODALS.md)
 * Shell : .tif-modal > .tif-modal-backdrop + .tif-modal-box > .tif-modal-x
 * Fermer = div.tif-modal-x[role=button] (jamais <button> nu : thème navy)
 * ========================================================================== */
.tif-modal[hidden] {
	display: none !important;
}

.tif-modal {
	position: fixed;
	inset: 0;
	z-index: 100050;
}

.tif-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(20, 24, 32, 0.45);
	cursor: pointer;
}

.tif-modal-box {
	position: relative;
	z-index: 1;
	background: #fff;
	width: calc(100% - 32px);
	margin: 8vh auto 0;
	padding: 26px 24px 22px;
	border-radius: 6px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
	box-sizing: border-box;
}

.tif-modal-x {
	position: absolute;
	top: 10px;
	right: 12px;
	z-index: 3;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	font-family: var(--tif-font, Poppins, sans-serif) !important;
	font-size: 22px !important;
	font-weight: 400 !important;
	font-style: normal !important;
	line-height: 1 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-align: center;
	color: #5c6a7d !important;
	cursor: pointer;
	user-select: none;
	appearance: none !important;
	-webkit-appearance: none !important;
}

.tif-modal-x:hover,
.tif-modal-x:focus {
	color: #2e3a4b !important;
	background: transparent !important;
	outline: none;
}

.tif-modal-heading {
	margin: 0 32px 8px 0 !important;
	padding: 0 !important;
	font-family: var(--tif-font, Poppins, sans-serif) !important;
	font-size: var(--tif-font-size-title, 24px) !important;
	font-weight: 900 !important;
	font-style: normal !important;
	line-height: var(--tif-line-height-title, 1.2) !important;
	letter-spacing: 0.3px;
	text-transform: uppercase !important;
	color: var(--tif-color-title, #2e3a4b) !important;
}

.tif-modal-lead {
	margin: 0 0 18px !important;
	padding: 0 !important;
	font-family: var(--tif-font, Poppins, sans-serif);
	font-size: 14px;
	font-style: italic;
	font-weight: 400;
	line-height: 1.45;
	color: #6b7280;
}

/* CTA générique modal / overlay (variantes métier gardent leurs classes dédiées) */
.tif-modal-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 10px 22px;
	border: 0;
	border-radius: var(--tif-btn-radius, 999px);
	background: var(--tif-btn-bg, #2e3a4b);
	color: var(--tif-btn-fg, #ffffff) !important;
	font-family: var(--tif-font, Poppins, sans-serif);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0;
	text-decoration: none !important;
	text-transform: none !important;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.tif-modal-cta:hover,
.tif-modal-cta:focus {
	background: var(--tif-btn-bg-hover, #5276a5);
	color: var(--tif-btn-fg, #ffffff) !important;
}

/* Chips filtre (modal FAQ / page FAQ) — div role=tab, pas <button> */
.tif-modal-chip,
.tif-faq-modal-chip,
.tif-faq-filter-chip {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 32px;
	min-width: 0 !important;
	padding: 6px 12px !important;
	border: 1px solid #cfd3db !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: #2e3a4b !important;
	font-family: var(--tif-font, Poppins, sans-serif) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	cursor: pointer;
	user-select: none;
	box-shadow: none !important;
}

.tif-modal-chip:hover,
.tif-modal-chip:focus,
.tif-faq-modal-chip:hover,
.tif-faq-modal-chip:focus,
.tif-faq-filter-chip:hover,
.tif-faq-filter-chip:focus {
	border-color: #5276a5 !important;
	color: #5276a5 !important;
	outline: none;
}

.tif-modal-chip.is-active,
.tif-faq-modal-chip.is-active,
.tif-faq-filter-chip.is-active {
	background: #2e3a4b !important;
	border-color: #2e3a4b !important;
	color: #fff !important;
}

/* Modal catalogue FAQ */
.tif-faq-modal[hidden] {
	display: none !important;
}

.tif-faq-modal {
	position: fixed;
	inset: 0;
	z-index: 100060;
}

.tif-faq-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(20, 24, 32, 0.45);
	cursor: pointer;
}

.tif-faq-modal-box {
	position: relative;
	z-index: 1;
	background: #fff;
	max-width: 720px;
	width: calc(100% - 32px);
	max-height: min(86vh, 820px);
	margin: 5vh auto 0;
	padding: 26px 24px 22px;
	border-radius: 6px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
	box-sizing: border-box;
	overflow: auto;
	display: flex;
	flex-direction: column;
}

.tif-faq-modal-x,
.tif-faq-modal .tif-modal-x {
	position: absolute;
	top: 10px;
	right: 12px;
	z-index: 3;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	font-size: 22px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	text-transform: none !important;
	color: #5c6a7d !important;
	cursor: pointer;
}

.tif-faq-modal-x:hover,
.tif-faq-modal-x:focus,
.tif-faq-modal .tif-modal-x:hover,
.tif-faq-modal .tif-modal-x:focus {
	color: #2e3a4b !important;
	background: transparent !important;
	outline: none;
}

.tif-faq-modal-heading {
	margin: 0 32px 8px 0 !important;
	padding: 0 !important;
	font-family: var(--tif-font, Poppins, sans-serif) !important;
	font-size: var(--tif-font-size-title, 24px) !important;
	font-weight: 900 !important;
	font-style: normal !important;
	line-height: var(--tif-line-height-title, 1.2) !important;
	letter-spacing: 0.3px;
	text-transform: uppercase !important;
	color: var(--tif-color-title, #2e3a4b) !important;
}

.tif-faq-modal-lead {
	margin: 0 0 16px !important;
	padding: 0 !important;
	font-family: var(--tif-font, Poppins, sans-serif);
	font-size: 14px;
	font-style: italic;
	font-weight: 400;
	line-height: 1.45;
	color: #6b7280;
}

.tif-faq-modal-toolbar {
	margin-bottom: 14px;
}

.tif-faq-modal-search {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin: 0 0 12px;
	padding: 11px 14px;
	border: 1px solid #cfd3db;
	border-radius: 6px;
	font-family: var(--tif-font, Poppins, sans-serif);
	font-size: 14px;
	line-height: 1.3;
	color: #2e3a4b;
	background: #f7f8fa;
}

.tif-faq-modal-search:focus {
	outline: none;
	border-color: #5276a5;
	background: #fff;
}

.tif-faq-modal-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 10px;
}

.tif-faq-modal-chip {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 6px 12px;
	border: 1px solid #cfd3db;
	border-radius: 999px;
	background: #fff;
	color: #2e3a4b;
	font-family: var(--tif-font, Poppins, sans-serif);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.tif-faq-modal-chip:hover,
.tif-faq-modal-chip:focus {
	border-color: #5276a5;
	color: #5276a5;
}

.tif-faq-modal-chip.is-active {
	background: #2e3a4b;
	border-color: #2e3a4b;
	color: #fff;
}

.tif-faq-modal-chip.is-featured:not(.is-active) {
	border-color: #5276a5;
	color: #5276a5;
	font-weight: 700;
}

.tif-faq-modal-count {
	margin: 0 !important;
	padding: 0 !important;
	font-family: var(--tif-font, Poppins, sans-serif);
	font-size: 12px;
	font-weight: 500;
	color: #6b7280;
}

/* Liste = skin gray fiche — toggles en div (évite le fond navy des button thème) */
.tif-faq-modal-list {
	display: flex;
	flex-direction: column;
	gap: 0;
	background: transparent;
}

.tif-faq-modal .tif-faq-modal-item {
	background: #e1e3e8 !important;
	border-radius: 2px;
	margin: 0 0 10px;
	padding: 0 18px;
	overflow: hidden;
	box-shadow: none !important;
	border: none !important;
}

.tif-faq-modal .tif-faq-modal-item:last-child {
	margin-bottom: 0;
}

.tif-faq-modal .tif-faq-modal-item-toggle {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 12px;
	width: 100% !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 18px 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	text-align: left !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	cursor: pointer;
	font-family: var(--tif-font, Poppins, sans-serif) !important;
	color: #2e3a4b !important;
	-webkit-appearance: none;
	appearance: none;
}

.tif-faq-modal .tif-faq-modal-item-q {
	flex: 1 1 auto;
	font-size: var(--tif-font-size-body, 14px) !important;
	font-weight: 700 !important;
	line-height: var(--tif-line-height-body, 1.45) !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: #2e3a4b !important;
	background: transparent !important;
}

.tif-faq-modal .tif-faq-modal-item-toggle:hover .tif-faq-modal-item-q,
.tif-faq-modal .tif-faq-modal-item.is-open .tif-faq-modal-item-q {
	color: #5276a5 !important;
}

.tif-faq-modal .tif-faq-modal-item-icon {
	flex: 0 0 auto;
	margin-left: auto;
	padding-left: 16px;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 1;
	color: #2e3a4b !important;
	background: transparent !important;
	text-transform: none !important;
}

.tif-faq-modal .tif-faq-modal-item-toggle:hover .tif-faq-modal-item-icon,
.tif-faq-modal .tif-faq-modal-item.is-open .tif-faq-modal-item-icon {
	color: #5276a5 !important;
}

.tif-faq-modal .tif-faq-modal-item-answer {
	padding: 0 0 16px;
	border-top: 1px solid #cfd3db;
	font-family: var(--tif-font, Poppins, sans-serif);
	font-size: var(--tif-font-size-body, 14px);
	line-height: var(--tif-line-height-body, 1.45);
	color: #394554 !important;
	text-transform: none !important;
	background: transparent !important;
}

.tif-faq-modal .tif-faq-modal-item-answer a {
	color: #5276a5;
}

.tif-faq-modal .tif-faq-modal-item-answer p {
	margin: 0.85em 0 0;
	color: #394554 !important;
}

.tif-faq-modal .tif-faq-modal-item-answer p:first-child {
	margin-top: 0.85em;
}

.tif-faq-modal .tif-faq-modal-empty {
	margin: 12px 0 0 !important;
	padding: 0 !important;
	font-family: var(--tif-font, Poppins, sans-serif);
	font-size: 14px;
	font-style: italic;
	color: #6b7280;
	text-align: center;
}

.tif-faq-modal .tif-faq-modal-chip {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 32px;
	padding: 6px 12px !important;
	border: 1px solid #cfd3db !important;
	border-radius: 999px !important;
	background: #fff !important;
	background-color: #fff !important;
	box-shadow: none !important;
	color: #2e3a4b !important;
	font-family: var(--tif-font, Poppins, sans-serif) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	cursor: pointer;
	user-select: none;
}

.tif-faq-modal .tif-faq-modal-chip:hover,
.tif-faq-modal .tif-faq-modal-chip:focus {
	border-color: #5276a5 !important;
	color: #5276a5 !important;
	background: #fff !important;
	outline: none;
}

.tif-faq-modal .tif-faq-modal-chip.is-active {
	background: #2e3a4b !important;
	background-color: #2e3a4b !important;
	border-color: #2e3a4b !important;
	color: #fff !important;
}

.tif-faq-modal .tif-faq-modal-chip.is-featured:not(.is-active) {
	border-color: #5276a5 !important;
	color: #5276a5 !important;
	font-weight: 700 !important;
}

@media (max-width: 767px) {
	.tif-faq-modal-box {
		max-height: 90vh;
		margin: 4vh auto 0;
		padding: 22px 16px 18px;
	}
}

#programme .programme-jour-layout {
	display: grid;
	grid-template-columns: 32% 1fr;
	gap: 30px;
	align-items: start;
	width: 100%;
}

#programme .programme-jour-images {
	display: flex;
	flex-direction: column;
	gap: 15px;
	width: 100%;
}

#programme .programme-jour-image,
#programme .programme-jour-courbe {
	width: 100%;
}

#programme .programme-jour-image img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

/* Courbe de dénivelé : contenue (pas étirée), ratio respecté */
#programme .programme-jour-courbe img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	max-height: 160px;
	object-fit: contain;
	object-position: left center;
	background-color: #f7f8fa;
}

#programme .programme-jour-contenu {
	min-width: 0;
	width: 100%;
	line-height: var(--tif-line-height-body) !important;
}

/* Galerie stage : dans le gris #programme, sous la carte blanche.
   Le .gdlr-core-container est display:flex — sans min-width:0 le track
   élargit tout le bloc (full-width mort, plus de drag / scroll). */
#programme .tif-programme-gallery {
	flex: 1 1 100%;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
	margin: 10px 0 20px;
	padding: 0 0 10px;
	align-self: stretch;
}

#programme .tif-programme-gallery .tif-carousel,
#programme .tif-programme-gallery .tif-carousel__viewport {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

/* Disclaimer : dans le cadre blanc, sous accordéons / carte */
#programme .tif-programme-accordion .tif-programme-disclaimer {
	margin: 18px 0 0;
	padding: 0;
	font-family: var(--tif-font) !important;
	font-size: 13px;
	line-height: var(--tif-line-height-body) !important;
	color: #6b7280;
}

#programme .tif-programme-accordion iframe {
	display: block;
	margin-top: 8px;
}

@media (max-width: 767px) {
	#programme .tif-programme-accordion,
	.tif-faq-accordion:not(.tif-accordion--gray) {
		padding: 20px 16px !important;
	}

	.tif-accordion--gray .gdlr-core-accordion-item-tab {
		padding: 0 14px !important;
	}

	#programme .tif-programme-title {
		padding: 0 0 var(--tif-section-title-gap, 10px) !important;
		font-size: 20px !important;
	}

	#programme .tif-programme-accordion .gdlr-core-accordion-item-title,
	.tif-faq-accordion .gdlr-core-accordion-item-title {
		padding: 14px 0 !important;
		font-size: 14px !important;
	}

	#programme .programme-jour-layout {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	#programme .programme-jour-courbe img {
		max-height: 120px;
	}

	#programme .tif-programme-accordion .tif-programme-disclaimer {
		margin-top: 14px;
	}
}

/* ===============================================================
   REFONTE-2026-06 — Infos pratiques (Dylan en stack vertical)
   ---------------------------------------------------------------
   Bloc blanc (hors gris #programme). Une colonne : RDV → Fin →
   Comment → Prix. H3 = .tif-section-title. H4 sans puce.
   =============================================================== */

#infos-pratiques.tif-infos-pratiques-wrap {
	padding: var(--tif-section-pad-y, 36px) 0;
	background-color: #ffffff;
}

#infos-pratiques .tif-infos-pratiques-stack {
	display: flex;
	flex-direction: column;
	gap: 18px;
	max-width: 720px;
	text-align: left !important;
}

#infos-pratiques .tif-infos-pratiques-stack,
#infos-pratiques .tif-infos-pratiques-stack * {
	text-align: left !important;
}

#infos-pratiques .tif-infos-block,
#infos-pratiques .tif-infos-line {
	margin: 0;
	padding: 0;
	color: var(--tif-color-title, #2e3a4b);
}

/* H4 RDV / Fin / Comment / Prix — même axe gauche, sans icône */
#infos-pratiques .tif-infos-label {
	display: block !important;
	margin: 0 0 8px !important;
	padding: 0 !important;
	font-family: var(--tif-font) !important;
	font-size: 16px !important;
	font-weight: 900 !important;
	font-style: italic !important;
	line-height: 1.15 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.01em;
	color: var(--tif-color-title, #2e3a4b) !important;
	text-align: left !important;
}

#infos-pratiques .tif-infos-value {
	margin: 0 !important;
	padding: 0 !important;
	font-family: var(--tif-font) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	font-style: normal !important;
	line-height: 1.6 !important;
	text-transform: none !important;
	color: var(--tif-color-title, #2e3a4b) !important;
	text-align: left !important;
}

#infos-pratiques .tif-infos-richtext {
	margin: 0;
	padding: 0;
	font-size: 14px !important;
	line-height: 1.65 !important;
	color: var(--tif-color-title, #2e3a4b) !important;
	text-align: left !important;
}

#infos-pratiques .tif-infos-richtext p {
	margin: 0 0 0.75em !important;
	padding: 0 !important;
	text-align: left !important;
}

#infos-pratiques .tif-infos-richtext p:last-child {
	margin-bottom: 0 !important;
}

#infos-pratiques .tif-infos-richtext a {
	color: #5276a5;
	text-decoration: underline;
}

#infos-pratiques .tif-infos-block--prix + .tif-infos-block--prix {
	margin-top: 4px;
}

/* Moins d’air entre Comment s’y rendre et Le prix comprend */
#infos-pratiques .tif-infos-line--comment {
	margin-bottom: -4px;
}

/* Listes prix : ✓ / × alignés au bord gauche des titres (pas en gouttière) */
#infos-pratiques .comprend,
#infos-pratiques .comprendpas,
#infos-pratiques .comprend ul,
#infos-pratiques .comprendpas ul {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	text-align: left !important;
}

#infos-pratiques .comprend li,
#infos-pratiques .comprendpas li {
	display: flex !important;
	align-items: flex-start;
	gap: 0.35em;
	margin: 0 0 6px !important;
	padding: 0 !important;
	list-style: none !important;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.55;
	color: var(--tif-color-title, #2e3a4b);
	text-align: left !important;
}

#infos-pratiques .comprend li::before,
#infos-pratiques .comprendpas li::before {
	position: static !important;
	flex: 0 0 auto;
	display: block;
	width: auto !important;
	margin: 0;
	padding: 0;
	font-size: 1.05em;
	font-weight: 700;
	font-style: normal;
	line-height: 1.45;
	color: var(--tif-color-title, #2e3a4b);
}

#infos-pratiques .tif-prix-yes .comprend li::before {
	content: "\2713"; /* ✓ */
}

#infos-pratiques .tif-prix-no .comprendpas li::before {
	content: "\00D7"; /* × */
}

#infos-pratiques .comprend li:last-child,
#infos-pratiques .comprendpas li:last-child {
	margin-bottom: 0 !important;
}

/* ===============================================================
   REFONTE-2026-01 — Hébergement (aligné à gauche + bandeau stage)
   ---------------------------------------------------------------
   H3 = mêmes tokens que Programme. Texte à gauche.
   Galerie = même ratio/drag que #photos (min-width:0 anti-débordement résa).
   =============================================================== */

#hebergement .gdlr-core-pbf-background-wrap {
	background-color: var(--tif-section-bg, #e1e3e8) !important;
}

#hebergement .gdlr-core-pbf-wrapper-container,
#hebergement .gdlr-core-container {
	min-width: 0;
}

#hebergement .gdlr-core-title-item,
#hebergement .gdlr-core-title-item-title-wrap {
	text-align: left !important;
}

#hebergement h3.titre3tourstyle1.tif-hebergement-title,
#hebergement .tif-hebergement-title {
	display: inline-flex !important;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center !important;
	justify-content: flex-start;
	gap: 10px;
	width: auto;
	max-width: 100%;
	margin: 0 !important;
	padding: 0 0 var(--tif-section-title-gap, 10px) !important;
	text-align: left !important;
	font-family: var(--tif-font) !important;
	font-size: var(--tif-font-size-title) !important;
	line-height: var(--tif-line-height-title) !important;
	font-style: normal !important;
	font-weight: 900 !important;
	color: var(--tif-color-title) !important;
	text-transform: uppercase !important;
}

#hebergement .tif-hebergement-title .gdlr-core-title-item-left-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 0.9em !important;
	line-height: 1 !important;
	color: var(--tif-color-title) !important;
	position: static !important;
}

#hebergement .tif-hebergement-title .gdlr-core-title-item-left-icon i {
	color: var(--tif-color-title) !important;
}

#hebergement .tif-hebergement-title .gdlr-core-title-item-title-divider {
	display: none !important;
}

#hebergement .tif-hebergement-subtitle,
#hebergement .soustitresingletour1.tif-hebergement-subtitle {
	display: block;
	margin: 4px 0 16px;
	padding: 0;
	text-align: left !important;
	font-family: var(--tif-font, Poppins, sans-serif);
	font-size: 15px;
	font-weight: 400;
	font-style: italic;
	line-height: 1.45;
	color: #6b7280;
}

#hebergement .tif-hebergement-separator {
	width: 100%;
	max-width: 100%;
	height: 1px;
	margin: 0 0 22px;
	background: rgba(46, 58, 75, 0.28);
}

#hebergement .infos-hebergement {
	max-width: none;
	margin: 0 0 4px;
	text-align: left;
}

#hebergement .hebergementfocus {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	gap: 8px;
	margin: 0 0 10px !important;
	padding: 0 !important;
	list-style: none !important;
	text-align: left;
}

#hebergement .hebergementfocus li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	float: none !important;
	width: auto;
	max-width: 100%;
	font-family: var(--tif-font, Poppins, sans-serif);
	font-size: 15px;
	line-height: 1.55;
	color: var(--tif-color-title, #2e3a4b);
	text-align: left !important;
}

#hebergement .hebergementfocus li b {
	font-weight: 700;
}

#hebergement .tif-hebergement-more {
	display: inline-block;
	margin: 0 0 6px;
	padding: 0;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-family: var(--tif-font, Poppins, sans-serif);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--tif-color-title, #2e3a4b) !important;
	cursor: pointer;
	text-align: left;
	appearance: none;
}

#hebergement .tif-hebergement-more:hover,
#hebergement .tif-hebergement-more:focus {
	color: #5276a5 !important;
	text-decoration: underline;
}

/* Modal détails hébergement (style date-watch / question) */
.tif-hebergement-modal[hidden] {
	display: none !important;
}

.tif-hebergement-modal {
	position: fixed;
	inset: 0;
	z-index: 100050;
}

.tif-hebergement-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(20, 24, 32, 0.45);
}

.tif-hebergement-modal-box {
	position: relative;
	z-index: 1;
	background: #fff;
	max-width: 520px;
	width: calc(100% - 32px);
	max-height: min(78vh, 640px);
	margin: 8vh auto 0;
	padding: 26px 24px 22px;
	border-radius: 6px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
	box-sizing: border-box;
	overflow: auto;
}

.tif-hebergement-modal-x,
.tif-hebergement-modal .tif-modal-x {
	position: absolute;
	top: 10px;
	right: 12px;
	z-index: 3;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	min-width: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-size: 22px !important;
	line-height: 1 !important;
	color: #5c6a7d !important;
	cursor: pointer;
}

.tif-hebergement-modal-x:hover,
.tif-hebergement-modal .tif-modal-x:hover {
	color: #2e3a4b !important;
}

.tif-hebergement-modal-heading {
	margin: 0 32px 8px 0 !important;
	padding: 0 !important;
	font-family: var(--tif-font, Poppins, sans-serif) !important;
	font-size: var(--tif-font-size-title, 24px) !important;
	font-weight: 900 !important;
	font-style: normal !important;
	line-height: var(--tif-line-height-title, 1.2) !important;
	letter-spacing: 0.3px;
	text-transform: uppercase !important;
	color: var(--tif-color-title, #2e3a4b) !important;
}

.tif-hebergement-modal-lead {
	margin: 0 0 18px !important;
	padding: 0 !important;
	font-family: var(--tif-font, Poppins, sans-serif);
	font-size: 14px;
	font-style: italic;
	font-weight: 400;
	line-height: 1.45;
	color: #6b7280;
}

.tif-hebergement-modal-body {
	font-family: var(--tif-font, Poppins, sans-serif);
	font-size: 14px;
	line-height: 1.65;
	color: #394554;
}

.tif-hebergement-modal-body > *:first-child {
	margin-top: 0 !important;
}

.tif-hebergement-modal-body p {
	margin: 0 0 12px !important;
	padding: 0 !important;
	font-size: 14px !important;
	line-height: 1.65 !important;
	color: #394554 !important;
}

.tif-hebergement-modal-body p:last-child {
	margin-bottom: 0 !important;
}

/* H4 = même langage que #infos-pratiques .tif-infos-label */
.tif-hebergement-modal-body h4.tif-hebergement-modal-h,
.tif-hebergement-modal-h {
	display: block !important;
	margin: 22px 0 10px !important;
	padding: 0 !important;
	font-family: var(--tif-font, Poppins, sans-serif) !important;
	font-size: 16px !important;
	font-weight: 900 !important;
	font-style: italic !important;
	line-height: 1.15 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.01em;
	color: var(--tif-color-title, #2e3a4b) !important;
}

.tif-hebergement-modal-body h4.tif-hebergement-modal-h:first-child,
.tif-hebergement-modal-h:first-child {
	margin-top: 0 !important;
}

/* Si ACF injecte encore des h5.classique, les aligner sur H4 modal */
.tif-hebergement-modal-body h5,
.tif-hebergement-modal-body .classique {
	display: block !important;
	margin: 22px 0 10px !important;
	padding: 0 !important;
	font-family: var(--tif-font, Poppins, sans-serif) !important;
	font-size: 16px !important;
	font-weight: 900 !important;
	font-style: italic !important;
	line-height: 1.15 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.01em;
	color: var(--tif-color-title, #2e3a4b) !important;
}

/* Bandeau = même moteur ratio/drag que galerie stage ; borné pour ne pas
   passer sous la carte résa (container flex → min-width:0 obligatoire). */
#hebergement .tif-hebergement-gallery {
	flex: 1 1 100%;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
	margin: 2px 0 12px;
	padding-right: 12px; /* air vs ombre carte résa sticky */
	align-self: stretch;
	overflow: hidden;
}

#hebergement .tif-hebergement-gallery .tif-carousel,
#hebergement .tif-hebergement-gallery .tif-carousel__viewport,
#hebergement .tif-hebergement-gallery .tif-carousel__track {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

#hebergement .tif-hebergement-gallery .tif-carousel {
	margin: 0;
	--tif-carousel-gap: 2px;
}

@media (max-width: 767px) {
	#hebergement .tif-hebergement-subtitle {
		font-size: 14px;
	}

	#hebergement .hebergementfocus li {
		font-size: 14px;
	}
}

/* ===============================================================
   REFONTE-2026-01 — Bannière "Assurance annulation complémentaire"
   ---------------------------------------------------------------
   Zone de widgets tif-single-tour-content-banner (cf. functions.php),
   affichée en pleine largeur dans le contenu (comme chez Dylan) au
   lieu d'une carte empilée dans la sidebar. Styles génériques (le
   contenu exact dépend du widget WP déplacé manuellement dans
   Apparence → Widgets : texte, titre, éventuellement un bouton/lien).
   =============================================================== */
.tif-content-banner-wrapper {
	padding: 10px 0 30px;
}

.tif-content-banner-widget {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	background-color: var(--dark-blue);
	border-radius: 14px;
	padding: 26px 34px;
	color: var(--white);
}

.tif-content-banner-widget-title {
	margin: 0 0 6px;
	color: var(--white);
	font-size: 18px;
	font-weight: 700;
}

.tif-content-banner-widget p {
	margin: 0;
	color: rgba(255, 255, 255, 0.85);
	font-size: 14px;
	line-height: 1.6;
}

.tif-content-banner-widget a.button,
.tif-content-banner-widget .widget_text a,
.tif-content-banner-widget a.tourmaster-button {
	display: inline-block;
	flex: 0 0 auto;
	background-color: var(--orange);
	color: var(--white) !important;
	font-weight: 600;
	font-size: 14px;
	text-decoration: none !important;
	padding: 12px 26px;
	border-radius: 30px;
	white-space: nowrap;
}

@media (max-width: 600px) {
	.tif-content-banner-widget {
		flex-direction: column;
		align-items: flex-start;
		text-align: left;
	}
}

/* ===============================================================
   #niveau — rangée score+résumé, puis prérequis pleine largeur
   Markup : .tif-niveau-stack > .tif-niveau-grid (2 cols) + .tif-niveau-body
   =============================================================== */

/* H3 aligné Programme / Hébergement */
#niveau h3.titre3tourstyle1.tif-niveau-title,
#niveau .tif-niveau-title {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px;
	font-family: var(--tif-font) !important;
	font-size: var(--tif-font-size-title) !important;
	line-height: var(--tif-line-height-title) !important;
	font-style: normal !important;
	font-weight: 900 !important;
	color: var(--tif-color-title) !important;
	text-transform: uppercase !important;
	margin: 0 !important;
	padding: 0 0 var(--tif-section-title-gap, 10px) !important;
}

#niveau .tif-niveau-title .gdlr-core-title-item-title-divider {
	display: none !important;
}

#niveau .tif-niveau-title .gdlr-core-title-item-left-icon,
#niveau .tif-niveau-title .gdlr-core-title-item-left-icon i {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 0.9em !important;
	line-height: 1 !important;
	color: var(--tif-color-title) !important;
	position: static !important;
	top: auto !important;
	transform: none !important;
	vertical-align: middle;
}

#niveau .tif-niveau-stack {
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin-top: 10px;
	width: 100%;
	box-sizing: border-box;
}

/* Rangée haute uniquement : score 1/3 + résumé 2/3 */
#niveau .tif-niveau-grid {
	display: flex;
	align-items: stretch;
	gap: 28px;
	width: 100%;
	box-sizing: border-box;
}

#niveau .tif-niveau-stats {
	flex: 0 0 33.333%;
	width: 33.333%;
	max-width: 33.333%;
	box-sizing: border-box;
	background: #e7e9ee;
	border-radius: 14px;
	padding: 22px 20px 20px;
}

#niveau .tif-niveau-detail {
	flex: 1 1 66.666%;
	min-width: 0;
	width: 66.666%;
	box-sizing: border-box;
}

#niveau .tif-niveau-label {
	margin: 0 0 8px;
	font-size: 13px;
	font-style: italic;
	font-weight: 500;
	color: #5c6a7d;
	line-height: 1.35;
}

#niveau .tif-niveau-score {
	color: var(--dark-blue, #2e3a4b);
	font-size: 44px;
	font-weight: 800;
	line-height: 1;
	margin-bottom: 14px;
}

#niveau .tif-niveau-score-max {
	font-size: 20px;
	font-weight: 600;
	color: #5c6a7d;
}

#niveau .tif-niveau-accent {
	height: 6px;
	border-radius: 12px;
	max-width: 100%;
	background: #5276a5;
}
#niveau .tif-niveau-accent--green { background: #52a594; }
#niveau .tif-niveau-accent--blue { background: #5276a5; }
#niveau .tif-niveau-accent--red { background: #f07274; }
#niveau .tif-niveau-accent--black { background: #686868; }

#niveau .tif-niveau-card {
	background: #fff;
	border-radius: 14px;
	padding: 22px 24px;
	margin: 0;
	height: 100%;
	box-sizing: border-box;
	box-shadow: 0 2px 8px rgba(46, 58, 75, 0.06);
}

#niveau .tif-niveau-card-row {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 8px 0;
	font-size: 14px;
	line-height: 1.4;
	border-bottom: 1px solid #eee;
}
#niveau .tif-niveau-card-row:last-child {
	border-bottom: none;
	padding-bottom: 0;
}
#niveau .tif-niveau-card-row:first-child {
	padding-top: 0;
}
#niveau .tif-niveau-card-row span {
	color: #5c6a7d;
}
#niveau .tif-niveau-card-row strong {
	color: var(--dark-blue, #2e3a4b);
	text-align: right;
	font-weight: 600;
}

/* Prérequis : frère de la grille, 100% de largeur */
#niveau .tif-niveau-body {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	background: #fff;
	border-radius: 14px;
	padding: 22px 26px;
	margin: 0;
	box-shadow: 0 2px 8px rgba(46, 58, 75, 0.06);
	font-size: 14px;
	line-height: 1.65;
	color: #394554;
}

#niveau .tif-niveau-body p {
	margin: 0 0 14px;
}

#niveau .tif-niveau-body p:last-child {
	margin-bottom: 0;
}

#niveau .tif-niveau-body strong {
	color: var(--dark-blue, #2e3a4b);
	font-weight: 700;
}

#niveau .tif-niveau-precisions {
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid #e1e3e8;
}

@media (max-width: 782px) {
	#niveau .tif-niveau-grid {
		flex-direction: column;
		gap: 18px;
	}
	#niveau .tif-niveau-stats,
	#niveau .tif-niveau-detail {
		flex: 0 0 auto;
		width: 100%;
		max-width: 100%;
	}
}

/* Modal calculateur (fiche) */
.tif-utmb-modal {
	position: fixed;
	inset: 0;
	z-index: 10050;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px 16px;
}
.tif-utmb-modal[hidden] {
	display: none !important;
}
.tif-utmb-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.55);
}
.tif-utmb-modal-dialog {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 420px;
	max-height: calc(100vh - 48px);
	overflow: auto;
}
.tif-utmb-modal-x {
	position: absolute;
	top: 8px;
	right: 14px;
	z-index: 2;
	background: transparent;
	border: none;
	color: #fff;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
	padding: 4px 8px;
}

/* Calculateur UTMB — CSS aligné 1:1 shortcode niveau_home (prod) */
.tif-utmb-calc {
	font-family: 'Poppins', sans-serif;
}
.utmb-calc-container {
	font-family: 'Poppins', sans-serif;
	background: #2E3A4B;
	padding: 25px 30px;
	border-radius: 35px;
	max-width: 380px;
	margin: 20px auto;
	position: relative;
}
.tif-utmb-calc--modal .utmb-calc-container {
	margin: 0;
	max-width: none;
}
.utmb-calc-container * {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
.utmb-calc-container h2 {
	color: #ffffff !important;
	font-size: 17px !important;
	text-align: center;
	margin-bottom: 8px !important;
	font-weight: 700 !important;
	letter-spacing: 0.5px;
	font-style: italic !important;
	line-height: 1.3 !important;
	text-transform: none !important;
}
.utmb-calc-title-line {
	width: 230px;
	height: 1px;
	background: #ffffff;
	margin: 0 auto 20px;
	border-radius: 2px;
}
.utmb-calc-fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 15px;
	margin-bottom: 15px;
}
.utmb-calc-field label {
	display: block;
	color: #ffffff !important;
	font-weight: 500;
	font-size: 11px;
	margin-bottom: 6px;
}
.utmb-calc-field input {
	width: 100%;
	padding: 10px 12px !important;
	border: 1px solid #ddd !important;
	border-radius: 6px !important;
	font-size: 14px !important;
	background: #ffffff !important;
	color: #333 !important;
	font-family: 'Poppins', sans-serif;
	text-align: center;
	height: auto !important;
	line-height: normal !important;
	box-shadow: none !important;
}
.utmb-calc-field input::placeholder {
	color: #bfc7d6 !important;
	font-style: italic;
	opacity: 1;
}
.utmb-calc-field input:focus {
	outline: none;
	border-color: #5276A5 !important;
}
.utmb-calc-field .find-link,
.utmb-calc-note .find-link {
	display: inline;
	background: none !important;
	border: none !important;
	padding: 0 !important;
	color: #6b9dd4 !important;
	font-size: 9px !important;
	margin-top: 4px;
	text-decoration: underline !important;
	cursor: pointer !important;
	text-align: left;
	font-family: 'Poppins', sans-serif;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	text-transform: none !important;
	box-shadow: none !important;
}
.utmb-calc-field .find-link {
	display: block;
}
.utmb-calc-field .find-link:hover,
.utmb-calc-note .find-link:hover {
	color: #f97150 !important;
}
.utmb-calc-note {
	padding: 8px 0 15px;
	font-size: 10px;
	color: rgba(255, 255, 255, 0.8) !important;
	line-height: 1.5;
}
.utmb-calc-note strong {
	color: #d4a855 !important;
	font-weight: 600;
}
.utmb-calc-btn {
	display: block;
	width: auto;
	margin: 0 auto;
	padding: 12px 28px;
	background: #5276A5 !important;
	color: white !important;
	border: none !important;
	border-radius: 25px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	text-transform: none !important;
	cursor: pointer;
	text-align: center;
	transition: all 0.3s;
	font-family: 'Poppins', sans-serif;
	box-shadow: none !important;
	letter-spacing: normal !important;
}
.utmb-calc-btn:hover {
	background: #6F87A5 !important;
	color: #ffffff !important;
}
.utmb-calc-error {
	background: rgba(249, 113, 80, 0.9);
	color: #ffffff;
	padding: 10px;
	border-radius: 8px;
	margin-top: 12px;
	display: none;
	text-align: center;
	font-size: 12px;
}
.utmb-calc-btn--inputlike {
	width: 100%;
	max-width: 180px;
	height: 42px;
	min-height: 42px;
	padding: 0 12px !important;
	font-size: 12px !important;
	border-radius: 6px !important;
	display: flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	font-family: 'Poppins', sans-serif;
	font-weight: 700 !important;
	background: #5276A5 !important;
	color: white !important;
	border: 1px solid #5276A5 !important;
	box-sizing: border-box;
	margin: 0;
	margin-top: 24px;
}
.utmb-calc-btn--inputlike:hover {
	background: #6F87A5 !important;
	color: #ffffff !important;
}
.utmb-index-field {
	justify-self: end;
	width: 100%;
	max-width: 180px;
}

/* Offcanvas — mêmes z-index / géométrie que prod */
.utmb-offcanvas-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
	z-index: 10070;
}
.utmb-offcanvas-overlay.show {
	opacity: 1;
	visibility: visible;
}
.utmb-offcanvas-overlay[hidden] {
	display: none !important;
}
.utmb-offcanvas {
	position: fixed;
	top: 0;
	right: -400px;
	width: 400px;
	height: calc(100% - 113px);
	background: #2E3A4B !important;
	box-shadow: -5px 0 25px rgba(0, 0, 0, 0.15);
	transition: right 0.3s ease;
	z-index: 10071;
	display: flex;
	flex-direction: column;
	overflow-y: auto;
	margin-top: 113px;
	font-family: 'Poppins', sans-serif;
}
.utmb-offcanvas.show {
	right: 0;
	z-index: 10071;
}
.utmb-offcanvas[hidden] {
	display: none !important;
}
.utmb-offcanvas-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 20px 25px;
}
.utmb-offcanvas-close {
	background: none !important;
	border: none !important;
	font-size: 28px !important;
	cursor: pointer;
	color: #ffffff !important;
	padding: 0 !important;
	line-height: 1;
	box-shadow: none !important;
}
.utmb-offcanvas-close:hover {
	color: #ddd !important;
}
.utmb-offcanvas-body {
	flex: 1;
	padding: 0 25px 25px;
}
.utmb-level-summary-box {
	background: #ffffff;
	padding: 20px;
	margin-top: 25px;
	margin-bottom: 25px;
	color: #333 !important;
	font-size: 13px;
	line-height: 1.5;
	font-family: 'Poppins', sans-serif;
}
.utmb-level-summary-box strong {
	color: #333 !important;
	font-weight: 700;
}
.utmb-level-subtitle {
	font-family: 'Poppins', sans-serif;
	font-size: 14px;
	font-style: italic;
	color: rgba(255, 255, 255, 0.7) !important;
	margin-bottom: 5px;
}
.utmb-level-number {
	font-family: 'Poppins', sans-serif;
	font-size: 30px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	line-height: 1;
	margin-bottom: 20px;
}
.utmb-level-card {
	position: relative;
	background: #ffffff;
	padding: 20px;
}
.utmb-level-card::before {
	content: '';
	position: absolute;
	top: -7px;
	left: 0;
	height: 5px;
	border-radius: 12px;
	background: var(--level-bar-color, #5276A5);
	width: var(--border-top-width, 100%);
	z-index: 2;
	transition: width 0.3s, background 0.3s;
}
.utmb-level-card.color-green { --level-bar-color: #52A594; }
.utmb-level-card.color-blue { --level-bar-color: #5276A5; }
.utmb-level-card.color-red { --level-bar-color: #F07274; }
.utmb-level-card.color-black { --level-bar-color: #686868; }
.utmb-level-detail {
	font-family: 'Poppins', sans-serif;
	font-size: 13px;
	color: #333 !important;
	margin-bottom: 8px;
	line-height: 1.4;
}
.utmb-level-detail:last-child {
	margin-bottom: 0;
}
.utmb-level-detail strong {
	color: #2E3A4B !important;
}
.utmb-faq {
	background: #ffffff;
	padding: 20px;
	margin-top: 25px;
	margin-bottom: 25px;
}
.utmb-faq h4 {
	margin: 0 0 12px !important;
	font-size: 15px !important;
	color: #2E3A4B !important;
	font-weight: 700 !important;
	font-style: normal !important;
	text-transform: none !important;
}
.utmb-prereq {
	margin-top: 15px;
	padding-top: 15px;
	border-top: 1px solid #eee;
}
.utmb-prereq-toggle {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	background: #2E3A4B !important;
	border: none !important;
	cursor: pointer;
	font-family: 'Poppins', sans-serif;
	font-size: 12px !important;
	color: #ffffff !important;
	font-weight: 600 !important;
	padding: 12px 15px !important;
	border-radius: 6px !important;
	letter-spacing: 0.5px;
	text-transform: none !important;
	text-align: left;
	box-shadow: none !important;
}
.utmb-prereq-toggle:hover {
	background: #2a303d !important;
}
.utmb-prereq-icon {
	width: 20px;
	height: 20px;
	background: rgba(255, 255, 255, 0.2);
	border: none;
	border-radius: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	color: #ffffff;
	flex-shrink: 0;
}
.utmb-prereq-content {
	display: none;
	margin-top: 12px;
	font-size: 13px;
	color: #333 !important;
	line-height: 1.6;
}
.utmb-prereq-content.show {
	display: block;
}
.utmb-prereq-content p {
	margin-bottom: 12px;
	color: #333 !important;
}
.utmb-prereq-content p:last-child {
	margin-bottom: 0;
}
.utmb-prereq-content u {
	text-decoration-color: #5276A5;
}
.utmb-level-cta {
	display: block;
	width: 100%;
	margin-top: 25px;
	padding: 14px 20px;
	background: #5276A5 !important;
	color: #ffffff !important;
	border: none;
	border-radius: 8px;
	font-family: 'Poppins', sans-serif;
	font-size: 14px !important;
	font-weight: 600 !important;
	text-align: center;
	text-decoration: none !important;
	cursor: pointer;
	transition: all 0.3s;
	box-sizing: border-box;
}
.utmb-level-cta:hover,
.utmb-level-cta:visited,
.utmb-level-cta:focus {
	background: #6F87A5 !important;
	color: #ffffff !important;
}
.utmb-level-cta span {
	color: #ffffff !important;
}
.utmb-find-btn {
	width: 100%;
	padding: 12px 0;
	background: #5276A5 !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 8px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	cursor: pointer;
	font-family: 'Poppins', sans-serif;
}

/* Panneau « trouver mon index » — titres/liens blancs (évite orange thème) */
.tif-utmb-calc .tif-utmb-find-title,
.tif-utmb-calc .utmb-offcanvas-body > h3,
.tif-utmb-calc .utmb-offcanvas h3 {
	color: #ffffff !important;
	text-align: center;
	margin-bottom: 16px !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	font-style: normal !important;
	line-height: 1.35 !important;
	text-transform: none !important;
}
.tif-utmb-find-content,
.tif-utmb-find-content p,
.tif-utmb-find-content strong {
	color: #ffffff !important;
	font-size: 14px;
	line-height: 1.55;
}
.tif-utmb-find-content a {
	color: #a8b8d0 !important;
	text-decoration: underline;
}
.tif-utmb-find-content a:hover {
	color: #f97150 !important;
}
.tif-utmb-find-video {
	position: relative;
	width: 100%;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	margin: 8px 0;
}
.tif-utmb-find-video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.tif-utmb-calc .contact-form-custom,
.tif-utmb-calc .contact-form-custom label,
.tif-utmb-calc .contact-form-custom p {
	color: #ffffff !important;
	font-size: 13px;
}
.tif-utmb-calc .contact-form-custom input[type="text"],
.tif-utmb-calc .contact-form-custom input[type="email"] {
	width: 100%;
	padding: 8px 10px;
	border-radius: 6px;
	border: 1px solid #ddd;
	margin-top: 4px;
}

@media (max-width: 700px) {
	.utmb-calc-btn--inputlike {
		max-width: 100%;
		width: 100%;
		margin-top: 8px;
	}
	.utmb-calc-fields {
		grid-template-columns: 1fr;
	}
	.utmb-index-field {
		justify-self: stretch;
		max-width: 100%;
	}
}
@media (max-width: 1000px) {
	.utmb-calc-fields {
		grid-template-columns: 1fr;
	}
	.utmb-calc-container {
		max-width: 100%;
		margin: 10px;
	}
	.tif-utmb-calc--modal .utmb-calc-container {
		margin: 0;
	}
}
@media (max-width: 450px) {
	.utmb-offcanvas {
		width: 100%;
		right: -100%;
	}
}

.tif-stay-type-badge {
	display: inline-block;
	color: var(--white);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 1px;
	text-transform: uppercase;
	padding: 8px 22px;
	border-radius: 30px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

/* ===============================================================
   REFONTE-2026-04 — Carte résa Dylan + maquette
   ---------------------------------------------------------------
   UN SEUL .tourmaster-header-price (cover + prix) dans la carte.
   Indispensable : le JS TourMaster fait $('.tourmaster-header-price')
   au change de date — un 2e bloc « relocated » cassait prix/champs.
   Débord : sticky natif (margin-top = -hauteur du header-price).
   =============================================================== */

.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-tour-booking-bar-outer {
	background: #ffffff !important;
	border: 0 !important;
	border-radius: 10px !important;
	overflow: hidden;
	box-shadow: 0 14px 32px rgba(20, 35, 58, 0.14) !important;
}

.single-tour #tourmaster-tour-booking-bar-wrap {
	border-radius: 10px;
}

/* Z-index au-dessus du hero ET de la nav interne sticky (TourMaster .tourmaster-fixed = 97).
   Ne pas descendre sous 98 : sinon la featured passe sous la barre au scroll. */
@media only screen and (min-width: 1000px) {
	.single-tour .tourmaster-tour-booking-bar-container {
		position: relative;
		z-index: 99;
	}

	.single-tour #tourmaster-tour-booking-bar-wrap,
	.single-tour #tourmaster-tour-booking-bar-wrap.tourmaster-fixed,
	.single-tour #tourmaster-tour-booking-bar-wrap.tourmaster-fixed-lock,
	.single-tour #tourmaster-tour-booking-bar-wrap.tourmaster-top,
	.single-tour #tourmaster-tour-booking-bar-wrap.tourmaster-bottom,
	.single-tour #tourmaster-tour-booking-bar-wrap.tourmaster-lock {
		z-index: 99;
	}
}

/* Cover + prix : un seul bloc, toujours visible (avant start-script aussi). */
.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-header-price {
	margin: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
	display: block !important;
	border: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	left: auto !important;
	right: auto !important;
}

.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-header-price-cover {
	display: block !important;
	border: 0 !important;
	border-bottom: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	height: 210px;
	background-color: transparent !important;
	background-size: cover !important;
	background-position: center center !important;
	border-radius: 10px 10px 0 0 !important;
}

/* Débord hero : carte chevauche bas du hero + haut du bandeau navy (sans manger le titre). */
@media only screen and (min-width: 1000px) {
	.single-tour .tourmaster-tour-booking-bar-container {
		position: relative;
		z-index: 99;
		margin-top: -90px;
	}
}

.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-header-price-ribbon:not(.tourmaster-header-price-cover),
.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-header-price-overlay {
	display: none !important;
}

.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-header-price .tourmaster-header-price-wrap {
	background: #ffffff !important;
	color: #2e3a4b;
	text-align: center;
	padding: 18px 20px 12px !important;
	box-shadow: none !important;
}

.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-tour-booking-bar-inner {
	background: #ffffff;
	padding: 0 30px 22px !important;
}

/* Prix — centré, navy ; barré natif si .tourmaster-discount */
.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-header-price .tourmaster-tour-price-wrap {
	background: #ffffff !important;
	color: #2e3a4b;
	text-align: center;
	padding: 0 !important;
	box-shadow: none !important;
}

.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-header-price .tourmaster-tour-price-wrap:before {
	display: none !important;
}

.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-header-price .tourmaster-tour-price {
	text-align: center;
	font-weight: 500;
}

.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-header-price .tourmaster-tour-price .tourmaster-head,
.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-header-price .tourmaster-tour-price-info {
	display: none !important;
}

.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-header-price .tourmaster-tour-price .tourmaster-tail,
.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-header-price .tourmaster-tour-discount-price {
	color: #2e3a4b !important;
	line-height: 1;
}

.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-header-price .tourmaster-tour-price .tourmaster-tail {
	font-size: 38px;
	font-weight: 700;
	margin-right: 8px;
	text-decoration: none;
}

.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-header-price .tourmaster-tour-price-wrap.tourmaster-discount .tourmaster-tour-price .tourmaster-tail {
	font-size: 18px;
	font-weight: 500;
	opacity: 0.55;
	text-decoration: line-through !important;
	margin-right: 10px;
}

.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-header-price .tourmaster-tour-discount-price {
	font-size: 38px;
	font-weight: 800;
}

/* Champs date / participants */
.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-single-tour-booking-fields.tourmaster-form-field.tourmaster-with-border {
	padding: 0 !important;
}

.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-tour-booking-date {
	margin-bottom: 4px;
	text-align: center;
}

.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-tour-booking-people {
	margin-bottom: 14px;
}

/* Date unique (pas de select) : centrée comme le prix */
.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-tour-booking-date-display {
	display: block;
	width: 100%;
	text-align: center;
	font-size: 16px;
	font-weight: 600;
	color: #2e3a4b;
	line-height: 1.35;
	padding: 2px 0 0;
}

.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-tour-booking-date-input {
	text-align: center;
}

.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-tour-booking-date .fa-calendar {
	display: none !important;
}

/* Pastilles verticales TourMaster entre étapes (next-sign) + icônes latérales :
   retirées aussi dans tour-util.php ; ce CSS couvre un ancien HTML en cache. */
.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-tour-booking-next-sign {
	display: none !important;
}
.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-tour-booking-people > i.fa-users,
.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-tour-booking-submit > i.fa-check-circle {
	display: none !important;
}

.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-datepicker,
.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-combobox-wrap select,
.single-tour #tourmaster-tour-booking-bar-wrap input[type="text"] {
	background: #ffffff !important;
	border: 1px solid #d4dbe6 !important;
	border-radius: 4px !important;
	color: #2e3a4b !important;
	height: 56px !important;
	font-weight: 600;
	text-align: center;
	text-align-last: center;
}

.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-tour-booking-people .tourmaster-combobox-wrap select {
	text-align: center !important;
	text-align-last: center;
	padding-left: 0 !important;
}

.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-tour-booking-fields {
	padding-left: 0 !important;
}

/* « Rejoignez X » collé sous la date (même bloc visuel) */
.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-tour-booking-available,
.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-tour-booking-date + .tourmaster-tour-booking-available,
.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-message {
	text-align: center;
	color: #9099a7;
	font-size: 13px;
	line-height: 1.35;
	margin: 2px 0 12px;
}

.single-tour #tourmaster-tour-booking-bar-wrap .tif-inscrits-deferred:empty {
	display: none;
	margin: 0;
	padding: 0;
}

/* Bouton Réserver — fond #2e3a4b, hover accent #5276A5 (comme liens / actif FAQ) */
.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-tour-booking-submit .tourmaster-button,
.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-tour-booking-submit input[type="submit"],
.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-single-tour-booking-fields .tourmaster-button {
	background: #2e3a4b !important;
	border: 0 !important;
	color: #ffffff !important;
	border-radius: 999px !important;
	font-weight: 700;
	padding: 16px 0 !important;
	font-size: 15px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	width: 100%;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-tour-booking-submit:hover,
.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-tour-booking-submit-input {
	background: transparent !important;
}

.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-tour-booking-submit .tourmaster-button:hover,
.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-tour-booking-submit input[type="submit"]:hover,
.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-single-tour-booking-fields .tourmaster-button:hover {
	background: #5276a5 !important;
	color: #ffffff !important;
}

/* Avantages — hors .booking-bar-inner : collés à gauche (pas le padding 30px du form) */
.single-tour #tourmaster-tour-booking-bar-wrap .avantagesresa2 {
	background: #ffffff;
	color: #2e3a4b;
	padding: 8px 15px 4px 25px !important;
	margin: 0;
}

.single-tour #tourmaster-tour-booking-bar-wrap .avantagesresa2 .avantagesresa {
	margin: 0;
	padding: 0;
}

.single-tour #tourmaster-tour-booking-bar-wrap .avantagesresa2 ul.fa-ul.avantage {
	margin: 0 !important;
	padding-left: 1.9em !important; /* icône + air avant le texte */
	padding-right: 0 !important;
}

.single-tour #tourmaster-tour-booking-bar-wrap .avantagesresa2 .fa-li {
	left: -1.9em;
	width: 1.55em;
}

.single-tour #tourmaster-tour-booking-bar-wrap .avantagesresa2 li {
	color: #2e3a4b !important;
	font-size: 12px;
	line-height: 1.45;
	font-style: italic;
	padding-right: 0;
	padding-left: 0.35em;
}

.single-tour #tourmaster-tour-booking-bar-wrap .avantage .fa-circle-check,
.single-tour #tourmaster-tour-booking-bar-wrap .avantagesresa2 .fa-circle-check {
	color: #5276a5 !important;
}

/* Une question ? + privatiser (aussi hors inner) */
.single-tour #tourmaster-tour-booking-bar-wrap .tif-question-button-wrap {
	display: flex;
	justify-content: center;
	margin: 14px 0 18px;
	padding: 0 8px;
}

.single-tour #tourmaster-tour-booking-bar-wrap .tif-question-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 13px 36px !important;
	min-width: 250px;
	min-height: 0 !important;
	height: auto !important;
	border: 2px solid var(--tif-btn-bg, #2e3a4b) !important;
	border-radius: var(--tif-btn-radius, 999px) !important;
	background: #ffffff !important;
	color: var(--tif-btn-bg, #2e3a4b) !important;
	font-size: 16px !important;
	font-weight: var(--tif-btn-font-weight, 700) !important;
	line-height: 1 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-decoration: none !important;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
	cursor: pointer;
	font-family: var(--tif-font, Poppins, sans-serif) !important;
	appearance: none;
	-webkit-appearance: none;
	box-shadow: none !important;
	text-shadow: none !important;
}

.single-tour #tourmaster-tour-booking-bar-wrap .tif-question-button:hover,
.single-tour #tourmaster-tour-booking-bar-wrap .tif-question-button:focus {
	background: var(--tif-btn-bg-hover, #5276a5) !important;
	color: var(--tif-btn-fg, #ffffff) !important;
	border-color: var(--tif-btn-bg-hover, #5276a5) !important;
	text-decoration: none !important;
}

/* Modal « Une question ? » (style date-watch) */
.tif-question-modal[hidden] {
	display: none !important;
}

.tif-question-modal {
	position: fixed;
	inset: 0;
	z-index: 100050;
}

.tif-question-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(20, 24, 32, 0.45);
}

.tif-question-modal-box {
	position: relative;
	z-index: 1;
	background: #fff;
	max-width: 400px;
	width: calc(100% - 32px);
	margin: 10vh auto 0;
	padding: 26px 22px 22px;
	border-radius: 6px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
	box-sizing: border-box;
}

.tif-question-modal-x,
.tif-question-modal .tif-modal-x {
	position: absolute;
	top: 10px;
	right: 12px;
	z-index: 3;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	min-width: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-size: 22px !important;
	line-height: 1 !important;
	color: #5c6a7d !important;
	cursor: pointer;
}

.tif-question-modal-x:hover,
.tif-question-modal .tif-modal-x:hover {
	color: #2e3a4b !important;
}

.tif-question-modal-heading {
	margin: 0 28px 8px 0;
	font-size: 18px;
	font-weight: 700;
	color: #2e3a4b;
	line-height: 1.3;
}

.tif-question-modal-lead {
	margin: 0 0 16px;
	font-size: 14px;
	line-height: 1.5;
	color: #5c6a7d;
}

.tif-question-label {
	display: block;
	margin: 0 0 5px;
	font-size: 12px;
	font-weight: 600;
	color: #2e3a4b;
}

.tif-question-req {
	color: #f97150;
}

.tif-question-input,
.tif-question-textarea {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin: 0 0 12px;
	padding: 10px 12px;
	border: 1px solid #d4d8e0;
	border-radius: 6px;
	font-size: 14px;
	font-family: inherit;
	color: #2e3a4b;
	background: #fff;
}

.tif-question-input:focus,
.tif-question-textarea:focus {
	outline: none;
	border-color: #5276a5;
}

.tif-question-input--readonly {
	background: #f4f5f7;
	color: #5c6a7d;
	cursor: default;
}

.tif-question-textarea {
	min-height: 96px;
	resize: vertical;
}

.tif-question-hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.tif-question-msg {
	margin: 0 0 10px;
	font-size: 13px;
	line-height: 1.4;
	min-height: 0;
}

.tif-question-msg.is-ok {
	color: #1e7a3a;
}

.tif-question-msg.is-err {
	color: #b32d2e;
}

.tif-question-modal-actions {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 4px;
}

.tif-question-submit {
	appearance: none;
	border: 0;
	border-radius: 999px;
	background: #2e3a4b !important;
	color: #fff !important;
	padding: 12px 22px;
	font-size: 14px;
	font-weight: 700;
	font-family: inherit;
	cursor: pointer;
	line-height: 1;
}

.tif-question-submit:hover,
.tif-question-submit:focus {
	background: #3a4a5f !important;
	color: #fff !important;
}

.tif-question-submit:disabled {
	opacity: 0.65;
	cursor: wait;
}

@media (max-width: 480px) {
	.tif-question-modal-box {
		margin-top: 6vh;
		padding: 22px 16px 18px;
	}
}

.single-tour #tourmaster-tour-booking-bar-wrap .tif-privatiser-wrap {
	text-align: center;
	margin: 14px 0 4px;
}

.single-tour #tourmaster-tour-booking-bar-wrap .tif-privatiser-link,
.single-tour #tourmaster-tour-booking-bar-wrap .tif-date-watch-link {
	color: #2e3a4b !important;
	font-style: italic;
	text-decoration: underline !important;
	font-size: 14px !important;
	text-transform: none !important;
	background: transparent !important;
	font-weight: 400 !important;
}

@media (max-width: 1000px) {
	.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-header-price-cover {
		height: 220px !important;
	}

	.single-tour #tourmaster-tour-booking-bar-wrap .tourmaster-tour-booking-bar-inner {
		padding: 0 26px 22px !important;
	}

	.single-tour #tourmaster-tour-booking-bar-wrap .tif-question-button {
		width: 100%;
		min-width: 0;
		font-size: 15px;
	}
}

/* ===============================================================
   REFONTE-2026-02 — Single tour Style 2 (tour-2.php) : layout Dylan
   ---------------------------------------------------------------
   Haut de page : padding natif 430px → place pour la carte résa
   (pas de chevauchement dates / nav / descriptif).
   Blocs bas (#programme, infos, FAQ, …) : padding 15px = full-width
   sous la carte (plus de “trou” sidebar sur toute la hauteur).
   Pas de widgets WP. Rollback admin = Style 1.
   =============================================================== */

@media only screen and (min-width: 999px) {
	/* Blocs sous la zone résa : pleine largeur (comme Dylan) */
	body.single-tour .tourmaster-page-wrapper.tourmaster-tour-style-2.tif-layout-wide.tourmaster-with-sidebar #programme .gdlr-core-container,
	body.single-tour .tourmaster-page-wrapper.tourmaster-tour-style-2.tif-layout-wide.tourmaster-with-sidebar #infos-pratiques .gdlr-core-container,
	body.single-tour .tourmaster-page-wrapper.tourmaster-tour-style-2.tif-layout-wide.tourmaster-with-sidebar #hebergement .gdlr-core-container,
	body.single-tour .tourmaster-page-wrapper.tourmaster-tour-style-2.tif-layout-wide.tourmaster-with-sidebar #questions .gdlr-core-container,
	body.single-tour .tourmaster-page-wrapper.tourmaster-tour-style-2.tif-layout-wide.tourmaster-with-sidebar #niveau .gdlr-core-container,
	body.single-tour .tourmaster-page-wrapper.tourmaster-tour-style-2.tif-layout-wide.tourmaster-with-sidebar #photos .gdlr-core-container,
	body.single-tour .tourmaster-page-wrapper.tourmaster-tour-style-2.tif-layout-wide.tourmaster-with-sidebar #autres-niveaux .gdlr-core-container,
	body.single-tour .tourmaster-page-wrapper.tourmaster-tour-style-2.tif-layout-wide.tourmaster-with-sidebar .tif-reviews-wrap .gdlr-core-container,
	body.single-tour .tourmaster-page-wrapper.tourmaster-tour-style-2.tif-layout-wide.tourmaster-with-sidebar .tourmaster-single-related-tour-container {
		padding-right: 15px !important;
		padding-left: 15px !important;
	}

	/* Cross-sell : largeur utile gérée plus bas via max-width calc(100% - 400px)
	   (tous layouts with-sidebar), pas seulement ici. */
	body.single-tour .tourmaster-page-wrapper.tourmaster-tour-style-2.tif-layout-wide.tourmaster-with-sidebar #tif-related.tif-crosssell .gdlr-core-container.tif-crosssell-inner {
		padding-left: 15px !important;
		padding-right: 15px !important;
	}

	/* Barre résa : collée à droite du container.
	   Style 1 remonte la carte via JS TourMaster
	   (margin-top = -hauteur .tourmaster-header-price) — ce script ne tourne
	   que pour .tourmaster-tour-style-1. On réplique l’offset ici pour Style 2
	   (cover 210px + bloc prix ~70px). */
	body.single-tour .tourmaster-page-wrapper.tourmaster-tour-style-2.tif-layout-wide
		.tourmaster-tour-booking-bar-container-inner .tourmaster-tour-booking-bar-anchor {
		display: block !important;
		margin-top: -280px !important;
	}

	body.single-tour .tourmaster-page-wrapper.tourmaster-tour-style-2.tif-layout-wide
		.tourmaster-tour-booking-bar-container-inner #tourmaster-tour-booking-bar-wrap,
	body.single-tour .tourmaster-page-wrapper.tourmaster-tour-style-2.tif-layout-wide
		.tourmaster-tour-booking-bar-container-inner #tourmaster-tour-booking-bar-wrap.tourmaster-fixed,
	body.single-tour .tourmaster-page-wrapper.tourmaster-tour-style-2.tif-layout-wide
		.tourmaster-tour-booking-bar-container-inner #tourmaster-tour-booking-bar-wrap.tourmaster-fixed-lock,
	body.single-tour .tourmaster-page-wrapper.tourmaster-tour-style-2.tif-layout-wide
		.tourmaster-tour-booking-bar-container-inner #tourmaster-tour-booking-bar-wrap.tourmaster-top,
	body.single-tour .tourmaster-page-wrapper.tourmaster-tour-style-2.tif-layout-wide
		.tourmaster-tour-booking-bar-container-inner #tourmaster-tour-booking-bar-wrap.tourmaster-bottom,
	body.single-tour .tourmaster-page-wrapper.tourmaster-tour-style-2.tif-layout-wide
		.tourmaster-tour-booking-bar-container-inner #tourmaster-tour-booking-bar-wrap.tourmaster-lock {
		position: absolute !important;
		top: 0 !important;
		right: 0 !important;
		left: auto !important;
		width: 370px !important;
		margin-top: -280px !important;
		z-index: 99;
	}

	body.single-tour .tourmaster-page-wrapper.tourmaster-tour-style-2.tif-layout-wide
		.tourmaster-tour-booking-bar-container {
		width: auto !important;
		max-width: 1260px;
		margin-left: auto;
		margin-right: auto;
	}

	/* Pas de widgets WP sous la carte */
	body.single-tour .tourmaster-page-wrapper.tourmaster-tour-style-2.tif-layout-wide
		.tourmaster-tour-booking-bar-widget {
		display: none !important;
	}
}

@media only screen and (max-width: 998px) {
	body.single-tour .tourmaster-page-wrapper.tourmaster-tour-style-2.tif-layout-wide .gdlr-core-container {
		padding-right: 15px !important;
		padding-left: 15px !important;
	}

	body.single-tour .tourmaster-page-wrapper.tourmaster-tour-style-2.tif-layout-wide
		.tourmaster-tour-booking-bar-container {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	body.single-tour .tourmaster-page-wrapper.tourmaster-tour-style-2.tif-layout-wide
		.tourmaster-tour-booking-bar-container-inner {
		position: relative;
		padding: 20px 14px 0 !important;
	}

	body.single-tour .tourmaster-page-wrapper.tourmaster-tour-style-2.tif-layout-wide
		.tourmaster-tour-booking-bar-container-inner #tourmaster-tour-booking-bar-wrap,
	body.single-tour .tourmaster-page-wrapper.tourmaster-tour-style-2.tif-layout-wide
		.tourmaster-tour-booking-bar-container-inner #tourmaster-tour-booking-bar-wrap.tourmaster-fixed,
	body.single-tour .tourmaster-page-wrapper.tourmaster-tour-style-2.tif-layout-wide
		.tourmaster-tour-booking-bar-container-inner #tourmaster-tour-booking-bar-wrap.tourmaster-fixed-lock,
	body.single-tour .tourmaster-page-wrapper.tourmaster-tour-style-2.tif-layout-wide
		.tourmaster-tour-booking-bar-container-inner #tourmaster-tour-booking-bar-wrap.tourmaster-top,
	body.single-tour .tourmaster-page-wrapper.tourmaster-tour-style-2.tif-layout-wide
		.tourmaster-tour-booking-bar-container-inner #tourmaster-tour-booking-bar-wrap.tourmaster-bottom,
	body.single-tour .tourmaster-page-wrapper.tourmaster-tour-style-2.tif-layout-wide
		.tourmaster-tour-booking-bar-container-inner #tourmaster-tour-booking-bar-wrap.tourmaster-lock {
		position: relative !important;
		top: auto !important;
		right: auto !important;
		left: auto !important;
		width: 100% !important;
		max-width: 380px !important;
		margin: 24px auto 18px !important;
	}
}

/* ===============================================================
   REFONTE-2026-03 — Hero : overlay navy + titre + avis + badge
   ---------------------------------------------------------------
   Overlay #2e3a4b à 48 % (opacity: 0.48). Avis → titre blanc 34px → badge.
   Pas de ruban prix dans le hero. Titre : padR 410 (place sidebar),
   jamais max-width + padR ensemble. Valable Style 1 et Style 2.
   =============================================================== */

/* Overlay navy plus léger pour laisser voir la photo (évite le « mur » opaque). */
body.single-tour .tourmaster-page-wrapper .tourmaster-single-header-background-overlay {
	background-color: #2e3a4b !important;
	opacity: 0.48 !important;
}

/* Si WP Rocket laisse le lazyload en erreur, forcer le background inline. */
body.single-tour .tourmaster-single-header.rocket-lazyload[style*="background-image"] {
	background-size: cover !important;
	background-position: center center !important;
}

body.single-tour .tourmaster-page-wrapper .tourmaster-single-header .tourmaster-single-header-title-wrap {
	max-width: none !important;
	width: 100%;
	box-sizing: border-box;
	/*
	 * Desktop : padR 410 pour la carte sticky. pad-bas ≈ 70px pour le badge
	 * à cheval (carte margin-top:-90px → bandeau remonte de 90px).
	 * Sans badge : pad-bas plus haut (voir :not(:has) + .tif-stay-type-badge-spacer)
	 * sinon un titre sur 2 lignes passe sous le bandeau navy.
	 */
	padding: 220px 410px 70px 20px !important;
	overflow: visible !important;
}

/* Pas de ruban type (Camp de base / …) : réserver l’air du badge pour le titre. */
body.single-tour .tourmaster-page-wrapper .tourmaster-single-header .tourmaster-single-header-title-wrap:not(:has(.tif-stay-type-badge-in-hero)) {
	padding-bottom: 120px !important;
}

body.single-tour .tourmaster-page-wrapper .tif-stay-type-badge-spacer {
	display: block;
	height: 44px;
	margin: 14px 0 0;
	visibility: hidden;
	pointer-events: none;
}

body.single-tour .tourmaster-page-wrapper .tourmaster-single-header-title {
	color: #ffffff !important;
	font-family: var(--tif-font, Poppins, sans-serif);
	font-size: 34px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	margin: 10px 0 0 !important;
	max-width: none !important;
}

/* Tablette / mobile : surtout pas de padR 410 (sinon titre largeur 0). */
@media only screen and (max-width: 999px) {
	body.single-tour .tourmaster-page-wrapper .tourmaster-single-header .tourmaster-single-header-title-wrap {
		padding: 130px 24px 36px 24px !important;
	}

	body.single-tour .tourmaster-page-wrapper .tourmaster-single-header-title {
		font-size: 28px !important;
	}

	body.single-tour .tourmaster-page-wrapper .tif-stay-type-badge-in-hero {
		margin: 12px 0 0;
	}

	/* Carte résa : pleine largeur raisonnable, pas de débord négatif desktop */
	.single-tour .tourmaster-tour-booking-bar-container {
		margin-top: 0 !important;
	}

	.single-tour #tourmaster-tour-booking-bar-wrap,
	.single-tour #tourmaster-tour-booking-bar-wrap.tourmaster-fixed,
	.single-tour #tourmaster-tour-booking-bar-wrap.tourmaster-fixed-lock,
	.single-tour #tourmaster-tour-booking-bar-wrap.tourmaster-top,
	.single-tour #tourmaster-tour-booking-bar-wrap.tourmaster-bottom,
	.single-tour #tourmaster-tour-booking-bar-wrap.tourmaster-lock {
		position: relative !important;
		top: auto !important;
		right: auto !important;
		left: auto !important;
		width: 100% !important;
		max-width: 420px !important;
		margin: 20px auto 16px !important;
	}
}

@media only screen and (max-width: 767px) {
	body.single-tour .tourmaster-page-wrapper .tourmaster-single-header .tourmaster-single-header-title-wrap {
		padding: 100px 16px 28px 16px !important;
	}

	body.single-tour .tourmaster-page-wrapper .tourmaster-single-header-title {
		font-size: 22px !important;
		line-height: 1.3 !important;
	}

	body.single-tour .tourmaster-page-wrapper .tourmaster-single-header-title-wrap .tourmaster-review-number,
	body.single-tour .tourmaster-page-wrapper .tourmaster-single-header-title-wrap .tourmaster-tour-rating {
		font-size: 12px;
	}

	.single-tour #tourmaster-tour-booking-bar-wrap,
	.single-tour #tourmaster-tour-booking-bar-wrap.tourmaster-fixed,
	.single-tour #tourmaster-tour-booking-bar-wrap.tourmaster-fixed-lock,
	.single-tour #tourmaster-tour-booking-bar-wrap.tourmaster-top,
	.single-tour #tourmaster-tour-booking-bar-wrap.tourmaster-bottom,
	.single-tour #tourmaster-tour-booking-bar-wrap.tourmaster-lock {
		max-width: 100% !important;
		margin: 16px 0 12px !important;
	}

	.single-tour .tourmaster-tour-booking-bar-container-inner {
		padding-left: 12px !important;
		padding-right: 12px !important;
	}

	.tif-bandeau-haut {
		padding-top: 32px !important;
		padding-bottom: 32px !important;
	}
}

/* Galerie / Vidéo : hors maquette Figma du hero */
body.single-tour .tourmaster-page-wrapper .tourmaster-single-header-gallery-wrap {
	display: none !important;
}

/* Avis hero uniquement (ne pas blanchir les cartes #autres-niveaux / listings). */
body.single-tour .tourmaster-page-wrapper .tourmaster-single-header-title-wrap .tourmaster-tour-rating {
	display: inline-flex;
	flex-direction: row-reverse;
	align-items: center;
	gap: 8px;
}

body.single-tour .tourmaster-page-wrapper .tourmaster-single-header-title-wrap .tourmaster-review-number,
body.single-tour .tourmaster-page-wrapper .tourmaster-single-header-title-wrap .tourmaster-tour-rating {
	color: #ffffff !important;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.4px;
	text-transform: uppercase;
}

body.single-tour .tourmaster-page-wrapper .tourmaster-single-header-title-wrap .tourmaster-tour-rating i,
body.single-tour .tourmaster-page-wrapper .tourmaster-single-header-title-wrap .fa-star {
	color: #f5c542 !important;
}

/* Badge à cheval photo / navy (au-dessus du bandeau, z-index) */
body.single-tour .tourmaster-page-wrapper .tourmaster-single-header {
	overflow: visible !important;
}

body.single-tour .tourmaster-page-wrapper .tif-stay-type-badge-in-hero {
	display: block;
	margin: 14px 0 0;
	text-align: left;
	position: relative;
	z-index: 12;
}

body.single-tour .tourmaster-page-wrapper .tif-stay-type-badge-in-hero .tif-stay-type-badge {
	position: relative;
	z-index: 12;
	box-shadow: 0 4px 12px rgba(20, 35, 58, 0.28);
}

body.single-tour .tourmaster-page-wrapper .tourmaster-single-header .tourmaster-header-price {
	display: none !important;
}

/* ===============================================================
   REFONTE-2026-05 — Navigation interne (Programme / Niveau / …)
   ---------------------------------------------------------------
   Maquette : fond bleu marine, actif blanc + trait blanc,
   inactifs gris clair.
   =============================================================== */
.single-tour .tourmaster-content-navigation-item-outer,
.single-tour #tourmaster-content-navigation-item-outer,
.single-tour #tourmaster-content-navigation-item-outer.tourmaster-fixed {
	background-color: #2e3a4b !important;
	border-bottom: 0 !important;
	box-shadow: none;
	/* Sous le bloc résa (99) ; au-dessus du contenu (défaut TourMaster = 97, OK). */
	z-index: 90;
}

.single-tour .tourmaster-content-navigation-item .tourmaster-content-navigation-tab {
	color: rgba(255, 255, 255, 0.55) !important;
	font-weight: 600;
}

.single-tour .tourmaster-content-navigation-item .tourmaster-content-navigation-tab:hover {
	color: #ffffff !important;
}

.single-tour .tourmaster-content-navigation-item .tourmaster-content-navigation-tab.tourmaster-active,
.single-tour .tourmaster-content-navigation-item .tourmaster-content-navigation-tab.tourmaster-slidebar-active {
	color: #ffffff !important;
	font-weight: 700;
}

.single-tour .tourmaster-content-navigation-item-outer .tourmaster-content-navigation-slider,
.single-tour .tourmaster-content-navigation-slider {
	background-color: #ffffff !important;
}

/* Descriptif stage (sous points forts, hors #programme) */
.single-tour .tif-descriptif-stage {
	margin: 18px 0 8px;
	color: #2e3a4b;
	font-size: 14px;
	line-height: 1.65;
}
.single-tour .tif-descriptif-stage p {
	margin: 0 0 0.85em;
}
.single-tour .tif-descriptif-stage p:last-child {
	margin-bottom: 0;
}


/* ===============================================================
   REFONTE-2026-06 — Avis ([tif_reviews])
   ---------------------------------------------------------------
   Doc : docs/TIF-REVIEWS.md
   Carrousel générique : css/tif-carousel.css (.tif-carousel*)
   Ici : styles spécifiques avis (titres, cartes, modal, summary).
   =============================================================== */

/* Variables locales avis (surchargeables sur .tif-reviews) */
.tif-reviews {
	--tif-reviews-card-min-h: 280px;
	--tif-reviews-card-radius: 10px;
	--tif-reviews-star: #f97150;
	--tif-reviews-link: #5276a5;
	--tif-reviews-muted: #8a94a3;
}

.tif-reviews,
.tif-reviews-wrap {
	max-width: 100%;
	box-sizing: border-box;
}

/* Bandeau fond section (comme #programme) */
.tif-reviews-wrap > .gdlr-core-pbf-background-wrap {
	background-color: #e1e3e8 !important;
}

/* Évite double padding-right (native .tourmaster-single-review + container GDLR) */
.single-tour .tourmaster-with-sidebar .tif-reviews.tourmaster-single-review {
	padding-right: 0 !important;
}

@media only screen and (max-width: 999px) {
	.single-tour .tourmaster-with-sidebar .tif-reviews.tourmaster-single-review {
		padding-right: 0 !important;
	}
}

.tif-reviews-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px 24px;
	margin-bottom: var(--tif-section-title-gap, 10px);
}

.tif-reviews-head .tif-reviews-title {
	padding-bottom: 0 !important;
}

/*
 * Titre section avis (+ modal) — même pattern flex que #programme .tif-programme-title :
 * picto + texte parfaitement centrés verticalement.
 */
.tif-section-title.titre3tourstyle1,
h3.tif-section-title.titre3tourstyle1,
.tif-reviews-title.titre3tourstyle1,
h3.tif-reviews-title.titre3tourstyle1,
.tif-related-title.titre3tourstyle1,
h3.tif-related-title.titre3tourstyle1,
.tif-crosssell-title.titre3tourstyle1,
h3.tif-crosssell-title.titre3tourstyle1,
.tif-reviews-modal-title.titre3tourstyle1,
h3.tif-reviews-modal-title.titre3tourstyle1 {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px;
	margin: 0 !important;
	padding: 0 0 var(--tif-section-title-gap, 10px) !important;
	font-family: var(--tif-font) !important;
	font-size: var(--tif-font-size-title) !important;
	line-height: var(--tif-line-height-title) !important;
	font-style: normal !important;
	font-weight: 900 !important;
	color: var(--tif-color-title) !important;
	text-transform: uppercase !important;
}

.tif-section-title .gdlr-core-title-item-title-divider,
.tif-reviews-title .gdlr-core-title-item-title-divider,
.tif-related-title .gdlr-core-title-item-title-divider,
.tif-crosssell-title .gdlr-core-title-item-title-divider,
.tif-reviews-modal-title .gdlr-core-title-item-title-divider {
	display: none !important;
}

.tif-section-title .gdlr-core-title-item-left-icon,
.tif-section-title .gdlr-core-title-item-left-icon i,
.tif-reviews-title .gdlr-core-title-item-left-icon,
.tif-reviews-title .gdlr-core-title-item-left-icon i,
.tif-related-title .gdlr-core-title-item-left-icon,
.tif-related-title .gdlr-core-title-item-left-icon i,
.tif-crosssell-title .gdlr-core-title-item-left-icon,
.tif-crosssell-title .gdlr-core-title-item-left-icon i,
.tif-reviews-modal-title .gdlr-core-title-item-left-icon,
.tif-reviews-modal-title .gdlr-core-title-item-left-icon i {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 0.9em !important;
	line-height: 1 !important;
	color: var(--tif-color-title) !important;
	position: static !important;
	top: auto !important;
	transform: none !important;
	vertical-align: middle;
}

.tif-section-title-text {
	display: inline-block;
	line-height: inherit;
}

.tif-reviews-summary {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #2e3a4b;
	font-size: 14px;
	font-weight: 600;
}

.tif-reviews-summary-stars .fa,
.tif-review-card-rating .fa,
.tif-review-modal-item .fa {
	color: var(--tif-reviews-star, #f97150);
	margin-right: 1px;
	font-size: 13px;
}

.tif-reviews-summary-score {
	font-size: 18px;
	font-weight: 800;
}

.tif-reviews-summary-count {
	color: #6b7788;
	font-weight: 500;
}

/* Structure carrousel / fondu / flèches → css/tif-carousel.css */
.tif-reviews-viewport .tif-review-card {
	cursor: pointer;
}

/* --- Carte avis --- */
.tif-review-card {
	display: flex;
	flex-direction: column;
	min-height: var(--tif-reviews-card-min-h, 280px);
	height: auto;
	padding: 22px 20px 18px;
	background: #ffffff;
	border-radius: var(--tif-reviews-card-radius, 10px);
	box-shadow: 0 10px 28px rgba(20, 35, 58, 0.1);
	color: #2e3a4b;
	box-sizing: border-box;
	cursor: pointer;
	transition: background-color 0.18s ease, box-shadow 0.18s ease;
}

.tif-review-card:hover,
.tif-review-card:focus-visible {
	background: #e8ecf1 !important;
	box-shadow: 0 10px 28px rgba(20, 35, 58, 0.14);
	outline: none;
}

.tif-review-card-text {
	flex: 1 1 auto;
	min-height: 0;
	overflow: hidden;
	margin-bottom: 8px;
}

.tif-review-card-text p {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	color: #394554;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	line-clamp: 4;
	overflow: hidden;
}

.tif-review-card-name-row {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 8px 10px;
	min-width: 0;
}

.tif-review-card-name-row .tif-review-card-name {
	flex: 0 1 auto;
	min-width: 0;
}

.tif-review-card-name-row .tif-review-card-rating {
	display: inline-flex !important;
	align-items: center;
	line-height: 1;
	flex: 0 0 auto;
	margin: 0 !important;
	transform: translateY(-2px); /* alignement optique ↔ prénom */
}

.tif-review-card-name-row .tif-review-card-rating .fa {
	line-height: 1;
	vertical-align: middle;
}

.tif-review-card-tour,
.tif-review-modal-tour {
	display: block;
	font-size: 12px;
	color: var(--tif-reviews-link, #5276a5);
	text-decoration: none;
	white-space: normal !important;
	overflow: visible !important;
	text-overflow: clip !important;
	max-width: none !important;
	word-break: break-word;
	line-height: 1.35;
	position: relative;
	z-index: 1;
	margin-top: 2px;
}

.tif-review-card-tour:hover,
.tif-review-modal-tour:hover {
	text-decoration: underline;
	color: #2e3a4b;
}

.tif-review-tour-date-line {
	display: block;
	margin-top: 2px;
	font-size: 12px;
	line-height: 1.35;
	word-break: break-word;
}

a.tif-review-tour-date-line .tif-review-tour-date-sep {
	color: var(--tif-reviews-muted, #8a94a3);
	font-weight: 400;
}

span.tif-review-tour-date-line.tif-review-card-date {
	color: var(--tif-reviews-muted, #8a94a3);
	font-weight: 500;
}

.tif-review-card-footer {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: auto;
}

.tif-review-card-avatar {
	flex: 0 0 40px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #2e3a4b;
	color: #ffffff;
	font-size: 13px;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	letter-spacing: 0.02em;
}

.tif-review-card-meta {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.tif-review-card-name {
	font-size: 14px;
	font-weight: 700;
	color: #2e3a4b;
}

.tif-review-card-date {
	font-size: 12px;
	color: var(--tif-reviews-muted, #8a94a3);
	font-weight: 500;
}

html.tif-reviews-modal-open {
	overflow: hidden;
}

.tif-reviews-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px 16px;
}

.tif-reviews-modal[hidden] {
	display: none !important;
}

.tif-reviews-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(20, 30, 45, 0.55);
}

.tif-reviews-modal-dialog {
	position: relative;
	z-index: 1;
	width: min(640px, 100%);
	max-height: min(84vh, 780px);
	overflow: auto;
	background: #ffffff;
	border-radius: 12px;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
	outline: none;
}

.tif-reviews-modal-header {
	position: sticky;
	top: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 18px 22px;
	background: #ffffff;
	border-bottom: 1px solid #e7e9ee;
}

.tif-reviews-modal-header .tif-reviews-modal-title {
	padding: 0 !important;
	font-size: 20px !important;
}

.tif-reviews-modal-close {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 36px !important;
	width: 36px !important;
	height: 36px !important;
	min-width: 36px !important;
	max-width: 36px !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: #eef1f5 !important;
	color: #2e3a4b !important;
	font-size: 0 !important;
	line-height: 0 !important;
	cursor: pointer;
	box-shadow: none !important;
	text-indent: 0 !important;
}

.tif-reviews-modal-close svg {
	display: block;
	width: 14px;
	height: 14px;
}

.tif-reviews-modal-close:hover {
	background: #2e3a4b !important;
	color: #ffffff !important;
}

.tif-reviews-modal-body {
	padding: 8px 22px 24px;
}

.tif-reviews-modal-loading,
.tif-reviews-modal-error {
	padding: 28px 0;
	text-align: center;
	color: #6b7788;
}

.tif-review-modal-item {
	padding: 18px 0;
	border-bottom: 1px solid #e7e9ee;
}

.tif-review-modal-item:last-child {
	border-bottom: 0;
}

.tif-review-modal-item-head {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	margin-bottom: 12px;
}

.tif-review-modal-item-head .tif-review-card-avatar {
	margin-top: 2px;
}

.tif-review-modal-item-head .tif-review-card-meta {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 3px;
}

.tif-review-modal-item-head .tif-review-card-name-row {
	width: 100%;
}

.tif-review-modal-item-head .tif-review-card-date {
	display: block;
}

.tif-review-modal-item-head .tif-review-modal-tour {
	display: block;
	width: 100%;
}

.tif-review-modal-item-body {
	font-size: 14px;
	line-height: 1.65;
	color: #394554;
}

.tif-review-modal-item-body p {
	margin: 0 0 0.75em;
}

.tif-reviews-pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 18px 0 4px;
}

.tif-reviews-page {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 36px;
	min-width: 36px;
	height: 36px;
	padding: 0 !important;
	margin: 0 !important;
	border: 1px solid #d4dbe6 !important;
	border-radius: 6px !important;
	background: #ffffff !important;
	color: #2e3a4b !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	cursor: pointer;
	font-family: inherit;
	box-shadow: none !important;
	text-transform: none !important;
}

.tif-reviews-page.is-active,
.tif-reviews-page.is-active:disabled {
	background: #2e3a4b !important;
	border-color: #2e3a4b !important;
	color: #ffffff !important;
	cursor: default;
	opacity: 1 !important;
}

.tif-reviews-page:hover:not(.is-active):not(:disabled) {
	border-color: #2e3a4b !important;
}

.tif-reviews-dots {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 36px;
	color: #8a94a3;
	font-size: 14px;
	line-height: 1;
}

@media (max-width: 699px) {
	.tif-review-card {
		min-height: 240px;
	}
	.tif-review-card-name-row {
		flex-wrap: wrap;
	}
}

/* ===============================================================
   REFONTE-2026-06 — Galerie stage (#photos)
   ---------------------------------------------------------------
   Structure / flèches / fondu → css/tif-carousel.css
   Ici : rendu image (ratio, overlay lightbox).
   =============================================================== */

.tif-stage-gallery__slide {
	position: relative;
	overflow: hidden;
	margin: 0;
	padding: 0;
}

.tif-stage-gallery__slide a {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	cursor: inherit;
	-webkit-user-drag: none;
}

.tif-stage-gallery__slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	margin: 0;
	padding: 0;
	user-select: none;
	-webkit-user-drag: none;
	pointer-events: none; /* drag sur le viewport, click lightbox via <a> */
}

/* Galerie ratio : curseur grab pour signaler le drag */
.tif-carousel[data-tif-layout="ratio"] .tif-carousel__viewport,
.tif-stage-gallery .tif-carousel__viewport {
	cursor: grab;
}

.tif-carousel[data-tif-layout="ratio"] .tif-carousel__viewport.is-dragging,
.tif-stage-gallery .tif-carousel__viewport.is-dragging {
	cursor: grabbing;
}

.tif-stage-gallery__slide .gdlr-core-image-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.25s ease;
	pointer-events: none;
}

/* GoodLayers place souvent l’icône en absolute (coin) — forcer le centre. */
.tif-stage-gallery__slide .gdlr-core-image-overlay-icon,
#hebergement .tif-hebergement-gallery .gdlr-core-image-overlay-icon {
	position: static !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	margin: 0 !important;
	transform: none !important;
	display: block;
	line-height: 1;
}

.tif-stage-gallery__slide:hover .gdlr-core-image-overlay {
	opacity: 1;
}

/* ===============================================================
   REFONTE-2026-07 — Autres niveaux (taxo stages-double-niveaux)
   Markup Dylan, données depuis métas des stages frères.
   =============================================================== */

#autres-niveaux.autres-niveaux-section {
	width: 100%;
	margin: 0;
	padding: var(--tif-section-pad-y, 36px) 0;
	box-sizing: border-box;
	background-color: #ffffff;
}

#autres-niveaux .gdlr-core-pbf-background-wrap {
	background-color: #ffffff !important;
}

#autres-niveaux .autres-niveaux-inner {
	width: 100%;
	box-sizing: border-box;
}

#autres-niveaux .autres-niveaux-heading {
	text-align: center !important;
	margin: 0 auto 28px;
	width: 100%;
	max-width: 100%;
}

#autres-niveaux .autres-niveaux-heading h2 {
	margin: 0 0 5px;
	color: #2e3a4b;
	font-family: var(--tif-font, inherit);
	font-size: 24px;
	line-height: 1.15;
	font-weight: 800;
	font-style: italic;
	letter-spacing: 0.2px;
	text-transform: uppercase;
	text-align: center !important;
}

#autres-niveaux .autres-niveaux-heading p {
	margin: 0 auto;
	max-width: 720px;
	color: var(--tif-color-body, #394554);
	font-family: var(--tif-font, Poppins, sans-serif);
	font-size: var(--tif-font-size-body, 14px);
	line-height: var(--tif-line-height-body, 1.6);
	text-align: center !important;
}

#autres-niveaux .autres-niveaux-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

/* 1 seul frère (groupe à 2 niveaux) → une carte centrée */
#autres-niveaux .autres-niveaux-grid--single {
	grid-template-columns: minmax(0, 1fr);
	max-width: 420px;
	margin-left: auto;
	margin-right: auto;
	justify-items: stretch;
}

/* standardtif : vignettes listings verticales (même markup TM) */
#autres-niveaux .autres-niveaux-grid--standardtif {
	gap: 30px;
}

#autres-niveaux .autres-niveaux-grid--standardtif.autres-niveaux-grid--single {
	max-width: 380px;
}

#autres-niveaux .autres-niveaux-item {
	min-width: 0;
}

#autres-niveaux .autres-niveaux-item .tourmaster-tour-grid {
	height: 100%;
}

#autres-niveaux .autres-niveaux-grid--standardtif .datesvignette {
	display: none !important;
}

/* Ruban type_stage — position hors inline (listings classiques) */
.tif-type-stage-ribbon,
.tourmaster-tour-grid .tourmaster-thumbnail-ribbon.tif-type-stage-ribbon {
	position: relative;
	display: block;
	margin: -25px 0 0 15px;
	left: 7px;
	top: 0;
}

/* Autres niveaux : pas de ruban (chevauche le titre sans dates) */
#autres-niveaux .autres-niveaux-grid--standardtif .tourmaster-thumbnail-ribbon,
#autres-niveaux .autres-niveaux-grid--standardtif .tif-type-stage-ribbon {
	display: none !important;
}

#autres-niveaux .autres-niveaux-grid--standardtif .tourmaster-tour-grid-inner {
	overflow: hidden;
}

#autres-niveaux .autres-niveaux-grid--standardtif .tourmaster-tour-thumbnail {
	margin-bottom: 0 !important;
	line-height: 0;
}

/*
 * Contenu carte : padding type listing frame (pas le forçage single 8px).
 * Typo caractéristiques = même stack que les grilles listing (hors override
 * .single-tour .tourmaster-template-wrapper qui force le corps de fiche).
 */
#autres-niveaux .autres-niveaux-grid--standardtif .tourmaster-tour-content-wrap,
.tif-listing-no-dates .tourmaster-tour-content-wrap {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	padding: 20px 25px 16px !important;
	margin-top: 0 !important;
}

#autres-niveaux .autres-niveaux-grid--standardtif h3.tourmaster-tour-title,
#autres-niveaux .autres-niveaux-grid--standardtif h3.tourmaster-tour-title a,
#autres-niveaux .autres-niveaux-grid--standardtif .tourmaster-tour-title,
#autres-niveaux .autres-niveaux-grid--standardtif .tourmaster-tour-title a,
body.single-tour #autres-niveaux .autres-niveaux-grid--standardtif .gdlr-core-skin-title,
body.single-tour #autres-niveaux .autres-niveaux-grid--standardtif .gdlr-core-skin-title a {
	padding-right: 0 !important;
	height: auto !important;
	color: #2e3a4b !important;
}

/* Caractéristiques : reset typo fiche → rendu listing */
body.single-tour #autres-niveaux .autres-niveaux-grid--standardtif .tourmaster-tour-info-custom-excerpt,
body.single-tour #autres-niveaux .autres-niveaux-grid--standardtif .tourmaster-tour-info-custom-excerpt .gdlr-core-column-shortcode,
body.single-tour #autres-niveaux .autres-niveaux-grid--standardtif .tourmaster-tour-info-custom-excerpt .gdlr-core-row-shortcode {
	font-family: Poppins, sans-serif !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.6 !important;
	color: #666666 !important;
}

#autres-niveaux .autres-niveaux-grid--standardtif .tourmaster-tour-info-custom-excerpt {
	margin: 10px 0 0;
}

/* Pictos caractéristiques : même boîte + alignement vertical (horloge / groupe inclus) */
.tif-listing-stats .tif-listing-stat,
#autres-niveaux .autres-niveaux-grid--standardtif .tif-listing-stat {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 6px;
	line-height: 1.35;
}

.tif-listing-stats .tif-listing-stat:last-child,
#autres-niveaux .autres-niveaux-grid--standardtif .tif-listing-stat:last-child {
	margin-bottom: 0;
}

.tif-listing-stats .tif-listing-stat i,
#autres-niveaux .autres-niveaux-grid--standardtif .tif-listing-stat i,
#autres-niveaux .autres-niveaux-grid--standardtif .tourmaster-tour-info-custom-excerpt i {
	flex: 0 0 1.3em;
	width: 1.3em !important;
	margin: 0 !important;
	font-size: 1.15em !important;
	line-height: 1 !important;
	text-align: center;
	vertical-align: middle;
}

.tif-listing-stats .tif-listing-stat span {
	min-width: 0;
}

#autres-niveaux .autres-niveaux-grid--standardtif .gdlr-core-column-30 {
	min-height: 0 !important;
	padding-left: 5px !important;
	padding-right: 5px !important;
}

/* Pied : étoiles en flux, prix absolute sur la même ligne */
#autres-niveaux .autres-niveaux-grid--standardtif .tourmaster-tour-rating,
.tif-listing-no-dates .tourmaster-tour-rating {
	position: relative !important;
	left: auto !important;
	right: auto !important;
	top: auto !important;
	bottom: auto !important;
	margin: 14px 0 0 !important;
	padding-right: 96px;
	min-height: 26px;
	display: flex !important;
	align-items: center;
	line-height: 1 !important;
	font-size: 13px !important;
	z-index: 1;
	color: #2e3a4b !important;
}

#autres-niveaux .autres-niveaux-grid--standardtif .tourmaster-review-number,
.tif-listing-no-dates .tourmaster-review-number {
	color: #2e3a4b !important;
}

#autres-niveaux .autres-niveaux-grid--standardtif .tourmaster-tour-price-wrap,
.tif-listing-no-dates .tourmaster-tour-price-wrap {
	position: absolute !important;
	top: auto !important;
	left: auto !important;
	right: 25px !important;
	bottom: 16px !important;
	z-index: 2;
	line-height: 1 !important;
	display: flex;
	align-items: center;
	height: 26px;
}

#autres-niveaux .autres-niveaux-grid--standardtif .tourmaster-tour-price,
#autres-niveaux .autres-niveaux-grid--standardtif .tourmaster-tour-price .tourmaster-head,
#autres-niveaux .autres-niveaux-grid--standardtif .tourmaster-tour-price .tourmaster-tail,
#autres-niveaux .autres-niveaux-grid--standardtif .tourmaster-tour-discount-price,
.tif-listing-no-dates .tourmaster-tour-price,
.tif-listing-no-dates .tourmaster-tour-price .tourmaster-tail,
.tif-listing-no-dates .tourmaster-tour-discount-price {
	color: #5276a5 !important;
}

#autres-niveaux .autres-niveaux-grid--standardtif .tourmaster-tour-price .tourmaster-head {
	display: none !important;
}

#autres-niveaux .autre-niveau-card {
	display: grid;
	grid-template-columns: 42% minmax(0, 1fr);
	min-height: 168px;
	min-width: 0;
	background: #ffffff;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

#autres-niveaux a.autre-niveau-card-image,
#autres-niveaux .autre-niveau-card-image {
	position: relative;
	display: block;
	min-width: 0;
	min-height: 168px;
	overflow: hidden;
	background: #dfe3e8;
	align-self: stretch;
	text-decoration: none;
	color: inherit;
}

#autres-niveaux .autre-niveau-card-image img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#autres-niveaux .autre-niveau-card-image-placeholder {
	position: absolute;
	inset: 0;
	display: block;
	background: linear-gradient(135deg, #cfd7df, #8fa1b2);
}

#autres-niveaux .autre-niveau-card-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 12px 10px;
	box-sizing: border-box;
	text-align: center;
	color: #ffffff;
	background: rgba(46, 58, 75, 0.32);
	pointer-events: none;
}

/* Une seule ligne, pas de coupure au milieu d’un mot (ex. T isolé) */
#autres-niveaux .autre-niveau-card-overlay-text {
	display: block;
	max-width: 100%;
	font-size: 12px;
	line-height: 1.2;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-shadow: 0 2px 6px rgba(0, 0, 0, 0.45);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	word-break: keep-all;
	overflow-wrap: normal;
	hyphens: none;
}

#autres-niveaux .autre-niveau-card-content {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 18px 20px 14px 20px;
	min-width: 0;
	box-sizing: border-box;
}

#autres-niveaux .autre-niveau-card-infos h3 {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin: 0 0 12px;
	color: #2e3a4b;
	font-size: 13px;
	line-height: 1.25;
	font-weight: 700;
	text-transform: uppercase;
}

#autres-niveaux .autre-niveau-card-eyebrow {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: #536071;
}

#autres-niveaux a.autre-niveau-card-title,
#autres-niveaux .autre-niveau-card-title {
	color: #2e3a4b;
	text-decoration: none;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}

#autres-niveaux a.autre-niveau-card-title:hover {
	color: #5276a5;
}

#autres-niveaux .autre-niveau-card-infos ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

#autres-niveaux .autre-niveau-card-infos li {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 0 0 4px;
	color: #536071;
	font-size: 13px;
	line-height: 1.25;
}

#autres-niveaux .autre-niveau-icon {
	display: inline-flex;
	width: 14px;
	justify-content: center;
	color: #536071;
	font-size: 13px;
	flex: 0 0 14px;
}

#autres-niveaux .autre-niveau-card-link {
	align-self: flex-end;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-top: 10px;
	padding-bottom: 2px;
	border-bottom: 1px solid #b6bac0;
	color: #536071;
	font-size: 12px;
	line-height: 1;
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
	cursor: pointer;
	transition: color 0.15s ease, border-color 0.15s ease;
}

#autres-niveaux a.autre-niveau-card-link:hover {
	color: #5276a5;
	border-bottom-color: #5276a5;
}

#autres-niveaux .autre-niveau-card-link span {
	font-size: 18px;
	line-height: 10px;
}

@media (max-width: 1100px) {
	#autres-niveaux .autres-niveaux-grid {
		grid-template-columns: 1fr;
		gap: 18px;
		max-width: 640px;
		margin-left: auto;
		margin-right: auto;
	}
}

@media (max-width: 767px) {
	#autres-niveaux.autres-niveaux-section {
		padding: var(--tif-section-pad-y, 36px) 0;
	}

	#autres-niveaux .autres-niveaux-heading h2 {
		font-size: 20px;
	}

	#autres-niveaux .autres-niveaux-grid,
	#autres-niveaux .autres-niveaux-grid--single {
		grid-template-columns: 1fr;
		max-width: none;
		gap: 16px;
	}

	#autres-niveaux .autre-niveau-card {
		grid-template-columns: 38% minmax(0, 1fr);
		min-height: 148px;
	}

	#autres-niveaux .autre-niveau-card-image {
		min-height: 148px;
	}

	#autres-niveaux .autre-niveau-card-content {
		padding: 14px 12px 10px 14px;
	}

	#autres-niveaux .autre-niveau-card-infos h3 {
		font-size: 12px;
		margin-bottom: 8px;
	}

	#autres-niveaux .autre-niveau-card-infos li {
		font-size: 12px;
	}

	#autres-niveaux .autre-niveau-card-link {
		font-size: 11px;
	}

	#autres-niveaux .autre-niveau-card-overlay-text {
		font-size: 10px;
	}
}

/* ===============================================================
   REFONTE — Cross-sell bas de fiche (#tif-related)
   Même carrousel que les avis (flèches + drag). Ne passe PAS sous
   le bloc résa : largeur utile = container − ~400px.
   =============================================================== */
.single-tour #tif-related.tif-crosssell,
.single-tour .tourmaster-single-related-tour {
	margin-bottom: 0 !important;
	background-color: #ffffff;
	position: relative;
	z-index: 1;
	overflow: visible;
}

/* Style 1 with-sidebar : même gouttière TM (padding-right 430),
   contenu à gauche, carte résa à droite — pas le full-bleed layout-wide. */
@media only screen and (min-width: 999px) {
	.single-tour .tourmaster-page-wrapper.tourmaster-tour-style-1.tourmaster-with-sidebar #tif-related.tif-crosssell .tif-crosssell-inner,
	.single-tour .tourmaster-tour-style-1.tourmaster-with-sidebar #tif-related.tif-crosssell .gdlr-core-container.tif-crosssell-inner {
		display: block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 1260px !important;
		padding-left: 15px !important;
		padding-right: 430px !important;
		min-width: 0 !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	/* Style 2 layout-wide : même principe, gouttière un peu plus serrée. */
	body.single-tour .tourmaster-page-wrapper.tourmaster-tour-style-2.tif-layout-wide.tourmaster-with-sidebar #tif-related.tif-crosssell .gdlr-core-container.tif-crosssell-inner {
		display: block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 1260px !important;
		padding-left: 15px !important;
		padding-right: 400px !important;
		min-width: 0 !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
}

.single-tour .tif-crosssell-inner {
	position: relative;
	z-index: 1;
	display: block !important;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box !important;
}

.single-tour .tif-crosssell-block {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.single-tour .tif-crosssell-block + .tif-crosssell-block {
	margin-top: var(--tif-section-pad-y, 36px);
}

.single-tour .tif-crosssell-title {
	font-size: var(--tif-font-size-title) !important;
	font-weight: 900 !important;
	margin-bottom: 0 !important;
}

/* Carrousel : même primitive que .tif-reviews-carousel */
.single-tour .tif-crosssell-carousel {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
	--tif-carousel-gap: 20px;
	--tif-carousel-pad-x: 40px;
	--tif-carousel-fade-x: 40px;
	overflow: visible; /* flèches hors clip viewport */
}

.single-tour .tif-crosssell-carousel .tif-carousel__viewport {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
	cursor: grab;
	/* Place pour l’ombre des vignettes (sinon clipée). */
	padding-top: 12px;
	padding-bottom: 18px;
}

.single-tour .tif-crosssell-carousel .tif-carousel__viewport.is-dragging {
	cursor: grabbing;
}

/* Drag sur vignette liée + clic si peu de mouvement (comme galerie photos). */
.single-tour .tif-crosssell-carousel .tif-carousel__viewport a {
	-webkit-user-drag: none;
}

.single-tour .tif-crosssell-carousel .tif-carousel__viewport img {
	user-select: none;
	-webkit-user-drag: none;
}

.single-tour .tif-crosssell-carousel .tif-carousel__track {
	min-width: 0;
}

.single-tour .tif-crosssell-carousel .tif-carousel__slide {
	min-width: 0;
	box-sizing: border-box;
	overflow: visible; /* ne pas rogner box-shadow homepage */
}

.single-tour .tif-crosssell-carousel .tif-carousel__arrow {
	z-index: 6;
}

/*
 * Vignettes = homepage (grid-style-2).
 * Point critique : sur l’accueil, sync-height force content-wrap ~304px
 * → prix/étoiles absolute collés au bas de la carte. En carrousel sans
 * sync, le wrap restait court et laissait un trou blanc sous le footer.
 */
.single-tour .tif-crosssell-tour-card {
	min-width: 0;
	width: 100%;
	height: 100%;
	float: none !important;
	padding-bottom: 0 !important; /* annule .tourmaster-tour-item */
	display: flex;
	flex-direction: column;
}

.single-tour .tif-crosssell-tour-card .tourmaster-tour-grid,
.single-tour .tif-crosssell-tour-card .tourmaster-tour-grid-inner {
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	margin: 0 !important;
	float: none !important;
	width: 100% !important;
	max-width: 100%;
	min-height: 0;
}

.single-tour .tif-crosssell-carousel--tours .tourmaster-tour-thumbnail {
	line-height: 0;
	flex: 0 0 auto;
}

.single-tour .tif-crosssell-carousel--tours .tif-type-stage-ribbon {
	flex: 0 0 auto;
}

.single-tour .tif-crosssell-carousel--tours .tourmaster-tour-content-wrap {
	flex: 1 1 auto !important;
	display: block !important;
	position: relative !important;
	height: auto !important;
	min-height: 0 !important;
	font-size: 13px !important;
	line-height: 1.35 !important;
	color: #525252 !important;
	/* Place pour prix + étoiles absolute (bottom: 10px), comme sync-height accueil. */
	padding-bottom: 42px !important;
}

.single-tour .tif-crosssell-carousel--tours h3.tourmaster-tour-title,
.single-tour .tif-crosssell-carousel--tours h3.tourmaster-tour-title a,
.single-tour .tif-crosssell-carousel--tours .tourmaster-tour-title,
.single-tour .tif-crosssell-carousel--tours .tourmaster-tour-title a,
.single-tour .tif-crosssell-carousel--tours .gdlr-core-skin-title,
.single-tour .tif-crosssell-carousel--tours .gdlr-core-skin-title a {
	color: #383838 !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
}

.single-tour .tif-crosssell-carousel--tours .tourmaster-tour-info-custom-excerpt,
.single-tour .tif-crosssell-carousel--tours .tourmaster-tour-info-custom-excerpt .gdlr-core-column-shortcode,
.single-tour .tif-crosssell-carousel--tours .tourmaster-tour-info-custom-excerpt .gdlr-core-row-shortcode,
.single-tour .tif-crosssell-carousel--tours .tif-listing-stat,
.single-tour .tif-crosssell-carousel--tours .tif-listing-stat span,
.single-tour .tif-crosssell-carousel--tours .datesvignette,
.single-tour .tif-crosssell-carousel--tours .datesvignette > span,
.single-tour .tif-crosssell-carousel--tours .datesvignette .global,
.single-tour .tif-crosssell-carousel--tours .datesvignette .globalconfirmé {
	font-family: Poppins, sans-serif !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
	color: #525252 !important;
}

.single-tour .tif-crosssell-carousel--tours .datesvignette {
	line-height: 1.6 !important;
	display: block !important;
}

.single-tour .tif-crosssell-carousel--tours .gdlr-core-column-30 {
	min-height: 0 !important;
	padding-left: 5px !important;
	padding-right: 5px !important;
}

/* Badge confirmé = listing accueil (pas le reset couleur ci-dessus). */
.single-tour .tif-crosssell-carousel--tours .datesvignette span.confirmé,
.single-tour .tif-crosssell-carousel--tours span.confirmé {
	background-color: #5cb139 !important;
	color: #ffffff !important;
	padding: 0 5px !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.6 !important;
	border-radius: 0 !important;
	display: inline !important;
}

.single-tour .tif-crosssell-carousel--tours .datesvignette span.complet,
.single-tour .tif-crosssell-carousel--tours span.complet {
	background-color: #2e3a4b !important;
	color: #ffffff !important;
	padding: 0 5px !important;
	font-size: 13px !important;
	font-weight: 500 !important;
}

.single-tour .tif-crosssell-carousel--tours .spoiler-dates .su-spoiler-title {
	font-weight: 500 !important;
	color: #f97150 !important;
	font-size: 13px !important;
	padding: 0 7px 0 34px !important;
}

/* Prix bleu thème (même règle que .tourmaster-tour-item sur l’accueil). */
.single-tour .tif-crosssell-carousel--tours .tourmaster-tour-price,
.single-tour .tif-crosssell-carousel--tours .tourmaster-tour-price .tourmaster-head,
.single-tour .tif-crosssell-carousel--tours .tourmaster-tour-price .tourmaster-tail,
.single-tour .tif-crosssell-carousel--tours .tourmaster-tour-discount-price {
	color: #5276a5 !important;
}

.single-tour .tif-crosssell-carousel--tours .tourmaster-tour-price .tourmaster-tail {
	font-size: 22px !important;
	font-weight: 800 !important;
}

.single-tour .tif-crosssell-carousel--tours .tourmaster-tour-price .tourmaster-head {
	display: none !important;
}

/* Étoiles = même or/orange que listings TM accueil. */
.single-tour .tif-crosssell-carousel--tours .tourmaster-tour-rating i,
.single-tour .tif-crosssell-carousel--tours .tourmaster-tour-rating .fa-star,
.single-tour .tif-crosssell-carousel--tours .tourmaster-tour-rating .fa-star-half-o {
	color: #ffa11a !important;
}

.single-tour .tif-crosssell-carousel--tours .tourmaster-tour-rating-text {
	color: #525252 !important;
	font-size: 13px !important;
}

/* Cartes destination */
.single-tour .tif-crosssell-carousel--dest {
	--tif-carousel-gap: 24px;
}

.single-tour .tif-crosssell-dest-card {
	height: 100%;
}

.single-tour .tif-crosssell-dest-card__link {
	display: block;
	height: 100%;
	text-decoration: none !important;
	color: inherit;
}

.single-tour .tif-crosssell-dest-card__media {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: #d8dde5;
}

.single-tour .tif-crosssell-dest-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.single-tour .tif-crosssell-dest-card__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #c5ccd6 0%, #e1e3e8 100%);
}

.single-tour .tif-crosssell-dest-card__overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: flex-end;
	padding: 18px 20px;
	background: linear-gradient(to top, rgba(20, 28, 38, 0.72) 0%, rgba(20, 28, 38, 0.15) 55%, transparent 100%);
	pointer-events: none;
}

.single-tour .tif-crosssell-dest-card__name {
	font-family: var(--tif-font, Poppins, sans-serif);
	font-size: 18px;
	font-weight: 800;
	line-height: 1.25;
	color: #ffffff;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.single-tour .tif-crosssell-dest-card__link:hover .tif-crosssell-dest-card__media img,
.single-tour .tif-crosssell-dest-card__link:focus .tif-crosssell-dest-card__media img {
	transform: scale(1.04);
}

@media only screen and (max-width: 699px) {
	.single-tour .tif-crosssell-dest-card__name {
		font-size: 16px;
	}
}

/* Alerte nouvelles dates — aligné Dylan (styles de base = companion) */
/* Même largeur que les selects / RÉSERVER (pas de double padding 20px). */
.single-tour #tourmaster-tour-booking-bar-wrap .tif-date-watch-secondary {
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: 100%;
	box-sizing: border-box;
}
.single-tour #tourmaster-tour-booking-bar-wrap .tif-date-watch-collapse {
	padding-left: 0;
	padding-right: 0;
}
.single-tour #tourmaster-tour-booking-bar-wrap .tif-date-watch-row {
	width: 100%;
}
.single-tour #tourmaster-tour-booking-bar-wrap .tif-date-watch-submit {
	border-radius: 999px !important;
	font-weight: 700;
	background: #fff !important;
	color: #2e3a4b !important;
	border: 2px solid #2e3a4b !important;
}
.single-tour #tourmaster-tour-booking-bar-wrap .tif-date-watch-submit:hover,
.single-tour #tourmaster-tour-booking-bar-wrap .tif-date-watch-submit:focus {
	background: #2e3a4b !important;
	color: #fff !important;
}
.single-tour #tourmaster-tour-booking-bar-wrap .tif-date-watch-email,
.single-tour #tourmaster-tour-booking-bar-wrap .tif-date-watch-date,
.single-tour #tourmaster-tour-booking-bar-wrap .tif-date-watch-note {
	border-radius: 6px;
}
.single-tour #tourmaster-tour-booking-bar-wrap .tif-date-watch-modal-x {
	background: transparent !important;
	background-color: transparent !important;
	color: #8a8a8a !important;
	box-shadow: none !important;
	border: 0 !important;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	padding: 2px 4px !important;
	border-radius: 0 !important;
}
.single-tour #tourmaster-tour-booking-bar-wrap .tif-date-watch-skip {
	text-decoration: none !important;
	background: #fff !important;
	color: #2e3a4b !important;
	border: 1px solid #c3c4c7 !important;
	border-radius: 999px;
}


