 /* =============================================================================
   RTE BLOCK
   Mobile-first: default → tablet (768px) → desktop (1200px)
   ============================================================================= */

.rte {
    margin-top: -36px;
    padding: 0 20px;
    padding-bottom: 80px;
}

.rte__content {
    background-color: var(--corp-color-white);
    border-radius: 8px;
    border: 1.182px solid rgba(36, 50, 199, 0.20);
    padding: 24px 16px;
}

.rte__content ul{
    list-style: disc;
    padding: 20px;
}

.rte.terms-of-appointment .rte__content a {
    color: var(--corp-color-primary);
    text-decoration-line: underline;
}


.rte :is(h1, h2, h3, h4, h5, h6, .rte__section-heading) {
    color: var(--corp-color-neutral-black);
    font-size: var(--corp-type-mobile-heading-1-regular-font-size);
    font-weight: var(--fw-500);
    line-height: var(--corp-type-mobile-heading-2-medium-line-height);
    margin: 0 0 16px 0;
}

.rte__section-heading strong {
    font-size: var(--corp-type-mobile-heading-1-regular-font-size);
    font-weight: var(--fw-500);
    color: var(--corp-color-neutral-black);
}

.rte__content {
    counter-reset: section-heading;
}

.rte__section-heading {
    counter-increment: section-heading;
}

.rte__section-heading::before {
    content: counter(section-heading) ".  ";
    font-size: var(--corp-type-mobile-heading-1-regular-font-size);
    font-weight: var(--fw-500);
    color: var(--corp-color-neutral-black);
}

.rte__content p {
    color: var(--corp-color-neutral-black);
    font-size: var(--corp-type-mobile-body-1-font-size);
    font-weight: var(--fw-400);
    line-height: var(--corp-type-mobile-body-2-line-height);
    letter-spacing: -0.14px;
    margin: 0 0 16px 0;
}

.rte__content ol {
    counter-reset: main-item;
    list-style: none;
    padding-left: 0;
    margin: 0 0 24px 0;
}

.rte__content ol > li {
    counter-increment: main-item;
    position: relative;
    padding-left: 43px;
    margin-bottom: 16px;
    color: var(--corp-color-neutral-black);
    font-size: var(--corp-type-mobile-body-1-font-size);
    font-weight: var(--fw-400);
    line-height: var(--corp-type-mobile-body-2-line-height);
    letter-spacing: -0.14px;
}

.rte__content ol > li::before {
    content: "(" attr(data-heading) "." counter(main-item) ")";
    position: absolute;
    left: 0;
    font-weight: var(--fw-400);
    white-space: nowrap;
}

.rte__content ol ul {
    list-style: none;
    counter-reset: sub-item;
    margin-top: 8px;
}

.rte__content ol ul li {
    counter-increment: sub-item;
    position: relative;
    padding-left: 25px;
    margin-bottom: 12px;
    font-size: var(--corp-type-mobile-body-1-font-size);
    font-weight: var(--fw-400);
    line-height: var(--corp-type-mobile-body-2-line-height);
    letter-spacing: -0.14px;
    color: var(--corp-color-neutral-black);
}

.rte__content ol ul li::before {
    content: "(" counter(sub-item, lower-roman) ")";
    position: absolute;
    left: 0;
    white-space: nowrap;
}

/* =============================================================================
   TABLET — 768px and above
   ============================================================================= */
@media screen and (width >= 768px) {
    .rte {
        position: relative;
        z-index: 0;
        margin-top: -56px;
        padding: 0 20px;
        padding-bottom: 48px;
        background: transparent;
    }

    .rte::before {
        content: '';
        position: absolute;
        top: 56px;
        left: 0;
        right: 0;
        bottom: -48px;
        background: var(--corp-table-bg);
        z-index: -1;
    }

    .rte__content {
        border-radius: 4.674px;
        padding: 32px;
    }

    .rte :is(h1, h2, h3, h4, h5, h6, .rte__section-heading){
        font-size: var(--corp-type-tablet-heading-lg-font-size);
        line-height: 130%;
        margin-bottom: 16px;
    }

    .rte__content p {
        font-size: var(--corp-type-tablet-body-1-font-size);
        line-height: 140%;
        letter-spacing: -0.36px;
    }

    .rte__content ol > li {
        font-size: var(--corp-type-tablet-body-1-font-size);
        line-height: 140%;
        letter-spacing: -0.36px;
        padding-left: 36px;
    }

    .rte__content ol ul li {
        font-size: var(--corp-type-tablet-body-1-font-size);
        line-height: 140%;
        letter-spacing: -0.36px;
    }
}

/* =============================================================================
   DESKTOP — 1200px and above
   ============================================================================= */
@media screen and (width >= 1200px) {
    .rte {
        margin-top: -76px;
        padding: 0 56px;
        padding-bottom: 80px;
    }

    .rte::before {
        top: 76px;
        bottom: -80px;
    }

    .rte__content {
        border-radius: 8px;
        padding: 60px 64px 60px 60px;
    }

    .rte :is(h1, h2, h3, h4, h5, h6, .rte__section-heading){
        font-size: var(--corp-type-desktop-heading-4-font-size);
        line-height: 120%;
        letter-spacing: -0.4px;
        margin-bottom: 24px;
        margin-top: 0px;
    }

    .rte__section-heading {
        padding-top: 15px;
    }

    .rte__section-heading strong {
        font-size: var(--corp-type-desktop-heading-4-font-size);
        line-height: 120%;
        letter-spacing: -0.4px;
    }

    .rte__section-heading::before {
        content: none;
    }

    .rte__content p {
        font-size: var(--corp-type-desktop-body-lg-font-size);
        line-height: 150%;
        letter-spacing: -0.16px;
        margin-bottom: 24px;
    }

    .rte__content ol {
        margin-bottom: 32px;
    }

    .rte__content ol > li {
        font-size: var(--corp-type-desktop-body-lg-font-size);
        line-height: 150%;
        letter-spacing: -0.16px;
        margin-bottom: 24px;
        padding-left: 50px;
    }

    .rte__content ol ul li {
        font-size: var(--corp-type-desktop-body-lg-font-size);
        line-height: 150%;
        letter-spacing: -0.16px;
        margin-bottom: 16px;
    }
}