/*
 * Shared styling for the policy pages (terms, privacy, refunds, contact).
 * Same tokens as landing.html so these read as part of the same site rather
 * than as something bolted on for a payment provider's review.
 */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600&family=Source+Sans+3:wght@400;500;600;700&display=swap');

:root{
  --bg: #faf6ef;
  --bg-raised: #f1e9db;
  --ink: #201b13;
  --ink-soft: #55503f;
  --ink-faint: #8a836e;
  --line: rgba(32,27,19,0.14);
  --accent: #b8461f;

  --font-display: 'Fraunces', Georgia, 'Iowan Old Style', 'Times New Roman', serif;
  --font-body: 'Source Sans 3', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

  --measure: 42rem;
  --radius: 10px;
}

@media (prefers-color-scheme: dark){
  :root{
    --bg: #16130e;
    --bg-raised: #1f1b14;
    --ink: #f4efe3;
    --ink-soft: #c3bba6;
    --ink-faint: #8c8471;
    --line: rgba(244,239,227,0.14);
    --accent: #e2814f;
  }
}

*,*::before,*::after{ box-sizing: border-box; }
html{ -webkit-text-size-adjust: 100%; }

body{
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

a{ color: var(--accent); }
a:hover{ text-decoration: none; }

header.site{
  border-bottom: 1px solid var(--line);
  background: var(--bg-raised);
}
header.site .inner{
  max-width: var(--measure);
  margin: 0 auto;
  padding: 18px 24px;
  display: flex;
  align-items: baseline;
  gap: 14px;
  flex-wrap: wrap;
}
header.site a.brand{
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 600;
  text-decoration: none;
  color: var(--ink);
}
header.site nav{ margin-left: auto; display: flex; gap: 16px; flex-wrap: wrap; }
header.site nav a{ font-size: 14px; color: var(--ink-soft); text-decoration: none; }
header.site nav a:hover{ color: var(--accent); }

main{
  max-width: var(--measure);
  margin: 0 auto;
  padding: 40px 24px 72px;
}

h1{
  font-family: var(--font-display);
  font-size: clamp(28px, 5vw, 38px);
  font-weight: 600;
  line-height: 1.15;
  margin: 0 0 6px;
}
h2{
  font-family: var(--font-display);
  font-size: 21px;
  font-weight: 600;
  margin: 34px 0 10px;
}
p, li{ color: var(--ink); }
p{ margin: 0 0 14px; }
ul{ padding-left: 20px; margin: 0 0 14px; }
li{ margin-bottom: 7px; }

.updated{ color: var(--ink-faint); font-size: 14px; margin-bottom: 8px; }

.callout{
  background: var(--bg-raised);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 16px 18px;
  margin: 20px 0;
}
.callout p:last-child{ margin-bottom: 0; }

table{ border-collapse: collapse; width: 100%; margin: 0 0 16px; font-size: 15px; }
th, td{ text-align: left; padding: 9px 10px; border-bottom: 1px solid var(--line); vertical-align: top; }
th{ font-weight: 600; color: var(--ink-soft); }

footer.site{
  border-top: 1px solid var(--line);
  margin-top: 48px;
}
footer.site .inner{
  max-width: var(--measure);
  margin: 0 auto;
  padding: 22px 24px 48px;
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  font-size: 14px;
  color: var(--ink-faint);
}
footer.site a{ color: var(--ink-soft); text-decoration: none; }
footer.site a:hover{ color: var(--accent); }
