/* =========================================================
   БЛОК 1: БАЗОВЫЕ НАСТРОЙКИ (СБРОС И ГЛОБАЛЬНЫЕ СТИЛИ)
   ========================================================= */

	* {
		margin: 0;
		padding: 0;
		box-sizing: border-box;
	}

	html, body {
		height: 100%;
		width: 100%;
		overflow-x: hidden;
		font-family: Arial, sans-serif;
		background-color: #fff;
		color: #333;
	}

	body {
		display: flex;
		flex-direction: column;
		min-height: 100vh;
		margin: 0;
		padding: 0;
	}

	@font-face {
		font-family: 'Simple-Line-Icons';
		src: url('fonts/Simple-Line-Icons.woff2') format('woff2'),
			 url('fonts/Simple-Line-Icons.woff') format('woff');
		font-weight: normal;
		font-style: normal;
	}

/* =========================================================
   БЛОК 2: ШАПКА (header.php)
   ========================================================= */

	.header {
		display: flex;
		align-items: center;
		background-color: #000770;
		color: white;
		padding: 10px 20px;
		width: 100%;
		box-sizing: border-box;
		gap: 24px;
		flex-shrink: 0;
	}

	.header-left {
		flex: 0 0 15%;
		min-width: 0;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.date-display {
		text-align: center;
		width: 100%;
	}

	#current-day {
		font-weight: bold;
		font-size: clamp(14px, 1.2vw, 18px);
	}

	#current-date {
		font-size: clamp(12px, 1vw, 16px);
		opacity: 0.9;
		margin-top: 4px;
	}

	.header-center {
		flex: 1;
		display: flex;
		align-items: center;
		gap: 24px;
		min-width: 0;
	}

	.logo-link {
		flex-shrink: 0;
	}

	.logo-link img {
		max-height: 110px;
		width: auto;
		object-fit: contain;
		display: block;
	}

	.school-name {
		margin: 0 auto;
		text-align: center;
		line-height: 1.3;
		width: 100%;
		max-width: 800px;
		box-sizing: border-box;
	}

	.box {
		white-space: normal;
		overflow: visible;
		text-overflow: clip;
		width: 100%;
	}

	.box1, .box3 {
		font-size: clamp(13px, 1.1vw, 15px);
	}

	.box2 {
		font-size: clamp(15px, 1.4vw, 18px);
		font-weight: bold;
	}

	.header-right {
		flex: 0 0 15%;
		min-width: 0;
		display: flex;
		justify-content: flex-end;
		align-items: center;
	}

	.social-links {
		display: flex;
		gap: 12px;
	}

	.social-link img {
		width: 32px;
		height: 32px;
		vertical-align: middle;
		display: block;
	}

	@media (max-width: 900px) {
		.header {
			flex-direction: column;
			align-items: stretch;
			text-align: center;
			padding: 15px 20px;
			gap: 16px;
		}
		.header-left, .header-center, .header-right {
			width: 100%;
			flex: none;
			justify-content: center;
		}
		.header-center {
			flex-direction: column-reverse;
			align-items: center;
			gap: 12px;
		}
		.school-name {
			margin: 0;
			max-width: 100%;
		}
		.logo-link img {
			max-height: 80px;
		}
		.header-right {
			align-items: center;
			justify-content: center;
		}
	}

/* =========================================================
   БЛОК 3: МЕНЮ С ВЫПАДАЮЩИМИ СПИСКАМИ (С 3 УРОВНЯМИ)
   ========================================================= */

	/* --- КОНТЕЙНЕР МЕНЮ --- */
	.menu-wrapper {
		display: flex !important;
		justify-content: center !important;
		width: 100% !important;
		box-sizing: border-box !important;
		margin-top: 12px;
		position: relative;
		z-index: 200;
	}

	.main-nav-wrapper {
		position: relative;
		width: fit-content;
		box-sizing: border-box;
		background-color: rgba(255, 255, 255, 0.85);
		backdrop-filter: blur(4px);
		border-radius: 8px;
	}

	.main-nav-wrapper ul {
		list-style: none;
		margin: 0;
		padding: 0;
	}

	/* --- ГЛАВНОЕ МЕНЮ --- */
	.main-nav {
		display: flex;
		flex-wrap: wrap;
		gap: 4px;
	}

	.nav-item {
		position: relative;
		flex: 0 1 auto;
	}

	/* --- ССЫЛКИ И ЗАГЛУШКИ (a и span) --- */
	.main-nav-wrapper .nav-link,
	.main-nav-wrapper .submenu-link,
	.main-nav-wrapper span.nav-link,
	.main-nav-wrapper span.submenu-link {
		display: block;
		background-color: transparent;
		white-space: nowrap;
		transition: color 0.2s, font-size 0.2s, font-weight 0.2s;
		cursor: default;
		text-decoration: none;
	}

	/* --- ПЕРВЫЙ УРОВЕНЬ --- */
	.main-nav-wrapper .nav-link,
	.main-nav-wrapper span.nav-link {
		padding: 12px 16px;
		color: #1e40af;
		font-size: clamp(13px, 1.1vw, 15px);
	}

	.nav-item:hover > .nav-link,
	.nav-item:hover > span.nav-link,
	.nav-item.active > .nav-link {
		color: #3b82f6;
		font-size: clamp(14px, 1.2vw, 16px);
		font-weight: 600;
		background-color: transparent !important;
	}

	/* --- ВТОРОЙ И ТРЕТИЙ УРОВНИ --- */
	.main-nav-wrapper .submenu-link,
	.main-nav-wrapper span.submenu-link {
		padding: 8px 16px;
		color: #333333;
		font-size: 14px;
		border-bottom: 1px solid #e0e0e0;
	}

	.main-nav-wrapper .submenu-item:last-child .submenu-link,
	.main-nav-wrapper .submenu-item:last-child span.submenu-link {
		border-bottom: none;
	}

	.submenu-link:hover,
	.main-nav-wrapper span.submenu-link:hover {
		background-color: #eefaf5;
		color: #0056b3;
	}

	/* --- ВТОРОЙ УРОВЕНЬ (подменю) --- */
	.submenu {
		position: absolute;
		top: 100%;
		left: 0;
		min-width: 200px;
		background-color: #f5f5f5;
		border-radius: 4px;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
		padding: 6px 0;
		opacity: 0;
		visibility: hidden;
		transform: translateY(6px);
		transition: opacity 0.25s, visibility 0.25s, transform 0.25s;
		z-index: 100;
		margin-top: 4px;
	}

	.nav-item:hover > .submenu {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}

	/* --- ТРЕТИЙ УРОВЕНЬ --- */
	.submenu-item-has-child {
		position: relative;
	}

	.submenu-link-parent::after,
	.main-nav-wrapper span.submenu-link-parent::after {
		content: "▸";
		position: absolute;
		right: 12px;
		color: #999;
		font-size: 14px;
		transition: transform 0.2s;
	}

	.submenu-item-has-child:hover .submenu-link-parent::after,
	.submenu-item-has-child:hover span.submenu-link-parent::after {
		transform: rotate(90deg);
		color: #0056b3;
	}

	.submenu-level-3 {
		position: absolute;
		top: 0;
		left: 100%;
		min-width: 220px;
		background-color: #f5f5f5;
		border-radius: 4px;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
		padding: 6px 0;
		opacity: 0;
		visibility: hidden;
		transform: translateX(6px);
		transition: opacity 0.25s, visibility 0.25s, transform 0.25s;
		z-index: 101;
		margin-left: 4px;
	}

	.submenu-item-has-child:hover > .submenu-level-3 {
		opacity: 1;
		visibility: visible;
		transform: translateX(0);
	}

	/* =========================================================
	   АДАПТИВНОСТЬ: МОБИЛЬНЫЕ
	   ========================================================= */
	@media (max-width: 900px) {
		.main-nav-wrapper {
			position: static;
			width: 100%;
			text-align: center;
		}
		
		.main-nav {
			flex-direction: column;
			align-items: stretch;
		}
		
		.nav-item {
			width: 100%;
		}
		
		/* Второй уровень на мобильных */
		.submenu {
			position: static;
			opacity: 1;
			visibility: visible;
			transform: none;
			box-shadow: none;
			background-color: transparent;
			padding: 4px 0;
			margin-top: 4px;
			border-left: 3px solid #3b82f6;
			display: none; /* ← скрыт по умолчанию */
		}
		
		.nav-item:hover > .submenu {
			display: block; /* ← показывается при наведении */
		}
		
		.submenu-link,
		.main-nav-wrapper span.submenu-link {
			padding-left: 24px;
			color: #555;
			white-space: normal;
			border-bottom: none;
		}
		
		.submenu-link:hover,
		.main-nav-wrapper span.submenu-link:hover {
			background-color: transparent;
			color: #000;
		}
		
		.main-nav-wrapper .nav-link,
		.main-nav-wrapper span.nav-link {
			pointer-events: none;
			cursor: default;
		}
		
		/* Третий уровень на мобильных */
		.submenu-level-3 {
			position: static;
			opacity: 1;
			visibility: visible;
			transform: none;
			box-shadow: none;
			background-color: transparent;
			padding: 4px 0;
			margin-top: 4px;
			margin-left: 16px;
			border-left: 3px solid #3b82f6;
			display: none;
		}
		
		.submenu-item-has-child:hover > .submenu-level-3 {
			display: block;
		}
		
		.submenu-level-3 .submenu-link,
		.submenu-level-3 span.submenu-link {
			padding-left: 32px;
			color: #555;
			font-size: 13px;
			border-bottom: none;
		}
		
		.submenu-link-parent::after,
		.main-nav-wrapper span.submenu-link-parent::after {
			content: "▸";
			position: absolute;
			right: 16px;
			color: #999;
			font-size: 14px;
		}
	}

/* =========================================================
   БЛОК 4: КОНТАКТЫ (ТАБЛИЦЫ, БЛОКИ)
   ========================================================= */

	.contacts-block-simple {
		position: relative;
		border: 3px solid #000770;
		border-radius: 8px;
		background-color: #ffffff;
		margin: 30px 0;
		padding: 20px 16px;
		box-sizing: border-box;
		overflow: visible;
		width: 100%;
	}

	.contacts-block-inner {
		padding: 10px 0 4px 0;
	}

	h3.contacts-label {
		margin: 0;
		padding: 0;
		position: absolute;
		top: -18px;
		left: 12px;
		background-color: #ffffff;
		color: #333;
		font-size: 16px;
		font-weight: 600;
		text-transform: uppercase;
		padding: 6px 12px;
		white-space: nowrap;
		z-index: 10;
		display: block;
		box-shadow: 0 2px 4px rgba(0,0,0,0.1);
	}

	.contacts-table-simple {
		width: 100%;
		border-collapse: collapse;
		font-size: 14px;
	}

	.contacts-table-simple thead th {
		text-align: left;
		padding: 10px 8px;
		background-color: #f0f4f8;
		color: #000770;
		font-weight: 600;
		font-size: 13px;
		border-bottom: 2px solid #000770;
		text-transform: uppercase;
		letter-spacing: 0.5px;
	}

	.contacts-table-simple tbody td {
		padding: 10px 8px;
		border-bottom: 1px solid #e0e0e0;
		vertical-align: middle;
		font-size: 13px;
		line-height: 1.4;
	}

	.contacts-table-simple tbody tr:last-child td {
		border-bottom: none;
	}

	.contacts-table-simple tbody tr:hover td {
		background-color: #f8faff;
		transition: background-color 0.2s;
	}

	.col-role {
		font-weight: 600;
		color: #333;
		width: 35%;
	}
	.col-name {
		color: #333;
		width: 25%;
	}
	.col-room {
		color: #555;
		width: 12%;
		text-align: center;
	}
	.col-phone {
		color: #d35400;
		width: 13%;
	}
	.col-phone a {
		color: #d35400;
		text-decoration: none;
		transition: color 0.2s;
	}
	.col-phone a:hover {
		color: #a04000;
		text-decoration: underline;
	}
	.col-time {
		color: #555;
		width: 12%;
		font-size: 12px;
	}

	.contact-phone-link {
		color: #d35400;
		text-decoration: none;
		font-weight: 600;
		transition: color 0.2s;
	}
	.contact-phone-link:hover {
		color: #a04000;
		text-decoration: underline;
	}

	.contact-email-link {
		color: #0066cc;
		text-decoration: none;
		font-size: 12px;
		transition: color 0.2s;
	}
	.contact-email-link:hover {
		color: #003d80;
		text-decoration: underline;
	}

	.contact-time {
		display: flex;
		flex-direction: column;
		gap: 1px;
	}
	.time-line {
		display: block;
		font-size: 13px;
		color: #333;
		line-height: 1.5;
	}

	.col-time .contact-time a {
		color: #d35400 !important;
		font-weight: 600 !important;
		text-decoration: none !important;
		background: transparent !important;
		border-bottom: none !important;
	}
	.col-time .contact-time a:hover {
		color: #a04000 !important;
		background: transparent !important;
		border-bottom: none !important;
	}
	.col-time a,
	.col-time .contact-time a,
	.col-time .contact-time a:link,
	.col-time .contact-time a:visited {
		color: #d35400 !important;
		text-decoration: none !important;
	}

	@media (max-width: 992px) {
		.contacts-block-simple {
			margin: 20px 0;
			padding: 15px 10px;
		}
		h3.contacts-label {
			font-size: 14px;
			top: -16px;
			left: 10px;
			padding: 4px 10px;
		}
		.contacts-table-simple {
			font-size: 12px;
		}
		.contacts-table-simple thead th,
		.contacts-table-simple tbody td {
			padding: 8px 6px;
			font-size: 12px;
		}
		.col-role { width: 22%; }
		.col-name { width: 22%; }
		.col-room { width: 10%; }
		.col-phone { width: 20%; }
		.col-time { width: 26%; font-size: 11px; }
	}

	@media (max-width: 768px) {
		.contacts-block-simple {
			margin: 15px 0;
			padding: 15px 8px;
			border-width: 2px;
		}
		h3.contacts-label {
			font-size: 12px;
			top: -14px;
			left: 8px;
			padding: 3px 8px;
			white-space: normal;
		}
		.contacts-table-simple {
			display: block;
			overflow-x: auto;
			-webkit-overflow-scrolling: touch;
		}
		.contacts-table-simple thead,
		.contacts-table-simple tbody,
		.contacts-table-simple tr,
		.contacts-table-simple th,
		.contacts-table-simple td {
			display: block;
		}
		.contacts-table-simple thead {
			display: none;
		}
		.contacts-table-simple tbody tr {
			border-bottom: 1px solid #e0e0e0;
			padding: 10px 0;
			margin-bottom: 5px;
		}
		.contacts-table-simple tbody tr:last-child {
			border-bottom: none;
		}
		.contacts-table-simple tbody td {
			border: none;
			padding: 4px 8px;
			position: relative;
			text-align: left;
			font-size: 12px;
			display: flex;
			align-items: baseline;
			gap: 8px;
		}
		.col-role::before { content: "Должность: "; font-weight: 600; color: #000770; min-width: 100px; flex-shrink: 0; }
		.col-name::before { content: "ФИО: "; font-weight: 600; color: #000770; min-width: 100px; flex-shrink: 0; }
		.col-room::before { content: "Кабинет: "; font-weight: 600; color: #000770; min-width: 100px; flex-shrink: 0; }
		.col-phone::before { content: "Телефон: "; font-weight: 600; color: #000770; min-width: 100px; flex-shrink: 0; }
		.col-time::before { content: "Время приёма: "; font-weight: 600; color: #000770; min-width: 100px; flex-shrink: 0; }
		.col-time { border-bottom: none; }
		.contacts-table-simple tbody tr:hover td { background-color: transparent; }
		.col-phone .contact-email-link { font-size: 12px; }
	}

/* =========================================================
   БЛОК 5: ПОДВАЛ (FOOTER)
   ========================================================= */

	.site-footer {
		flex-shrink: 0;
		background: none;
		border-top: none;
		font-size: 13px;
		color: #333;
		width: 100%;
		box-sizing: border-box;
		margin: 0;
		padding: 10px 0;
	}

	.site-footer__container {
		display: flex;
		align-items: stretch;
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 0;
		gap: 0;
	}

	.site-footer__left {
		flex: 0 0 60%;
		max-width: 60%;
		padding: 8px 15px 8px 20px;
		box-sizing: border-box;
		display: flex;
		align-items: center;
		justify-content: flex-start;
		border-right: none;
		min-height: 100px;
	}

	.footer-contacts {
		width: 100%;
		display: flex;
		flex-direction: column;
		gap: 4px;
		padding: 0;
	}

	.contact-line {
		display: flex;
		align-items: baseline;
		gap: 6px;
		font-size: 12px;
		line-height: 1.3;
		flex-wrap: wrap;
	}

	.contact-label {
		font-weight: 600;
		color: #333;
		flex-shrink: 0;
		font-size: 12px;
		white-space: nowrap;
	}

	.contact-address {
		color: #0066cc;
		text-decoration: none;
		border-bottom: 1px dotted #0066cc;
		transition: border-color 0.2s;
		font-size: 12px;
	}
	.contact-address:hover {
		border-bottom: 1px solid #0066cc;
	}

	.contact-phone {
		color: #d35400;
		font-weight: bold;
		white-space: nowrap;
		font-size: 12px;
	}

	.site-footer__right {
		flex: 0 0 40%;
		max-width: 40%;
		padding: 8px 0 8px 15px;
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 6px;
		text-align: center;
		min-height: 100px;
	}

	.footer-copyright {
		font-size: 12px;
		color: #333;
		width: 100%;
	}

	.footer-updated {
		font-size: 12px;
		color: #555;
		width: 100%;
	}
	.footer-updated strong {
		color: #000770;
		font-size: 13px;
	}

	.footer-counters {
		font-size: 12px;
		color: #555;
		width: 100%;
	}
	.footer-counters div {
		margin: 1px 0;
	}
	.footer-counters b {
		color: #000770;
		font-size: 13px;
	}

	@media (max-width: 992px) {
		.site-footer__container {
			flex-direction: column;
			padding: 0 15px;
		}
		.site-footer__left {
			flex: none;
			max-width: 100%;
			width: 100%;
			padding: 10px 0;
			border-right: none;
			border-bottom: 1px solid #e0e0e0;
			justify-content: center;
			min-height: auto;
		}
		.footer-contacts { gap: 6px; }
		.contact-line {
			justify-content: center;
			text-align: center;
			font-size: 11px;
			gap: 4px;
		}
		.contact-label {
			font-size: 11px;
			width: 100%;
			text-align: center;
		}
		.site-footer__right {
			flex: none;
			max-width: 100%;
			width: 100%;
			padding: 10px 0;
			min-height: auto;
			gap: 8px;
		}
		.footer-copyright, .footer-updated, .footer-counters { font-size: 11px; }
	}

	@media (max-width: 768px) {
		.site-footer { padding: 8px 0; }
		.site-footer__container { padding: 0 10px; }
		.site-footer__left { padding: 8px 0; }
		.contact-line {
			flex-direction: column;
			align-items: center;
			gap: 2px;
			font-size: 10px;
			padding: 4px 0;
			border-bottom: 1px solid #f0f0f0;
		}
		.contact-line:last-child { border-bottom: none; }
		.contact-label {
			font-size: 10px;
			font-weight: 700;
			color: #000770;
			width: 100%;
			text-align: center;
		}
		.contact-address { font-size: 10px; }
		.contact-phone { font-size: 11px; }
		.site-footer__right { padding: 8px 0; gap: 6px; }
		.footer-copyright, .footer-updated, .footer-counters { font-size: 10px; }
		.footer-updated strong { font-size: 11px; }
		.footer-counters b { font-size: 12px; }
	}

/* =========================================================
   БЛОК 6: ОСНОВНОЕ ПОЛЕ (ТРЁХКОЛОНОЧНАЯ СЕТКА)
   ========================================================= */

	.page-content {
		display: flex;
		flex-direction: row;
		width: 100%;
		box-sizing: border-box;
		position: relative;
		flex: 1 0 auto;
		min-height: 0;
	}

	.col-left {
		flex: 0 0 15%;
		box-sizing: border-box;
		padding: 20px;
		background-color: none;
		border-right: none;
		color: #333;
	}

	.col-center {
		flex: 1;
		box-sizing: border-box;
		padding: 20px;
		background-color: #ffffff;
		color: #333;
		min-width: 0;
		overflow: hidden;
	}

	.col-right {
		flex: 0 0 15%;
		box-sizing: border-box;
		padding: 20px;
		background-color: none;
		border-left: none;
		color: #333;
	}

	@media (max-width: 900px) {
		.page-content {
			flex-direction: column;
		}
		.col-left, .col-center, .col-right {
			flex: none;
			width: 100%;
			padding: 15px;
			border: none;
			background-color: #ffffff;
		}
	}

/* =========================================================
   БЛОК 7: СТИЛИ ДЛЯ ТЕКСТОВ, ЗАГОЛОВКОВ, СПИСКОВ
   ========================================================= */

	.org-block {
		margin-bottom: 16px;
	}
	.org-block:last-child {
		margin-bottom: 0;
	}

	.org-title {
		font-size: 15px;
		font-weight: 700;
		color: #000770;
		margin: 0 0 10px 0;
		padding-bottom: 6px;
		border-bottom: 2px solid #eef6fc;
	}

	.org-content p {
		margin: 0 0 12px 0;
		font-size: 14px;
		line-height: 1.7;
		text-align: justify;
		text-indent: 1.5em;
		color: #333;
	}
	.org-content p:last-child {
		margin-bottom: 0;
	}

	.org-label {
		font-weight: 600;
		color: #000770;
		display: inline-block;
		min-width: 140px;
	}
	.org-value {
		color: #333;
	}
	.org-link {
		color: #0066cc;
		text-decoration: none;
		transition: color 0.2s, text-decoration 0.2s;
	}
	.org-link:hover {
		color: #003d80;
		text-decoration: underline;
	}

	.org-divider {
		border: 0;
		border-top: 1px solid #e0e8f0;
		margin: 16px 0;
	}

	.org-item {
		margin: 6px 0;
	}
	
	.org-item-title {
		font-size: 15px;
		font-weight: 700;
		color: #000770;
		margin: 0 0 8px 0;
		padding-bottom: 4px;
		border-bottom: 2px solid #eef6fc;
	}

	.org-content ul {
		list-style: none;
		padding-left: 0;
		margin: 8px 0 12px 0;
	}
	.org-content ul li {
		padding-left: 24px;
		position: relative;
		margin-bottom: 4px;
		font-size: 14px;
		line-height: 1.7;
		color: #333;
		text-align: justify;
	}
	.org-content ul li::before {
		content: "-";
		position: absolute;
		left: 4px;
		color: #000770;
		font-weight: 700;
		font-size: 12px;
	}
	.org-content ul li:last-child {
		margin-bottom: 0;
	}
	.org-content ul ul li::before {
		content: "–";
		color: #666;
	}

	.org-content ul.list-links {
		list-style: none;
		padding-left: 0;
		margin: 8px 0 12px 0;
	}
	.org-content ul.list-links li {
		padding-left: 24px;
		position: relative;
		margin-bottom: 4px;
		font-size: 14px;
		line-height: 1.7;
		color: #333;
		text-align: justify;
	}
	.org-content ul.list-links li::before {
		content: "►";
		position: absolute;
		left: 4px;
		color: #d35400;
		font-weight: 700;
		font-size: 16px;
	}
	.org-content ul.list-links li:last-child {
		margin-bottom: 0;
	}
	.org-content ul.list-links ul li::before {
		content: "◦";
		color: #999;
	}

	.org-content ol {
		margin: 8px 0 12px 24px;
		padding-left: 8px;
		font-size: 14px;
		line-height: 1.7;
		color: #333;
	}
	.org-content ol li {
		margin-bottom: 4px;
		text-align: justify;
	}
	.org-content ol li:last-child {
		margin-bottom: 0;
	}

	@media (max-width: 992px) {
		.org-title { font-size: 14px; }
		.org-content p { font-size: 12px; }
		.org-label { min-width: 120px; font-size: 12px; }
	}
	@media (max-width: 768px) {
		.org-content p {
			display: flex;
			flex-direction: column;
			gap: 2px;
		}
		.org-label {
			min-width: auto;
			font-weight: 700;
		}
		.org-divider { margin: 12px 0; }
	}

/* =========================================================
   БЛОК 8: ДОКУМЕНТЫ И ССЫЛКИ
   ========================================================= */

	.document-card {
		background: #f8faff;
		border: 1px solid #e0e8f0;
		border-radius: 8px;
		padding: 16px;
		margin-bottom: 12px;
		transition: box-shadow 0.2s;
	}
	.document-card:hover {
		box-shadow: 0 4px 12px rgba(0,0,0,0.08);
	}

	.document-info {
		display: flex;
		align-items: center;
		gap: 12px;
		flex-wrap: wrap;
	}

	.document-link {
		display: flex;
		align-items: center;
		gap: 8px;
		text-decoration: none;
		color: #0066cc;
		font-weight: 500;
		flex: 1;
		min-width: 200px;
	}
	.document-link:hover {
		color: #003d80;
		text-decoration: underline;
	}

	.document-icon {
		font-size: 20px;
		flex-shrink: 0;
	}
	.document-title {
		font-size: 14px;
		line-height: 1.4;
	}

	.document-sign {
		display: flex;
		align-items: center;
		gap: 6px;
		flex-shrink: 0;
	}

	.sign-icon {
		width: 32px;
		height: 32px;
		cursor: help;
		display: block;
		transition: transform 0.2s;
	}
	.sign-icon:hover {
		transform: scale(1.5);
	}

	.sign-badge {
		font-size: 10px;
		background: #0056b3;
		color: #fff;
		padding: 2px 10px;
		border-radius: 12px;
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: 0.5px;
	}

	.sign-icon-small {
		width: 32px;
		height: 32px;
		cursor: help;
		display: inline-block;
		vertical-align: middle;
		transition: transform 0.2s;
	}
	.sign-icon-small:hover {
		transform: scale(1.2);
	}

	.document-item {
		padding: 8px 0;
		border-bottom: 1px solid #f0f4f8;
	}
	.document-item:last-child {
		border-bottom: none;
	}

	.doc-link {
		display: flex;
		align-items: center;
		gap: 10px;
		text-decoration: none;
		color: #0066cc;
		font-size: 14px;
	}
	.doc-link:hover {
		color: #003d80;
		text-decoration: underline;
	}
	.doc-name {
		flex: 1;
	}

	.doc-year-group {
		margin-bottom: 12px;
	}
	.doc-year-title {
		font-size: 15px;
		font-weight: 700;
		color: #000770;
		margin: 0 0 6px 0;
		padding-bottom: 4px;
		border-bottom: 2px solid #eef6fc;
	}

	.doc-show-more {
		text-align: center;
		margin-top: 12px;
	}

	.doc-toggle-btn {
		background: #000770;
		color: #fff;
		border: none;
		padding: 8px 24px;
		border-radius: 4px;
		font-size: 13px;
		font-weight: 600;
		cursor: pointer;
		transition: background 0.2s;
	}
	.doc-toggle-btn:hover {
		background: #0a0a9a;
	}

	.doc-subsection {
		margin: 6px 0;
	}
	.doc-subsection-title {
		font-size: 14px;
		font-weight: 600;
		color: #333;
		padding: 4px 0;
		border-bottom: 1px solid #eef2f8;
		margin-bottom: 4px;
	}
	.doc-subsection-content {
		padding: 2px 0 2px 12px;
	}
	.doc-subsection-content .document-item {
		padding: 4px 0;
		border-bottom: none;
	}
	.doc-subsection-content .doc-link {
		font-size: 13px;
	}

	.org-content .doc-link-inline {
		color: #d35400;
		text-decoration: none;
		font-weight: 600;
		display: inline;
		padding: 0 4px;
		border-radius: 3px;
		white-space: normal;
		word-break: break-word;
		transition: color 0.2s, background-color 0.2s;
	}
	.org-content .doc-link-inline:hover {
		color: #a04000;
		background-color: #fef5f0;
	}

	.org-content .doc-link-inline-blue {
		color: #0066cc;
		text-decoration: none;
		font-weight: 600;
		transition: color 0.2s, transform 0.2s, background-color 0.2s;
		display: inline-block;
		padding: 0 4px;
		border-radius: 3px;
	}
	.org-content .doc-link-inline-blue:hover {
		color: #003d80;
		transform: scale(1.2);
		background-color: #f0f7ff;
	}

	.org-content .doc-link-inline-dark {
		color: #000770;
		text-decoration: none;
		font-weight: 600;
		transition: color 0.2s, transform 0.2s, background-color 0.2s;
		display: inline-block;
		padding: 0 4px;
		border-radius: 3px;
	}
	.org-content .doc-link-inline-dark:hover {
		color: #0a0a9a;
		transform: scale(1.2);
		background-color: #eef6fc;
	}

	@media (max-width: 768px) {
		.doc-year-title { font-size: 14px; }
		.doc-toggle-btn { padding: 6px 16px; font-size: 12px; }
		.doc-subsection-title { font-size: 13px; }
		.doc-subsection-content { padding-left: 8px; }
		.doc-subsection-content .doc-link { font-size: 12px; }
	}

/* =========================================================
   БЛОК 9: КАРТОЧКИ (ПЕДАГОГИ, РУКОВОДСТВО)
   ========================================================= */

	.teacher-card {
		background: #f8faff;
		border: 1px solid #e0e8f0;
		border-radius: 8px;
		padding: 10px 16px;
		margin-bottom: 10px;
		transition: box-shadow 0.2s;
	}
	.teacher-card:last-child {
		margin-bottom: 0;
	}
	.teacher-card:hover {
		box-shadow: 0 4px 12px rgba(0,0,0,0.08);
	}

	.teacher-card-header {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 6px 12px;
	}
	.teacher-name {
		font-size: 15px;
		font-weight: 700;
		color: #000770;
	}
	.teacher-subject {
		font-size: 13px;
		color: #555;
		font-weight: 500;
	}
	.teacher-meta {
		display: flex;
		align-items: center;
		gap: 6px;
		font-size: 12px;
		color: #777;
		margin-left: auto;
	}
	.teacher-category {
		color: #d35400;
		font-weight: 600;
	}
	.teacher-divider {
		color: #ccc;
	}
	.teacher-experience {
		color: #777;
	}

	.teacher-toggle-btn {
		background: transparent;
		border: 1px solid #dce4ed;
		border-radius: 4px;
		color: #666;
		font-size: 12px;
		font-weight: 600;
		cursor: pointer;
		padding: 2px 8px;
		transition: background 0.2s, border-color 0.2s;
		line-height: 1.6;
	}
	.teacher-toggle-btn:hover {
		background: #eef6fc;
		border-color: #000770;
		color: #000770;
	}

	.teacher-details {
		margin-top: 8px;
		padding-top: 8px;
		border-top: 1px solid #e0e8f0;
	}
	.teacher-detail-item {
		margin: 3px 0;
		font-size: 13px;
		line-height: 1.5;
		color: #333;
	}
	.teacher-detail-label {
		font-weight: 600;
		color: #000770;
		display: inline-block;
		min-width: 150px;
	}
	.teacher-detail-value {
		color: #333;
	}

	.teacher-courses-list {
		list-style: none;
		padding: 0;
		margin: 2px 0 0 0;
	}
	.teacher-courses-list li {
		padding: 1px 0 1px 18px;
		position: relative;
		font-size: 12px;
		line-height: 1.4;
		color: #555;
	}
	.teacher-courses-list li::before {
		content: "•";
		position: absolute;
		left: 4px;
		color: #d35400;
		font-weight: 700;
	}

	.leader-card {
		display: flex;
		gap: 24px;
		padding: 12px 0;
		align-items: flex-start;
	}

	.leader-photo {
		flex-shrink: 0;
		width: 120px;
		height: 150px;
		overflow: hidden;
		border-radius: 8px;
		background: #f0f4f8;
		border: 1px solid #e0e8f0;
	}
	.leader-image {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}
	.leader-no-photo {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100%;
		font-size: 48px;
		color: #ccc;
	}

	.leader-info {
		flex: 1;
		min-width: 0;
	}
	.leader-name {
		font-size: 18px;
		font-weight: 700;
		color: #000770;
		margin: 0 0 2px 0;
	}
	.leader-position {
		font-size: 14px;
		color: #666;
		margin: 0 0 10px 0;
		font-weight: 500;
	}
	.leader-item {
		font-size: 14px;
		line-height: 1.6;
		color: #333;
		margin: 2px 0;
	}
	.leader-label {
		font-weight: 600;
		color: #000770;
		display: inline-block;
		min-width: 100px;
	}
	.leader-value {
		color: #333;
	}
	.leader-email {
		color: #0066cc;
		text-decoration: none;
	}
	.leader-email:hover {
		text-decoration: underline;
	}
	.leader-divider {
		border: 0;
		border-top: 1px dashed #e0e8f0;
		margin: 8px 0 8px 120px;
	}

	@media (max-width: 768px) {
		.teacher-card { padding: 8px 12px; }
		.teacher-card-header { gap: 4px 8px; }
		.teacher-name { font-size: 14px; }
		.teacher-subject { font-size: 12px; }
		.teacher-meta {
			font-size: 11px;
			margin-left: 0;
			flex-wrap: wrap;
			width: 100%;
		}
		.teacher-toggle-btn { font-size: 11px; padding: 1px 6px; }
		.teacher-detail-item { font-size: 12px; }
		.teacher-detail-label { min-width: auto; display: block; }
		.teacher-courses-list li { font-size: 11px; }
		.leader-card {
			flex-direction: column;
			align-items: center;
			text-align: center;
			gap: 12px;
		}
		.leader-photo { width: 100px; height: 130px; }
		.leader-item { text-align: center; }
		.leader-label { display: block; min-width: auto; margin-bottom: 2px; }
		.leader-name { font-size: 16px; }
		.leader-divider { margin: 8px 0; }
	}
	@media (max-width: 480px) {
		.teacher-card { padding: 6px 10px; }
		.teacher-name { font-size: 13px; }
		.leader-photo { width: 80px; height: 100px; }
		.leader-name { font-size: 15px; }
		.leader-item { font-size: 13px; }
	}

/* =========================================================
   БЛОК 10: ОБРАЗОВАНИЕ, СТИПЕНДИИ, ВАКАНСИИ
   ========================================================= */

	.edu-level {
		margin-bottom: 16px;
	}
	.edu-level:last-child {
		margin-bottom: 0;
	}
	.edu-level-title {
		font-size: 16px;
		font-weight: 700;
		color: #000770;
		margin: 0 0 10px 0;
		padding: 6px 12px;
		background: #fef5f0;
		border-radius: 4px;
		border-left: 4px solid #000770;
	}

	.edu-row {
		display: flex;
		align-items: flex-start;
		gap: 12px;
		margin: 4px 0 4px 16px;
		font-size: 14px;
		line-height: 1.6;
		color: #333;
	}
	.edu-label {
		font-weight: 600;
		color: #000770;
		background: #fef5f0;
		padding: 2px 10px;
		border-radius: 4px;
		font-size: 13px;
		flex-shrink: 0;
		min-width: 220px;
		white-space: normal;
	}
	.edu-value {
		color: #333;
		flex: 1;
	}

	.edu-row .doc-link-blue {
		color: #0066cc;
		text-decoration: none;
		font-weight: 500;
		display: flex;
		align-items: flex-start;
		gap: 8px;
		padding: 2px 0;
		transition: color 0.2s;
		flex: 1;
		min-width: 0;
		flex-wrap: wrap;
	}
	.edu-row .doc-link-blue:hover {
		color: #003d80;
		text-decoration: underline;
	}
	.edu-row .doc-link-blue .doc-name {
		flex: 1;
		min-width: 0;
		word-break: break-word;
		text-align: justify;
		text-indent: 0;
	}
	.edu-row .doc-link-blue .sign-icon-small {
		flex-shrink: 0;
		width: 24px;
		height: 24px;
		cursor: help;
		display: inline-block;
		vertical-align: middle;
		transition: transform 0.2s;
		margin-left: auto;
		align-self: center;
	}
	.edu-row .doc-link-blue .sign-icon-small:hover {
		transform: scale(1.2);
	}

	.support-note {
		font-size: 13px;
		color: #666;
		margin-top: 4px;
	}
	.support-block {
		margin: 12px 0;
	}
	.support-title {
		font-size: 15px;
		font-weight: 700;
		color: #000770;
		margin: 0 0 6px 0;
	}
	.support-content p {
		margin: 4px 0;
		font-size: 14px;
		line-height: 1.6;
		color: #333;
	}
	.support-content ul {
		list-style: none;
		padding-left: 0;
		margin: 6px 0 0 0;
	}
	.support-content ul li {
		padding: 3px 0 3px 20px;
		position: relative;
		font-size: 14px;
		line-height: 1.5;
		color: #333;
	}
	.support-content ul li::before {
		content: "—";
		position: absolute;
		left: 0;
		color: #000770;
		font-weight: 700;
	}

	.table-responsive {
		overflow-x: auto;
		margin: 8px 0;
	}

	.vacancies-table {
		width: 100%;
		border-collapse: collapse;
		font-size: 14px;
	}
	.vacancies-table thead th {
		text-align: center;
		padding: 10px 8px;
		background-color: #000770;
		color: #ffffff;
		font-weight: 600;
		font-size: 13px;
		border-bottom: 2px solid #000770;
		text-transform: uppercase;
		letter-spacing: 0.5px;
	}
	.vacancies-table tbody td {
		padding: 8px 8px;
		border-bottom: 1px solid #e0e0e0;
		vertical-align: middle;
		font-size: 13px;
		line-height: 1.4;
		text-align: center;
		color: #333;
	}
	.vacancies-table tbody tr:last-child td {
		border-bottom: none;
	}
	.vacancies-table tbody tr:hover td {
		background-color: #f8faff;
	}
	.vacancies-table tbody tr:nth-child(even) td {
		background-color: #f8faff;
	}
	.vacancies-table tbody tr:nth-child(even):hover td {
		background-color: #eef6fc;
	}

	.vacancies-subtitle {
		font-size: 16px;
		font-weight: 700;
		color: #000770;
		margin: 0 0 12px 0;
		text-align: center;
	}

	.program-vacancies {
		margin: 8px 0;
	}
	.program-item {
		margin-bottom: 16px;
		padding-bottom: 16px;
		border-bottom: 1px solid #e0e8f0;
	}
	.program-item:last-child {
		border-bottom: none;
		margin-bottom: 0;
		padding-bottom: 0;
	}
	.program-title {
		font-size: 14px;
		font-weight: 700;
		color: #000770;
		margin: 0 0 6px 0;
		text-align: center;
	}
	.program-list {
		list-style: none;
		padding: 0;
		margin: 0;
	}
	.program-list li {
		padding: 4px 0 4px 20px;
		position: relative;
		font-size: 14px;
		line-height: 1.6;
		color: #333;
	}
	.program-list li::before {
		content: "—";
		position: absolute;
		left: 0;
		color: #000770;
		font-weight: 700;
	}
	.program-list li strong {
		color: #d35400;
	}

	@media (max-width: 992px) {
		.edu-label { min-width: 160px; font-size: 12px; padding: 2px 8px; }
	}
	@media (max-width: 768px) {
		.edu-level-title { font-size: 15px; padding: 4px 10px; }
		.edu-row {
			flex-direction: column;
			align-items: flex-start;
			gap: 2px;
			margin-left: 8px;
			font-size: 13px;
		}
		.edu-label { min-width: auto; font-size: 12px; padding: 1px 6px; }
		.edu-row .doc-link-blue { width: 100%; gap: 4px; }
		.edu-row .doc-link-blue .sign-icon-small { margin-left: 0; align-self: flex-end; }
		.support-title { font-size: 14px; }
		.support-content p { font-size: 13px; }
		.support-content ul li { font-size: 13px; }
		.vacancies-table { font-size: 12px; }
		.vacancies-table thead th, .vacancies-table tbody td { padding: 6px 4px; font-size: 12px; }
		.vacancies-subtitle { font-size: 14px; }
		.program-title { font-size: 13px; }
		.program-list li { font-size: 13px; padding: 3px 0 3px 16px; }
	}
	@media (max-width: 480px) {
		.support-title { font-size: 13px; }
		.support-content p { font-size: 12px; }
		.support-content ul li { font-size: 12px; }
		.vacancies-table { font-size: 11px; }
		.vacancies-table thead th, .vacancies-table tbody td { padding: 4px 3px; font-size: 11px; }
		.vacancies-subtitle { font-size: 13px; }
		.program-title { font-size: 12px; }
		.program-list li { font-size: 12px; padding: 2px 0 2px 14px; }
	}

/* =========================================================
   БЛОК 11: МАТЕРИАЛЬНО-ТЕХНИЧЕСКОЕ ОБЕСПЕЧЕНИЕ
   ========================================================= */

	.building-info p {
		margin: 4px 0;
		font-size: 14px;
		line-height: 1.6;
		color: #333;
	}
	.building-info .info-label {
		font-weight: 600;
		color: #000770;
		display: inline-block;
		min-width: 180px;
	}

	.building-subtitle {
		font-size: 16px;
		font-weight: 700;
		color: #000770;
		margin: 0 0 10px 0;
		padding-bottom: 4px;
		border-bottom: 2px solid #eef6fc;
	}

	.resource-block {
		margin: 10px 0;
	}
	.resource-title {
		font-size: 14px;
		font-weight: 600;
		color: #333;
		margin: 0 0 4px 0;
	}
	.resource-list {
		list-style: none;
		padding: 0;
		margin: 0 0 4px 16px;
	}
	.resource-list li {
		padding: 2px 0 2px 18px;
		position: relative;
		font-size: 14px;
		line-height: 1.5;
		color: #555;
	}
	.resource-list li::before {
		content: "—";
		position: absolute;
		left: 0;
		color: #000770;
		font-weight: 700;
	}

	.access-block {
		margin: 10px 0;
	}
	.access-title {
		font-size: 14px;
		font-weight: 600;
		color: #333;
		margin: 0 0 4px 0;
	}
	.access-list {
		list-style: none;
		padding: 0;
		margin: 0 0 4px 16px;
	}
	.access-list li {
		padding: 2px 0 2px 18px;
		position: relative;
		font-size: 14px;
		line-height: 1.5;
		color: #555;
	}
	.access-list li::before {
		content: "—";
		position: absolute;
		left: 0;
		color: #000770;
		font-weight: 700;
	}
	.access-yes {
		color: #28a745;
		font-weight: 600;
	}
	.access-no {
		color: #dc3545;
		font-weight: 600;
	}
	.access-info {
		color: #0066cc;
	}
	.doc-list {
		list-style: none;
		padding: 0;
		margin: 0;
	}
	.doc-list li {
		padding: 4px 0;
	}

	.building-header {
		display: flex;
		gap: 24px;
		align-items: flex-start;
		margin-bottom: 8px;
	}
	.building-info {
		flex: 1;
		min-width: 0;
	}
	.building-photo {
		flex: 0 0 200px;
		width: 200px;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.building-image {
		width: 100%;
		height: auto;
		max-width: 200px;
		border-radius: 8px;
		border: 1px solid #e0e8f0;
		display: block;
		object-fit: cover;
		aspect-ratio: 4 / 3;
	}

	.building-details {
		margin: 8px 0 4px 0;
		border: 1px solid #e0e8f0;
		border-radius: 6px;
		background: #fafcff;
		transition: border-color 0.2s;
	}
	.building-details:hover {
		border-color: #b0c4de;
	}
	.building-summary {
		padding: 10px 16px;
		font-size: 14px;
		font-weight: 600;
		color: #000770;
		cursor: pointer;
		display: flex;
		align-items: center;
		gap: 8px;
		user-select: none;
		transition: background 0.2s;
		border-radius: 6px;
	}
	.building-summary:hover {
		background: #eef6fc;
	}
	.building-summary::before {
		content: "▶";
		font-size: 12px;
		color: #000770;
		transition: transform 0.3s ease;
		display: inline-block;
		flex-shrink: 0;
	}
	.building-details[open] .building-summary::before {
		transform: rotate(90deg);
	}
	.building-details-content {
		padding: 6px 16px 16px 16px;
		font-size: 14px;
		line-height: 1.7;
		color: #333;
		border-top: 1px solid #e0e8f0;
	}

	@media (max-width: 992px) {
		.building-photo { flex: 0 0 160px; width: 160px; }
		.building-image { max-width: 160px; }
	}
	@media (max-width: 768px) {
		.building-info .info-label { min-width: auto; display: block; }
		.building-info p { font-size: 13px; }
		.building-subtitle { font-size: 15px; }
		.resource-list li, .access-list li { font-size: 13px; }
		.building-header {
			flex-direction: column;
			align-items: center;
			gap: 16px;
		}
		.building-photo {
			flex: 0 0 auto;
			width: 100%;
			max-width: 300px;
			justify-content: center;
		}
		.building-summary { font-size: 13px; padding: 8px 14px; }
		.building-details-content { font-size: 13px; padding: 4px 12px 12px 12px; }
		.building-image { max-width: 100%; aspect-ratio: 4 / 3; }
	}
	@media (max-width: 480px) {
		.building-info p { font-size: 12px; }
		.building-subtitle { font-size: 14px; }
		.resource-list li, .access-list li { font-size: 12px; }
		.building-summary { font-size: 12px; padding: 6px 10px; }
		.building-details-content { font-size: 12px; padding: 4px 10px 10px 10px; }
	}

/* =========================================================
   БЛОК 12: СОУТ, СТРУКТУРА, ПОДРАЗДЕЛЕНИЯ
   ========================================================= */

	.sout-results {
		margin: 8px 0;
	}
	.sout-item {
		display: flex;
		align-items: baseline;
		gap: 8px;
		padding: 4px 0;
		border-bottom: 1px solid #f0f4f8;
	}
	.sout-item:last-child {
		border-bottom: none;
	}
	.sout-label {
		font-size: 14px;
		color: #333;
		flex: 1;
	}
	.sout-value {
		font-size: 16px;
		font-weight: 700;
		color: #000770;
		min-width: 40px;
		text-align: right;
	}

	.org-structure {
		margin: 4px 0;
	}
	.org-item p {
		margin: 4px 0;
		font-size: 14px;
		line-height: 1.6;
		color: #333;
	}
	.org-item ul {
		list-style: none;
		padding: 0;
		margin: 4px 0 0 16px;
	}
	.org-item ul li {
		padding: 3px 0 3px 18px;
		position: relative;
		font-size: 14px;
		line-height: 1.5;
		color: #333;
	}
	.org-item ul li::before {
		content: "—";
		position: absolute;
		left: 0;
		color: #000770;
		font-weight: 700;
	}

	.subdivision-divider {
		border-bottom: 1px dashed #e8edf5;
		margin: 6px 0 6px 160px;
	}

	@media (max-width: 768px) {
		.org-item p { font-size: 13px; }
		.org-item ul li { font-size: 13px; }
		.subdivision-divider { margin: 6px 0; }
		.sout-item { flex-direction: column; align-items: flex-start; gap: 2px; padding: 6px 0; }
		.sout-label { font-size: 13px; }
		.sout-value { font-size: 15px; text-align: left; }
	}
	@media (max-width: 480px) {
		.org-item p { font-size: 12px; }
		.org-item ul li { font-size: 12px; }
		.sout-label { font-size: 12px; }
		.sout-value { font-size: 14px; }
	}

/* =========================================================
   БЛОК 13: РАЗНЫЕ БЛОКИ (ПРИВЕТСТВИЕ, ВИДЖЕТЫ, БАННЕРЫ)
   ========================================================= */

	.about-lyceum {
		margin: 0 auto;
		padding: 40px 20px;
	}
	.about-lyceum h2 {
		font-size: 1.8rem;
		line-height: 1.2;
		margin-bottom: 24px;
		text-align: center;
	}
	.about-lyceum p {
		font-size: 1rem;
		line-height: 1.6;
		color: #333;
		margin-bottom: 16px;
		text-align: justify;
		text-indent: 1.5em;
	}

	.custom-details {
		margin: 0 0 4px 0;
		border: 1px solid #e0e8f0;
		border-radius: 6px;
		background: #fafcff;
		transition: border-color 0.2s;
	}
	.custom-details:hover {
		border-color: #b0c4de;
	}
	.custom-summary {
		padding: 10px 16px;
		font-size: 14px;
		font-weight: 600;
		color: #000770;
		cursor: pointer;
		display: flex;
		align-items: center;
		gap: 8px;
		user-select: none;
		transition: background 0.2s;
		border-radius: 6px;
	}
	.custom-summary:hover {
		background: #eef6fc;
	}
	.custom-summary::before {
		content: "▶";
		font-size: 12px;
		color: #000770;
		transition: transform 0.3s ease;
		display: inline-block;
		flex-shrink: 0;
	}
	.custom-details[open] .custom-summary::before {
		transform: rotate(90deg);
	}
	.custom-details-content {
		padding: 8px 16px 16px 16px;
		font-size: 14px;
		line-height: 1.7;
		color: #333;
		border-top: 1px solid #e0e8f0;
	}
	.custom-details-content p {
		margin: 0;
	}
	.custom-details-content p:last-child {
		margin-bottom: 0;
	}
	.custom-details .custom-details {
		margin: 6px 0 0 0;
		background: #ffffff;
	}
	.custom-details .custom-details .custom-summary {
		font-size: 13px;
		font-weight: 500;
		color: #333;
		padding: 8px 14px;
	}
	.custom-details .custom-details .custom-summary:hover {
		background: #f5f8fc;
	}
	.custom-details .custom-details .custom-details-content {
		padding: 6px 14px 12px 14px;
		font-size: 13px;
	}

	.custom-details-inner {
		margin: 4px 0 0 0;
		border: 1px solid #dce4ed;
		border-radius: 4px;
		background: #f8faff;
	}
	.custom-details-inner:hover {
		border-color: #b0c4de;
	}
	.custom-summary-inner {
		padding: 6px 12px;
		font-size: 14px;
		font-weight: 600;
		color: #000770;
		cursor: pointer;
		display: flex;
		align-items: center;
		gap: 6px;
		user-select: none;
		transition: background 0.2s;
		border-radius: 4px;
	}
	.custom-summary-inner:hover {
		background: #eef6fc;
	}
	.custom-summary-inner::before {
		content: "▶";
		font-size: 10px;
		color: #000770;
		transition: transform 0.3s ease;
		display: inline-block;
		flex-shrink: 0;
	}
	.custom-details-inner[open] .custom-summary-inner::before {
		transform: rotate(90deg);
	}
	.custom-details-content-inner {
		padding: 4px 12px 10px 12px;
		font-size: 14px;
		line-height: 1.7;
		color: #333;
		border-top: 1px solid #dce4ed;
	}
	.custom-details-content-inner .custom-list {
		margin: 2px 0;
		padding-left: 16px;
	}
	.custom-details-content-inner .custom-list li {
		font-size: 14px;
		line-height: 1.7;
		padding-left: 18px;
	}

	.sidebar-image-wrapper {
		margin-bottom: 20px;
		text-align: center;
	}
	.sidebar-image-title {
		font-size: 14px;
		font-weight: 700;
		color: #000770;
		margin: 0 0 10px 0;
		padding-bottom: 6px;
		border-bottom: 2px solid #eef6fc;
		text-transform: uppercase;
		letter-spacing: 0.5px;
		text-align: center;
	}
	.sidebar-image {
		width: 100%;
		height: auto;
		display: block;
		border-radius: 8px;
		box-shadow: 0 2px 8px rgba(0,0,0,0.1);
		transition: transform 0.3s, box-shadow 0.3s;
	}
	.sidebar-image:hover {
		transform: scale(1.02);
		box-shadow: 0 4px 16px rgba(0,0,0,0.15);
	}
	.sidebar-image-link {
		display: block;
		text-decoration: none;
	}
	.sidebar-image-link:hover .sidebar-image {
		opacity: 0.95;
		transform: scale(1.02);
	}

	.right-block {
		background: #ffffff;
		border-radius: 8px;
		padding: 16px;
		margin-bottom: 16px;
		box-shadow: 0 2px 8px rgba(0,0,0,0.06);
		border: 1px solid #e8edf5;
	}
	.right-block:last-child {
		margin-bottom: 0;
	}
	.right-block-title {
		font-size: 14px;
		font-weight: 700;
		color: #000770;
		margin: 0 0 12px 0;
		padding-bottom: 8px;
		border-bottom: 2px solid #eef6fc;
		text-transform: uppercase;
		letter-spacing: 0.5px;
		text-align: center;
	}
	.right-block-content {
		font-size: 13px;
		color: #333;
		line-height: 1.6;
	}
	.right-block-content p {
		margin: 0 0 8px 0;
	}
	.right-block-content p:last-child {
		margin-bottom: 0;
	}
	.right-block-content strong {
		color: #000770;
	}
	.right-block-content a {
		color: #0066cc;
		text-decoration: none;
		transition: color 0.2s;
	}
	.right-block-content a:hover {
		color: #003d80;
		text-decoration: underline;
	}

	.right-links {
		list-style: none;
		padding: 0;
		margin: 0;
	}
	.right-links li {
		padding: 4px 0;
		border-bottom: 1px solid #f0f4f8;
	}
	.right-links li:last-child {
		border-bottom: none;
	}
	.right-links a {
		color: #0066cc;
		text-decoration: none;
		font-size: 13px;
		transition: color 0.2s, padding-left 0.2s;
		display: block;
		padding: 4px 0 4px 12px;
		border-left: 3px solid transparent;
	}
	.right-links a:hover {
		color: #003d80;
		padding-left: 16px;
		border-left-color: #000770;
	}

	.director-card {
		text-align: center;
	}
	.director-photo {
		width: 100%;
		max-width: 150px;
		border-radius: 8px;
		margin-bottom: 8px;
	}
	.director-name {
		margin: 0 0 4px 0;
		font-weight: 700;
		font-size: 15px;
		color: #333;
	}
	.director-position {
		margin: 0 0 8px 0;
		color: #666;
		font-size: 13px;
	}
	.director-phone {
		margin: 0 0 4px 0;
		font-size: 13px;
		color: #333;
	}
	.director-phone-label {
		font-weight: 600;
	}
	.director-phone-value {
		color: #333;
	}
	.director-email {
		margin: 0;
		font-size: 13px;
	}
	.director-email-label {
		font-weight: 600;
	}
	.director-email-link {
		color: #0066cc;
		text-decoration: none;
		display: inline-block;
	}
	.director-email-link:hover {
		text-decoration: underline;
	}

	.social-icons {
		display: flex;
		flex-direction: column;
		gap: 8px;
	}
	.social-icon {
		display: flex;
		align-items: center;
		gap: 12px;
		padding: 8px 12px;
		border-radius: 6px;
		background: #f8faff;
		text-decoration: none;
		color: #333;
		transition: background 0.2s, transform 0.2s;
		border: 1px solid transparent;
	}
	.social-icon:hover {
		background: #eef6fc;
		border-color: #d0dff0;
		transform: translateX(4px);
	}
	.social-icon img {
		width: 28px;
		height: 28px;
		flex-shrink: 0;
		display: block;
	}
	.social-icon span {
		font-size: 13px;
		font-weight: 500;
		color: #333;
	}
	.social-icon:hover span {
		color: #000770;
	}

	#js-show-iframe-wrapper {
		background: none !important;
		min-width: auto !important;
		padding: 0 !important;
		width: 100% !important;
	}
	#js-show-iframe-wrapper .bf-160 {
		position: relative;
		width: 100% !important;
		max-width: 100% !important;
		min-height: 90px;
		height: auto !important;
		box-sizing: border-box;
		background: #fff;
		border: 1px solid #0d4cd3;
		border-radius: 4px;
		padding: 12px;
		margin: 0 auto;
	}
	#js-show-iframe-wrapper .bf-160__content {
		width: 100% !important;
		height: auto !important;
		margin: 0 !important;
		display: flex;
		flex-direction: column;
		gap: 8px;
	}
	#js-show-iframe-wrapper .bf-160__logo-wrap {
		display: inline-flex;
		align-items: center;
		width: 100%;
	}
	#js-show-iframe-wrapper .bf-160__logo {
		width: 61.01px;
		height: 16.28px;
		flex-shrink: 0;
	}
	#js-show-iframe-wrapper .bf-160__logo2 {
		width: 41px;
		height: 40px;
		flex-shrink: 0;
	}
	#js-show-iframe-wrapper .bf-160__description {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 12px;
		width: 100%;
	}
	#js-show-iframe-wrapper .bf-160__text {
		color: #0b40b3;
		box-sizing: border-box;
		font-family: LatoWeb, sans-serif;
		font-weight: 700;
		font-size: 13px;
		line-height: 1.5;
		letter-spacing: 0;
		flex: 1;
		min-height: auto;
	}

	@media (max-width: 900px) {
		.right-block { padding: 12px; }
		.right-block-title { font-size: 13px; }
		.right-block-content { font-size: 12px; }
		.social-icon { padding: 6px 10px; }
		.social-icon img { width: 24px; height: 24px; }
		.social-icon span { font-size: 12px; }
		#js-show-iframe-wrapper .bf-160 { min-height: 80px; padding: 10px; }
		#js-show-iframe-wrapper .bf-160__text { font-size: 12px; line-height: 1.4; }
		#js-show-iframe-wrapper .bf-160__logo2 { width: 32px; height: 32px; }
	}
	@media (max-width: 600px) {
		#js-show-iframe-wrapper .bf-160 { min-height: 70px; padding: 8px; }
		#js-show-iframe-wrapper .bf-160__description { flex-direction: column; align-items: flex-start; gap: 6px; }
		#js-show-iframe-wrapper .bf-160__text { font-size: 11px; line-height: 1.4; }
		#js-show-iframe-wrapper .bf-160__logo2 { width: 28px; height: 28px; align-self: flex-end; }
	}
	@media (max-width: 480px) {
		.right-block { padding: 10px; }
		.social-icons { flex-direction: row; flex-wrap: wrap; justify-content: center; }
		.social-icon { flex-direction: column; padding: 8px 12px; min-width: 70px; text-align: center; }
		.social-icon span { font-size: 10px; }
		#js-show-iframe-wrapper .bf-160 { min-height: 60px; padding: 6px; }
		#js-show-iframe-wrapper .bf-160__text { font-size: 10px; line-height: 1.3; }
		#js-show-iframe-wrapper .bf-160__logo { width: 50px; height: 13px; }
		#js-show-iframe-wrapper .bf-160__logo2 { width: 24px; height: 24px; }
	}

	.contact-person-card {
		text-align: center;
		padding: 4px 0;
	}
	.contact-person-name {
		font-size: 15px;
		font-weight: 700;
		color: #000770;
		margin: 0 0 2px 0;
	}
	.contact-person-role {
		font-size: 13px;
		color: #666;
		margin: 0 0 8px 0;
	}
	.contact-person-item {
		font-size: 13px;
		line-height: 1.6;
		margin: 4px 0;
	}
	.contact-person-item .contact-label {
		font-weight: 600;
		color: #000770;
	}
	.contact-person-email-link {
		color: #0066cc;
		text-decoration: none;
		word-break: break-all;
	}
	.contact-person-email-link:hover {
		text-decoration: underline;
	}

	.hotlines-block {
		margin-top: 4px;
	}
	.hotlines-title {
		font-size: 14px;
		font-weight: 700;
		color: #000770;
		margin: 0 0 8px 0;
		text-align: center;
		padding-bottom: 6px;
		border-bottom: 2px solid #eef6fc;
	}
	.hotline-item {
		display: flex;
		align-items: flex-start;
		gap: 10px;
		padding: 6px 0;
		border-bottom: 1px solid #f0f4f8;
	}
	.hotline-item:last-child {
		border-bottom: none;
	}
	.hotline-icon {
		width: 28px;
		height: 28px;
		flex-shrink: 0;
		margin-top: 2px;
	}
	.hotline-text {
		flex: 1;
		font-size: 13px;
		line-height: 1.5;
		color: #333;
	}
	.hotline-name {
		font-weight: 500;
		display: block;
	}
	.hotline-phone {
		color: #d35400;
		font-weight: 700;
		font-size: 14px;
		display: block;
	}
	.hotline-schedule {
		font-size: 11px;
		color: #888;
		display: block;
	}
	.hotline-link {
		display: flex;
		align-items: center;
		gap: 10px;
		text-decoration: none;
		color: #0066cc;
		font-size: 13px;
		padding: 4px 0;
		transition: color 0.2s;
	}
	.hotline-link:hover {
		color: #003d80;
		text-decoration: underline;
	}
	.hotline-link .hotline-name {
		font-weight: 500;
	}

/* =========================================================
   БЛОК 14: НОВОСТИ
   ========================================================= */

	.news-month-block {
		margin-bottom: 30px;
		background: #ffffff;
		border-radius: 8px;
		border: 1px solid #e8edf5;
		overflow: hidden;
		box-shadow: 0 2px 8px rgba(0,0,0,0.04);
	}
	.news-month-title {
		font-size: 18px;
		font-weight: 700;
		color: #ffffff;
		background: #000770;
		margin: 0;
		padding: 10px 20px;
		border-bottom: 3px solid #3b82f6;
	}

	.news-list {
		padding: 8px 0;
	}
	.news-item {
		display: flex;
		align-items: flex-start;
		gap: 16px;
		padding: 12px 20px;
		border-bottom: 1px solid #f0f4f8;
		transition: background-color 0.2s;
	}
	.news-item:last-child {
		border-bottom: none;
	}
	.news-item:hover {
		background-color: #f8faff;
	}

	.news-date {
		flex-shrink: 0;
		font-size: 13px;
		color: #666;
		font-weight: 600;
		min-width: 90px;
		background: #f0f4f8;
		padding: 4px 10px;
		border-radius: 4px;
		text-align: center;
		margin-top: 2px;
	}

	.news-title {
		font-size: 16px;
		font-weight: 700;
		color: #000770;
		margin: 0 0 6px 0;
		line-height: 1.4;
		flex: 1;
	}
	.news-content-wrap {
		flex: 1;
		min-width: 0;
	}

	.news-full-content {
		font-size: 15px;
		line-height: 1.8;
		color: #333;
	}
	.news-full-content p {
		margin: 0 0 10px 0;
		text-align: justify;
	}
	.news-full-content p:last-child {
		margin-bottom: 0;
	}
	.news-full-content ul, .news-full-content ol {
		margin: 6px 0 10px 20px;
		padding-left: 8px;
	}
	.news-full-content ul li, .news-full-content ol li {
		margin-bottom: 4px;
		text-align: justify;
	}
	.news-full-content ul li:last-child, .news-full-content ol li:last-child {
		margin-bottom: 0;
	}
	.news-full-content a {
		color: #0066cc;
		text-decoration: none;
	}
	.news-full-content a:hover {
		text-decoration: underline;
	}
	.news-full-content strong, .news-full-content b {
		color: #000770;
	}

	.news-full-content.news-collapsible {
		max-height: 120px;
		overflow: hidden;
		transition: max-height 0.5s ease;
		position: relative;
	}
	.news-full-content.news-collapsible::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		height: 40px;
		background: linear-gradient(to bottom, transparent, #ffffff);
		pointer-events: none;
		transition: opacity 0.5s ease;
	}
	.news-full-content.news-collapsible.expanded {
		max-height: none;
	}
	.news-full-content.news-collapsible.expanded::after {
		opacity: 0;
	}

	.news-btn-wrapper {
		text-align: center;
		margin-top: 8px;
	}
	.news-toggle-btn {
		background: #000770;
		color: #fff;
		border: none;
		padding: 6px 20px;
		border-radius: 4px;
		font-size: 13px;
		font-weight: 600;
		cursor: pointer;
		transition: background 0.2s, transform 0.2s;
	}
	.news-toggle-btn:hover {
		background: #0a0a9a;
		transform: scale(1.02);
	}
	.news-toggle-btn:active {
		transform: scale(0.98);
	}

	@media (max-width: 768px) {
		.news-month-title { font-size: 16px; padding: 8px 16px; }
		.news-item { flex-direction: column; align-items: flex-start; gap: 6px; padding: 10px 16px; }
		.news-date { font-size: 12px; min-width: auto; padding: 2px 8px; }
		.news-title { font-size: 15px; }
		.news-full-content { font-size: 14px; }
		.news-full-content.news-collapsible { max-height: 100px; }
		.news-toggle-btn { padding: 5px 16px; font-size: 12px; }
	}
	@media (max-width: 480px) {
		.news-month-title { font-size: 14px; padding: 6px 12px; }
		.news-item { padding: 8px 12px; }
		.news-title { font-size: 14px; }
		.news-full-content { font-size: 13px; }
	}

/* =========================================================
   БЛОК 15: РАСПИСАНИЯ (ОСНОВНЫЕ СТИЛИ)
   ========================================================= */

	.schedule-navigation {
		margin: 8px 0 12px 0;
	}
	.parallel-list {
		display: flex;
		flex-wrap: wrap;
		gap: 24px 40px;
	}
	.parallel-group {
		flex: 1 1 200px;
		min-width: 160px;
	}
	.parallel-title {
		font-weight: 700;
		color: #000770;
		font-size: 14px;
		margin-bottom: 6px;
		border-bottom: 2px solid #eef6fc;
		padding-bottom: 4px;
	}
	.class-list {
		display: flex;
		flex-wrap: wrap;
		gap: 6px;
	}
	.class-link {
		display: inline-block;
		padding: 4px 12px;
		background: #f0f4f8;
		color: #1e40af;
		border-radius: 4px;
		font-size: 13px;
		font-weight: 600;
		text-decoration: none;
		transition: background 0.2s, color 0.2s, transform 0.2s;
	}
	.class-link:hover {
		background: #000770;
		color: #fff;
		transform: scale(1.05);
	}
	.class-link.active {
		background: #000770 !important;
		color: #fff !important;
		transform: scale(1.05);
	}

	.schedule-block {
		margin: 12px 0 8px 0;
	}
	.schedule-class-title {
		color: #d35400;
		border-bottom-color: #d35400;
	}

	.schedule-table {
		width: 100%;
		border-collapse: collapse;
		font-size: 13px;
	}
	.schedule-table thead th {
		text-align: center;
		padding: 8px 6px;
		background: #000770;
		color: #fff;
		font-weight: 600;
		font-size: 12px;
		border: 1px solid #000770;
	}
	.schedule-table tbody td {
		padding: 8px 6px;
		border: 1px solid #dce4ed;
		vertical-align: middle;
		text-align: center;
		font-size: 12px;
		line-height: 1.5;
	}
	.schedule-table tbody tr:nth-child(even) td {
		background: #f8faff;
	}
	.schedule-table tbody tr:hover td {
		background: #eef6fc;
	}
	.schedule-time {
		font-weight: 600;
		color: #000770;
		background: #f0f4f8 !important;
		white-space: nowrap;
		font-size: 11px;
	}
	.schedule-cabinet {
		display: block;
		font-size: 10px;
		color: #888;
		font-weight: 400;
	}
	.schedule-placeholder {
		padding: 40px 20px;
		text-align: center;
		color: #888;
		font-size: 16px;
	}

	.building-tabs {
		display: flex;
		gap: 8px;
		margin: 0 0 16px 0;
	}
	.building-tab {
		flex: 1;
		display: inline-block;
		padding: 10px 12px;
		background: #f0f4f8;
		color: #1e40af;
		font-weight: 600;
		font-size: 14px;
		border-radius: 6px;
		text-decoration: none;
		text-align: center;
		transition: background 0.2s, color 0.2s, transform 0.2s;
		border: 2px solid transparent;
	}
	.building-tab:hover {
		background: #e0e8f5;
		transform: translateY(-2px);
	}
	.building-tab.active {
		background: #000770;
		color: #ffffff;
		border-color: #000770;
	}
	.building-tab .building-address {
		display: block;
		font-weight: 400;
		font-size: 11px;
		color: #666;
		margin-top: 2px;
	}
	.building-tab.active .building-address {
		color: rgba(255, 255, 255, 0.8);
	}

	.building-hidden {
		display: none !important;
	}

	.bell-schedule {
		display: flex;
		flex-wrap: wrap;
		gap: 6px 16px;
		padding: 8px 0;
	}
	.bell-item {
		display: flex;
		align-items: baseline;
		gap: 6px;
		font-size: 14px;
		line-height: 1.6;
	}
	.bell-lesson {
		font-weight: 600;
		color: #000770;
		min-width: 50px;
	}
	.bell-time {
		color: #333;
		font-weight: 500;
	}

	.service-schedule {
		margin: 4px 0;
	}
	.service-item {
		display: flex;
		align-items: flex-start;
		gap: 12px;
		padding: 6px 0;
		border-bottom: 1px solid #f0f4f8;
	}
	.service-item:last-child {
		border-bottom: none;
	}
	.service-label {
		font-weight: 600;
		color: #000770;
		font-size: 13px;
		min-width: 180px;
		flex-shrink: 0;
	}
	.service-value {
		font-size: 13px;
		color: #333;
		flex: 1;
	}
	.service-list {
		margin: 2px 0;
		padding-left: 18px;
		list-style: none;
	}
	.service-list li {
		padding: 2px 0 2px 18px;
		position: relative;
		font-size: 13px;
		line-height: 1.5;
	}
	.service-list li::before {
		content: "—";
		position: absolute;
		left: 0;
		color: #d35400;
		font-weight: 700;
	}

	@media (max-width: 768px) {
		.building-tabs { flex-wrap: wrap; gap: 6px; }
		.building-tab { flex: 1 1 calc(50% - 6px); padding: 8px 10px; font-size: 13px; }
		.building-tab .building-address { font-size: 10px; }
		.parallel-group { flex: 1 1 100%; }
		.class-link { padding: 3px 10px; font-size: 12px; }
		.schedule-table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
		.schedule-table thead th, .schedule-table tbody td { padding: 4px 3px; font-size: 10px; min-width: 60px; }
		.schedule-time { font-size: 10px; min-width: 50px; }
		.schedule-cabinet { font-size: 9px; }
		.service-item { flex-direction: column; gap: 2px; padding: 8px 0; }
		.service-label { min-width: auto; font-size: 12px; }
		.service-value { font-size: 12px; }
		.service-list li { font-size: 12px; }
		.bell-schedule { gap: 4px 12px; }
		.bell-item { font-size: 13px; }
		.bell-lesson { min-width: 40px; }
	}
	@media (max-width: 480px) {
		.building-tab { flex: 1 1 100%; padding: 8px 10px; font-size: 13px; }
		.class-link { padding: 2px 8px; font-size: 11px; }
		.schedule-table thead th, .schedule-table tbody td { font-size: 9px; padding: 3px 2px; min-width: 50px; }
		.schedule-time { font-size: 9px; min-width: 40px; }
		.schedule-cabinet { font-size: 8px; }
		.service-label { font-size: 11px; }
		.service-value { font-size: 11px; }
		.service-list li { font-size: 11px; }
		.bell-item { font-size: 12px; flex-wrap: wrap; }
		.bell-lesson { min-width: 35px; }
	}
	@media (max-width: 992px) {
		.schedule-table { font-size: 11px; }
		.schedule-table thead th, .schedule-table tbody td { padding: 6px 4px; font-size: 11px; }
		.service-label { min-width: 140px; font-size: 12px; }
		.service-value { font-size: 12px; }
		.service-list li { font-size: 12px; }
	}

/* =========================================================
   БЛОК 16: РАСПИСАНИЕ (СТОЛОВАЯ, МЕДКАБИНЕТ, БИБЛИОТЕКА, СТАДИОН)
   ========================================================= */

	.canteen-info {
		display: flex;
		flex-wrap: wrap;
		gap: 16px 32px;
		margin-bottom: 12px;
		padding: 10px 14px;
		background: #f8faff;
		border-radius: 6px;
		border: 1px solid #e0e8f0;
	}
	.canteen-hours {
		display: flex;
		align-items: baseline;
		gap: 8px;
		font-size: 14px;
	}
	.canteen-label {
		font-weight: 600;
		color: #000770;
	}
	.canteen-value {
		color: #333;
	}

	.canteen-schedule {
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
	}
	.meal-block {
		flex: 1 1 45%;
		min-width: 280px;
		background: #ffffff;
		border: 1px solid #e0e8f0;
		border-radius: 6px;
		overflow: hidden;
	}
	.meal-title {
		background: #000770;
		color: #ffffff;
		font-weight: 700;
		font-size: 14px;
		padding: 8px 14px;
		text-align: center;
	}

	.canteen-table {
		width: 100%;
		border-collapse: collapse;
		font-size: 13px;
	}
	.canteen-table thead th {
		text-align: left;
		padding: 6px 12px;
		background: #f0f4f8;
		color: #000770;
		font-weight: 600;
		font-size: 12px;
		border-bottom: 2px solid #dce4ed;
	}
	.canteen-table tbody td {
		padding: 6px 12px;
		border-bottom: 1px solid #f0f4f8;
		vertical-align: middle;
		font-size: 13px;
	}
	.canteen-table tbody tr:last-child td {
		border-bottom: none;
	}
	.canteen-table tbody tr:hover td {
		background: #f8faff;
	}
	.canteen-time {
		font-weight: 600;
		color: #d35400;
		white-space: nowrap;
		width: 80px;
	}
	.canteen-classes {
		color: #333;
	}

	.canteen-schedule-single {
		display: flex;
		justify-content: center;
	}
	.meal-block-single {
		flex: 1 1 100%;
		max-width: 600px;
		min-width: auto;
	}

	.medical-nurses {
		display: flex;
		flex-wrap: wrap;
		gap: 12px 24px;
		margin-bottom: 12px;
		padding: 10px 14px;
		background: #f8faff;
		border-radius: 6px;
		border: 1px solid #e0e8f0;
	}
	.nurse-item {
		display: flex;
		align-items: baseline;
		gap: 8px;
		font-size: 14px;
	}
	.nurse-name {
		font-weight: 700;
		color: #000770;
	}
	.nurse-position {
		color: #555;
		font-size: 13px;
	}

	.medical-table {
		width: 100%;
		border-collapse: collapse;
		font-size: 13px;
	}
	.medical-table thead th {
		text-align: center;
		padding: 8px 12px;
		background: #000770;
		color: #ffffff;
		font-weight: 600;
		font-size: 12px;
		border: 1px solid #000770;
	}
	.medical-table tbody td {
		padding: 8px 12px;
		border: 1px solid #dce4ed;
		vertical-align: middle;
		text-align: center;
		font-size: 13px;
	}
	.medical-table tbody tr:nth-child(even) td {
		background: #f8faff;
	}
	.medical-table tbody tr:hover td {
		background: #eef6fc;
	}
	.medical-role {
		font-weight: 600;
		color: #000770;
		text-align: left !important;
		background: #f0f4f8 !important;
		white-space: nowrap;
	}
	.medical-time {
		color: #333;
	}
	.medical-empty {
		color: #999 !important;
	}

	.medical-note {
		display: flex;
		align-items: flex-start;
		gap: 8px;
		margin-top: 10px;
		padding: 10px 14px;
		background: #fff9e6;
		border-radius: 6px;
		border-left: 4px solid #ffc107;
		font-size: 13px;
		color: #555;
		line-height: 1.5;
	}
	.medical-note-icon {
		font-size: 16px;
		flex-shrink: 0;
		margin-top: 1px;
	}
	.medical-note-text {
		flex: 1;
	}

	.library-librarian {
		display: flex;
		align-items: baseline;
		gap: 8px;
		margin-bottom: 12px;
		padding: 10px 14px;
		background: #f8faff;
		border-radius: 6px;
		border: 1px solid #e0e8f0;
	}
	.librarian-name {
		font-weight: 700;
		color: #000770;
		font-size: 14px;
	}
	.librarian-position {
		color: #555;
		font-size: 13px;
	}

	.library-table {
		width: 100%;
		border-collapse: collapse;
		font-size: 13px;
	}
	.library-table thead th {
		text-align: center;
		padding: 8px 12px;
		background: #000770;
		color: #ffffff;
		font-weight: 600;
		font-size: 12px;
		border: 1px solid #000770;
	}
	.library-table tbody td {
		padding: 8px 12px;
		border: 1px solid #dce4ed;
		vertical-align: middle;
		text-align: center;
		font-size: 13px;
	}
	.library-table tbody tr:nth-child(even) td {
		background: #f8faff;
	}
	.library-table tbody tr:hover td {
		background: #eef6fc;
	}
	.library-role {
		font-weight: 600;
		color: #000770;
		text-align: left !important;
		background: #f0f4f8 !important;
		white-space: nowrap;
	}
	.library-time {
		color: #333;
	}

	.library-note {
		display: flex;
		align-items: flex-start;
		gap: 8px;
		margin-top: 10px;
		padding: 10px 14px;
		background: #fff9e6;
		border-radius: 6px;
		border-left: 4px solid #ffc107;
		font-size: 13px;
		color: #555;
		line-height: 1.5;
	}
	.library-note-icon {
		font-size: 16px;
		flex-shrink: 0;
		margin-top: 1px;
	}
	.library-note-text {
		flex: 1;
	}

	.stadium-table {
		width: 100%;
		border-collapse: collapse;
		font-size: 13px;
	}
	.stadium-table thead th {
		text-align: center;
		padding: 8px 12px;
		background: #000770;
		color: #ffffff;
		font-weight: 600;
		font-size: 12px;
		border: 1px solid #000770;
	}
	.stadium-table tbody td {
		padding: 8px 12px;
		border: 1px solid #dce4ed;
		vertical-align: middle;
		text-align: center;
		font-size: 13px;
	}
	.stadium-table tbody tr:nth-child(even) td {
		background: #f8faff;
	}
	.stadium-table tbody tr:hover td {
		background: #eef6fc;
	}
	.stadium-role {
		font-weight: 600;
		color: #000770;
		text-align: left !important;
		background: #f0f4f8 !important;
		white-space: nowrap;
	}
	.stadium-time {
		color: #333;
	}

	.stadium-classes {
		margin-top: 12px;
		padding: 10px 14px;
		background: #f8faff;
		border-radius: 6px;
		border: 1px solid #e0e8f0;
	}
	.stadium-subtitle {
		font-size: 14px;
		font-weight: 600;
		color: #000770;
		margin: 0 0 8px 0;
		padding-bottom: 4px;
		border-bottom: 2px solid #eef6fc;
	}
	.stadium-classes-grid {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
		gap: 6px 16px;
	}
	.stadium-class-item {
		display: flex;
		align-items: baseline;
		gap: 6px;
		font-size: 13px;
		padding: 4px 0;
		border-bottom: 1px solid #f0f4f8;
	}
	.stadium-class-item:last-child {
		border-bottom: none;
	}
	.stadium-class-label {
		font-weight: 600;
		color: #000770;
		white-space: nowrap;
	}
	.stadium-class-time {
		color: #333;
	}

	.stadium-note {
		display: flex;
		align-items: flex-start;
		gap: 8px;
		margin-top: 10px;
		padding: 10px 14px;
		background: #fff3e0;
		border-radius: 6px;
		border-left: 4px solid #ff9800;
		font-size: 13px;
		color: #555;
		line-height: 1.5;
	}
	.stadium-note-icon {
		font-size: 16px;
		flex-shrink: 0;
		margin-top: 1px;
	}
	.stadium-note-text {
		flex: 1;
	}

	.extracurricular-block {
		display: none;
	}

	.extracurricular-note {
		display: flex;
		align-items: flex-start;
		gap: 8px;
		margin-top: 10px;
		padding: 10px 14px;
		background: #fff9e6;
		border-radius: 6px;
		border-left: 4px solid #ffc107;
		font-size: 13px;
		color: #555;
		line-height: 1.5;
	}
	.extracurricular-note-icon {
		font-size: 16px;
		flex-shrink: 0;
		margin-top: 1px;
	}
	.extracurricular-note-text {
		flex: 1;
	}

	@media (max-width: 768px) {
		.canteen-info { flex-direction: column; gap: 6px; padding: 8px 12px; }
		.canteen-hours { font-size: 13px; }
		.meal-block { flex: 1 1 100%; min-width: auto; }
		.canteen-table { font-size: 12px; }
		.canteen-table thead th, .canteen-table tbody td { padding: 4px 10px; font-size: 12px; }
		.canteen-time { width: 60px; }
		.medical-nurses { flex-direction: column; gap: 6px; }
		.nurse-item { font-size: 13px; }
		.medical-table { font-size: 12px; display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
		.medical-table thead th, .medical-table tbody td { padding: 6px 10px; font-size: 12px; min-width: 60px; }
		.medical-role { min-width: 120px; text-align: left !important; }
		.medical-note { font-size: 12px; padding: 8px 12px; }
		.library-librarian { flex-wrap: wrap; gap: 4px; }
		.librarian-name { font-size: 13px; }
		.librarian-position { font-size: 12px; }
		.library-table { font-size: 12px; display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
		.library-table thead th, .library-table tbody td { padding: 6px 10px; font-size: 12px; min-width: 60px; }
		.library-role { min-width: 100px; }
		.library-note { font-size: 12px; padding: 8px 12px; }
		.stadium-table { font-size: 12px; display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
		.stadium-table thead th, .stadium-table tbody td { padding: 6px 10px; font-size: 12px; min-width: 60px; }
		.stadium-role { min-width: 100px; }
		.stadium-classes-grid { grid-template-columns: 1fr; gap: 4px; }
		.stadium-class-item { font-size: 12px; }
		.stadium-note { font-size: 12px; padding: 8px 12px; }
		.extracurricular-note { font-size: 12px; padding: 8px 12px; }
	}
	@media (max-width: 480px) {
		.canteen-hours { font-size: 12px; flex-wrap: wrap; }
		.canteen-table { font-size: 11px; }
		.canteen-table thead th, .canteen-table tbody td { padding: 3px 8px; font-size: 11px; }
		.canteen-time { width: 50px; }
		.nurse-item { font-size: 12px; flex-wrap: wrap; }
		.medical-table thead th, .medical-table tbody td { padding: 4px 8px; font-size: 11px; min-width: 50px; }
		.medical-role { min-width: 100px; font-size: 11px; }
		.medical-note { font-size: 11px; padding: 6px 10px; }
		.librarian-name { font-size: 12px; }
		.librarian-position { font-size: 11px; }
		.library-table thead th, .library-table tbody td { padding: 4px 8px; font-size: 11px; min-width: 50px; }
		.library-role { min-width: 80px; font-size: 11px; }
		.library-note { font-size: 11px; padding: 6px 10px; }
		.stadium-table thead th, .stadium-table tbody td { padding: 4px 8px; font-size: 11px; min-width: 50px; }
		.stadium-role { min-width: 80px; font-size: 11px; }
		.stadium-class-label { font-size: 12px; }
		.stadium-class-time { font-size: 12px; }
		.stadium-note { font-size: 11px; padding: 6px 10px; }
		.extracurricular-note { font-size: 11px; padding: 6px 10px; }
	}

/* =========================================================
   БЛОК 17: СТРАНИЦА "ПОСТУПЛЕНИЕ В 1 КЛАСС"
   ========================================================= */

	.stage-title {
		border-bottom: 2px solid #eef6fc;
	}
	.stage-title-green {
		color: #2e7d32 !important;
		border-bottom-color: #2e7d32 !important;
	}
	.stage-title-orange {
		color: #e65100 !important;
		border-bottom-color: #e65100 !important;
	}
	.stage-note {
		padding-left: 20px;
		font-size: 13px;
		color: #555;
	}
	.stage-info {
		padding: 12px 16px;
		border-radius: 6px;
		margin: 8px 0 0 0;
	}
	.stage-info-green {
		background: #e8f5e9;
		border-left: 4px solid #2e7d32;
	}
	.stage-info-orange {
		background: #fff3e0;
		border-left: 4px solid #e65100;
	}
	.stage-info-text {
		margin: 0;
		font-size: 14px;
	}

	.documents-block {
		margin: 8px 0 0 0;
	}
	.documents-text {
		margin: 0;
		font-size: 14px;
		line-height: 1.7;
		color: #333;
		text-align: justify;
		text-indent: 1.5em;
	}
	.documents-hint {
		font-size: 13px;
		color: #888;
		margin-top: 6px;
	}

/* =========================================================
   БЛОК 18: КЛИКАБЕЛЬНОЕ СЛОВО И СКРЫТЫЙ СПИСОК
   ========================================================= */

	.org-content .clickable-word,
	.clickable-word {
		color: #d35400;
		font-weight: 700;
		cursor: pointer;
		text-decoration: none;
		text-decoration-line: none;
		background: transparent;
		padding: 0;
		border-radius: 0;
		display: inline;
		font-size: inherit;
		line-height: inherit;
		font-family: inherit;
		border-bottom: none;
	}
	.org-content .clickable-word:hover,
	.clickable-word:hover {
		color: #a04000;
		background: transparent;
		text-decoration: none;
		text-decoration-line: none;
		border-bottom: none;
	}
	.org-content .clickable-word.active,
	.clickable-word.active {
		color: #a04000;
		background: transparent;
		text-decoration: none;
		text-decoration-line: none;
		border-bottom: none;
	}

	.hidden-list {
		display: none;
		background: #f8faff;
		border: 1px solid #dce4ed;
		border-radius: 6px;
		padding: 12px 16px;
		margin: 8px 0 0 0;
		width: 100%;
		box-sizing: border-box;
	}
	.hidden-list.show {
		display: block;
	}
	.hidden-list ul {
		margin: 0;
		padding-left: 18px;
		list-style: none;
	}
	.hidden-list ul li {
		padding: 4px 0 4px 18px;
		position: relative;
		font-size: 14px;
		line-height: 1.5;
		color: #333;
	}
	.hidden-list ul li::before {
		content: "•";
		position: absolute;
		left: 0;
		color: #d35400;
		font-weight: 700;
	}

/* =========================================================
   БЛОК 19: ВСПЛЫВАЮЩИЙ БАННЕР (ЦЕНТР)
   ========================================================= */

	.floating-banner-center {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.6);
		z-index: 9999;
		display: flex;
		align-items: center;
		justify-content: center;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.5s ease, visibility 0.5s ease;
	}
	.floating-banner-center.show {
		opacity: 1;
		visibility: visible;
	}
	.floating-banner-center.hide {
		opacity: 0;
		visibility: hidden;
	}

	.floating-banner-center-content {
		position: relative;
		max-width: 90%;
		max-height: 90%;
		background: #ffffff;
		border-radius: 16px;
		box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
		overflow: hidden;
		animation: bannerPop 0.5s ease;
	}
	@keyframes bannerPop {
		0% { transform: scale(0.8); opacity: 0; }
		100% { transform: scale(1); opacity: 1; }
	}

	.floating-banner-center-close {
		position: absolute;
		top: 12px;
		right: 16px;
		font-size: 24px;
		font-weight: 700;
		color: #ffffff;
		background: rgba(0, 0, 0, 0.5);
		border: none;
		border-radius: 50%;
		width: 40px;
		height: 40px;
		cursor: pointer;
		z-index: 10;
		transition: background 0.2s;
		display: flex;
		align-items: center;
		justify-content: center;
		line-height: 1;
	}
	.floating-banner-center-close:hover {
		background: rgba(0, 0, 0, 0.8);
	}

	.floating-banner-center-inner {
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		margin: 0;
	}
	.floating-banner-center-image {
		display: block;
		width: 100%;
		max-width: 800px;
		height: auto;
		max-height: 85vh;
		object-fit: contain;
		border-radius: 16px;
	}

	.floating-banner-center-text {
		padding: 40px 50px;
		text-align: center;
		max-width: 600px;
	}
	.floating-banner-center-text h2 {
		font-size: 32px;
		font-weight: 700;
		color: #000770;
		margin: 0 0 16px 0;
	}
	.floating-banner-center-text p {
		font-size: 18px;
		color: #333;
		line-height: 1.6;
		margin: 0 0 12px 0;
	}
	.floating-banner-center-btn {
		display: inline-block;
		padding: 12px 32px;
		background: #000770;
		color: #ffffff;
		border-radius: 8px;
		font-size: 16px;
		font-weight: 600;
		text-decoration: none;
		transition: background 0.2s;
		margin-top: 8px;
	}
	.floating-banner-center-btn:hover {
		background: #0a0a9a;
	}

	@media (max-width: 768px) {
		.floating-banner-center-content { max-width: 95%; border-radius: 12px; }
		.floating-banner-center-close { top: 8px; right: 12px; font-size: 20px; width: 34px; height: 34px; }
		.floating-banner-center-text { padding: 24px 20px; }
		.floating-banner-center-text h2 { font-size: 24px; }
		.floating-banner-center-text p { font-size: 16px; }
		.floating-banner-center-image { max-height: 80vh; border-radius: 12px; }
	}
	@media (max-width: 480px) {
		.floating-banner-center-text { padding: 16px 14px; }
		.floating-banner-center-text h2 { font-size: 20px; }
		.floating-banner-center-text p { font-size: 14px; }
		.floating-banner-center-btn { padding: 10px 20px; font-size: 14px; }
		.floating-banner-center-close { top: 6px; right: 10px; font-size: 18px; width: 30px; height: 30px; }
	}

/* =========================================================
   БЛОК 20: РАСКРЫВАЮЩИЙСЯ ТЕКСТ (expander)
   ========================================================= */

	.expandable-text {
		max-height: 200px;
		overflow: hidden;
		transition: max-height 0.5s ease;
		position: relative;
	}
	.expandable-text::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		height: 60px;
		background: linear-gradient(to bottom, transparent, #ffffff);
		pointer-events: none;
		transition: opacity 0.5s ease;
	}
	.expandable-text.expanded {
		max-height: none;
	}
	.expandable-text.expanded::after {
		opacity: 0;
	}

	.expand-btn-wrapper {
		text-align: center;
		margin-top: 12px;
	}
	.expand-btn {
		background: #000770;
		color: #fff;
		border: none;
		padding: 8px 30px;
		border-radius: 4px;
		font-size: 14px;
		font-weight: 600;
		cursor: pointer;
		transition: background 0.2s, transform 0.2s;
	}
	.expand-btn:hover {
		background: #0a0a9a;
		transform: scale(1.02);
	}
	.expand-btn:active {
		transform: scale(0.98);
	}

/* =========================================================
   БЛОК 21: КАРТИНКА С ОБТЕКАНИЕМ ТЕКСТА (ДЛЯ СТРАНИЦЫ БЕЗОПАСНОСТИ)
   ========================================================= */

	.emergency-block {
		display: flex;
		gap: 24px;
		align-items: flex-start;
	}

	.emergency-image {
		flex: 0 0 300px;
		max-width: 300px;
		height: 200px;
		overflow: hidden;
		border-radius: 8px;
		border: 1px solid #e0e8f0;
		flex-shrink: 0;
	}

	.emergency-img {
		width: 100%;
		height: 100%;
		object-fit: fill;   /* ← РАСТЯГИВАЕТСЯ */
		display: block;
	}

	.emergency-text {
		flex: 1;
		min-width: 0;
	}

	/* --- Маркеры списков (оранжевые точки) --- */
	.emergency-text ul {
		list-style: none;
		padding-left: 0;
		margin: 6px 0 12px 0;
	}

	.emergency-text ul li {
		padding: 2px 0 2px 22px;
		position: relative;
		font-size: 14px;
		line-height: 1.6;
		color: #333;
	}

	.emergency-text ul li::before {
		content: "•";
		position: absolute;
		left: 4px;
		color: #d35400;
		font-weight: 700;
		font-size: 16px;
	}

	/* --- Плашки --- */
	.emergency-note {
		background: #e8f5e9;
		padding: 10px 14px;
		border-radius: 6px;
		border-left: 4px solid #2e7d32;
		font-size: 13px;
		line-height: 1.6;
		color: #333;
		margin: 6px 0 12px 0;
	}

	.emergency-note strong {
		color: #1b5e20;
	}

	.emergency-warning {
		background: #fff3e0;
		padding: 10px 14px;
		border-radius: 6px;
		border-left: 4px solid #e65100;
		font-size: 13px;
		line-height: 1.6;
		color: #333;
		margin: 8px 0 12px 0;
	}

	.emergency-warning strong {
		color: #bf360c;
	}

	/* --- Сброс обтекания --- */
	.clear-both {
		clear: both;
	}

	.org-content h5 {
		clear: both;
	}

	/* --- Адаптивность --- */
	@media (max-width: 768px) {
		.emergency-block {
			flex-direction: column;
			align-items: center;
			gap: 16px;
		}
		
		.emergency-image {
			flex: 0 0 auto;
			width: 100%;
			max-width: 300px;
			height: 200px;
		}
		
		.emergency-text ul li {
			font-size: 13px;
		}
		
		.emergency-note,
		.emergency-warning {
			font-size: 12px;
			padding: 8px 12px;
		}
	}

	@media (max-width: 480px) {
		.emergency-image {
			max-width: 100%;
			height: 160px;
		}
		
		.emergency-text ul li {
			font-size: 12px;
		}
		
		.emergency-note,
		.emergency-warning {
			font-size: 11px;
			padding: 6px 10px;
		}
	}

/* =========================================================
   БЛОК 22: КУКИ И СЧЁТЧИКИ
   ========================================================= */

	.cookie-consent {
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		background: rgba(0, 7, 112, 0.95);
		color: #ffffff;
		padding: 16px 20px;
		z-index: 1000;
		box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.3);
		box-sizing: border-box;
		border-top: 3px solid #ffc107;
		display: none;
	}

	.cookie-consent-content {
		max-width: 1200px;
		margin: 0 auto;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 20px;
		flex-wrap: wrap;
	}

	.cookie-consent-text {
		flex: 1;
		font-size: 14px;
		line-height: 1.6;
	}
	.cookie-consent-text p {
		margin: 0;
	}
	.cookie-consent-text a {
		color: #ffc107;
		text-decoration: underline;
		transition: color 0.2s;
	}
	.cookie-consent-text a:hover {
		color: #ffffff;
	}

	.cookie-consent-buttons {
		display: flex;
		gap: 12px;
		flex-shrink: 0;
	}

	.cookie-btn {
		padding: 10px 28px;
		border: none;
		border-radius: 6px;
		font-size: 14px;
		font-weight: 600;
		cursor: pointer;
		transition: background 0.2s, transform 0.2s;
		white-space: nowrap;
	}
	.cookie-btn:hover {
		transform: scale(1.02);
	}
	.cookie-btn:active {
		transform: scale(0.98);
	}

	.cookie-btn-accept {
		background: #ffc107;
		color: #000;
	}
	.cookie-btn-accept:hover {
		background: #ffd54f;
	}

	.cookie-btn-decline {
		background: transparent;
		color: #ffffff;
		border: 2px solid rgba(255, 255, 255, 0.3);
	}
	.cookie-btn-decline:hover {
		background: rgba(255, 255, 255, 0.1);
		border-color: rgba(255, 255, 255, 0.6);
	}

	.mailru-counter {
		margin-top: 6px;
	}
	.mailru-counter a {
		display: inline-block;
		transition: opacity 0.2s, transform 0.2s;
	}
	.mailru-counter a:hover {
		opacity: 0.8;
		transform: scale(1.05);
	}
	.mailru-counter img {
		display: block;
		border-radius: 4px;
	}

	@media (max-width: 768px) {
		.cookie-consent { padding: 12px 16px; }
		.cookie-consent-content { flex-direction: column; align-items: stretch; gap: 12px; }
		.cookie-consent-text { font-size: 13px; text-align: center; }
		.cookie-consent-buttons { justify-content: center; }
		.cookie-btn { padding: 8px 20px; font-size: 13px; }
	}
	@media (max-width: 480px) {
		.cookie-consent { padding: 10px 12px; }
		.cookie-consent-text { font-size: 12px; }
		.cookie-consent-buttons { flex-direction: column; gap: 8px; width: 100%; }
		.cookie-btn { padding: 10px 20px; font-size: 14px; width: 100%; text-align: center; }
	}

/* =========================================================
   БЛОК 23: КАРУСЕЛИ И НОВОСТНАЯ ЛЕНТА
   ========================================================= */

	section.news-carousel-section {
		position: relative;
		background-color: #f5f7fa;
		padding: 5px 0;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		margin: 0;
		border-radius: 12px;
	}

	.news-wrapper {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: stretch;
		width: 100%;
		max-width: 100%;
		margin: 0 auto;
		padding: 0 50px;
		box-sizing: border-box;
	}

	#newsContainer {
		display: flex;
		flex-direction: row;
		gap: 16px;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		padding: 10px 0;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		scrollbar-width: thin;
		scrollbar-color: #ccc #f1f1f1;
	}
	#newsContainer::-webkit-scrollbar { height: 4px; }
	#newsContainer::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 3px; }
	#newsContainer::-webkit-scrollbar-thumb { background: #ccc; border-radius: 3px; }

	.news-card {
		flex: 0 0 260px;
		min-width: 260px;
		max-width: 260px;
		background: white;
		border-radius: 12px;
		box-shadow: 0 4px 12px rgba(0,0,0,0.08);
		display: flex;
		flex-direction: column;
		align-items: stretch;
		scroll-snap-align: start;
		overflow: hidden;
		box-sizing: border-box;
		transition: transform 0.2s, box-shadow 0.2s;
	}
	.news-card:hover {
		transform: translateY(-4px);
		box-shadow: 0 8px 24px rgba(0,0,0,0.12);
	}

	.slide-image-wrapper {
		position: relative;
		width: 100%;
		height: 200px;
		overflow: hidden;
		background-color: #f0f0f0;
	}
	.slide-image-wrapper img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}
	.slide-date {
		position: absolute;
		bottom: 12px;
		right: 12px;
		background-color: rgba(0, 86, 179, 0.9);
		color: white;
		padding: 4px 12px;
		border-radius: 20px;
		font-size: 13px;
		font-weight: 600;
		z-index: 10;
	}

	.slide-content {
		padding: 16px;
		display: flex;
		flex-direction: column;
		flex-grow: 1;
	}
	.slide-title {
		font-size: 16px;
		font-weight: 700;
		color: #1a1a1a;
		margin: 0 0 12px 0;
		line-height: 1.4;
		text-align: center;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
		min-height: 48px;
	}
	.slide-desc {
		font-size: 13px;
		color: #555;
		line-height: 1.5;
		text-align: justify;
		text-indent: 16px;
		display: -webkit-box;
		-webkit-line-clamp: 4;
		-webkit-box-orient: vertical;
		overflow: hidden;
		min-height: 80px;
		flex-grow: 1;
	}
	.slide-btn {
		display: inline-block;
		background-color: #007bff;
		color: white;
		padding: 10px 20px;
		text-decoration: none;
		border-radius: 6px;
		font-size: 14px;
		font-weight: 600;
		margin-top: 12px;
		align-self: flex-start;
		transition: background 0.2s;
	}
	.slide-btn:hover {
		background-color: #0056b3;
	}

	.carousel-btn {
		position: absolute;
		top: 0;
		bottom: 0;
		transform: none;
		background: rgba(0, 0, 0, 0.05);
		border: none;
		border-radius: 0;
		font-size: 32px;
		cursor: pointer;
		padding: 0 16px;
		z-index: 20;
		box-shadow: none;
		user-select: none;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		transition: background 0.2s, opacity 0.2s;
		color: #333;
		width: 48px;
		min-height: 100%;
	}
	.prev-btn {
		left: 0;
		border-radius: 12px 0 0 12px;
		background: linear-gradient(to right, rgba(255,255,255,0.95) 60%, rgba(255,255,255,0));
	}
	.next-btn {
		right: 0;
		border-radius: 0 12px 12px 0;
		background: linear-gradient(to left, rgba(255,255,255,0.95) 60%, rgba(255,255,255,0));
	}
	.carousel-btn:hover {
		background: rgba(255, 255, 255, 0.98);
	}
	.carousel-btn:active {
		opacity: 0.7;
	}

	.news-ticker-container {
		overflow: hidden;
		background-color: #000770;
		border-top: 1px solid #333;
		border-bottom: 1px solid #333;
		padding: 6px 0;
		margin: 0;
		box-sizing: border-box;
		min-height: 36px;
		width: 100%;
		position: relative;
		display: flex;
		align-items: center;
	}

	.news-ticker-track {
		display: flex;
		white-space: nowrap;
		animation: ticker-scroll 35s linear infinite;
		animation-delay: 0s;
		will-change: transform;
		flex-shrink: 0;
		min-width: 100%;
		padding: 10px 0;
		align-items: center;
	}
	.news-ticker-container:hover .news-ticker-track {
		animation-play-state: paused;
	}

	.news-ticker-item {
		display: inline-block;
		padding: 8px 50px 8px 0;
		font-size: 16px;
		color: #ffffff;
		line-height: 1.6;
		vertical-align: middle;
		white-space: nowrap;
		flex-shrink: 0;
	}
	.news-ticker-link {
		display: inline-block;
		text-decoration: none;
		color: inherit;
		flex-shrink: 0;
		padding: 0;
		transition: color 0.25s ease;
	}
	.news-ticker-link:hover .news-ticker-item {
		color: #d35400;
		text-decoration: underline;
		transform: scale(1.05);
	}
	@keyframes ticker-scroll {
		0% { transform: translateX(70%); }
		100% { transform: translateX(-100%); }
	}

	.header .header-right {
		display: flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 15%;
		min-width: 0;
		gap: 8px;
	}
	.header .special-version-btn {
		display: flex;
		align-items: center;
		justify-content: center;
		text-decoration: none;
		padding: 6px;
		border-radius: 50%;
		background: rgba(255, 255, 255, 0.15);
		transition: background 0.2s, transform 0.2s;
		width: 44px;
		height: 44px;
		border: 1px solid rgba(255, 255, 255, 0.2);
		box-sizing: border-box;
		margin: 0 auto;
	}
	.header .special-version-btn:hover {
		background: rgba(255, 255, 255, 0.25);
		transform: scale(1.3);
	}
	.header .special-version-icon {
		width: 28px;
		height: 28px;
		display: block;
	}

	@media (max-width: 1400px) {
		.news-card { flex: 0 0 220px; min-width: 220px; max-width: 220px; }
	}
	@media (max-width: 1200px) {
		.news-card { flex: 0 0 200px; min-width: 200px; max-width: 200px; }
	}
	@media (max-width: 992px) {
		.news-card { flex: 0 0 180px; min-width: 180px; max-width: 180px; }
		.news-wrapper { padding: 0 40px; }
		.carousel-btn { width: 40px; font-size: 28px; padding: 0 12px; }
	}
	@media (max-width: 900px) {
		.header .header-right { flex: 0 0 auto; width: auto; }
		.header .special-version-btn { width: 40px; height: 40px; padding: 4px; }
		.header .special-version-icon { width: 24px; height: 24px; }
	}
	@media (max-width: 768px) {
		section.news-carousel-section { padding: 15px 0; }
		.news-card { flex: 0 0 220px; min-width: 220px; max-width: 220px; }
		.slide-image-wrapper { height: 160px; }
		.slide-title { font-size: 14px; min-height: 40px; }
		.slide-desc { font-size: 12px; min-height: 60px; }
		.carousel-btn { display: none; }
		.news-wrapper { padding: 0 10px; }
	}
	@media (max-width: 480px) {
		.news-card { flex: 0 0 100%; min-width: 100%; max-width: 100%; }
		.news-wrapper { padding: 0; }
		.slide-image-wrapper { height: 200px; }
		.header .special-version-btn { width: 36px; height: 36px; padding: 3px; }
		.header .special-version-icon { width: 20px; height: 20px; }
	}
	
	/* =========================================================
   СЛАЙДЕР С ПАМЯТКАМИ
   ========================================================= */

.slider-container {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    background: #f8faff;
    border: 1px solid #e0e8f0;
    margin: 8px 0;
}

.slider-track {
    display: flex;
    transition: transform 0.6s ease;
    will-change: transform;
}

.slider-slide {
    flex: 0 0 100%;
    min-height: 200px;
    padding: 24px 30px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
}

.slider-content {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
}

.slider-icon {
    font-size: 32px;
    line-height: 1;
}

.slider-title {
    font-size: 17px;
    font-weight: 700;
    color: #000770;
    margin: 0;
}

.slider-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.slider-list li {
    padding: 3px 0 3px 22px;
    position: relative;
    font-size: 14px;
    line-height: 1.6;
    color: #333;
}

.slider-list li::before {
    content: "•";
    position: absolute;
    left: 4px;
    color: #d35400;
    font-weight: 700;
    font-size: 16px;
}

/* --- КНОПКИ НАВИГАЦИИ --- */
.slider-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 7, 112, 0.7);
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    font-size: 22px;
    cursor: pointer;
    z-index: 10;
    transition: background 0.3s, transform 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.slider-btn:hover {
    background: rgba(0, 7, 112, 0.95);
    transform: translateY(-50%) scale(1.05);
}

.slider-btn-prev {
    left: 10px;
}

.slider-btn-next {
    right: 10px;
}

/* --- ИНДИКАТОРЫ --- */
.slider-dots {
    display: flex;
    justify-content: center;
    gap: 10px;
    padding: 12px 0 6px 0;
}

.slider-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #dce4ed;
    border: none;
    cursor: pointer;
    transition: background 0.3s, transform 0.2s;
    padding: 0;
}

.slider-dot:hover {
    transform: scale(1.15);
}

.slider-dot.active {
    background: #000770;
    transform: scale(1.1);
}

/* --- АДАПТИВНОСТЬ --- */
@media (max-width: 768px) {
    .slider-slide {
        padding: 16px 20px;
        min-height: 160px;
    }
    
    .slider-icon {
        font-size: 26px;
    }
    
    .slider-title {
        font-size: 15px;
    }
    
    .slider-list li {
        font-size: 13px;
        padding: 2px 0 2px 18px;
    }
    
    .slider-btn {
        width: 32px;
        height: 32px;
        font-size: 18px;
    }
    
    .slider-btn-prev {
        left: 5px;
    }
    
    .slider-btn-next {
        right: 5px;
    }
}

@media (max-width: 480px) {
    .slider-slide {
        padding: 12px 14px;
        min-height: 140px;
    }
    
    .slider-icon {
        font-size: 22px;
    }
    
    .slider-title {
        font-size: 13px;
    }
    
    .slider-list li {
        font-size: 12px;
        padding: 1px 0 1px 16px;
    }
    
    .slider-btn {
        width: 28px;
        height: 28px;
        font-size: 14px;
    }
}

/* =========================================================
   СЛАЙДЕР ДЛЯ КАРТИНОК (БЕЗ КНОПОК, С ЗАМЕТНЫМИ ИНДИКАТОРАМИ)
   ========================================================= */

.emergency-slider {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 8px;
    background: #f0f0f0;  /* ← ФОН НА ВРЕМЯ ЗАГРУЗКИ */
}

.emergency-slider-track {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform 0.5s ease;
}

.emergency-slide {
    flex: 0 0 100%;
    height: 100%;
}

.emergency-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* --- ИНДИКАТОРЫ (ТОЧКИ) — БОЛЕЕ ЗАМЕТНЫЕ --- */
.emergency-slider-dots {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
    z-index: 10;
    background: rgba(0, 0, 0, 0.5);   /* ← ТЁМНЫЙ ПОЛУПРОЗРАЧНЫЙ ФОН */
    padding: 6px 14px;
    border-radius: 20px;
    backdrop-filter: blur(4px);
}

.emergency-slider-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.35);
    border: 2px solid rgba(255, 255, 255, 0.7);
    cursor: pointer;
    padding: 0;
    transition: background 0.3s, transform 0.2s, border-color 0.3s;
}

.emergency-slider-dot:hover {
    background: rgba(255, 255, 255, 0.6);
    transform: scale(1.15);
}

.emergency-slider-dot.active {
    background: #ffffff;
    border-color: #ffffff;
    transform: scale(1.2);
}