/* Rich Text Editor Styles - MINIMAL: Only enable formatting without changing existing styles */

/* Restore proper body line-height after Meyer Reset for consistent paragraph spacing */
body {
    line-height: 1.5 !important;
}

/* Basic text formatting - only what's needed for rich text to work */
.tinymce-content strong,
.tinymce-content b {
    font-weight: bold !important;
}

.tinymce-content em,
.tinymce-content i {
    font-style: italic !important;
}

.tinymce-content u {
    text-decoration: underline !important;
}

/* Banner heading styles - for form name/subtitle in banner area */
.ffe-banner-left-inner .tinymce-content h1 {
    font-size: 60px !important;
    line-height: 65px !important;
    font-weight: 700 !important;
    margin: 0.67em 0 !important;
}

.ffe-banner-left-inner .tinymce-content h2 {
    font-size: 52px !important;
    line-height: 52px !important;
    font-weight: 600 !important;
    margin-bottom: 30px !important;
    margin-top: 0 !important;
    word-wrap: break-word !important;
}

.ffe-banner-left-inner .tinymce-content h3 {
    font-size: 36px !important;
    line-height: 42px !important;
    font-weight: 700 !important;
    margin: 1em 0 !important;
}

.ffe-banner-left-inner .tinymce-content h4 {
    font-size: 28px !important;
    line-height: 34px !important;
    font-weight: 700 !important;
    margin: 1.33em 0 !important;
}

.ffe-banner-left-inner .tinymce-content h5 {
    font-size: 22px !important;
    line-height: 28px !important;
    font-weight: 700 !important;
    margin: 1.67em 0 !important;
}

.ffe-banner-left-inner .tinymce-content h6 {
    font-size: 18px !important;
    line-height: 24px !important;
    font-weight: 700 !important;
    margin: 2.33em 0 !important;
}

/* Form content heading styles - for rich text components in form content */
.ffd-content .tinymce-content h1 {
    font-size: 60px !important;
    line-height: 65px !important;
    font-weight: 700 !important;
    margin: 0.67em 0 !important;
}

.ffd-content .tinymce-content h2 {
    font-size: 52px !important;
    line-height: 52px !important;
    font-weight: 600 !important;
    margin-bottom: 30px !important;
    margin-top: 0 !important;
    word-wrap: break-word !important;
}

.ffd-content .tinymce-content h3 {
    font-size: 36px !important;
    line-height: 42px !important;
    font-weight: 700 !important;
    margin: 1em 0 !important;
}

.ffd-content .tinymce-content h4 {
    font-size: 28px !important;
    line-height: 34px !important;
    font-weight: 700 !important;
    margin: 1.33em 0 !important;
}

.ffd-content .tinymce-content h5 {
    font-size: 22px !important;
    line-height: 28px !important;
    font-weight: 700 !important;
    margin: 1.67em 0 !important;
}

.ffd-content .tinymce-content h6 {
    font-size: 18px !important;
    line-height: 24px !important;
    font-weight: 700 !important;
    margin: 2.33em 0 !important;
}

/* Banner paragraph spacing - matches .ffe-banner-left-inner p (form name/subtitle) */
.ffe-banner-left-inner .tinymce-content p {
    font-size: 20px !important;
    font-weight: 400 !important;
    margin-bottom: 0 !important;
    margin-top: 0 !important;
    word-wrap: break-word !important;
}

/* Form content paragraph spacing - matches .ffd-content p (body copy components) */
.ffd-content .tinymce-content p {
    font-size: 16px !important;
    line-height: 20px !important;
    font-weight: 400 !important;
    margin-bottom: 10px !important;
    margin-top: 0 !important;
    word-wrap: break-word !important;
}

/* Mobile responsive heading styles for banner area */
/* Medium screens (tablets) */
@media screen and (max-width: 991px) {
    .ffe-banner-left-inner .tinymce-content h2 {
        font-size: 40px !important;
        line-height: 50px !important;
    }
    .ffe-banner-left-inner .tinymce-content h1 {
        font-size: 50px !important;
        line-height: 60px !important;
    }
    .ffe-banner-left-inner .tinymce-content h3 {
        font-size: 32px !important;
        line-height: 40px !important;
    }
    
    .ffd-content .tinymce-content h2 {
        font-size: 40px !important;
        line-height: 50px !important;
    }
    .ffd-content .tinymce-content h1 {
        font-size: 50px !important;
        line-height: 60px !important;
    }
    .ffd-content .tinymce-content h3 {
        font-size: 32px !important;
        line-height: 40px !important;
    }
}

/* Small screens (mobile) */
@media screen and (max-width: 767px) {
    .ffe-banner-left-inner .tinymce-content h2 {
        font-size: 30px !important;
        line-height: 40px !important;
    }
    .ffe-banner-left-inner .tinymce-content h1 {
        font-size: 38px !important;
        line-height: 48px !important;
    }
    .ffe-banner-left-inner .tinymce-content h3 {
        font-size: 26px !important;
        line-height: 32px !important;
    }
    .ffe-banner-left-inner .tinymce-content h4 {
        font-size: 22px !important;
        line-height: 28px !important;
    }
    
    .ffd-content .tinymce-content h2 {
        font-size: 30px !important;
        line-height: 40px !important;
    }
    .ffd-content .tinymce-content h1 {
        font-size: 38px !important;
        line-height: 48px !important;
    }
    .ffd-content .tinymce-content h3 {
        font-size: 26px !important;
        line-height: 32px !important;
    }
    .ffd-content .tinymce-content h4 {
        font-size: 22px !important;
        line-height: 28px !important;
    }
}

/* Form header specific styling - pixel-perfect match to actual inspected values */
.text-center.tinymce-content h2 {
    font-size: 52px !important;
    line-height: 52px !important;
    font-weight: 700 !important;
    word-wrap: break-word !important;
    margin-bottom: 20px !important;
    margin-top: 0 !important;
    max-width: 712px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Form header instruction styling - pixel-perfect match to actual inspected values */
.text-center.tinymce-content p {
    font-size: 16px !important;           /* matches .ffd-content p */
    line-height: 20px !important;         /* matches .ffd-content p */
    word-wrap: break-word !important;     /* matches .ffd-content p */
    margin-bottom: 30px !important;       /* matches .ffd-content .form_header_instruction */
    margin-top: 0 !important;
    max-width: 712px !important;          /* matches .form_header_instruction, .form_header_copy */
    margin-left: auto !important;         /* matches margin: 0 auto */
    margin-right: auto !important;        /* matches margin: 0 auto */
    font-weight: 400 !important;          /* ensure normal weight like original */
}

/* Mobile responsive overrides for form header - matches global_form_design.css */
@media screen and (max-width: 479px) {
    .text-center.tinymce-content h2 {
        font-size: 34px !important;
        line-height: 42px !important;
    }
}

@media screen and (max-width: 359px) {
    .text-center.tinymce-content h2 {
        font-size: 30px !important;
        line-height: 40px !important;
    }
}

