/*
 * Shared sidebar Table of Contents (Figma Prosperity) — pages, wire sidebars, meetings.
 */

.dda-sidebar-toc {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	width: 100%;
	max-width: 250px;
	padding: 20px;
	gap: 8px;
	margin: 0;
	border: 2px solid #e7dbc4;
	border-radius: 0;
	background: #ffffff;
	box-shadow: none;
	overflow: visible;
}

.dda-sidebar-toc:hover {
	border-color: #e7dbc4;
	box-shadow: none;
}

.dda-sidebar-toc__summary {
	align-self: stretch;
	width: 100%;
	max-width: 210px;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	min-height: 20px;
	font-family: new-atten, sans-serif;
	font-style: normal;
	font-weight: 700;
	font-size: 19px;
	line-height: 20px;
	text-transform: uppercase;
	color: #392425;
	background: transparent;
	border: 0;
	user-select: none;
}

.dda-sidebar-toc__summary::-webkit-details-marker {
	display: none;
}

.dda-sidebar-toc__summary:hover,
.dda-sidebar-toc__summary:focus-visible {
	color: #5c4546;
	outline: none;
}

.dda-sidebar-toc__summary:focus-visible {
	outline: 2px solid #392425;
	outline-offset: 2px;
}

.dda-sidebar-toc__title-text {
	flex: 1;
	min-width: 0;
}

.dda-sidebar-toc__chevron {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	height: 1.5rem;
	color: #392425;
	transition: transform 0.42s cubic-bezier(0.33, 1, 0.68, 1), color 0.2s ease;
}

.dda-sidebar-toc__chevron i {
	font-size: 0.7rem;
	line-height: 1;
}

.dda-sidebar-toc[open] > .dda-sidebar-toc__summary .dda-sidebar-toc__chevron {
	transform: rotate(180deg);
}

.dda-sidebar-toc:not([open]) > .dda-sidebar-toc__summary {
	border-bottom: 0;
}

.dda-sidebar-toc__anim,
.dda-sidebar-toc__anim-inner {
	align-self: stretch;
	width: 100%;
	max-width: 210px;
}

.dda-sidebar-toc__nav {
	align-self: stretch;
	width: 100%;
	max-width: 210px;
	margin: 0;
	padding: 0;
	max-height: min(65vh, 28rem);
	overflow-y: auto;
	box-sizing: border-box;
}

.dda-sidebar-toc__list {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 4px;
	width: 100%;
	max-width: 210px;
	margin: 0;
	padding: 0 !important;
	padding-left: 0 !important;
	margin-left: 0 !important;
	list-style: none !important;
	list-style-position: outside;
	font-family: new-atten, sans-serif;
	font-weight: 700;
	font-size: 17px;
	line-height: 21px;
	letter-spacing: 0;
	font-synthesis: none;
}

/* Override theme prose list rules (.entry-content ul { padding-left: 1.35em }). */
.dda-sidebar-toc ul.dda-sidebar-toc__list,
.dda-sidebar-toc__nav ul.dda-sidebar-toc__list {
	padding-left: 0 !important;
	margin-left: 0 !important;
}

.dda-sidebar-toc__item {
	display: flex;
	flex-direction: row;
	align-items: center;
	align-self: stretch;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	box-sizing: border-box;
	font-family: new-atten, sans-serif;
	font-weight: 700;
	font-size: 17px;
	line-height: 21px;
	letter-spacing: 0;
	font-synthesis: none;
}

/*
 * H2: flush with title — no ul/li inset.
 * H3/H4: margin on <li> only (not inherited padding on ul).
 */
.dda-sidebar-toc__item.is-level-2 {
	margin-left: 0 !important;
	padding-left: 0 !important;
	width: 100%;
	max-width: 100%;
}

.dda-sidebar-toc__item.is-level-3 {
	margin-left: 16px;
	padding-left: 0 !important;
	width: calc(100% - 16px);
}

.dda-sidebar-toc__item.is-level-4 {
	margin-left: 32px;
	padding-left: 0 !important;
	width: calc(100% - 32px);
}

.dda-sidebar-toc__link {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-height: 29px;
	margin: 0;
	/* Flush left with summary title (no padding-left); vertical rhythm only. */
	padding: 4px 0;
	gap: 10px;
	font-family: new-atten, sans-serif !important;
	font-style: normal !important;
	/* Match theme sidebar menu items (custom.css): New Atten 400 + 700 only. */
	font-weight: 700 !important;
	font-size: 17px !important;
	line-height: 21px !important;
	letter-spacing: 0 !important;
	font-synthesis: none;
	color: #392425 !important;
	text-decoration: none !important;
	border-radius: 0;
	word-break: break-word;
	transition: color 0.2s ease;
}

.dda-sidebar-toc__list .dda-sidebar-toc__item.is-level-2 .dda-sidebar-toc__link,
.dda-sidebar-toc__list .dda-sidebar-toc__item.is-level-3 .dda-sidebar-toc__link,
.dda-sidebar-toc__list .dda-sidebar-toc__item.is-level-4 .dda-sidebar-toc__link,
.dda-sidebar-toc__list .dda-sidebar-toc__item .dda-sidebar-toc__link--jump,
.dda-sidebar-toc__list .dda-sidebar-toc__item .dda-sidebar-toc__link[role='button'] {
	font-weight: 700 !important;
}

.dda-sidebar-toc__link:hover,
.dda-sidebar-toc__link:focus-visible {
	background: transparent !important;
	color: #392425 !important;
	text-decoration: underline !important;
	text-underline-offset: 2px;
	font-weight: 700 !important;
}

.dda-sidebar-toc__link--recording,
.dda-sidebar-toc__recording-text {
	font-weight: 700 !important;
}

.dda-sidebar-toc__recording-icon {
	display: inline-flex;
	align-items: center;
	font-size: 1rem;
	line-height: 1;
	color: inherit;
}

.dda-sidebar-toc__recording-text {
	font-size: 17px;
	line-height: 21px;
}

/* Wire: TOC sits below BlueShadow menu shell, not inside it. */
.dda-wire-section-sidebar__column > .dda-sidebar-toc {
	align-self: stretch;
	width: 100%;
	max-width: 250px;
	margin: 0;
}

/* Divi TB: mounted below DSM menu in column 1/4. */
.dda-sidebar-toc-tb-mount .dda-sidebar-toc,
.et_pb_column_1_4 .dda-sidebar-toc {
	max-width: 250px;
	width: 100%;
}

.dda-meetings-wire__aside-stack .dda-sidebar-toc {
	flex-shrink: 0;
}

/* Mobile (Divi breakpoint 980px): full width menu shell + TOC. */
@media only screen and (max-width: 980px) {
	.dda-sidebar-toc,
	.dda-wire-section-sidebar__column > .dda-sidebar-toc,
	.et_pb_column_1_4 .dda-sidebar-toc,
	.dda-sidebar-toc-tb-mount .dda-sidebar-toc {
		width: 100% !important;
		max-width: none !important;
		align-self: stretch !important;
		box-sizing: border-box;
	}

	.dda-sidebar-toc__summary,
	.dda-sidebar-toc__anim,
	.dda-sidebar-toc__anim-inner,
	.dda-sidebar-toc__nav,
	.dda-sidebar-toc__list {
		width: 100% !important;
		max-width: none !important;
	}

	.dda-wire-section-sidebar,
	.dda-wire-section-sidebar__column,
	.dda-wire-section-sidebar__stack {
		width: 100% !important;
		max-width: none !important;
	}

	.dda-wire-section-sidebar__title,
	.dda-wire-section-sidebar__nav,
	.dda-wire-section-sidebar__menu {
		max-width: none !important;
		width: 100% !important;
	}

	.dda-sidebar-toc,
	.dda-wire-section-sidebar__column > .dda-sidebar-toc {
		margin-bottom: 0 !important;
	}
}
