/* FormationLap Eventi - CSS globale */

@font-face{
  font-family:'FLText';
  src:url('/fonts/Formula1-Regular.otf') format('opentype');
  font-display:swap;
}

@font-face{
  font-family:'FLTitle';
  src:url('/fonts/Formula1-Wide.otf') format('opentype');
  font-display:swap;
}

@font-face{
  font-family:'FLStrong';
  src:url('/fonts/Formula1-Bold.otf') format('opentype');
  font-display:swap;
}

:root{
  --fl-red:#e10600;
  --fl-dark:#050505;
  --fl-card:#121212;
  --fl-border:rgba(255,255,255,.14);
  --fl-muted:#b8b8b8;
  --fl-glow:0 0 22px rgba(225,6,0,.28);
}

body{
  font-family:'FLText',Arial,sans-serif!important;
}

h1,h2,h3,
.hero-title,
.admin-head h1,
.card h2,
.card h3{
  font-family:'FLTitle','FLStrong',Arial,sans-serif!important;
  letter-spacing:-.035em;
}

strong,
button,
.btn,
.badge,
.status,
.status-text,
.kpi strong,
.pos,
input,
select,
textarea{
  font-family:'FLStrong','FLText',Arial,sans-serif!important;
}

p,small,label,span,div,td,th{
  font-family:'FLText',Arial,sans-serif;
}

.card,
.kpi,
.pilot-preview,
.hero{
  animation:flFadeUp .35s ease both;
}

.btn,
button,
.preview-photo,
.apex-photo,
.status-dot,
.badge{
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease,
    background .18s ease,
    opacity .18s ease;
}

.btn:hover,
button:hover{
  transform:translateY(-1px);
  box-shadow:var(--fl-glow);
}

.status-dot.ok,
.status-dot.waiting,
.status-dot.no{
  animation:flPulse 1.9s ease-in-out infinite;
}

@keyframes flFadeUp{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}

@keyframes flPulse{
  0%,100%{opacity:.82;transform:scale(1)}
  50%{opacity:1;transform:scale(1.12)}
}
