/* =========================================================
   CrossMerg — Policies (Scoped Contract)
   Applies ONLY to policy pages
   ========================================================= */

/* =========================================================
   Layout: full-width section + readable prose width
   ========================================================= */
body.marketing-site .cm-page--policy .cm-section{
  padding-left: 0;
  padding-right: 0;
}

body.marketing-site .cm-page--policy .cm-prose{
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

/* =========================================================
   Hero → content rhythm (tight but readable)
   ========================================================= */
body.marketing-site .cm-page--policy .cm-hero--compact{
  padding-bottom: 12px;
}

body.marketing-site .cm-page--policy .cm-section{
  padding-top: 12px;
}

/* Policy meta (“Last updated”) */
body.marketing-site .cm-page--policy .cm-policy-meta{
  margin-top: 10px;
  margin-bottom: 0;
  opacity: .75;
  font-size: 0.95em;
  line-height: 1.35;
}

/* Headings / separators */
body.marketing-site .cm-page--policy .cm-prose h2:first-child{
  margin-top: 0;
}

body.marketing-site .cm-page--policy .cm-prose h2{
  margin-top: 2.25rem;
}

body.marketing-site .cm-page--policy .cm-prose hr{
  margin: 3rem 0 2rem;
}


/* =========================================================
   Lists: restore markers under aggressive resets
   Scope:
   - Only policy pages
   - Only within .cm-prose
   ========================================================= */

/* Base list box model (prevents "no padding, no markers" look) */
body.marketing-site .cm-page--policy .cm-prose ul,
body.marketing-site .cm-page--policy .cm-prose ol{
  list-style-position: outside !important;
  padding-left: 1.75rem !important;
  margin: 0.75rem 0 1.25rem !important;

  /* If a reset makes lists flex/grid, markers can vanish */
  display: block !important;
}

/* Restore correct marker types */
body.marketing-site .cm-page--policy .cm-prose ul{ list-style-type: disc !important; }
body.marketing-site .cm-page--policy .cm-prose ol{ list-style-type: decimal !important; }

/* Ensure LI is a list-item (some resets set block/flex) */
body.marketing-site .cm-page--policy .cm-prose li{
  display: list-item !important;
  margin: 0.35rem 0 !important;
  line-height: 1.6;
}

/* Kill fake bullets (common in utility kits) */
body.marketing-site .cm-page--policy .cm-prose li::before{
  content: none !important;
  display: none !important;
}


/* =========================================================
   Policy lists (explicit class hook)
   - Keeps same behavior, but without a second competing system
   ========================================================= */
body.marketing-site .cm-page--policy .cm-prose ul.cm-policy-list{
  list-style-type: disc !important;
}


/* =========================================================
   LAST-RESORT marker forcing
   - Only apply when a list is explicitly marked as a "policy list"
   - Prevents ordered lists from becoming bullets
   ========================================================= */
body.marketing-site .cm-page--policy .cm-prose ul.cm-policy-list > li::marker{
  content: "• " !important;
}
