/* ================================================================
   Review TOC — The GEEK  |  v1.3.0
   Минималистичный стиль под «ИЗБРАННОЕ»:
   заголовок + горизонтальная полоса, без карточки
   ================================================================ */

.rtoc {
	--rtoc-accent:     #0b008a;
	--rtoc-text:       #2e2e2e;
	--rtoc-muted:      #8a8a9a;
	--rtoc-line:       var(--grp-border, #e0e0e0);
	--rtoc-hover:      #0b008a;
	--rtoc-font-h:     'Rubik', sans-serif;
	--rtoc-font-b:     'Inter', sans-serif;

	margin: 0 0 2.25rem;
	font-family: var(--rtoc-font-b);
}

/* ── Шапка — как заголовок «ИЗБРАННОЕ» ───────────────────────── */
.rtoc__header {
	display:     flex;
	align-items: center;
	gap:         14px;
	margin-bottom: 10px;
	cursor:      pointer;
	user-select: none;
}

/* Горизонтальная линия — растягивается на всю оставшуюся ширину */
.rtoc__header::after {
	content:    '';
	flex:       1;
	height:     1px;
	background: var(--rtoc-line);
}

.rtoc__title {
	font-family:    var(--rtoc-font-h);
	font-size:      11px;
	font-weight:    700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color:          var(--rtoc-text);   /* #2e2e2e */
	white-space:    nowrap;
	flex-shrink:    0;
	transition:     color 0.15s ease;
}

.rtoc__header:hover .rtoc__title {
	color: var(--rtoc-accent);
}

/* Кнопка toggle — шеврон */
.rtoc__toggle {
	display:         flex;
	align-items:     center;
	justify-content: center;
	background:      none;
	border:          none;
	padding:         0;
	cursor:          pointer;
	color:           var(--rtoc-text);  /* #2e2e2e, в пару к заголовку */
	flex-shrink:     0;
	transition:      color 0.15s ease;
}

.rtoc__toggle:hover {
	color: var(--rtoc-accent);
}

.rtoc__chevron {
	display:    block;
	transition: transform 0.22s ease;
}

.rtoc__toggle[aria-expanded="false"] .rtoc__chevron {
	transform: rotate(180deg);
}

/* ── Список ───────────────────────────────────────────────────── */

/* Сброс стилей темы */
.rtoc ol, .rtoc ul,
.rtoc__list {
	list-style:  none !important;
	margin:      0 !important;
	padding:     0 !important;
	border:      none !important;
}

.rtoc li,
.rtoc__item {
	list-style:    none !important;
	border:        none !important;
	border-bottom: none !important;
	margin:        0 !important;
	padding:       0 !important;
	background:    none !important;
}

/* Анимация открытия/закрытия */
.rtoc__list {
	overflow:   hidden;
	transition: max-height 0.28s cubic-bezier(0.4, 0, 0.2, 1),
	            opacity    0.2s  ease;
}

.rtoc__list.rtoc--collapsed {
	max-height: 0 !important;
	opacity:    0;
}

/* ── Ссылки ───────────────────────────────────────────────────── */
.rtoc__link {
	display:         flex !important;
	align-items:     baseline;
	gap:             10px;
	padding:         4px 0 !important;
	text-decoration: none !important;
	color:           var(--rtoc-text) !important;
	font-size:       13.5px;
	line-height:     1.5;
	border:          none !important;
	background:      none !important;
	transition:      color 0.15s ease;
}

.rtoc__link:hover {
	color:           var(--rtoc-hover) !important;
	text-decoration: none !important;
}

/* Активный — не используется для инлайн-TOC (нет sticky) */

/* H3 — вложенные, чуть меньше и отступ */
.rtoc__item--h3 > .rtoc__link {
	padding-left: 20px !important;
	font-size:    12.5px;
	color: #434343 !important;
}

.rtoc__item--h3 > .rtoc__link:hover,
.rtoc__item--h3.rtoc__item--active > .rtoc__link {
	color: var(--rtoc-accent) !important;
}

/* ── Номер ────────────────────────────────────────────────────── */
.rtoc__num {
	font-family:    var(--rtoc-font-h);
	font-size:      10px;
	font-weight:    700;
	color:          var(--rtoc-accent);
	min-width:      16px;
	flex-shrink:    0;
	opacity:        0.75;
	transition:     opacity 0.15s ease;
}

.rtoc__link:hover .rtoc__num,
.rtoc__item--active > .rtoc__link .rtoc__num {
	opacity: 1;
}

.rtoc__item--h3 .rtoc__num {
	color: #2e2e2e;
	opacity: 0.6;
}

.rtoc__text {
	flex: 1;
}

/* ── Разделитель между пунктами — лёгкая линия ───────────────── */
.rtoc__item + .rtoc__item > .rtoc__link {
	border-top: 1px solid var(--rtoc-line) !important;
	padding-top: 4px !important;
	margin-top:  0;
}

/* ── Тёмная тема ─────────────────────────────────────────────── */
.dark-mode .rtoc {
	--rtoc-accent: #6366f1;
	--rtoc-text:   #c3c3c7;
	--rtoc-muted:  #6b6b80;
	--rtoc-line:   rgba(255, 255, 255, 0.09);
	--rtoc-hover:  #818cf8;
}

/* ── Мобильный ───────────────────────────────────────────────── */
@media (max-width: 600px) {
	.rtoc__link {
		font-size: 13px;
	}

	.rtoc__item--h3 > .rtoc__link {
		padding-left: 14px !important;
		font-size:    12px;
	}
}

/* ── Reduced motion ──────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
	.rtoc__list,
	.rtoc__link,
	.rtoc__chevron,
	.rtoc__title,
	.rtoc__toggle,
	.rtoc__num {
		transition: none;
	}
}
