/* footer.css — styles du pied de page partagés pour les articles de blog.
   Les articles ne chargent pas main.css (ils ont leur CSS inline) ; ce fichier
   apporte les règles footer manquantes (grille, newsletter, colonnes) pour que
   le footer soit aussi soigné que sur le reste du site.
   Ne redéfinit PAS .footer / .footer::before / .footer-bottom (déjà inline).
   Toutes les variables (--ink, --ink-soft, --ink-muted, --line, --fuchsia…) sont
   définies dans le :root de chaque article (clair + sombre). */

/* Grille des colonnes */
.footer-grid { display: grid; grid-template-columns: 1fr; gap: 40px; margin-bottom: 48px; }
@media (min-width: 600px)  { .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .footer-grid { grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr; } }

/* Bloc newsletter inline */
.footer-newsletter {
  display: grid; grid-template-columns: 1fr; gap: 28px; align-items: center;
  padding: 8px 0 36px; border-bottom: 1px solid var(--line); margin-bottom: 40px;
}
@media (min-width: 760px) { .footer-newsletter { grid-template-columns: 1.2fr 1fr; gap: 60px; } }
.footer-newsletter h3 {
  font-family: 'Archivo Black', sans-serif; font-size: clamp(22px, 3vw, 32px);
  line-height: 1.05; letter-spacing: -.02em; text-transform: uppercase;
  color: var(--ink); margin: 8px 0;
}
.footer-newsletter h3 em { font-style: normal; color: var(--fuchsia); }
.footer-newsletter p { font-size: 14px; line-height: 1.55; color: var(--ink-soft); max-width: 480px; }
.footer-newsletter form { display: flex; gap: 8px; flex-wrap: wrap; position: relative; }
.footer-newsletter input[type="email"] {
  flex: 1 1 200px; padding: 14px 16px; border: 1px solid var(--line-strong);
  border-radius: 999px; font-family: inherit; font-size: 16px;
  background: var(--bg); color: var(--ink); transition: border-color .2s;
}
.footer-newsletter input[type="email"]:focus { outline: none; border-color: var(--fuchsia); }
.footer-newsletter button {
  padding: 14px 24px; background: var(--fuchsia); color: #fff; border: none;
  border-radius: 999px; font-family: 'Archivo', sans-serif; font-weight: 700;
  font-size: 13px; letter-spacing: .04em; text-transform: uppercase;
  cursor: pointer; white-space: nowrap; transition: transform .15s, opacity .2s;
}
.footer-newsletter button:hover { transform: translateY(-2px); }

/* Marque + colonnes de liens */
.footer-brand h3 { font-family: 'Archivo Black', sans-serif; font-size: 32px; letter-spacing: -.02em; text-transform: uppercase; margin-bottom: 12px; color: var(--ink); }
.footer-brand p { color: var(--ink-soft); font-size: 15px; max-width: 420px; }
.footer-col h5 {
  font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: .2em;
  font-weight: 700; text-transform: uppercase; color: var(--ink-muted); margin-bottom: 18px;
}
.footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 10px; padding: 0; margin: 0; }
.footer-col a { color: var(--ink); text-decoration: none; font-size: 15px; transition: color .2s; display: inline-flex; align-items: center; gap: 8px; }
.footer-col a:hover { color: var(--fuchsia); }
.footer-col svg { width: 16px; height: 16px; flex-shrink: 0; }

/* Bas de footer : aligné comme sur le reste du site (≥600px) */
@media (min-width: 600px) {
  .footer-bottom { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; text-align: left; }
}
