/* ⚠ CÓPIA VENDORIZADA de "Nova Identidade 2026/css/utilities.css" (2026-08-17) —
   ver aviso completo em design-tokens.css deste mesmo diretório. */
/* ==========================================================================
   INDPARTS — BRAND SYSTEM 2026 · utilities.css
   Fase 2 · Digital Design System (BETA)

   Helpers mínimos, de propósito. NÃO é um framework utilitário gigante —
   se uma necessidade de layout se repetir 3+ vezes, ela deveria virar
   componente em components.css, não uma nova classe aqui (ver Governança,
   regra 2, em 02-digital-design-system.html).
   ========================================================================== */

.u-container{ max-width:var(--container-max-lg); margin-inline:auto; padding-inline:var(--container-padding-inline); }
.u-container--xl{ max-width:var(--container-max-xl); }

.u-sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.u-skip-link{ position:absolute; left:-9999px; top:0; background:var(--color-text); color:#fff; padding:10px 16px; z-index:var(--z-toast); border-radius:0 0 var(--radius-xs) 0; }
.u-skip-link:focus{ left:0; }

.u-flex{ display:flex; }
.u-flex-center{ display:flex; align-items:center; justify-content:center; }
.u-flex-between{ display:flex; align-items:center; justify-content:space-between; }
.u-flex-wrap{ flex-wrap:wrap; }
.u-stack{ display:flex; flex-direction:column; gap:var(--space-4); }
.u-gap-2{ gap:var(--space-2); } .u-gap-3{ gap:var(--space-3); } .u-gap-4{ gap:var(--space-4); } .u-gap-5{ gap:var(--space-5); }

.u-grid-2{ display:grid; grid-template-columns:1fr; gap:var(--space-5); }
.u-grid-3{ display:grid; grid-template-columns:1fr; gap:var(--space-5); }
@media (min-width:768px){ .u-grid-2{ grid-template-columns:1fr 1fr; } .u-grid-3{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:1024px){ .u-grid-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-5); } }

.u-text-center{ text-align:center; }
.u-mono{ font-family:var(--font-mono); }
.u-muted{ color:var(--color-text-muted); }
.u-nowrap{ white-space:nowrap; }

.u-hidden-mobile{ display:none; }
@media (min-width:768px){ .u-hidden-mobile{ display:initial; } .u-hidden-desktop{ display:none; } }

.u-section{ padding-block:var(--space-9); }
.u-section--tight{ padding-block:var(--space-7); }
