/* Shared public-page shell. The main visual tokens live in style.css. */
.site-page {
  min-height: 100vh;
  background: var(--bg);
}

.site-page > main,
.site-page > .footer {
  position: relative;
  z-index: 1;
}

.site-page .nav {
  z-index: 70;
}

.site-page .promo-bar {
  z-index: 60;
}

.site-page .overlay-menu {
  z-index: 110;
}

.site-page .theme-fab {
  z-index: 100;
}

.site-page .toasts {
  z-index: 160;
}

.site-page .footer {
  margin-top: 0;
}

.site-page .glow-card::before {
  content: none;
}

.site-page .theme-fab__sound {
  display: none;
}

.site-page .swatches {
  grid-template-columns: repeat(5, 1fr);
}

.site-page .swatches button:focus-visible,
.site-page .theme-fab__btn:focus-visible,
.site-page .nav a:focus-visible,
.site-page .nav button:focus-visible,
.site-page .overlay-menu a:focus-visible,
.site-page .overlay-menu button:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}

.site-page .toast {
  color: var(--text);
  border-color: var(--line-2);
  background: #111114;
}

@media (max-width: 520px) {
  .site-page .footer {
    padding-top: 42px;
  }
}
