/* ============================================================
   FOMICO FRANCE — Page Loader v2
   Animation de transition : logo + anneaux + barre de progression
   ============================================================ */

#fomico-loader {
  position: fixed; inset: 0; z-index: 99999;
  display: flex; align-items: center; justify-content: center;
  pointer-events: none; opacity: 0;
  transition: opacity 0.3s ease;
}
#fomico-loader.visible {
  opacity: 1; pointer-events: all;
}

/* Fond marine */
.fl-bg {
  position: absolute; inset: 0;
  background: #07101F;
}

/* Conteneur central */
.fl-center {
  position: relative; z-index: 1;
  display: flex; flex-direction: column;
  align-items: center; gap: 28px;
}

/* Wrapper logo + anneaux */
.fl-logo-wrap {
  position: relative;
  display: flex; align-items: center; justify-content: center;
}

/* Logo */
.fl-logo {
  width: 148px; height: auto;
  opacity: 0; transform: scale(0.82);
  transition: opacity 0.35s ease, transform 0.35s ease;
  position: relative; z-index: 2;
}
#fomico-loader.visible .fl-logo {
  opacity: 1; transform: scale(1);
}

/* Anneaux tournants */
.fl-rings {
  position: absolute; inset: -52px;
  pointer-events: none;
}
.fl-ring {
  position: absolute; border-radius: 50%;
  border: 1px solid transparent;
}
.fl-ring-1 {
  inset: 0;
  border-color: rgba(27,79,187,0.12);
  border-top-color: rgba(27,79,187,0.55);
  animation: fl-spin 2.8s linear infinite;
}
.fl-ring-2 {
  inset: 14px;
  border-color: rgba(232,25,44,0.08);
  border-right-color: rgba(232,25,44,0.45);
  animation: fl-spin 2s linear infinite reverse;
}
.fl-ring-3 {
  inset: 28px;
  border-color: rgba(255,255,255,0.04);
  border-bottom-color: rgba(255,255,255,0.18);
  animation: fl-spin 3.8s linear infinite;
}
@keyframes fl-spin { to { transform: rotate(360deg); } }

/* Barre de progression */
.fl-track {
  width: 148px; height: 2px;
  background: rgba(255,255,255,0.07);
  overflow: hidden; border-radius: 2px;
}
.fl-bar {
  height: 100%; width: 0%;
  background: linear-gradient(90deg, #E8192C 0%, #1B4FBB 100%);
  border-radius: 2px;
  transition: width 0.6s cubic-bezier(0.4,0,0.2,1);
}

/* Animations d'entrée / sortie de page */
.fomico-page-out {
  animation: fl-fade-out 0.25s ease forwards;
}
.fomico-page-in {
  animation: fl-fade-in 0.35s ease forwards;
}
@keyframes fl-fade-out {
  from { opacity: 1; transform: translateY(0); }
  to   { opacity: 0; transform: translateY(-6px); }
}
@keyframes fl-fade-in {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}
