/* =========================================================
   ZELO / SouZelo — utilities.css
   Helpers e classes utilitárias genéricas
========================================================= */

/* ── Estados ── */
.is-hidden{ display: none !important; }
.is-active{ /* definido contextualmente */ }
.is-unread{ /* definido contextualmente */ }

/* ── Espaçamentos (Margin Top) ── */
.gi-mt-4  { margin-top: 4px;  }
.gi-mt-6  { margin-top: 6px;  }
.gi-mt-8  { margin-top: 8px;  }
.gi-mt-10 { margin-top: 10px; }
.gi-mt-12 { margin-top: 12px; }
.gi-mt-16 { margin-top: 16px; }
.gi-mt-20 { margin-top: 20px; }
.gi-mt-24 { margin-top: 24px; }

/* ── Espaçamentos (Margin Bottom) ── */
.gi-mb-4  { margin-bottom: 4px;  }
.gi-mb-6  { margin-bottom: 6px;  }
.gi-mb-8  { margin-bottom: 8px;  }
.gi-mb-10 { margin-bottom: 10px; }
.gi-mb-12 { margin-bottom: 12px; }
.gi-mb-16 { margin-bottom: 16px; }
.gi-mb-20 { margin-bottom: 20px; }
.gi-mb-24 { margin-bottom: 24px; }

/* ── Padding ── */
.gi-p-4   { padding: 4px;  }
.gi-p-8   { padding: 8px;  }
.gi-p-12  { padding: 12px; }
.gi-p-16  { padding: 16px; }
.gi-p-20  { padding: 20px; }
.gi-p-24  { padding: 24px; }

/* ── Padding interno de listas/cards vazios ── */
.gi-p-list { padding: 14px 18px; }

/* ── Display ── */
.gi-d-flex   { display: flex; }
.gi-d-grid   { display: grid; }
.gi-d-inline { display: inline; }
.gi-d-block  { display: block; }
.gi-d-none   { display: none; }

/* ── Flex Direction ── */
.gi-flex-row    { flex-direction: row; }
.gi-flex-column { flex-direction: column; }

/* ── Flex Wrap ── */
.gi-flex-wrap   { flex-wrap: wrap; }
.gi-flex-nowrap { flex-wrap: nowrap; }

/* ── Align Items ── */
.gi-items-center  { align-items: center; }
.gi-items-start   { align-items: flex-start; }
.gi-items-end     { align-items: flex-end; }
.gi-items-stretch { align-items: stretch; }

/* ── Justify Content ── */
.gi-justify-start   { justify-content: flex-start; }
.gi-justify-center  { justify-content: center; }
.gi-justify-end     { justify-content: flex-end; }
.gi-justify-between { justify-content: space-between; }
.gi-justify-around  { justify-content: space-around; }

/* ── Gap ── */
.gi-gap-4  { gap: 4px;  }
.gi-gap-6  { gap: 6px;  }
.gi-gap-8  { gap: 8px;  }
.gi-gap-10 { gap: 10px; }
.gi-gap-12 { gap: 12px; }
.gi-gap-14 { gap: 14px; }
.gi-gap-16 { gap: 16px; }
.gi-gap-20 { gap: 20px; }

/* ── Text Alignment ── */
.gi-text-left   { text-align: left; }
.gi-text-center { text-align: center; }
.gi-text-right  { text-align: right; }

/* ── Overflow e Word Break ── */
.gi-overflow-wrap { overflow-wrap: anywhere; }
.gi-word-break    { word-break: break-word; }

/* ── Width ── */
.gi-w-full { width: 100%; }
.gi-w-auto { width: auto; }

/* ── Min Width ── */
.gi-min-w-0 { min-width: 0; }

/* ── Grid Templates ── */
.gi-grid-3{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

@media (max-width: 720px){
  .gi-grid-3{
    grid-template-columns: 1fr;
  }
}

/* ── Form Section ── */
.gi-form-section{
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.gi-form-section-title{
  font-size: 14px;
  font-weight: 700;
  color: var(--text, #0f172a);
}