/* Страницы-документы: доставка и оплата, возврат, оферта, политика.
   Шаблон template-document.php, подключается только на нём (functions.php).

   Минимализм: одна колонка текста шириной для чтения, слева узкая колонка
   с переключателем документов и оглавлением, без картинок и плашек.
   Заголовки разделов — пронумерованные h2; пункты договора вида «1.1.»
   висят номером на полях (.tk-doc__n), чтобы ссылки «см. п. 3.2»
   находились глазом. */

.tk-doc {
	--tkd-green: #1D3A37;
	--tkd-text: #2F2B27;
	--tkd-muted: #6E675F;
	--tkd-line: #E4DCCF;
	--tkd-paper: #FBF9F6;
	--tkd-accent: #8A6A3B;

	box-sizing: border-box;
	max-width: 1180px;
	margin: 0 auto;
	padding: 48px 44px 96px;
	color: var(--tkd-text);
}

.tk-doc *,
.tk-doc *::before,
.tk-doc *::after {
	box-sizing: border-box;
}

/* ---------- заголовок ---------- */

.tk-doc__head {
	padding-bottom: 32px;
	margin-bottom: 48px;
	border-bottom: 1px solid var(--tkd-line);
}

.tk-doc .tk-doc__crumbs .breadcrumbs {
	margin: 0 0 14px;
	font-size: 13px;
	color: var(--tkd-muted);
}

.tk-doc .tk-doc__crumbs a { color: var(--tkd-muted); }
.tk-doc .tk-doc__crumbs a:hover { color: var(--tkd-green); }

.tk-doc .tk-doc__title {
	margin: 0;
	font-size: clamp(30px, 3.6vw, 44px);
	line-height: 1.12;
	font-weight: 500;
	letter-spacing: -0.02em;
	color: var(--tkd-green);
}

/* ---------- раскладка ---------- */

.tk-doc__body {
	display: grid;
	grid-template-columns: 240px minmax(0, 720px);
	gap: 72px;
}

.tk-doc__side {
	position: sticky;
	top: 110px;
	align-self: start;
	max-height: calc(100vh - 130px);
	overflow-y: auto;
	font-size: 14px;
	line-height: 1.4;
}

body.admin-bar .tk-doc__side { top: 142px; }

.tk-doc__docs {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.tk-doc .tk-doc__doc {
	display: block;
	padding: 7px 0 7px 14px;
	border-left: 2px solid transparent;
	color: var(--tkd-muted);
	text-decoration: none;
	transition: color 160ms ease, border-color 160ms ease;
}

.tk-doc .tk-doc__doc:hover { color: var(--tkd-green); }

.tk-doc .tk-doc__doc.is-current {
	border-left-color: var(--tkd-green);
	color: var(--tkd-green);
	font-weight: 500;
}

.tk-doc__toc {
	margin-top: 32px;
	padding-top: 24px;
	border-top: 1px solid var(--tkd-line);
}

.tk-doc__toc-title {
	margin-bottom: 10px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--tkd-accent);
}

.tk-doc .tk-doc__toc-list {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: tkd-toc;
}

.tk-doc .tk-doc__toc-list li {
	margin: 0;
	counter-increment: tkd-toc;
}

.tk-doc .tk-doc__toc-list a {
	display: grid;
	grid-template-columns: 22px 1fr;
	padding: 5px 0;
	font-size: 13px;
	color: var(--tkd-muted);
	text-decoration: none;
}

/* Номера разделов печатает CSS — и у заголовков, и в оглавлении, одним
   порядком. В тексте страницы цифр перед заголовками нет, сбиться им
   не с чем. Только у договоров (класс is-numbered ставит шаблон, если
   в тексте есть пункты «1.1.»): у «Доставки» номер раздела ни на что
   не ссылается. */
.tk-doc .tk-doc__toc-list.is-numbered a::before {
	content: counter(tkd-toc) ".";
	color: #A69D92;
}

.tk-doc .tk-doc__toc-list:not(.is-numbered) a { display: block; }

.tk-doc .tk-doc__toc-list a:hover { color: var(--tkd-green); }

.tk-doc__toc-m { display: none; }

/* ---------- текст ---------- */

.tk-doc__text {
	font-size: 16px;
	line-height: 1.7;
	counter-reset: tkd-h2;
}

.tk-doc .tk-doc__text > :first-child { margin-top: 0; }

.tk-doc .tk-doc__text h2 {
	margin: 56px 0 18px;
	font-size: 22px;
	line-height: 1.3;
	font-weight: 500;
	letter-spacing: -0.01em;
	color: var(--tkd-green);
	scroll-margin-top: 110px;
}

.tk-doc__text.is-numbered h2 { counter-increment: tkd-h2; }

.tk-doc__text.is-numbered h2::before {
	content: counter(tkd-h2) ". ";
}

.tk-doc .tk-doc__text h3 {
	margin: 32px 0 10px;
	font-size: 17px;
	line-height: 1.4;
	font-weight: 500;
	color: var(--tkd-green);
}

.tk-doc .tk-doc__text p {
	margin: 0 0 14px;
	color: var(--tkd-text);
}

.tk-doc .tk-doc__text a {
	color: var(--tkd-green);
	text-decoration: underline;
	text-decoration-color: var(--tkd-line);
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
	overflow-wrap: anywhere;
}

.tk-doc .tk-doc__text a:hover { text-decoration-color: var(--tkd-green); }

.tk-doc .tk-doc__text strong {
	font-weight: 600;
	color: var(--tkd-green);
}

.tk-doc .tk-doc__text ul,
.tk-doc .tk-doc__text ol {
	margin: 0 0 18px;
	padding: 0;
	list-style: none;
}

/* Тема ставит `li` свой маркер внутри строки (`list-style-position: inside`),
   и снять `list-style` у самого списка мало — у пунктов выходил второй номер
   рядом с нашим кружком, а в оглавлении маркер занимал отдельную строку. */
.tk-doc li {
	list-style: none;
}

.tk-doc .tk-doc__text li {
	position: relative;
	margin: 0 0 8px;
	padding-top: 0;    /* тема даёт пунктам по 5px сверху и снизу, кроме крайних, */
	padding-bottom: 0; /* — шаг списка выходил рваным, а маркеры прыгали по высоте */
	padding-left: 22px;
	line-height: 1.7;
}

.tk-doc .tk-doc__text ul > li::before {
	content: "";
	position: absolute;
	left: 4px;
	top: 0.85em;
	width: 6px;
	height: 1px;
	background: var(--tkd-accent);
}

.tk-doc .tk-doc__text ol { counter-reset: tkd-ol; }
.tk-doc .tk-doc__text ol > li { counter-increment: tkd-ol; padding-left: 30px; }

.tk-doc .tk-doc__text ol > li::before {
	content: counter(tkd-ol);
	position: absolute;
	left: 0;
	top: 0.2em;
	width: 20px;
	height: 20px;
	border: 1px solid var(--tkd-line);
	border-radius: 50%;
	font-size: 11px;
	line-height: 18px;
	text-align: center;
	color: var(--tkd-green);
}

/* Пункт договора: номер на полях слева, текст ровной колонкой.

   Номер висит в поле абсолютом, а текст идёт обычным потоком. Раньше пункт
   был сеткой «номер | текст», и она держалась на обёртке `<span>` вокруг
   текста: владелец поправила оферту в редакторе WordPress (25.09.2026),
   редактор обёртки выбросил, и каждая ссылка стала отдельной ячейкой
   сетки — «tinkley.r / u», слова столбиком. Отступом разметка пункта
   может быть любой: с обёрткой, без неё, со ссылками посреди строки. */
.tk-doc .tk-doc__text p.tk-doc__p {
	--tkd-indent: 52px;
	position: relative;
	padding-left: var(--tkd-indent);
}

.tk-doc .tk-doc__text p.tk-doc__p--sub { --tkd-indent: 64px; }

.tk-doc__n {
	position: absolute;
	left: 0;
	color: #A69D92;
	font-variant-numeric: tabular-nums;
}

/* Внутри пункта список идёт под текстом, а не под номером. */
.tk-doc .tk-doc__text .tk-doc__p + ul { margin-left: 52px; }

/* Главное коротко — строки «название / значение» в начале страницы. */
.tk-doc .tk-doc__facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 1px;
	margin: 0 0 8px;
	padding: 0;
	border: 1px solid var(--tkd-line);
	background: var(--tkd-line);
}

.tk-doc .tk-doc__facts > div {
	padding: 18px 20px;
	background: var(--tkd-paper);
}

.tk-doc .tk-doc__facts dt {
	margin: 0 0 4px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--tkd-accent);
}

.tk-doc .tk-doc__facts dd {
	margin: 0;
	font-size: 15px;
	line-height: 1.45;
	color: var(--tkd-green);
}

.tk-doc .tk-doc__note {
	margin: 24px 0;
	padding: 14px 18px;
	border-left: 2px solid var(--tkd-accent);
	background: var(--tkd-paper);
	font-size: 15px;
}

.tk-doc .tk-doc__note p:last-child { margin-bottom: 0; }

/* ---------- узкие экраны ---------- */

@media (max-width: 991px) {
	.tk-doc { padding: 32px 24px 72px; }
	.tk-doc__head { margin-bottom: 28px; padding-bottom: 24px; }
	.tk-doc__body { display: block; }

	.tk-doc__side {
		position: static;
		max-height: none;
		overflow: visible;
		margin: 0 -24px 32px;
	}

	/* Документы — строкой таблеток с прокруткой вбок. */
	.tk-doc__docs {
		flex-direction: row;
		gap: 8px;
		padding: 0 24px;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.tk-doc__docs::-webkit-scrollbar { display: none; }

	.tk-doc .tk-doc__doc {
		flex: none;
		padding: 8px 14px;
		border: 1px solid var(--tkd-line);
		border-radius: 999px;
		font-size: 13px;
		white-space: nowrap;
	}

	.tk-doc .tk-doc__doc.is-current {
		border-color: var(--tkd-green);
		background: var(--tkd-green);
		color: #F7F4EF;
	}

	.tk-doc__toc { display: none; }

	.tk-doc__toc-m {
		display: block;
		margin: 0 0 8px;
		border: 1px solid var(--tkd-line);
		background: var(--tkd-paper);
	}

	.tk-doc__toc-m summary {
		padding: 14px 16px;
		font-size: 14px;
		font-weight: 500;
		color: var(--tkd-green);
		cursor: pointer;
	}

	.tk-doc .tk-doc__toc-m .tk-doc__toc-list { padding: 0 16px 12px; }
	.tk-doc .tk-doc__toc-m .tk-doc__toc-list li { padding-left: 0; }
	.tk-doc .tk-doc__toc-m .tk-doc__toc-list li::before { content: none; }
	.tk-doc .tk-doc__toc-m .tk-doc__toc-list a { font-size: 14px; padding: 6px 0; }

	.tk-doc .tk-doc__text h2 { margin-top: 40px; scroll-margin-top: 80px; }
}

@media (max-width: 767px) {
	.tk-doc { padding: 24px 16px 56px; }
	.tk-doc__side { margin: 0 -16px 24px; }
	.tk-doc__docs { padding: 0 16px; }
	.tk-doc__text { font-size: 15px; line-height: 1.65; }
	.tk-doc .tk-doc__text h2 { font-size: 19px; }

	.tk-doc .tk-doc__text p.tk-doc__p { --tkd-indent: 40px; }
	.tk-doc .tk-doc__text p.tk-doc__p--sub { --tkd-indent: 52px; }
	.tk-doc .tk-doc__text .tk-doc__p + ul { margin-left: 0; }
}
