/**
 * Styles Agence (AZULII) — composants communs : animations, défilement infini, popup.
 * Les styles propres à Clana sont dans clana.css.
 */

.et_pb_image.svg-convert span.et_pb_image_wrap svg.inline-svg { width: 100%; height: 100%; }
body { overflow-x: hidden; }
body.no-scroll,
body.az-no-scroll { overflow: hidden !important; }
/* Safari (iOS et macOS) ne bloque le défilement que si la racine est aussi verrouillée */
html:has(> body.no-scroll),
html:has(> body.az-no-scroll) { overflow: hidden !important; overscroll-behavior: none; }

@media (max-width: 980px) {
	.et_pb_column.et_pb_column_empty { display: inherit !important; }
}

/* ==========================================================================
   Révélation au défilement
   .anim_reveal-section (sections Divi) et .reveal-item (éléments des shortcodes)
   Classes posées par reveal.js ; sans JS, tout reste visible.
   ========================================================================== */
.js-reveal .anim_reveal-section,
.js-reveal .reveal-item {
	opacity: 0;
	transform: translateY(32px);
	transition: opacity .8s var(--ease-out, ease), transform .8s var(--ease-out, ease);
	transition-delay: var(--reveal-delay, 0ms);
}
.js-reveal .anim_reveal-section.revealed,
.js-reveal .reveal-item.revealed {
	opacity: 1;
	transform: none;
}
body.et-fb .anim_reveal-section,
body.et-fb .reveal-item {
	opacity: 1 !important;
	transform: none !important;
}

.anim_zoom-intro { transform: scale(1.08); transition: transform 2s cubic-bezier(.25, .1, .25, 1); }
.anim_zoom-intro.loaded { transform: scale(1); }
body.et-fb .anim_zoom-intro { transform: none; }

@media (prefers-reduced-motion: reduce) {
	.js-reveal .anim_reveal-section,
	.js-reveal .reveal-item { opacity: 1; transform: none; transition: none; }
	.anim_zoom-intro { transform: none; transition: none; }
	*, *::before, *::after { scroll-behavior: auto !important; }
}

/* ==========================================================================
   Défilement horizontal infini — .infinite-scroll-horizontal (logos partenaires)
   ========================================================================== */
.infinite-scroll-horizontal { overflow: hidden; }
.infinite-scroll-track {
	display: flex;
	flex-wrap: nowrap;
	will-change: transform;
}
.infinite-scroll-set {
	display: flex;
	flex-wrap: nowrap;
	flex-shrink: 0;
	align-items: center;
	--scroll-gap: 25px;
}
.infinite-scroll-set:first-child { margin-right: var(--scroll-gap); }
.infinite-scroll-set > * {
	flex-shrink: 0;
	margin: 0 var(--scroll-gap) 0 0;
}
.infinite-scroll-set > *:last-child { margin-right: 0; }

/* ==========================================================================
   Popup AZULII (.az-popup + .az-open-popup[data-popup])
   ========================================================================== */
.az-popup-overlay {
	position: fixed;
	inset: 0;
	background: color-mix(in srgb, var(--gcid-heading-color) 55%, transparent);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: .3s ease;
	z-index: 10005;
}
.az-popup {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: min(560px, calc(100% - 32px));
	max-height: min(86vh, 760px);
	overflow: auto;
	overscroll-behavior: contain;
	padding: clamp(28px, 4vw, 44px);
	border-radius: var(--radius-lg, 18px);
	background: var(--gcid-4ol5s8yce5);
	color: var(--gcid-body-color);
	box-shadow: 0 30px 80px -30px color-mix(in srgb, var(--gcid-heading-color) 55%, transparent);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .35s ease, visibility .35s ease;
	z-index: 10010;
}
.az-popup.active {
	animation: az-popup-anim .45s var(--ease-out, ease);
}
body.et-fb .az-popup,
body.et_fb .az-popup {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	position: relative !important;
	top: auto;
	left: auto;
	transform: none !important;
}
.az-popup.active,
.az-popup-overlay.active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
@keyframes az-popup-anim {
	from { transform: translate(-50%, -46%) scale(.96); opacity: 0; }
	to { transform: translate(-50%, -50%) scale(1); opacity: 1; }
}
.az-popup-close-btn {
	position: absolute;
	top: 18px;
	right: 18px;
	width: 34px;
	height: 34px;
	border: 0;
	border-radius: 50%;
	background: var(--gcid-uihz1ci5s4) url("../svg/plus-regular.svg") center / 14px no-repeat;
	cursor: pointer;
	transform: rotate(45deg);
	transition: transform .25s ease, background-color .25s;
	z-index: 1;
}
.az-popup-close-btn:hover { transform: rotate(135deg); background-color: var(--gcid-secondary-color); }
@media (prefers-reduced-motion: reduce) {
	.az-popup.active { animation: none; }
}
