/* Phase 1 shared layouts. */

.theme-page-shell {
    width: min(100%, var(--theme-page-max-width));
    margin-inline: auto;
}

.theme-section-stack > * + * {
    margin-top: 16px;
}

.theme-page-gutter {
    padding-inline: var(--theme-content-gutter);
}

.theme-split-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
}

.theme-modal-columns {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.theme-modal-column {
    flex: 1;
    min-width: 220px;
}