/* ========================================
   LEGAL PAGES — Terms & Disclaimer
   assets/css/pages/legal.css
======================================== */

.legal-page { background:linear-gradient(168deg,#0b1120 0%,#070a14 55%,#05070d 100%); color:rgba(255,255,255,.75); min-height:100vh; }
.legal-page::before { content:''; position:fixed; inset:0; background-image:radial-gradient(rgba(255,255,255,.02) 1px,transparent 1px); background-size:24px 24px; pointer-events:none; }

.legal-hero { position:relative; z-index:1; padding:8rem 4rem 3rem; max-width:800px; margin:0 auto; }
.legal-hero-title { font-family:'DM Sans',sans-serif; font-size:clamp(2rem,4vw,3rem); font-weight:800; color:#fff; letter-spacing:-.03em; line-height:.95; margin-bottom:1rem; }
.legal-hero-sub { font-size:.92rem; color:rgba(255,255,255,.4); line-height:1.6; }
.legal-hero-date { font-size:.72rem; color:rgba(255,255,255,.25); margin-top:.75rem; text-transform:uppercase; letter-spacing:.08em; }

.legal-body { position:relative; z-index:1; max-width:800px; margin:0 auto; padding:2rem 4rem 4rem; }

/* Headings */
.legal-body h2 { font-family:'DM Sans',sans-serif; font-size:1.2rem; font-weight:700; color:#fff; margin:2.5rem 0 1rem; padding-bottom:.6rem; border-bottom:1px solid rgba(255,255,255,.06); letter-spacing:-.01em; }
.legal-body h3 { font-size:1rem; font-weight:600; color:rgba(255,255,255,.8); margin:1.5rem 0 .5rem; }

/* Content */
.legal-body p { font-size:.88rem; line-height:1.7; margin-bottom:.75rem; max-width:70ch; }
.legal-body ul, .legal-body ol { padding-left:1.5rem; margin-bottom:.75rem; }
.legal-body li { font-size:.86rem; line-height:1.65; margin-bottom:.35rem; color:rgba(255,255,255,.6); }
.legal-body ol > li { list-style:decimal; }
.legal-body ul > li { list-style:disc; }

/* Sub-clause numbering */
.legal-clause { margin-bottom:2rem; }

/* Footer */
.legal-footer { position:relative; z-index:1; max-width:800px; margin:0 auto; padding:2rem 4rem; border-top:1px solid rgba(255,255,255,.05); display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; }
.legal-footer-links { display:flex; gap:1rem; }
.legal-footer-link { font-size:.78rem; color:rgba(255,255,255,.3); text-decoration:none; padding:.5rem 1rem; border:1px solid rgba(255,255,255,.06); border-radius:8px; transition:all .3s; cursor:pointer; background:none; }
.legal-footer-link:hover { border-color:rgba(16,185,129,.2); color:#10b981; }
.legal-footer-micro { font-size:.65rem; color:rgba(255,255,255,.15); }

/* Print styles */
@media print {
  body, .legal-page { background:#fff !important; color:#000 !important; }
  .legal-page::before { display:none; }
  .nav, .menu-overlay, .legal-footer-links { display:none !important; }
  .legal-hero { padding-top:2rem; }
  .legal-hero-title { color:#000 !important; }
  .legal-hero-sub, .legal-hero-date { color:#333 !important; }
  .legal-body { padding:1rem 0; }
  .legal-body h2 { color:#000 !important; border-bottom-color:#ccc !important; }
  .legal-body h3 { color:#222 !important; }
  .legal-body p, .legal-body li { color:#333 !important; }
  .legal-footer { border-top-color:#ccc !important; }
  .legal-footer-micro { color:#666 !important; }
  a { text-decoration:underline; color:#000 !important; }
}

/* Cursor and caret: must always be visible on legal pages */
.legal-page,
.legal-page *{
  cursor: default !important;
}

.legal-page a,
.legal-page button{
  cursor: pointer !important;
}

.legal-page input,
.legal-page textarea,
.legal-page select{
  cursor: text !important;
}

.legal-page{
  caret-color: #a6ff4a;
  user-select: text;
}

/* Responsive */
@media(max-width:768px) { .legal-hero{padding:6rem 1.5rem 2rem} .legal-body{padding:1.5rem 1.5rem 3rem} .legal-footer{padding:1.5rem} }
@media(max-width:480px) { .legal-hero{padding:5rem 1rem 1.5rem} .legal-body{padding:1rem 1rem 2rem} .legal-footer{padding:1rem} }
