/* Footer layout, shared by the home page and every built page (Nov 2026).
   Nothing is removed: the same links, offices, socials and legal lines, arranged for reading. */

/* a soft dark floor keeps the lower footer legible over the animated light */
.footer::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 70%;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(to top, rgba(5, 10, 36, .62), rgba(5, 10, 36, .22) 55%, transparent);
}
.footer > :not(.footer-scene) { position: relative; z-index: 2; }
.footer-legal nav a, .footer-legal > span { color: rgba(234, 240, 255, .78); }

@media (max-width: 767px) {
  .footer { padding: 3.5rem 1.25rem 1.25rem; }
  .footer-h { font-size: clamp(2rem, 9vw, 2.4rem); max-width: 12ch; }
  .foot-ctas { display: grid; grid-template-columns: 1fr; width: 100%; max-width: 22rem; gap: .6rem; margin-top: 1.5rem; }
  .btn-foot { justify-content: center; align-items: center; min-height: 50px; }
  .footer-spacer { min-height: 11rem; margin-block: .25rem; }

  /* columns become calm glass cards */
  .footer-nav { grid-template-columns: 1fr; gap: .7rem; margin-top: 1.5rem; padding-top: 0; border-top: 0; }
  .fn-col {
    min-width: 0;
    padding: 1.1rem 1.15rem 1rem;
    border-radius: 1.3rem;
    background: rgba(255, 255, 255, .055);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
  }
  .fn-col h4 { margin-bottom: .55rem; }
  .fn-col:first-child ul { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
  .fn-col ul a { display: flex; align-items: center; min-height: 40px; line-height: 1.3; font-size: .92rem; }
  .offices { grid-template-columns: 1fr 1fr; gap: 1rem .9rem; font-size: .86rem; line-height: 1.5; }
  .offices > span { min-width: 0; overflow-wrap: anywhere; }
  .footer-socials { margin-top: .9rem; padding-top: .9rem; }
  .fn-col .footer-socials ul { display: flex; flex-direction: row; flex-wrap: wrap; gap: .4rem; }
  .footer-socials .social-link {
    width: auto;
    min-height: 40px;
    padding: 0 .85rem;
    gap: .4rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, .07);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .13);
    font-size: .85rem;
  }

  .foot-eplus {
    margin-top: .7rem;
    padding: 1.1rem 1.15rem;
    border-top: 0;
    border-radius: 1.3rem;
    background: rgba(255, 255, 255, .055);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1);
    font-size: .8rem;
  }
  .foot-eplus .eplus img { width: 128px; height: auto; }

  /* legal: logo, then one tidy row of links, then the admin entry */
  .footer-legal { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .8rem 1rem; margin-top: 1.75rem; }
  .footer-legal .foot-logo { grid-column: 1 / -1; }
  .footer-legal > span { grid-column: 1 / -1; font-size: .8rem; }
  .footer-legal nav { gap: 1.1rem; font-size: .84rem; }
}
@media (max-width: 400px) {
  .footer-legal { grid-template-columns: 1fr; }
  .footer-legal .footer-admin-link { justify-self: start; }
}
