/*-------------------------------------------------------------
1.0 Typography & tools
--------------------------------------------------------------*/
	:root {
  		--primary: #000 !important;
  		--secondary: #CEC4A0 !important;
  		--body: #000000 !important;
	}

	@font-face {
		font-family: 'AsenPro';
		src: url('../fonts/asenpro-regular-webfont.woff2') format('woff2'),
			url('../fonts/asenpro-regular-webfont.woff') format('woff');
		font-weight: 400;
		font-style: normal;
		font-display: swap;
	}

	@font-face {
		font-family: 'AsenPro';
		src: url('../fonts/asenpro-medium-webfont.woff2') format('woff2'),
			url('../fonts/asenpro-medium-webfont.woff') format('woff');
		font-weight: 500;
		font-style: normal;
		font-display: swap;
	}

	@font-face {
		font-family: 'AsenPro';
		src: url('../fonts/asenpro-semibold-webfont.woff2') format('woff2'),
			url('../fonts/asenpro-semibold-webfont.woff') format('woff');
		font-weight: 600;
		font-style: normal;
		font-display: swap;
	}

	@font-face {
		font-family: 'AsenPro';
		src: url('../fonts/asenpro-bold-webfont.woff2') format('woff2'),
			url('../fonts/asenpro-bold-webfont.woff') format('woff');
		font-weight: 700;
		font-style: normal;
		font-display: swap;
	}

	@font-face {
		font-family: 'AsenPro';
		src: url('../fonts/asenpro-extrabold-webfont.woff2') format('woff2'),
			url('../fonts/asenpro-extrabold-webfont.woff') format('woff');
		font-weight: 800;
		font-style: normal;
		font-display: swap;
	}

	@font-face {
		font-family: 'AsenPro';
		src: url('../fonts/asenpro-black-webfont.woff2') format('woff2'),
			url('../fonts/asenpro-black-webfont.woff') format('woff');
		font-weight: 900;
		font-style: normal;
		font-display: swap;
	}

	/* Versions light et thin */
	@font-face {
		font-family: 'AsenPro';
		src: url('../fonts/asenpro-light-webfont.woff2') format('woff2'),
			url('../fonts/asenpro-light-webfont.woff') format('woff');
		font-weight: 300;
		font-style: normal;
		font-display: swap;
	}

	@font-face {
		font-family: 'AsenPro';
		src: url('../fonts/asenpro-extralight-webfont.woff2') format('woff2'),
			url('../fonts/asenpro-extralight-webfont.woff') format('woff');
		font-weight: 200;
		font-style: normal;
		font-display: swap;
	}

	@font-face {
		font-family: 'AsenPro';
		src: url('../fonts/asenpro-thin-webfont.woff2') format('woff2'),
			url('../fonts/asenpro-thin-webfont.woff') format('woff');
		font-weight: 100;
		font-style: normal;
		font-display: swap;
	}

	/* Utilisation */
	body .wp-site-blocks, h1, h2, h3, h4, h5, h6, p, a, body .wp-site-blocks span {
		font-family: 'AsenPro', sans-serif !important;
	}

	p strong, p b {
		font-weight: 600 !important; /* ou 600 selon ce qui correspond à ton AsenPro Bold */
	}

	h1 {
		line-height: 1em !important;
	}

	#menu-menu-principal .current-menu-item a::before {
		content: url('https://visionplus.agency/wp-content/uploads/2025/08/ailettes.svg');
		position: absolute;
		width: 15px;
		height: 15px;
		top: 5px;
		left: 10px;		
	}
	
/*-------------------------------------------------------------
2.0 Header
--------------------------------------------------------------*/

	.column-video .guten-column-wrapper {
		overflow: hidden;
	}

	.video-header video {
		align-self: flex-end;
		vertical-align: bottom;
	}

	.prefix-plus .prefix::before {
		content: "+";
		color: #F6CB00;
		margin-right: 5px;
	}

	.prefix-jaune .prefix {
		color: #F6CB00;
		margin-right: 5px;
	}

	.prefix-plus-blanc .prefix::before {
		content: "+";
		color: #FFFFFF;
		margin-right: 5px;
	}

	.prefix-blanc .prefix {
		color: #FFFFFF;
		margin-right: 5px;
	}

	.section-prix .guten-icon-list i {
		margin-top: 5px;
	}

	.price-title sup {
		font-size: 0.6em !important;
	}

	.section-price span.heading-title::after {
		content: "HT";
		font-size: 0.6em;
		position: absolute;
		top: -10px;
		margin-left: 10px;
	}

	.not-include i {
		color: #777 !important;
	}

/*-------------------------------------------------------------
2.0 Timeline
--------------------------------------------------------------*/

	/* timeline-progress.css - CSS additionnel avec styles pour cercles actifs */

	.timeline-container::after {
		height: var(--timeline-progress, 0%) !important;
		max-height: calc(100% - 300px);
		transition: height 0.2s ease-out;
	}

	/* Styles pour les cercles actifs (quand la ligne passe par eux) */
	.timeline-number-active {
		background: linear-gradient(135deg, #f6cb00 0%, #f6cb00 100%) !important;
		color: #fff !important;
		/* box-shadow: 0 8px 25px rgba(255, 215, 0, 0.7) !important; */
		transform: translateX(-50%) scale(1.1) !important;
		transition: all 0.3s ease !important;
	}

	.timeline-number-active + .timeline-content {
		background: linear-gradient(135deg, #f6cb00 0%, #f6cb00 100%) !important;
	}

	.timeline-step:nth-child(odd) .timeline-number-active + .timeline-content::before {
		border-left-color: #f6cb00;
	}

	.timeline-step:nth-child(even) .timeline-number-active + .timeline-content::before {
		border-right-color: #f6cb00;
	}

	/* Retirer les effets de survol pour les cercles actifs par scroll */
	.timeline-step:hover .timeline-number:not(.timeline-number-active) {
		transform: translateX(-50%) scale(1.15);
		background: linear-gradient(135deg, #f6cb00 0%, #f6cb00 100%);
	}

	/* Les cercles actifs gardent leur style même au survol */
	.timeline-step:hover .timeline-number-active {
		transform: translateX(-50%) scale(1.15) !important;
	}

	/* Version mobile */
	@media (max-width: 768px) {
		.timeline-number-active {
			transform: translateX(-50%) scale(1.05) !important;
		}
		
		.timeline-step:hover .timeline-number:not(.timeline-number-active) {
			transform: translateX(-50%) scale(1.1);
		}
		
		.timeline-step:hover .timeline-number-active {
			transform: translateX(-50%) scale(1.1) !important;
		}
	}

/*-------------------------------------------------------------
3.0 Secteurs
--------------------------------------------------------------*/

	@media screen and (min-width:1024px) {
		.page-id-95 .section-wrapper[data-id="51z3c4"], .page-id-95 .section-wrapper[data-id="QR2Qi8"], .page-id-95 .section-wrapper[data-id="gTIGW8"], .page-id-95 .section-wrapper[data-id="4cRGgS"], .page-id-95 .section-wrapper[data-id="j1BnaZ"] {
			position: sticky;
			top: 20px;
			z-index: 1;
		}
	}

/*-------------------------------------------------------------
4.0 Cas pratique
--------------------------------------------------------------*/
	
	.list-kpi-cas .jet-listing-dynamic-repeater__items {
		flex-direction: column !important;
	}

	.jet-listing-grid--blocks {
		width: 100% !important;
	}

	@media screen and (min-width:768px) {
		.home .jet-listing .slick-slider .slick-list {
			padding: 0 15% 0 15% !important;
		}
	}

	@media screen and (max-width:768px) {
		.home .jet-listing .slick-slider .slick-list {
			padding: 0 !important;
		}
	}
	
	.section-cas {
		flex-direction: row;
		max-width: 1290px;
		align-items: stretch;
		flex-wrap: wrap;
		margin-left: auto;
		margin-right: auto;
		position: relative;
	}

	.section-cas-part-left {
		align-items: stretch;
		padding: 0 !important;
		overflow: hidden;
		background-color: #F6F6F6;
		border-radius: 20px;
		order: 1;
		flex-grow: 1;
	}

	.section-cas-part-left div, .section-cas-part-left a {
		height: 100%;
	}

	.section-cas-part-left img {
		object-fit: cover;
		height: 100%;
	}

	.section-cas-part-right {
		margin-left: 20px;
		background-color: #F6F6F6;
		border-radius: 20px;
		padding-top: 45px;
		padding-right: 50px;
		padding-bottom: 55px;
		padding-left: 50px;
		justify-content: space-between;
		order: 1;
	}

	/* Quand l’écran est <= 1290px (tablette + petits desktops) */
	@media screen and (max-width: 1290px) {
		.section-cas {
			flex-direction: column; /* image au-dessus */
		}

		.section-cas-part-left,
		.section-cas-part-right {
			width: 100% !important; /* prennent toute la largeur */
			margin-left: 0;         /* on supprime le gap */
			margin-top: 20px;       /* petit espace entre image et texte */
		}

		.section-cas-part-right {
			padding-top: 35px;
			padding-right: 30px;
			padding-bottom: 35px;
			padding-left: 30px;
		}

		.section-cas-part-left {
			max-height: 500px; /* optionnel : limiter la hauteur de l'image */
		}

		.section-cas-part-left img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}
	}

	#kpi-cas i {
		margin-right: 5px;
		color: #f6cb00;
	}

	.section-list-kpi {
		padding: 20px 0 30px 0;
	}

	.container-title-etudes {
		padding: 0;
	}

	.title-link-etudes {
		color: #0f0f0e !important;
		text-decoration: none !important;
		font-size: 40px;
		font-weight: 600;
	}

	h2.title-link-etudes {
		margin-bottom: 0;
	}

	.subtitle-etude h4 {
		color:#F6CB00;
	}

	/* dynamic button */
	.bouton-liste-etude .jet-listing-dynamic-link a {
		align-items: center;
		display: flex;
		font-size: 15px;
		justify-content: center;
		line-height: 1;
		padding-top: 18px;
		padding-right: 30px;
		padding-bottom: 18px;
		padding-left: 32px;
		background: #f6cb00;
		border-style: none;
		border-color: #ededed;
		border-top-left-radius: 10px;
		border-top-right-radius: 10px;
		border-bottom-right-radius: 10px;
		border-bottom-left-radius: 10px;
		box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.05);
		animation-delay: 0.8s;
	}

	.bouton-liste-etude .jet-listing-dynamic-link a:hover {
		background: rgba(226, 187, 2, 1);
		border-style: none;
		border-color: #f6cb00;
	}

	.bouton-liste-etude .jet-listing-dynamic-link {
		background: linear-gradient(180deg, rgba(246, 203, 0, 1) 0%, rgba(226, 187, 2, 1) 100%);
		width: auto !important;
		display: inline-block;
		border-top-left-radius: 14px;
		border-top-right-radius: 14px;
		border-bottom-right-radius: 14px;
		border-bottom-left-radius: 14px;
		padding-top: 4px;
		padding-right: 4px;
		padding-bottom: 4px;
		padding-left: 4px;
	}

	.bouton-liste-etude .jet-listing-dynamic-link span {
		color: #0f0f0e;
		font-size: 18px;
		font-weight: 500;
	}

	.bouton-liste-etude .jet-listing-dynamic-link span::after {
		content: "\f996";
		font-family: 'gtnicon-8' !important;
		margin-left: 15px;
		color: #0f0f0e;
	}

	.etude-de-cas-template-default img, .video-etude video {
		border-radius: 20px;
	}

	.video-etude video {
		margin-bottom: 10px;
	}

	.etude-de-cas-template-default ul {
		padding-left: 20px;
	}

	.post-content-etude p {
		margin-block-start: auto !important;
	}

/*-------------------------------------------------------------
5.0 Landing page
--------------------------------------------------------------*/

	@media screen and (min-width:1024px) {
		.slide-reco .jet-listing .slick-slider .slick-list {
			padding: 0 20% 0 0 !important;
		}
	}

	@media screen and (max-width:1024px) {
		.slide-reco .jet-listing .slick-slider .slick-list {
			padding:0 !important;
		}
	}

	.wistia_responsive_listing .jet-listing-dynamic-field__inline-wrap {
		padding-top: calc(16 / 9 * 100%);
		position: relative;
		width: 100%;
	}

	.wistia_responsive_listing .jet-listing-dynamic-field__content {
		height: 100%;
		left: 0;
		position: absolute;
		top: 0;
		width: 100%;
	}

	.testimonial-box .profile-comment {
		display: -webkit-box;
		-webkit-line-clamp: 3;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	.testimonial-box .profile-comment:hover {
		-webkit-line-clamp: unset;
  		overflow: visible;
	}

	.guten-testimonials.style-2 .bio-details {
		align-items: center !important;
	}