/* ==========================================================================
   Utility classes
   ========================================================================== */

.ab-flex { display: flex; }
.ab-flex-col { display: flex; flex-direction: column; }
.ab-aic { align-items: center; }
.ab-jcb { justify-content: space-between; }
.ab-jcc { justify-content: center; }
.ab-gap-sm { gap: 8px; }
.ab-gap   { gap: 16px; }
.ab-gap-lg { gap: 32px; }
.ab-tac { text-align: center; }
.ab-tar { text-align: right; }
.ab-mt   { margin-top: 24px; }
.ab-mt-lg{ margin-top: 48px; }
.ab-mb   { margin-bottom: 24px; }
.ab-mb-lg{ margin-bottom: 48px; }

.ab-pill {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 6px 12px;
    background: var(--ab-frost);
    border: 1px solid var(--ab-line);
    border-radius: 0;
    font-family: var(--ab-font-mono);
    font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase;
    color: var(--ab-ink-500);
}

/* ==========================================================================
   Global override — brand is sharp-edged. Kill ALL border-radius site-wide
   (including 50% circles, 999px pills, every fixed-px round corner).
   Limited to public-facing pages via .ab-body so WP admin chrome stays usable.
   ========================================================================== */
.ab-body, .ab-body *, .ab-body *::before, .ab-body *::after {
    border-radius: 0 !important;
}

.ab-pill--orange {
    background: rgba(255,106,26,0.10);
    border-color: rgba(255,106,26,0.40);
    color: var(--ab-orange-700);
}
.ab-pill--ice {
    background: rgba(0,194,212,0.10);
    border-color: rgba(0,194,212,0.40);
    color: var(--ab-ice-700);
}

.ab-vat { color: var(--ab-ink-400); font-size: 0.78em; font-family: var(--ab-font-mono); letter-spacing: 0.05em; margin-left: 2px; }

/* Reveal animation */
[data-reveal] { opacity: 0; transform: translateY(28px); transition: opacity 0.7s var(--ab-ease-out), transform 0.7s var(--ab-ease-out); }
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }

/* Hidden until JS loads */
[data-jsload] { visibility: hidden; }
body.is-loaded [data-jsload] { visibility: visible; }
