.lx-footer, .lx-footer *, .lx-footer *::before, .lx-footer *::after {
  box-sizing: border-box;
}

.lx-footer :is(img,svg){
  display:block;
  max-width:100%;
  height:auto;
}

.lx-footer {
  --lx-bg: #f0f8ff; /* Couleur de fond légère */
  --lx-paper: #ffffff;
  --lx-ink: #000000; /* Couleur de texte principale */
  --lx-muted: #555555; /* Couleur de texte secondaire */
  --lx-gold: #10367A; /* Couleur Primaire */
  --lx-gold-2:#FE5716; /* Couleur d'Accent */
  --lx-blue: #D3D3D3; /* Couleur Secondaire */
  --lx-line: #cccccc; /* Couleur des lignes */
  --lx-shadow: 0 18px 40px rgba(0,0,0,.08);

  color: var(--lx-ink);
  background:
    radial-gradient(100% 90% at 10% 0%, #e6f0fa 0%, transparent 55%), /* Fond radial subtil */
    radial-gradient(100% 100% at 100% 0%, #d9eaf7 0%, transparent 55%), /* Fond radial subtil */
    var(--lx-bg);
  position:relative;
  isolation:isolate;
  font: 15px/1.65 ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial;
  max-width: 100%;
  overflow-x: hidden;
  overflow-y: hidden;
}

.lx-footer::before,
.lx-footer::after{
  content:""; position:absolute; z-index:0; pointer-events:none; filter: blur(18px); opacity:.45;
  background: radial-gradient(closest-side, color-mix(in oklab, var(--lx-gold) 55%, #ffffff 20%), transparent 70%); /* Utilisation de la couleur primaire */
}
.lx-footer::before{ width:260px; height:260px; left:-60px; top:-60px; }
.lx-footer::after { width:320px; height:320px; right:-80px; bottom:-80px; background:
  radial-gradient(closest-side, color-mix(in oklab, var(--lx-blue) 55%, #ffffff 20%), transparent 70%); /* Utilisation de la couleur secondaire */
}

.lx-wrap{
  max-width:1200px;
  margin:0 auto;
  padding: clamp(28px, 4vw, 56px) 22px;
  position:relative;
  z-index:1;
}

.lx-crown{
  position:relative;
  border-radius:22px;
  padding: clamp(16px, 2vw, 24px);
  background: linear-gradient(180deg, #ffffff, #f8fafa); /* Fond blanc légèrement grisé */
  border: 1.5px solid var(--lx-line);
  box-shadow: var(--lx-shadow);
}

.lx-crown::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:23px;
  pointer-events:none;
  background: linear-gradient(90deg, var(--lx-gold), var(--lx-gold-2) 40%, transparent 60%); /* Primaire et Accent */
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  padding:1.5px;
  opacity:.55;
}

.lx-crown__inner{
  display:flex;
  gap:18px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
}

.lx-crown h2{
  margin:0;
  font-weight:900;
  letter-spacing:.2px;
  font-size: clamp(1.2rem, 1rem + 1.4vw, 1.8rem);
  font-family: "Georgia","Times New Roman",serif;
  color: var(--lx-ink); /* Texte noir */
}

.lx-crown p{
  margin:4px 0 0;
  color:var(--lx-muted); /* Texte secondaire */
  max-width:60ch;
}

.lx-pill{
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  padding:.85rem 1.1rem;
  border-radius:999px;
  border: 1.5px solid var(--lx-gold); /* Primaire */
  background: linear-gradient(180deg, #ffffff, #f0f8ff); /* Blanc et fond léger */
  text-decoration:none;
  color: var(--lx-ink); /* Texte noir */
  font-weight:900;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
  box-shadow: 0 8px 24px rgba(16,54,122,.2); /* Ombre basée sur la couleur primaire */
}

.lx-pill:hover{
  transform: translateY(-1px);
  border-color: var(--lx-gold-2); /* Accent */
  background: linear-gradient(180deg, #ffffff, #e6f0fa); /* Fond léger */
}

.lx-pill svg{
  width:20px;
  height:20px;
  fill: var(--lx-ink); /* Icône noire */
}

.lx-grid{
  display:grid;
  gap:20px;
  margin-top: clamp(20px, 3vw, 28px);
  grid-template-columns: 1fr 1fr 1fr 1fr;
  max-width: 100%;
  overflow-x: hidden;
  overflow-y: hidden;
}

@media (max-width: 1000px){ .lx-grid{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px){ .lx-grid{ grid-template-columns: 1fr; } }

.lx-brand{
  background: var(--lx-paper);
  border: 1.5px solid var(--lx-line);
  border-radius:18px;
  padding:18px;
}

.lx-logo{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:900;
  letter-spacing:.2px;
  font-size: clamp(18px, 1.2vw + 14px, 22px);
  color: var(--lx-ink); /* Texte noir */
}

.lx-mark{
  width:36px;
  height:36px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background: conic-gradient(from 0deg, var(--lx-gold), var(--lx-gold-2), var(--lx-gold)); /* Primaire et Accent */
  box-shadow: 0 0 0 2px #ffffff, 0 8px 28px rgba(16,54,122,.25); /* Ombre basée sur la couleur primaire */
}

.lx-brand p{
  color:var(--lx-muted); /* Texte secondaire */
  margin:10px 0 0;
  max-width:56ch;
}

.lx-stars{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:10px;
}

.lx-stars svg{
  width:18px;
  height:18px;
  fill: var(--lx-gold-2); /* Accent */
}

.lx-note{
  color:var(--lx-muted); /* Texte secondaire */
  font-weight:700;
}

.lx-col h4{
  font-size:.9rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  margin: 4px 0 10px;
  font-weight:800;
  color: var(--lx-ink); /* Texte noir */
}

.lx-links{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:8px;
}

.lx-link{
  color:var(--lx-ink); /* Texte noir */
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  border-bottom: 1px dashed transparent;
  transition: color .15s ease, border-color .15s ease, transform .15s ease;
}

.lx-link:hover{
  color: var(--lx-gold-2); /* Accent au survol */
  border-color: var(--lx-gold-2); /* Accent au survol */
  transform: translateX(2px);
}

.lx-link svg{
  width:14px;
  height:14px;
  fill: var(--lx-ink); /* Icône noire */
}

.lx-news{
  background: var(--lx-paper);
  border: 1.5px solid var(--lx-line);
  border-radius:18px;
  padding:18px;
}

.lx-news h4{
  margin:0 0 8px;
  font-size:1rem;
  color: var(--lx-ink); /* Texte noir */
}

.lx-news p{
  margin:0 0 10px;
  color:var(--lx-muted); /* Texte secondaire */
}

.lx-form{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.lx-input{
  flex:1 1 280px;
  min-width: 220px;
  border: 1.5px solid var(--lx-line);
  border-radius:999px;
  padding:.8rem 1rem;
  background:#ffffff; /* Fond blanc */
  color:var(--lx-ink); /* Texte noir */
  outline:none;
  transition: border-color .15s ease, box-shadow .15s ease;
  font-size: .95rem;
}

.lx-input:focus{
  border-color: var(--lx-gold-2); /* Accent au focus */
  box-shadow: 0 0 0 3px rgba(254,87,22,.18); /* Ombre basée sur l'accent */
}

.lx-submit{
  border:none;
  cursor:pointer;
  border-radius:999px;
  padding:.85rem 1.1rem;
  font-weight:900;
  color:#ffffff; /* Texte blanc */
  background: linear-gradient(90deg, var(--lx-gold), var(--lx-gold-2)); /* Primaire et Accent */
  box-shadow: 0 10px 22px rgba(254,87,22,.22); /* Ombre basée sur l'accent */
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}

.lx-submit:hover{
  transform: translateY(-1px);
  filter: saturate(1.03);
  box-shadow: 0 16px 30px rgba(254,87,22,.28); /* Ombre basée sur l'accent */
}

.lx-divider{
  height:1px;
  margin: clamp(18px,3vw,28px) 0;
  background: linear-gradient(90deg, transparent, var(--lx-line), transparent);
}

.lx-bottom{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  color: var(--lx-muted); /* Texte secondaire */
  font-size:.93rem;
}

.lx-legal{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.lx-legal a{
  color: var(--lx-muted); /* Texte secondaire */
  text-decoration:none;
  border-bottom:1px solid transparent;
}

.lx-legal a:hover{
  color: var(--lx-ink); /* Texte noir au survol */
  border-color: var(--lx-ink); /* Bordure noire au survol */
}

@media (prefers-reduced-motion: reduce){
  .lx-pill, .lx-link, .lx-submit{
    transition:none;
  }
}