/* 🌿 TWIGA STUDIO - Photo de profil modale */
.twiga-photo-profil {
	position: relative;
}

.twiga-photo-profil label {
	cursor: pointer;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.twiga-photo-profil:hover label {
	opacity: 1;
}

.twiga-photo-profil img {
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.twiga-photo-profil:hover img {
	transform: scale(1.02);
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

/* Animation de grossissement / rétrécissement en bouclede l'icone de modification * /
/* Animation de grossissement / rétrécissement en boucle */
@keyframes growShrinkLoop {

	0%,
	100% {
		transform: scale(0.9);
		/* plus petit au repos */
		opacity: 0.95;
	}

	50% {
		transform: scale(1);
		/* taille normale au maximum */
		opacity: 0.5;
	}
}

.icon-growloop {
	animation: growShrinkLoop 1.6s ease-in-out infinite;
	display: inline-block;
	transform-origin: center;
}



/* ✅ Conteneur sticky en haut de la modale */
.bouton-flottant-sticky {
	position: sticky;
	top: 0;
	background: rgba(255, 255, 255, 0.8);
	/* fond semi-transparent */
	backdrop-filter: blur(6px);
	/* effet verre dépoli */
	z-index: 10;
}

/* ✅ Bouton visible mais discret */
.boutonModifEffet {
	opacity: 0.6;
	transition: opacity 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.boutonModifEffet:hover,
.boutonModifEffet:focus {
	opacity: 1;
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.35);
	transform: translateY(-3px);
}

#sessionTimerBox {
	position: fixed !important;
	right: 20px !important;
	left: auto !important;
	top: 80px !important;
	z-index: 999999 !important;
	border-radius: 8px;
	padding: 6px 14px;
	backdrop-filter: blur(3px);
	transition: background 0.3s ease, transform 0.2s ease;
}

/* 🟢 Normal */
#sessionTimerBox.timer-green {
	background: rgba(0, 150, 70, 0.60);
}

/* 🟠 < 120 sec */
#sessionTimerBox.timer-orange {
	background: rgba(255, 140, 0, 0.75);
}

/* 🔴 < 30 sec */
#sessionTimerBox.timer-red {
	background: rgba(200, 0, 0, 0.85);
}

/* 🔥 < 10 sec → PULSE */
#sessionTimerBox.timer-pulse {
	animation: timerPulse 0.6s infinite;
	box-shadow: 0px 0px 12px rgba(255, 0, 0, 0.7);
}

@keyframes timerPulse {
	0% {
		transform: scale(1);
	}

	50% {
		transform: scale(1.15);
	}

	100% {
		transform: scale(1);
	}
}

/* Animation d'apparition FUN + rotation douce */
@keyframes toastFancyIn {
	0% {
		opacity: 0;
		transform: translateY(-30px) rotateX(35deg) scale(0.95);
	}

	60% {
		opacity: 1;
		transform: translateY(0) rotateX(5deg) scale(1.02);
	}

	100% {
		opacity: 1;
		transform: translateY(0) rotateX(0deg) scale(1);
	}
}

/* Animation de disparition douce */
@keyframes toastFancyOut {
	0% {
		opacity: 1;
		transform: translateY(0) rotateX(0deg) scale(1);
	}

	100% {
		opacity: 0;
		transform: translateY(-20px) rotateX(20deg) scale(0.90);
	}
}

.toast-animated {
	animation: toastFancyIn 480ms cubic-bezier(.15, .85, .35, 1.4);
	transform-origin: top center;
}

.toast-hide-animated {
	animation: toastFancyOut 380ms cubic-bezier(.25, .46, .45, .94);
	transform-origin: top center;
}

@keyframes centerBoxAppearSpin {
	0% {
		opacity: 0;
		transform: scale(0.2) rotate(-360deg);
	}

	60% {
		opacity: 1;
		transform: scale(1.05) rotate(10deg);
	}

	100% {
		opacity: 1;
		transform: scale(1) rotate(0deg);
	}
}

.session-center-animated {
	animation: centerBoxAppearSpin 0.75s cubic-bezier(.15, .85, .25, 1.3);
	transform-origin: center;
}

.modal-body {
	max-height: calc(100vh - 140px);
	overflow-y: auto;
}

/* -----------------------------------------------------
		   AVATARS TESTIMONIALS — VERSION PREMIUM TWIGASTUDIO
		------------------------------------------------------*/

/* Cache le bouton radio */
.testimonials .img-coche {
	display: none;
}

/* Base image */
.testimonials .testimonial-img {
	width: 90px;
	height: 90px;
	border-radius: 50%;
	object-fit: cover;
	cursor: pointer;
	transition: 0.25s ease;
	border: 3px solid transparent;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

/* Hover — zoom léger */
.testimonials .testimonial-img:hover {
	transform: scale(1.07);
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
}

/* Sélection — halo bleu + léger zoom */
.testimonials .img-coche:checked+label .testimonial-img {
	border-color: #44f36aff;
	box-shadow:
		0 0 0 4px rgba(43, 87, 154, 0.25),
		0 0 10px rgba(43, 87, 154, 0.25);
	transform: scale(1.05);
}

