.content-container {
    max-width: 1200px;
    margin: 0 auto;
}

.text-content p {
    margin-bottom: 1rem;
}

.single-column .text-content {
    max-width: 600px;
    margin: 0 auto;
    text-indent: 20px;
    line-height: 1.6;
}

.two-column .text-content {
    column-count: 2;
    column-gap: 20px;
    line-height: 1.6;
}

.three-column .text-content {
    column-count: 3;
    column-gap: 20px;
    line-height: 1.6;
}

.wide-right-column .text-content {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 20px;
}

.wide-right-column .text-content .left-column {
    font-weight: bold;
    text-align: justify;
    line-height: 1.6;
}

.wide-right-column .text-content .right-column {
    font-weight: normal;
    text-align: justify;
    line-height: 1.6;
}

.optional-header {
    margin-bottom: 16px;
}

.optional-header h3 {
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 4px;
}

.optional-header h4 {
    font-size: 1.25rem;
    font-weight: normal;
    color: #555;
}

@media (max-width: 640px) {
    .single-column .text-content {
        max-width: 100%;
        padding: 0 16px;
    }

    .two-column .text-content,
    .three-column .text-content {
        column-count: 1;
        column-gap: 0;
        max-width: 100%;
        padding: 0 16px;
    }

    .wide-right-column .text-content {
        display: block;
        max-width: 100%;
        padding: 0 16px;
    }

    .wide-right-column .text-content .left-column,
    .wide-right-column .text-content .right-column {
        margin-bottom: 16px;
        text-align: left;
    }

    .optional-header h3,
    .optional-header h4 {
        text-align: left;
        margin-bottom: 8px;
    }
}
