/* ============================================================
   TIER-MODE CSS

   Gates tier-card appearance and signup card-field visibility
   based on the body class set at boot from shared/include.js:

     body.tier-mode-invite-only      — Free Lunch active, paid grayed
     body.tier-mode-invite-donation  — all four active
     body.tier-mode-donation-only    — paid active, Free Lunch grayed

   Tier cards are marked with .tier-card-free or .tier-card-donation
   in register.html (the only page with the 4-card grid). The
   signup.html card field uses .su-card-field as its mount point;
   we hide it in invite_only mode since no paid tier is selectable.

   § POST-AUDIT DESIGN 32 — Mental model is per-tier on/off:
   COLOR = admin set this tier ACTIVE, GREY = admin set it OFF.
   The three modes are just preset combinations of that per-tier
   state.

   Phase 2: admin toggle flips MODE; CSS picks up new class name
   on the next page render. No JS rebuild needed.

   ============================================================
   NOTE — A per-tier .is-inactive rewrite is planned (§ BUG 49).
   The rewrite was started mid-session and reverted. This file
   is the STABLE pre-rewrite state.
============================================================ */


/* ---------------------------------------------------------
   § POST-AUDIT DESIGN 32 — DISABLED-CARD PALETTE
   --------------------------------------------------------- */
:root {
  --disabled-color:    #b8b8b8;
  --disabled-card-bg:  #DEDEDE;
  --disabled-stub-bg:  #C0C0C0;
  --disabled-cta-bg:   rgba(252,250,247,0.70);
}


/* ---------------------------------------------------------
   § POST-AUDIT DESIGN 32 — UNIFIED DISABLED-CARD RECIPE
   --------------------------------------------------------- */

body.tier-mode-invite-only .tier-card-donation,
body.tier-mode-donation-only .tier-card-free {
  filter: drop-shadow(5px 5px 0 var(--disabled-color));
  pointer-events: none;
  cursor: not-allowed;
  position: relative;
}

body.tier-mode-invite-only .tier-card-donation .ref-card-face,
body.tier-mode-donation-only .tier-card-free .ref-card-face {
  background: var(--disabled-card-bg);
  border-color: var(--disabled-color);
}

body.tier-mode-invite-only .tier-card-donation .ref-image-stub,
body.tier-mode-donation-only .tier-card-free .ref-image-stub {
  background: var(--disabled-stub-bg);
}

body.tier-mode-invite-only .tier-card-donation .ref-image-stub img,
body.tier-mode-donation-only .tier-card-free .ref-image-stub img {
  filter: grayscale(1) opacity(0.3);
}

body.tier-mode-invite-only .tier-card-donation .ref-name,
body.tier-mode-donation-only .tier-card-free .ref-name {
  color: var(--disabled-color);
}

body.tier-mode-invite-only .tier-card-donation .ref-why,
body.tier-mode-donation-only .tier-card-free .ref-why {
  color: var(--disabled-color);
  opacity: 1;
}

body.tier-mode-invite-only .tier-card-donation .back-cta,
body.tier-mode-donation-only .tier-card-free .back-cta {
  background: var(--disabled-cta-bg);
  color: var(--disabled-color);
  box-shadow: none;
  border-color: transparent;
}

/* Hide signup card-field in invite_only mode (no paid tier → no Stripe). */
body.tier-mode-invite-only .su-card-field {
  display: none !important;
}

/* § POST-AUDIT BUG 53 — Pass 7 Round B Naique revision 11.
   Previously hid the "Change donation" link in invite_only mode
   because "no one has a donation to change." Portuga's spec
   reverses this: the link must be visible at all times so the
   user can switch INTO a paid tier, not just change between
   paid tiers. Pairs with the register.html requireMode softening
   (same audit pass) so the link lands on the 4-tier page instead
   of bouncing to brief.html. Rule kept as a no-op shell so the
   selector hierarchy stays intact for the BUG 49 4-tier rewrite. */
body.tier-mode-invite-only .nbs-menu-change-donation {
  /* display: none !important;  ← removed by BUG 53 */
}
