/* ============================================================
   LEGAL PAGES — Terms of Service & Privacy Policy
   ============================================================ */

.legal-page {
    background: var(--paper-hi);
    border: 4px solid var(--ink);
    box-shadow: 8px 8px 0 var(--ink);
    padding: 1.6rem 1.8rem 2rem;
    margin-bottom: 1.5rem;
    position: relative;
}

.legal-page .legal-tag {
    display: inline-block;
    background: var(--red);
    color: var(--paper);
    border: 3px solid var(--ink);
    box-shadow: 4px 4px 0 var(--ink);
    padding: 0.4rem 0.9rem;
    font-family: var(--display);
    letter-spacing: 0.14em;
    font-size: 0.95rem;
    transform: rotate(-1.5deg);
    margin-bottom: 1.2rem;
}

.legal-page .lead {
    background: var(--yellow);
    border: 3px solid var(--ink);
    box-shadow: 4px 4px 0 var(--ink);
    padding: 0.9rem 1.1rem;
    font-family: var(--hand);
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.4;
    margin-bottom: 1.6rem;
    transform: rotate(-0.4deg);
}
.legal-page .lead b {
    font-family: var(--display);
    color: var(--red);
    letter-spacing: 0.08em;
    font-weight: 400;
}

.legal-page h2 {
    font-family: var(--display);
    font-size: 1.4rem;
    letter-spacing: 0.06em;
    line-height: 1;
    color: var(--ink);
    margin: 1.4rem 0 0.5rem;
    padding-bottom: 0.3rem;
    border-bottom: 3px solid var(--ink);
}

.legal-page p,
.legal-page li {
    font-size: 0.98rem;
    line-height: 1.55;
    margin-bottom: 0.6rem;
}

.legal-page ul {
    margin: 0.4rem 0 0.8rem 1.4rem;
}
.legal-page ul li {
    margin-bottom: 0.35rem;
    list-style: square;
}

.legal-page b {
    font-weight: 700;
}
.legal-page i {
    font-style: italic;
}

.legal-page a {
    color: var(--red);
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 2px;
    transition: background 0.15s;
}
.legal-page a:hover {
    background: var(--yellow);
    color: var(--ink);
}

.legal-foot {
    margin-top: 1.6rem;
    padding-top: 1rem;
    border-top: 4px double var(--ink);
    text-align: center;
}
.legal-foot .legal-stamp {
    display: inline-block;
    border: 3px dashed var(--red);
    color: var(--red);
    padding: 0.4rem 1rem;
    font-family: var(--display);
    letter-spacing: 0.14em;
    font-size: 1.1rem;
    transform: rotate(-2deg);
    margin-bottom: 0.6rem;
}
.legal-foot p:last-child {
    font-family: var(--hand);
    font-weight: 700;
    opacity: 0.8;
}

/* ============================================================
   FOOTER LEGAL LINKS — used on cover, daily, archive, and legal
   ============================================================ */
.legal-links {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin: 0.4rem 0 0.4rem;
    font-family: var(--display);
    letter-spacing: 0.12em;
    font-size: 0.78rem;
}
.legal-links a {
    color: var(--yellow);
    text-decoration: none;
    padding: 0.15rem 0.4rem;
    border: 2px solid transparent;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.legal-links a:hover {
    background: var(--yellow);
    color: var(--ink);
    border-color: var(--paper);
}
.legal-links .sep {
    color: var(--paper);
    opacity: 0.5;
}

/* VOIDSTAR LABS link styling — works inside small/copyright text too.
   Hover swaps to black text on a yellow highlight so the "black text"
   effect is readable against the dark footer background. */
.vsl-link {
    color: inherit;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
    transition: color 0.15s, background 0.15s;
}
.vsl-link:hover {
    color: var(--ink);
    background: var(--yellow);
}
small .vsl-link,
.foot-cred .vsl-link {
    color: inherit;
}
small .vsl-link:hover,
.foot-cred .vsl-link:hover {
    color: var(--ink);
    background: var(--yellow);
}

/* Fan-project disclaimer — sits above the copyright line. Tighter
   typography than the contact line so it doesn't compete with the
   navigation directly above. Fills the parent container's full width
   on every breakpoint; the parent (.foot-cred or .gfoot) is what
   controls how wide the line actually gets. */
.fan-disclaimer {
    display: block;
    width: 100%;
    margin: 0.55rem 0 0.35rem;
    text-align: center;
    font-family: var(--body);
    font-size: 0.72rem;
    line-height: 1.5;
    letter-spacing: 0.02em;
    color: var(--paper);
    opacity: 0.85;
}
.fan-disclaimer b {
    font-family: var(--display);
    letter-spacing: 0.1em;
    color: var(--yellow);
    font-weight: 400;
    margin-right: 0.4em;
}
.legal-page + .gfoot .fan-disclaimer { color: var(--paper); }

/* Contact email line at the very bottom of every footer */
.contact-line {
    display: block;
    margin-top: 0.45rem;
    font-family: var(--display);
    letter-spacing: 0.14em;
    font-size: 0.72rem;
    text-align: center;
    opacity: 0.85;
}
.contact-line a {
    color: var(--yellow);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
    transition: color 0.15s, background 0.15s;
}
.contact-line a:hover {
    color: var(--ink);
    background: var(--yellow);
    padding: 0 4px;
}
.cover-foot .contact-line { color: var(--paper); }
.gfoot .contact-line       { color: var(--paper); }
.legal-page + .gfoot .contact-line { color: var(--paper); }

/* The CCA badge is now an <a> link to voidstarlabs.gg — kill the default
   underline/blue and add a press-down hover. */
a.cca {
    text-decoration: none;
    color: var(--ink);
    transition: transform 0.1s ease, box-shadow 0.1s ease, background 0.15s;
}
a.cca:hover {
    background: var(--yellow);
    transform: rotate(-1deg) scale(1.05);
    box-shadow: 2px 2px 0 var(--ink);
}
a.cca:active {
    transform: rotate(-3deg) scale(0.96);
}
