  /* ===== Footer (usa únicamente tokens) ===== */
  footer#site-footer.nc-footer {
    position: relative;
    color: var(--nc-text-light);
    background:
      radial-gradient(80% 120% at 0% 0%, color-mix(in srgb, var(--nc-accent-primary) 10%, transparent), transparent 55%),
      radial-gradient(70% 100% at 100% 40%, color-mix(in srgb, var(--nc-accent-strong) 10%, transparent), transparent 60%),
      color-mix(in srgb, var(--nc-bg, var(--nc-bg-dark)) 88%, black 12%);
  }
  footer#site-footer .overline {
    font-family: var(--nc-font-display, Orbitron), Roboto, sans-serif;
    letter-spacing: .25em; text-transform: uppercase; font-weight: 700;
    color: var(--nc-accent-strong); margin-bottom: 1rem;
    display: inline-flex; align-items:center; gap:.75rem; font-size: .9rem;
  }
  footer#site-footer .overline::after{ content:""; width:72px; height:3px; border-radius:2px; background: var(--nc-accent-primary); display:inline-block; }

  /* Links */
  footer#site-footer a.footer-link{ color: inherit; text-decoration: none; opacity:.92; }
  footer#site-footer a.footer-link:hover{ opacity:1; text-decoration: underline; text-decoration-thickness: .1rem; }
  footer#site-footer a.footer-link:focus-visible{ outline: 3px solid color-mix(in srgb, var(--nc-accent-primary) 70%, transparent); outline-offset: 2px; }

  /* Social buttons */
  footer#site-footer .social a{ width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center; border-radius:.75rem;
    border:1px solid color-mix(in srgb, var(--nc-border, currentColor) 35%, transparent);
    background: color-mix(in srgb, var(--nc-bg, var(--nc-bg-dark)) 70%, transparent);
    transition: transform .2s ease, box-shadow .2s ease; color: var(--nc-text-light);
  }
  footer#site-footer .social a:hover{ transform: translateY(-2px); box-shadow: 0 6px 18px color-mix(in srgb, var(--nc-accent-primary) 30%, transparent); }

  /* Newsletter */
  footer#site-footer .newsletter .form-control:focus{ border-color: var(--nc-accent-primary);
    box-shadow: 0 0 0 .25rem color-mix(in srgb, var(--nc-accent-primary) 25%, transparent); }
  footer#site-footer .newsletter .btn-primary:hover{ box-shadow: 0 0 1rem .06rem color-mix(in srgb, var(--nc-accent-strong) 50%, transparent); }

  /* Bottom bar */
  footer#site-footer .bottom-bar{ border-top:1px solid color-mix(in srgb, var(--nc-border, currentColor) 25%, transparent); }

  /* Tema claro */
  html[data-bs-theme="light"] footer#site-footer.nc-footer{ background: color-mix(in srgb, var(--nc-bg-light) 96%, var(--nc-accent-primary) 4%); color: var(--nc-text-dark); }