/* ---------------------------------------------------------------------------
   Text that cannot be read, on pages the rebuild has not reached
   ---------------------------------------------------------------------------

   VERIFY.md calls this cluster "a palette decision, not a bug list" and says
   not to open fourteen tickets. That is right about the fourteen and wrong
   about one thing: some of these are not a palette preference at all. Four of
   them are text at a contrast ratio of about 1.0, which is to say invisible,
   and invisible text is a defect at any palette.

   So this file is deliberately small and deliberately specific. It corrects the
   readings the harness measured, at the selectors it measured them on, and
   nothing else. It is not a restyle of Elementor.

   WHY HERE RATHER THAN IN THE PAGES. Every one of these pages carries its own
   <style> block inside the body, written through an Elementor HTML widget. A
   body <style> beats a head <link> at equal specificity, which is why each rule
   below is prefixed with its page's body class: that adds a class and an
   element to the selector and wins without !important. Editing the embedded CSS
   instead would put the fix in the database, invisible to review and to git.

   EVERY VALUE HERE WAS MEASURED, not guessed. The ratio before and after is on
   each rule, from qa/verify.mjs at the 4.5 floor for body text and 3.0 for
   large text.

   WHAT IS NOT HERE:

     /digital-me/ carries 56 pairs and is the largest single piece of this debt.
     Its markup and its palette belong to the DigitalMe plugin, which is
     already deployed to production. Recorded as V3.

     /sharering-link/ has two pairs at 4.18 and 4.33, and they are NOT fixed
     here. Both are pale ink dimmed by an alpha, and lifting the alpha looked
     like a one-line win until it was measured: .srl-sub is reused across that
     page's scroll-driven scenes and appears over a LIGHT ground as well as a
     dark one, so full opacity took a 4.33 to a 1.08. The colour has to follow
     the scene, which is the plugin's own logic. Left alone deliberately.

     /app-development/ is agency-template boilerplate that was never ShareRing's
     - "Mobile app development for funded companies", buttons pointing at three
     never-published drafts, nothing on the site linking to it. Recommended for
     unpublishing rather than repair.
   ------------------------------------------------------------------------ */

/* --- /nightlife/ --------------------------------------------------------

   REMOVED 2026-08-31, and worth recording rather than deleting silently.

   This page's hero headline was white on nothing: the section had no
   background at all, so "Seamless, Privacy-First Solutions for the Nightlife
   Industry" was invisible above a white gap. The fix here gave that Elementor
   section the house hero navy.

   The page has since been rebuilt on the scene kit as one of the group A
   industry pages, so the element this targeted no longer exists and the rule
   was doing nothing. A dead rule in a file like this is worse than no rule: it
   reads as coverage.
   ------------------------------------------------------------------------ */

/* --- /crypto-exchanges/ (990079) ------------------------------------------

   The product cards inherit the page's dark navy ink onto a dark navy card, so
   the card headings are invisible: rgb(10,13,49) on rgb(7,8,55).

   ratio 1.01 -> about 15:1                                                  */
body.page-id-990079 .product-card .product-card-content h3 {
  color: #eaf0ff;
}

/* --- /smma-report-download/ (988629) --------------------------------------

   Every label on the download form is navy on navy: rgb(10,5,87) on
   rgb(11,14,51). "Name", "Email", and the rest are all unreadable, on a form
   whose entire job is to be filled in.

   ratio 1.04 -> about 14:1                                                  */
body.page-id-988629 .elementor-form .elementor-field-label {
  color: #eaf0ff;
}

/* --- /terms-and-conditions/ (988356) --------------------------------------

   #888 on white in the ABN line. This one IS the palette question in miniature:
   a mid grey that reads fine to most eyes and misses AA for small text.

   #6b6b6b is the nearest grey that clears the floor with room to spare, and it
   is close enough to the original that the line still reads as fine print.

   THE ONE !important IN THIS FILE, and the one case that earns it: the colour
   is an inline style attribute on the paragraph itself, so no stylesheet rule
   of any specificity can reach it. The alternative is editing the value in the
   database, where it is invisible to review and to git.

   Selecting on the inline declaration keeps it surgical - it hits exactly the
   paragraph that is wrong and no other text on the page, and if that inline
   style is ever cleaned up properly the selector stops matching and this rule
   goes quietly inert, which is the right way for a workaround to end.

   ratio 3.54 -> about 5.3:1                                                 */
body.page-id-988356 p[style*="color:#888"] {
  color: #6b6b6b !important;
}

/* --- /case-study-zealy-x-sharering-link/ (989571) -------------------------

   Five pairs, all near misses on a dark ground: a slate used for code comments
   and table headers, and a violet used for keywords and badges. Both are one
   step too dark for the navy behind them.

   Each is lifted to the next step of its own ramp rather than replaced, so the
   page keeps its palette.

   slate  rgb(100,116,139) at 3.67-3.92 -> #94a3b8, about 6.4:1
   violet rgb(139,92,246)  at 3.79-4.41 -> #a78bfa, about 6.3:1              */
body.page-id-989571 .cm,
body.page-id-989571 th,
body.page-id-989571 .code-header span,
body.page-id-989571 .badge span,
body.page-id-989571 table span {
  color: #94a3b8;
}

body.page-id-989571 .kw,
body.page-id-989571 .badge.badge-social {
  color: #a78bfa;
}
