/* footer : styles partagés du site. */
.site-footer { margin-top: 4rem; border-top: 1px solid #222; background: #000; text-align: center; overflow: hidden; }
.recognition-strip { display: flex; align-items: center; justify-content: center; gap: .8rem; padding: .75rem 1rem; border-bottom: 1px solid #191919; background: #050505; color: #c5a059; font: 700 .7rem/1.3 var(--title-font); letter-spacing: .06em; text-transform: uppercase; }
.recognition-strip img { width: auto; height: 28px; object-fit: contain; }
.footer-inner { padding-block: 2rem 2.5rem; }
.footer-brand { margin: 0 0 1rem; letter-spacing: .12em; }
.footer-social, .footer-legal { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem 1.1rem; margin: 1rem 0; }
.footer-social a { color: #ccc; }
.footer-legal { text-transform: uppercase; letter-spacing: .08em; font-size: .75rem; }
.footer-legal a { color: #777; }
.ethic-badge { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .55rem .8rem; margin: .8rem auto; padding: .65rem 1rem; border: 1px solid #1d1d1d; border-radius: 999px; background: #0a0a0a; color: #777; font-size: .72rem; }
.ethic-dot { display: inline-block; width: 6px; height: 6px; margin-right: .35rem; border-radius: 50%; background: #2ecc71; }
.footer-copy { padding-top: 1.1rem; border-top: 1px solid #191919; color: #555; font-size: .77rem; }
.footer-copy p { margin: .3rem 0; }
.footer-copy a { color: #ddd; font-weight: 700; }
.heart-anim { color: #c5a059; }
.site-footer { margin-top: 3rem; text-align: left; }
.footer-shell { padding-block: 1.5rem 1rem; }
.footer-grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
.footer-identity h2 { margin: 0 0 .35rem; font-size: 1.1rem; letter-spacing: .12em; text-transform: uppercase; }
.footer-identity p { margin: .2rem 0; color: #888; font-size: .78rem; }
.footer-privacy { color: #626262 !important; }
.footer-links, .footer-legal { display: grid; justify-content: start; justify-items: start; gap: .35rem; margin: 0; }
.footer-links strong, .footer-legal strong { color: #d0b46a; font: 400 .76rem/1.3 var(--title-font); letter-spacing: .1em; text-transform: uppercase; }
.footer-links a, .footer-legal a { color: #999; font-size: .78rem; text-transform: none; letter-spacing: 0; }
.footer-bottomline { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .4rem 1.5rem; margin-top: 1.25rem; padding-top: .8rem; border-top: 1px solid #171717; color: #555; font-size: .7rem; }
.footer-bottomline a { color: #aaa; font-weight: 700; }
@media (min-width: 760px) {
.footer-grid { grid-template-columns: 1.7fr .65fr .8fr; gap: 2rem; }
}
.footer-recognition { display: flex; align-items: center; gap: .55rem; margin-top: .65rem; }
.footer-recognition img { width: auto; height: 19px; max-width: 88px; object-fit: contain; opacity: .82; }
.footer-bottomline { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .35rem 1rem; }
.footer-signature { color: #666; }
.footer-signature a { color: #8f825f; font-weight: 500; }
@media (max-width: 759px) {
.footer-recognition img { height: 17px; }
.footer-bottomline { justify-content: flex-start; }
}

/* Appel a l'action du pied de page : pulsation visuelle discrete, pour que le lien soit remarque.
   Images cles purement CSS (aucun script, aucune ressource externe) ; desactivee si le visiteur
   demande moins d'animations. */
.footer-signature a {
  position: relative;
  display: inline-block;
  color: #d9c48d;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid rgba(217, 196, 141, .45);
  animation: pg-cabinet-pulse 2600ms ease-in-out infinite;
}
.footer-signature a::after {
  content: "";
  position: absolute;
  inset: -5px -10px;
  border-radius: .4rem;
  pointer-events: none;
  animation: pg-cabinet-halo 2600ms ease-out infinite;
}
@keyframes pg-cabinet-pulse {
  0%, 100% { opacity: .72; }
  50% { opacity: 1; }
}
@keyframes pg-cabinet-halo {
  0% { box-shadow: 0 0 0 0 rgba(217, 196, 141, .40); }
  70% { box-shadow: 0 0 0 12px rgba(217, 196, 141, 0); }
  100% { box-shadow: 0 0 0 0 rgba(217, 196, 141, 0); }
}
.footer-signature a:hover,
.footer-signature a:focus-visible {
  color: #f0e3b8;
  border-bottom-color: #f0e3b8;
}
@media (prefers-reduced-motion: reduce) {
  .footer-signature a,
  .footer-signature a::after { animation: none; }
}
