/* ================================================
   ESGNexus Article Styles v4
   Works with Mammoth .docx converter
   Paste into: Appearance → Additional CSS
   Replace ALL previous content
   ================================================ */

/* ── Site header hide ───────────────────────── */
.site-header { display: none; }
.site-header.has-sticky-header { display: none; }

/* ── Base typography ────────────────────────── */
.entry-content p {
  font-family: Georgia, serif;
  font-size: 1.05em;
  line-height: 1.85;
  color: #1A1A1A;
  margin-bottom: 1.1em;
}

/* ── Headings ───────────────────────────────── */
.entry-content h1 {
  font-family: Arial, sans-serif;
  font-size: 2em;
  font-weight: 700;
  line-height: 1.2;
  color: #1A1A1A;
}

.entry-content h2 {
  font-family: Arial, sans-serif;
  font-size: 1.28em;
  font-weight: 700;
  color: #1B5E38;
  border-bottom: 2px solid #1B5E38;
  padding-bottom: 7px;
  margin-top: 2em;
  margin-bottom: 0.75em;
}

.entry-content h3 {
  font-family: Arial, sans-serif;
  font-size: 0.95em;
  font-weight: 700;
  color: #1A1A1A;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-top: 1.5em;
  margin-bottom: 0.4em;
}

/* ── Blockquotes (pull quotes) ──────────────── */
/* Mammoth maps Word "Intense Quote" → <blockquote> */
.entry-content blockquote {
  border-left: 4px solid #D4870C !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  background: #FFF8EC !important;
  padding: 16px 22px 16px 22px;
  margin: 1.6em 0;
  border-radius: 0 3px 3px 0;
}

.entry-content blockquote p {
  font-style: italic;
  font-size: 1.05em;
  line-height: 1.75;
  color: #2A2A2A !important;
  margin: 0 0 6px 0 !important;
}

.entry-content blockquote p:last-child {
  margin-bottom: 0 !important;
  font-style: normal;
  font-size: 0.85em;
  font-weight: 700;
  color: #D4870C !important;
}

/* ── TAKEAWAYS BOX ──────────────────────────── */
/* Word plain table (no shading) — CSS applies all colour */
/* Mammoth outputs: <table><tbody><tr><td>...</td></tr></tbody></table> */
/* We target the FIRST table in the article */
.entry-content table:first-of-type {
  background-color: #1B5E38 !important;
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 1.8em 0;
  border-radius: 4px;
}

.entry-content table:first-of-type td,
.entry-content table:first-of-type th {
  background-color: #1B5E38 !important;
  border: none !important;
  padding: 20px 24px !important;
}

/* Force ALL text inside takeaways to white */
.entry-content table:first-of-type p {
  color: #FFFFFF !important;
  font-family: Georgia, serif !important;
  font-size: 0.95em !important;
  line-height: 1.65 !important;
  margin-bottom: 0 !important;
}

.entry-content table:first-of-type li {
  color: #F0F9F4 !important;
  font-family: Georgia, serif !important;
  font-size: 0.95em !important;
  line-height: 1.65 !important;
  margin-bottom: 7px !important;
}

.entry-content table:first-of-type ul {
  margin: 8px 0 0 0 !important;
  padding-left: 20px !important;
}

/* "KEY TAKEAWAYS" label — amber on green */
.entry-content table:first-of-type strong {
  color: #7EC99A !important;
  font-family: Arial, sans-serif !important;
  font-size: 0.78em !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

/* ── COMPLIANCE TABLE ───────────────────────── */
/* All tables EXCEPT first and last */
.entry-content table + table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.2em 0;
  font-family: Arial, sans-serif;
  font-size: 0.88em;
}

.entry-content table + table thead tr {
  background: #1B5E38 !important;
}

.entry-content table + table thead th {
  background: #1B5E38 !important;
  color: #ffffff !important;
  font-weight: 700;
  padding: 10px 13px;
  text-align: left;
  border: 1px solid #155030;
}

.entry-content table + table tbody tr:nth-child(even) {
  background: #F6F6F6;
}

.entry-content table + table tbody tr:nth-child(odd) {
  background: #FFFFFF;
}

.entry-content table + table tbody tr:first-child {
  background: #FFF8EC !important;
}

.entry-content table + table tbody tr:first-child td {
  color: #C47800 !important;
  font-weight: 700;
}

.entry-content table + table tbody td {
  padding: 9px 13px;
  border: 1px solid #E0DDD7;
  color: #1A1A1A;
  vertical-align: top;
  line-height: 1.45;
}

.entry-content table + table td:first-child,
.entry-content table + table th:first-child {
  white-space: nowrap;
  font-weight: 700;
}

/* ── NUMBERED STEPS ─────────────────────────── */
.entry-content ol {
  list-style: none;
  counter-reset: steps;
  padding: 0;
  margin: 0.8em 0 1.4em 0;
}

.entry-content ol > li {
  counter-increment: steps;
  display: flex;
  gap: 13px;
  margin-bottom: 1em;
  align-items: flex-start;
  font-family: Georgia, serif;
  font-size: 1em;
  line-height: 1.8;
  color: #1A1A1A;
}

.entry-content ol > li::before {
  content: counter(steps);
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  background: #1B5E38;
  color: #FFFFFF;
  font-family: Arial, sans-serif;
  font-size: 0.8em;
  font-weight: 700;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 4px;
}

/* ── BULLET LISTS ───────────────────────────── */
.entry-content ul > li {
  font-family: Georgia, serif;
  font-size: 1em;
  line-height: 1.8;
  color: #1A1A1A;
  margin-bottom: 0.35em;
}

/* ── SOURCE NOTES (italic small) ────────────── */
.entry-content p > em:only-child,
.entry-content p:has(> em:only-child) {
  font-size: 0.8em;
  color: #999999;
  line-height: 1.4;
  margin-top: -0.4em;
  margin-bottom: 1em;
}

/* ── SOURCES LIST — tight spacing ───────────── */
.entry-content h3 + ul > li,
.entry-content h3 ~ ul > li {
  font-family: Arial, sans-serif !important;
  font-size: 0.8em !important;
  font-style: italic;
  color: #888888 !important;
  line-height: 1.45 !important;
  margin-bottom: 3px !important;
  padding-bottom: 0 !important;
}

/* ── ABOUT BOX (last table) ─────────────────── */
.entry-content table:last-of-type {
  background-color: #E8F5EE !important;
  border-top: 3px solid #1B5E38 !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
  width: 100%;
  border-collapse: collapse;
  margin-top: 2em;
}

.entry-content table:last-of-type td {
  background-color: #E8F5EE !important;
  border: none !important;
  padding: 18px 22px !important;
}

.entry-content table:last-of-type p {
  color: #4A4A4A !important;
  font-size: 0.88em !important;
  line-height: 1.65 !important;
  margin-bottom: 0.5em !important;
}

.entry-content table:last-of-type strong {
  color: #1B5E38 !important;
  font-family: Arial, sans-serif !important;
  font-size: 0.76em !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
}

/* ── HORIZONTAL RULE ────────────────────────── */
.entry-content hr {
  border: none;
  border-top: 1px solid #E0DDD7;
  margin: 2em 0;
}

/* ── MOBILE ─────────────────────────────────── */
@media (max-width: 640px) {
  .entry-content h2 { font-size: 1.1em; }
  .entry-content table + table { font-size: 0.76em; }
  .entry-content ol > li { flex-direction: column; }
  .entry-content table:first-of-type td { padding: 15px 16px !important; }
}


/* ── FIX: Takeaways bullet link colour ──────── */
.entry-content table:first-of-type a,
.entry-content table:first-of-type li,
.entry-content table:first-of-type li a {
  color: #EAF5EE !important;
  text-decoration: none !important;
}

/* ── FIX: Hide Word document header line ────── */
/* Hides "ESGNexus.lk · Policy & Regulation" 
   that Mammoth pulls from the Word header      */
.entry-content p:first-of-type {
  display: none !important;
}

/* ── FIX: Intense Quote — Mammoth fallback ──── */
/* When Mammoth can't parse Intense Quote style,
   it outputs as a plain paragraph with extra
   indent — target the indented paragraphs      */
.entry-content p[style*="margin-left"] {
  border-left: 4px solid #D4870C !important;
  background: #FFF8EC !important;
  padding: 16px 20px !important;
  margin: 1.8em 0 !important;
  font-style: italic !important;
  font-size: 1.05em !important;
  line-height: 1.75 !important;
}

/* ── FIX: Hide author meta username ────────── */
.entry-meta,
.posted-on,
.byline,
.author.vcard,
.post-meta,
.entry-footer {
  display: none !important;
}

/* ── FIX: Hide comments ─────────────────────── */
#comments, .comments-area,
.comment-respond { display: none !important; }

/* ── FIX: Sources tight spacing ─────────────── */
.entry-content h3 ~ ul {
  padding-left: 0 !important;
  list-style: none !important;
  margin: 0.2em 0 1.5em 0 !important;
}

.entry-content h3 ~ ul > li {
  font-family: Arial, sans-serif !important;
  font-size: 0.8em !important;
  font-style: italic !important;
  color: #888888 !important;
  line-height: 1.5 !important;
  margin-bottom: 3px !important;
  list-style: none !important;
}


/* ── Enhanced compliance table ──────────────── */
.entry-content table:not(:first-of-type):not(:last-of-type) {
  width: 100%;
  border-collapse: collapse;
  margin: 1.4em 0 0.4em 0;
  font-family: Arial, sans-serif;
  font-size: 0.88em;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}

.entry-content table:not(:first-of-type):not(:last-of-type) thead tr {
  background: #1B5E38 !important;
}

.entry-content table:not(:first-of-type):not(:last-of-type) thead th {
  background: #1B5E38 !important;
  color: #FFFFFF !important;
  font-weight: 700;
  padding: 13px 16px;
  text-align: left;
  border: none;
  letter-spacing: 0.03em;
  font-size: 0.9em;
  text-transform: uppercase;
}

.entry-content table:not(:first-of-type):not(:last-of-type) tbody tr:nth-child(even) {
  background: #F7F9F7;
}

.entry-content table:not(:first-of-type):not(:last-of-type) tbody tr:nth-child(odd) {
  background: #FFFFFF;
}

.entry-content table:not(:first-of-type):not(:last-of-type) tbody tr:first-child {
  background: #FFF8EC !important;
  border-left: 3px solid #D4870C;
}

.entry-content table:not(:first-of-type):not(:last-of-type) tbody tr:first-child td {
  color: #B86800 !important;
  font-weight: 700;
}

.entry-content table:not(:first-of-type):not(:last-of-type) tbody td {
  padding: 12px 16px;
  border-bottom: 1px solid #EDF0ED;
  color: #1A1A1A;
  vertical-align: middle;
  line-height: 1.5;
}

.entry-content table:not(:first-of-type):not(:last-of-type) tbody tr:last-child td {
  border-bottom: none;
}

.entry-content table:not(:first-of-type):not(:last-of-type) td:first-child,
.entry-content table:not(:first-of-type):not(:last-of-type) th:first-child {
  white-space: nowrap;
  font-weight: 700;
}

/* ── Hide Press This / Jetpack sharing tags ── */
.sharedaddy,
.sd-sharing,
.jp-relatedposts,
.entry-content .sharedaddy,
#jp-post-flair,
.jetpack-slideshow-noscript,
.pd_generated,
.press-this-tag,
[class*="pressthis"],
.wp-block-jetpack-sharing-buttons {
  display: none !important;
}

/* ── Target: the outer wrapper div WordPress creates
   for Custom HTML block content. It has no class, so
   we target it as the direct child div of entry-content.
   All policy pages use this exact structure. ────── */
 
.entry-content > div {
  font-family: Arial, Helvetica, sans-serif !important;
  font-style: normal !important;
}
 
/* ── Paragraphs inside policy pages ─────────────── */
.entry-content > div p {
  font-family: Arial, Helvetica, sans-serif !important;
  font-style: normal !important;
  color: #1A1A1A !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
}
 
/* ── Callout box: the <p> inside a styled <div>
   needs colour forced — this is the invisible text fix */
.entry-content > div div p {
  color: #1A1A1A !important;
  font-family: Arial, Helvetica, sans-serif !important;
}
 
/* ── Bullet lists ────────────────────────────────── */
.entry-content > div ul {
  font-style: normal !important;
  color: #1A1A1A !important;
}
 
.entry-content > div ul li {
  font-family: Arial, Helvetica, sans-serif !important;
  font-style: normal !important;
  color: #1A1A1A !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
}
 
/* ── H2: green with underline ────────────────────── */
.entry-content > div h2 {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #1B5E38 !important;
  border-bottom: 2px solid #1B5E38 !important;
  padding-bottom: 6px !important;
  margin-top: 40px !important;
  margin-bottom: 14px !important;
  font-style: normal !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}
 
/* ── H3: black, no uppercase (article CSS adds caps) */
.entry-content > div h3 {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  font-style: normal !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  margin-top: 24px !important;
  margin-bottom: 8px !important;
}
 
/* ── Tables ──────────────────────────────────────── */
.entry-content > div table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 20px 0 28px !important;
  font-family: Arial, Helvetica, sans-serif !important;
}
 
.entry-content > div table th {
  background-color: #1B5E38 !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  padding: 10px 14px !important;
  text-align: left !important;
  border: 1px solid #cccccc !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-style: normal !important;
  font-size: 14px !important;
}
 
.entry-content > div table td {
  color: #1A1A1A !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-style: normal !important;
  padding: 9px 14px !important;
  border: 1px solid #E8E8E8 !important;
  vertical-align: top !important;
  line-height: 1.6 !important;
  font-size: 14px !important;
}
 
.entry-content > div table tr:nth-child(even) td {
  background-color: #EAF2EC !important;
}
 
.entry-content > div table tr:nth-child(odd) td {
  background-color: #ffffff !important;
}
 
/* ── Footer text after <hr> ──────────────────────── */
.entry-content > div hr ~ p {
  color: #666666 !important;
  font-size: 13px !important;
  font-style: italic !important;
  font-family: Arial, Helvetica, sans-serif !important;
  line-height: 1.5 !important;
  margin-bottom: 4px !important;
}
.site-info a[href*="generatepress"] {
  display: none !important;
}
.site-info {
  display: none !important;
}
/* ================================================================
   ESGNexus — ARTICLE TABLES FIX

   WHERE: Appearance → Customize → Additional CSS
   HOW: paste this ENTIRE block at the END of your existing
   Additional CSS. Do not remove anything already there — this only
   adds rules. Fixes the overflow seen in Key Takeaways / Sources /
   About boxes and styles the pull quote correctly. Works for THIS
   article and every future article generated from the same template,
   with no per-article changes needed.
   ================================================================ */


/* ----------------------------------------------------------------
   1. THE CORE FIX — table overflow

   Why this was happening: Word exports tables at a fixed 9.75in
   width. WordPress was rendering that literal width, which is wider
   than the content column once the sidebar is present — so the
   Key Takeaways, Sources, and About boxes spilled under the sidebar.

   This forces every table in an article to fit the content column,
   regardless of the width Word exported.
   ---------------------------------------------------------------- */
.entry-content table {
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
  border-collapse: collapse;
  border: none;
  border-radius: 6px;
  overflow: hidden;
  margin: 1.8em 0;
  background: #F7F5F0;
}

.entry-content table td {
  width: auto !important;
  max-width: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  box-sizing: border-box;
  border: none;
  padding: 12px 20px;
  vertical-align: top;
}


/* ----------------------------------------------------------------
   2. PULL QUOTES
   The pull quote table has exactly ONE row: a "QUOTE" label
   followed by the italic quote text. Amber left-border treatment,
   no green header bar.
   ---------------------------------------------------------------- */
.entry-content table:has(tr:only-of-type) {
  background: #FEF3E2;
  border-left: 4px solid #D4870C;
  border-radius: 0;
}

.entry-content table:has(tr:only-of-type) td p:first-child {
  font-size: 0.75em;
  letter-spacing: 2px;
  color: #D4870C;
  margin: 0 0 6px 0;
}

.entry-content table:has(tr:only-of-type) td p:last-child {
  font-style: italic;
  font-size: 1.05em;
  line-height: 1.7;
  color: #1A1A1A;
  margin: 0;
}


/* ----------------------------------------------------------------
   3. MULTI-ROW BOXES — Key Takeaways, Sources & Further Reading,
   About ESGNexus. All three share a structure: row 1 is a title-only
   cell, rows 2+ are content. Row 1 gets the green ESGNexus header
   bar; content rows get a light cream/green background.
   ---------------------------------------------------------------- */
.entry-content table:not(:has(tr:only-of-type)) tr:first-child td {
  background: #1B5E38;
  color: #FFFFFF;
  font-weight: 700;
  letter-spacing: 0.5px;
}

.entry-content table:not(:has(tr:only-of-type)) tr:first-child td p {
  margin: 0;
}

.entry-content table:not(:has(tr:only-of-type)) tr:first-child td strong {
  color: #FFFFFF;
}

.entry-content table:not(:has(tr:only-of-type)) tr:not(:first-child) td {
  background: #EAF3EE;
  color: #1A1A1A;
}

.entry-content table:not(:has(tr:only-of-type)) tr:not(:first-child) td p {
  margin: 0;
  font-size: 0.95em;
  line-height: 1.6;
}

/* Key Takeaways bullet items — bold, no default bullet margin issues */
.entry-content table:not(:has(tr:only-of-type)) tr:not(:first-child) td ul {
  margin: 0;
  padding-left: 1.3em;
}

.entry-content table:not(:has(tr:only-of-type)) tr:not(:first-child) td li {
  font-weight: 700;
  margin-bottom: 0.6em;
}

.entry-content table:not(:has(tr:only-of-type)) tr:not(:first-child) td li:last-child {
  margin-bottom: 0;
}

/* About ESGNexus data disclaimer — italic, slightly muted */
.entry-content table:not(:has(tr:only-of-type)) tr:last-child td p em {
  color: #555555;
}


/* ----------------------------------------------------------------
   4. SIDEBAR SAFETY NET
   Belt-and-braces: ensure the whole article column never exceeds
   its container, even if a future element introduces its own width.
   ---------------------------------------------------------------- */
.entry-content {
  max-width: 100%;
  overflow-x: hidden;
}

.entry-content > * {
  max-width: 100%;
  box-sizing: border-box;
}
/* ================================================================
   ESGNexus — ARTICLE TABLES FIX v8 (SCOPED VERSION)

   WHY THIS VERSION: your existing Additional CSS has rules like
   `.entry-content table:first-of-type` and `.entry-content
   table:last-of-type` from an earlier policy-page stylesheet (v4).
   Those rules use !important and were colliding with the previous
   fix — forcing the Key Takeaways table solid green, making the
   About box text invisible, and breaking the pull quote's text
   wrapping.

   THE FIX: every new article now gets wrapped in
   <div class="esg-article-v2">...</div> (this is already done in
   the HTML files provided). All rules below are scoped to that
   class with !important, so they cannot collide with — or be
   overridden by — any older rule, regardless of specificity.

   WHERE TO ADD: Appearance → Customize → Additional CSS.
   Paste this ENTIRE block at the END of your existing CSS.
   Do NOT remove the old v4 CSS — it's still used by your policy
   pages (Privacy Policy, Editorial Policy, etc.) and About page.
   This new block only affects content wrapped in esg-article-v2.
   ================================================================ */


/* ----------------------------------------------------------------
   0. RESET — undo anything inherited from old table rules
   ---------------------------------------------------------------- */
.esg-article-v2 table,
.esg-article-v2 table:first-of-type,
.esg-article-v2 table:last-of-type,
.esg-article-v2 table:not(:first-of-type):not(:last-of-type) {
  background: #F7F5F0 !important;
  background-color: #F7F5F0 !important;
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
  border: none !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  overflow: hidden !important;
  margin: 1.8em 0 !important;
}

.esg-article-v2 table td,
.esg-article-v2 table th,
.esg-article-v2 table:first-of-type td,
.esg-article-v2 table:last-of-type td,
.esg-article-v2 table:not(:first-of-type):not(:last-of-type) td {
  width: auto !important;
  max-width: 100% !important;
  white-space: normal !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  box-sizing: border-box !important;
  border: none !important;
  padding: 12px 20px !important;
  vertical-align: top !important;
  background: transparent !important;
  background-color: transparent !important;
  color: #1A1A1A !important;
  font-weight: 400 !important;
}

.esg-article-v2.esg-article-v2 table p,
.esg-article-v2.esg-article-v2 table:first-of-type p,
.esg-article-v2.esg-article-v2 table:last-of-type p {
  display: block !important;
  color: #1A1A1A !important;
  margin: 0 !important;
  font-size: 0.95em !important;
  line-height: 1.6 !important;
}


/* ----------------------------------------------------------------
   1. PULL QUOTE — single-row table (QUOTE label + italic text)
   ---------------------------------------------------------------- */
.esg-article-v2 table:has(tr:only-of-type) {
  background: #FEF3E2 !important;
  border-left: 4px solid #D4870C !important;
  border-radius: 0 !important;
}

.esg-article-v2 table:has(tr:only-of-type) td p:first-child {
  font-size: 0.75em !important;
  letter-spacing: 2px !important;
  color: #D4870C !important;
  margin: 0 0 6px 0 !important;
  font-weight: 700 !important;
}

.esg-article-v2 table:has(tr:only-of-type) td p:last-child {
  font-style: italic !important;
  font-size: 1.05em !important;
  line-height: 1.7 !important;
  color: #1A1A1A !important;
}


/* ----------------------------------------------------------------
   2. MULTI-ROW BOXES — Key Takeaways, Sources, About
   Row 1 = green header bar. Rows 2+ = cream/green content.
   ---------------------------------------------------------------- */
.esg-article-v2 table:not(:has(tr:only-of-type)) tr:first-child td {
  background: #1B5E38 !important;
  background-color: #1B5E38 !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
}

.esg-article-v2 table:not(:has(tr:only-of-type)) tr:first-child td p,
.esg-article-v2 table:not(:has(tr:only-of-type)) tr:first-child td strong {
  color: #FFFFFF !important;
}

.esg-article-v2 table:not(:has(tr:only-of-type)) tr:not(:first-child) td {
  background: #EAF3EE !important;
  background-color: #EAF3EE !important;
  color: #1A1A1A !important;
}

.esg-article-v2 table:not(:has(tr:only-of-type)) tr:not(:first-child) td p {
  color: #1A1A1A !important;
}

/* Key Takeaways bullets — bold */
.esg-article-v2 table:not(:has(tr:only-of-type)) tr:not(:first-child) td ul {
  margin: 0 !important;
  padding-left: 1.3em !important;
}

.esg-article-v2 table:not(:has(tr:only-of-type)) tr:not(:first-child) td li {
  font-weight: 700 !important;
  margin-bottom: 0.6em !important;
  color: #1A1A1A !important;
}

.esg-article-v2 table:not(:has(tr:only-of-type)) tr:not(:first-child) td li:last-child {
  margin-bottom: 0 !important;
}

/* About box disclaimer — italic, muted, last row */
.esg-article-v2 table:not(:has(tr:only-of-type)) tr:last-child td p em {
  color: #555555 !important;
}


/* ----------------------------------------------------------------
   3. TYPOGRAPHY — match the rest of the article (Georgia body,
   Arial headings) since old rules target .entry-content directly
   and may not reach inside esg-article-v2 the same way.
   ---------------------------------------------------------------- */
.esg-article-v2 > p,
.esg-article-v2 > p em {
  font-family: Georgia, serif !important;
  font-size: 1.05em !important;
  line-height: 1.85 !important;
  color: #1A1A1A !important;
}

.esg-article-v2 h1 {
  font-family: Arial, sans-serif !important;
  font-size: 2em !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
}

.esg-article-v2 h2 {
  font-family: Arial, sans-serif !important;
  font-size: 1.28em !important;
  font-weight: 700 !important;
  color: #1B5E38 !important;
  border-bottom: 2px solid #1B5E38 !important;
  padding-bottom: 7px !important;
  margin-top: 2em !important;
  margin-bottom: 0.75em !important;
}

/* Category/read-time line — first paragraph */
.esg-article-v2 > p:first-child {
  font-family: Arial, sans-serif !important;
  font-size: 0.85em !important;
  color: #1B5E38 !important;
  letter-spacing: 0.5px !important;
}

.esg-article-v2 > p:first-child strong {
  color: #1B5E38 !important;
}


/* ----------------------------------------------------------------
   4. SAFETY NET
   ---------------------------------------------------------------- */
.esg-article-v2 {
  max-width: 100% !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}

.esg-article-v2 > * {
  max-width: 100% !important;
  box-sizing: border-box !important;
}
/* ================================================================
   ESGNexus — ABOUT BOX FIRST-LINE FIX (v9)

   WHERE: Appearance → Customize → Additional CSS
   Paste at the END of your existing Additional CSS (after v4 and
   any previous fix blocks). One-time addition — works for all
   current and future articles using the standard About ESGNexus box.

   WHY: the existing rule `.entry-content p:first-of-type {
   display: none !important; }` was added to hide a Word document
   header line. But it also hides the FIRST <p> inside the About
   ESGNexus table cell — which is the "ABOUT ESGNEXUS" label and
   body text — leaving only the italic disclaimer line visible.

   FIX: restore display for the first <p> specifically when it is
   inside a table cell (the About box). The original header-hiding
   rule still applies everywhere else.
   ================================================================ */

.entry-content table td:first-child {
  white-space: normal !important;
  word-wrap: break-word !important;
}
/* ===== ESGNEXUS GLOBAL CHROME ===== */
:root{
  --green:#1B5E38; --green-dark:#0f3d24; --green-light:#2d7a4f;
  --amber:#D4870C; --amber-light:#f0a830; --black:#1A1A1A;
  --off-white:#F8F6F1; --warm-gray:#E8E4DC; --text-muted:#6B6B6B;
  --border:#D8D4CC; --data-blue:#1A5276;
  --font-display:'Playfair Display',Georgia,serif;
  --font-body:'Lora',Georgia,serif;
  --font-ui:'IBM Plex Sans',sans-serif;
}
/* reset confined to chrome ONLY — never touches articles */
.ticker-bar *,.esgn-header *,.breaking-bar *,.newsletter-cta *,.esgn-footer *,
.ticker-bar *::before,.esgn-header *::before,.breaking-bar *::before,.newsletter-cta *::before,.esgn-footer *::before,
.ticker-bar *::after,.esgn-header *::after,.breaking-bar *::after,.newsletter-cta *::after,.esgn-footer *::after{box-sizing:border-box;margin:0;padding:0;}

/* hide GeneratePress default header & footer */
.site-header,.site-footer{display:none !important;}

.ticker-bar{background:var(--black);color:#fff;font-family:var(--font-ui);font-size:11px;font-weight:500;letter-spacing:.08em;padding:6px 0;overflow:hidden;white-space:nowrap;}
.ticker-inner{display:inline-flex;gap:48px;animation:ticker 30s linear infinite;}
.ticker-inner span{color:var(--amber);margin-right:8px;}
@keyframes ticker{from{transform:translateX(0);}to{transform:translateX(-50%);}}

.esgn-header{background:var(--green);padding:0 40px;display:flex;align-items:center;justify-content:space-between;height:72px;position:sticky;top:0;z-index:100;border-bottom:3px solid var(--amber);}
.esgn-header .logo{display:flex;flex-direction:column;text-decoration:none;}
.esgn-header .logo-name{font-family:var(--font-display);font-size:26px;font-weight:700;color:#fff;letter-spacing:-.5px;line-height:1;}
.esgn-header .logo-name span{color:var(--amber);}
.esgn-header .logo-tag{font-family:var(--font-ui);font-size:10px;color:rgba(255,255,255,.65);letter-spacing:.12em;text-transform:uppercase;margin-top:2px;}
.esgn-header nav{display:flex;align-items:center;gap:0;}
.esgn-header nav a{font-family:var(--font-ui);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.85);text-decoration:none;padding:0 16px;height:72px;display:flex;align-items:center;border-bottom:3px solid transparent;margin-bottom:-3px;transition:color .2s,border-color .2s,background .2s;}
.esgn-header nav a:hover{color:#fff;border-bottom-color:var(--amber);background:rgba(255,255,255,.08);}
.esgn-header .nav-cta{background:var(--amber)!important;color:#fff!important;padding:8px 20px!important;height:auto!important;border-radius:2px;margin-left:16px;font-weight:600!important;border-bottom:none!important;}
.esgn-header .nav-cta:hover{background:var(--amber-light)!important;}

.breaking-bar{background:var(--black);color:#fff;padding:12px 40px;display:flex;align-items:center;gap:16px;}
.breaking-label{font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;background:var(--amber);color:#fff;padding:3px 8px;white-space:nowrap;}
.breaking-text{font-family:var(--font-ui);font-size:13px;color:rgba(255,255,255,.85);}
.breaking-text a{color:#fff;font-weight:500;}

.newsletter-cta{background:var(--amber);padding:56px 40px;text-align:center;}
.newsletter-cta-inner{max-width:600px;margin:0 auto;}
.newsletter-cta h2{font-family:var(--font-display);font-size:32px;font-weight:700;color:#fff;margin-bottom:12px;letter-spacing:-.5px;}
.newsletter-cta p{font-family:var(--font-body);font-size:16px;color:rgba(255,255,255,.85);margin-bottom:28px;}
.newsletter-form{display:flex;gap:0;max-width:480px;margin:0 auto;}
.newsletter-form input{flex:1;font-family:var(--font-ui);font-size:14px;padding:14px 18px;border:none;outline:none;border-radius:2px 0 0 2px;}
.newsletter-form button{font-family:var(--font-ui);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:var(--black);color:#fff;border:none;padding:14px 24px;cursor:pointer;border-radius:0 2px 2px 0;transition:background .2s;white-space:nowrap;}
.newsletter-form button:hover{background:var(--green);}

.esgn-footer{background:var(--black);color:rgba(255,255,255,.65);padding:56px 40px 24px;}
.esgn-footer .footer-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.1);}
.esgn-footer .footer-brand .logo-name{font-size:22px;margin-bottom:12px;display:block;font-family:var(--font-display);color:#fff;}
.esgn-footer .footer-brand p{font-family:var(--font-ui);font-size:13px;line-height:1.65;color:rgba(255,255,255,.5);margin-bottom:20px;}
.esgn-footer .footer-col h5{font-family:var(--font-ui);font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-bottom:16px;}
.esgn-footer .footer-col a{display:block;font-family:var(--font-ui);font-size:13px;color:rgba(255,255,255,.55);text-decoration:none;padding:4px 0;transition:color .2s;}
.esgn-footer .footer-col a:hover{color:#fff;}
.esgn-footer .footer-bottom{max-width:1400px;margin:24px auto 0;display:flex;justify-content:space-between;align-items:center;font-family:var(--font-ui);font-size:12px;color:rgba(255,255,255,.35);}
.esgn-footer .footer-bottom a{color:rgba(255,255,255,.35);text-decoration:none;}
.esgn-footer .footer-bottom a:hover{color:rgba(255,255,255,.65);}
.esgn-footer .editorial-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.05);padding:4px 10px;border-radius:2px;font-size:11px;font-family:var(--font-ui);color:rgba(255,255,255,.65);}
.esgn-footer .editorial-badge::before{content:'●';color:var(--green-light);font-size:8px;}

@media (max-width:1024px){.esgn-footer .footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:768px){
  .esgn-header{padding:0 20px;}
  .esgn-header nav a:not(.nav-cta){display:none;}
  .newsletter-form{flex-direction:column;}
  .newsletter-form input,.newsletter-form button{border-radius:2px;}
  .esgn-footer .footer-grid{grid-template-columns:1fr;gap:32px;}
}
/* ================================================================
   ARCHIVE LISTINGS — clean text list (hide featured image)
   Scoped to .archive / .blog / .search ONLY — never touches
   single articles or the homepage. Featured images already
   contain the headline, so listings show title + excerpt + meta.
   ================================================================ */
.archive .post-image,
.blog .post-image,
.search .post-image,
.archive .featured-image,
.archive img.wp-post-image {
  display: none !important;
}
.archive article,
.blog article,
.search article {
  padding: 28px 0 !important;
  border-bottom: 1px solid #D8D4CC !important;
}
.archive article:first-of-type { padding-top: 0 !important; }
.archive .entry-title { font-size: 26px !important; margin-bottom: 10px !important; }
.archive .entry-meta { margin-top: 10px !important; }

/* ================================================
   ESGNexus PAGE DESIGN SYSTEM — scoped to win.
   Adds only; removes nothing. Affects .esgn-page only.
   ================================================ */
.entry-content .esgn-page{
  max-width:760px !important; margin:0 auto !important; padding:56px 24px 72px !important;
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif !important;
  line-height:1.7 !important; color:#1A1A1A !important;
}
.entry-content .esgn-page p{
  display:block !important;
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif !important;
  font-size:17px !important; font-style:normal !important; font-weight:400 !important;
  color:#1A1A1A !important; line-height:1.7 !important; margin:0 0 20px !important;
}
.entry-content .esgn-page .eyebrow{
  display:block !important; font-family:'Inter',sans-serif !important;
  text-transform:uppercase !important; letter-spacing:.14em !important;
  font-size:13px !important; font-weight:600 !important; font-style:normal !important;
  color:#D4870C !important; margin:0 0 12px !important; line-height:1.4 !important;
}
.entry-content .esgn-page h1{
  font-family:'Playfair Display',Georgia,serif !important; font-size:44px !important;
  line-height:1.1 !important; font-weight:700 !important; font-style:normal !important;
  color:#1B5E38 !important; margin:0 0 16px !important;
  border:0 !important; text-decoration:none !important; text-transform:none !important;
}
.entry-content .esgn-page .lede{
  font-size:20px !important; color:#3a3a3a !important; margin:0 0 28px !important;
}
.entry-content .esgn-page .rule{
  display:block !important; height:3px !important; width:60px !important;
  background:#D4870C !important; border:0 !important; margin:8px 0 32px !important;
}
.entry-content .esgn-page h2{
  font-family:'Playfair Display',Georgia,serif !important; font-size:26px !important;
  font-weight:700 !important; font-style:normal !important; color:#1B5E38 !important;
  margin:36px 0 12px !important; border:0 !important; border-bottom:0 !important;
  padding:0 !important; text-decoration:none !important;
  text-transform:none !important; letter-spacing:normal !important;
}
.entry-content .esgn-page .callout{
  background:#F8F6F1 !important; border-left:4px solid #1B5E38 !important;
  padding:24px 28px !important; margin:36px 0 !important; border-radius:0 6px 6px 0 !important;
}
.entry-content .esgn-page .callout h2{ margin:0 0 12px !important; font-size:22px !important; }
.entry-content .esgn-page .callout p{
  display:block !important; margin:0 !important; font-size:16px !important; color:#1A1A1A !important;
}
.entry-content .esgn-page ul,.entry-content .esgn-page ol{
  font-family:'Inter',sans-serif !important; font-size:17px !important; color:#1A1A1A !important;
  margin:0 0 20px 22px !important; line-height:1.7 !important;
}
.entry-content .esgn-page li{ margin:0 0 8px !important; color:#1A1A1A !important; }
.entry-content .esgn-page a{
  color:#1B5E38 !important; font-weight:600 !important; font-style:normal !important;
  text-decoration:none !important; border-bottom:2px solid #D4870C !important;
}
.entry-content .esgn-page a:hover{ color:#D4870C !important; }
.entry-content .esgn-page .contact-line{
  margin:40px 0 0 !important; padding-top:24px !important;
  border-top:1px solid #e4e0d8 !important; font-size:17px !important; color:#1A1A1A !important;
}
@media(max-width:600px){
  .entry-content .esgn-page{ padding:40px 20px 56px !important; }
  .entry-content .esgn-page h1{ font-size:34px !important; }
  .entry-content .esgn-page .lede{ font-size:18px !important; }
}
/* ================================================================
   ESGNexus — v11: STRUCTURAL ARTICLE TABLES  (2 Aug 2026)
   REPLACES v10 ENTIRELY.
   WHERE: Appearance → Customize → Additional CSS
   HOW:   1. DELETE the whole v10 block at the end of the CSS
             (from "v10: BLOCK-CONVERTED ARTICLE TABLES" down to
             "END v10").
          2. Paste this ENTIRE block in its place, at the very end.
          3. Change nothing else.

   SAFE FOR PUBLISHED ARTICLES for the same reason v10 was: every
   selector requires `figure.wp-block-table`, which exists only in
   block-converted content. No live post contains it.

   WHY v11: v10 identified boxes by POSITION (first/last table),
   which fought the old first-of-type rules and broke when box
   counts varied. v11 identifies each table by its STRUCTURE, so
   the content decides — any number of boxes, quotes, data tables,
   and images, in any order:

     · Key Takeaways  = table containing a bullet list (<ul>)
     · Pull quote     = single-cell table, no bold text
     · About box      = single-cell table WITH bold text
     · Data table     = anything multi-row/multi-column

   The article docx generator produces exactly these structures
   (canonical spec: Gotcha 9 in the CSS gotchas handoff).
   ================================================================ */

/* ── 0. BASE — neutralise every older rule inside table blocks,
       incl. the v4 first-of-type green + white-text leaks ─────── */
.single .entry-content figure.wp-block-table {
  margin: 0 0 1.6em 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}
.single .entry-content figure.wp-block-table table,
.single .entry-content figure.wp-block-table table:first-of-type,
.single .entry-content figure.wp-block-table table:last-of-type {
  background: transparent !important;
  background-color: transparent !important;
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
  border: none !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  overflow: hidden !important;
  margin: 0 !important;
}
.single .entry-content figure.wp-block-table table td,
.single .entry-content figure.wp-block-table table th {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  color: #1A1A1A !important;
  font-family: Georgia, serif !important;
  font-size: 0.95em !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  white-space: normal !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  box-sizing: border-box !important;
  padding: 12px 16px !important;
  vertical-align: top !important;
}
/* Kill the v4 white-text leak (table:first-of-type p) inside blocks */
.single .entry-content figure.wp-block-table table td p,
.single .entry-content figure.wp-block-table table th p {
  color: #1A1A1A !important;
  margin: 0 !important;
  font-size: 1em !important;
  line-height: 1.65 !important;
}
.single .entry-content figure.wp-block-table table strong {
  text-transform: none !important;
  letter-spacing: normal !important;
  font-size: 1em !important;
  color: inherit !important;
  font-family: inherit !important;
}

/* ── 1. DATA TABLES (default: any multi-row table) ─────────────
       First row = green header (bold text supplied by the doc);
       body striped, Arial. */
.single .entry-content figure.wp-block-table table tr:first-child td {
  background: #1B5E38 !important;
  background-color: #1B5E38 !important;
}
.single .entry-content figure.wp-block-table table tr:first-child td,
.single .entry-content figure.wp-block-table table tr:first-child td p,
.single .entry-content figure.wp-block-table table tr:first-child td strong {
  color: #FFFFFF !important;
  font-family: Arial, sans-serif !important;
  font-size: 0.88em !important;
  font-weight: 700 !important;
}
.single .entry-content figure.wp-block-table table tr:not(:first-child) td {
  font-family: Arial, sans-serif !important;
  font-size: 0.88em !important;
  border-bottom: 1px solid #EDF0ED !important;
}
.single .entry-content figure.wp-block-table table tr:not(:first-child) td p {
  font-family: Arial, sans-serif !important;
}
.single .entry-content figure.wp-block-table table tr:nth-child(even) td {
  background: #F7F9F7 !important;
  background-color: #F7F9F7 !important;
}
.single .entry-content figure.wp-block-table table tr:not(:first-child) td:first-child {
  font-weight: 700 !important;
}

/* ── 2. KEY TAKEAWAYS — any table containing a bullet list ───── */
.single .entry-content figure.wp-block-table table:has(ul),
.single .entry-content figure.wp-block-table table:has(ul) td,
.single .entry-content figure.wp-block-table table:has(ul) tr:first-child td {
  background: #1B5E38 !important;
  background-color: #1B5E38 !important;
  border: none !important;
  padding: 20px 24px !important;
}
.single .entry-content figure.wp-block-table table:has(ul) td p {
  color: #FFFFFF !important;
  font-family: Georgia, serif !important;
  font-size: 0.95em !important;
}
.single .entry-content figure.wp-block-table table:has(ul) td strong {
  color: #7EC99A !important;
  font-family: Arial, sans-serif !important;
  font-size: 0.82em !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}
.single .entry-content figure.wp-block-table table:has(ul) td ul {
  margin: 8px 0 0 0 !important;
  padding-left: 20px !important;
  list-style: disc !important;
}
.single .entry-content figure.wp-block-table table:has(ul) td li {
  color: #F0F9F4 !important;
  font-family: Georgia, serif !important;
  font-size: 0.95em !important;
  line-height: 1.65 !important;
  margin-bottom: 7px !important;
  font-weight: 400 !important;
}

/* ── 3. PULL QUOTE — single-cell table, NO bold text ─────────── */
.single .entry-content figure.wp-block-table table:not(:has(ul)):not(:has(strong)):has(> tbody > tr:only-child > td:only-child),
.single .entry-content figure.wp-block-table table:not(:has(ul)):not(:has(strong)):has(> tr:only-child > td:only-child) {
  background: #FFF8EC !important;
  background-color: #FFF8EC !important;
  border-left: 4px solid #D4870C !important;
  border-radius: 0 3px 3px 0 !important;
}
.single .entry-content figure.wp-block-table table:not(:has(ul)):not(:has(strong)):has(> tbody > tr:only-child > td:only-child) td,
.single .entry-content figure.wp-block-table table:not(:has(ul)):not(:has(strong)):has(> tr:only-child > td:only-child) td {
  background: transparent !important;
  background-color: transparent !important;
  padding: 16px 22px !important;
}
.single .entry-content figure.wp-block-table table:not(:has(ul)):not(:has(strong)):has(> tbody > tr:only-child > td:only-child) td p,
.single .entry-content figure.wp-block-table table:not(:has(ul)):not(:has(strong)):has(> tr:only-child > td:only-child) td p {
  font-style: italic !important;
  font-size: 1.05em !important;
  line-height: 1.75 !important;
  color: #2A2A2A !important;
}

/* ── 4. ABOUT BOX — single-cell table WITH bold text ─────────── */
.single .entry-content figure.wp-block-table table:not(:has(ul)):has(strong):has(> tbody > tr:only-child > td:only-child),
.single .entry-content figure.wp-block-table table:not(:has(ul)):has(strong):has(> tr:only-child > td:only-child) {
  background: #E8F5EE !important;
  background-color: #E8F5EE !important;
  border-top: 3px solid #1B5E38 !important;
  border-radius: 0 !important;
}
.single .entry-content figure.wp-block-table table:not(:has(ul)):has(strong):has(> tbody > tr:only-child > td:only-child) td,
.single .entry-content figure.wp-block-table table:not(:has(ul)):has(strong):has(> tr:only-child > td:only-child) td {
  background: #E8F5EE !important;
  background-color: #E8F5EE !important;
  padding: 18px 22px !important;
}
.single .entry-content figure.wp-block-table table:not(:has(ul)):has(strong):has(> tbody > tr:only-child > td:only-child) td p,
.single .entry-content figure.wp-block-table table:not(:has(ul)):has(strong):has(> tr:only-child > td:only-child) td p {
  color: #4A4A4A !important;
  font-size: 0.88em !important;
  line-height: 1.65 !important;
}
.single .entry-content figure.wp-block-table table:not(:has(ul)):has(strong):has(> tbody > tr:only-child > td:only-child) td strong,
.single .entry-content figure.wp-block-table table:not(:has(ul)):has(strong):has(> tr:only-child > td:only-child) td strong {
  color: #1B5E38 !important;
  font-family: Arial, sans-serif !important;
  font-size: 0.86em !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
}
.single .entry-content figure.wp-block-table table:not(:has(ul)):has(strong) td em {
  color: #555555 !important;
}

/* ── 5. Mobile ─────────────────────────────────────────────── */
@media (max-width: 640px) {
  .single .entry-content figure.wp-block-table table td { font-size: 0.82em !important; }
  .single .entry-content figure.wp-block-table table:has(ul) td { padding: 15px 16px !important; }
}
/* ============================ END v11 =========================== */

/* ============================================================
   ESGNexus — article table guard  (append to Additional CSS)
   Added 3 August 2026. Additive and scoped. Safe to paste at
   the end of the existing stylesheet; overrides nothing that
   currently works.

   WHY: the article table styling is positional —
     table:first-of-type = Key Takeaways box (dark green)
     table:last-of-type  = About ESGNexus box (pale mint)
   An article with only ONE table matches both. The pale-mint
   background wins on source order while the bullets keep the
   Key Takeaways near-white colour, so the box renders with
   invisible content. Measured 3 Aug 2026: text rgb(234,245,238)
   on background rgb(232,245,238).
   ============================================================ */

/* 1. A lone table in an article is the Key Takeaways box, not the About box. */
.entry-content table:first-of-type:last-of-type td {
  background-color: #1B5E38 !important;
}
.entry-content table:first-of-type:last-of-type p {
  color: #FFFFFF !important;
}
.entry-content table:first-of-type:last-of-type li {
  color: #F0F9F4 !important;
}
.entry-content table:first-of-type:last-of-type strong {
  color: #7EC99A !important;
}

/* 2. Bullets inside the About-styled box must be dark on pale, never near-white.
      Closes the same failure from the other direction. */
.entry-content table:last-of-type li {
  color: #4A4A4A !important;
}
/* ==========================================================================
   ESGNexus — article table fixes
   Append to the END of Additional CSS. Additive only; changes no existing rule.
   Written 3 August 2026. Every value below was measured on the live site with
   these rules injected into esgnexus.lk/?p=836 before being written down.

   BEFORE:  12 hidden paragraphs, timeline table 99px tall and blank
   AFTER:    2 hidden paragraphs (the intended eyebrow lines), timeline 310px,
             all text visible at correct contrast
   ========================================================================== */


/* --------------------------------------------------------------------------
   FIX 1 — the p:first-of-type leak, inside table cells.   THE BIG ONE.

   The existing rule

       .entry-content p:first-of-type { display: none !important; }

   is unscoped, so it matches the first <p> of EVERY element at any depth —
   including every <td>. Mammoth wraps each Word paragraph in a <p>, and a
   data-table cell holds exactly one paragraph. So the rule hides the entire
   contents of every data table, and the "KEY TAKEAWAYS" title line as well.

   Measured on Article #26 before this fix: 12 paragraphs hidden — the eyebrow
   (intended), the KT title, and all 8 timeline cells. The table rendered as
   four empty 25px stripes.

   This is Priority 1 in ESGNexus_CSS_and_Site_Gotchas_Handoff.md. It is worse
   than that document records: it does not only eat the first paragraph of
   custom pages, it empties every table on every article.

   The proper root fix is to rewrite the original rule with a child combinator
   and a body-class scope:
       .single .entry-content > p:first-of-type { display:none !important; }
   That is a one-line edit to an existing rule and it fixes custom pages too.
   The rule below achieves the same result for articles additively, which is
   lower risk. Do both eventually; do this one now.
   -------------------------------------------------------------------------- */

.entry-content table td p:first-of-type {
  display: block !important;
}


/* --------------------------------------------------------------------------
   FIX 2 — data-table header row contrast.

   Data tables (any table that is neither the first nor the last) get a dark
   green header row from the existing rules, but `td p` is coloured #1A1A1A.
   Once FIX 1 makes those paragraphs visible, the header row would render dark
   charcoal on dark green. Mammoth does not carry the docx's white run colour
   through, so the stylesheet has to supply it.
   -------------------------------------------------------------------------- */

.entry-content table:not(:first-of-type):not(:last-of-type) tr:first-child td p,
.entry-content table:not(:first-of-type):not(:last-of-type) tr:first-child td strong {
  color: #FFFFFF !important;
}


/* --------------------------------------------------------------------------
   FIX 3 — the single-table collision.

   Table styling is positional: first table = Key Takeaways (dark green),
   last table = About ESGNexus (pale mint). An article with only ONE table
   matches both. The pale-mint background wins on source order while the
   bullets keep the Key Takeaways near-white colour — measured at
   rgb(234,245,238) text on rgb(232,245,238) fill. An invisible box.

   The builder now refuses to produce an article with fewer than two tables,
   so this should never occur again. Kept as a guard: if it ever does, a lone
   table is the Key Takeaways box, not the About box.
   -------------------------------------------------------------------------- */

.entry-content table:first-of-type:last-of-type td {
  background-color: #1B5E38 !important;
}
.entry-content table:first-of-type:last-of-type p {
  color: #FFFFFF !important;
}
.entry-content table:first-of-type:last-of-type li {
  color: #F0F9F4 !important;
}
.entry-content table:first-of-type:last-of-type strong {
  color: #7EC99A !important;
}

/* And from the other direction: bullets inside the About-styled box must be
   dark on pale, never near-white. */
.entry-content table:last-of-type li {
  color: #4A4A4A !important;
}
/* A single-row middle table is a PULL QUOTE, not a data-table header row.
   The white-header guard matches tr:first-child — which on a one-row table is
   also the only row — so quote text was painted white on the pale amber fill. */
.entry-content table:not(:first-of-type):not(:last-of-type) tr:only-child td p,
.entry-content table:not(:first-of-type):not(:last-of-type) tr:only-child td strong,
.entry-content table:not(:first-of-type):not(:last-of-type) tr:only-child td em {
  color: #1A1A1A !important;
}

/* Attribution line slightly lighter than the quote itself. */
.entry-content table:not(:first-of-type):not(:last-of-type) tr:only-child td p:last-child {
  color: #5A5A5A !important;
}