.elementor-widget-etw-toc { min-width: 0; max-width: 100%; }
.etw-toc { --etw-toc-direction: row; min-width: 0; max-width: 100%; padding: 12px; background: #f5f7fa; border-radius: 10px; }
.etw-toc[hidden], .etw-toc [hidden] { display: none !important; }
.etw-toc__title { font-weight: 700; margin-block-end: 12px; }
.etw-toc__band { display: flex; align-items: center; gap: 8px; min-width: 0; }
.etw-toc__viewport { flex: 1 1 0%; min-width: 0; overflow: hidden; overscroll-behavior-x: contain; }
.etw-toc.can-drag .etw-toc__viewport { cursor: grab; touch-action: pan-y pinch-zoom; }
.etw-toc.is-dragging .etw-toc__viewport, .etw-toc.is-dragging a { cursor: grabbing; user-select: none; }
.etw-toc .etw-toc__list { display: flex; flex-direction: var(--etw-toc-direction); gap: 8px; list-style: none; margin: 0; padding: 3px; }
.etw-toc__list > li { flex: 0 0 auto; margin: 0; padding: 0; min-width: 0; }
.etw-toc .etw-toc__link { display: block; box-sizing: border-box; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: normal; background: transparent; padding: 10px 16px; border-radius: 6px; color: #253247; text-decoration: none; overflow-wrap: anywhere; transition: background-color .15s, color .15s; }
.etw-toc .etw-toc__link:hover, .etw-toc .etw-toc__link:focus-visible { color: #172033; }
.etw-toc .etw-toc__link[aria-current="location"] { color: #243c70; text-decoration: underline; text-underline-offset: .2em; }
.etw-toc .etw-toc__arrow { display: flex; align-items: center; justify-content: center; box-sizing: border-box; flex: 0 0 auto; padding: 0; width: 38px; height: 38px; border: 1px solid currentColor; border-radius: 50%; background: #fff; color: #253247; font-size: 28px; line-height: 1; cursor: pointer; }
.etw-toc .etw-toc__arrow:disabled { opacity: .35; cursor: default; }
.etw-toc:dir(rtl) .etw-toc__arrow-icon { transform: rotate(180deg); }
.etw-toc a:focus-visible, .etw-toc button:focus-visible { outline: 2px solid currentColor; outline-offset: 1px; }
.etw-toc__empty { margin: 0; }
@media (prefers-reduced-motion: reduce) { .etw-toc .etw-toc__link { transition: none; } }
@media (forced-colors: active) { .etw-toc .etw-toc__link[aria-current] { outline: 2px solid Highlight; outline-offset: -2px; } }
@media print { .etw-toc__viewport { overflow: visible; } .etw-toc .etw-toc__list { flex-direction: column; } .etw-toc .etw-toc__arrow { display: none; } .etw-toc.is-horizontal .etw-toc__link { white-space: normal; } }

.etw-toc__arrow-icon { display: inline-flex; align-items: center; justify-content: center; line-height: 1; flex: 0 0 auto; }
.etw-toc__arrow-icon i { font-size: inherit; }
.etw-toc__arrow-icon svg { display: block; width: 1em; height: 1em; fill: currentColor; }
