/* ============================================================
   FOOTER PREMIUM V103 — LISTOOLAI
   Objectif : rendu identique à la maquette fournie
   Layout desktop : gauche branding / droite navigation + stats
============================================================ */

.footer,
.site-footer,
.ai-footer{
  position:relative !important;
  isolation:isolate !important;
  margin-top:92px !important;
  overflow:hidden !important;
  color:#e5efff !important;
  border-top:1px solid rgba(148,163,184,.14) !important;
  background:
    radial-gradient(circle at 7% 0%, rgba(34,211,238,.16), transparent 35%),
    radial-gradient(circle at 94% 0%, rgba(124,58,237,.14), transparent 37%),
    linear-gradient(180deg,#061120 0%,#050b18 55%,#020617 100%) !important;
}

.footer::before,
.site-footer::before,
.ai-footer::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    linear-gradient(90deg, transparent, rgba(255,255,255,.035), transparent),
    linear-gradient(rgba(255,255,255,.020) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.014) 1px, transparent 1px);
  background-size:auto, 50px 50px, 50px 50px;
  opacity:.42;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.96), transparent 94%);
}

.footer::after,
.site-footer::after,
.ai-footer::after{
  content:"";
  position:absolute;
  inset:1px 0 auto;
  height:1px;
  z-index:-1;
  background:linear-gradient(90deg, transparent, rgba(103,232,249,.64), rgba(167,139,250,.42), transparent);
  opacity:.75;
}

.footer-glow{
  position:absolute;
  z-index:-1;
  width:460px;
  height:460px;
  border-radius:999px;
  filter:blur(76px);
  opacity:.22;
  pointer-events:none;
}
.footer-glow-one{top:-220px;left:-130px;background:rgba(34,211,238,.55);}
.footer-glow-two{top:-210px;right:-150px;background:rgba(139,92,246,.50);}
.footer-glow-three{right:35%;bottom:-300px;background:rgba(59,130,246,.30);}

.footer-inner{
  position:relative !important;
  z-index:1 !important;
  width:min(1580px, calc(100% - 40px)) !important;
  margin-inline:auto !important;
  padding:26px 0 34px !important;
}

.footer-premium-card{
  position:relative !important;
  display:grid !important;
  grid-template-columns:minmax(430px, 39%) minmax(680px, 61%) !important;
  gap:clamp(34px, 3.5vw, 56px) !important;
  align-items:stretch !important;
  min-height:780px !important;
  padding:clamp(40px, 3.4vw, 52px) !important;
  overflow:hidden !important;
  border:1px solid rgba(148,163,184,.18) !important;
  border-radius:34px !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(103,232,249,.12), transparent 33%),
    radial-gradient(circle at 100% 0%, rgba(167,139,250,.13), transparent 38%),
    linear-gradient(135deg, rgba(15,23,42,.94), rgba(7,14,28,.91)) !important;
  box-shadow:0 48px 140px rgba(0,0,0,.44), inset 0 1px 0 rgba(255,255,255,.07) !important;
  backdrop-filter:blur(18px) !important;
}

.footer-premium-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(120deg, rgba(255,255,255,.08), transparent 30%, transparent 76%, rgba(255,255,255,.04));
  opacity:.34;
}

.footer-brand,
.footer-side,
.footer-columns,
.footer-bottom{
  position:relative !important;
  z-index:1 !important;
}

.footer-brand{
  min-width:0 !important;
  max-width:560px !important;
}

.footer-logo{
  display:flex !important;
  width:100% !important;
  max-width:540px !important;
  margin:0 0 38px !important;
  color:#fff !important;
  text-decoration:none !important;
}
.footer-logo:hover{color:#fff !important;}

.footer-logo-frame{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:540px !important;
  max-width:100% !important;
  min-height:182px !important;
  padding:24px 30px !important;
  border:1px solid rgba(125,211,252,.56) !important;
  border-radius:24px !important;
  background:
    radial-gradient(circle at 20% 25%, rgba(255,255,255,.18), transparent 36%),
    linear-gradient(135deg, rgba(103,232,249,.14), rgba(96,165,250,.08), rgba(167,139,250,.15)),
    rgba(15,23,42,.76) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.025),
    0 30px 92px rgba(0,0,0,.36),
    0 0 90px rgba(96,165,250,.18),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
}

.footer-logo-frame img,
.footer-logo img{
  display:block !important;
  width:470px !important;
  max-width:100% !important;
  height:auto !important;
  max-height:132px !important;
  object-fit:contain !important;
  border-radius:0 !important;
  filter:drop-shadow(0 16px 36px rgba(96,165,250,.42)) !important;
}

.footer-logo-text,
.footer-logo-text *,
.footer-logo strong,
.footer-logo small,
.footer-logo span:not(.footer-logo-frame),
.footer .brand-text,
.footer .brand-text *,
.site-footer .brand-text,
.site-footer .brand-text *,
.ai-footer .brand-text,
.ai-footer .brand-text *{
  display:none !important;
}

.footer-badge{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  min-height:50px !important;
  padding:0 28px !important;
  margin:0 0 30px !important;
  border:1px solid rgba(103,232,249,.36) !important;
  border-radius:999px !important;
  color:#a5f3fc !important;
  background:rgba(3,13,25,.72) !important;
  box-shadow:0 0 40px rgba(34,211,238,.13), inset 0 1px 0 rgba(255,255,255,.07) !important;
  font-size:17px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:.13em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}
.footer-badge i{color:#7dd3fc !important;font-size:9px !important;filter:drop-shadow(0 0 10px rgba(103,232,249,.65));}

.footer-title{
  max-width:540px !important;
  margin:0 0 20px !important;
  color:#fff !important;
  font-size:clamp(34px, 2.55vw, 44px) !important;
  line-height:1.08 !important;
  font-weight:950 !important;
  letter-spacing:-.06em !important;
}

.footer-description{
  max-width:540px !important;
  margin:0 !important;
  color:#c4d0e2 !important;
  font-size:clamp(17px, 1.05vw, 20px) !important;
  line-height:1.72 !important;
  letter-spacing:-.018em !important;
}

.footer-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:22px !important;
  margin-top:28px !important;
}

.footer-cta{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
  min-height:60px !important;
  padding:0 28px !important;
  border-radius:999px !important;
  font-size:18px !important;
  font-weight:950 !important;
  line-height:1 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  transition:transform .22s ease, border-color .22s ease, background .22s ease, color .22s ease, box-shadow .22s ease !important;
}
.footer-cta-primary,
.footer-cta-primary:visited{
  color:#031122 !important;
  background:linear-gradient(135deg,#67e8f9 0%,#93c5fd 52%,#a78bfa 100%) !important;
  border:1px solid rgba(255,255,255,.28) !important;
  box-shadow:0 22px 62px rgba(56,189,248,.26), inset 0 1px 0 rgba(255,255,255,.38) !important;
}
.footer-cta-primary span,.footer-cta-primary i{color:#031122 !important;}
.footer-cta-secondary,
.footer-cta-secondary:visited{
  color:#c7d8f4 !important;
  background:rgba(7,18,35,.82) !important;
  border:1px solid rgba(125,211,252,.28) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05) !important;
}
.footer-cta-secondary span,.footer-cta-secondary i{color:#c7d8f4 !important;}
.footer-cta:hover{transform:translateY(-2px) !important;box-shadow:0 24px 58px rgba(0,0,0,.30) !important;}
.footer-cta-primary:hover,.footer-cta-primary:hover span,.footer-cta-primary:hover i{color:#020617 !important;}
.footer-cta-secondary:hover{background:rgba(15,30,55,.98) !important;border-color:rgba(103,232,249,.48) !important;}

.footer-trust{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:14px !important;
  margin-top:26px !important;
}
.footer-trust span{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  min-height:46px !important;
  padding:0 18px !important;
  border:1px solid rgba(148,163,184,.15) !important;
  border-radius:999px !important;
  color:#d6dfec !important;
  background:rgba(255,255,255,.040) !important;
  font-size:16px !important;
  line-height:1 !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}
.footer-trust i{color:#7dd3fc !important;}

.footer-side{
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
  gap:48px !important;
  padding-top:22px !important;
}

.footer-columns{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:clamp(36px, 4vw, 64px) !important;
  align-items:start !important;
  min-width:0 !important;
  padding-left:12px !important;
}

.footer-column{
  min-width:0 !important;
  padding:0 28px 0 0 !important;
  background:transparent !important;
  border-right:1px solid rgba(125,211,252,.10) !important;
}
.footer-column:last-child{border-right:0 !important;padding-right:0 !important;}

.footer-column h4{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  margin:0 0 28px !important;
  color:#7dd3fc !important;
  font-size:18px !important;
  line-height:1.1 !important;
  font-weight:950 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}
.footer-column h4::before{
  content:"";
  flex:0 0 auto;
  width:10px;
  height:10px;
  border-radius:999px;
  background:linear-gradient(135deg,#67e8f9,#a78bfa);
  box-shadow:0 0 20px rgba(103,232,249,.60);
}

.footer-links{
  display:flex !important;
  flex-direction:column !important;
  gap:22px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.footer-links li{margin:0 !important;padding:0 !important;}
.footer-links a,
.footer-bottom-links a{
  color:#c4d2ea !important;
  text-decoration:none !important;
  transition:color .2s ease, transform .2s ease, background .2s ease, border-color .2s ease !important;
}
.footer-links a{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  width:100% !important;
  min-height:40px !important;
  padding:0 2px !important;
  border:1px solid transparent !important;
  border-radius:14px !important;
  font-size:17px !important;
  line-height:1.18 !important;
  font-weight:900 !important;
  letter-spacing:-.035em !important;
}
.footer-links a i{
  flex:0 0 auto !important;
  font-size:17px !important;
  color:#7aa3d8 !important;
  opacity:.92 !important;
  transition:.2s ease !important;
}
.footer-links a:hover{color:#fff !important;background:rgba(255,255,255,.040) !important;border-color:rgba(148,163,184,.12) !important;transform:translateX(4px) !important;}
.footer-links a:hover i{color:#67e8f9 !important;transform:translate(2px,-2px) !important;}

.footer-stats{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:clamp(20px, 2.4vw, 30px) !important;
  width:100% !important;
  margin-top:auto !important;
  padding:0 12px 0 0 !important;
}
.footer-stats div,
.footer-stat{
  min-width:0 !important;
  min-height:172px !important;
  padding:28px 28px !important;
  border:1px solid rgba(148,163,184,.18) !important;
  border-radius:24px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.048), rgba(255,255,255,.026)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 22px 60px rgba(0,0,0,.18) !important;
}
.footer-stat-icon{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:54px !important;
  height:54px !important;
  margin-bottom:20px !important;
  border-radius:999px !important;
  border:1px solid rgba(96,165,250,.38) !important;
  color:#67e8f9 !important;
  background:rgba(37,99,235,.22) !important;
  font-size:22px !important;
}
.footer-stat-2 .footer-stat-icon{border-color:rgba(168,85,247,.38) !important;color:#c084fc !important;background:rgba(126,34,206,.22) !important;}
.footer-stat-3 .footer-stat-icon{border-color:rgba(16,185,129,.38) !important;color:#34d399 !important;background:rgba(6,95,70,.22) !important;}
.footer-stats strong{
  display:block !important;
  color:#fff !important;
  font-size:42px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:-.045em !important;
  white-space:nowrap !important;
}
.footer-stats span:not(.footer-stat-icon){
  display:block !important;
  margin-top:10px !important;
  color:#7dd3fc !important;
  font-size:18px !important;
  line-height:1.25 !important;
  font-weight:950 !important;
}
.footer-stat-2 span:not(.footer-stat-icon){color:#c084fc !important;}
.footer-stat-3 span:not(.footer-stat-icon){color:#34d399 !important;}

.footer-bottom{
  margin-top:24px !important;
  padding:30px 0 0 !important;
  border-top:1px solid rgba(148,163,184,.18) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:28px !important;
  color:#c7d8f4 !important;
  font-size:18px !important;
  line-height:1.45 !important;
}
.footer-bottom p{margin:0 !important;}
.footer-bottom-links{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  flex-wrap:wrap !important;
  gap:18px 34px !important;
  font-size:18px !important;
  font-weight:900 !important;
}
.footer-bottom-links a{color:#d7e5ff !important;}
.footer-bottom-links a:hover{color:#67e8f9 !important;transform:translateY(-1px) !important;}

.footer-socials{display:flex;gap:12px;margin-top:20px;}
.footer-social,.footer-socials a{width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06);color:#a9c4ef;text-decoration:none;transition:.22s ease;}
.footer-social:hover,.footer-socials a:hover{background:rgba(255,255,255,.10);color:#fff;transform:translateY(-2px);}

@media (max-width: 1400px){
  .footer-premium-card{
    grid-template-columns:minmax(400px, 40%) minmax(610px, 60%) !important;
    gap:36px !important;
  }
  .footer-logo-frame{width:500px !important;min-height:162px !important;}
  .footer-logo-frame img,.footer-logo img{width:420px !important;max-height:118px !important;}
  .footer-column h4{font-size:16px !important;}
  .footer-links a{font-size:16px !important;}
  .footer-stats div,.footer-stat{min-height:156px !important;padding:24px !important;}
  .footer-stats strong{font-size:38px !important;}
}

@media (max-width: 1180px){
  .footer-premium-card{
    grid-template-columns:1fr !important;
    gap:42px !important;
    min-height:0 !important;
  }
  .footer-brand{max-width:100% !important;}
  .footer-title,.footer-description{max-width:760px !important;}
  .footer-side{gap:36px !important;padding-top:0 !important;}
  .footer-columns{padding-left:0 !important;}
  .footer-stats{padding-right:0 !important;}
}

@media (max-width: 900px){
  .footer-inner{width:min(100% - 28px, 760px) !important;padding:36px 0 28px !important;}
  .footer-premium-card{padding:28px 20px !important;border-radius:30px !important;}
  .footer-logo{margin-bottom:24px !important;}
  .footer-logo-frame{width:100% !important;min-height:145px !important;padding:22px !important;border-radius:24px !important;}
  .footer-logo-frame img,.footer-logo img{width:min(100%, 390px) !important;max-width:390px !important;max-height:112px !important;}
  .footer-badge{font-size:14px !important;min-height:44px !important;padding:0 18px !important;white-space:normal !important;}
  .footer-title{font-size:clamp(31px, 9vw, 46px) !important;}
  .footer-description{font-size:17px !important;}
  .footer-actions{align-items:stretch !important;gap:12px !important;}
  .footer-cta{width:100% !important;min-height:58px !important;font-size:17px !important;}
  .footer-trust span{font-size:15px !important;width:100% !important;}
  .footer-columns{grid-template-columns:1fr !important;gap:28px !important;}
  .footer-column{border-right:0 !important;border-bottom:1px solid rgba(125,211,252,.10) !important;padding:0 0 22px !important;}
  .footer-column:last-child{border-bottom:0 !important;}
  .footer-links{gap:10px !important;}
  .footer-links a{min-height:44px !important;padding:0 10px !important;background:rgba(255,255,255,.025) !important;border-color:rgba(148,163,184,.08) !important;font-size:17px !important;}
  .footer-stats{grid-template-columns:1fr !important;gap:14px !important;}
  .footer-stats div,.footer-stat{min-height:130px !important;}
  .footer-bottom{flex-direction:column !important;align-items:flex-start !important;font-size:16px !important;}
  .footer-bottom-links{justify-content:flex-start !important;font-size:16px !important;gap:12px 18px !important;}
}
