/* =============================================
   COCOCURE LEGAL PAGES — editorial dark skin
   Loaded on /terms-conditions/ and /privacy-policy/
   so they stop reading as default WordPress white
   and pick up the Fraunces + Inter + Mono stack
   used across the rest of the site.
   ============================================= */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,ital,wght@9..144,0,300..900;9..144,1,300..900&family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');

body.coco-legal-page {
  --coco-bg:           #0a0a0a;
  --coco-surface:      #141414;
  --coco-border:       #1f1f1f;
  --coco-text:         #FAF7F0;
  --coco-text-muted:   rgba(250,247,240,0.72);
  --coco-text-faint:   rgba(250,247,240,0.55);
  --coco-gold:         #c9a96e;
  --coco-gold-light:   #d9bb80;
  --coco-gold-dim:     rgba(201,169,110,0.12);
  --coco-serif:        'Fraunces', 'Playfair Display', Georgia, serif;
  --coco-sans:         'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --coco-mono:         'JetBrains Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;

  background: var(--coco-bg) !important;
  color: var(--coco-text) !important;
  font-family: var(--coco-sans) !important;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Wipe Avada's white content wrappers on these pages. */
body.coco-legal-page #main,
body.coco-legal-page #content,
body.coco-legal-page .fusion-content-wrapper,
body.coco-legal-page .fusion-row,
body.coco-legal-page .fusion-text,
body.coco-legal-page .post-content,
body.coco-legal-page .entry-content,
body.coco-legal-page .fusion-page-content-container {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--coco-text) !important;
  box-shadow: none !important;
}

/* Constrain reading width — long legal text is fatiguing at full bleed. */
body.coco-legal-page .entry-content,
body.coco-legal-page .post-content,
body.coco-legal-page .fusion-text {
  max-width: 760px;
  margin: 0 auto;
  padding: 60px 32px 100px;
}

/* Page title — Fraunces editorial. */
body.coco-legal-page .entry-title,
body.coco-legal-page .post-title,
body.coco-legal-page h1.page-title,
body.coco-legal-page h1 {
  font-family: var(--coco-serif) !important;
  font-weight: 300 !important;
  font-size: clamp(48px, 7vw, 88px) !important;
  letter-spacing: -0.03em !important;
  line-height: 0.95 !important;
  color: var(--coco-text) !important;
  margin: 80px auto 28px !important;
  max-width: 760px !important;
  padding: 0 32px !important;
  text-transform: none !important;
}
body.coco-legal-page h1 em,
body.coco-legal-page .entry-title em {
  font-style: italic;
  font-weight: 400;
}

/* Gold mono kicker above the page title, injected via CSS. */
body.coco-legal-page h1::before,
body.coco-legal-page .entry-title::before {
  content: "Cococure · Legal";
  display: block;
  font-family: var(--coco-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--coco-gold);
  margin-bottom: 14px;
  line-height: 1.4;
}
body.coco-legal-page.page-privacy-policy h1::before,
body.coco-legal-page.page-privacy-policy .entry-title::before {
  content: "Cococure · Privacy";
}

/* Section headings (h2/h3) — Fraunces with subtle gold divider above. */
body.coco-legal-page h2 {
  font-family: var(--coco-serif) !important;
  font-weight: 400 !important;
  font-size: clamp(28px, 3.5vw, 38px) !important;
  letter-spacing: -0.015em !important;
  line-height: 1.15 !important;
  color: var(--coco-text) !important;
  margin: 64px 0 16px !important;
  padding-top: 36px !important;
  border-top: 1px solid var(--coco-border) !important;
  position: relative;
}
body.coco-legal-page h2::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 48px;
  height: 1px;
  background: var(--coco-gold);
}
body.coco-legal-page h3 {
  font-family: var(--coco-serif) !important;
  font-weight: 400 !important;
  font-size: 22px !important;
  letter-spacing: -0.01em !important;
  color: var(--coco-text) !important;
  margin: 32px 0 12px !important;
}
body.coco-legal-page h4,
body.coco-legal-page h5,
body.coco-legal-page h6 {
  font-family: var(--coco-mono) !important;
  font-weight: 500 !important;
  font-size: 12px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--coco-gold) !important;
  margin: 28px 0 10px !important;
}

/* Body paragraphs. */
body.coco-legal-page p {
  font-family: var(--coco-sans);
  font-size: 16px;
  line-height: 1.7;
  color: var(--coco-text-muted) !important;
  margin: 0 0 18px;
}

/* First paragraph after H1 — a touch larger, cream not muted. */
body.coco-legal-page h1 + p,
body.coco-legal-page .entry-title + p {
  font-size: 18px;
  color: var(--coco-text) !important;
  margin-bottom: 28px;
}

/* Lists. */
body.coco-legal-page ul,
body.coco-legal-page ol {
  margin: 0 0 24px;
  padding-left: 22px;
  color: var(--coco-text-muted);
}
body.coco-legal-page li {
  font-family: var(--coco-sans);
  margin-bottom: 10px;
  line-height: 1.65;
}
body.coco-legal-page ul li::marker { color: var(--coco-gold); }
body.coco-legal-page ol li::marker { color: var(--coco-gold); font-family: var(--coco-mono); font-weight: 500; font-size: 14px; }

/* Inline emphasis. */
body.coco-legal-page strong,
body.coco-legal-page b {
  color: var(--coco-text);
  font-weight: 600;
}
body.coco-legal-page em,
body.coco-legal-page i {
  font-family: var(--coco-serif);
  font-style: italic;
  color: var(--coco-text);
}

/* Links. */
body.coco-legal-page a {
  color: var(--coco-gold);
  text-decoration: none;
  border-bottom: 1px solid var(--coco-gold-dim);
  transition: color .2s ease, border-color .2s ease;
}
body.coco-legal-page a:hover {
  color: var(--coco-gold-light);
  border-bottom-color: var(--coco-gold);
}

/* Horizontal rule (the asterisks dividers become real dividers). */
body.coco-legal-page hr {
  border: 0;
  height: 1px;
  background: var(--coco-border);
  margin: 48px auto;
  max-width: 60%;
}

/* Blockquote for "Summary" callouts. */
body.coco-legal-page blockquote {
  margin: 28px 0;
  padding: 20px 24px;
  background: var(--coco-gold-dim);
  border-left: 3px solid var(--coco-gold);
  border-radius: 0 8px 8px 0;
  color: var(--coco-text);
  font-style: normal;
}
body.coco-legal-page blockquote p { color: var(--coco-text); margin: 0; }

/* Tables. */
body.coco-legal-page table {
  width: 100%;
  border-collapse: collapse;
  margin: 28px 0;
  font-size: 14px;
}
body.coco-legal-page th,
body.coco-legal-page td {
  padding: 12px 14px;
  text-align: left;
  border-bottom: 1px solid var(--coco-border);
  color: var(--coco-text-muted);
}
body.coco-legal-page th {
  font-family: var(--coco-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--coco-gold);
  font-weight: 500;
}

/* Mobile. */
@media (max-width: 640px) {
  body.coco-legal-page .entry-content,
  body.coco-legal-page .post-content,
  body.coco-legal-page .fusion-text {
    padding: 40px 20px 70px;
  }
  body.coco-legal-page h1,
  body.coco-legal-page .entry-title {
    margin-top: 56px !important;
    padding: 0 20px !important;
  }
  body.coco-legal-page h2 { margin-top: 48px !important; padding-top: 28px !important; }
}
