/* Adeline Brillance — habillage brillant / 3D de la page d'accueil.
   Ne touche qu'aux effets (reflets, ombres, relief) : textes, couleurs et mise en page restent ceux des blocs.
   Animations uniquement sur transform / opacity (pas de recalcul de la page). */

body.aag-on{
	--aag-glow:245,0,135;      /* fuchsia */
	--aag-glow-2:255,58,165;   /* rose vif */
	--aag-light:255,255,255;
}
body.aag-on.aa-theme-halloween{
	--aag-glow:255,107,0;      /* orange citrouille pendant Halloween */
	--aag-glow-2:255,138,31;
}

/* ─── 1. Cartes : verre poli, relief, bord lumineux ─── */
.aag-card{
	box-shadow:
		inset 0 1px 0 rgba(var(--aag-light),.16),
		inset 0 -1px 0 rgba(0,0,0,.25),
		0 18px 40px -12px rgba(0,0,0,.55),
		0 0 0 1px rgba(var(--aag-glow-2),.10) !important;
	transform-style:preserve-3d;
	will-change:transform;
	transition:rotate .35s cubic-bezier(.2,.7,.2,1), translate .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease !important;
}
.aag-card.aag-hot{
	translate:0 -6px;
	box-shadow:
		inset 0 1px 0 rgba(var(--aag-light),.22),
		inset 0 -1px 0 rgba(0,0,0,.25),
		0 30px 60px -14px rgba(0,0,0,.6),
		0 0 34px -4px rgba(var(--aag-glow),.45),
		0 0 0 1px rgba(var(--aag-glow-2),.35) !important;
}

/* Reflet qui suit la souris + reflet qui traverse la carte de temps en temps */
.aag-shine{
	position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:6;overflow:hidden;
}
.aag-shine::before{
	content:"";position:absolute;inset:0;border-radius:inherit;opacity:0;transition:opacity .35s ease;
	background:radial-gradient(420px circle at var(--aag-mx,50%) var(--aag-my,0%),rgba(var(--aag-light),.20),rgba(var(--aag-light),.05) 35%,transparent 60%);
	mix-blend-mode:soft-light;
}
.aag-hot > .aag-shine::before{opacity:1;}
.aag-shine::after{
	content:"";position:absolute;top:-20%;bottom:-20%;left:0;width:45%;
	background:linear-gradient(105deg,transparent 0%,rgba(var(--aag-light),.0) 30%,rgba(var(--aag-light),.16) 50%,rgba(var(--aag-light),0) 70%,transparent 100%);
	transform:translateX(-160%) skewX(-12deg);
}
.aag-seen > .aag-shine::after{animation:aagSweep 7.5s cubic-bezier(.4,0,.2,1) infinite;animation-delay:var(--aag-delay,0s);}
@keyframes aagSweep{0%,62%{transform:translateX(-160%) skewX(-12deg);}88%,100%{transform:translateX(360%) skewX(-12deg);}}

/* ─── 2. Boutons : brillance et halo ─── */
.aag-btn{position:relative;overflow:hidden;isolation:isolate;}
.aag-btn-shine{
	position:absolute;top:0;bottom:0;left:0;width:40%;z-index:2;pointer-events:none;
	background:linear-gradient(105deg,transparent,rgba(var(--aag-light),.45),transparent);
	transform:translateX(-150%) skewX(-18deg);
}
.aag-seen .aag-btn-shine{animation:aagBtn 5.5s ease-in-out infinite;animation-delay:var(--aag-delay,0s);}
@keyframes aagBtn{0%,70%{transform:translateX(-150%) skewX(-18deg);}90%,100%{transform:translateX(330%) skewX(-18deg);}}
.aag-btn.aag-cta{box-shadow:0 10px 30px -6px rgba(var(--aag-glow),.55),inset 0 1px 0 rgba(var(--aag-light),.35) !important;}

/* ─── 3. Chiffres et prix qui brillent ─── */
.aag-num{
	text-shadow:0 0 18px rgba(var(--aag-glow-2),.45),0 2px 0 rgba(0,0,0,.25);
}

/* ─── 4. Sphères lumineuses en 3D (arrière-plan) ─── */
.aag-orbs{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden;}
.aag-orb{
	position:absolute;border-radius:50%;
	background:
		radial-gradient(circle at 32% 28%,rgba(255,255,255,.85) 0%,rgba(255,255,255,.25) 9%,transparent 22%),
		radial-gradient(circle at 50% 55%,rgba(var(--aag-glow-2),.95) 0%,rgba(var(--aag-glow),.85) 45%,rgba(60,0,40,.95) 100%);
	box-shadow:0 0 50px rgba(var(--aag-glow),.45),inset -10px -14px 26px rgba(0,0,0,.45);
	opacity:.85;animation:aagFloat 12s ease-in-out infinite;
}
.aag-orb--1{width:74px;height:74px;top:8%;left:2%;}
.aag-orb--2{width:38px;height:38px;top:62%;left:5%;animation-delay:-4s;animation-duration:10s;}
.aag-orb--3{width:56px;height:56px;top:14%;right:2%;animation-delay:-7s;animation-duration:14s;}
.aag-orb--4{width:26px;height:26px;top:72%;right:6%;animation-delay:-2s;}
@keyframes aagFloat{0%,100%{transform:translate3d(0,0,0);}50%{transform:translate3d(0,-22px,0);}}
.aag-glowfield{position:absolute;inset:-10% -5%;pointer-events:none;z-index:0;
	background:radial-gradient(40% 50% at 15% 30%,rgba(var(--aag-glow),.16),transparent 70%),radial-gradient(35% 45% at 85% 70%,rgba(var(--aag-glow-2),.12),transparent 70%);}
[data-adeline-bloc] > .elementor-container{position:relative;z-index:1;}

/* ─── 5. Apparition en perspective au défilement ─── */
.aag-pre{opacity:0;transform:perspective(1200px) translate3d(0,40px,0) rotateX(7deg);transform-origin:50% 0;}
.aag-in{opacity:1;transform:none;transition:opacity .8s ease,transform 1s cubic-bezier(.2,.7,.2,1);}

/* ─── Mobile / tactile : pas d'inclinaison, effets allégés ─── */
@media (hover:none),(max-width:767px){
	.aag-card{will-change:auto;}
	.aag-orb--2,.aag-orb--4{display:none;}
	.aag-orb--1{width:46px;height:46px;}
	.aag-orb--3{width:34px;height:34px;}
	.aag-shine::before{display:none;}
}

/* ─── Moins de mouvement demandé : tout reste immobile ─── */
@media (prefers-reduced-motion:reduce){
	.aag-shine::after,.aag-btn-shine,.aag-orb{animation:none !important;}
	.aag-pre{opacity:1;transform:none;}
	.aag-card{transition:none !important;}
}
