a {
			text-decoration: none !important;
		}
		.accordion-flush .accordion-item {
			background: linear-gradient(135deg, #f8fafc 80%, #e6f4ef 100%);
			border-radius: 1.2rem;
			margin-bottom: 1.2rem;
			box-shadow: 0 4px 18px 0 rgba(49, 175, 145, 0.07);
			overflow: hidden;
			border: none;
			transition: box-shadow 0.2s;
		}
		.accordion-flush .accordion-item:hover {
			box-shadow: 0 8px 32px 0 rgba(49, 175, 145, 0.13);
			background: linear-gradient(135deg, #e6f4ef 60%, #d2f7e5 100%);
		}
		.accordion-button {
			background: #fff !important;
			border: none;
			border-radius: 1.2rem 1.2rem 0 0;
			font-weight: bold;
			color: #222 !important;
			font-size: 1.15rem;
			padding: 1.2rem 2rem 1.2rem 2.5rem;
			transition: background 0.2s, color 0.2s;
			box-shadow: none !important;
			position: relative;
		}
		.accordion-button:not(.collapsed) {
			background: #e6f4ef !important;
			color: #31af91 !important;
			box-shadow: 0 2px 12px 0 rgba(49, 175, 145, 0.07);
		}
		.accordion-button:focus {
			outline: none !important;
			box-shadow: 0 0 0 2px #31af9133 !important;
			color: #31af91 !important;
		}
		.accordion-button::after {
			background-image: none !important;
			content: "+";
			color: #31af91 !important;
			font-weight: bold;
			font-size: 28px;
			display: flex;
			align-items: center;
			justify-content: center;
			transition: color 0.2s, content 0.2s;
		}
		.accordion-button:not(.collapsed)::after {
			content: "-";
			color: #31af91 !important;
		}
		.kl-faq-number {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			font-size: 1.1rem;
			font-weight: bold;
			background: linear-gradient(135deg, #e6f4ef 60%, #31af91 100%);
			color: #198754;
			border-radius: 50%;
			min-width: 2rem;
			width: auto;
			height: 2rem;
			margin-right: 1rem;
			border: 2px solid #31af91;
			box-shadow: 0 2px 8px 0 rgba(49, 175, 145, 0.08);
			transition: background 0.2s, color 0.2s, border 0.2s;
		}
		/* Style actif (question ouverte) */
		.accordion-button:not(.collapsed) .kl-faq-number {
			background: linear-gradient(135deg, #31af91 60%, #43e97b 100%);
			color: #fff;
			border: 2px solid #198754;
			box-shadow: 0 4px 16px 0 rgba(49, 175, 145, 0.13);
			transform: scale(1.08);
		}
		.accordion-body {
			padding: 2rem 2.5rem 1.5rem 4.5rem;
			background: #f8fafc;
			border-radius: 0 0 1.2rem 1.2rem;
			margin-bottom: 0.5rem;
			font-size: 1.08rem;
			color: #222;
			box-shadow: 0 2px 12px 0 rgba(49, 175, 145, 0.07);
			border-top: 1px solid #e6f4ef;
			position: relative;
			animation: fadeInFaqAccordion 0.7s cubic-bezier(0.4,2,0.6,1) both;
			/* Add will-change for smoother animation */
			will-change: opacity, transform;
		}
		@keyframes fadeInFaqAccordion {
			from {
				opacity: 0;
				transform: translateY(30px);
			}
			to {
				opacity: 1;
				transform: translateY(0);
			}
		}
		.accordion-body code {
			background: #e6f4ef;
			color: #31af91;
			border-radius: 0.4rem;
			padding: 0.1rem 0.5rem;
			font-size: 1em;
		}
		@keyframes fadeInFaq {
			from {
				opacity: 0;
				transform: translateY(20px);
			}
			to {
				opacity: 1;
				transform: translateY(0);
			}
		}
		.kl-faq-list {
			padding-left: 0;
			margin-bottom: 0;
			list-style: none;
		}
		.kl-faq-list li {
			display: flex;
			align-items: flex-start;
			gap: 0.5rem;
			padding: 0.6rem 0;
			font-size: 1.07rem;
			border-bottom: 1px dashed #e6f4ef;
			transition: background 0.2s;
		}
		.kl-faq-list li:last-child {
			border-bottom: none;
		}
		.kl-faq-list i {
			font-size: 1.1rem;
			margin-top: 0.15rem;
		}
		.kl-faq-list li:hover {
			background: #f3fdf9;
		}
		.faq-media-block {
			background: #f8fafc;
			border-radius: 1rem;
			padding: 1rem 1.2rem;
			box-shadow: 0 2px 8px 0 rgba(49, 175, 145, 0.06);
			margin-bottom: 0.7rem;
		}
		.faq-media-icon {
			display: flex;
			align-items: center;
			justify-content: center;
			width: 2.5rem;
			height: 2.5rem;
			border-radius: 50%;
			font-size: 1.5rem;
			box-shadow: 0 2px 8px 0 rgba(49, 175, 145, 0.10);
			margin-top: 0.2rem;
		}
		.faq-media-block img,
		.faq-media-block video {
			border-radius: 0.7rem;
			box-shadow: 0 2px 8px 0 rgba(49, 175, 145, 0.10);
		}
		.faq-media-block .ratio {
			min-width: 420px !important;
		}
		.faq-media-block iframe,
		.faq-media-block video,
		.faq-media-block img {
			width: 100%;
			height: 100%;
		}
		.faq-media-block .carousel-inner img {
			width: 100%;
			height: 260px;
			object-fit: cover;
		}
		.faq-media-block img:hover {
			transform: scale(1.04) rotate(-1deg);
			box-shadow: 0 8px 24px 0 rgba(49,175,145,0.13);
		}
		.faq-media-block {
			background: #f8fafc;
			border-radius: 1rem;
			padding: 1rem 1.2rem;
			box-shadow: 0 2px 8px 0 rgba(49,175,145,0.06);
			margin-bottom: 0.7rem;
		}