/* NEXUS — стилевой слой сайта. Правки вёрстки и оформления вносить только здесь. */

:root {
	--nx-ink: #101828;
	--nx-ink-soft: #475467;
	--nx-line: #e4e7ec;
	--nx-surface: #ffffff;
	--nx-surface-alt: #f9fafb;
	--nx-accent: #1b4dff;
	--nx-radius: 12px;
	--nx-max: 1240px;
	--nx-gap: 24px;
	--nx-font: "Inter", "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

/* Токены доступны как CSS-переменные в Elementor: var(--nx-accent) и т.п. */

body {
	font-family: var(--nx-font);
	color: var(--nx-ink);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

::selection {
	background: rgba(27, 77, 255, 0.16);
}

/* Читаемость длинных текстов: строки не растягиваются на весь экран */
.entry-content p,
.elementor-widget-text-editor p {
	max-width: 76ch;
}

/* Таблицы и код не вылезают за пределы контейнера */
.entry-content table,
.elementor-widget-text-editor table {
	display: block;
	overflow-x: auto;
	max-width: 100%;
}

.entry-content pre {
	overflow-x: auto;
	padding: 16px;
	border-radius: var(--nx-radius);
	background: var(--nx-surface-alt);
}

/* Картинки и видео не ломают сетку */
.entry-content img,
.elementor-widget-image img {
	max-width: 100%;
	height: auto;
}

/* Видимый фокус для клавиатуры — требование доступности */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 2px solid var(--nx-accent);
	outline-offset: 2px;
}

/* Печатная версия: убираем служебные блоки */
@media print {
	.ast-above-header,
	.ast-below-header,
	.site-footer,
	.elementor-location-header,
	.elementor-location-footer {
		display: none !important;
	}
}
