
/* policies.css — base styles for legal documents (cookies + privacy) */

/* 1) Root and typography */
:root{
  --font-body: system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  --text: #111;
  --muted: #555;
  --bg: #fff;
  --link: #0a66c2;
  --border: #e5e7eb;
  --accent: #111;
  --code-bg: #f6f8fa;
}

@media (prefers-color-scheme: dark){
  :root{
    --text: #e7e7e7;
    --muted: #b0b0b0;
    --bg: #0b0b0c;
    --link: #4ea3ff;
    --border: #2a2c31;
    --accent: #fff;
    --code-bg: #11151a;
  }
}

*{box-sizing:border-box}
html{font-size:16px}
body{
  margin:0;
  color:var(--text);
  background:var(--bg);
  font-family:var(--font-body);
  line-height:1.65;
  -webkit-text-size-adjust:100%;
  text-rendering:optimizeLegibility;
}

/* 2) Layout */
main{
  display:block;
}
article{
  max-width: 80%;
  padding: clamp(16px, 3vw, 32px);
  margin: 0 auto;
}
article > * + *{
  margin-top: 1rem;
}

/* 3) Headings */
h1,h2,h3,h4,h5,h6{
  line-height:1.25;
  color:var(--accent);
  scroll-margin-top: 1.5rem;
}
h1{font-size: clamp(1.8rem, 2.8vw, 2.4rem); margin-top:0.5rem}
h2{font-size: clamp(1.35rem, 2.2vw, 1.8rem); margin-top:1.25rem}
h3{font-size: clamp(1.15rem, 1.8vw, 1.35rem); margin-top:1rem}

/* 4) Text elements */
p{margin:0}
p + p{margin-top:0.75rem}
small, .muted{color:var(--muted)}
a{
  color:var(--link);
  text-decoration: underline;
  text-underline-offset: 2px;
}
a:focus-visible{
  outline: 2px solid var(--link);
  outline-offset: 2px;
  border-radius:2px;
}
strong{font-weight:700}
em{font-style:italic}
code,kbd,pre,samp{font-family:var(--font-mono)}
pre, code{
  background: var(--code-bg);
  border:1px solid var(--border);
  border-radius:6px;
}
code{padding: 0.1rem 0.3rem}
pre{
  padding: 0.75rem 1rem;
  overflow:auto;
}

/* 5) Lists */
ul,ol{
  padding-left: 1.25rem;
  margin: 0.5rem 0 0 0;
}
li + li{margin-top: 0.35rem}

/* 6) Tables */
table{
  width:100%;
  border-collapse: separate;
  border-spacing:0;
  margin: 0.75rem 0;
  font-size: 0.975rem;
}
th, td{
  border:1px solid var(--border);
  padding: 0.625rem 0.75rem;
  vertical-align: top;
}
thead th{
  background: color-mix(in oklab, var(--code-bg) 70%, transparent);
  font-weight: 700;
}
tbody tr:nth-child(odd) td{
  background: color-mix(in oklab, var(--code-bg) 50%, transparent);
}

/* 7) Horizontal rule and quotes */
hr{
  border:0;
  border-top:1px solid var(--border);
  margin: 1.5rem 0;
}
blockquote{
  margin: 0.75rem 0;
  padding: 0.5rem 1rem;
  border-left: 3px solid var(--border);
  background: color-mix(in oklab, var(--code-bg) 40%, transparent);
}

/* 8) Definition lists (common in policies) */
dl{margin: 0.75rem 0}
dt{font-weight:700; margin-top:0.5rem}
dd{margin-left: 1rem; color: var(--muted)}

/* 9) Utilities */
.fig, .figure{margin:1rem 0; text-align:center}
.caption{font-size:0.9rem; color:var(--muted)}
.kicker{letter-spacing:.08em; text-transform:uppercase; font-size:.85rem; color:var(--muted)}

/* 10) Print styles */
@media print{
  :root{
    --bg:#fff; --text:#000; --muted:#333; --link:#000; --border:#000;
  }
  @page{margin: 16mm}
  body{font-size:12pt}
  a{color:#000; text-decoration:none}
  article{max-width:none; padding:0}
  table{page-break-inside:auto}
  tr{page-break-inside:avoid; page-break-after:auto}
  h1,h2,h3{break-after:avoid}
}

/* 11) Minimal anchor link affordance for long docs */
h2[id]::after, h3[id]::after{
  content: " ";
}
