/* Footer */
.footer {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  height: var(--footer-h);
  border-top: 1px solid var(--border);
  backdrop-filter: blur(10px);
  background: rgba(10, 14, 24, .68);
  z-index: 40;
}
:root[data-theme="light"] .footer {
  background: rgba(245, 247, 251, .78);
}

.footer__inner {

    font-size: 12px;
    height: var(--footer-h);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;



}

a {

    text-decoration: none;
}

.footer__nav {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.footer__meta {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--text2);
  white-space: nowrap;
}
.footer__sep { opacity: .5; }

@media (max-width: 680px) {
  .footer__inner { flex-direction: column; justify-content: center; padding: 6px 0; }
  :root { --footer-h: 74px; }
}

/* Scroll-to-Top Button */
.scroll-top {
  position: fixed;
  right: 24px;
  bottom: calc(var(--footer-h) + 18px);
  z-index: 45;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 50%;
  background: rgba(10, 14, 24, .75);
  backdrop-filter: blur(8px);
  color: rgba(255,255,255,.85);
  font-size: 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity .3s, visibility .3s, transform .3s, background .2s;
}
.scroll-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.scroll-top:hover {
  background: rgba(47, 123, 255, .55);
  border-color: rgba(255,255,255,.35);
}
:root[data-theme="light"] .scroll-top {
  background: rgba(245, 247, 251, .85);
  color: #222;
  border-color: rgba(0,0,0,.12);
}
:root[data-theme="light"] .scroll-top:hover {
  background: rgba(47, 123, 255, .7);
  color: #fff;
}
