/* ============================================================
   MoonBliss — legal stylesheet (privacy + terms-of-service)
   Loaded ONLY by the legal pages. Dark moon-gold theme.
   ============================================================ */

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

.legal-page{
  background-color:#14122B;
  color:#F4EFE3;
  font-family:Georgia, "Times New Roman", serif;
  font-size:16px;
  line-height:1.85;
  overflow-x:hidden;
}

.legal-page h1,
.legal-page h2,
.legal-page h3{
  font-family:Georgia, "Times New Roman", serif;
}

.legal-page a{
  color:#E6BE6E;
}

.legal-page ::selection{
  background-color:#E6BE6E;
  color:#0B0A1C;
}

.legal-page :focus-visible{
  outline:2px solid #E6BE6E;
  outline-offset:2px;
}

/* ---------- legal header (div/header element, never a section) ---------- */
.legal-header{
  background-color:#0B0A1C;
  border-bottom:4px solid #E6BE6E;
  padding:64px 24px 46px;
}
.legal-header-inner{
  max-width:900px;
  margin:0 auto;
  padding:0;
}
.legal-kicker{
  color:#E6BE6E;
  font-size:12px;
  font-weight:700;
  letter-spacing:0.18em;
  text-transform:uppercase;
  margin-bottom:14px;
}
.legal-header h1{
  color:#F4EFE3;
  font-size:44px;
  line-height:1.15;
  margin-bottom:16px;
}
.legal-header p{
  color:#9BA0C0;
  font-size:15px;
  max-width:720px;
}

/* ---------- legal content ---------- */
.legal-content{
  max-width:900px;
  margin:0 auto;
  padding:0 24px;
}
.legal-content .container{
  max-width:900px;
  margin:0 auto;
  padding:0 24px;
}

/* scope isolation: only the main legal content, never header/footer */
.legal-page .legal-content section{
  background-color:transparent !important;
}

/* table of contents */
.toc{
  background-color:#211E45;
  border:1px solid #3A3660;
  padding:30px 34px;
  margin:44px 0;
}
.toc-title{
  color:#E6BE6E;
  font-size:12px;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
  margin-bottom:18px;
}
.toc ul{
  list-style:none;
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:10px 34px;
}
.toc li{
  margin:0;
}
.toc a{
  color:#F4EFE3;
  text-decoration:none;
  font-size:15px;
  border-bottom:1px solid #3A3660;
  padding-bottom:2px;
}
.toc a:hover{
  color:#E6BE6E;
  border-bottom-color:#E6BE6E;
}

.legal-content section{
  margin-bottom:48px;
}
.legal-content section h2{
  font-size:28px;
  color:#E6BE6E;
  margin-bottom:16px;
  padding-bottom:12px;
  border-bottom:1px solid #3A3660;
  scroll-margin-top:32px;
}
.legal-content section h3{
  font-size:20px;
  color:#F4EFE3;
  margin:24px 0 10px;
}
.legal-content p{
  color:#C3BFA9;
  margin-bottom:14px;
}
.legal-content ul,
.legal-content ol{
  color:#C3BFA9;
  margin:0 0 16px 24px;
}
.legal-content li{
  margin-bottom:8px;
}
.legal-content strong{
  color:#F4EFE3;
}
.legal-content em{
  color:#F4EFE3;
}

/* ---------- legal footer ---------- */
.legal-footer{
  background-color:#0B0A1C;
  border-top:1px solid #3A3660;
  padding:44px 24px;
  text-align:center;
  color:#9BA0C0;
  font-size:14px;
  line-height:1.8;
}
.legal-footer p{
  margin-bottom:10px;
  color:#9BA0C0;
}
.legal-footer a{
  color:#E6BE6E;
  text-decoration:none;
}
.legal-footer a:hover{
  text-decoration:underline;
}

/* ---------- responsive ---------- */
@media (max-width: 640px){
  .legal-header{
    padding:46px 20px 36px;
  }
  .legal-header h1{
    font-size:32px;
  }
  .legal-content{
    padding:0 20px;
  }
  .legal-content .container{
    padding:0 20px;
  }
  .toc ul{
    grid-template-columns:1fr;
  }
  .legal-content section h2{
    font-size:24px;
  }
}
