/*
 * B9 Website Core
 *
 * Public Web layout primitives.
 *
 * Responsibilities:
 * - provide reusable structural layout helpers;
 * - apply the shared Public container width and gutter tokens;
 * - keep page composition independent from fixed Header/Content/Footer assumptions.
 *
 * Does NOT:
 * - style individual components;
 * - define Theme Editor behavior;
 * - define page-specific composition;
 * - contain module-specific presentation.
 */

.b9-container {
    width: min(
        calc(100% - (var(--b9-container-gutter) * 2)),
        var(--b9-container-width)
    );
    margin-inline: auto;
}

.b9-section {
    width: 100%;
}

.b9-stack {
    display: flex;
    flex-direction: column;
    gap: var(--b9-space-lg);
}

.b9-row {
    display: flex;
    flex-wrap: wrap;
    gap: var(--b9-space-lg);
}

.b9-grid {
    display: grid;
    gap: var(--b9-space-lg);
}

.b9-center {
    margin-inline: auto;
}

.b9-full-width {
    width: 100%;
}

.b9-spacer {
    min-height: var(--b9-space-lg);
}

.b9-divider {
    width: 100%;
    margin: 0;
    border: 0;
    border-top: 1px solid var(--b9-color-border);
}
