
/* =========================================================
   SIGNATURE VISUELLE ADÉMA AFRIK
   Ajout non destructif : loader, hero, micro-interactions,
   footer signature, responsive et accessibilité mouvement.
   ========================================================= */
:root{
  --aa-green:#7bf057;
  --aa-green-deep:#2d8f34;
  --aa-ease:cubic-bezier(.2,.75,.25,1);
}

/* Loader premium */
.aa-loader{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:radial-gradient(circle at 50% 38%,rgba(123,240,87,.13),transparent 28%),#070a08;transition:opacity .55s var(--aa-ease),visibility .55s var(--aa-ease)}
.aa-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.aa-loader-inner{width:min(320px,72vw);text-align:center}
.aa-loader-logo{display:block;width:min(245px,64vw);max-height:100px;object-fit:contain;margin:0 auto 24px;filter:drop-shadow(0 10px 30px rgba(123,240,87,.10));animation:aaLogoReveal .8s var(--aa-ease) both}
.aa-loader-track{height:2px;background:rgba(255,255,255,.09);overflow:hidden;border-radius:999px}
.aa-loader-bar{height:100%;width:0;background:linear-gradient(90deg,#4dbf3a,#9dff78);box-shadow:0 0 18px rgba(123,240,87,.4);animation:aaProgress 1.15s var(--aa-ease) forwards}
.aa-loader-label{margin-top:12px;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:#7f8c82}
@keyframes aaLogoReveal{from{opacity:0;transform:translateY(10px) scale(.97);filter:blur(7px)}to{opacity:1;transform:none;filter:drop-shadow(0 10px 30px rgba(123,240,87,.10))}}
@keyframes aaProgress{0%{width:0}55%{width:73%}100%{width:100%}}

/* Signature footer obligatoire */
.aa-credit{font-size:.78rem;color:rgba(215,225,217,.66);text-align:center;padding:18px 16px;letter-spacing:.01em}
.aa-credit a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(123,240,87,.32);transition:color .2s ease,border-color .2s ease}
.aa-credit a:hover{color:var(--aa-green);border-color:var(--aa-green)}
.aa-credit.light{color:#647168}

/* Hero signature : amélioration légère, sans changer la structure */
.aa-hero-ready{position:relative;isolation:isolate}
.aa-hero-ready::after{content:"";position:absolute;z-index:-1;inset:8% 8% auto auto;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(123,240,87,.16),transparent 68%);filter:blur(8px);transform:translate3d(var(--aa-parallax-x,0),var(--aa-parallax-y,0),0);transition:transform .15s linear;pointer-events:none}
.aa-hero-ready h1{animation:aaHeroIn .8s .08s var(--aa-ease) both}
.aa-hero-ready p{animation:aaHeroIn .8s .18s var(--aa-ease) both}
.aa-hero-ready .landing-actions,.aa-hero-ready .pf-cta{animation:aaHeroIn .8s .28s var(--aa-ease) both}
@keyframes aaHeroIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* Micro-interactions cohérentes */
.btn,.dc-action,.dc-social,.nav-link,.template-option,.pf-card,.chip,.choice,.portfolio-request,.stat,.panel,.mini-card{transition:transform .22s var(--aa-ease),border-color .22s ease,box-shadow .22s ease,background-color .22s ease,opacity .22s ease}
.btn:hover,.dc-action:hover,.pf-download:hover{transform:translateY(-2px)}
.dc-social:hover{transform:translateY(-2px) scale(1.04);border-color:rgba(123,240,87,.45)}
.pf-card:hover,.template-option:hover,.portfolio-request:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(0,0,0,.12)}
.nav-link:hover{transform:translateX(2px)}
img{transition:transform .4s var(--aa-ease),filter .4s ease}
.pf-photo-wrap:hover .pf-photo{transform:scale(1.012)}

/* Landing premium sans changement d’architecture */
.landing-shell{position:relative;isolation:isolate}
.landing-shell::before{content:"";position:absolute;z-index:-1;width:min(720px,85vw);height:min(720px,85vw);border-radius:50%;left:50%;top:48%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(123,240,87,.07),transparent 62%);pointer-events:none}
.landing-logo{filter:drop-shadow(0 14px 35px rgba(123,240,87,.1))}
.landing-badge{display:inline-flex;align-items:center;gap:8px;margin:0 auto 10px;padding:7px 11px;border:1px solid rgba(123,240,87,.18);border-radius:999px;background:rgba(123,240,87,.055);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#bcd6c0}
.landing-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--aa-green);box-shadow:0 0 12px rgba(123,240,87,.7)}

/* Cards & portfolio : respiration pour la signature */
.card-page{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.card-page>.aa-credit{width:100%;padding-bottom:10px}
.portfolio-page>.aa-credit{padding-bottom:28px}

/* Admin / activation : signature discrète */
.activation-page>.aa-credit{padding-bottom:30px}
.login-card .aa-inline-credit{margin-top:18px;font-size:.72rem;color:#738078;text-align:center}
.login-card .aa-inline-credit a{color:#96a59a;border-bottom:1px solid rgba(123,240,87,.25)}
.sidebar .aa-inline-credit{font-size:.68rem;color:#68766c;line-height:1.5;margin-top:10px}
.sidebar .aa-inline-credit a{color:#89968c;border-bottom:1px solid rgba(123,240,87,.2)}

@media(max-width:700px){
  .aa-loader-inner{width:68vw}.aa-loader-logo{width:58vw}.aa-loader-label{font-size:.61rem}
  .aa-hero-ready::after{width:170px;height:170px;inset:12% -4% auto auto}
  .aa-credit{font-size:.72rem;padding:14px 12px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
