/* src/components/footer.css */
/* Footer version SolaceUI (portée en vanilla) — logo centré + nav pills + social cloud + divider strié animé + copyright. */

.site-footer {
  width: 100%;
  padding: var(--space-12) 0 var(--space-8);
  background-color: var(--bg);
  color: var(--text);
  overflow: hidden;
}

.footer-hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-8);
  margin-bottom: var(--space-10);
}

.footer-logo {
  height: 44px;
  width: auto;
  mix-blend-mode: multiply;
}
@media (min-width: 768px) {
  .footer-logo { height: 54px; }
}

.footer-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3) var(--space-5);
  position: relative;
  z-index: 1;
}

.footer-nav-link {
  position: relative;
  isolation: isolate;
  display: inline-block;
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 500;
  color: var(--text);
  text-decoration: none;
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-md);
  transition: color 0.3s ease, transform 0.25s ease;
}

.footer-nav-link::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(216, 149, 69, 0.18);
  border-radius: var(--radius-md);
  transform: scale(0);
  opacity: 0;
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s ease;
  z-index: -1;
}

.footer-nav-link:hover,
.footer-nav-link:focus-visible {
  color: var(--wood);
  transform: scale(1.05);
}
.footer-nav-link:hover::before,
.footer-nav-link:focus-visible::before {
  transform: scale(1);
  opacity: 1;
}
.footer-nav-link:active { transform: scale(0.95); }

.footer-social {
  display: flex;
  gap: var(--space-3);
  align-items: center;
}

.social-tile {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--border);
  border-radius: 50%;
  color: var(--text);
  text-decoration: none;
  background-color: transparent;
  transition: background-color 0.35s cubic-bezier(0.34, 1.56, 0.64, 1),
              border-color 0.35s ease,
              color 0.35s ease,
              transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.social-tile:hover,
.social-tile:focus-visible {
  background-color: var(--gold);
  border-color: var(--gold);
  color: var(--bg);
  transform: translateY(-3px) rotate(-6deg);
}

.social-tile svg {
  width: 20px;
  height: 20px;
  display: block;
}

/* Divider strié animé — repeating diagonal, background-position slide loop */
.footer-divider {
  width: 100%;
  height: 48px;
  border-top: 1px solid rgba(28, 0, 0, 0.14);
  border-bottom: 1px solid rgba(28, 0, 0, 0.14);
  background-image: repeating-linear-gradient(
    315deg,
    rgba(28, 0, 0, 0.55) 0,
    rgba(28, 0, 0, 0.55) 1px,
    transparent 0,
    transparent 50%
  );
  background-size: 10px 10px;
  opacity: 0.35;
  animation: footerStripeSlide 20s linear infinite;
  will-change: background-position;
}

@keyframes footerStripeSlide {
  from { background-position: 0 0; }
  to   { background-position: 400px 0; }
}

.footer-bottom {
  margin-top: var(--space-6);
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.footer-contact {
  font-family: var(--font-body);
  font-size: 0.875rem;
  color: var(--text-muted);
  display: inline-flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-4);
  justify-content: center;
}

.footer-contact a {
  color: var(--text-muted);
  text-decoration: none;
  transition: color 0.25s ease;
}
.footer-contact a:hover,
.footer-contact a:focus-visible {
  color: var(--gold);
}

.footer-copy {
  font-family: var(--font-body);
  font-size: 0.8125rem;
  color: var(--text-muted);
  opacity: 0.75;
}

/* Staggered entrance on scroll into view — piloté par reveal.js */
.footer-logo,
.footer-nav,
.footer-social,
.footer-divider,
.footer-bottom {
  opacity: 0;
  transform: translate3d(0, 20px, 0);
  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
.site-footer.is-in-view .footer-logo    { transition-delay: 0.10s; opacity: 1; transform: none; }
.site-footer.is-in-view .footer-nav     { transition-delay: 0.20s; opacity: 1; transform: none; }
.site-footer.is-in-view .footer-social  { transition-delay: 0.30s; opacity: 1; transform: none; }
.site-footer.is-in-view .footer-divider { transition-delay: 0.50s; opacity: 0.35; transform: none; }
.site-footer.is-in-view .footer-bottom  { transition-delay: 0.60s; opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  .footer-divider { animation: none; }
  .footer-logo, .footer-nav, .footer-social, .footer-divider, .footer-bottom {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .site-footer.is-in-view .footer-divider { opacity: 0.35; }
}
