/* Temptera policy stylesheet — shared by Terms, Privacy and Cookie pages.
   Tuned for both standalone viewing and embedded modal/iframe use. */

:root{
  --bg:hsl(0 0% 4%); --surface:hsl(0 0% 7%); --surface-2:hsl(0 0% 12%);
  --border:hsl(0 0% 16%); --border-strong:hsl(0 0% 22%);
  --fg:hsl(0 0% 95%); --fg-muted:hsl(0 0% 70%); --fg-dim:hsl(0 0% 55%);
  --primary:hsl(0 85% 55%); --primary-soft:hsl(0 85% 55% / 0.10);
  --font-display:'Outfit','Inter',system-ui,sans-serif;
  --font-body:'Space Grotesk',system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--fg);
  font-family:var(--font-body); font-size:16px; line-height:1.7;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  word-wrap:break-word; overflow-wrap:break-word;
}

/* ── Reading column ─────────────────────────────────────────── */
.policy-doc{
  max-width:780px; margin:0 auto; padding:48px 32px 96px;
}
.policy-doc h1{
  font-family:var(--font-display); font-size:clamp(32px, 5vw, 48px);
  font-weight:700; line-height:1.1; letter-spacing:-0.02em;
  margin:0 0 24px; color:var(--fg);
}
.policy-doc h2{
  font-family:var(--font-display); font-size:clamp(22px, 3vw, 28px);
  font-weight:600; line-height:1.25; letter-spacing:-0.01em;
  margin:48px 0 16px; padding-top:24px; border-top:1px solid var(--border);
  color:var(--fg);
}
.policy-doc h2:first-of-type{ border-top:0; padding-top:0; margin-top:32px; }
.policy-doc h3{
  font-family:var(--font-display); font-size:18px; font-weight:600;
  line-height:1.35; margin:32px 0 12px; color:var(--fg);
}
.policy-doc p{
  margin:0 0 18px; color:var(--fg-muted); font-size:15.5px; line-height:1.7;
}
.policy-doc strong{ color:var(--fg); font-weight:600; }
.policy-doc em{ color:var(--fg); font-style:italic; }

.policy-doc a{
  color:var(--primary); text-decoration:underline; text-underline-offset:3px;
  text-decoration-thickness:1px; transition:color .2s;
  word-break:break-word;
}
.policy-doc a:hover{ color:hsl(0 85% 65%); }

.policy-doc ul, .policy-doc ol{
  margin:0 0 20px; padding-left:24px; color:var(--fg-muted); font-size:15.5px;
}
.policy-doc li{ margin-bottom:8px; line-height:1.7; }
.policy-doc li > p{ margin-bottom:8px; }
.policy-doc li::marker{ color:var(--primary); }

.policy-doc blockquote{
  margin:24px 0; padding:18px 22px;
  background:var(--primary-soft);
  border-left:3px solid var(--primary);
  border-radius:0 10px 10px 0;
  color:var(--fg);
}
.policy-doc blockquote p{ color:var(--fg); margin:0 0 12px; font-size:15.5px; }
.policy-doc blockquote p:last-child{ margin-bottom:0; }
.policy-doc blockquote strong{ color:var(--fg); }

.policy-doc hr{
  border:0; height:1px; background:var(--border);
  margin:40px 0;
}

.policy-doc code{
  font-family:'JetBrains Mono', ui-monospace, Menlo, monospace;
  font-size:13.5px;
  background:var(--surface-2); color:var(--fg);
  padding:2px 7px; border-radius:5px;
  border:1px solid var(--border);
}

/* Tables — make policy tables look like proper tables */
.policy-doc table{
  width:100%; border-collapse:collapse; margin:20px 0 24px;
  font-size:14.5px; background:var(--surface);
  border:1px solid var(--border); border-radius:10px; overflow:hidden;
  display:block; overflow-x:auto;
}
.policy-doc thead{ background:var(--surface-2); }
.policy-doc th, .policy-doc td{
  padding:12px 16px; text-align:left; vertical-align:top;
  border-bottom:1px solid var(--border);
}
.policy-doc th{ color:var(--fg); font-weight:600; }
.policy-doc td{ color:var(--fg-muted); }
.policy-doc tr:last-child td{ border-bottom:0; }

/* First two paragraphs of each policy carry brand metadata — give them weight */
.policy-doc h1 + p,
.policy-doc h1 + p + p{
  font-size:14.5px; color:var(--fg-muted);
}
.policy-doc h1 + p strong,
.policy-doc h1 + p + p strong{ color:var(--fg); }

/* Footnote / footer paragraph */
.policy-doc p em:only-child{
  display:block; text-align:center; color:var(--fg-dim);
  font-size:13px; margin-top:48px;
}

@media (max-width:600px){
  .policy-doc{ padding:32px 20px 64px; }
  .policy-doc h2{ margin-top:36px; padding-top:18px; }
  .policy-doc table{ font-size:13.5px; }
  .policy-doc th, .policy-doc td{ padding:10px 12px; }
}
