/* ═══════════════════════════════════════════════════════════════════════════
   SMJ — Legal & Policy pages  (v6.20.151)
   Scoped to body.smj-pg-legal. Nothing here loads or applies anywhere else.

   NO HARDCODED DESIGN. Every colour, font, size, radius and spacing value
   resolves through an existing Theme Control token, with the same fallback
   chain the rest of the plugin uses:
       --smj-text / --smj-text-muted / --smj-primary / --smj-border
       --smj-card-bg / --smj-light-section / --smj-radius
       --smj-body-font / --smj-heading-font / --smj-heading-size
       --smj-container-w / --smj-section-spacing
   Change a global Theme Control value and these pages follow automatically.
   ═══════════════════════════════════════════════════════════════════════════ */

body.smj-pg-legal .smj-legal{
  max-width: var(--smj-container-w, 860px);
  margin-inline: auto;
  padding: var(--smj-section-spacing, 32px) 16px calc(var(--smj-section-spacing, 32px) + 16px);
  font-family: var(--smj-body-font, inherit);
  font-size: var(--smj-body-size, 15px);
  line-height: var(--smj-line-height, 1.7);
  color: var(--smj-text, #111827);
}

/* ── Header ─────────────────────────────────────────────────────────────── */
body.smj-pg-legal .smj-legal__head{
  padding-bottom: 16px;
  margin-bottom: 22px;
  border-bottom: 1px solid var(--smj-border, #e8ebee);
}
body.smj-pg-legal .smj-legal__title{
  margin: 0 0 6px;
  font-family: var(--smj-heading-font, var(--smj-body-font, inherit));
  font-size: var(--smj-heading-size, 28px);
  font-weight: var(--smj-heading-weight, 800);
  line-height: 1.25;
  color: var(--smj-heading-color, var(--smj-text, #111827));
}
body.smj-pg-legal .smj-legal__meta{
  margin: 0;
  font-size: 13px;
  color: var(--smj-text-muted, #64748b);
}

/* ── Body copy ──────────────────────────────────────────────────────────── */
body.smj-pg-legal .smj-legal__body > *:first-child{ margin-top: 0; }
body.smj-pg-legal .smj-legal__body h2,
body.smj-pg-legal .smj-legal__body h3{
  font-family: var(--smj-heading-font, var(--smj-body-font, inherit));
  font-weight: var(--smj-heading-weight, 700);
  color: var(--smj-heading-color, var(--smj-text, #111827));
  margin: 28px 0 10px;
  line-height: 1.3;
}
body.smj-pg-legal .smj-legal__body h2{ font-size: calc(var(--smj-heading-size, 28px) * .72); }
body.smj-pg-legal .smj-legal__body h3{ font-size: calc(var(--smj-heading-size, 28px) * .58); }
body.smj-pg-legal .smj-legal__body p,
body.smj-pg-legal .smj-legal__body li{ margin: 0 0 12px; }
body.smj-pg-legal .smj-legal__body ul,
body.smj-pg-legal .smj-legal__body ol{ margin: 0 0 16px; padding-left: 22px; }
body.smj-pg-legal .smj-legal__body a{
  color: var(--smj-primary, #1e6eff);
  text-decoration: underline;
  text-underline-offset: 2px;
  overflow-wrap: anywhere;   /* long URLs in policy text must not overflow */
}
body.smj-pg-legal .smj-legal__body table{
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 16px;
  display: block;
  overflow-x: auto;          /* wide policy tables scroll instead of breaking layout */
}
body.smj-pg-legal .smj-legal__body th,
body.smj-pg-legal .smj-legal__body td{
  border: 1px solid var(--smj-border, #e8ebee);
  padding: 9px 12px;
  text-align: left;
  font-size: 14px;
}
body.smj-pg-legal .smj-legal__body th{ background: var(--smj-light-section, #f6f8fa); font-weight: 700; }
body.smj-pg-legal .smj-legal__empty{ color: var(--smj-text-muted, #64748b); font-style: italic; }

/* ── Cross-links to the other policies ──────────────────────────────────── */
body.smj-pg-legal .smj-legal__more{
  margin-top: 32px;
  padding: 18px;
  background: var(--smj-light-section, #f6f8fa);
  border: 1px solid var(--smj-border, #e8ebee);
  border-radius: var(--smj-radius, 12px);
}
body.smj-pg-legal .smj-legal__morettl{
  margin: 0 0 10px;
  font-family: var(--smj-heading-font, var(--smj-body-font, inherit));
  font-size: 15px;
  font-weight: 700;
  color: var(--smj-heading-color, var(--smj-text, #111827));
}
body.smj-pg-legal .smj-legal__links{
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 8px 18px;
}
body.smj-pg-legal .smj-legal__links a{
  color: var(--smj-primary, #1e6eff);
  text-decoration: none;
  font-size: 14px;
}
body.smj-pg-legal .smj-legal__links a:hover{ text-decoration: underline; }

/* ── v6.20.155 — Legal pages: solid black heading/body text ─────────────
   Requested for Privacy Policy and applied to all policy pages for
   consistency. These are !important because the site theme styles its content
   wrapper aggressively — the same leakage that turned cart product titles blue
   (v6.20.137) and overrode cart typography (v6.20.139). Without it a theme
   heading colour bleeds into legal copy.

   --smj-legal-text still leads the chain, so if you later want to move away
   from black, setting that one variable overrides all of these at once
   rather than needing edits here. Links keep the accent colour so they stay
   recognisable as links. */
body.smj-pg-legal .smj-legal,
body.smj-pg-legal .smj-legal__body,
body.smj-pg-legal .smj-legal__body p,
body.smj-pg-legal .smj-legal__body li,
body.smj-pg-legal .smj-legal__body td,
body.smj-pg-legal .smj-legal__body th{
  color: var(--smj-legal-text, #000) !important;
}
body.smj-pg-legal .smj-legal__title,
body.smj-pg-legal .smj-legal__body h2,
body.smj-pg-legal .smj-legal__body h3,
body.smj-pg-legal .smj-legal__morettl{
  color: var(--smj-legal-heading, var(--smj-legal-text, #000)) !important;
}
/* Muted meta line stays muted — it is not body copy. */
body.smj-pg-legal .smj-legal__meta{ color: var(--smj-text-muted, #64748b) !important; }

/* ── Responsive ─────────────────────────────────────────────────────────── */
@media (max-width: 900px){
  body.smj-pg-legal .smj-legal{ padding-inline: 16px; }
}
@media (max-width: 600px){
  body.smj-pg-legal .smj-legal{ font-size: 14.5px; padding-top: 20px; }
  body.smj-pg-legal .smj-legal__title{ font-size: calc(var(--smj-heading-size, 28px) * .78); }
  body.smj-pg-legal .smj-legal__more{ padding: 14px; }
  body.smj-pg-legal .smj-legal__links{ grid-template-columns: 1fr; }
}
@media print{
  body.smj-pg-legal .smj-legal__more{ display: none !important; }
}
