/* ══ CONSENT ══════════════════════════════════════════════════════════════
   The opt-in to be texted. Loaded by every surface that collects a number, and
   it is ONE FILE for a reason that is not tidiness: a carrier reviews every
   opt-in path named on a campaign, and two paths that look or read differently
   are two different programmes as far as the review is concerned. The wording
   lives in the markup and has to match; the styling lives here so it cannot
   quietly stop matching.

   It is in its own file rather than in slate.css or document.css because those
   are per-surface and the home page and the account page load one each. A rule
   in either is a rule the other cannot see, which is the same trap that left
   tkCall in a script only one page loaded. tray.css is the precedent: a
   component both surfaces need.

   Deliberately quiet. It is a legal disclosure, and a disclosure styled to
   persuade is the thing a reviewer reads as a dark pattern. */
.consent {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
  /* Space under it as well as over. Butted against the button it read as part
     of the button's label rather than as its own statement, and a disclosure
     that looks like button chrome is a disclosure nobody separates out. */
  margin: 0.75rem 0 1.25rem;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #555;
}

/* Nudged onto the first line of the text rather than centred against a
   paragraph that wraps to four. */
.consent input { margin: 0.15em 0 0; flex: none; }
.consent a { color: inherit; }

/* A rule that gives an element a display must also say how it hides, or the id
   and class selectors here beat the user-agent's [hidden] { display: none }
   and the thing never goes away. Learnt on #acct-in, which showed an empty
   signed-in table to signed-out visitors. */
.consent[hidden] { display: none; }
