/* ===================== */
/*  BANDEAU CONSENTEMENT */
/* ===================== */

.consent-banner {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  background: #2f4a3a;
  border-top: 2px solid #8dc63f;
  box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.25);
  padding: 20px 18px;
  transform: translateY(100%);
  transition: transform 0.35s ease;
}

.consent-banner.is-visible {
  transform: translateY(0);
}

.consent-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 28px;
}

.consent-text {
  flex: 1 1 auto;
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.9);
}

.consent-text a {
  color: #8dc63f;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.consent-text a:hover {
  color: #fff;
}

.consent-actions {
  flex: 0 0 auto;
  display: flex;
  gap: 12px;
}

/* Les deux boutons ont volontairement le meme poids visuel (exigence CNIL) */
.consent-btn {
  font-family: inherit;
  font-size: 15px;
  font-weight: 500;
  padding: 11px 26px;
  border-radius: 999px;
  border: 1px solid #8dc63f;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.2s, color 0.2s;
}

.consent-btn-refuse {
  background: transparent;
  color: #8dc63f;
}

.consent-btn-refuse:hover {
  background: rgba(141, 198, 63, 0.15);
}

.consent-btn-accept {
  background: #8dc63f;
  color: #1e3d26;
}

.consent-btn-accept:hover {
  background: #a3d95c;
}

.consent-btn:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

/* Lien de reouverture dans le footer */
.consent-reopen {
  background: none;
  border: none;
  padding: 0;
  font-family: inherit;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.75);
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}

.consent-reopen:hover {
  color: #8dc63f;
}

@media (max-width: 860px) {
  .consent-inner {
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
  }

  .consent-actions {
    flex-direction: row;
  }

  .consent-btn {
    flex: 1 1 0;
    padding: 12px 10px;
  }
}

/* Le pied de page aligne le copyright et le bouton ci-dessus dans un conteneur
   flex sans espacement : les deux textes se touchent. On corrige ici plutot que
   dans footer.css, pour que le correctif reste solidaire du bandeau. Ce fichier
   est charge apres footer.css, la regle prend donc le dessus. */
.footer-bottom-inner {
  gap: 6px 18px;
  flex-wrap: wrap;
}
