/* partners-theme.css: copy of academy\phase0\theme\rhces-fixes.css (SPEC 2). Loaded after the live rhces.com files, before partners.css. */
/* =============================================================================
   rhces-fixes.css                              PROPOSED for rhces-theme/theme.css v=22
   Phase 0, review round 1, 12 Oct 2026. NOT applied to rhces.com.
   -----------------------------------------------------------------------------
   Four small fixes to the live rhces.com theme that the academy mock-up needed.
   They are written as plain overrides of live rules, in --cad-* tokens, to be
   APPENDED to rhces-theme/theme.css (then ?v=21 becomes ?v=22 with
   rhces-theme/bump-theme-version.sh). After that, rhces.com and the academy
   change together, and this file is deleted.

   Until the owner approves that change to the live site (gate G8, PLAN 6.8) the
   academy loads this file after theme.css, so the academy shows the fixed look
   and rhces.com keeps its current look. If the owner declines the site-wide
   change, the file simply stays, as an academy file. Either way the academy's
   own academy.css never restyles a live class.

   Where each fix shows on rhces.com, so it can be checked before merging:
     1  phone menu            every page with the header, at 768px and below
     2  form messages         the contact form (success and error boxes)
     3  focus ring            every focusable control, keyboard users only
     4  chip / badge tints    the store filter buttons and the "new" and "free" badges
   ============================================================================= */


/* 1. PHONE MENU SLIVER ---------------------------------------------------------
   rhces.com parks the closed phone menu at translateY(-110%), which leaves a
   strip of it over the logo and the hamburger button and swallows taps (see
   shots/compare-mobile.png, left). The rebuilt homepage already carries this fix
   as #rhces-mobile-menu-fix: park the closed menu fully off-screen. The open menu
   is unchanged. */
@media (max-width: 768px) {
  #navMenu:not(.open) { transform: translateY(calc(-100% - var(--nav-h, 72px))); pointer-events: none; }
}


/* 2. FORM MESSAGES -------------------------------------------------------------
   style.css writes the text of .form-success and .form-error as literal #22c55e
   and #f87171, which fails the 4.5:1 text contrast on the light ground. Layout,
   tints and borders stay as they are; only the text colour changes. (The success
   text is ink, because --cad-ok on the green tint measures 4.3:1.) */
.form-success { color: var(--cad-ink); }
.form-error   { color: var(--cad-danger); }


/* 3. FOCUS RING ----------------------------------------------------------------
   The site relies on the browser default ring. A 2px teal ring is visible on both
   the light and the dark ground. Mouse users never see it (:focus-visible). Text
   inputs keep their own border-and-glow focus style (they set outline: none). */
:focus-visible { outline: 2px solid var(--cad-accent); outline-offset: 2px; }


/* 4. CHIP AND BADGE TINTS ------------------------------------------------------
   On the page ground (not on a panel) teal text on the translucent teal tint
   measures 4.08:1 to 4.36:1 in the light theme; the rule is 4.5:1. A solid tint
   gives the same look and passes (checked with homepage/contrast-audit.py). */
.filter-btn.active { background: var(--cad-accent-soft); }
.product-badge.badge-new, .product-badge.badge-free { background: var(--cad-panel); }
