/* FusionCharge customer wiki: page-body follow-ups to the shared UI layer (unify WP1, judge round 1,
 * 4 Nov 2026). Customer tree only, loaded after css/fc-ui.css and css/fc-shell.css.
 *
 * Same rule as fc-ui.css: every selector sits under :where(.page:not(:has(.hac-hero))), so the approved
 * home (#page.page-home with .hac-hero inside) is never touched, and each rule weighs what the wiki.css
 * rule it restyles weighs and wins only by load order. Visual only (colour, radius, shadow); no layout.
 * Pages whose CSS is injected by JS (roi actions, cpo, packages, market) are fixed in their own JS files.
 */

/* ---------- corner radii: the house 3 px everywhere the old 10 / 16 / pill corners were left ---------- */
:where(.page:not(:has(.hac-hero))) .panel,
:where(.page:not(:has(.hac-hero))) .scen,
:where(.page:not(:has(.hac-hero))) .chart-wrap,
:where(.page:not(:has(.hac-hero))) .hero-num,
:where(.page:not(:has(.hac-hero))) .seg,
:where(.page:not(:has(.hac-hero))) .map-wrap,
:where(.page:not(:has(.hac-hero))) .cpo-filter,
:where(.page:not(:has(.hac-hero))) .map-hint,
:where(.page:not(:has(.hac-hero))) .pool-card,
:where(.page:not(:has(.hac-hero))) .pool-sel select,
:where(.page:not(:has(.hac-hero))) .pool-q,
:where(.page:not(:has(.hac-hero))) .field input[type=number],
:where(.page:not(:has(.hac-hero))) .field select,
:where(.page:not(:has(.hac-hero))) .sim-hero,
:where(.page:not(:has(.hac-hero))) .sim-slot,
:where(.page:not(:has(.hac-hero))) .sim-spec,
:where(.page:not(:has(.hac-hero))) .sim-court,
:where(.page:not(:has(.hac-hero))) .sim-tape,
:where(.page:not(:has(.hac-hero))) .sim-carsel,
:where(.page:not(:has(.hac-hero))) .sim-btn { border-radius: var(--fc-radius, 3px); }
:where(.page:not(:has(.hac-hero))) .panel,
:where(.page:not(:has(.hac-hero))) .scen,
:where(.page:not(:has(.hac-hero))) .chart-wrap,
:where(.page:not(:has(.hac-hero))) .map-wrap,
:where(.page:not(:has(.hac-hero))) .pool-card,
:where(.page:not(:has(.hac-hero))) .sim-spec { box-shadow: none; border-color: var(--fc-rule, #DCDCD8); }
:where(.page:not(:has(.hac-hero))) .scen { border-top-width: 3px; }
:where(.page:not(:has(.hac-hero))) .pool-card:hover { box-shadow: none; transform: none; border-color: var(--fc-ink3, #5F5F5D); }

/* ---------- simulator buttons: the house square button, flat accent fill, no glow ---------- */
:where(.page:not(:has(.hac-hero))) .sim-real-go {
  background: var(--fc-accent, #C7000B); color: var(--fc-on-accent, #fff); border-color: var(--fc-accent, #C7000B);
  box-shadow: none;
}
:where(.page:not(:has(.hac-hero))) .sim-real-go:hover {
  transform: none; box-shadow: none; border-color: transparent;
  background: var(--fc-red-deep, #A5000A); background: color-mix(in srgb, var(--fc-accent, #C7000B) 84%, #000);
}
:where(.page:not(:has(.hac-hero))) .sim-btn-ic { display: inline-grid; line-height: 0; flex: none; }
:where(.page:not(:has(.hac-hero))) .sim-lane.hw .lane-chips i { background: rgba(199, 0, 11, .72); }

/* ---------- small text in a brand colour: darker text variants that reach 4.5:1 (bars/dots keep the bright one) */
:where(.page:not(:has(.hac-hero))) .sim-slot-spec .tier-A { color: #437C21; }
:where(.page:not(:has(.hac-hero))) .sim-slot-spec .tier-B { color: #1F7782; }
:where(.page:not(:has(.hac-hero))) .sim-slot-spec .tier-C { color: #B45200; }
:where(.page:not(:has(.hac-hero))) .cpo-chip .cpo-name { color: var(--cpo-ink, var(--fc-ink3, #5F5F5D)); }
:where(.page:not(:has(.hac-hero))) .cpo-filter.on .cpo-n { color: var(--cpo-ink, var(--fc-ink3, #5F5F5D)); }
/* LINE keeps its green, one step darker so white text reads 4.6:1 (LINE #06C755 gave 2.3:1) */
:where(.page:not(:has(.hac-hero))) .btn.line { background: #048739; border-color: #048739; }
:where(.page:not(:has(.hac-hero))) .cta-blk .btn.line.on-dark:hover { background: #048739; border-color: #048739; }

/* ---------- link rows on a phone: the language / PDF badges keep their own width ---------- */
@media (max-width: 700px) {
  :where(.page:not(:has(.hac-hero))) .link-row .badge { justify-self: start; width: auto; }
}

/* ---------- simulator notes: "not registered / no datasheet" read as a quiet note with a line icon ---------- */
:where(.page:not(:has(.hac-hero))) .sim-spec-src.off { color: var(--fc-ink3, #5F5F5D); }
:where(.page:not(:has(.hac-hero))) .sim-spec-src.off .sim-btn-ic { display: inline-block; vertical-align: -2px; color: #B45200; }
:where(.page:not(:has(.hac-hero))) .rg-flag,
:where(.page:not(:has(.hac-hero))) .sim-race-flag { line-height: 0; }

/* ---------- more contrast: monograms, the "best fit" tag, the required-field star on the dark form ---------- */
:where(.page:not(:has(.hac-hero))) .cpo-mark { color: var(--cpo-on, #fff); }
:where(.page:not(:has(.hac-hero))) .pd-opt .rec { color: #11692F; }
:where(.page:not(:has(.hac-hero))) .cta-blk .lead-field .req { color: #FF7A7A; }

/* ---------- phone tap targets: 40 px for the page controls that sat at 34-39 px ---------- */
:where(.page:not(:has(.hac-hero))) .btn,
:where(.page:not(:has(.hac-hero))) .cpo-filter,
:where(.page:not(:has(.hac-hero))) .sim-btn,
:where(.page:not(:has(.hac-hero))) .sd-chip,
:where(.page:not(:has(.hac-hero))) .pool-view button,
:where(.page:not(:has(.hac-hero))) .seg button,
:where(.page:not(:has(.hac-hero))) .sim-sel,
:where(.page:not(:has(.hac-hero))) .pool-sel select,
:where(.page:not(:has(.hac-hero))) .pool-q,
:where(.page:not(:has(.hac-hero))) .field input[type=number],
:where(.page:not(:has(.hac-hero))) .field select { min-height: 40px; }
