/* ====== Legal pages shared styles ====== */
.lg-main { padding-top: calc(var(--ps-header-h, 64px) + 16px); }
.lg-container{
  max-width: 76ch;
  padding: 1.2rem 0 2rem;
}
.lg-meta{
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  padding: 1.1rem 1.2rem;
  box-shadow: 0 10px 20px var(--ps-shadow);
}
.lg-meta h1{
  margin: .2rem 0 .5rem;
  font-family: "Merriweather", serif;
  background: linear-gradient(90deg, var(--ps-cream), var(--ps-amber));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.lg-intro{ color: var(--ps-ink-dim); }

/* TOC */
.lg-toc{
  margin: 1rem 0 1.2rem;
  border: 1px dashed rgba(255,255,255,.18);
  border-radius: 16px;
  padding: .8rem 1rem;
  background: rgba(255,255,255,.03);
}
.lg-toc h2{ margin: 0 0 .4rem; font-family: "Merriweather", serif; }
.lg-toc ol{ margin: 0; padding-left: 1.1rem; display: grid; gap: .25rem; }
.lg-toc a{ color: var(--ps-ink); text-decoration: none; border-bottom: 1px dotted rgba(255,255,255,.28); }
.lg-toc a:hover{ border-bottom-style: solid; }

/* Sections */
.lg-section{ margin: 1.1rem 0; }
.lg-section h2{
  font-family: "Merriweather", serif;
  margin: 0 0 .35rem;
}
.lg-section:target{
  scroll-margin-top: calc(var(--ps-header-h, 64px) + 12px);
  outline: 2px solid var(--ps-amber);
  border-radius: 12px;
}

.lg-list{
  margin: .2rem 0 0;
  padding-left: 1.2rem;
  display: grid;
  gap: .35rem;
}

/* details/summary blocks */
.lg-details{
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  padding: .6rem .8rem;
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  margin: .5rem 0;
}
.lg-details > summary{
  cursor: pointer;
  list-style: none;
  font-weight: 600;
}
.lg-details > summary::marker{ display: none; }
.lg-details[open]{
  box-shadow: 0 10px 18px var(--ps-shadow);
  border-color: rgba(255,255,255,.18);
}

/* small screens */
@media (max-width: 560px){
  .lg-container{ max-width: 100%; padding: 1rem 0 2rem; }
  .lg-toc ol{ grid-template-columns: 1fr; }
}
