/* MasquePlay — legal policy page styles (standalone, public site).
   Rendered by render-policies.mjs. No inline styles (strict CSP). */

:root {
  color-scheme: dark;
  --bg-base:        #0c0a10;
  --bg-surface:     #141018;
  --border:         #2c2438;
  --rose:           #e8407a;
  --gold:           #f0b440;
  --text-primary:   #f2eaf8;
  --text-secondary: #b8a8cc;
  --text-muted:     #7a6a8e;
  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-ui:      'DM Sans', system-ui, -apple-system, sans-serif;
  --maxw: 760px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  background: var(--bg-base);
  color: var(--text-primary);
  font-family: var(--font-ui);
  font-size: 1rem;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--rose); text-underline-offset: 3px; }
a:hover { color: var(--text-primary); }

/* Header */
.policy-header {
  border-bottom: 1px solid var(--border);
  background: rgba(12, 10, 16, 0.9);
}
.policy-header-inner {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 18px 24px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.policy-brand { display: inline-flex; align-items: center; gap: 10px; }
.policy-brand img { width: 38px; height: auto; }
.policy-brand span {
  font-family: var(--font-display);
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--text-primary);
}

/* Article */
.policy-main { max-width: var(--maxw); margin: 0 auto; padding: 56px 24px 96px; }

.policy-main h1 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(2.4rem, 6vw, 3.2rem);
  line-height: 1.08;
  margin-bottom: 12px;
}
.policy-main h2 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1.6rem;
  margin: 40px 0 12px;
  padding-top: 8px;
}
.policy-main h3 {
  font-family: var(--font-ui);
  font-weight: 600;
  font-size: 1.1rem;
  margin: 28px 0 8px;
}
.policy-main p { margin: 0 0 16px; color: var(--text-secondary); }
.policy-main strong { color: var(--text-primary); font-weight: 600; }
.policy-main em { color: var(--text-primary); }
.policy-main ul, .policy-main ol { margin: 0 0 16px 1.4em; color: var(--text-secondary); }
.policy-main li { margin-bottom: 8px; }
.policy-main hr { border: 0; border-top: 1px solid var(--border); margin: 32px 0; }
.policy-main a { word-break: break-word; }
.policy-main code {
  font-family: ui-monospace, 'SF Mono', Menlo, monospace;
  font-size: 0.88em;
  background: var(--bg-surface);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 1px 5px;
}

/* The leading "Last updated" line (first paragraph after the H1) */
.policy-main h1 + p { color: var(--text-muted); font-size: 0.92rem; margin-bottom: 28px; }

/* Footer */
.policy-footer {
  border-top: 1px solid var(--border);
  background: var(--bg-surface);
}
.policy-footer-inner {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 28px 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  justify-content: space-between;
  align-items: center;
  color: var(--text-muted);
  font-size: 0.85rem;
}
.policy-footer-links { display: flex; gap: 18px; flex-wrap: wrap; }
.policy-footer-links a { color: var(--text-secondary); }
.policy-footer-links a:hover { color: var(--text-primary); }
