/* ==========================================================================
   Версия для слабовидящих
   ========================================================================== */

.gpc-a11y-fab {
	position: fixed;
	top: 50%;
	right: 0;
	z-index: 80;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 66px;
	padding: 0;
	border: 0;
	border-radius: 16px 0 0 16px;
	background: var(--gpc-coral);
	color: #ffffff;
	box-shadow: 0 10px 26px -12px rgba(10, 43, 69, 0.55);
	transform: translateY(-50%);
	cursor: pointer;
}

.gpc-a11y-fab:hover,
.gpc-a11y-fab:focus-visible {
	background: var(--gpc-coral-dark);
	color: #ffffff;
}

.gpc-a11y {
	width: min(440px, 100vw);
	max-width: 100vw;
	height: 100dvh;
	max-height: 100dvh;
	margin: 0 0 0 auto;
	padding: 0;
	border: 0;
	background: var(--gpc-bg);
	color: var(--gpc-text);
	box-shadow: -24px 0 70px rgba(0, 0, 0, 0.28);
}

.gpc-a11y::backdrop {
	background: rgba(8, 32, 51, 0.55);
	backdrop-filter: blur(2px);
}

.gpc-a11y[open] {
	animation: gpc-a11y-slide 220ms ease-out;
}

@keyframes gpc-a11y-slide {
	from {
		opacity: 0.7;
		transform: translateX(24px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

.gpc-a11y__inner {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 26px 24px;
	overflow-y: auto;
}

.gpc-a11y__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--gpc-border);
}

.gpc-a11y__kicker {
	display: block;
	margin-bottom: 3px;
	color: var(--gpc-coral);
	font-size: 0.62rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.gpc-a11y__title {
	margin: 0;
	font-size: 1.35rem;
	line-height: 1.2;
}

.gpc-a11y__close,
.gpc-cookie-dialog__close,
.gpc-search__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	flex: 0 0 40px;
	border: 1px solid var(--gpc-border);
	border-radius: 10px;
	background: transparent;
	color: var(--gpc-text);
	cursor: pointer;
}

.gpc-a11y__close:hover,
.gpc-cookie-dialog__close:hover,
.gpc-search__close:hover {
	background: var(--gpc-mint-2);
}

.gpc-a11y__form {
	margin-top: 18px;
}

.gpc-a11y__group {
	margin: 0 0 20px;
	padding: 0;
	border: 0;
}

.gpc-a11y__group legend {
	margin-bottom: 8px;
	padding: 0;
	color: var(--gpc-text);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.gpc-a11y__chips {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px;
}

.gpc-a11y__chip {
	position: relative;
	display: block;
	cursor: pointer;
}

.gpc-a11y__chip input,
.gpc-a11y__scheme input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.gpc-a11y__chip span {
	display: block;
	padding: 10px 8px;
	border: 1px solid var(--gpc-border-strong);
	border-radius: 10px;
	background: var(--gpc-surface);
	color: var(--gpc-text);
	font-size: 0.76rem;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
}

.gpc-a11y__chip input:checked + span {
	border-color: var(--gpc-teal);
	background: var(--gpc-teal);
	color: #ffffff;
}

.gpc-a11y__chip input:focus-visible + span,
.gpc-a11y__scheme input:focus-visible + .gpc-a11y__scheme-preview {
	outline: 3px solid var(--gpc-focus);
	outline-offset: 2px;
}

.gpc-a11y__schemes {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px;
}

.gpc-a11y__scheme {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 7px;
	border: 1px solid transparent;
	border-radius: 10px;
	cursor: pointer;
}

.gpc-a11y__scheme:has(input:checked) {
	border-color: var(--gpc-teal);
	background: var(--gpc-mint-2);
}

.gpc-a11y__scheme-preview {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 34px;
	flex: 0 0 38px;
	border: 1px solid var(--gpc-border-strong);
	border-radius: 7px;
	font-size: 0.8rem;
	font-weight: 800;
}

.gpc-a11y__scheme > span:last-child {
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1.2;
}

.gpc-a11y__group--switches {
	margin-bottom: 14px;
}

.gpc-switch {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 0;
	border-bottom: 1px solid var(--gpc-border);
	cursor: pointer;
}

.gpc-switch:last-of-type {
	border-bottom: 0;
}

.gpc-switch input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.gpc-switch__track {
	position: relative;
	width: 42px;
	height: 24px;
	flex: 0 0 42px;
	border-radius: 999px;
	background: var(--gpc-border-strong);
	transition: background-color 160ms ease;
}

.gpc-switch__track::after {
	content: "";
	position: absolute;
	top: 3px;
	left: 3px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #ffffff;
	transition: transform 160ms ease;
}

.gpc-switch input:checked + .gpc-switch__track {
	background: var(--gpc-coral);
}

.gpc-switch input:checked + .gpc-switch__track::after {
	transform: translateX(18px);
}

.gpc-switch input:focus-visible + .gpc-switch__track {
	outline: 3px solid var(--gpc-focus);
	outline-offset: 2px;
}

.gpc-switch__label {
	font-size: 0.8rem;
	font-weight: 600;
	line-height: 1.35;
}

.gpc-a11y__actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 6px;
}

.gpc-a11y__actions .gpc-btn {
	width: 100%;
}

.gpc-a11y__reset {
	color: var(--gpc-muted);
	font-size: 0.74rem;
	font-weight: 700;
	text-align: center;
	text-decoration: underline;
	text-underline-offset: 0.16em;
}

.gpc-a11y__reset:hover {
	color: var(--gpc-coral);
}

.gpc-a11y__hint {
	margin: 14px 0 0;
	color: var(--gpc-muted);
	font-size: 0.68rem;
	line-height: 1.5;
}

/* Мобильная кнопка */

@media (max-width: 782px) {
	.gpc-a11y-fab {
		top: 50%;
		right: 0;
		bottom: auto;
		width: 56px;
		height: 66px;
		border-radius: 16px 0 0 16px;
		transform: translateY(-50%);
	}

	.gpc-a11y {
		width: 100vw;
	}
}

/* ==========================================================================
   Размер шрифта

   Масштабируем страницу целиком, а не только rem-размеры: иначе заголовки
   с clamp() и элементы GeneratePress с px оставались бы прежними.
   ========================================================================== */

html[data-gpc-font="112"] {
	zoom: 1.12;
}

html[data-gpc-font="125"] {
	zoom: 1.25;
}

html[data-gpc-font="140"] {
	zoom: 1.4;
}

/* Запасной вариант для браузеров без zoom. */
@supports not (zoom: 1) {
	html[data-gpc-font="112"] {
		font-size: 112.5%;
	}

	html[data-gpc-font="125"] {
		font-size: 125%;
	}

	html[data-gpc-font="140"] {
		font-size: 140%;
	}
}

/* Панель настроек не должна выходить за экран при увеличенном масштабе. */
html[data-gpc-font="112"] .gpc-a11y {
	width: min(calc(440px / 1.12), calc(100vw / 1.12));
	height: calc(100dvh / 1.12);
}

html[data-gpc-font="125"] .gpc-a11y {
	width: min(calc(440px / 1.25), calc(100vw / 1.25));
	height: calc(100dvh / 1.25);
}

html[data-gpc-font="140"] .gpc-a11y {
	width: min(calc(440px / 1.4), calc(100vw / 1.4));
	height: calc(100dvh / 1.4);
}

/* ==========================================================================
   Интервалы и ссылки
   ========================================================================== */

html[data-gpc-spacing="on"] body {
	line-height: 2;
}

html[data-gpc-spacing="on"] p,
html[data-gpc-spacing="on"] li {
	margin-bottom: 1.2em;
}

html[data-gpc-spacing="on"] h1,
html[data-gpc-spacing="on"] h2,
html[data-gpc-spacing="on"] h3,
html[data-gpc-spacing="on"] h4 {
	line-height: 1.4;
}

html[data-gpc-spacing="on"] .gpc-section__title,
html[data-gpc-spacing="on"] .gpc-hero__title {
	line-height: 1.15;
}

html[data-gpc-links="on"] a {
	text-decoration: underline !important;
	text-underline-offset: 0.18em;
}

html[data-gpc-links="on"] .gpc-btn,
html[data-gpc-links="on"] .gpc-quick__card,
html[data-gpc-links="on"] .gpc-campus,
html[data-gpc-links="on"] .gpc-parent-card,
html[data-gpc-links="on"] .gpc-news__title a {
	text-decoration: none !important;
}

/* ==========================================================================
   Отключение изображений
   ========================================================================== */

html[data-gpc-images="off"] img {
	display: none !important;
}

html[data-gpc-images="off"] .gpc-hero__photo,
html[data-gpc-images="off"] .gpc-about__photo,
html[data-gpc-images="off"] .gpc-head__photo,
html[data-gpc-images="off"] .gpc-news__image {
	display: none !important;
}

html[data-gpc-images="off"] .gpc-footer__logo img {
	display: block !important;
}

html[data-gpc-images="off"] .gpc-hero__visual {
	min-height: 0;
	padding: 0;
}

html[data-gpc-images="off"] .gpc-hero__stats {
	margin-top: 0;
}

html[data-gpc-images="off"] .gpc-hero__badge {
	position: static;
	margin: 0 0 14px auto;
	transform: none;
}

/* ==========================================================================
   Цветовые схемы
   ========================================================================== */

html[data-gpc-scheme="bw"] {
	--gpc-bg: #ffffff;
	--gpc-surface: #ffffff;
	--gpc-surface-2: #ffffff;
	--gpc-text: #000000;
	--gpc-text-soft: #000000;
	--gpc-muted: #222222;
	--gpc-heading: #000000;
	--gpc-teal: #000000;
	--gpc-teal-900: #000000;
	--gpc-coral: #000000;
	--gpc-coral-dark: #000000;
	--gpc-yellow: #ffffff;
	--gpc-mint: #ffffff;
	--gpc-mint-2: #ffffff;
	--gpc-sand: #ffffff;
	--gpc-sky: #ffffff;
	--gpc-on-dark: #ffffff;
	--gpc-border: #000000;
	--gpc-border-strong: #000000;
	--gpc-focus: #000000;
	--gpc-shadow: none;
	--gpc-shadow-soft: none;
}

html[data-gpc-scheme="dark"] {
	--gpc-bg: #000000;
	--gpc-surface: #111111;
	--gpc-surface-2: #191919;
	--gpc-text: #ffffff;
	--gpc-text-soft: #dddddd;
	--gpc-muted: #bbbbbb;
	--gpc-heading: #ffffff;
	--gpc-teal: #ffd400;
	--gpc-teal-900: #000000;
	--gpc-coral: #ffd400;
	--gpc-coral-dark: #ffe066;
	--gpc-yellow: #ffd400;
	--gpc-mint: #141414;
	--gpc-mint-2: #141414;
	--gpc-sand: #000000;
	--gpc-sky: #141414;
	--gpc-on-dark: #ffffff;
	--gpc-border: #555555;
	--gpc-border-strong: #777777;
	--gpc-focus: #ffd400;
	--gpc-shadow: none;
	--gpc-shadow-soft: none;
}

html[data-gpc-scheme="blue"] {
	--gpc-bg: #072a4a;
	--gpc-surface: #0a355b;
	--gpc-surface-2: #0a355b;
	--gpc-text: #ffe066;
	--gpc-text-soft: #ffec9a;
	--gpc-muted: #ffd633;
	--gpc-heading: #ffffff;
	--gpc-teal: #ffd400;
	--gpc-teal-900: #041d33;
	--gpc-coral: #ffd400;
	--gpc-coral-dark: #ffe066;
	--gpc-yellow: #ffd400;
	--gpc-mint: #0a355b;
	--gpc-mint-2: #0a355b;
	--gpc-sand: #072a4a;
	--gpc-sky: #0a355b;
	--gpc-on-dark: #ffffff;
	--gpc-border: #2f5f8a;
	--gpc-border-strong: #4a7aa5;
	--gpc-focus: #ffffff;
	--gpc-shadow: none;
	--gpc-shadow-soft: none;
}

html[data-gpc-scheme="bw"] body,
html[data-gpc-scheme="dark"] body,
html[data-gpc-scheme="blue"] body {
	background: var(--gpc-bg);
	color: var(--gpc-text);
}

html[data-gpc-scheme="bw"] .gpc-btn--primary,
html[data-gpc-scheme="bw"] .gpdou109 input[type="submit"] {
	border-color: #000000;
	background: #000000;
	color: #ffffff;
	box-shadow: none;
}

html[data-gpc-scheme="dark"] .gpc-btn--primary,
html[data-gpc-scheme="dark"] .gpdou109 input[type="submit"],
html[data-gpc-scheme="blue"] .gpc-btn--primary,
html[data-gpc-scheme="blue"] .gpdou109 input[type="submit"] {
	border-color: var(--gpc-coral);
	background: var(--gpc-coral);
	color: #000000;
	box-shadow: none;
}

html[data-gpc-scheme="bw"] .gpc-btn--primary,
html[data-gpc-scheme="bw"] .gpc-btn--light,
html[data-gpc-scheme="bw"] .gpc-btn--ghost,
html[data-gpc-scheme="bw"] .gpc-btn--secondary {
	border-width: 2px;
}

html[data-gpc-scheme="bw"] .gpc-btn--light {
	border-color: #000000;
	background: #000000;
	color: #ffffff;
}

html[data-gpc-scheme="dark"] .gpc-btn--light,
html[data-gpc-scheme="blue"] .gpc-btn--light {
	border-color: var(--gpc-coral);
	background: var(--gpc-coral);
	color: #000000;
}

html[data-gpc-scheme="bw"] .gpc-topbar,
html[data-gpc-scheme="bw"] .gpc-footer,
html[data-gpc-scheme="bw"] .gpc-safety,
html[data-gpc-scheme="bw"] .gpc-nutrition,
html[data-gpc-scheme="bw"] .gpc-edu__feature,
html[data-gpc-scheme="bw"] .gpc-cta {
	border: 1px solid #000000;
}

html[data-gpc-scheme="dark"] .gpc-topbar,
html[data-gpc-scheme="dark"] .gpc-footer,
html[data-gpc-scheme="dark"] .gpc-safety,
html[data-gpc-scheme="dark"] .gpc-nutrition,
html[data-gpc-scheme="dark"] .gpc-edu__feature,
html[data-gpc-scheme="dark"] .gpc-cta {
	border: 1px solid #555555;
}

html[data-gpc-scheme="blue"] .gpc-topbar,
html[data-gpc-scheme="blue"] .gpc-footer,
html[data-gpc-scheme="blue"] .gpc-safety,
html[data-gpc-scheme="blue"] .gpc-nutrition,
html[data-gpc-scheme="blue"] .gpc-edu__feature,
html[data-gpc-scheme="blue"] .gpc-cta {
	border: 1px solid #2f5f8a;
}

html[data-gpc-scheme="bw"] .gpc-hero,
html[data-gpc-scheme="dark"] .gpc-hero,
html[data-gpc-scheme="blue"] .gpc-hero {
	background: var(--gpc-bg);
}

html[data-gpc-scheme="bw"] .gpc-hero__badge {
	border: 3px solid #000000;
	background: #000000;
	color: #ffffff;
}

html[data-gpc-scheme="dark"] .gpc-hero__badge,
html[data-gpc-scheme="blue"] .gpc-hero__badge {
	border: 3px solid var(--gpc-text);
	background: var(--gpc-coral);
	color: #000000;
}

html[data-gpc-scheme="bw"] .gpc-hero__photo img,
html[data-gpc-scheme="bw"] .gpc-about__photo img,
html[data-gpc-scheme="bw"] .gpc-head__photo img,
html[data-gpc-scheme="bw"] .gpc-news__image img {
	filter: grayscale(1);
}

html[data-gpc-scheme="bw"] .gpc-hero__photo::after,
html[data-gpc-scheme="bw"] .gpc-hero__caption {
	display: none;
}

html[data-gpc-scheme="bw"] .gpc-campus__number {
	color: #e6e6e6;
}

html[data-gpc-scheme="bw"] .gpc-news__placeholder {
	background: #ffffff;
	border: 1px solid #000000;
}

html[data-gpc-scheme="bw"] .gpc-menu-card,
html[data-gpc-scheme="bw"] .gpc-head,
html[data-gpc-scheme="bw"] .gpc-quick__card,
html[data-gpc-scheme="bw"] .gpc-campus,
html[data-gpc-scheme="bw"] .gpc-parent-card,
html[data-gpc-scheme="bw"] .gpc-news__card {
	border: 1px solid #000000;
}

html[data-gpc-scheme="dark"] .gpc-hero__sun,
html[data-gpc-scheme="blue"] .gpc-hero__sun,
html[data-gpc-scheme="bw"] .gpc-hero__sun {
	background: var(--gpc-coral);
	opacity: 0.18;
}

html:not([data-gpc-scheme="normal"]) .gpc-hero__blob,
html:not([data-gpc-scheme="normal"]) .gpc-hero__dots,
html:not([data-gpc-scheme="normal"]) .gpc-hero__visual::before,
html:not([data-gpc-scheme="normal"]) .gpc-cta__circle,
html:not([data-gpc-scheme="normal"]) .gpc-nutrition__glow,
html:not([data-gpc-scheme="normal"]) .gpc-nutrition__plate,
html:not([data-gpc-scheme="normal"]) .gpc-edu__feature::after,
html:not([data-gpc-scheme="normal"]) .gpc-about__photo figcaption {
	display: none !important;
}

html:not([data-gpc-scheme="normal"]) .gpc-menu-card {
	transform: none;
}

html[data-gpc-scheme="dark"] .gpc-cta,
html[data-gpc-scheme="blue"] .gpc-cta,
html[data-gpc-scheme="bw"] .gpc-cta {
	background: var(--gpc-teal-900);
}

html[data-gpc-scheme="dark"] .gpc-cta .gpc-btn--light,
html[data-gpc-scheme="blue"] .gpc-cta .gpc-btn--light,
html[data-gpc-scheme="bw"] .gpc-cta .gpc-btn--light {
	color: #000000;
}

html[data-gpc-scheme="dark"] .gpc-kicker,
html[data-gpc-scheme="blue"] .gpc-kicker {
	border-color: var(--gpc-border-strong);
	background: rgba(255, 255, 255, 0.07);
	color: var(--gpc-yellow);
}

html[data-gpc-scheme="bw"] .gpc-kicker {
	border-color: #000000;
	background: #ffffff;
	color: #000000;
}

html[data-gpc-scheme="bw"] .gpc-hero__title em {
	background: none;
	color: #000000;
	text-decoration: underline;
	text-decoration-thickness: 0.12em;
	text-underline-offset: 0.12em;
}

html[data-gpc-scheme="bw"] .main-title a::before,
html[data-gpc-scheme="bw"] .gpc-footer__logo img {
	filter: grayscale(1);
}

html[data-gpc-scheme="bw"] .gpc-topbar__max img,
html[data-gpc-scheme="bw"] .gpc-footer__social img,
html[data-gpc-scheme="bw"] .gpc-btn__brand,
html[data-gpc-scheme="bw"] .gpc-social-badge {
	filter: grayscale(1);
}

html[data-gpc-scheme="bw"] .gpc-hero__sun,
html[data-gpc-images="off"] .gpc-hero__sun {
	display: none !important;
}

html[data-gpc-scheme="dark"] .gpc-hero__stats,
html[data-gpc-scheme="blue"] .gpc-hero__stats,
html[data-gpc-scheme="bw"] .gpc-hero__stats {
	border-color: var(--gpc-border);
}

html[data-gpc-scheme="dark"] .gpc-topbar__cta,
html[data-gpc-scheme="blue"] .gpc-topbar__cta,
html[data-gpc-scheme="bw"] .gpc-topbar__cta {
	color: #000000;
}

html[data-gpc-scheme="bw"] .gpc-svedeniya-nav__item.is-current a {
	color: #ffffff;
}

html[data-gpc-scheme="dark"] .gpc-svedeniya-nav__item.is-current a,
html[data-gpc-scheme="blue"] .gpc-svedeniya-nav__item.is-current a {
	color: #000000;
}

html[data-gpc-scheme="bw"] .gpc-svedeniya-nav__item.is-current .gpc-svedeniya-nav__icon {
	color: #ffffff;
}

html[data-gpc-scheme="dark"] .gpc-svedeniya-nav__item.is-current .gpc-svedeniya-nav__icon,
html[data-gpc-scheme="blue"] .gpc-svedeniya-nav__item.is-current .gpc-svedeniya-nav__icon {
	color: #000000;
}

html[data-gpc-scheme="dark"] .gpc-svedeniya-card,
html[data-gpc-scheme="blue"] .gpc-svedeniya-card,
html[data-gpc-scheme="bw"] .gpc-svedeniya-card {
	border-width: 1px;
	border-style: solid;
}

html[data-gpc-scheme="dark"] .gpc-hero__title em,
html[data-gpc-scheme="blue"] .gpc-hero__title em {
	background: none;
	color: var(--gpc-yellow);
	text-decoration: underline;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.12em;
}

html[data-gpc-scheme="dark"] .entry-content th,
html[data-gpc-scheme="blue"] .entry-content th {
	color: #000000;
}

html[data-gpc-scheme="dark"] .gpc-svedeniya-nav__item a:hover,
html[data-gpc-scheme="blue"] .gpc-svedeniya-nav__item a:hover {
	background: var(--gpc-surface-2);
	color: var(--gpc-yellow);
}

html[data-gpc-scheme="dark"] .gpc-svedeniya-nav__item a:hover .gpc-svedeniya-nav__icon,
html[data-gpc-scheme="blue"] .gpc-svedeniya-nav__item a:hover .gpc-svedeniya-nav__icon {
	color: var(--gpc-yellow);
}

/* ==========================================================================
   Уменьшение движения
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.gpc-a11y[open] {
		animation: none;
	}

	.gpc-btn,
	.gpc-quick__card,
	.gpc-campus,
	.gpc-parent-card,
	.gpc-news__image img,
	.gpc-menu-card {
		transition: none !important;
	}

	.gpc-btn:hover,
	.gpc-quick__card:hover,
	.gpc-campus:hover,
	.gpc-parent-card:hover {
		transform: none !important;
	}
}
