/* ══════════════════════════════════════════════════════════════
   ATLAS CONNECT · Couche PREMIUM · socle partagé (mécaniques)
   Chargé AVANT le <page>-premium.css. Contient les effets identiques
   à toutes les pages : barre de lecture, reflet balayant, keyframes,
   reduced-motion. Les listes de sélecteurs propres à chaque page
   (transition de thème, anneau de focus, press CTA) restent dans le
   fichier premium de la page. Auparavant dupliqué 6×.
   ══════════════════════════════════════════════════════════════ */

/* ── barre de progression de lecture ── */
.axp-progress{position:fixed;top:0;left:0;height:2px;width:0;z-index:100000;pointer-events:none;
  background:linear-gradient(90deg,#2563eb,#60a5fa);
  box-shadow:0 0 10px rgba(37,99,235,.45);opacity:.9;transition:width .12s linear}
body.atlas-dark .axp-progress{background:linear-gradient(90deg,#60a5fa,#34d3ee);box-shadow:0 0 12px rgba(96,165,250,.5)}

/* ── reflet balayant (au survol des cartes .axp-sheen) ── */
.axp-sheen{position:relative}
.axp-sheen>.axp-sheen-l{position:absolute;top:0;bottom:0;left:-60%;width:42%;z-index:3;pointer-events:none;
  background:linear-gradient(105deg,transparent,rgba(37,99,235,.08) 46%,rgba(255,255,255,.5) 50%,rgba(37,99,235,.08) 54%,transparent);
  transform:skewX(-14deg);opacity:0}
body.atlas-dark .axp-sheen>.axp-sheen-l{background:linear-gradient(105deg,transparent,rgba(160,210,255,.16) 50%,transparent)}
.axp-sheen:hover>.axp-sheen-l{animation:axpSheen 1.05s cubic-bezier(.22,1,.36,1) forwards}
@keyframes axpSheen{0%{left:-60%;opacity:0}14%{opacity:1}100%{left:130%;opacity:0}}

@media (prefers-reduced-motion:reduce){
  .axp-sheen>.axp-sheen-l{display:none}
  .axp-progress{transition:none}
  body.axp-theming *{transition:none !important}
}
