/* =========================
   /assets/css/utilities.css
   Por quê: utilitários rápidos e reutilizáveis
   ========================= */

/* Texto */
.u-text-center{ text-align:center; }
.u-text-right{ text-align:right; }
.u-text-muted{ color: var(--muted); }
.u-text-soft{ color:#444; }
.u-text-sm{ font-size:.9rem; }
.kicker{ text-transform:uppercase; letter-spacing:.04em; color:var(--muted); font-size:.85rem; }

/* Espaçamentos rápidos */
.u-mt-1{ margin-top:.25rem; }
.u-mt-2{ margin-top:.5rem; }
.u-mt-3{ margin-top:.75rem; }
.u-mt-4{ margin-top:1rem; }
.u-mt-5{ margin-top:1.5rem; }
.u-mb-1{ margin-bottom:.25rem; }
.u-mb-2{ margin-bottom:.5rem; }
.u-mb-3{ margin-bottom:.75rem; }
.u-mb-4{ margin-bottom:1rem; }
.u-mb-5{ margin-bottom:1.5rem; }
.u-mx-auto{ margin-left:auto; margin-right:auto; }
.u-max-600{ max-width:600px; }
.u-max-640{ max-width:640px; }
.u-max-720{ max-width:720px; }

/* Display & layout */
.u-flex{ display:flex; }
.u-flex-between{ display:flex; justify-content:space-between; align-items:center; }
.u-items-center{ align-items:center; }
.u-gap-2{ gap:8px; }
.u-gap-3{ gap:12px; }
.u-grid-2{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.u-grid-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
@media (max-width:1024px){ .u-grid-4{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .u-grid-2,.u-grid-4{ grid-template-columns:1fr; } }

/* Visibilidade */
.u-hide-mobile{ display:none; }
@media (min-width:901px){ .u-hide-mobile{ display:inline-flex; } .u-hide-desktop{ display:none; } }

/* Links e foco */
a{ color: var(--brand); text-decoration:none; }
a:hover{ opacity:.96; }

/* Cartões rápidos */
.card{
  background:#fff; border:1px solid var(--line);
  border-radius:var(--radius); box-shadow:var(--shadow);
  padding:18px;
}
