.c-footer {
  padding-block: 20px;
  margin-top: auto;
  background: #0a1a2b;
}


/* ------------------------------------------------------
   GRID
------------------------------------------------------ */
.c-footer__grid {
  --col-max: 280px;
  --footer-gap: var(--gap-md, 16px);

  display: grid;
  gap: var(--footer-gap);
  grid-template-columns: 1fr; /* mobile */
  justify-content: center;

  max-inline-size: calc(4 * var(--col-max));
  margin-inline: auto;
}

/* Tablet (2 colonnes) */
@media (min-width: 641px) and (max-width: 1024px) {
  .c-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Desktop (4 colonnes max) */
@media (min-width: 1025px) {
  .c-footer__grid {
    grid-template-columns: repeat(4, minmax(0, var(--col-max)));
  }
}


/* ------------------------------------------------------
   SWAP VISIBILITY (comportement identique à ton ancien)
   Base: tout caché
------------------------------------------------------ */
.c-footer__grid > .c-footer__block {
  display: none;
  flex-direction: column;
  gap: var(--footer-gap);
}

.c-footer__grid > .c-footer__block ul {
  display: flex;
  flex-direction: column;
  gap: var(--footer-gap);
  padding: 0;
  margin: 0;
  list-style: none;
}

/* Mobile ≤640 : seulement le bloc mobile */
@media (max-width: 640px) {
  .c-footer__grid > .c-footer__block--mobile {
    display: flex;
  }
}

/* Tablet 641–1024 : bloc mobile + légal */
@media (min-width: 641px) and (max-width: 1024px) {
  .c-footer__grid > .c-footer__block--mobile,
  .c-footer__grid > .c-footer__block--legal {
    display: flex;
  }
}

/* Desktop ≥1025 : brand + legal + help + contact */
@media (min-width: 1025px) {
  .c-footer__grid > .c-footer__block--brand,
  .c-footer__grid > .c-footer__block--legal,
  .c-footer__grid > .c-footer__block--help,
  .c-footer__grid > .c-footer__block--contact {
    display: flex;
  }
}

/* ------------------------------------------------------
   TYPO / LINKS
------------------------------------------------------ */
.c-footer__block {
  line-height: var(--lh-tight, 1.25);
  text-align: right; /* ton rendu d’origine */
}

/* brand align à gauche (comme ton ancien footer-col--brand) */
.c-footer__block--brand {
  text-align: left;
}

.c-footer__block h3 {
  margin: 0;
  font-size: var(--fs-200, 0.95rem);
  line-height: var(--lh-snug, 1.2);
  color: #fff;
}

.c-footer__block a {
  color: var(--on-surface-inv-link, inherit);
  font-size: var(--fs-100, 0.87rem);
  text-decoration: none;
  transition: color var(--dur-base, 200ms) var(--ease-out, cubic-bezier(.2,.8,.2,1));
}

.c-footer__block a:hover,
.c-footer__block a:focus {
  color: var(--color-link-hover, currentColor);
}

/* ------------------------------------------------------
   SOCIALS
------------------------------------------------------ */
.c-footer__socials {
  display: flex;
  flex-direction: row !important;
  gap: var(--gap-lg, 18px);
  align-items: center;
}

.c-footer__socials li {
  list-style: none;
}

.c-footer__socials a {
  display: inline-flex;
}

.icon-chip {
  inline-size: 2.25rem;
  block-size: 2.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-full, 999px);
  background: var(--color-accent, #ff1749);
  color: var(--on-accent, #fff);
  transition: background-color var(--dur-base, 200ms) var(--ease-out, cubic-bezier(.2,.8,.2,1));
}

.icon-chip:hover {
  filter: brightness(.94);
}

/* centrage socials dans le bloc mobile (comme ton fallback) */
@media (max-width: 640px) {
  .c-footer__block--mobile .c-footer__socials {
    justify-content: center;
  }
}

/* ------------------------------------------------------
   MOBILE LINKS + META (spécifique bloc mobile)
------------------------------------------------------ */
.c-footer__links--mobile {
  align-items: center;
  justify-content: center;
  text-align: center;
}

.c-footer__meta--mobile {
  flex-direction: row !important;
  gap: 0 !important;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

.c-footer__meta--mobile li + li::before {
  content: "|";
  margin: 0 6px;
  color: var(--on-surface-inv-link, inherit);
  opacity: .9;
}

/* Tablet: links mobile align à gauche + meta align à gauche */
@media (min-width: 641px) and (max-width: 1024px) {
  .c-footer__block--mobile .c-footer__links--mobile {
    align-items: flex-start;
    text-align: left;
  }
  .c-footer__block--mobile .c-footer__meta--mobile {
    justify-content: flex-start;
  }
}

/* ------------------------------------------------------
   COPYRIGHT (desktop only)
------------------------------------------------------ */
.c-footer__copyright {
  display: none;
  font-size: var(--fs-200, 0.95rem);
  color: var(--on-bg, currentColor);
  opacity: .9;
  margin: 0;
}

@media (min-width: 1025px) {
  .c-footer__copyright {
    display: block;
  }
}

/* ------------------------------------------------------
   Petites sécurités
------------------------------------------------------ */
.c-footer__grid .visually-hidden {
 display: none;
}