/* alicog-footer.css · ALICOG · NovaSiteWeb · 2026 */


/* ══ FOOTER ALICOG ══════════════════════════════════════════ */
.alicog-footer {
  /* Variables sémantiques (mode sombre par défaut) */
  --c-bg:#080C14; --c-bg-2:#0A0F1C; --c-bg-soft:#0F1520;
  --c-surface:#0F1520; --c-border:#1A2540; --c-border-soft:#1A2540;
  --c-text:#FFFFFF; --c-text-inv:#FFFFFF; --c-text-2:#C6D3E6;
  --c-text-muted:#A4B5CE; --c-text-soft:#A4B5CE;
  --c-on-dark:#C6D3E6; --c-on-dark-2:#A4B5CE;
  --ink:   var(--c-bg);
  --deep:  var(--c-bg-2);
  --slate: var(--c-border);
  --steel: var(--c-text-muted);
  --muted: var(--c-text-soft);
  --blue:  #1B72BE;
  --gold:  #1B72BE;
  --sand:  var(--c-bg-soft);
  --white: var(--c-text-inv);
  --f-t: 'Montserrat', sans-serif;
  --f-b: 'Montserrat', sans-serif;
  font-family: var(--f-b);
}
.alicog-footer * { box-sizing: border-box; margin: 0; padding: 0; }

/* Bande CTA pré-footer */
.af-cta {
  background: var(--blue);
  padding: 48px 72px;
}
.af-cta-inner {
  max-width: 1200px; margin: 0 auto;
  display: flex; justify-content: space-between;
  align-items: center; gap: 32px; flex-wrap: wrap;
}
.af-cta-text {
  font-family: var(--f-t);
  font-size: clamp(1.2rem, 2.5vw, 1.8rem);
  font-weight: 700; color: var(--c-text);
  line-height: 1.25;
}
.af-cta-text em {
  font-style: italic;
  opacity: 0.85;
}
.af-cta-btn {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--c-bg-2); color: var(--blue);
  padding: 13px 26px; border-radius: 3px;
  font-family: var(--f-t); font-size: .88rem; font-weight: 700;
  text-decoration: none; transition: all .2s; white-space: nowrap;
  flex-shrink: 0;
}
.af-cta-btn:hover {
  background: var(--ink); color: var(--c-text);
  transform: translateY(-2px);
}

/* Corps du footer */
.af-body {
  background: var(--deep);
  padding: 72px 72px 48px;
  border-top: 1px solid var(--slate);
}
.af-body-inner {
  max-width: 1200px; margin: 0 auto;
  display: grid;
  grid-template-columns: 1.8fr 1fr 1fr 1fr;
  gap: 56px;
}

/* Colonne brand */
.af-brand {}
.af-logo {
  display: block; margin-bottom: 20px;
  max-width: 220px; height: auto;
}
.af-tagline {
  font-family: var(--f-b); font-size: .78rem;
  color: var(--c-on-dark-2); line-height: 1.7;
  margin-bottom: 24px; max-width: 280px;
}
.af-contacts { display: flex; flex-direction: column; gap: 12px; }
.af-contact {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--f-b); font-size: .8rem;
}
.af-contact-ico {
  width: 30px; height: 30px; border-radius: 6px;
  background: rgba(27,114,190,.08);
  border: 1px solid rgba(27,114,190,.15);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.af-contact-ico svg { width: 13px; height: 13px; }
.af-contact a { color: var(--c-on-dark-2); text-decoration: none; transition: color .2s; }
.af-contact a:hover { color: var(--white); }
.af-contact span { color: var(--c-on-dark-2); }

/* Colonnes nav */
.af-nav {}
.af-nav-title {
  font-family: var(--f-t); font-size: .72rem; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--c-text); margin-bottom: 18px;
  padding-bottom: 10px; border-bottom: 1px solid var(--slate);
}
.af-nav-list { list-style: none; display: flex; flex-direction: column; gap: 9px; }
.af-nav-list a {
  font-family: var(--f-b); font-size: .82rem;
  color: var(--c-on-dark-2); text-decoration: none;
  transition: all .2s; display: flex; align-items: center; gap: 6px;
}
.af-nav-list a:hover { color: var(--white); padding-left: 4px; }
.af-nav-list a::before {
  content: '';
  width: 4px; height: 4px; border-radius: 50%;
  background: var(--slate); flex-shrink: 0;
  transition: background .2s;
}
.af-nav-list a:hover::before { background: var(--blue); }

/* Réseaux sociaux */
.af-social { display: flex; gap: 8px; margin-top: 24px; }
.af-social-btn {
  width: 36px; height: 36px; border-radius: 6px;
  background: rgba(255,255,255,.04); border: 1px solid var(--slate);
  display: flex; align-items: center; justify-content: center;
  text-decoration: none; transition: all .2s;
}
.af-social-btn:hover {
  background: var(--blue); border-color: var(--blue);
  transform: translateY(-2px);
}
.af-social-btn svg { width: 15px; height: 15px; }

/* Barre de bas */
.af-bottom {
  background: var(--ink);
  border-top: 1px solid var(--slate);
  padding: 18px 72px;
}
.af-bottom-inner {
  max-width: 1200px; margin: 0 auto;
  display: flex; justify-content: space-between;
  align-items: center; gap: 16px; flex-wrap: wrap;
}
.af-copy {
  font-family: var(--f-b); font-size: .72rem; color: var(--muted);
}
.af-copy a { color: var(--muted); text-decoration: none; transition: color .2s; }
.af-copy a:hover { color: var(--white); }
.af-legal {
  display: flex; gap: 20px; align-items: center;
}
.af-legal a {
  font-family: var(--f-b); font-size: .72rem;
  color: var(--muted); text-decoration: none; transition: color .2s;
}
.af-legal a:hover { color: var(--white); }
.af-legal-sep { width: 1px; height: 12px; background: var(--slate); }

/* Badge NovaSiteWeb */
.af-made {
  font-family: var(--f-b); font-size: .68rem; color: var(--slate);
  transition: color .2s;
}
.af-made:hover { color: var(--muted); }
.af-made a { color: inherit; text-decoration: none; }

/* RESPONSIVE */
@media (max-width: 1024px) {
  .af-cta { padding: 40px 32px; }
  .af-body { padding: 56px 32px 36px; }
  .af-body-inner { grid-template-columns: 1fr 1fr; gap: 40px; }
  .af-bottom { padding: 16px 32px; }
  .af-cta-inner { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 640px) {
  .af-cta { padding: 32px 20px; }
  .af-body { padding: 48px 20px 28px; }
  .af-body-inner { grid-template-columns: 1fr; gap: 32px; }
  .af-bottom { padding: 14px 20px; }
  .af-bottom-inner { flex-direction: column; align-items: flex-start; gap: 10px; }
  .af-legal { flex-wrap: wrap; gap: 10px; }
}

/* ══ FOOTER MOBILE FIRST ══ */
@media (max-width: 639px) {
  .af-cta { padding: 32px 20px; }
  .af-cta-inner { flex-direction: column; align-items: flex-start; gap: 16px; }
  .af-body { padding: 40px 20px 28px; }
  .af-body-inner { grid-template-columns: 1fr; gap: 28px; }
  .af-bottom { padding: 14px 20px; }
  .af-bottom-inner { flex-direction: column; align-items: flex-start; gap: 10px; }
  .af-legal { flex-wrap: wrap; gap: 10px; }
}
@media (min-width: 640px) {
  .af-cta { padding: 40px 32px; }
  .af-cta-inner { flex-direction: row; justify-content: space-between; align-items: center; }
  .af-body-inner { grid-template-columns: 1fr 1fr; gap: 36px; }
  .af-bottom-inner { flex-direction: row; justify-content: space-between; align-items: center; }
}
@media (min-width: 1024px) {
  .af-cta { padding: 48px 72px; }
  .af-body { padding: 72px 72px 48px; }
  .af-body-inner { grid-template-columns: 1.8fr 1fr 1fr 1fr; gap: 56px; }
  .af-bottom { padding: 18px 72px; }
}



@keyframes af-pulse {
  0%,100% { opacity:1; transform:scale(1); }
  50%      { opacity:.5; transform:scale(.75); }
}

/* Bascule logo footer selon le mode */
.af-logo-light{display:none}
.af-logo-dark{display:block}
html[data-theme="light"] .af-logo-dark{display:none}
html[data-theme="light"] .af-logo-light{display:block}

/* Boutons sociaux : visibles dans les deux modes */
.af-social-btn{background:rgba(27,114,190,.12);border:1px solid rgba(27,114,190,.4)}
.af-social-btn svg{stroke:#5DA8E0;fill:none;stroke-width:1.6}
.af-social-btn:hover{background:#1B72BE;border-color:#1B72BE}
.af-social-btn:hover svg{stroke:#FFFFFF}
html[data-theme="light"] .af-social-btn{background:rgba(27,114,190,.1);border-color:rgba(27,114,190,.45)}
html[data-theme="light"] .af-social-btn svg{stroke:#1B72BE}
html[data-theme="light"] .af-social-btn:hover svg{stroke:#FFFFFF}
