/* ============================================================
   RTE Styles
   Used by Umbraco 17 Tiptap style menu
   ============================================================ */

.wrapped-RTE .rte-h2,
.rte-h2 {
    margin: 1.5rem 0 .75rem;
    color: #04345C;
    font-family: var(--bs-body-font-family);
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 800;
    line-height: 1.2;
}

.wrapped-RTE .rte-h3,
.rte-h3 {
    margin: 1.35rem 0 .65rem;
    color: #04345C;
    font-family: var(--bs-body-font-family);
    font-size: clamp(1.5rem, 2.4vw, 1.875rem);
    font-weight: 800;
    line-height: 1.25;
}

.wrapped-RTE .rte-h4,
.rte-h4 {
    margin: 1.25rem 0 .6rem;
    color: #04345C;
    font-family: var(--bs-body-font-family);
    font-size: clamp(1.25rem, 2vw, 1.5rem);
    font-weight: 700;
    line-height: 1.3;
}

.wrapped-RTE .rte-h5,
.rte-h5 {
    margin: 1.15rem 0 .5rem;
    color: #04345C;
    font-family: var(--bs-body-font-family);
    font-size: clamp(1.0625rem, 1.6vw, 1.25rem);
    font-weight: 700;
    line-height: 1.35;
}

.wrapped-RTE .rte-body,
.rte-body {
    margin: 0 0 1rem;
    color: #333333;
    font-family: var(--bs-body-font-family);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.65;
}

.wrapped-RTE .rte-highlight,
.rte-highlight {
    margin: 1.25rem 0;
    padding: 1rem 1.25rem;
    color: #333333;
    font-family: var(--bs-body-font-family);
    font-size: 1rem;
    line-height: 1.6;
    background: #fff8e1;
    border-left: 5px solid #FFC107;
    border-radius: .375rem;
}

.wrapped-RTE .rte-highlight strong,
.rte-highlight strong {
    color: #04345C;
}

/* Button-style RTE links */
.wrapped-RTE a.rte-button,
a.rte-button {
    display: inline-block;
    margin: .5rem 0 1rem;
    padding: .625rem 1rem;
    color: #ffffff !important;
    font-family: var(--bs-body-font-family);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    text-decoration: none !important;
    background-color: #04345C;
    border: 2px solid #04345C;
    border-radius: .375rem;
    box-shadow: 0 .25rem .75rem rgba(4, 52, 92, 0.18);
    transition:
        color .15s ease-in-out,
        background-color .15s ease-in-out,
        border-color .15s ease-in-out,
        box-shadow .15s ease-in-out,
        transform .15s ease-in-out;
}

.wrapped-RTE a.rte-button:hover,
a.rte-button:hover {
    color: #ffffff !important;
    text-decoration: none !important;
    background-color: #005E3D;
    border-color: #005E3D;
    box-shadow: 0 .35rem 1rem rgba(0, 94, 61, 0.25);
    transform: translateY(-1px);
}

.wrapped-RTE a.rte-button:focus,
a.rte-button:focus {
    color: #ffffff !important;
    outline: 3px solid #FFC107;
    outline-offset: 3px;
}

.wrapped-RTE a.rte-button:active,
a.rte-button:active {
    background-color: #04345C;
    border-color: #04345C;
    box-shadow: none;
    transform: translateY(0);
}

/* Preserve normal link behavior for non-button links */
.wrapped-RTE a:not(.rte-button) {
    text-decoration: underline;
}

.RTE :is(dir, menu, ol) ol {
    list-style-type: lower-alpha;
}

.RTE :is(dir, menu, ol) :is(dir, menu, ol) ol {
    list-style-type: lower-roman;
}

.RTE :is(dir, menu, ol) :is(dir, menu, ol) :is(dir, menu, ol) ol {
    list-style-type: upper-alpha;
}

