/**
 * Footer IKEHU : bande réassurance, colonnes (marque, liens, newsletter),
 * bas de page. Responsive et fidèle à la maquette.
 */

/* ---------- Bande réassurance ---------- */
.ikehu-reassure {
  background-color: var(--ikehu-reassure-bg);
  color: var(--ikehu-reassure-text);
}

.ikehu-reassure__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--ikehu-space-md);
  max-width: 1400px;
  margin: 0 auto;
  padding: 18px var(--ikehu-space-lg);
  list-style: none;
}

.ikehu-reassure__item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.ikehu-reassure__icon {
  flex: none;
}

.ikehu-reassure__text {
  display: flex;
  flex-direction: column;
  line-height: 1.3;
}

.ikehu-reassure__title {
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ikehu-reassure__sub {
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.85;
}

/* ---------- Footer principal ---------- */
.ikehu-footer__main {
  background-color: var(--ikehu-footer-bg);
  color: var(--ikehu-footer-text);
}

.ikehu-footer__grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr 1.4fr;
  gap: var(--ikehu-space-lg);
  max-width: 1400px;
  margin: 0 auto;
  padding: var(--ikehu-space-2xl) var(--ikehu-space-lg) var(--ikehu-space-xl);
}

/* Logo variante claire */
.ikehu-logo--light {
  color: var(--ikehu-footer-heading);
}

.ikehu-footer__tagline {
  max-width: 30ch;
  margin: var(--ikehu-space-md) 0 var(--ikehu-space-md);
  font-size: 0.9rem;
  line-height: 1.6;
}

/* Réseaux sociaux */
.ikehu-social {
  display: flex;
  align-items: center;
  gap: var(--ikehu-space-sm);
  margin: 0;
  padding: 0;
  list-style: none;
}

.ikehu-social__link {
  display: inline-flex;
  color: var(--ikehu-footer-text);
  transition: color 0.2s ease;
}

.ikehu-social__link:hover,
.ikehu-social__link:focus-visible {
  color: var(--ikehu-footer-hover);
}

/* Colonnes de liens.
   Maillage : une colonne dont aucune page n'existe encore ne rend pas de liste ;
   on masque alors son intitulé pour ne pas laisser une colonne vide. Elle
   réapparaît dès qu'une de ses pages est publiée. */
.ikehu-footer__col:not(:has(.ikehu-footer__menu)) {
  display: none;
}

.ikehu-footer__heading {
  margin: 0 0 var(--ikehu-space-md);
  font-size: 0.76rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ikehu-footer-heading);
}

.ikehu-footer__menu {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ikehu-footer__menu li {
  margin: 0 0 12px;
}

.ikehu-footer__menu a {
  font-size: 0.9rem;
  text-decoration: none;
  color: var(--ikehu-footer-text);
  transition: color 0.2s ease;
}

.ikehu-footer__menu a:hover,
.ikehu-footer__menu a:focus-visible {
  color: var(--ikehu-footer-hover);
}

/* Newsletter */
.ikehu-footer__news-text {
  margin: 0 0 var(--ikehu-space-md);
  font-size: 0.9rem;
  line-height: 1.6;
}

.ikehu-newsletter {
  display: flex;
  max-width: 340px;
  border: 1px solid var(--ikehu-footer-border);
}

.ikehu-newsletter__input {
  flex: 1 1 auto;
  min-width: 0;
  padding: 12px 14px;
  font-size: 0.9rem;
  color: var(--ikehu-footer-heading);
  background: transparent;
  border: 0;
}

.ikehu-newsletter__input::placeholder {
  color: var(--ikehu-footer-text);
}

.ikehu-newsletter__input:focus-visible {
  outline: 2px solid var(--ikehu-cream);
  outline-offset: -2px;
}

.ikehu-newsletter__submit {
  flex: none;
  padding: 12px 20px;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ikehu-forest);
  background-color: var(--ikehu-cream);
  border: 0;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.ikehu-newsletter__submit:hover,
.ikehu-newsletter__submit:focus-visible {
  background-color: var(--ikehu-sand);
}

/* ---------- Bas de page ---------- */
.ikehu-footer__bottom {
  background-color: var(--ikehu-footer-bg);
  border-top: 1px solid var(--ikehu-footer-border);
}

.ikehu-footer__copyright {
  max-width: 1400px;
  margin: 0 auto;
  padding: var(--ikehu-space-md) var(--ikehu-space-lg);
  font-size: 0.76rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ikehu-footer-text);
}

/* ---------- Responsive ---------- */
@media (max-width: 1080px) {
  .ikehu-footer__grid {
    grid-template-columns: 1fr 1fr 1fr;
    row-gap: var(--ikehu-space-xl);
  }

  .ikehu-footer__brand {
    grid-column: 1 / -1;
  }

  .ikehu-footer__newsletter {
    grid-column: 1 / -1;
  }
}

@media (max-width: 720px) {
  .ikehu-reassure__list {
    grid-template-columns: 1fr 1fr;
    gap: var(--ikehu-space-md) var(--ikehu-space-sm);
    padding: var(--ikehu-space-md);
  }

  .ikehu-reassure__item {
    justify-content: flex-start;
  }

  .ikehu-footer__grid {
    grid-template-columns: 1fr 1fr;
    padding: var(--ikehu-space-xl) var(--ikehu-space-md) var(--ikehu-space-lg);
  }
}

@media (max-width: 460px) {
  .ikehu-footer__grid {
    grid-template-columns: 1fr;
  }
}
