/**
 * Elementor Text Editor Widget Styles
 * Scoped exclusively to .elementor-widget-text-editor
 */

.elementor-widget-text-editor,
.elementor-widget-theme-post-content:not(:has(.elementor-widget)) {

    /* Reset text-box trimming from global typography */
    h1, h2, h3, h4, h5, h6, p {
        text-box-trim: unset;
        text-box-edge: unset;
    }

     h1, h2, h3, h4, h5, h6 {
        span {
            font-weight: inherit !important;
        }
     }

     .hs-cta-embed {
        iframe {
            border: none !important;
        }
     }

    /* Hide empty paragraphs */
    p:empty {
        display: none;
    }

    /* Paragraphs */
    p {
        font-size: var(--font-size--body-m);
        line-height: 1.5;
        margin-bottom: var(--space-16);

        &:last-child {
            margin-bottom: 0;
        }
    }

    /* Headings */
    h1 {
        font-size: var(--font-size--h1);
        line-height: 1;
        font-weight: var(--font-weight--bold);
        margin-bottom: var(--space-24);
    }

    h2 {
        font-size: var(--font-size--h2);
        line-height: 1.1;
        font-weight: var(--font-weight--bold);
        margin-bottom: var(--space-20);
    }

    h3 {
        font-size: var(--font-size--h3);
        line-height: 1.1;
        font-weight: var(--font-weight--semibold);
        margin-bottom: var(--space-16);
    }

    h4 {
        font-size: var(--font-size--h4);
        line-height: 1.1;
        font-weight: var(--font-weight--semibold);
        margin-bottom: var(--space-16);
    }

    h5 {
        font-size: var(--font-size--h5);
        line-height: 1.1;
        font-weight: var(--font-weight--medium);
        margin-bottom: var(--space-12);
    }

    h6 {
        font-size: var(--font-size--h6);
        line-height: 1.1;
        font-weight: var(--font-weight--medium);
        margin-bottom: var(--space-12);
    }

    /* Links */
    a {
        color: var(--color-brand--kind_blue_medium);
        text-decoration: underline;
        transition: color var(--timing--transition-duration) var(--timing--transition-function);

        &:hover,
        &:focus {
            color: var(--color-brand--kind_blue_bold);
        }
    }

    /* Strong & Emphasis */
    strong,
    b {
        font-weight: var(--font-weight--semibold);
    }

    em,
    i {
        font-style: italic;
    }

    /* Unordered Lists */
    ul {
        list-style-type: disc;
        padding-left: var(--space-24);
        margin-bottom: var(--space-16);

        li {
            font-size: var(--font-size--body-m);
            line-height: 1.5;
            margin-bottom: var(--space-8);

            &:last-child {
                margin-bottom: 0;
            }
        }

        ul {
            list-style-type: circle;
            margin-top: var(--space-8);
            margin-bottom: 0;
        }
    }

    /* Ordered Lists */
    ol {
        list-style-type: decimal;
        padding-left: var(--space-24);
        margin-bottom: var(--space-16);

        li {
            font-size: var(--font-size--body-m);
            line-height: 1.5;
            margin-bottom: var(--space-8);

            &:last-child {
                margin-bottom: 0;
            }
        }

        ol {
            list-style-type: lower-alpha;
            margin-top: var(--space-8);
            margin-bottom: 0;
        }
    }

    /* Blockquote */
    blockquote {
        border-left: 4px solid var(--color-brand--kind_blue_medium);
        padding-left: var(--space-20);
        margin: var(--space-24) 0;
        font-style: italic;
        color: var(--color-neutral-black--neutral_70);

        p {
            margin-bottom: var(--space-8);

            &:last-child {
                margin-bottom: 0;
            }
        }
    }

    /* Horizontal Rule */
    hr {
        border: none;
        border-top: 1px solid var(--color-neutral-beige--neutral_20);
        margin: var(--space-32) 0;
    }
}

/* Single Blog Post Content Styles */
.single-post .elementor-widget-theme-post-content,
.single-lexicon .elementor-widget-theme-post-content {
    h2 {
        font-size: var(--font-size--h4, 36px);
        font-weight: var(--font-weight--semibold, 600);
        line-height: 1.1;
        letter-spacing: 0.3px;
        margin-block: unset !important;
        margin-top: var(--grid-padding--l, 48px) !important;
        margin-bottom: var(--space-20) !important;
        padding-top: var(--grid-padding--l, 48px);
        position: relative;

        &::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 60px;
            height: 3px;
            background-color: var(--color-brand--kind_blue_raw, #0c111d);
        }
    }
    h3 {
        font-size: var(--font-size--h5, 28px);
        font-weight: var(--font-weight--semibold, 600);
        line-height: 1.3;
        letter-spacing: 0.3px;
        color: var(--color-brand--kind_blue_raw, #0c111d);
        margin-block: unset !important;
        margin-top: var(--space-24, 24px) !important;
        margin-bottom: var(--space-16, 16px) !important;
    }
    h4 {
        font-size: var(--font-size--h6, 22px);
        font-weight: var(--font-weight--semibold, 600);
        line-height: 1.3;
        letter-spacing: 0.3px;
        color: var(--color-brand--kind_blue_raw, #0c111d);
        margin-block: unset !important;
        margin-top: var(--space-20, 20px) !important;
        margin-bottom: var(--space-12, 12px) !important;
    }
    h5 {
        font-size: 18px;
        font-weight: var(--font-weight--semibold, 600);
        line-height: 1.3;
        letter-spacing: 0.3px;
        color: #949494;
        margin-block: unset !important;
        margin-top: var(--space-12, 12px) !important;
        margin-bottom: var(--space-8, 8px) !important;
    }

    img {
        border-radius: var(--radius-4, 4px);
    }

    .vc_empty_space {
        display: none;
    }
}

/* Dark Mode Support */
.dark .elementor-widget-text-editor,
.elementor-widget-text-editor.dark {

    a {
        color: var(--color-neutral-white--neutral_0);

        &:hover,
        &:focus {
            color: var(--color-neutral-white--neutral_bright_white);
        }
    }

    blockquote {
        border-left-color: var(--color-neutral-white--neutral_0);
        color: var(--color-alpha--white_alpha_75);
    }

    hr {
        border-top-color: var(--color-neutral-black--neutral_70);
    }
}

/* Responsive: Tablet (768px - 991px) */
@media (min-width: 768px) and (max-width: 991px) {
    .elementor-widget-text-editor {
        h1 {
            margin-bottom: var(--space-20);
        }

        h2 {
            margin-bottom: var(--space-16);
        }

        h3, h4 {
            margin-bottom: var(--space-12);
        }

        h5, h6 {
            margin-bottom: var(--space-8);
        }

        blockquote {
            margin: var(--space-20) 0;
        }

        hr {
            margin: var(--space-24) 0;
        }
    }
}

/* Responsive: Mobile (max 767px) */
@media (max-width: 767px) {
    .elementor-widget-text-editor {
        h1 {
            margin-bottom: var(--space-16);
        }

        h2 {
            margin-bottom: var(--space-12);
        }

        h3, h4 {
            margin-bottom: var(--space-8);
        }

        h5, h6 {
            margin-bottom: var(--space-6);
        }

        p {
            margin-bottom: var(--space-12);
        }

        ul, ol {
            margin-bottom: var(--space-12);
        }

        blockquote {
            margin: var(--space-16) 0;
            padding-left: var(--space-16);
        }

        hr {
            margin: var(--space-20) 0;
        }
    }
}

/**
 * Legacy VC Toggle/Accordion Styles
 * For imported content from old page builder
 */

.vc_toggle {
    margin-bottom: var(--space-16);
    background: transparent;
    overflow: hidden;
}

.vc_toggle_title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;
}

.vc_toggle_title h4 {
    margin: 0;
    font-size: var(--font-size--body-xl) !important;
    line-height: 1.1;
    font-weight: var(--font-weight--semibold);
    color: var(--color-brand--kind_blue_raw, #0c111d);
    flex: 1;
}

/* Chevron Icon - replaces original .vc_toggle_icon */
.vc_toggle_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: var(--color-brand--kind_blue_raw, #0c111d);
    transition: transform var(--timing--transition-duration, 0.15s) var(--timing--transition-function, ease-out);
    flex-shrink: 0;
}

.vc_toggle_icon::before {
    content: '';
    display: block;
    width: 24px;
    height: 24px;
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 9L12 15L18 9' stroke='%230c111d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* Content Area */
.vc_toggle_content {
    max-height: 0;
    overflow: hidden;
    padding: 0;
    transition: max-height 0.3s ease-out, padding 0.3s ease-out;
}

.vc_toggle_content p {
    margin: 0;
    font-size: var(--font-size--body-m) !important;
    line-height: 1.6;
    color: var(--color-neutral-black--neutral_70, #4a4a4a);
}

.vc_toggle_content p span {
    font-weight: inherit !important;
}

/* Open State */
.vc_toggle.is-open .vc_toggle_icon {
    transform: rotate(180deg);
}

.vc_toggle.is-open .vc_toggle_content {
    max-height: 1000px;
    padding: var(--space-16, 16px) 0;
    padding-top: 0;
}

/* Mobile Adjustments */
@media (max-width: 767px) {
    .vc_toggle_title {
        padding: var(--space-12, 12px) 0;
    }

    .vc_toggle_title h4 {
        font-size: var(--font-size--h6);
    }

    .vc_toggle_icon {
        width: 32px;
        height: 32px;
    }

    .vc_toggle_icon::before {
        width: 20px;
        height: 20px;
    }

    .vc_toggle_content {
        padding: 0;
    }

    .vc_toggle.is-open .vc_toggle_content {
        padding: var(--space-12, 12px) 0;
        padding-top: 0;
    }
}

/**
 * Legacy Blog Infobox Styles
 * For imported content from old page builder
 */

.blog-infobox {
    background: #E4E6EE;
    border-radius: 24px;
    margin-top: var(--space-40, 40px);
    margin-bottom: var(--space-24);
}

.blog-infobox-inner {
    padding: var(--space-32, 32px);
}

.blog-infobox .headline-infobox,
.blog-infobox .infobox-headline-content {
    font-size: var(--font-size--h4);
    line-height: 1.1;
    font-weight: var(--font-weight--semibold);
    color: var(--color-brand--kind_blue_raw, #0c111d);
    margin-bottom: var(--space-16);
}

.blog-infobox p {
    font-size: var(--font-size--body-m);
    line-height: 1.6;
    color: var(--color-neutral-black--neutral_70, #4a4a4a);
    margin-bottom: var(--space-16);
}

.blog-infobox p:last-child {
    margin-bottom: 0;
}

.blog-infobox p:empty,
.blog-infobox p:has(> :only-child:is([innerHTML="&nbsp;"])) {
    display: none;
}

/* Hide empty paragraphs with only &nbsp; */
.blog-infobox p:only-child:empty {
    display: none;
}

.blog-infobox a {
    color: var(--color-brand--kind_blue_medium);
    text-decoration: underline;
}

.blog-infobox a:hover {
    color: var(--color-brand--kind_blue_bold);
}

/* Mobile Adjustments */
@media (max-width: 767px) {
    .blog-infobox-inner {
        padding: var(--space-24, 24px);
    }

    .blog-infobox .headline-infobox,
    .blog-infobox .infobox-headline-content {
        font-size: var(--font-size--h5);
    }
}

/**
 * Rank Math Breadcrumb Styles
 */
.rank-math-breadcrumb {
    padding: var(--space-16) 0;
}

.rank-math-breadcrumb p {
    display: flex;
    align-items: center;
    gap: var(--space-8);
    margin: 0;
    font-size: 16px;
    line-height: 1.4;
    letter-spacing: 0.3px;
}

.rank-math-breadcrumb a {
    color: var(--color-brand--kind_blue_raw);
    text-decoration: none;
    font-weight: var(--font-weight--medium);
    border-bottom: 1px solid var(--color-brand--kind_blue_raw);
    transition: color var(--timing--transition-duration) var(--timing--transition-function),
                border-color var(--timing--transition-duration) var(--timing--transition-function);
}

.rank-math-breadcrumb a:hover,
.rank-math-breadcrumb a:focus {
    color: var(--color-brand--kind_blue_medium);
    border-color: var(--color-brand--kind_blue_medium);
}

.rank-math-breadcrumb .separator {
    color: var(--color-brand--kind_blue_medium);
    font-size: 14px;
    font-weight: var(--font-weight--medium);
    letter-spacing: 1px;
    text-transform: uppercase;
}

.rank-math-breadcrumb .last {
    color: var(--color-brand--kind_blue_raw);
    font-weight: var(--font-weight--regular);
    padding: 2px 0;
}
