/* Applied only to marked, generated article prose; native saved styles and inline zeroes win. */
p.cas-aicg-list-lead{margin-block-end:.35em;font-weight:600}
p.cas-aicg-list-lead+:is(ul,ol).cas-aicg-prose-list{margin-block-start:0}
:is(ul,ol).cas-aicg-prose-list:not(:last-child){margin-block-end:1em}
:is(ul,ol).cas-aicg-prose-list+p.cas-aicg-list-following{margin-block-start:0}
/* Earlier native Flex bodies use a fixed reading width until the mobile breakpoint.
   Bound generated bodies even when no reference sections are enabled; narrower native widths remain intact. */
.elementor .e-con[class*="cas-aicg-"][class*="-body"]{max-width:100%}
/* Owned new UL and legacy OL navigation use solid bullets, including nested
   entries. Heading prefixes, saved markup and ordinary ordered steps stay intact. */
:is(nav.cas-aicg-table-of-contents,nav.cas-aicg-toc) :is(ul,ol),
.elementor :is(nav.cas-aicg-table-of-contents,nav.cas-aicg-toc) :is(ul,ol){display:block;list-style-type:disc;list-style-position:outside;padding-inline-start:1.25em}
:is(nav.cas-aicg-table-of-contents,nav.cas-aicg-toc) :is(ul,ol)>li,
.elementor :is(nav.cas-aicg-table-of-contents,nav.cas-aicg-toc) :is(ul,ol)>li{display:list-item;list-style-type:disc;counter-increment:none}
:is(nav.cas-aicg-table-of-contents,nav.cas-aicg-toc) :is(ul,ol)>li::marker,
.elementor :is(nav.cas-aicg-table-of-contents,nav.cas-aicg-toc) :is(ul,ol)>li::marker{content:normal}
:is(nav.cas-aicg-table-of-contents,nav.cas-aicg-toc) :is(ul,ol)>li::before,
.elementor :is(nav.cas-aicg-table-of-contents,nav.cas-aicg-toc) :is(ul,ol)>li::before,
:is(nav.cas-aicg-table-of-contents,nav.cas-aicg-toc) :is(ul,ol)>li::after,
.elementor :is(nav.cas-aicg-table-of-contents,nav.cas-aicg-toc) :is(ul,ol)>li::after{content:none}
/* Give the expanded CAS contents list room below its summary in every native editor. */
:is(nav.cas-aicg-table-of-contents,nav.cas-aicg-toc) details[open]>summary{margin-block-end:12px}
/* Plain and legacy marked navigation has readable defaults. Native Elementor
   widgets retain inherited typography controls; nav/anchor inline values win. */
nav.cas-aicg-table-of-contents:where(:not(.elementor-widget,.elementor-widget *)),
nav.cas-aicg-toc:where(:not(.elementor-widget,.elementor-widget *)){font-size:16px;line-height:1.3}
/* The site news theme sets17px/28px directly on lists/items at0,4,1.
   Only these marked non-widget contents descendants inherit their nav defaults. */
nav.cas-aicg-table-of-contents[class][class][class]:where(:not(.elementor-widget,.elementor-widget *)) :is(ul,ol,li),
nav.cas-aicg-toc[class][class][class]:where(:not(.elementor-widget,.elementor-widget *)) :is(ul,ol,li){font-size:inherit;line-height:inherit}
/* Some news themes force list typography with !important. Correct only marked
   non-widget contents with no inline typography on the target or its ancestors.
   Skipped normal inline controls can still be overridden by the theme itself. */
nav.cas-aicg-table-of-contents[class][class][class]:where(:not(.elementor-widget,.elementor-widget *)) :is(ul,ol,li,a):where(:not([style*="font" i],[style*="line-height" i],[style*="\\"],[style*="font" i] *,[style*="line-height" i] *,[style*="\\"] *)),
nav.cas-aicg-toc[class][class][class]:where(:not(.elementor-widget,.elementor-widget *)) :is(ul,ol,li,a):where(:not([style*="font" i],[style*="line-height" i],[style*="\\"],[style*="font" i] *,[style*="line-height" i] *,[style*="\\"] *)){font-size:inherit!important;line-height:inherit!important}
nav.cas-aicg-table-of-contents:where(:not(.elementor-widget,.elementor-widget *)) a,
nav.cas-aicg-toc:where(:not(.elementor-widget,.elementor-widget *)) a{display:block;font-size:inherit;line-height:inherit}
nav.cas-aicg-table-of-contents:where(:not(.elementor-widget,.elementor-widget *)) :where(ul,ol)>li+li,
nav.cas-aicg-toc:where(:not(.elementor-widget,.elementor-widget *)) :where(ul,ol)>li+li{margin-block-start:8px}
/* Native Elementor widget gaps already separate a heading from its next block.
   Neutralize theme title margins without adding another gap inside the widget;
   explicit native per-widget margins remain editable outside this title. */
.elementor :where([class*="cas-aicg-"][class*="-body"]) .elementor-heading-title.elementor-size-default{margin-block-end:0}
.cas-aicg-standard-layout :is(h2,h3,h4){margin-block-end:16px}
/* Native gaps own separation between widgets. Do not add a second theme margin
   at their first/last prose edges; explicit per-widget style selectors still win. */
.elementor :where([class*="cas-aicg-"][class*="-body"] :is(.elementor-widget-text-editor,.elementor-widget-text-editor>.elementor-widget-container)>:first-child){margin-block-start:0}
.elementor :where([class*="cas-aicg-"][class*="-body"] :is(.elementor-widget-text-editor,.elementor-widget-text-editor>.elementor-widget-container)>:last-child){margin-block-end:0}
/* Compact reading presets own an8px native gap. Keep24px before the next title. */
.elementor :where(.cas-aicg-compact-flow) .elementor-widget-heading{margin-block-start:16px}
/* The row owns its preceding separation; the first copy title aligns with its photo.
   Native saved heading margins outrank this default, including explicit zeroes. */
.elementor :where(.cas-aicg-media-copy)>.elementor-widget-heading:where(:first-child),
.elementor :where(.cas-aicg-media-copy>.elementor-widget-wrap)>.elementor-widget-heading:where(:first-child){margin-block-start:0}
/* Legacy rows already own their before-section gap. Do not add the in-flow
   title margin again at a column's first native widget; custom margins win. */
.elementor :where(.cas-aicg-legacy-body .elementor-widget-wrap)>.elementor-widget-heading:where(:first-child){margin-block-start:0}
.elementor :where(.e-con.cas-aicg-separated-media){margin-block-start:24px}
.elementor :where(.elementor-section.cas-aicg-separated-media){margin-block-start:8px}
.elementor :where(.cas-aicg-reading-magazine) .widget-image-caption,
.elementor :where(.cas-aicg-reading-magazine) figcaption{margin-block-start:4px}
.elementor :where(.cas-aicg-reading-magazine) .elementor-widget-image img{vertical-align:bottom}
@media(max-width:767px){
 nav.cas-aicg-table-of-contents:where(:not(.elementor-widget,.elementor-widget *)),
 nav.cas-aicg-toc:where(:not(.elementor-widget,.elementor-widget *)){font-size:15px}
 /* Containers use16px below titles and8px above them. Legacy section edges
    already contribute24px, so only later headings need the extra8px there. */
 .elementor :where(.e-con[class*="cas-aicg-"][class*="-body"]) .elementor-widget-heading,
 .elementor :where(.cas-aicg-legacy-body) .elementor-widget-wrap>.elementor-widget-heading:not(:first-child){margin-block-start:8px}
 .elementor :where(.cas-aicg-compact-flow) .elementor-widget-heading{margin-block-start:16px}
 .elementor :where(.cas-aicg-media-copy)>.elementor-widget-heading:where(:first-child),
 .elementor :where(.cas-aicg-media-copy>.elementor-widget-wrap)>.elementor-widget-heading:where(:first-child){margin-block-start:0}
 .elementor :where(.cas-aicg-legacy-body .elementor-widget-wrap)>.elementor-widget-heading:where(:first-child){margin-block-start:0}
 /* Only inherited generated-widget typography gets the compact mobile fallback.
    Native saved font controls outrank these selectors; font families stay live. */
 .elementor :where([class*="cas-aicg-"][class*="-body"]) .elementor-widget-text-editor{font-size:16px}
 .elementor :where([class*="cas-aicg-"][class*="-body"]) .elementor-widget-heading :where(h2.elementor-heading-title){font-size:24px}
 .elementor :where([class*="cas-aicg-"][class*="-body"]) .elementor-widget-heading :where(h3.elementor-heading-title){font-size:20px}
}
