/* ============================================================
   EF CORE — utilitários mínimos que substituíam o Bootstrap CSS.
   Mantidos apenas os realmente usados no site.
   ============================================================ */

/* ---- Grid dos cards de rede (antigo row g-3 / col-12 col-md-6) ---- */
.ef-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-top: 0.5rem;
}
@media (min-width: 768px) {
  .ef-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---- Flex helpers ---- */
.d-flex { display: flex; }
.align-items-start { align-items: flex-start; }
.align-items-center { align-items: center; }

/* ---- Espaçamentos usados ---- */
.mb-0 { margin-bottom: 0; }
.mb-1 { margin-bottom: 0.25rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-3 { margin-bottom: 1rem; }
.mt-2 { margin-top: 0.5rem; }
.mt-4 { margin-top: 1.5rem; }
.my-4 { margin-top: 1.5rem; margin-bottom: 1.5rem; }
.ms-auto { margin-left: auto; }
.me-3 { margin-right: 1rem; }

/* ---- Tipografia / texto ---- */
.h5 {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0 0 0.5rem;
}
.text-center { text-align: center; }
.text-muted { color: var(--muted, #6b7280); }

/* ---- Opacity ---- */
.opacity-75 { opacity: 0.75; }

/* ---- Botão pequeno (usado com .btn-cta nos cards de rede) ---- */
.btn-sm {
  padding: 7px 16px !important;
  font-size: 0.85rem !important;
}

/* ---- Spinner (usado no post picker e buscas) ---- */
.spinner-border {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: -0.125em;
  border: 0.25em solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: efSpin 0.75s linear infinite;
}
.spinner-border-sm {
  width: 1rem;
  height: 1rem;
  border-width: 0.18em;
}
@keyframes efSpin { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
  .spinner-border { animation-duration: 1.5s; }
}
