.richtextCustom {
    display: flex;
    justify-content: center;
}

.richtext {
    font-family: var(--frm-font-secondary);
    color: var(--frm-body-color);
    font-size: 16px;
}

.richtext h1,
.richtext h2,
.richtext h3,
.richtext h4,
.richtext h5,
.richtext h6 {
    font-family: var(--frm-font-secondary);
    font-weight: 700;
}

.richtext h1 { font-size: 28px; }
.richtext h2 { font-size: 26px; }
.richtext h3 { font-size: 24px; }
.richtext h4 { font-size: 20px; }
.richtext h5 { font-size: 18px; }
.richtext h6 { font-size: 16px; }

.richtext p {
    font-family: var(--frm-font-primary);
    font-size: 16px;
    font-weight: 400;
    color: var(--frm-content-primary);
    line-height: 1.3;
}

.richtext em {
    font-style: italic;
}

.richtext strong {
    font-family: var(--frm-font-secondary);
    font-weight: 600;
    color: var(--frm-content-primary);
}

.richtext ul {
    padding: 0;
}

.richtext ul,
.richtext ol {
    margin-left: 1.5em;
    margin-bottom: 1em;
    color: var(--frm-content-primary);
}

.richtext ul li {
    list-style-type: disc;
    font-family: var(--frm-font-primary);
    font-size: 16px;
    font-weight: 400;
    display: list-item;
    line-height: 1.3;
}

.richtext ul li .bullet-icon {
    font-size: 24px;
}

.richtext ul li.bullet-icon {
    display: flex;
    gap: 5px;
}

.richtext ul li .bullet-icon.icon-link {
    border-bottom: none;
}

.richtext ol li {
    list-style-type: decimal;
    font-family: var(--frm-font-primary);
    font-size: 16px;
    font-weight: 400;
}

.richtext a {
    background-color: transparent;
    color: var(--frm-color-neutral-950);
    border: none;
}

.richtext a:hover {
    color: var(--frm-color-secondary-400);
}

.richtext a:focus-visible {
    color: var(--frm-color-secondary-400);
    border: 1px solid var(--frm-color-secondary-400);
    border-radius: 16px;
}

.richtext a:disabled {
    color: var(--frm-color-neutral-500);
    cursor: not-allowed;
}

.richtext table {
    border-collapse: separate;
    border-spacing: 0;
    border: none;
    width: max-content;
    max-width: 100%;
    margin: 0 auto;
    table-layout: auto;
}

@media (max-width: 1023px) {
    .richtext table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        width: max-content;
        max-width: 100%;
    }

    .richtext th,
    .richtext td {
        /*min-width: 224px;*/
        white-space: normal !important;   /* rompe nowrap de literales */
        word-break: break-word;
        font-size: 16px;
        overflow-wrap: anywhere;
    }
}

.richtext caption {
    caption-side: top;
    text-align: center;
    font-family: var(--frm-font-primary);
    font-weight: var(--frm-font-semibold);
    margin-bottom: 12px;
}

.richtext th,
.richtext td {
    padding: 20px 8px;
    text-align: left;
    vertical-align: top;
    border: none;
    box-sizing: border-box;
    white-space: normal;
    word-break: break-word;
    max-width: 250px;
    font-size: 16px;
}

.richtext tbody tr:first-child th {
    background-color: var(--frm-color-brand-600);
    color: var(--frm-color-white);
    font-family: var(--frm-font-primary);
    font-weight: 600;
    font-size: 16px;
}

.richtext tbody td {
    font-size: 16px;
    line-height: 1.3em;
    font-family: var(--frm-font-primary);
}

.richtext tbody tr:nth-child(n + 2):nth-child(even) {
    background-color: var(--frm-color-secondary-50);
}

.richtext tbody tr:first-child th:first-child,
.richtext table tbody tr:first-child th:first-child {
    border-top-left-radius: 16px;
}

.richtext tbody tr:first-child th:last-child,
.richtext table tbody tr:first-child th:last-child {
    border-top-right-radius: 16px;
}

.richtext .text-red {
    color: var(--frm-color-brand-600) !important;
}

.richtext .icon-link {
    color: var(--frm-color-brand-600) !important;
    border-bottom: 1px solid var(--frm-color-brand-600);
    padding-right: 3px;
}

.richtext .icon-link a {
    font-size: 16px;
    font-family: var(--frm-font-primary);
    color: var(--frm-color-brand-600) !important;
}

.richtext .text-gray {
    color: var(--frm-color-neutral-800) !important;
}

.richtext .text-black {
    color: var(--frm-color-black) !important;
}

.richtext .cmp-link__screen-reader-only {
    position: absolute;
    width: 1px;
    clip: rect(0 0 0 0);
    overflow: hidden;
    white-space: nowrap;
}

.richtext .small {
    font-size: 12px;
}

.richtext.frm-redIcon ul li .icon {
    color: var(--frm-content-accent) !important;
}

.richtext.richtext--constrained {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}