/* ============================================================================
   AZ FAST BATH — UTILITIES
   Small helpers + scroll-entrance animations.
   ============================================================================ */

/* ── Spacing helpers ─────────────────────────────────────────────────────── */
.azfb-mt-0  { margin-top: 0 !important; }
.azfb-mt-4  { margin-top: var(--azfb-sp-4); }
.azfb-mt-8  { margin-top: var(--azfb-sp-8); }
.azfb-mt-12 { margin-top: var(--azfb-sp-12); }
.azfb-mb-0  { margin-bottom: 0 !important; }
.azfb-mb-8  { margin-bottom: var(--azfb-sp-8); }
.azfb-mb-12 { margin-bottom: var(--azfb-sp-12); }

/* ── Text helpers ────────────────────────────────────────────────────────── */
.azfb-text-center { text-align: center; }
.azfb-text-muted  { color: var(--azfb-muted); }
.azfb-text-gold   { color: var(--azfb-gold); }

/* ── Section seam spacing modifiers ──────────────────────────────────────────
   Reusable across every page. Apply via a block's Additional CSS class (or the
   page builder's className) to collapse the doubled padding where two sections
   stack — without changing the base section rhythm the homepage relies on.
   ──────────────────────────────────────────────────────────────────────────── */
.azfb-section.azfb-section--pt-tight { padding-top: clamp(30px, 4.5vw, 56px); }
.azfb-section.azfb-section--pb-tight { padding-bottom: clamp(30px, 4.5vw, 56px); }
.azfb-section.azfb-section--pt-none  { padding-top: 0; }
.azfb-section.azfb-section--pb-none  { padding-bottom: 0; }

/* ── Scroll-entrance animation ───────────────────────────────────────────── */
.azfb-animate {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity var(--azfb-dur-slow) var(--azfb-ease),
              transform var(--azfb-dur-slow) var(--azfb-ease);
}
.azfb-animate.is-visible { opacity: 1; transform: none; }
.azfb-animate.d1 { transition-delay: 0.08s; }
.azfb-animate.d2 { transition-delay: 0.16s; }
.azfb-animate.d3 { transition-delay: 0.24s; }
.azfb-animate.d4 { transition-delay: 0.32s; }

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce) {
  .azfb-animate { opacity: 1 !important; transform: none !important; transition: none !important; }
  .azfb-hero__bg { transition: none !important; }
}

/* ── In-editor niceties ──────────────────────────────────────────────────── */
/* Give server-rendered blocks breathing room inside the editor canvas */
.editor-styles-wrapper .azfb-section { margin: 0; }
