body {
    line-height: 1.8;
    color: #111;
}

.card-body,
ul li,
ol li,
p {
    color: #111;
}

h1 {
    font-size: 1.75rem;
}

h2,
h2.h3 {
    font-size: 1.5rem;
}

h3,
h3.h5 {
    font-size: 1.25rem;
}

/* Content area styling - target .card-body để không ảnh hưởng layout */
.card-body h1 {
    padding-top: 0.25rem;
    padding-bottom: 0.5rem;
}

@media (min-width: 576px) {
    .card-body h1 {
        padding-bottom: 1rem;
    }
}

@media (min-width: 992px) {
    .card-body h1 {
        padding-top: 0.5rem;
        padding-bottom: 1.5rem;
    }
}

.card-body h2 {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
}

.card-body h2:first-child {
    margin-top: 0;
    padding-top: 0;
}

.card-body h3 {
    margin-bottom: 0.5rem;
}

.card-body h3:not(:first-child) {
    margin-top: 1rem;
}

.card-body h3.h6 {
    font-size: 1rem;
}

/* Paragraphs */
.card-body p {
    margin-bottom: 1rem;
}

.card-body p:last-child {
    margin-bottom: 0;
}

.card-body p.subtitle {
    font-size: 1.125rem;
    color: #6c757d;
    margin-bottom: 1.5rem;
}

.card-body p.semibold {
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.card-body p.image-caption {
    font-size: 0.875rem;
    color: #6c757d;
    font-style: italic;
    margin-bottom: 1.5rem;
}

.card-body p.small {
    font-size: 0.875rem;
}

/* Lists */
.card-body ul,
.card-body ol {
    padding-left: 1.5rem;
    margin-bottom: 1.5rem;
}

.card-body ul:last-child,
.card-body ol:last-child {
    margin-bottom: 0;
}

.card-body ul.small,
.card-body ol.small {
    font-size: 0.875rem;
}

.card-body li {
    margin-bottom: 0.5rem;
}

.card-body li:last-child {
    margin-bottom: 0;
}

.card-body li.small {
    margin-bottom: 0.25rem;
}