/* Utility helpers (token-driven) */
.u-flow > * + * {
    margin-top: var(--space-4);
}

.u-center {
    text-align: center;
}

.u-mt-0 {
    margin-top: 0;
}

.u-mb-6 {
    margin-bottom: var(--space-6);
}

.u-mt-4 {
    margin-top: var(--space-4);
}

.u-mt-5 {
    margin-top: var(--space-5);
}

.u-hidden {
    display: none !important;
}

.u-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.u-cluster {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    align-items: center;
}

.u-stack {
    display: grid;
    gap: var(--space-3);
}

.text-danger {
    color: var(--color-danger);
}

.masonry {
    columns: 4;
    column-gap: var(--space-5);
}

.masonry > * {
    break-inside: avoid;
    margin-bottom: var(--space-5);
}

@media (max-width: 1024px) {
    .masonry {
        columns: 3;
    }
}

@media (max-width: 768px) {
    .masonry {
        columns: 2;
    }
}

@media (max-width: 520px) {
    .masonry {
        columns: 1;
    }
}
