/* Legal stub pages (Terms / Privacy / Refund). Dawn type system. */

:root {
  --night:    #06070B;
  --gold:     #D9A441;
  --cream:    #F2EFE6;
  --cream-60: rgba(242,239,230,0.62);
  --cream-40: rgba(242,239,230,0.55); /* 5.6:1 on --night — WCAG AA */
  --hair:     rgba(242,239,230,0.12);
}

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
body {
  background: var(--night); color: var(--cream);
  font-family: "Inter", sans-serif; font-weight: 400;
  line-height: 1.65; min-height: 100vh;
  -webkit-font-smoothing: antialiased;
}
body::after {
  content: ""; position: fixed; inset: 0; pointer-events: none;
  opacity: 0.035; z-index: 50;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
}

.legal-nav {
  padding: 20px 48px; border-bottom: 1px solid var(--hair);
  position: sticky; top: 0; z-index: 40;
  background: rgba(6,7,11,0.82);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}
.legal-nav a.logo {
  font-family: "Source Serif 4", serif;
  font-weight: 700; font-size: 19px; letter-spacing: 0.02em;
  display: inline-flex; align-items: baseline; gap: 9px;
  color: var(--cream); text-decoration: none;
}
.legal-nav a.logo span { color: inherit; }
.legal-nav a.logo::before {
  content: ""; width: 8px; height: 8px; background: var(--gold);
  border-radius: 50%; box-shadow: 0 0 12px rgba(217,164,65,0.8);
  display: inline-block; margin-right: 2px;
}

main.legal { max-width: 760px; margin: 0 auto; padding: 4rem 1.5rem 5rem; position: relative; z-index: 1; }
main.legal h1 {
  font-family: "Source Serif 4", serif; font-weight: 600;
  font-size: clamp(2rem, 4vw, 2.8rem); line-height: 1.1;
  letter-spacing: -0.015em; color: var(--cream); margin-bottom: 0.5rem;
}
main.legal .updated {
  font-family: "JetBrains Mono", monospace; font-size: 10px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--cream-40); margin-bottom: 2rem;
}
main.legal .placeholder-note {
  border: 1px solid rgba(217,164,65,0.4);
  background: rgba(217,164,65,0.06);
  padding: 1rem 1.25rem; font-size: 0.92rem;
  color: var(--cream); margin-bottom: 2.5rem;
}
main.legal h2 {
  font-family: "JetBrains Mono", monospace; font-size: 11px;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--gold); margin: 2rem 0 0.75rem;
}
main.legal p { font-size: 0.95rem; color: var(--cream-60); margin-bottom: 1rem; }
/* Inline links (mailto: contacts) had no color rule and fell back to UA blue
   (~2.3:1 on --night) — fails WCAG 1.4.1 + 1.4.3. Gold (~8:1) + underline fixes
   both. Scoped to <p> so the gold .back button (night-on-gold) is untouched. */
main.legal p a { color: var(--gold); text-decoration: underline; text-underline-offset: 0.15em; }
main.legal p a:hover { text-decoration-thickness: 2px; }
main.legal a.back {
  display: inline-block; margin-top: 2.5rem;
  font-family: "JetBrains Mono", monospace; font-size: 10.5px;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--night); background: var(--gold);
  padding: 14px 28px; text-decoration: none;
  box-shadow: 0 0 24px rgba(217,164,65,0.25);
  transition: box-shadow 0.25s, transform 0.25s;
}
main.legal a.back:hover { box-shadow: 0 0 44px rgba(217,164,65,0.55); transform: translateY(-1px); }
.legal-nav a.logo:focus-visible,
main.legal a:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }

@media (max-width: 768px) {
  .legal-nav { padding: 16px 22px; }
  main.legal { padding: 3rem 1.25rem 4rem; }
}
