/* =====================================================================
   assets/legal.css — styles for the four legal pages only:
   terms.php · privacy.php · anti-spam.php · campaign-guidelines.php
   Loaded by includes/header.php when a page sets  'styles' => ['legal.css'].
   It uses the colour / font variables from style.css, so load style.css first.
   ===================================================================== */
.lg-date{position:relative;margin-top:14px;font:600 13px var(--mono);letter-spacing:.06em;color:var(--ink-3)}
.lg-grid{display:grid;grid-template-columns:270px minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.lg-toc{position:sticky;top:92px;max-height:calc(100vh - 116px);overflow:auto;border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:18px 14px 12px}
.lg-toc b{display:block;padding:0 8px;margin-bottom:10px;font:600 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.lg-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.lg-toc a{display:flex;gap:10px;padding:7px 8px;border-radius:8px;font-size:14px;line-height:1.35;color:var(--ink-2)}
.lg-toc a i{flex:none;min-width:1.5em;font:600 12px var(--mono);font-style:normal;color:var(--orange-deep)}
.lg-toc a:hover{background:var(--orange-wash);color:var(--ink)}
.lg-doc{max-width:780px}
.lg-sec{padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--line);scroll-margin-top:92px}
.lg-sec:last-child{border-bottom:0;margin-bottom:0}
.lg-sec h2{display:flex;gap:12px;align-items:baseline;font-size:clamp(21px,2.3vw,27px);font-weight:700;letter-spacing:-.02em}
.lg-sec h2 span{flex:none;font:700 13px var(--mono);color:var(--orange-deep)}
.lg-sec p{margin-top:12px;color:var(--ink-2);font-size:16px;line-height:1.75}
.lg-rows{display:grid;gap:0;margin:16px 0 0;border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}
.lg-rows>div{display:grid;grid-template-columns:170px minmax(0,1fr);gap:16px;padding:14px 18px}
.lg-rows>div+div{border-top:1px solid var(--line)}
.lg-rows dt{font:600 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding-top:3px}
.lg-rows dd{margin:0;color:var(--ink);font-size:15.5px;line-height:1.55}
@media (max-width:900px){
  .lg-grid{grid-template-columns:1fr}
  .lg-toc{position:static;max-height:none}
  .lg-toc ol{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .lg-toc{display:none}
  .lg-rows>div{grid-template-columns:1fr;gap:4px}
}