/* Icone Dropdown pour Elementor — v1.0.2 */

.icd-dropdown-yes {
	position: relative;
	--icd-duration: 250ms;
	--icd-offset: 0px;
	--icd-z: 999;
}

/* Premier plan pendant l'ouverture (classes ajoutées par le JS sur les parents) */
.icd-raised { z-index: var(--icd-raise, 999) !important; }
.icd-raised-pos { position: relative !important; }

/* Panneau : enfant direct (conteneur pleine largeur) ou dans .e-con-inner (conteneur encadré) */
:is(.icd-dropdown-yes, .icd-dropdown-yes > .e-con-inner) > .icd-panel-yes {
	--icd-ty: 0px;
	--icd-scale: 1;
	position: absolute !important;
	top: calc(100% + var(--icd-offset)) !important;
	left: var(--icd-left, 0px) !important; /* calculé en px par le JS, avant l'ouverture */
	right: auto !important;
	bottom: auto !important;
	margin: 0 !important;
	max-width: calc(100vw - 16px) !important;
	z-index: var(--icd-z);
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	/* Seul le mouvement vertical est animé : aucun glissement latéral */
	transform: translateY(var(--icd-ty)) scale(var(--icd-scale)) !important;
	transform-origin: top center;
	transition:
		opacity var(--icd-duration) ease,
		transform var(--icd-duration) ease,
		visibility 0s linear var(--icd-duration);
}

/* Ouvert */
:is(.icd-open, .icd-open > .e-con-inner) > .icd-panel-yes {
	--icd-ty: 0px !important;
	--icd-scale: 1 !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	transition-delay: 0s;
}

/* Animations (état fermé) */
:is(.icd-anim-slide, .icd-anim-slide > .e-con-inner) > .icd-panel-yes { --icd-ty: 12px; }
:is(.icd-anim-zoom, .icd-anim-zoom > .e-con-inner) > .icd-panel-yes { --icd-scale: .96; }
:is(.icd-anim-none, .icd-anim-none > .e-con-inner) > .icd-panel-yes { transition: none !important; }

/* Alignement : calculé par le JS (classes icd-align-left / center / right) */

/* Largeur */
:is(.icd-width-parent, .icd-width-parent > .e-con-inner) > .icd-panel-yes {
	width: 100% !important;
	max-width: none !important;
}
:is(.icd-width-content, .icd-width-content > .e-con-inner) > .icd-panel-yes {
	width: max-content !important;
	max-width: calc(100vw - 16px) !important;
}
:is(.icd-width-viewport, .icd-width-viewport > .e-con-inner) > .icd-panel-yes {
	width: var(--icd-vw-width, 100%) !important;
	max-width: none !important;
}

/* Flèche optionnelle : ajoutez la classe CSS « icd-arrow » à une icône du déclencheur */
.icd-dropdown-yes .icd-arrow {
	transition: transform var(--icd-duration) ease;
}
.icd-open > .icd-arrow,
.icd-open > .e-con-inner > .icd-arrow,
.icd-open > :not(.icd-panel-yes) .icd-arrow,
.icd-open > .e-con-inner > :not(.icd-panel-yes) .icd-arrow {
	transform: rotate(180deg);
}

/* Éditeur Elementor : panneau visible pour pouvoir l'éditer */
.elementor-editor-active :is(.icd-editor-show-yes, .icd-editor-show-yes > .e-con-inner) > .icd-panel-yes {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	transform: none !important;
	outline: 1px dashed rgba(147, 0, 61, .5);
}

/* Mobile : mode accordéon */
@media (max-width: 767px) {
	.icd-mobile-accordion,
	.icd-mobile-accordion > .e-con-inner {
		flex-wrap: wrap !important;
	}
	:is(.icd-mobile-accordion, .icd-mobile-accordion > .e-con-inner) > .icd-panel-yes {
		position: static !important;
		display: none !important;
		flex-basis: 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		transform: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		margin-top: var(--icd-offset) !important;
	}
	:is(.icd-mobile-accordion.icd-open, .icd-mobile-accordion.icd-open > .e-con-inner) > .icd-panel-yes,
	.elementor-editor-active :is(.icd-mobile-accordion.icd-editor-show-yes, .icd-mobile-accordion.icd-editor-show-yes > .e-con-inner) > .icd-panel-yes {
		display: var(--display, flex) !important;
		animation: icd-accordion-in var(--icd-duration) ease;
	}
}

@keyframes icd-accordion-in {
	from { opacity: 0; transform: translateY(-6px); }
	to   { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	:is(.icd-dropdown-yes, .icd-dropdown-yes > .e-con-inner) > .icd-panel-yes {
		transition: none !important;
		animation: none !important;
	}
}
