/* ---------- LEGAL MODAL (Terms & Conditions / Privacy Policy) ---------- */
.legal-link{
  background:none;
  border:none;
  padding:0;
  font-family:inherit;
  font-size:0.8rem;
  color:var(--text-muted);
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:2px;
  transition:color 0.2s ease;
}
.legal-link:hover{color:var(--white);}

.footer-legal-row{
  display:flex;
  gap:1.25rem;
  flex-wrap:wrap;
}

.legal-modal{
  position:fixed;
  top:50%;left:50%;
  transform:translate(-50%,-48%) scale(0.96);
  width:min(640px, 92vw);
  max-height:80vh;
  background:#0c0c0c;
  border:1px solid var(--line);
  border-radius:8px;
  z-index:320;
  opacity:0;visibility:hidden;
  transition:opacity 0.35s cubic-bezier(0.16,1,0.3,1), visibility 0.35s, transform 0.35s cubic-bezier(0.16,1,0.3,1);
  display:flex;
  flex-direction:column;
}
.legal-modal.open{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1);}

.legal-modal .modal-close{
  position:absolute;
  top:1rem;right:1rem;
}

.legal-modal-scroll{
  overflow-y:auto;
}

.legal-modal-body{
  padding:2rem clamp(1.5rem, 4vw, 2.5rem) 2.5rem;
}
.legal-modal-body h2{
  font-family:var(--font-display);
  font-weight:400;
  font-size:1.5rem;
  color:var(--white);
  margin-bottom:0.4rem;
  padding-right:2.5rem;
}
.legal-modal-updated{
  font-size:0.82rem;
  color:var(--text-muted);
  margin-bottom:1.5rem;
}
.legal-modal-body h3{
  font-family:var(--font-display);
  font-weight:400;
  font-size:1.05rem;
  color:var(--accent-light);
  margin-top:1.5rem;
  margin-bottom:0.5rem;
}
.legal-modal-body h3:first-of-type{margin-top:0;}
.legal-modal-body p,
.legal-modal-body li{
  color:var(--text-muted);
  font-size:0.92rem;
  line-height:1.75;
}
.legal-modal-body ul{
  margin:0.4rem 0 0.4rem 1.2rem;
}
.legal-modal-body a{
  color:var(--accent-light);
  text-decoration:underline;
  text-underline-offset:2px;
}

@media(prefers-reduced-motion: reduce){
  .legal-modal{transition:none;}
}