/* Load after footer.css. The ticket decoration is removed at every width. */
.slide-footer .slide-footer-ticket { padding-left: 0; }
.slide-footer .slide-footer-ticket::before,
.slide-footer .slide-footer-ticket::after { content: none; display: none; }

/* Keep the desktop composition. On phones, use the spare right column. */
@media (max-width: 700px) {
  .slide-footer {
    background: #08090a;
    border-top-color: #ffffff0d;
  }
  .slide-footer-inner { padding-inline: 22px; }
  .slide-footer-main {
    padding: 28px 0 0;
    gap: 0;
  }
  .slide-footer-nav {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    grid-template-rows: auto auto;
    align-items: start;
    gap: 14px 20px;
  }
  .slide-footer-nav > nav:first-child { grid-column: 1; grid-row: 1 / 3; }
  .slide-footer-nav > nav:nth-child(2) { grid-column: 2; grid-row: 1; }
  .slide-footer .slide-footer-label {
    margin-bottom: 6px;
    font-size: 10px;
    line-height: 1.5;
    letter-spacing: 0;
    color: #fff;
  }
  .slide-footer-links { align-items: stretch; gap: 0; }
  .slide-footer-links a {
    display: flex;
    align-items: center;
    min-height: 40px;
    padding: 9px 0;
    font-size: 13px;
    line-height: 1.4;
    color: #c9c9ce;
    text-wrap: pretty;
  }
  .slide-footer .slide-footer-ticket {
    min-height: 40px;
    margin: 0;
    padding: 9px 0;
    font-size: 13px;
    line-height: 1.4;
    color: #fff;
  }
  .slide-footer-social {
    grid-column: 2;
    grid-row: 2;
    border: 0;
    padding: 0;
  }
  .slide-footer-social .slide-footer-links {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    gap: 0 10px;
  }
  .slide-footer-social .slide-footer-links a {
    min-height: 40px;
    font-size: 12px;
    padding: 9px 0;
  }
  .slide-footer-art {
    width: 100%;
    max-width: 340px;
    aspect-ratio: 2.7;
    margin: 4px 0 0;
  }
  .slide-footer-fallback { width: 78%; max-width: 270px; }
  .slide-footer-bottom {
    border-top: 0;
    padding: 8px 0 17px;
    gap: 0;
    color: #929299;
    font-size: 10px;
    line-height: 1.5;
  }
  .slide-footer-legal {
    justify-content: flex-start;
    gap: 0 16px;
  }
  .slide-footer-legal a { min-height: 32px; padding: 7px 0; }

  /* The mobile light is anchored to the logo by pointer.js, never to a link. */
  .slide-footer::before,
  .slide-footer::after { opacity: 0; }
  .slide-footer[data-footer-light-ready]::before,
  .slide-footer[data-footer-light-ready]::after { opacity: var(--aura-strength); }
  .slide-footer::before {
    width: min(390px,112vw);
    height: 220px;
    background: radial-gradient(ellipse,rgba(246,248,255,.23) 0%,rgba(239,244,255,.11) 22%,rgba(229,237,255,.025) 47%,transparent 72%);
  }
  .slide-footer::after {
    width: min(370px,108vw);
    height: 210px;
    background: radial-gradient(ellipse,rgba(255,42,26,.20) 0%,rgba(225,35,23,.085) 26%,rgba(210,27,18,.02) 48%,transparent 72%);
  }
}

@media (max-width: 360px) {
  .slide-footer-inner { padding-inline: 18px; }
  .slide-footer-nav { gap: 14px 16px; }
  .slide-footer-links a,
  .slide-footer .slide-footer-ticket { font-size: 12px; }
  .slide-footer-social .slide-footer-links { gap: 0 7px; }
  .slide-footer-social .slide-footer-links a { font-size: 11px; }
  .slide-footer-legal { gap: 0 12px; }
}

/* Reduced motion keeps the compact layout and a quiet, fixed logo glow. */
@media (max-width: 700px) and (prefers-reduced-motion: reduce) {
  .slide-footer::before,
  .slide-footer::after {
    top: auto;
    bottom: 30px;
    transform: translate(-50%,0)!important;
    opacity: .35;
  }
  .slide-footer::after { left: 62%; }
}
