/*
 * Global long-form typography for all Austone article Theme Builder templates.
 * Applies to Shipping Guides, Case Studies, Insights and Monthly Logistics Updates.
 */
body.single-post .elementor-location-single,
body.single-post .article-main {
    font-family: Inter, "Helvetica Neue", Arial, sans-serif;
}

/* Unified desktop reading grid: 900px article + 240px TOC + 44px gap. */
html body.single-post .elementor-location-single .article-wrap,
html body.single-post .article-wrap {
    grid-template-columns: minmax(0, 900px) 240px !important;
    gap: 44px !important;
    justify-content: center !important;
    align-items: start !important;
}

html body.single-post .elementor-location-single .case-main-column,
html body.single-post .elementor-location-single .austone-insights-main,
html body.single-post .elementor-location-single .article-wrap > .article-main {
    min-width: 0 !important;
    max-width: 900px !important;
    width: 100% !important;
}

html body.single-post .elementor-location-single .article-wrap > aside,
html body.single-post .elementor-location-single .austone-insights-side,
html body.single-post .elementor-location-single .article-wrap > .toc {
    min-width: 0 !important;
    max-width: 240px !important;
    width: 240px !important;
}

html body.single-post .elementor-location-single .newsletter-body > .w {
    max-width: 956px !important;
}

html body.single-post .elementor-location-single .newsletter-body .article-main {
    max-width: 900px !important;
    margin-inline: auto !important;
}

html body.single-post .elementor-location-single .article-main > p,
html body.single-post .elementor-location-single .article-main > :where(ul, ol) > li,
html body.single-post .article-main > p,
html body.single-post .article-main > :where(ul, ol) > li {
    color: #334155 !important;
    font-family: Inter, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 16.5px !important;
    font-weight: 400 !important;
    line-height: 1.8 !important;
}

html body.single-post .elementor-location-single .article-main p,
html body.single-post .article-main p {
    margin-bottom: 20px;
}

html body.single-post .elementor-location-single .article-main > h2,
html body.single-post .article-main > h2 {
    color: #1e3a5f !important;
    font-family: Inter, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 28px !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em;
    line-height: 1.35 !important;
    margin: 45px 0 18px !important;
}

html body.single-post .elementor-location-single .article-main > h3,
html body.single-post .article-main > h3 {
    color: #1e3a5f !important;
    font-family: Inter, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    letter-spacing: -0.005em;
    line-height: 1.4 !important;
    margin: 32px 0 14px !important;
}

html body.single-post .elementor-location-single .article-main > p :where(strong, b),
html body.single-post .elementor-location-single .article-main > :where(ul, ol) > li :where(strong, b),
html body.single-post .article-main > p :where(strong, b),
html body.single-post .article-main > :where(ul, ol) > li :where(strong, b) {
    font-weight: 600;
}

@media (max-width: 1240px) {
    html body.single-post .elementor-location-single .article-wrap,
    html body.single-post .article-wrap {
        display: flex !important;
        flex-direction: column !important;
        gap: 28px !important;
    }

    html body.single-post .elementor-location-single .case-main-column,
    html body.single-post .elementor-location-single .austone-insights-main,
    html body.single-post .elementor-location-single .article-wrap > .article-main,
    html body.single-post .elementor-location-single .article-wrap > aside,
    html body.single-post .elementor-location-single .austone-insights-side,
    html body.single-post .elementor-location-single .article-wrap > .toc {
        max-width: 900px !important;
        width: 100% !important;
        margin-inline: auto !important;
    }

    html body.single-post .elementor-location-single .article-wrap > aside,
    html body.single-post .elementor-location-single .austone-insights-side,
    html body.single-post .elementor-location-single .article-wrap > .toc {
        order: -1 !important;
    }

    html body.single-post .elementor-location-single .toc {
        position: static !important;
        top: auto !important;
    }

    html body.single-post .elementor-location-single .article-main > p,
    html body.single-post .elementor-location-single .article-main > :where(ul, ol) > li,
    html body.single-post .article-main > p,
    html body.single-post .article-main > :where(ul, ol) > li {
        font-size: 16.5px !important;
        line-height: 1.78 !important;
    }

    html body.single-post .elementor-location-single .article-main > h2,
    html body.single-post .article-main > h2 {
        font-size: 27px !important;
        margin-top: 42px !important;
    }

    html body.single-post .elementor-location-single .article-main > h3,
    html body.single-post .article-main > h3 {
        font-size: 21.5px !important;
        margin-top: 30px !important;
    }
}

@media (max-width: 767px) {
    html body.single-post .elementor-location-single .article-main > p,
    html body.single-post .elementor-location-single .article-main > :where(ul, ol) > li,
    html body.single-post .article-main > p,
    html body.single-post .article-main > :where(ul, ol) > li {
        font-size: 16px !important;
        line-height: 1.75 !important;
    }

    html body.single-post .elementor-location-single .article-main p,
    html body.single-post .article-main p {
        margin-bottom: 1.25em;
    }

    html body.single-post .elementor-location-single .article-main > h2,
    html body.single-post .article-main > h2 {
        font-size: 25px !important;
        line-height: 1.32 !important;
        margin: 38px 0 14px !important;
    }

    html body.single-post .elementor-location-single .article-main > h3,
    html body.single-post .article-main > h3 {
        font-size: 21px !important;
        line-height: 1.38 !important;
        margin: 26px 0 12px !important;
    }
}

/*
 * Elementor Theme Builder editor/preview parity.
 * These selectors intentionally do not require the single-post body class.
 */
html body .elementor-location-single .article-wrap {
    grid-template-columns: minmax(0, 900px) 240px !important;
    gap: 44px !important;
    justify-content: center !important;
    align-items: start !important;
}

html body .elementor-location-single .case-main-column,
html body .elementor-location-single .austone-insights-main,
html body .elementor-location-single .article-wrap > .article-main {
    min-width: 0 !important;
    max-width: 900px !important;
    width: 100% !important;
}

html body .elementor-location-single .article-wrap > aside,
html body .elementor-location-single .austone-insights-side,
html body .elementor-location-single .article-wrap > .toc {
    min-width: 0 !important;
    max-width: 240px !important;
    width: 240px !important;
}

html body .elementor-location-single .article-main > p,
html body .elementor-location-single .article-main > :where(ul, ol) > li {
    color: #334155 !important;
    font-family: Inter, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 16.5px !important;
    font-weight: 400 !important;
    line-height: 1.8 !important;
}

html body .elementor-location-single .article-main > h2 {
    color: #1e3a5f !important;
    font-family: Inter, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 28px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    margin: 45px 0 18px !important;
}

html body .elementor-location-single .article-main > h3 {
    color: #1e3a5f !important;
    font-family: Inter, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    margin: 32px 0 14px !important;
}

@media (max-width: 1240px) {
    html body .elementor-location-single .article-wrap {
        display: flex !important;
        flex-direction: column !important;
        gap: 28px !important;
    }

    html body .elementor-location-single .case-main-column,
    html body .elementor-location-single .austone-insights-main,
    html body .elementor-location-single .article-wrap > .article-main,
    html body .elementor-location-single .article-wrap > aside,
    html body .elementor-location-single .austone-insights-side,
    html body .elementor-location-single .article-wrap > .toc {
        max-width: 900px !important;
        width: 100% !important;
        margin-inline: auto !important;
    }

    html body .elementor-location-single .article-wrap > aside,
    html body .elementor-location-single .austone-insights-side,
    html body .elementor-location-single .article-wrap > .toc {
        order: -1 !important;
    }

    html body .elementor-location-single .toc {
        position: static !important;
        top: auto !important;
    }
}

@media (max-width: 767px) {
    html body .elementor-location-single .article-main > p,
    html body .elementor-location-single .article-main > :where(ul, ol) > li {
        font-size: 16px !important;
        line-height: 1.75 !important;
    }

    html body .elementor-location-single .article-main > h2 {
        font-size: 25px !important;
        line-height: 1.32 !important;
        margin: 38px 0 14px !important;
    }

    html body .elementor-location-single .article-main > h3 {
        font-size: 21px !important;
        line-height: 1.38 !important;
        margin: 26px 0 12px !important;
    }
}
