/* ============================================================
   OasForge — site footer
   Reuses the palette/tokens declared on :root in index.php's
   inline <style> (--bg, --bg-2, --orange, --blue, --line, --shell…)
   ============================================================ */

.site-footer{
  position:relative;
  padding:clamp(52px,7vw,80px) 0 0;
  background:linear-gradient(180deg,var(--bg-2,#080D18) 0%,#04060C 100%);
  border-top:1px solid var(--line,rgba(255,255,255,.09));
  overflow:hidden;
}

/* soft glow echoing the hero/game sections */
.site-footer__glow{
  position:absolute;
  left:50%;
  top:-18%;
  width:70vw;
  height:70vw;
  max-width:820px;
  max-height:820px;
  transform:translateX(-50%);
  background:radial-gradient(circle,rgba(242,118,12,.10) 0%,rgba(46,125,215,.07) 40%,transparent 70%);
  pointer-events:none;
}

.site-footer__inner{position:relative}

.site-footer__top{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(34px,5vw,48px);
  padding-bottom:clamp(36px,5vw,52px);
  text-align:center;
}

/* brand block */
.site-footer__brand{display:flex;flex-direction:column;align-items:center}
.site-footer__brand .brand__logo{width:78px;height:auto;margin-bottom:14px}
.site-footer__tag{
  max-width:32ch;
  margin:0;
  font-size:.92rem;
  color:var(--muted,#9BA8BC);
}

/* shared heading */
.site-footer__heading{
  margin:0 0 16px;
  font-family:"Archivo",sans-serif;
  font-weight:700;
  font-size:.78rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:#E8EDF5;
}

/* quick links */
.site-footer__links{display:flex;flex-direction:column;align-items:center}
.site-footer__links a{
  position:relative;
  display:inline-block;
  padding:7px 0;
  font-size:.95rem;
  color:var(--muted,#9BA8BC);
  transition:color .2s ease;
}
.site-footer__links a::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:2px;
  width:0;
  height:2px;
  background:var(--orange,#F2760C);
  transform:translateX(-50%);
  transition:width .25s ease;
}
.site-footer__links a:hover{color:#fff}
.site-footer__links a:hover::after{width:60%}

/* connect / email */
.site-footer__connect{display:flex;flex-direction:column;align-items:center}
.site-footer__email{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 22px;
  border:1px solid var(--orange,#F2760C);
  border-radius:8px;
  font-size:.92rem;
  font-weight:500;
  color:var(--orange-light,#FF9A2E);
  transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.site-footer__email svg{width:18px;height:18px;flex:none}
.site-footer__email:hover{
  background:var(--orange,#F2760C);
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(242,118,12,.32);
}

/* bottom bar */
.site-footer__bottom{
  padding:18px 0 clamp(20px,3vw,26px);
  border-top:1px solid var(--line,rgba(255,255,255,.09));
  text-align:center;
}
.site-footer__bottom p{
  margin:0;
  font-size:.82rem;
  color:var(--muted,#9BA8BC);
}

/* ---------------- breakpoints ---------------- */

@media (min-width:700px){
  .site-footer__top{
    grid-template-columns:1.2fr 1fr 1fr;
    text-align:left;
  }
  .site-footer__brand{align-items:flex-start}
  .site-footer__links,
  .site-footer__connect{align-items:flex-start}
  .site-footer__links a::after{left:0;transform:none}
  .site-footer__bottom{text-align:left}
}

@media (min-width:992px){
  .site-footer__top{grid-template-columns:1.4fr .8fr 1fr}
}

@media (prefers-reduced-motion:reduce){
  .site-footer__email{transition:none}
}


/* =========================
   PREMIUM CUSTOM CURSOR
   ========================= */

* {
    cursor: none !important;
}

.cursor-dot {
    position: fixed;
    width: 7px;
    height: 7px;
    background: #ffffff;
    border-radius: 50%;
    pointer-events: none;
    z-index: 99999;
    transform: translate(-50%, -50%);
    box-shadow:
        0 0 8px rgba(255,255,255,0.9),
        0 0 20px rgba(120,90,255,0.8);
}

.cursor-ring {
    position: fixed;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255,255,255,0.65);
    border-radius: 50%;
    pointer-events: none;
    z-index: 99998;
    transform: translate(-50%, -50%);
    transition:
        width 0.25s ease,
        height 0.25s ease,
        border-color 0.25s ease,
        background 0.25s ease,
        transform 0.08s linear;
    backdrop-filter: blur(2px);
}

/* Hover effect */
.cursor-ring.hover {
    width: 58px;
    height: 58px;
    border-color: rgba(140,100,255,0.9);
    background: rgba(140,100,255,0.08);
    box-shadow:
        0 0 25px rgba(120,90,255,0.25);
}

/* Click animation */
.cursor-ring.click {
    width: 28px;
    height: 28px;
    border-color: #fff;
}

/* Hide custom cursor on mobile */
@media (max-width: 768px) {
    .cursor-dot,
    .cursor-ring {
        display: none;
    }

    * {
        cursor: auto !important;
    }
}
