/* ============================================================================
   jp-nf-page.css — Night Flight, systematized — v1.7.26
   ----------------------------------------------------------------------------
   The generic page skin that turns ANY mobile twin into a Night Flight page.
   Loaded together with jp-night-flight.css (the shared core: typography
   enforcement, night background, starfield, route line, stamps, reveals,
   dawn) — this file covers the anatomy the homepage doesn't have: the twins'
   standard sections, the ms-* section grammar, and generic light-section
   neutralization. Scoped to body.nf-night. "Every page is a route."
   ========================================================================== */

/* ── generic twin anatomy ───────────────────────────────────────────────── */
body.nf-night { position: relative; }
body.nf-night .hero { background: transparent !important; }
body.nf-night .hero h1, body.nf-night h1 { color: #fff !important; }
body.nf-night .section, body.nf-night .section.alt,
body.nf-night section.alt { background: transparent !important; }
body.nf-night .section h2, body.nf-night h2 { color: #fff; }
body.nf-night .section h3 { color: #fff; }
body.nf-night .lede, body.nf-night .section p { color: rgba(255, 255, 255, .74); }
body.nf-night .eyebrow { color: #00C9C0 !important; }
body.nf-night .micro { color: rgba(255, 255, 255, .5) !important; }

/* generic card families used across the twins */
body.nf-night .stat, body.nf-night .why-card, body.nf-night .ai-tile,
body.nf-night .tt-card, body.nf-night .aud-panel, body.nf-night .proc-body,
body.nf-night .problem-card, body.nf-night .pricing-tile, body.nf-night .trust-cell,
body.nf-night .saved-card, body.nf-night .cta-strip, body.nf-night .faq-item {
  background: rgba(255, 255, 255, .06) !important;
  border-color: rgba(255, 255, 255, .12) !important;
  color: rgba(255, 255, 255, .78); }
body.nf-night .stat-num { color: #7FE7E2 !important; }
body.nf-night .stat-lbl { color: rgba(255, 255, 255, .55) !important; }
body.nf-night .region-banner, body.nf-night .region-banner * { color: #fff !important; }

/* ── the ms-* section grammar joins the night ───────────────────────────── */
body.nf-night .ms-card { background: rgba(255, 255, 255, .06) !important;
  border-color: rgba(255, 255, 255, .12) !important;
  box-shadow: 0 8px 26px rgba(0, 0, 0, .3) !important; }
body.nf-night .ms-card h3 { color: #fff !important; }
body.nf-night .ms-card p { color: rgba(255, 255, 255, .68) !important; }
body.nf-night .ms-acc details { background: rgba(255, 255, 255, .06) !important;
  border-color: rgba(255, 255, 255, .12) !important; }
body.nf-night .ms-acc summary { color: #fff !important; }
body.nf-night .ms-acc summary::after { color: #7FE7E2 !important; }
body.nf-night .ms-acc .bd { color: rgba(255, 255, 255, .68) !important; }
body.nf-night .ms-acc .bd b { color: #fff !important; }
body.nf-night .ms-seg { background: rgba(255, 255, 255, .08) !important; }
body.nf-night .ms-seg button { color: rgba(255, 255, 255, .6) !important; }
body.nf-night .ms-seg button.on { background: #00C9C0 !important; color: #04102A !important; }
body.nf-night .ms-stat { background: rgba(255, 255, 255, .06) !important;
  border-color: rgba(255, 255, 255, .12) !important; }
body.nf-night .ms-stat .v { color: #fff !important; }
body.nf-night .ms-stat .v em { color: #7FE7E2 !important; }
body.nf-night .ms-stat .l { color: rgba(255, 255, 255, .55) !important; }
body.nf-night .ms-step h3 { color: #fff !important; }
body.nf-night .ms-step p { color: rgba(255, 255, 255, .68) !important; }
body.nf-night .ms-logos span { background: rgba(255, 255, 255, .06) !important;
  border-color: rgba(0, 201, 192, .35) !important; color: #7FE7E2 !important; }
body.nf-night .ms-kicker { color: #7FE7E2 !important; }
body.nf-night .ms-trust span { color: #7FE7E2 !important; }
body.nf-night .ms-carousel-hint { color: rgba(255, 255, 255, .4) !important; }

/* lists inside parity/audience sections */
body.nf-night .aud-panel li, body.nf-night .section ul li,
body.nf-night .solution-list li { color: rgba(255, 255, 255, .74); }

/* hero CTAs on twins (the homepage has its boarding pass instead) */
body.nf-night .hero-ctas .jp-btn-primary, body.nf-night .hero .jp-btn-primary {
  background: linear-gradient(135deg, #00C9C0, #00A89F) !important; border: none !important; }
body.nf-night .hero-ctas .jp-btn-primary, body.nf-night .hero-ctas .jp-btn-primary *,
body.nf-night .hero .jp-btn-primary, body.nf-night .hero .jp-btn-primary * {
  color: #04102A !important; font-weight: 800 !important; }
body.nf-night .hero-ctas .jp-btn-ghost, body.nf-night .hero .jp-btn-ghost {
  background: transparent !important; border: 1.5px solid rgba(255, 255, 255, .3) !important; }
body.nf-night .hero-ctas .jp-btn-ghost, body.nf-night .hero-ctas .jp-btn-ghost *,
body.nf-night .hero .jp-btn-ghost, body.nf-night .hero .jp-btn-ghost * {
  color: #fff !important; }

/* the dawn arrival generalizes to every twin's final CTA card */
body.nf-night .cta-card {
  background: linear-gradient(178deg, #0A2D6E 0%, #14559E 42%, #2C8FBF 68%, #E8A45C 96%, #FFC371 100%) !important;
  border: 1px solid rgba(255, 200, 120, .35) !important; }
body.nf-night .cta-card h2, body.nf-night .cta-card p { color: #fff !important; }
body.nf-night .cta-card .eyebrow { color: #FFE3B3 !important; }
body.nf-night .cta-card .jp-btn-primary { background: #fff !important; }
body.nf-night .cta-card .jp-btn-primary, body.nf-night .cta-card .jp-btn-primary * {
  color: #0A2D6E !important; font-weight: 800 !important; }

/* tables (quality/comparison pages) */
body.nf-night table { color: rgba(255, 255, 255, .78); }
body.nf-night th, body.nf-night td { border-color: rgba(255, 255, 255, .12) !important; }

/* ── marketplace browse UX (v1.7.27) ────────────────────────────────────── */
body.nf-night .clinic-card { background: rgba(255, 255, 255, .06) !important;
  border-color: rgba(255, 255, 255, .12) !important; }
body.nf-night .clinic-name { color: #fff !important; }
body.nf-night .clinic-where, body.nf-night .clinic-spec { color: rgba(255, 255, 255, .6) !important; }
body.nf-night .clinic-price { color: #7FE7E2 !important; font-weight: 800; }
body.nf-night .clinic-rating { color: #FFD479 !important; }
body.nf-night .clinic-pills span, body.nf-night .clinic-pills .pill {
  background: rgba(0, 201, 192, .10) !important; border-color: rgba(0, 201, 192, .3) !important;
  color: #7FE7E2 !important; }
body.nf-night .hero-search input { background: rgba(255, 255, 255, .08) !important;
  border: 1px solid rgba(255, 255, 255, .2) !important; color: #fff !important; }
body.nf-night .hero-search input::placeholder { color: rgba(255, 255, 255, .45) !important; }
body.nf-night .filter-row button, body.nf-night .filter-row .rchip {
  background: rgba(255, 255, 255, .07) !important; border-color: rgba(255, 255, 255, .16) !important;
  color: rgba(255, 255, 255, .7) !important; }
body.nf-night .filter-row .is-active { background: #00C9C0 !important; color: #04102A !important; }

/* footer seam */
body.nf-night .jp-footer { border-top: 1px solid rgba(255, 255, 255, .08); }

/* ============================================================================
   v1.7.29 — device punch-list 2
   ========================================================================== */

/* ── glyph-fill locks (iOS: -webkit-text-fill-color beats `color`) ──────── */
body.nf-night .hero-ctas .jp-btn-primary, body.nf-night .hero-ctas .jp-btn-primary *,
body.nf-night .hero .jp-btn-primary, body.nf-night .hero .jp-btn-primary * {
  -webkit-text-fill-color: #04102A !important; }
body.nf-night .hero-ctas .jp-btn-ghost, body.nf-night .hero-ctas .jp-btn-ghost *,
body.nf-night .hero .jp-btn-ghost, body.nf-night .hero .jp-btn-ghost * {
  -webkit-text-fill-color: #fff !important; }
body.nf-night .cta-card .jp-btn-primary, body.nf-night .cta-card .jp-btn-primary * {
  -webkit-text-fill-color: #0A2D6E !important; }
body.nf-night .ms-seg button { -webkit-text-fill-color: rgba(255,255,255,.6) !important; }
body.nf-night .ms-seg button.on { -webkit-text-fill-color: #04102A !important; }

/* ── country-template anatomy (stats band, proof cards, clinic rows) ────── */
body.nf-night .stats { background: transparent !important;
  border-bottom: 1px solid rgba(255, 255, 255, .10) !important; }
body.nf-night .stat { display: flex; flex-direction: column;
  align-items: center; justify-content: center; text-align: center !important;
  gap: 2px; }
body.nf-night .proof-card { background: rgba(255, 255, 255, .06) !important;
  border-color: rgba(255, 255, 255, .14) !important; }
body.nf-night .proof-card, body.nf-night .proof-card p,
body.nf-night .proof-card div { color: rgba(255, 255, 255, .78) !important; }
body.nf-night .proof-card b, body.nf-night .proof-card h3,
body.nf-night .proof-card strong { color: #fff !important; }
body.nf-night .clinic { background: rgba(255, 255, 255, .06) !important;
  border-color: rgba(255, 255, 255, .14) !important; }
body.nf-night .clinic-meta, body.nf-night .from { color: rgba(255, 255, 255, .6) !important; }
body.nf-night .clinic-chev { color: rgba(255, 255, 255, .4) !important; }
body.nf-night .flights, body.nf-night .flight-list, body.nf-night .cost-row,
body.nf-night .cost, body.nf-night .item { background: rgba(255, 255, 255, .05) !important;
  border-color: rgba(255, 255, 255, .12) !important;
  color: rgba(255, 255, 255, .78) !important; }
body.nf-night .cost b, body.nf-night .item b, body.nf-night .flights b,
body.nf-night .cost strong, body.nf-night .item strong { color: #fff !important; }
body.nf-night .cost .save, body.nf-night .item em { color: #7FE7E2 !important; }

/* ============================================================================
   v1.7.32 — marketplace browse: the full night pass
   ========================================================================== */
body.nf-night .hero-fade { display: none !important; }   /* stray light strip below search */
body.nf-night .hero-meta span { color: #7FE7E2 !important; }
body.nf-night .catbar { background: rgba(4, 16, 42, .88) !important;
  border-bottom-color: rgba(255, 255, 255, .10) !important;
  top: calc(72px + env(safe-area-inset-top, 0px)) !important; /* clear the fixed bar */ }
body.nf-night .catchip { background: rgba(255, 255, 255, .08) !important;
  color: #fff !important; -webkit-text-fill-color: #fff !important;
  border-color: rgba(255, 255, 255, .18) !important; }
body.nf-night .catchip.is-active { background: #00C9C0 !important;
  color: #04102A !important; -webkit-text-fill-color: #04102A !important;
  border-color: transparent !important; }
body.nf-night .filter-row { background: transparent !important;
  border-color: rgba(255, 255, 255, .10) !important; }
body.nf-night .fchip { background: rgba(255, 255, 255, .08) !important;
  color: rgba(255, 255, 255, .8) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .8) !important;
  border-color: rgba(255, 255, 255, .16) !important; }
body.nf-night .fchip.is-active { background: rgba(0, 201, 192, .18) !important;
  color: #7FE7E2 !important; -webkit-text-fill-color: #7FE7E2 !important;
  border-color: rgba(0, 201, 192, .5) !important; }
body.nf-night .result-bar { background: transparent !important; }
body.nf-night .result-count { color: rgba(255, 255, 255, .6) !important; }
body.nf-night .result-count strong { color: #fff !important; }
body.nf-night .sort-btn { background: rgba(255, 255, 255, .08) !important;
  color: #fff !important; -webkit-text-fill-color: #fff !important;
  border-color: rgba(255, 255, 255, .18) !important; }
/* Add-to-Home-Screen card joins the night */
body.nf-night .jp-pwa-banner { background: rgba(10, 30, 66, .97) !important;
  border: 1px solid rgba(255, 255, 255, .16) !important; color: #fff !important; }
body.nf-night .jp-pwa-banner strong { color: #fff !important; }
body.nf-night .jp-pwa-copy, body.nf-night .jp-pwa-body {
  color: rgba(255, 255, 255, .78) !important; }

/* ============================================================================
   v1.7.35 — the last light-card families join the night
   (night rules whiten h3/p/li text globally; any card that keeps its own
   white background becomes white-on-white — glass them all)
   ========================================================================== */
body.nf-night .feature-card, body.nf-night .score-card, body.nf-night .solution,
body.nf-night .tool-tile, body.nf-night .ftr {
  background: rgba(255, 255, 255, .06) !important;
  border-color: rgba(255, 255, 255, .14) !important; }
body.nf-night .feature-card h3, body.nf-night .score-card h3,
body.nf-night .solution h3, body.nf-night .tool-tile h3 { color: #fff !important; }
body.nf-night .feature-card p, body.nf-night .score-card p,
body.nf-night .solution p, body.nf-night .tool-tile p {
  color: rgba(255, 255, 255, .72) !important; }
body.nf-night .feature-card-num { color: #7FE7E2 !important; }
body.nf-night .stage-num { background: rgba(0, 201, 192, .15) !important;
  color: #7FE7E2 !important; }
/* pricing card — the dawn treatment fits a closing offer */
body.nf-night .pricing {
  background: rgba(255, 255, 255, .07) !important;
  border-color: rgba(0, 201, 192, .35) !important; }
body.nf-night .pricing h3 { color: #fff !important; }
body.nf-night .pricing .big { color: #7FE7E2 !important; }
body.nf-night .pricing .lbl { color: rgba(255, 255, 255, .6) !important; }
body.nf-night .pricing-list li { color: rgba(255, 255, 255, .8) !important; }
body.nf-night .pricing-eye { background: rgba(0, 201, 192, .12) !important;
  color: #7FE7E2 !important; }


/* ── v1.7.39 · P0 money-path fixes ──────────────────────────────────────── */
/* Clinic profile error state joins the night (was navy-on-navy + ghost soup). */
body.nf-night .errstate h2 { color: #fff !important; -webkit-text-fill-color: #fff !important; }
body.nf-night .errstate p { color: rgba(255,255,255,.75) !important; -webkit-text-fill-color: rgba(255,255,255,.75) !important; }
body.nf-night .errstate .jp-btn-primary {
  background: linear-gradient(135deg, #00C9C0, #00A89F) !important;
  color: #04102A !important; -webkit-text-fill-color: #04102A !important; border: none !important; }
body.nf-night .errstate .jp-btn:not(.jp-btn-primary) {
  background: transparent !important; border: 1.5px solid rgba(255,255,255,.32) !important;
  color: #fff !important; -webkit-text-fill-color: #fff !important; text-decoration: none !important; }

/* Cost comparison: the JetPatient price is the HERO number, not a shadow.
   (Device QA: dark-teal-on-navy was the least visible element in the row.) */
body.nf-night .cost-row .val .jp {
  color: #7FE7E2 !important; -webkit-text-fill-color: #7FE7E2 !important;
  font-weight: 800 !important; font-size: 1.18em;
  text-shadow: 0 0 18px rgba(0, 201, 192, .45); }
body.nf-night .cost-row .val .us {
  color: rgba(255,255,255,.42) !important; -webkit-text-fill-color: rgba(255,255,255,.42) !important;
  text-decoration: line-through; }
body.nf-night .cost-row .save-chip {
  display: inline-block; margin-left: 8px; padding: 2px 8px; border-radius: 999px;
  background: rgba(0,201,192,.16); border: 1px solid rgba(0,201,192,.4);
  color: #7FE7E2; -webkit-text-fill-color: #7FE7E2;
  font-size: 11px; font-weight: 800; letter-spacing: .04em; }


/* ── v1.7.40 · destination skies (one palette, two consumers: hub window
   panes + marketplace card banners — classes applied by wireSkies()) ────── */
body.nf-night .nf-sky-mexico { background: linear-gradient(180deg,#120B2E 0%,#5C2A4D 52%,#C76B3F 82%,#EFB07A 100%) !important; }
body.nf-night .nf-sky-costa-rica { background: linear-gradient(180deg,#06182F 0%,#0B4D43 55%,#1F8A5F 82%,#9CD9A8 100%) !important; }
body.nf-night .nf-sky-panama { background: linear-gradient(180deg,#071A33 0%,#0A4D6E 55%,#19A0B8 82%,#BDE8EE 100%) !important; }
body.nf-night .nf-sky-colombia { background: linear-gradient(180deg,#0A1430 0%,#11514A 55%,#2E9E6B 82%,#F2C94C 100%) !important; }
body.nf-night .nf-sky-brazil { background: linear-gradient(180deg,#0D1033 0%,#14502F 55%,#37A24A 82%,#F4D35E 100%) !important; }
body.nf-night .nf-sky-argentina { background: linear-gradient(180deg,#081A38 0%,#1F4E8C 55%,#6FA8DC 82%,#DCEAF7 100%) !important; }
body.nf-night .nf-sky-thailand { background: linear-gradient(180deg,#140E33 0%,#4A2C6B 52%,#C97B2D 82%,#F4C26B 100%) !important; }
body.nf-night .nf-sky-singapore { background: linear-gradient(180deg,#05122B 0%,#093D5C 55%,#0FA3A3 82%,#9FE8DD 100%) !important; }
body.nf-night .nf-sky-indonesia { background: linear-gradient(180deg,#120A28 0%,#4A1F3F 52%,#B5483A 82%,#F2A65A 100%) !important; }
body.nf-night .nf-sky-south-korea { background: linear-gradient(180deg,#0A0F2E 0%,#33235C 52%,#8C4A8F 82%,#E8A0BF 100%) !important; }
body.nf-night .nf-sky-japan { background: linear-gradient(180deg,#0B102E 0%,#3A3563 52%,#B86E8F 82%,#F6CBD1 100%) !important; }
body.nf-night .nf-sky-taiwan { background: linear-gradient(180deg,#071730 0%,#0E4D57 55%,#2F9E8F 82%,#BCE3D8 100%) !important; }
body.nf-night .nf-sky-spain { background: linear-gradient(180deg,#0D1230 0%,#5C2E3F 52%,#C2703F 82%,#F3B65C 100%) !important; }
body.nf-night .nf-sky-czech-republic { background: linear-gradient(180deg,#0C0F2E 0%,#3A2F55 52%,#9A6B3F 82%,#E8C27A 100%) !important; }
body.nf-night .nf-sky-hungary { background: linear-gradient(180deg,#0A122E 0%,#2E3A66 52%,#7A5E9E 82%,#D9B8D8 100%) !important; }
body.nf-night .nf-sky-turkey { background: linear-gradient(180deg,#100C2E 0%,#4A2350 52%,#A14E6B 82%,#EBB28A 100%) !important; }
body.nf-night .nf-sky-uae { background: linear-gradient(180deg,#0B0F2A 0%,#33305C 52%,#B07A3A 82%,#F2CE8A 100%) !important; }

/* ── v1.7.40 · marketplace cards at night ───────────────────────────────── */
/* r50.3 — the cover IS the destination sky now (generated per clinic from its
   country and coordinates), so it is shown at full strength instead of being
   knocked back to 48% luminosity texture over an invented gradient. Only the
   bottom scrim survives, and lighter: it exists to seat the card edge, not to
   dim the illustration. */
body.nf-night .jp-mcard-banner { position: relative; background: #050F26; }
body.nf-night .jp-mcard-banner img { opacity: 1; filter: none; mix-blend-mode: normal; }
body.nf-night .jp-mcard-banner::after { content: ""; position: absolute; inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(4,16,42,0) 62%, rgba(4,16,42,.42) 100%); }
body.nf-night .clinic-price .amt { color: #7FE7E2 !important;
  -webkit-text-fill-color: #7FE7E2 !important; text-shadow: 0 0 14px rgba(0,201,192,.35); }
body.nf-night .clinic-price .lbl { color: rgba(255,255,255,.55) !important;
  -webkit-text-fill-color: rgba(255,255,255,.55) !important; }
/* the price label already says All-inclusive — the duplicate pill retires */
body.nf-night .clinic-pills .pill.allinc { display: none !important; }

/* ── v1.7.40 · country hero: the raw flag banner becomes a stamp chip ───── */
body.nf-night .hero:has(.hero-band) {
  background: linear-gradient(180deg, #04102A 0%, #0A2D6E 100%) !important; }
body.nf-night .hero-band { height: auto !important; width: max-content;
  margin: 16px 18px 0; padding: 5px 14px; border-radius: 999px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.08) !important;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
body.nf-night .hero-band::before { font-size: 16px !important;
  text-shadow: none !important; filter: saturate(.8); }
body.nf-night .hero-band::after { display: none !important; }

/* v1.7.40 — footer + page-end rules live in jp-night-flight.css (core), so the
   homepage — which does not load this sheet — gets them too. */

/* v1.7.43 — a11y (axe serious): clinic-profile table headers were light-gray
   on white (16 nodes failing 4.5:1) */
body.nf-night #cp-main th { color: #43526B !important; -webkit-text-fill-color: #43526B !important; }

/* v1.7.43 — a11y follow-up: surgeon-card roles + remaining muted text inside
   the clinic profile's light cards were below 4.5:1 */
body.nf-night #cp-main .surg-role,
body.nf-night #cp-main .surgeon-card .surg-role,
body.nf-night #cp-main .muted, body.nf-night #cp-main .sub2 { color: #4A5972 !important; -webkit-text-fill-color: #4A5972 !important; }
body.nf-night #cp-main .glance-row .k { color: #4A5972 !important; -webkit-text-fill-color: #4A5972 !important; }
/* v1.7.46 — glance/stat labels: contrast belt on white cards */
body.nf-night #cp-main .stat-lbl { color: #4A5972 !important; -webkit-text-fill-color: #4A5972 !important; }

/* ============================================================================
   v1.7.50 — r19 contrast pass: every reported dark-on-dark / light-on-light
   tile joins the night. Strategy: glass the last white islands and flip the
   old on-white text belts (v1.7.43/46 above) back to light — those rules are
   overridden here, later in the cascade, with matching selectors.
   ========================================================================== */

/* pathway twin: .benefit-list was invisible (white cards under whitened text) */
body.nf-night .benefit-list li { background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.14) !important; }
body.nf-night .benefit-body h3 { color: #fff !important; }
body.nf-night .benefit-body p { color: rgba(255,255,255,.72) !important; }

/* clinic profile: the white islands become glass… */
body.nf-night .stat-card, body.nf-night .proc-table, body.nf-night .surgeon-card,
body.nf-night .glance { background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.14) !important; box-shadow: none !important; }
/* …and every piece of text on them goes light (overrides v1.7.43/46 belts) */
body.nf-night .stat-val, body.nf-night #cp-main .stat-val { color: #7FE7E2 !important; -webkit-text-fill-color: #7FE7E2 !important; }
body.nf-night #cp-main .stat-lbl, body.nf-night .stat-lbl { color: rgba(255,255,255,.6) !important; -webkit-text-fill-color: rgba(255,255,255,.6) !important; }
body.nf-night #cp-main th, body.nf-night .proc-table th { background: rgba(255,255,255,.05) !important;
  color: rgba(255,255,255,.6) !important; -webkit-text-fill-color: rgba(255,255,255,.6) !important;
  border-color: rgba(255,255,255,.12) !important; }
body.nf-night .proc-table td { color: rgba(255,255,255,.75) !important; border-color: rgba(255,255,255,.1) !important; }
body.nf-night .proc-table td strong { color: #fff !important; }
body.nf-night .proc-us { color: rgba(255,255,255,.42) !important; }
body.nf-night #cp-main .surg-role, body.nf-night #cp-main .surgeon-card .surg-role,
body.nf-night .surg-role { color: rgba(255,255,255,.62) !important; -webkit-text-fill-color: rgba(255,255,255,.62) !important; }
body.nf-night .surg-name { color: #fff !important; }
body.nf-night .surg-exp { color: rgba(255,255,255,.78) !important; }
body.nf-night #cp-main .muted, body.nf-night #cp-main .sub2 { color: rgba(255,255,255,.62) !important; -webkit-text-fill-color: rgba(255,255,255,.62) !important; }
body.nf-night #cp-main .glance-row .k, body.nf-night .glance-row .k { color: rgba(255,255,255,.62) !important; -webkit-text-fill-color: rgba(255,255,255,.62) !important; }
body.nf-night .glance-row .v { color: #fff !important; }
body.nf-night .glance-row { border-color: rgba(255,255,255,.12) !important; }
body.nf-night .section p.about { color: rgba(255,255,255,.78) !important; }
body.nf-night .section h2 .ico { background: rgba(255,255,255,.08) !important; color: #7FE7E2 !important; }

/* the near-invisible chips: specialties (navy-on-navy) + certs (1.6:1 amber) */
body.nf-night .spec-pill { background: rgba(0,201,192,.12) !important;
  border-color: rgba(0,201,192,.35) !important; color: #7FE7E2 !important;
  -webkit-text-fill-color: #7FE7E2 !important; }
body.nf-night .cert-badge { background: rgba(255,184,0,.14) !important;
  border-color: rgba(255,184,0,.4) !important; color: #FFD479 !important;
  -webkit-text-fill-color: #FFD479 !important; }
body.nf-night .loader { color: rgba(255,255,255,.65) !important; }

/* marketplace: last two white slabs join the night */
body.nf-night .show-more { background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.2) !important; color: #fff !important;
  -webkit-text-fill-color: #fff !important; }
body.nf-night .empty-cta a.cta-btn { background: linear-gradient(135deg,#00C9C0,#00A89F) !important;
  color: #04102A !important; -webkit-text-fill-color: #04102A !important; border: none !important; }
