.elementor-widget-aew-table-of-contents,
.elementor-widget-aew-table-of-contents > .elementor-widget-container,
.aew-toc { width: 100%; min-width: 0; }
.aew-toc { --aew-toc-text: #4a4a68; --aew-toc-active: #072acb; --aew-toc-background: #dce9ff; --aew-toc-line: #e1e2e8; --aew-toc-gap: 4px; --aew-toc-radius: 8px; --aew-toc-dot: 8px; color: var(--aew-toc-text); }
.aew-toc *, .aew-toc *::before { box-sizing: border-box; }
.aew-toc [hidden] { display: none !important; }
.aew-toc__body { position: relative; isolation: isolate; }
.aew-toc .aew-toc__list { display: flex; flex-direction: column; gap: var(--aew-toc-gap); list-style: none; margin: 0; padding: 0; }
.aew-toc__item { position: relative; margin: 0; padding: 0; list-style: none; }
.aew-toc .aew-toc__link { display: flex; align-items: center; min-height: 48px; padding: 10px 24px; font: inherit; font-size: 16px; line-height: 1.5625; font-weight: 400; color: var(--aew-toc-text); background: transparent; text-align: right; text-decoration: none; border: 0; border-radius: var(--aew-toc-radius); overflow-wrap: anywhere; transition: color 250ms ease; }
.aew-toc .aew-toc__link:hover, .aew-toc .aew-toc__link:focus-visible, .aew-toc .aew-toc__link[aria-current="location"] { color: var(--aew-toc-active); }
.aew-toc .aew-toc__link[aria-current="location"] { font-weight: 600; }
.aew-toc__link:focus-visible { outline: 2px solid var(--aew-toc-active); outline-offset: -2px; }
.aew-toc__dot { position: absolute; right: 12px; top: 12px; transform: translateX(50%); width: var(--aew-toc-dot); height: var(--aew-toc-dot); border: 1px solid var(--aew-toc-text); border-radius: 50%; background: #fff; transition: background-color 250ms ease, border-color 250ms ease; }
.aew-toc__item[data-passed="true"] .aew-toc__dot { background: var(--aew-toc-active); border-color: var(--aew-toc-active); }
.aew-toc__highlight { position: absolute; inset: 0 0 auto; background: var(--aew-toc-background); border-radius: var(--aew-toc-radius); z-index: -1; transition: transform 250ms ease, height 250ms ease; }
.aew-toc__rail { position: absolute; right: 12px; width: 1px; background: var(--aew-toc-line); z-index: -1; }
.aew-toc__progress { display: block; width: 100%; height: 0; background: var(--aew-toc-active); transition: height 250ms ease; }
.aew-toc__message { margin: 0; color: var(--aew-toc-text); font: inherit; }
@media (max-width: 1024px) { .aew-toc .aew-toc__link { min-height: 40px; font-size: 14px; line-height: 22px; padding-block: 9px; } }
@media (prefers-reduced-motion: reduce) { .aew-toc * { transition: none !important; } }
