/* ============================================================================
   FocusFlow LEGAL PAGES — shared dark V5 template (page-legal.php).

   Scoped entirely under `.ff-v5-legal` (the <main> wrapper this template
   prints) so nothing here can collide with the locked `.ff-v5-home`
   homepage selectors in v5-home.css. Loads as a dependent of v5-home.css
   (enqueued in page-legal.php), so the --navy-0/--sand/--cream token block
   and the body.ff-v5-dark background + site-header/site-footer reskin are
   already in effect by the time these rules apply — nothing is redeclared
   here, only new prose-specific rules.
   ========================================================================== */

.ff-v5-legal{ display:block; padding:64px 0 110px; }
.ff-v5-legal *{ box-sizing:border-box; }
.ff-v5-legal .wrap{ max-width:1200px; margin:0 auto; padding:0 28px; }
.ff-v5-legal .legal-wrap{ max-width:860px; }

/* ---- breadcrumb ---- */
.ff-v5-legal .legal-breadcrumb{
  font-family:"FFV5Poppins",sans-serif; font-weight:500; font-size:13px;
  color:var(--cream-50); margin:0 0 36px; display:flex; align-items:center; gap:8px; flex-wrap:wrap;
}
.ff-v5-legal .legal-breadcrumb a{ color:var(--cream-70); text-decoration:none; }
.ff-v5-legal .legal-breadcrumb a:hover{ color:var(--sand); }
.ff-v5-legal .legal-breadcrumb span{ color:var(--cream-35); }

/* ---- title block ---- */
.ff-v5-legal .legal-article h1{
  font-family:"FFV5Poppins",sans-serif; font-weight:700; letter-spacing:-.01em;
  font-size:clamp(32px,5vw,52px); line-height:1.08; color:var(--cream); margin:0 0 14px;
}
.ff-v5-legal .legal-updated{
  font-size:13.5px; color:var(--cream-50); margin:0 0 44px;
  padding-bottom:32px; border-bottom:1px solid var(--line-soft);
}

/* ---- prose body: ~65-75ch measure, clear heading hierarchy ---- */
.ff-v5-legal .legal-body{ max-width:74ch; color:var(--cream-70); font-size:16.5px; line-height:1.75; }
.ff-v5-legal .legal-body h2{
  font-family:"FFV5Poppins",sans-serif; font-weight:600; color:var(--cream);
  font-size:clamp(21px,2.6vw,27px); line-height:1.22; margin:52px 0 18px; letter-spacing:-.01em;
}
.ff-v5-legal .legal-body h2:first-child{ margin-top:0; }
.ff-v5-legal .legal-body h3{
  font-family:"FFV5Poppins",sans-serif; font-weight:600; color:var(--sand-bright);
  font-size:17.5px; margin:30px 0 12px;
}
.ff-v5-legal .legal-body p{ margin:0 0 18px; }
.ff-v5-legal .legal-body ul, .ff-v5-legal .legal-body ol{ margin:0 0 20px; padding-left:22px; }
.ff-v5-legal .legal-body li{ margin:0 0 10px; }
.ff-v5-legal .legal-body li > ul, .ff-v5-legal .legal-body li > ol{ margin-top:10px; }
.ff-v5-legal .legal-body a{ color:var(--sand); text-decoration:underline; text-underline-offset:3px; }
.ff-v5-legal .legal-body a:hover{ color:var(--sand-bright); }
.ff-v5-legal .legal-body strong{ color:var(--cream); font-weight:600; }

/* ---- callout box (guarantee terms, disclaimers, etc.) ---- */
.ff-v5-legal .legal-body .legal-callout{
  background:rgba(212,165,116,.08); border:1px solid var(--line); border-radius:14px;
  padding:22px 24px; margin:0 0 28px; font-size:15.5px;
}
.ff-v5-legal .legal-body .legal-callout p:last-child{ margin-bottom:0; }

/* ---- table of contents (Terms + Privacy only) ---- */
.ff-v5-legal .legal-toc{
  background:rgba(253,250,245,.03); border:1px solid var(--line-soft); border-radius:14px;
  padding:22px 26px; margin:0 0 48px;
}
.ff-v5-legal .legal-toc p{
  font-family:"FFV5Poppins",sans-serif; font-weight:600; font-size:12px;
  letter-spacing:.18em; text-transform:uppercase; color:var(--sand); margin:0 0 14px;
}
.ff-v5-legal .legal-toc ol{ margin:0; padding-left:20px; columns:2; column-gap:28px; }
.ff-v5-legal .legal-toc li{ margin:0 0 8px; font-size:14.5px; break-inside:avoid; }
.ff-v5-legal .legal-toc a{ color:var(--cream-70); text-decoration:none; }
.ff-v5-legal .legal-toc a:hover{ color:var(--sand); }

/* ---- back link ---- */
.ff-v5-legal .legal-back{
  display:inline-flex; align-items:center; gap:8px; margin-top:56px;
  font-family:"FFV5Poppins",sans-serif; font-weight:600; font-size:14px; color:var(--sand);
  text-decoration:none;
}
.ff-v5-legal .legal-back:hover{ color:var(--sand-bright); }

/* ---- contact page specifics ---- */
.ff-v5-legal .legal-body .legal-contact-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:0 0 32px;
}
.ff-v5-legal .legal-body .legal-contact-card{
  background:rgba(253,250,245,.03); border:1px solid var(--line-soft); border-radius:14px; padding:22px 24px;
}
.ff-v5-legal .legal-body .legal-contact-card h3{ margin-top:0; }
.ff-v5-legal .legal-body .legal-contact-card p{ margin-bottom:0; font-size:15.5px; }

@media (max-width:640px){
  .ff-v5-legal{ padding:44px 0 80px; }
  .ff-v5-legal .legal-toc ol{ columns:1; }
  .ff-v5-legal .legal-body .legal-contact-grid{ grid-template-columns:1fr; }
}
