/* ==========================================================================
   LS STAGE UNIVERSE — bas de page commun
   Feuille autonome : aucune règle globale, tout est préfixé .ls-footer.
   Sert aux pages qui gardent leur propre mise en page (ORION, VIP, crédits).
   ========================================================================== */

@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 700 900;
  font-display: swap;
  src: url('/fonts/unbounded-variable.woff2') format('woff2');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('/fonts/manrope-variable.woff2') format('woff2');
}

.ls-footer {
  --lsf-deep: #07070F;
  --lsf-text: #F0EDE8;
  --lsf-muted: #9C9AA8;
  --lsf-gold: #FF9A3D;
  --lsf-pink: #FF2D78;
  --lsf-purple: #8B3FE8;
  --lsf-border: rgba(255,255,255,.12);

  position: relative;
  box-sizing: border-box;
  margin-top: 4rem;
  padding: 5rem 0 2rem;
  font-family: 'Manrope', 'Segoe UI', sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--lsf-text);
  background:
    radial-gradient(90% 120% at 50% 0%, rgba(139,63,232,.12) 0%, transparent 62%),
    linear-gradient(180deg, rgba(14,14,28,.55), var(--lsf-deep));
  border-top: 1px solid var(--lsf-border);
}
.ls-footer *, .ls-footer *::before, .ls-footer *::after { box-sizing: border-box; }
.ls-footer::before {
  content: ''; position: absolute; top: -1px; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent, var(--lsf-gold) 18%, var(--lsf-pink) 50%, var(--lsf-purple) 82%, transparent);
  opacity: .75;
}

.ls-footer .lsf-inner { max-width: 1320px; margin: 0 auto; padding: 0 clamp(1.25rem, 4vw, 4rem); }

.ls-footer .lsf-grid { display: grid; grid-template-columns: 1.7fr 1fr 1fr 1fr; gap: 3rem; margin-bottom: 3rem; }
.ls-footer .lsf-logo { display: block; width: 260px; max-width: 100%; height: auto; margin: 0 0 1rem; filter: drop-shadow(0 0 22px rgba(255,45,120,.28)); }
.ls-footer .lsf-brand p { margin: .75rem 0 0; color: var(--lsf-muted); font-size: .9rem; max-width: 34ch; }

.ls-footer .lsf-contact { list-style: none; margin: 1rem 0 0; padding: 0; display: flex; flex-direction: column; gap: .75rem; }
.ls-footer .lsf-contact li { display: flex; flex-direction: column; gap: 2px; }
.ls-footer .lsf-contact .k { font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--lsf-muted); }
.ls-footer .lsf-contact a, .ls-footer .lsf-contact .v { color: var(--lsf-text); text-decoration: none; font-size: .9rem; font-weight: 600; }
.ls-footer .lsf-contact a:hover { color: var(--lsf-gold); }

.ls-footer .lsf-col h4 {
  font-family: 'Unbounded', 'Segoe UI', sans-serif; font-weight: 800;
  font-size: .78rem; letter-spacing: .14em; text-transform: uppercase;
  color: var(--lsf-gold); margin: 0 0 1rem;
}
.ls-footer .lsf-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .75rem; }
.ls-footer .lsf-col a { color: var(--lsf-text); text-decoration: none; font-size: .9rem; display: inline-block; transition: color .2s, transform .2s; }
.ls-footer .lsf-col a:hover { color: var(--lsf-gold); transform: translateX(3px); }

.ls-footer .lsf-social { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.ls-footer .lsf-social a {
  width: 46px; height: 46px; border-radius: 12px;
  background: rgba(255,255,255,.04); border: 1px solid var(--lsf-border);
  display: flex; align-items: center; justify-content: center; text-decoration: none;
  transition: transform .2s, border-color .2s, box-shadow .2s, background .2s;
}
.ls-footer .lsf-social img { width: 22px; height: 22px; object-fit: contain; display: block; filter: brightness(1.35); }
.ls-footer .lsf-social a:hover {
  transform: translateY(-3px); border-color: rgba(255,45,120,.5);
  background: rgba(255,45,120,.08); box-shadow: 0 8px 24px rgba(255,45,120,.28);
}

.ls-footer .lsf-banner {
  border-top: 1px solid var(--lsf-border); margin-top: 2rem; padding: 3rem 0 1.5rem;
  display: flex; flex-direction: column; align-items: center; gap: 1rem; text-align: center;
}
.ls-footer .lsf-banner img { width: min(420px, 78vw); height: auto; filter: drop-shadow(0 0 34px rgba(139,63,232,.35)); }
.ls-footer .lsf-banner p { margin: 0; font-size: .9rem; color: var(--lsf-muted); }
.ls-footer .lsf-banner a { color: var(--lsf-text); text-decoration: none; font-weight: 600; }
.ls-footer .lsf-banner a:hover { color: var(--lsf-gold); }

.ls-footer .lsf-bottom {
  border-top: 1px solid var(--lsf-border); padding-top: 1.5rem;
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem;
  font-size: .78rem; color: var(--lsf-muted);
}
.ls-footer .lsf-bottom p { margin: 0; }
.ls-footer .lsf-bottom a { color: var(--lsf-muted); }
.ls-footer .lsf-bottom a:hover { color: var(--lsf-gold); }

@media (max-width: 1050px) {
  .ls-footer .lsf-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .ls-footer .lsf-brand { grid-column: span 2; }
}
@media (max-width: 480px) {
  .ls-footer .lsf-grid { grid-template-columns: 1fr; }
  .ls-footer .lsf-brand { grid-column: auto; }
}
