/* =====================================================================
   Page styles for privacy-policy.php, terms-and-conditions.php, refund-policy.php (includes/legal-layout.php)
   Loaded after style.css, only on this page.
   ===================================================================== */

/* Legal pages (privacy, terms, refund) */
.legal{display:grid;grid-template-columns:280px minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
.legal-side{position:sticky;top:96px;display:grid;gap:16px}
.legal-toc{list-style:none;margin:0;padding:0;counter-reset:t}
.legal-toc a,.legal-nav a{display:block;padding:8px 0;color:var(--muted);text-decoration:none;font-size:14.5px;line-height:1.4;transition:color .2s}
.legal-toc a::before{counter-increment:t;content:counter(t,decimal-leading-zero);font-family:var(--mono);font-size:11.5px;margin-right:10px;color:var(--accent)}
.legal-toc a:hover,.legal-nav a:hover,.legal-nav a[aria-current]{color:var(--ink)}
.legal-nav{list-style:none;margin:0;padding:0}
.legal-nav a[aria-current]{font-weight:600}
.legal-nav a[aria-current]::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:8px;vertical-align:middle}
.legal-body{max-width:760px;font-size:16.5px;line-height:1.75;color:#3b3936}
.legal-body > p:first-child{font-size:18px;color:var(--ink)}
.legal-body section{padding-top:clamp(28px,3vw,40px);margin-top:clamp(28px,3vw,40px);border-top:1px solid var(--line);scroll-margin-top:96px}
.legal-body h2{display:flex;align-items:baseline;gap:14px;font-size:clamp(22px,2.3vw,28px);font-weight:800;color:var(--ink);margin:0 0 14px}
.legal-body h2 span{font-family:var(--mono);font-size:13px;font-weight:500;color:var(--accent)}
.legal-body p{margin:0 0 14px}
.legal-body ul{margin:0 0 14px;padding-left:0;list-style:none}
.legal-body li{position:relative;padding-left:24px;margin-bottom:10px}
.legal-body li::before{content:"";position:absolute;left:4px;top:.72em;width:7px;height:7px;border-radius:50%;background:var(--accent)}
.legal-body strong{color:var(--ink)}
.legal-body a{color:var(--accent)}
.legal-contact{margin-top:clamp(36px,4vw,56px);padding:clamp(22px,3vw,32px);border-radius:22px;background:var(--alt)}
.legal-contact h2{margin-bottom:8px}
.legal-contact ul{margin:12px 0 0}
.legal-contact li{padding-left:0}
.legal-contact li::before{display:none}
@media (max-width:900px){
  .legal{grid-template-columns:minmax(0,1fr)}
  .legal-side{position:static}
  .legal-side .side-card:first-child{display:none}
}
