/**
 * Detail-page Table of Contents accordion
 * Opens below the dropdown bar (keeps current pink design).
 * Do not put these rules in style.css / media.css.
 */

/* -------------------------------------------------------------------------
   Shared title / caret
--------------------------------------------------------------------------- */
.single .cs-sidebar__inner .widget.ez-toc,
.single .cs-sidebar__inner #ez-toc-widget-container,
.single .cs-sidebar__inner .ez-toc-widget-container {
	z-index: 40;
	background: #fff !important;
}

.single .cs-sidebar__inner .widget.ez-toc .ez-toc-title-container,
.single .cs-sidebar__inner .widget.ez-toc .widgettitle {
	position: relative;
	cursor: pointer;
	user-select: none;
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	width: 100%;
}

.single .cs-sidebar__inner .widget.ez-toc .ez-toc-title-toggle {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	margin-left: auto;
	pointer-events: none;
}

.single .cs-sidebar__inner .widget.ez-toc .toc-overlay-caret {
	display: none;
	width: 0.55rem;
	height: 0.55rem;
	border-right: 2px solid #5c5c5c;
	border-bottom: 2px solid #5c5c5c;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
	flex: 0 0 auto;
	margin-right: 0.15rem;
}

.single .cs-sidebar__inner .widget.ez-toc.toc-overlay-open .toc-overlay-caret {
	transform: rotate(-135deg);
	margin-top: 0.25rem;
}

/* Backdrop unused for accordion mode — keep hidden */
.toc-overlay-backdrop {
	display: none !important;
}

/* -------------------------------------------------------------------------
   Tablet / mobile: accordion opens below the dropdown (full section width)
--------------------------------------------------------------------------- */
@media screen and (max-width: 991px) {
	.single .cs-sidebar-enabled .cs-sidebar__area,
	.single .cs-sidebar-left .cs-sidebar__area {
		position: relative;
		z-index: 30;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	.single .cs-sidebar-left .cs-sidebar__area .cs-sidebar__inner,
	.single.cs-sticky-sidebar-enabled.cs-stick-to-top .cs-sidebar__inner {
		width: 100% !important;
		max-width: 100% !important;
		max-height: none !important;
		height: auto !important;
		overflow: visible !important;
	}

	.single .cs-sidebar__inner .widget.ez-toc {
		position: relative !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 0 1rem !important;
		border: 1px solid #e8e8ee !important;
		border-radius: 10px !important;
		box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
		overflow: hidden !important;
		box-sizing: border-box;
		background: #fff !important;
	}

	.single .cs-sidebar__inner .widget.ez-toc .toc-overlay-caret {
		display: block;
	}

	.single .cs-sidebar__inner .widget.ez-toc #ez-toc-widget-container {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
		padding: 0 !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	/* Dropdown header bar */
	.single .cs-sidebar__inner .widget.ez-toc .widgettitle,
	.single .cs-sidebar__inner .widget.ez-toc .ez-toc-title-container {
		margin: 0 !important;
		width: 100% !important;
		padding: 0.85rem 1rem !important;
		background: #f5f5f7 !important;
		border-bottom: 1px solid transparent;
		box-sizing: border-box;
	}

	.single .cs-sidebar__inner .widget.ez-toc.toc-overlay-open .widgettitle,
	.single .cs-sidebar__inner .widget.ez-toc.toc-overlay-open .ez-toc-title-container {
		border-bottom-color: #e8e8ee !important;
	}

	.single .cs-sidebar__inner .widget.ez-toc .ez-toc-title,
	.single .cs-sidebar__inner .widget.ez-toc .widgettitle {
		font-size: 0.95rem !important;
		letter-spacing: 0.02em;
		text-transform: none;
		font-weight: 700 !important;
		color: #2a2a2a !important;
		background: transparent !important;
	}

	/* Closed: hide list — only the dropdown bar shows */
	.single .cs-sidebar__inner .widget.ez-toc:not(.toc-overlay-open) #ez-toc-widget-container > nav,
	.single .cs-sidebar__inner .widget.ez-toc:not(.toc-overlay-open) .ez-toc-list {
		display: none !important;
	}

	/* Open: list expands below the dropdown bar (same card, full width) */
	.single .cs-sidebar__inner .widget.ez-toc.toc-overlay-open {
		position: relative !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		max-height: none !important;
		z-index: 40 !important;
		overflow: hidden !important;
		border-radius: 10px !important;
		box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
	}

	.single .cs-sidebar__inner .widget.ez-toc.toc-overlay-open #ez-toc-widget-container {
		display: block;
		max-height: none !important;
		overflow: visible !important;
		padding: 0 !important;
	}

	/* Single scroll only on <nav> — not on nested .ez-toc-list */
	.single .cs-sidebar__inner .widget.ez-toc.toc-overlay-open #ez-toc-widget-container > nav {
		display: block !important;
		width: 100% !important;
		max-height: min(60vh, 420px);
		overflow-x: hidden !important;
		overflow-y: auto !important;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
		margin: 0 !important;
		padding: 0.35rem 0.65rem 0.75rem !important;
		box-sizing: border-box;
		animation: toc-accordion-in 0.2s ease;
		scrollbar-width: thin;
		scrollbar-color: #e83e8c #f1f1f1;
	}

	.single .cs-sidebar__inner .widget.ez-toc.toc-overlay-open #ez-toc-widget-container > nav::-webkit-scrollbar {
		width: 4px;
	}

	.single .cs-sidebar__inner .widget.ez-toc.toc-overlay-open #ez-toc-widget-container > nav::-webkit-scrollbar-thumb {
		background: #e83e8c;
		border-radius: 10px;
	}

	.single .cs-sidebar__inner .widget.ez-toc.toc-overlay-open .ez-toc-list,
	.single .cs-sidebar__inner .widget.ez-toc.toc-overlay-open .ez-toc-list ul {
		display: block !important;
		width: 100% !important;
		max-height: none !important;
		height: auto !important;
		overflow: visible !important;
		margin: 0 !important;
		padding: 0 !important;
		box-sizing: border-box;
	}

	/* Keep current pink active / link styles inside accordion */
	.single .cs-sidebar__inner .widget.ez-toc.toc-overlay-open .ez-toc-list a.ez-toc-link {
		display: block !important;
		padding: 0.55rem 0.65rem !important;
		margin: 0.1rem 0;
		border-radius: 8px;
		border-bottom: 1px solid #f0f0f4;
		color: #4a4a4a !important;
		font-size: 13px !important;
		font-weight: 500 !important;
		line-height: 1.4 !important;
		text-decoration: none !important;
	}

	.single .cs-sidebar__inner .widget.ez-toc.toc-overlay-open .ez-toc-list li:last-child > a.ez-toc-link {
		border-bottom: 0;
	}

	.single .cs-sidebar__inner .widget.ez-toc.toc-overlay-open .ez-toc-list a.ez-toc-link:hover,
	.single .cs-sidebar__inner .widget.ez-toc.toc-overlay-open .ez-toc-list li.active > a.ez-toc-link {
		color: #e83e8c !important;
		background: #fbf0f6 !important;
	}

	body.toc-overlay-is-open {
		overflow: visible;
	}
}

@keyframes toc-accordion-in {
	from {
		opacity: 0;
		transform: translateY(-6px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* -------------------------------------------------------------------------
   Desktop: sticky sidebar TOC unchanged
--------------------------------------------------------------------------- */
@media screen and (min-width: 992px) {
	.single .cs-sidebar-left .cs-sidebar__area,
	.single .cs-sidebar-left .cs-sidebar__inner,
	.single .cs-sidebar__inner .widget.ez-toc {
		z-index: 25;
	}

	.single .cs-sidebar__inner .widget.ez-toc {
		box-shadow: 0 8px 28px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04);
	}

	.single .cs-sidebar__inner .widget.ez-toc .toc-overlay-caret {
		display: none !important;
	}

	.single .cs-sidebar__inner .widget.ez-toc .ez-toc-title-toggle {
		display: none !important;
	}
}
