/* ProvenlyFair 2026 reskin (dark). Linked last in <head> on every page by reskin_2026.py.
   Works by redefining the variables the page CSS and inline styles already use, then
   restyling the shared classes. --red is now the steel-blue accent; the CTA red lives in
   --cta and is applied only to call-to-action buttons. */

:root {
  --bg: #0c0f14; --bg2: #0f1319; --bg3: #12161d;
  --panel: #12161d; --panel2: #171c24;
  --border: #1d232d; --border2: #262d39;
  --line: #232a35; --line-strong: #313a48;
  --text: #c3cad5; --text-2: #b4bcc8; --muted: #6f7988; --muted2: #8f99a8; --white: #e9ecf1;
  --red: #9fb4d0; --red2: #c3d1e3; --red-dim: rgba(159,180,208,.08); --red-mid: rgba(159,180,208,.16);
  --accent: #9fb4d0;
  --gold: #d6b05a; --teal: #8fb8c4;
  --up: #5fb58e; --up-dim: transparent; --dn: #a7adb7; --dn-dim: transparent; --down: #a7adb7;
  --cta: #d7193f; --cta-hover: #bd1336;
  --serif: "Source Serif 4", Georgia, "Times New Roman", serif;
  --fb: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --fd: var(--fb);
  color-scheme: dark;
}

body { background: var(--bg) !important; color: var(--text); -webkit-font-smoothing: antialiased; font-feature-settings: "cv11"; }
body::before, body::after { display: none !important; }
::selection { background: rgba(159,180,208,.28); }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* ---------- headings: serif, sentence case, no colour on <em>, no glow ---------- */
h1, h2, .page-h1, .st, .hero h1 {
  font-family: var(--serif) !important; font-weight: 600 !important; letter-spacing: -.01em !important;
  text-transform: none !important; text-shadow: none !important; color: var(--white);
}
h1[style], h2[style] { font-family: var(--serif) !important; letter-spacing: -.01em !important; text-transform: none !important; }
h3, h4 { font-family: var(--fb) !important; letter-spacing: 0 !important; text-transform: none !important; text-shadow: none !important; }
h1 em, h2 em, h3 em, .page-h1 em, .st em, .hero h1 em { color: inherit !important; font-style: normal !important; text-shadow: none !important; }
.page-h1, main h1 { font-size: clamp(32px, 4.4vw, 48px) !important; line-height: 1.12 !important; }
.st, main h2 { line-height: 1.2 !important; }
.st { font-size: clamp(24px, 2.8vw, 32px) !important; }
main h2[style*="font-size"] { font-size: clamp(22px, 2.4vw, 28px) !important; }
.ss { color: var(--muted2) !important; max-width: 72ch !important; font-size: 14px !important; }
.sh { align-items: flex-end; }

/* small labels that used the condensed display face */
[style*="font-family:var(--fd)"], [style*="font-family: var(--fd)"] { font-family: var(--fb) !important; letter-spacing: .02em; }
h1[style*="var(--fd)"], h2[style*="var(--fd)"] { font-family: var(--serif) !important; letter-spacing: -.01em !important; }
table, .num, [class*="vol"], .hs-n, .sc-num, .dp-n, .qf-val, .value, .val, .result-value { font-variant-numeric: tabular-nums; }

/* ---------- links ---------- */
a { text-underline-offset: 3px; }
main p a:not([class*="btn"]):not([class*="cta"]), main li a:not([class]), .faq-inner a, .prose a {
  text-decoration: underline; text-decoration-color: #4a5566; text-decoration-thickness: 1px;
}
main p a:hover, main li a:not([class]):hover, .faq-inner a:hover { text-decoration-color: currentColor; }
.faq-inner a, .prose a { color: var(--white) !important; }

/* ---------- call-to-action buttons: the only red on the page ---------- */
.btn-red, .sticky-btn, .mcta, .navl .ncta, .td-cta a, a.td-cta, .btn-claim, .desk-btn, .btn-claim.gold, .desk-btn.gold, .pf-cta, .cta-btn,
a[href^="/go/"][style*="background:#e11d48"],
a[href^="/go/"][style*="background:var(--red)"], a[href^="/go/"][style*="background: var(--red)"],
a[style*="background:var(--red)"], a[style*="background: var(--red)"], a[style*="background:#e11d48"],
button[style*="background:var(--red)"] {
  background: var(--cta) !important; color: #fff !important; border-color: var(--cta) !important;
  box-shadow: none !important; text-shadow: none !important; transform: none !important;
  font-family: var(--fb) !important; letter-spacing: 0 !important; text-transform: none !important; border-radius: 8px !important;
}
.btn-red:hover, .sticky-btn:hover, .mcta:hover, .navl .ncta:hover, .td-cta a:hover, a.td-cta:hover, .btn-claim:hover, .desk-btn:hover,
a[style*="background:var(--red)"]:hover { background: var(--cta-hover) !important; box-shadow: none !important; transform: none !important; }
.btn-ghost { background: transparent !important; border: 1px solid var(--line-strong) !important; color: var(--white) !important; box-shadow: none !important; }
.btn-ghost:hover { border-color: #4a5566 !important; }
[style*="box-shadow:0 0"][style*="225,29,72"], [style*="rgba(225,29,72,.4)"] { box-shadow: none !important; }

/* ---------- header ---------- */
nav[role="navigation"], body > nav { background: rgba(12,15,20,.97) !important; border-bottom: 1px solid var(--line) !important; backdrop-filter: none !important; }
.nav-i { height: 62px !important; }
.pf-logo { display: inline-flex !important; align-items: center; gap: 10px; color: var(--white) !important; text-decoration: none !important; font-family: var(--fb) !important; letter-spacing: 0 !important; }
.pf-mark { width: 28px; height: 28px; flex: none; color: var(--white); }
.pf-word { font: 600 19px/1 var(--fb); letter-spacing: -.02em; color: var(--white); white-space: nowrap; }
.pf-word span { font-weight: 400; color: var(--text-2); }
.navl a { color: var(--text-2) !important; font-family: var(--fb) !important; font-size: 14px !important; }
.navl a:hover, .navl a.on { color: var(--white) !important; background: transparent !important; }
.dd-panel { background: var(--panel) !important; border: 1px solid var(--line) !important; box-shadow: 0 16px 40px rgba(0,0,0,.45) !important; }
.dd-col h6 { color: var(--muted2) !important; font-family: var(--fb) !important; letter-spacing: .08em !important; }
.dd-col a { color: var(--text-2) !important; }
.dd-col a:hover { color: var(--white) !important; background: rgba(255,255,255,.04) !important; }
.hamburger { border: 1px solid var(--line-strong) !important; background: transparent !important; border-radius: 8px !important; }
.hamburger span { background: var(--white) !important; }
.mob-menu { background: var(--bg) !important; }
.mob-menu a { color: var(--text-2) !important; font-family: var(--fb) !important; }
.mob-label { color: var(--muted2) !important; font-family: var(--fb) !important; }
.mob-menu a.mcta { color: #fff !important; }

/* ---------- page header ---------- */
.breadcrumb, .crumb, .bc { color: var(--muted2) !important; font-size: 13px !important; }
.breadcrumb a, .crumb a, .bc a { color: var(--muted2) !important; text-decoration: underline; text-decoration-color: #3a4352; text-underline-offset: 3px; }
.breadcrumb a:hover, .crumb a:hover, .bc a:hover { color: var(--white) !important; }
.page-hero { padding-top: 24px !important; padding-bottom: 8px !important; }
.hero-kicker, .kicker {
  display: block !important; border: 0 !important; background: none !important; padding: 0 !important; border-radius: 0 !important;
  color: var(--accent) !important; font: 600 12px/1.4 var(--fb) !important; letter-spacing: .08em !important; margin-bottom: 12px !important;
}
.hero-kicker::before, .kicker::before { display: none !important; content: none !important; }
.page-sub, .hero-sub, .lead { color: var(--text-2) !important; font-size: 17px !important; line-height: 1.6 !important; }

/* ---------- homepage hero: stats beside the heading on desktop ---------- */
.hero { text-align: left !important; padding: 44px 0 24px !important; }
.hero h1 { font-size: clamp(34px, 4.6vw, 52px) !important; line-height: 1.08 !important; margin-bottom: 16px !important; }
.hero h1 br { display: none; }
.hero-sub { margin: 0 0 16px !important; max-width: 62ch !important; }
.hstats { justify-content: flex-start !important; }
.hs-n { font: 600 28px/1.1 var(--fb) !important; letter-spacing: -.02em !important; color: var(--white) !important; }
.hs-l { color: var(--muted2) !important; font-size: 12px !important; letter-spacing: .02em !important; text-transform: none !important; }
@media (min-width: 1060px) {
  .hero { display: grid !important; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); column-gap: 56px; align-items: end; }
  .hero > * { grid-column: 1; }
  .hero > .hstats { grid-column: 2; grid-row: 1 / span 4; align-self: end; display: grid !important; grid-template-columns: 1fr 1fr;
    border: 1px solid var(--line) !important; border-radius: 10px; background: var(--panel) !important; overflow: hidden; margin: 0 !important; }
  .hero > .hstats .hs { text-align: left !important; padding: 18px 20px !important; border-right: 1px solid var(--line) !important; border-bottom: 1px solid var(--line); }
  .hero > .hstats .hs:nth-child(2n) { border-right: 0 !important; }
  .hero > .hstats .hs:nth-child(n+3) { border-bottom: 0; }
}
.ticker-bar { display: none !important; }
.pf-rec-hero { text-align: left !important; justify-content: flex-start !important; align-items: center; gap: 12px; display: flex; flex-wrap: wrap; margin: 18px 0 0 !important; }
.pf-rec-btn { background: transparent !important; border: 1px solid var(--line-strong) !important; color: var(--white) !important; box-shadow: none !important; font-family: var(--fb) !important; padding: 10px 16px !important; border-radius: 8px !important; font-size: 14px !important; }
.pf-rec-btn:hover { border-color: #4a5566 !important; }
.pf-rec-hero span { color: var(--muted2) !important; font-size: 14px !important; }
.fb { background: transparent !important; border: 1px solid var(--line-strong) !important; color: var(--text-2) !important; font-family: var(--fb) !important; text-transform: none !important; letter-spacing: 0 !important; border-radius: 999px !important; }
.fb.on { background: var(--white) !important; color: var(--bg) !important; border-color: var(--white) !important; }

/* ---------- panels, cards, tables ---------- */
.panel, .card, .info-card, .tool-panel, .side-panel, .data-panel, .result-panel, .fact-box, .callout, .score-card, .pc-box, .math-box, .trust-card, .author-box {
  background: var(--panel) !important; border-color: var(--line) !important; box-shadow: none !important;
}
.panel-red { border-top: 1px solid var(--line) !important; }
[style*="border-top:2px solid var(--red)"], [style*="border-top: 2px solid var(--red)"], [style*="border-left:3px solid var(--red)"] { border-color: var(--line) !important; }
table { font-variant-numeric: tabular-nums; }
table th { color: var(--muted2) !important; font-family: var(--fb) !important; letter-spacing: .04em; background: var(--panel2); border-color: var(--line) !important; }
table td { border-color: var(--line) !important; }
.tbl-wrap, .cmp-wrap { border-color: var(--line) !important; }

/* ranked rows */
.casino-row, .list-header { border-color: var(--line) !important; animation: none !important; }
.casino-row:hover { background: var(--panel2) !important; border-color: var(--line) !important; }
.casino-row.rank-1::after, .casino-row.rank-2::after, .casino-row.rank-3::after { display: none !important; }
.list-header, .list-header .col { color: var(--muted2) !important; font-family: var(--fb) !important; font-size: 10.5px !important; letter-spacing: .03em !important; white-space: nowrap; }
.rk-gold, .rk-silver, .rk-bronze, .rk, .card-rank { color: var(--muted2) !important; background: none !important; box-shadow: none !important; text-shadow: none !important; font-family: var(--fb) !important; }
.card-name, .td-casino { font-family: var(--fb) !important; }
.lfall { color: var(--muted2) !important; font-family: var(--fb) !important; }

/* tags */
.tag {
  background: transparent !important; border: 1px solid var(--line-strong) !important; color: var(--text-2) !important;
  font: 500 11px/1.3 var(--fb) !important; letter-spacing: 0 !important; text-transform: none !important; border-radius: 999px !important; padding: 3px 8px !important;
}
.pup { color: var(--up) !important; background: none !important; font-family: var(--fb) !important; }
.pdn { color: var(--down) !important; background: none !important; font-family: var(--fb) !important; }

/* review score bars and stars */
.sc-bar-fill, .score-bar-fill { background: var(--accent) !important; box-shadow: none !important; }
.sc-bar-track, .score-bar-track { background: var(--panel2) !important; }
.sc-num { font-family: var(--fb) !important; color: var(--white) !important; text-shadow: none !important; }

/* brand tabs */
.pf-tabs { border-bottom: 1px solid var(--line) !important; }
.pf-tabs a { color: var(--text-2) !important; background: transparent !important; border-color: transparent !important; box-shadow: none !important; font-family: var(--fb) !important; }
.pf-tabs a[aria-current], .pf-tabs a.on, .pf-tabs a.active { color: var(--white) !important; border-color: transparent !important; box-shadow: inset 0 -2px 0 var(--white) !important; background: transparent !important; }
.pf-tabs-name { color: var(--white) !important; font-family: var(--fb) !important; }

/* FAQ */
.faq-item { background: var(--panel) !important; border-color: var(--line) !important; }
.faq-btn { font-family: var(--fb) !important; color: var(--white) !important; }
.faq-btn:hover { color: var(--accent) !important; }
.faq-inner { color: var(--text-2) !important; }

/* author box */
.author-av { background: var(--panel2) !important; color: var(--white) !important; box-shadow: none !important; border: 1px solid var(--line-strong) !important; font-family: var(--fb) !important; }

/* sticky bars */
.sticky, .sticky-mob { background: rgba(12,15,20,.97) !important; border-top: 1px solid var(--line) !important; backdrop-filter: none !important; box-shadow: none !important; }
.sticky-txt { color: var(--text-2) !important; }

/* sidebar links */
.sidebar-link:hover, .side-link:hover { color: var(--white) !important; }

/* tools: buttons that run a calculation are not calls to action, so no red */
button.btn-red, button.btn-red:hover { background: var(--panel2) !important; border: 1px solid var(--line-strong) !important; color: var(--white) !important; }
button.btn-red:hover { border-color: #4a5566 !important; }
.snippet, .callout, .fact-box { background: var(--panel) !important; border: 1px solid var(--line) !important; border-left: 3px solid var(--accent) !important; }
/* tools */
.verify-btn, .calc-btn, button.fb-btn { background: var(--panel2) !important; border: 1px solid var(--line-strong) !important; color: var(--white) !important; box-shadow: none !important; font-family: var(--fb) !important; text-transform: none !important; letter-spacing: 0 !important; }
.field-input, .form-input, .form-select, input[type="text"], input[type="number"], select, textarea { background: var(--bg) !important; border-color: var(--line-strong) !important; color: var(--white) !important; }

/* footer */
.pff { border-top-color: var(--line) !important; }
.pff .pf-logo { color: var(--white); }
.pff .pf-mark { width: 26px; height: 26px; }
.pff .pf-word { font-size: 17px; }

/* light inline red tints used as highlights */
[style*="background:rgba(225,29,72"], [style*="background: rgba(225,29,72"] { background: rgba(159,180,208,.06) !important; }
[style*="border:1px solid rgba(225,29,72"], [style*="border: 1px solid rgba(225,29,72"] { border-color: var(--line-strong) !important; }
[style*="color:#e11d48"], [style*="color: #e11d48"] { color: var(--accent) !important; }
a[style*="color:#e11d48"][href^="/go/"] { color: var(--white) !important; }

/* =====================================================================================
   2026b consistency pass (31 Oct 2026). One rule set for every template:
   red only on buttons that leave for a casino (/go/ or an external operator URL);
   one link style; neutral stat numbers; green/grey only on tagged deltas (.pf-up/.pf-dn);
   no gold, green, cyan or purple tints; headings white.
   ===================================================================================== */
:root { --gold: #d4d9e0; --up: var(--white); --green: var(--white); }

/* footer wordmark: the old PF-box rule (.pff-logo span) must not paint the new wordmark */
.pff-logo .pf-word, .pff-logo .pf-word span {
  display: inline !important; width: auto !important; height: auto !important; background: none !important;
  border-radius: 0 !important; box-shadow: none !important; padding: 0 !important; line-height: 1 !important;
}
.pff-logo .pf-word { font: 600 17px/1 var(--fb) !important; color: var(--white) !important; }
.pff-logo .pf-word span { font-weight: 400 !important; color: var(--text-2) !important; font-size: inherit !important; }

/* headings: one colour */
main h1, main h2, main h3, main h4, .st, .page-h1, main h1 *, main h2 *, main h3 *:not(a) , main h4 *:not(a) { color: var(--white) !important; }
h3 a, h4 a, h2 a { color: var(--white) !important; }

/* one link style in content: light text, quiet underline (cards and lists keep no underline) */
main a:not(.breadcrumb a, .crumb a, .bc a, .pf-tabs a, .tag, .fb, .pf-rec-btn, [class*="btn"], [class*="cta"], [href*="/go/"], .pf-sp a) {
  color: var(--white) !important;
}
main a [style*="color:var(--red)"], main a [style*="color: var(--red)"], main a [style*="color:#e11d48"],
main a [style*="color:var(--accent)"] { color: inherit !important; }
main td a:not([class]), main dd a:not([class]), .pf-rec-line a, main .ss a { text-decoration: underline; text-decoration-color: #4a5566; text-decoration-thickness: 1px; text-underline-offset: 3px; }
main a:hover { text-decoration-color: currentColor !important; }

/* status colours in tables and badges become neutral; meaning stays in the words */
.td-good, .td-bad, .td-mid, .td-bonus, .ok, .no, .kyc-yes, .kyc-soft, .kyc-no, .pf-yes, .pf-no, .pf-part, .winner-badge, .pc-title,
.result-value, .result-value.gold, .result-value.green, .pup:not(.pf-up), .pdn:not(.pf-dn), .badge-green, .badge-gold {
  color: var(--white) !important; text-shadow: none !important;
}
.winner-badge { background: transparent !important; border: 1px solid var(--line-strong) !important; }
code, kbd { color: var(--white) !important; background: var(--panel2) !important; border-color: var(--line) !important; }
[style*="color:#22c55e"], [style*="color: #22c55e"], [style*="color:#f0b429"], [style*="color: #f0b429"],
[style*="color:#06b6d4"], [style*="color:#8b5cf6"], [style*="color:#a78bfa"] { color: var(--white) !important; }

/* tints and accent borders */
[style*="background:rgba(240,180,41"], [style*="background: rgba(240,180,41"],
[style*="background:rgba(34,197,94"], [style*="background: rgba(34,197,94"],
[style*="background:rgba(6,182,212"], [style*="background: rgba(6,182,212"],
[style*="background:rgba(148,130,255"], [style*="background: rgba(148,130,255"],
[style*="background:rgba(245,158,11"], [style*="background:rgba(16,185,129"],
[style*="background: rgba(240, 180, 41"], [style*="background: rgba(34, 197, 94"], [style*="background: rgba(6, 182, 212"],
[style*="background: rgba(148, 130, 255"] { background: rgba(159,180,208,.05) !important; }
[style*="solid var(--gold)"], [style*="dashed var(--gold)"], [style*="solid #f0b429"], [style*="dashed #f0b429"],
[style*="solid var(--up)"], [style*="solid #22c55e"], [style*="solid var(--dn)"],
[style*="solid rgba(240,180,41"], [style*="dashed rgba(240,180,41"], [style*="solid rgba(34,197,94"],
[style*="solid rgba(6,182,212"], [style*="solid rgba(148,130,255"], [style*="solid rgba(245,158,11"] { border-color: var(--line-strong) !important; }

/* red means "go to the casino": internal, mailto and anchor buttons are outlined instead */
:is(a.btn, .btn-red, .sticky-btn, .mcta, .ncta, .td-cta a, a.td-cta, .btn-claim, .desk-btn, .pf-cta, .cta-btn,
    a[style*="background:var(--red)"], a[style*="background: var(--red)"], a[style*="background:#e11d48"]):is([href^="/"]:not([href^="/go/"]), [href^="#"], [href^="mailto:"], [href^="https://t.me/"]) {
  background: transparent !important; border: 1px solid var(--line-strong) !important; color: var(--white) !important;
}
:is(a.btn, .btn-red, .sticky-btn, .mcta, .ncta, .td-cta a, a.td-cta, .btn-claim, .desk-btn, .pf-cta, .cta-btn,
    a[style*="background:var(--red)"], a[style*="background: var(--red)"], a[style*="background:#e11d48"]):is([href^="/"]:not([href^="/go/"]), [href^="#"], [href^="mailto:"], [href^="https://t.me/"]):hover {
  background: rgba(255,255,255,.04) !important; border-color: #4a5566 !important;
}

/* template callouts: the standard panel with one neutral accent edge */
.caveat, .verdict, .warn-box, .note, .pf-rec-strip {
  background: var(--panel) !important; border: 1px solid var(--line) !important; border-left: 3px solid var(--accent) !important;
}
.caveat ul li::before { color: var(--muted2) !important; }
tbody tr.hl td { background: rgba(159,180,208,.05) !important; }
.mi-icon, .btn-review { border-color: var(--line-strong) !important; }
.gc.m { border-color: var(--line-strong) !important; background: rgba(159,180,208,.08) !important; }
.pstep.pL { background: rgba(159,180,208,.10) !important; border-color: rgba(159,180,208,.35) !important; }
.pstep.pR { background: transparent !important; border-color: var(--line-strong) !important; }
.blog-thumb { background: var(--panel2) !important; }
:is([style*="solid #e11d48"], [style*="solid #f59e0b"], [style*="solid #06b6d4"], [style*="solid #8b5cf6"],
    [style*="solid #26a17b"], [style*="solid #22c55e"], [style*="solid #f0b429"], [style*="solid #ffd140"],
    [style*="solid rgba(240, 180, 41"], [style*="solid rgba(34, 197, 94"], [style*="solid rgba(6, 182, 212"],
    [style*="solid rgba(148, 130, 255"], [style*="solid rgba(225, 29, 72"],
    [style*="border-top:2px solid #"], [style*="border-left:3px solid #"], [style*="border-left:4px solid #"]):not([href*="/go/"]) { border-color: var(--line-strong) !important; }
[style*="background:#22c55e"], [style*="background:#f59e0b"], [style*="background:#06b6d4"], [style*="background:#8b5cf6"],
[style*="background:#f0b429"], [style*="background:#26a17b"] { background: rgba(159,180,208,.08) !important; }

/* button labels typed in capitals read as normal sentence case */
.verify-btn { text-transform: lowercase !important; display: block !important; text-align: center !important; }
.verify-btn::first-letter { text-transform: uppercase !important; }

/* mobile menu base, for pages whose own CSS never styled it (zero specificity: page CSS wins where present) */
:where(.mob-menu) { display: none; position: fixed; top: 62px; left: 0; right: 0; bottom: 0; z-index: 350; padding: 20px 16px; flex-direction: column; gap: 4px; overflow-y: auto; }
:where(.mob-menu.open) { display: flex; }
:where(.mob-menu) :where(a) { padding: 14px 16px; border-radius: 8px; font-size: 16px; font-weight: 500; border: 1px solid transparent; text-decoration: none; }
:where(.mob-menu) :where(.msep) { height: 1px; background: var(--line); margin: 8px 0; }
:where(.mob-menu) :where(.mob-label) { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 4px 16px 0; }
:where(.mob-menu) :where(.mcta) { text-align: center; margin-top: 8px; }

/* deltas: the only green, tagged at build time */
.pf-up { color: #5fb58e !important; }
.pf-dn { color: #a7adb7 !important; }
