/* Servicios Menetan — helpers.css — Utilidades y animaciones */

/* ─────────────────────────────────────────────
   ANIMACIONES DE ENTRADA (scroll)
   ───────────────────────────────────────────── */

.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }

/* ─────────────────────────────────────────────
   UTILIDADES GENERALES
   ───────────────────────────────────────────── */

/* Texto */
.text-center   { text-align: center; }
.text-left     { text-align: left; }
.text-right    { text-align: right; }
.text-navy     { color: var(--color-navy); }
.text-gold     { color: var(--color-gold); }
.text-muted    { color: var(--text-muted); }
.text-white    { color: var(--color-white); }
.text-sm       { font-size: var(--size-sm); }
.text-xs       { font-size: var(--size-xs); }
.text-lg       { font-size: var(--size-lg); }
.font-bold     { font-weight: 700; }
.font-display  { font-family: var(--font-display); }
.uppercase     { text-transform: uppercase; letter-spacing: 0.08em; }

/* Espaciado */
.mt-0  { margin-top: 0; }
.mb-0  { margin-bottom: 0; }
.mb-4  { margin-bottom: var(--space-4); }
.mb-8  { margin-bottom: var(--space-8); }
.mt-8  { margin-top: var(--space-8); }
.mt-12 { margin-top: var(--space-12); }

/* Visibilidad */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.d-none   { display: none; }
.d-block  { display: block; }
.d-flex   { display: flex; }

/* Contenedor estrecho para texto legal / FAQ */
.container--narrow {
  max-width: 860px;
  margin-inline: auto;
  padding-inline: var(--container-pad);
}

.container--wide {
  max-width: 1400px;
  margin-inline: auto;
  padding-inline: var(--container-pad);
}

/* Fondo decorativo */
.bg-white   { background-color: var(--color-white); }
.bg-light   { background-color: var(--color-gray-50); }
.bg-navy    { background-color: var(--color-navy); }

/* Bordes redondeados */
.rounded-sm { border-radius: var(--radius-sm); }
.rounded-md { border-radius: var(--radius-md); }
.rounded-lg { border-radius: var(--radius-lg); }
.rounded-xl { border-radius: var(--radius-xl); }

/* Sombras */
.shadow-sm { box-shadow: var(--shadow-sm); }
.shadow-md { box-shadow: var(--shadow-md); }
.shadow-lg { box-shadow: var(--shadow-lg); }

/* Flex helpers */
.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.flex-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.gap-4  { gap: var(--space-4); }
.gap-6  { gap: var(--space-6); }
.gap-8  { gap: var(--space-8); }