/**
 * /raspisanie/ — soft DomFK cream/red; JS widget #schedule = primary UX.
 * #raspisanie-html = quiet secondary accordion (crawlable, not competing).
 * Scoped to body.page-raspisanie. Tokens from tokens.css where available.
 */

body.page-raspisanie {
	--rasp-ink: var(--c-ink-2, #1d1d1d);
	--rasp-muted: var(--c-gray, #6b6558);
	--rasp-label: #7b7463;
	--rasp-hairline: rgba(29, 29, 29, 0.1);
	--rasp-card-bg: var(--c-white, #fff);
	--rasp-card-border: rgba(0, 0, 0, 0.06);
	--rasp-card-radius: var(--r-reviews, 16px);
	--rasp-card-shadow: 0 1px 2px rgba(29, 29, 29, 0.04), 0 14px 32px -22px rgba(29, 29, 29, 0.35);
	--rasp-field-bg: #fdf8ec;
	--rasp-accent: #c5252d;
	--rasp-measure: 72ch;
	--rasp-section-y: var(--sp-48, 3rem);
}

@media screen and (max-width: 640px) {
	body.page-raspisanie {
		--rasp-section-y: var(--sp-32, 2rem);
	}
}

body.page-raspisanie .block-hero__title {
	letter-spacing: -0.015em;
	text-wrap: balance;
}

body.page-raspisanie #raspisanie-brand .block-rich-text__content,
body.page-raspisanie #raspisanie-html .block-rich-text__content {
	max-width: min(100%, 1080px);
	margin-inline: auto;
}

body.page-raspisanie #raspisanie-brand .block-rich-text__content > h2:first-child {
	font-size: var(--fs-28, 1.75rem);
	letter-spacing: -0.02em;
	color: var(--rasp-ink);
	text-wrap: balance;
	margin-bottom: var(--sp-16, 1rem);
}

body.page-raspisanie #raspisanie-brand .block-rich-text__content p {
	color: var(--rasp-muted);
	max-width: var(--rasp-measure);
	text-wrap: pretty;
	line-height: 1.55;
}

/* Widget stays visually primary */
body.page-raspisanie .block-schedule--wide {
	margin-top: var(--sp-8, 0.5rem);
	margin-bottom: var(--sp-16, 1rem);
}

/* ---- Quiet secondary HTML shell (#raspisanie-html) ---- */

body.page-raspisanie #raspisanie-html {
	margin-top: var(--sp-8, 0.5rem);
}

body.page-raspisanie .rasp-html--quiet {
	padding-block: var(--sp-8, 0.5rem) var(--sp-24, 1.5rem);
}

body.page-raspisanie .rasp-html__shell {
	border: 1px solid var(--rasp-card-border);
	border-radius: var(--rasp-card-radius);
	background: linear-gradient(180deg, #fffef9 0%, var(--rasp-field-bg) 100%);
	box-shadow: none;
	overflow: clip;
}

body.page-raspisanie .rasp-html__shell-sum {
	cursor: pointer;
	list-style: none;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.55rem 1rem;
	padding: 0.85rem 1.15rem;
	font-size: var(--fs-15, 0.9375rem);
	color: var(--rasp-ink);
	user-select: none;
}

body.page-raspisanie .rasp-html__shell-sum::-webkit-details-marker {
	display: none;
}

body.page-raspisanie .rasp-html__shell-sum::before {
	content: "";
	width: 0.4rem;
	height: 0.4rem;
	border-right: 2px solid var(--rasp-accent);
	border-bottom: 2px solid var(--rasp-accent);
	transform: rotate(-45deg);
	transition: transform 0.15s ease;
	flex: 0 0 auto;
	opacity: 0.85;
}

body.page-raspisanie .rasp-html__shell[open] > .rasp-html__shell-sum::before {
	transform: rotate(45deg);
}

body.page-raspisanie .rasp-html__shell-label {
	font-weight: 600;
	letter-spacing: 0.01em;
	color: var(--rasp-accent);
}

body.page-raspisanie .rasp-html__shell-meta {
	color: var(--rasp-label);
	font-size: var(--fs-13, 0.8125rem);
	font-weight: 500;
}

body.page-raspisanie .rasp-html__shell-meta strong {
	color: var(--rasp-ink);
	font-weight: 650;
}

body.page-raspisanie .rasp-html__body {
	padding: 0 1.15rem 1.15rem;
	border-top: 1px solid var(--rasp-hairline);
}

body.page-raspisanie .rasp-html__h2 {
	font-size: var(--fs-22, 1.375rem);
	letter-spacing: -0.015em;
	color: var(--rasp-ink);
	margin: var(--sp-16, 1rem) 0 var(--sp-12, 0.75rem);
	text-wrap: balance;
}

body.page-raspisanie .rasp-html__lead,
body.page-raspisanie .rasp-html__foot {
	color: var(--rasp-muted);
	max-width: var(--rasp-measure);
	text-wrap: pretty;
	line-height: 1.55;
	font-size: var(--fs-14, 0.875rem);
}

body.page-raspisanie .rasp-html__jump {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-8, 0.5rem);
	margin: var(--sp-16, 1rem) 0 var(--sp-20, 1.25rem);
}

body.page-raspisanie .rasp-html__jump-link {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 0 0.9rem;
	border-radius: 999px;
	border: 1px solid var(--rasp-card-border);
	background: rgba(255, 255, 255, 0.72);
	color: var(--rasp-ink);
	text-decoration: none;
	font-size: var(--fs-13, 0.8125rem);
	letter-spacing: 0.01em;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

body.page-raspisanie .rasp-html__jump-link:hover,
body.page-raspisanie .rasp-html__jump-link:focus-visible {
	border-color: rgba(197, 37, 45, 0.35);
	box-shadow: 0 0 0 4px rgba(197, 37, 45, 0.1);
	outline: none;
}

body.page-raspisanie .rasp-html__jump-link--widget {
	background: var(--c-white, #fff);
	border-color: rgba(197, 37, 45, 0.28);
	color: var(--rasp-accent);
	font-weight: 600;
}

body.page-raspisanie .rasp-html__cat {
	margin: 0 0 var(--sp-20, 1.25rem);
	padding: var(--sp-16, 1rem) var(--sp-16, 1rem) var(--sp-8, 0.5rem);
	border: 1px solid var(--rasp-card-border);
	border-radius: calc(var(--rasp-card-radius) - 4px);
	background: var(--rasp-card-bg);
	box-shadow: var(--rasp-card-shadow);
}

body.page-raspisanie .rasp-html__cat-title {
	margin: 0 0 var(--sp-12, 0.75rem);
	font-size: var(--fs-18, 1.125rem);
	letter-spacing: -0.015em;
	color: var(--rasp-ink);
	display: flex;
	align-items: baseline;
	gap: var(--sp-8, 0.5rem);
	flex-wrap: wrap;
}

body.page-raspisanie .rasp-html__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.75rem;
	padding: 0 0.45rem;
	border-radius: 999px;
	background: var(--rasp-field-bg);
	color: var(--rasp-label);
	font-size: var(--fs-12, 0.75rem);
	font-weight: 600;
	letter-spacing: 0.02em;
}

body.page-raspisanie .rasp-html__day {
	border-top: 1px solid var(--rasp-hairline);
	padding: var(--sp-6, 0.35rem) 0;
}

body.page-raspisanie .rasp-html__day:first-child {
	border-top: 0;
}

body.page-raspisanie .rasp-html__day-sum {
	cursor: pointer;
	list-style: none;
	display: flex;
	align-items: center;
	gap: var(--sp-8, 0.5rem);
	flex-wrap: wrap;
	padding: var(--sp-8, 0.5rem) 0;
	font-weight: 600;
	color: var(--rasp-ink);
	font-size: var(--fs-15, 0.9375rem);
}

body.page-raspisanie .rasp-html__day-sum::-webkit-details-marker {
	display: none;
}

body.page-raspisanie .rasp-html__day-sum::before {
	content: "";
	width: 0.4rem;
	height: 0.4rem;
	border-right: 2px solid var(--rasp-label);
	border-bottom: 2px solid var(--rasp-label);
	transform: rotate(-45deg);
	transition: transform 0.15s ease;
	margin-right: 0.1rem;
	flex: 0 0 auto;
}

body.page-raspisanie .rasp-html__day[open] > .rasp-html__day-sum::before {
	transform: rotate(45deg);
}

body.page-raspisanie .rasp-html__day.is-today > .rasp-html__day-sum {
	color: var(--rasp-accent);
}

body.page-raspisanie .rasp-html__badge {
	display: inline-flex;
	align-items: center;
	padding: 0.1rem 0.55rem;
	border-radius: 999px;
	background: rgba(197, 37, 45, 0.1);
	color: var(--rasp-accent);
	font-size: var(--fs-12, 0.75rem);
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: lowercase;
}

body.page-raspisanie .rasp-html__table-wrap {
	overflow-x: auto;
	margin: 0 0 var(--sp-10, 0.6rem);
	border-radius: calc(var(--rasp-card-radius) - 6px);
	border: 1px solid var(--rasp-hairline);
	background: #fffef9;
}

body.page-raspisanie .rasp-html__table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--fs-14, 0.875rem);
	min-width: 520px;
}

body.page-raspisanie .rasp-html__table th,
body.page-raspisanie .rasp-html__table td {
	padding: 0.55rem 0.75rem;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid var(--rasp-hairline);
}

body.page-raspisanie .rasp-html__table th {
	font-size: var(--fs-12, 0.75rem);
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--rasp-label);
	background: rgba(253, 248, 236, 0.7);
}

body.page-raspisanie .rasp-html__table tr:last-child td {
	border-bottom: 0;
}

body.page-raspisanie .rasp-html__time {
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
	color: var(--rasp-ink);
	font-weight: 600;
	width: 7.5rem;
}

body.page-raspisanie .rasp-html__title {
	color: var(--rasp-ink);
	font-weight: 500;
}

body.page-raspisanie .rasp-html__room,
body.page-raspisanie .rasp-html__trainer {
	color: var(--rasp-muted);
}

body.page-raspisanie .rasp-html__empty {
	color: var(--rasp-muted);
	font-size: var(--fs-14, 0.875rem);
	margin: 0 0 var(--sp-8, 0.5rem);
}

body.page-raspisanie .rasp-html__foot {
	margin-top: var(--sp-8, 0.5rem);
	font-size: var(--fs-13, 0.8125rem);
}

body.page-raspisanie .rasp-html__foot code {
	font-size: 0.92em;
	background: var(--rasp-field-bg);
	padding: 0.05em 0.35em;
	border-radius: 4px;
}

/* Hide JSON-LD visually (already non-rendered); keep in DOM */
body.page-raspisanie #domfk-schema-raspisanie-itemlist {
	display: none !important;
}

@media screen and (max-width: 640px) {
	body.page-raspisanie .rasp-html__shell-sum {
		padding: 0.75rem 0.9rem;
	}

	body.page-raspisanie .rasp-html__body {
		padding: 0 0.9rem 0.9rem;
	}

	body.page-raspisanie .rasp-html__cat {
		padding: var(--sp-14, 0.85rem) var(--sp-12, 0.75rem) var(--sp-6, 0.35rem);
	}

	body.page-raspisanie .rasp-html__table th:nth-child(3),
	body.page-raspisanie .rasp-html__table td:nth-child(3) {
		display: none;
	}

	body.page-raspisanie .rasp-html__table {
		min-width: 360px;
	}
}

/* Print: expand text overview (KINEXT-like print affordance, DomFK style) */
@media print {
	body.page-raspisanie .block-schedule--wide {
		display: none !important;
	}

	body.page-raspisanie .rasp-html__shell,
	body.page-raspisanie .rasp-html__day {
		border: 0;
		background: transparent;
		box-shadow: none;
	}

	body.page-raspisanie .rasp-html__shell > .rasp-html__body,
	body.page-raspisanie .rasp-html__day > .rasp-html__table-wrap {
		display: block !important;
	}

	body.page-raspisanie .rasp-html__shell-sum::before,
	body.page-raspisanie .rasp-html__day-sum::before {
		display: none;
	}

	body.page-raspisanie .rasp-html__jump {
		display: none;
	}
}
