/*
 * Utility classes. The primitives below (.container, .eyebrow, .meta,
 * .screen-reader-text, .skip-link) are extracted verbatim from the
 * original style.css. New general-purpose utilities added by Sprint 7
 * follow after them.
 *
 * @package TFGadgets
 */

.container{
  max-width:var(--container);
  margin:0 auto;
  padding:0 24px;
}
.eyebrow{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--accent);
}
.meta{
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--text-faint);
  letter-spacing:0.02em;
}
.screen-reader-text{
  position:absolute !important;
  width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px);
  white-space:nowrap;
}
.skip-link{
  position:absolute; left:-9999px; top:0; background:var(--accent); color:var(--bg); padding:10px 16px; z-index:var(--z-skip-link);
}
.skip-link:focus{ left:16px; top:16px; }

/*
 * NEW general-purpose utilities (Sprint 7). Each one exists because the
 * pattern it replaces was found duplicated 3+ times across the codebase
 * during this sprint's audit — not speculative additions.
 */

/* Found identically in .search-form, several icon-buttons, and
   .footer-social a: display:flex; align-items:center; justify-content:center. */
.u-flex-center{ display:flex; align-items:center; justify-content:center; }

/* Single-line ellipsis truncation — not currently used anywhere, but
   the breadcrumbs [aria-current="page"] rule in components/breadcrumbs.css
   hand-rolls the same three properties; kept as a documented available
   utility rather than retrofitted there this sprint (same "don't touch
   shipped markup" reasoning as buttons/badges/forms). */
.u-truncate{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* Alias of .screen-reader-text above, under the "u-" naming convention
   this sprint introduces for new utilities. NOT a replacement —
   .screen-reader-text stays exactly as-is since it's already referenced
   by class name in six template files; this alias exists only so new
   markup written after Sprint 7 can follow one consistent utility
   naming convention going forward. */
.u-visually-hidden{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }

/* Shared 720px content-column utility (article/breadcrumbs/TOC/share/author-box/prev-next all align to this). */
.article-col{
	max-width:720px;
	margin:0 auto;
}
