/* ============================================================
   ONMedU Redesign 2.0 — design.css
   Грузится после css/main2.css (medun). База: html{font-size:10px} → 1rem = 10px.
   Брендовая сине-бирюзовая идентичность, светлая тема, современные карточки.
   Префикс od- = только наши блоки (ноль конфликтов с родителем).
   ============================================================ */

:root {
	--od-brand:      #0E7C86; /* бирюза */
	--od-brand-2:    #16A6A6; /* светлая бирюза (акцент) */
	--od-deep:       #0B3B5C; /* тёмно-синий */
	--od-deep-2:     #0F4E73;
	--od-ink:        #14233A; /* основной текст */
	--od-muted:      #5C6B7A; /* приглушённый текст */
	--od-line:       #E5EBF1; /* линии/границы */
	--od-bg:         #F3F7FA; /* фон страницы */
	--od-card:       #FFFFFF;

	--od-r-sm: .8rem;
	--od-r:    1.4rem;
	--od-r-lg: 2rem;

	--od-shadow:    0 1px 2px rgba(11,59,92,.06), 0 8px 24px rgba(11,59,92,.08);
	--od-shadow-lg: 0 2px 6px rgba(11,59,92,.08), 0 18px 48px rgba(11,59,92,.16);

	--od-sans:    'Golos Text', 'Helvetica Neue', Arial, sans-serif;
	--od-display: 'Manrope', 'Golos Text', Arial, sans-serif;

	--od-maxw: 124rem;
	--od-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ---- Базовая типографика (мягко модернизируем общий вид) ---- */
.od-main,
.od-main p,
.od-main a,
.od-main span,
.od-main li {
	font-family: var(--od-sans);
}

.od-main {
	background: var(--od-bg);
	color: var(--od-ink);
	font-size: 1.6rem;
	line-height: 1.55;
	overflow: hidden;
}

.od-main img { max-width: 100%; display: block; }

.od-container {
	width: 100%;
	max-width: var(--od-maxw);
	margin: 0 auto;
	padding: 0 2.4rem;
	box-sizing: border-box;
}

/* ============================================================
   ПРОМО-КНОПКИ
   ============================================================ */
.od-promo {
	padding: 3.2rem 0 1.2rem;
	background: var(--od-bg);
}
.od-promo__grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 1.6rem;
	align-items: stretch;
}
.od-promo__card {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 12rem;
	border-radius: var(--od-r);
	overflow: hidden;
	background: var(--od-card);
	box-shadow: var(--od-shadow);
	text-decoration: none;
	transition: transform .35s var(--od-ease), box-shadow .35s var(--od-ease);
}
.od-promo__card:hover {
	transform: translateY(-.4rem);
	box-shadow: var(--od-shadow-lg);
}
.od-promo__card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.od-promo__card--text {
	flex-direction: column;
	gap: .6rem;
	padding: 1.8rem;
	text-align: center;
}
.od-promo__card--jubilee { background: linear-gradient(140deg, #0B3B5C 0%, #061d2c 100%); }
.od-promo__card--vstup   { background: linear-gradient(140deg, var(--od-brand-2) 0%, var(--od-brand) 100%); }
.od-promo__card--tot     { background: linear-gradient(140deg, var(--od-deep-2) 0%, var(--od-deep) 100%); }
.od-promo__card--bpr     { background: linear-gradient(140deg, var(--od-brand) 0%, var(--od-deep) 100%); }
.od-promo__card--med     { background: linear-gradient(140deg, var(--od-brand-2) 0%, var(--od-brand) 100%); }

.od-promo__text {
	color: #fff;
	font-family: var(--od-display);
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 1.25;
	margin: 0;
}
.od-promo__text--lg { font-size: 2rem; }
.od-promo__text--sub {
	font-family: var(--od-sans);
	font-weight: 500;
	font-size: 1.2rem;
	letter-spacing: .02em;
	text-transform: uppercase;
	opacity: .82;
	margin-top: .4rem;
}
.od-promo__text--accent { font-weight: 800; opacity: .95; }

/* Ювілейная карточка: золотой текст, декоративный бейдж "125", ротация подписи */
.od-promo__card--jubilee .od-promo__text { color: #e7cf95; }
.od-promo__badge {
	position: absolute;
	bottom: -1.8rem; right: -.6rem;
	font-family: var(--od-display);
	font-weight: 800;
	font-size: 7.5rem;
	line-height: 1;
	color: rgba(231, 207, 149, .13);
	pointer-events: none;
	z-index: 0;
}
.od-promo__rotator {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 4.6rem;
}
.od-promo__rotator .od-promo__text {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	opacity: 0;
	transform: translateY(1.1rem) scale(.92);
	filter: blur(6px);
	transition:
		opacity .5s var(--od-ease),
		transform .6s var(--od-ease),
		filter .5s var(--od-ease);
}
.od-promo__rotator .od-promo__text.is-active {
	opacity: 1;
	transform: translateY(0) scale(1);
	filter: blur(0);
}

/* ============================================================
   ГЕРОЙ
   ============================================================ */
.od-hero { position: relative; padding-bottom: 1px; }
.od-hero__stage {
	position: relative;
	min-height: 52rem;
	display: grid;
}
.od-hero__slide {
	grid-area: 1 / 1;
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity .9s var(--od-ease);
	min-height: 52rem;
}
.od-hero__slide.is-active { opacity: 1; visibility: visible; }
.od-hero__slide::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(11,59,92,.82) 0%, rgba(11,59,92,.55) 45%, rgba(11,59,92,.12) 100%),
		linear-gradient(0deg, rgba(11,59,92,.45) 0%, rgba(11,59,92,0) 40%);
}
.od-hero__inner { position: relative; z-index: 2; width: 100%; }
.od-hero__caption { max-width: 70rem; padding: 4rem 0 7rem; }
.od-hero__title {
	font-family: var(--od-display);
	font-weight: 800;
	font-size: clamp(3.2rem, 4.4vw, 5.6rem);
	line-height: 1.05;
	letter-spacing: -.02em;
	color: #fff;
	margin: 0 0 1.6rem;
	text-shadow: 0 2px 24px rgba(0,0,0,.25);
}
.od-hero__subtitle {
	font-size: clamp(1.6rem, 1.6vw, 2rem);
	line-height: 1.45;
	color: rgba(255,255,255,.92);
	margin: 0;
	max-width: 56rem;
}
.od-hero__dots {
	position: absolute;
	z-index: 3;
	left: 0; right: 0; bottom: 2.4rem;
	display: flex;
	gap: .8rem;
	justify-content: center;
}
.od-hero__dot {
	width: 1rem; height: 1rem;
	border-radius: 50%;
	border: 0;
	background: rgba(255,255,255,.45);
	cursor: pointer;
	padding: 0;
	transition: background .3s, width .3s var(--od-ease);
}
.od-hero__dot.is-active { background: #fff; width: 2.6rem; border-radius: 1rem; }

/* ---- Категории (наезжают на низ героя) ---- */
.od-cats {
	position: relative;
	z-index: 4;
	margin-top: -8rem;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
	padding-bottom: 1rem;
}
.od-cat {
	position: relative;
	display: block;
	min-height: 22rem;
	border-radius: var(--od-r-lg);
	overflow: hidden;
	text-decoration: none;
	box-shadow: var(--od-shadow-lg);
	isolation: isolate;
	transition: transform .4s var(--od-ease);
}
.od-cat:hover { transform: translateY(-.6rem); }
.od-cat__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	z-index: -2;
	transition: transform .8s var(--od-ease);
}
.od-cat:hover .od-cat__bg { transform: scale(1.07); }
.od-cat::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	transition: opacity .4s;
}
.od-cat--blue::after { background: linear-gradient(160deg, rgba(15,78,115,.55) 0%, rgba(11,59,92,.92) 100%); }
.od-cat--teal::after { background: linear-gradient(160deg, rgba(22,166,166,.5) 0%, rgba(11,77,90,.92) 100%); }
.od-cat:hover::after { opacity: .92; }
.od-cat__body {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	box-sizing: border-box;
	padding: 2.4rem;
	color: #fff;
}
.od-cat__icon {
	width: 4.8rem; height: 4.8rem;
	object-fit: contain;
	margin-bottom: auto;
	filter: brightness(0) invert(1);
	opacity: .95;
}
.od-cat__title {
	font-family: var(--od-display);
	font-weight: 700;
	font-size: 2rem;
	line-height: 1.2;
	margin-top: 1.6rem;
}
.od-cat__text {
	font-size: 1.4rem;
	line-height: 1.45;
	color: rgba(255,255,255,.85);
	margin-top: .6rem;
}

/* ============================================================
   СЕКЦИИ (общее)
   ============================================================ */
.od-section { padding: 6rem 0; }
.od-section--news  { background: var(--od-bg); }
.od-section--events{ background: #fff; }
.od-section__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 2rem;
	margin-bottom: 3.2rem;
}
.od-section__title {
	position: relative;
	font-family: var(--od-display);
	font-weight: 800;
	font-size: clamp(2.6rem, 3vw, 3.6rem);
	line-height: 1.1;
	color: var(--od-deep);
	margin: 0;
	padding-left: 1.8rem;
}
.od-section__title::before {
	content: "";
	position: absolute;
	left: 0; top: .2em; bottom: .2em;
	width: .5rem;
	border-radius: 1rem;
	background: linear-gradient(var(--od-brand-2), var(--od-brand));
}
.od-link-all {
	flex: 0 0 auto;
	font-family: var(--od-display);
	font-weight: 600;
	font-size: 1.5rem;
	color: var(--od-brand);
	text-decoration: none;
	white-space: nowrap;
	transition: color .25s, gap .25s;
}
.od-link-all span { transition: transform .25s var(--od-ease); display: inline-block; }
.od-link-all:hover { color: var(--od-deep); }
.od-link-all:hover span { transform: translateX(.4rem); }
.od-section__foot { margin-top: 3.6rem; text-align: center; }

/* ---- Кнопка ---- */
.od-btn {
	display: inline-flex;
	align-items: center;
	gap: .8rem;
	font-family: var(--od-display);
	font-weight: 700;
	font-size: 1.6rem;
	color: #fff;
	text-decoration: none;
	padding: 1.4rem 3.2rem;
	border-radius: 100px;
	background: linear-gradient(135deg, var(--od-brand) 0%, var(--od-deep) 100%);
	box-shadow: 0 8px 20px rgba(14,124,134,.28);
	transition: transform .3s var(--od-ease), box-shadow .3s var(--od-ease);
}
.od-btn:hover {
	color: #fff;
	transform: translateY(-.3rem);
	box-shadow: 0 14px 30px rgba(14,124,134,.36);
}

/* ============================================================
   НОВИНИ
   ============================================================ */
.od-news-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2.4rem;
}
.od-card {
	display: flex;
	flex-direction: column;
	background: var(--od-card);
	border: 1px solid var(--od-line);
	border-radius: var(--od-r);
	overflow: hidden;
	box-shadow: var(--od-shadow);
	transition: transform .35s var(--od-ease), box-shadow .35s var(--od-ease);
}
.od-card:hover { transform: translateY(-.5rem); box-shadow: var(--od-shadow-lg); }
.od-card__media {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: linear-gradient(135deg, #dfeaf1, #eef4f8);
}
.od-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--od-ease); }
.od-card:hover .od-card__media img { transform: scale(1.06); }
.od-card__media-ph {
	display: block; width: 100%; height: 100%;
	background:
		radial-gradient(circle at 30% 30%, rgba(22,166,166,.25), transparent 60%),
		linear-gradient(135deg, #dfeaf1, #eef4f8);
}
.od-card__body { display: flex; flex-direction: column; gap: 1.2rem; padding: 2rem 2rem 2.4rem; }
.od-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .8rem;
	margin: 0; padding: 0;
	list-style: none;
}
.od-meta__date {
	font-size: 1.3rem;
	font-weight: 600;
	color: var(--od-muted);
}
.od-meta__tag {
	font-size: 1.2rem;
	font-weight: 600;
	color: var(--od-brand);
	text-decoration: none;
	background: rgba(14,124,134,.08);
	padding: .3rem 1rem;
	border-radius: 100px;
	transition: background .25s, color .25s;
}
.od-meta__tag:hover { background: var(--od-brand); color: #fff; }
.od-card__title {
	font-family: var(--od-display);
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 1.3;
	color: var(--od-ink);
	text-decoration: none;
	transition: color .25s;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.od-card__title:hover { color: var(--od-brand); }

/* ============================================================
   АНОНСИ ПОДІЙ
   ============================================================ */
.od-events-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2.4rem;
}
.od-event { display: flex; flex-direction: column; gap: 1.4rem; }
.od-event__media {
	position: relative;
	display: block;
	aspect-ratio: 3 / 4;
	border-radius: var(--od-r);
	overflow: hidden;
	box-shadow: var(--od-shadow);
	background: linear-gradient(135deg, #dfeaf1, #eef4f8);
}
.od-event__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--od-ease); }
.od-event:hover .od-event__media img { transform: scale(1.05); }
.od-event__date {
	position: absolute;
	top: 1.4rem; left: 1.4rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 6.4rem;
	padding: 1rem .8rem;
	border-radius: var(--od-r-sm);
	background: rgba(11,59,92,.85);
	backdrop-filter: blur(4px);
	color: #fff;
	text-align: center;
	line-height: 1;
}
.od-event__day { font-family: var(--od-display); font-weight: 800; font-size: 2.4rem; }
.od-event__ym  { font-size: 1.2rem; margin-top: .4rem; opacity: .85; }
.od-event__title {
	font-family: var(--od-display);
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1.35;
	color: var(--od-ink);
	text-decoration: none;
	transition: color .25s;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.od-event__title:hover { color: var(--od-brand); }

/* ============================================================
   СТАТИСТИКА
   ============================================================ */
.od-section--stats { background: var(--od-deep); padding: 5rem 0; }
.od-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
}
.od-stat {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 18rem;
	padding: 2.4rem;
	border-radius: var(--od-r-lg);
	overflow: hidden;
	background-size: cover;
	background-position: center;
	text-decoration: none;
	color: #fff;
	isolation: isolate;
	transition: transform .4s var(--od-ease);
}
.od-stat::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(11,59,92,.25) 0%, rgba(11,59,92,.88) 100%);
	transition: opacity .4s;
}
.od-stat:hover { transform: translateY(-.6rem); }
.od-stat:hover::after { opacity: .8; }
.od-stat__count {
	font-family: var(--od-display);
	font-weight: 800;
	font-size: clamp(3.2rem, 3.4vw, 4.4rem);
	line-height: 1;
	letter-spacing: -.02em;
}
.od-stat__title {
	font-size: 1.5rem;
	font-weight: 500;
	margin-top: .8rem;
	color: rgba(255,255,255,.9);
}

/* ============================================================
   ШАПКА 2.0  (переопределение medun, глобально — шапка общая для сайта)
   ============================================================ */
body { font-family: var(--od-sans); }

/* Верхняя полоса: бренд-градиент вместо плоского #61b3e2 */
.header::before {
	background: linear-gradient(90deg, var(--od-deep) 0%, var(--od-deep-2) 48%, var(--od-brand) 100%) !important;
}
.nav-contact__item { color: rgba(255,255,255,.88) !important; }
.nav-hot__item .link { color: #fff; font-weight: 500; transition: opacity .2s; }
.nav-hot__item .link:hover { color: #fff; opacity: .72; }
.authorization__link { color: #fff !important; }
.authorization__link:hover { opacity: .8; }

/* Лого в шапке — фото корпуса университета (header.php не трогаем).
   Картинка как фон с зумом (118%) — обрезает белые края/уголки исходного фото; border-radius скругляет. */
.header__logo img, .header-mobile__logo img { display: none !important; }
.header__logo {
	display: block !important;
	width: 12rem !important;
	height: 9.8rem !important;
	max-width: none !important;
	padding: 0 !important;
	margin: .6rem 1rem 0 0 !important;
	background: url('onmedu-logo.png') no-repeat center / 118%;
	border-radius: 1.5rem;
}
.header-mobile__logo {
	display: block !important;
	width: 8.6rem !important;
	height: 7rem !important;
	background: url('onmedu-logo.png') no-repeat center / 118%;
	border-radius: 1.2rem;
}
/* Поиск в шапке: не давать значку наезжать на последний пункт меню */
.nav-bot__item.menu-top { padding-right: 3rem !important; }
.search-top { min-width: 3rem; }
/* поджать большой 5rem-зазор между пунктами меню — освобождаем ширину под крупное лого */
.menu-top__link:not(:last-child) { margin-right: 3.2rem !important; }

/* Нижняя полоса: белая, но осовремененное меню + индикатор */
.header { box-shadow: 0 2px 18px rgba(11, 59, 92, .08); }
.nav-bot { border-top: 1px solid rgba(11, 59, 92, .07); }
.menu-top .link {
	color: var(--od-deep) !important;
	font-family: var(--od-display);
	font-weight: 600;
	transition: color .25s var(--od-ease);
}
.menu-top .link:hover { color: var(--od-brand) !important; }
.menu-top__link::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: .3rem;
	border-radius: 2px;
	background: linear-gradient(var(--od-brand-2), var(--od-brand));
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .3s var(--od-ease);
}
.menu-top__link:hover::after { transform: scaleX(1); }
.menu-top__link.current-menu-item::after,
.menu-top__link.current_page_item::after { transform: scaleX(1); }

/* Выпадающее подменю шапки — оформление 2.0 */
.link-drop {
	background: #fff !important;
	border: 1px solid var(--od-line) !important;
	border-top: .3rem solid var(--od-brand) !important;
	border-radius: 0 0 var(--od-r) var(--od-r) !important;
	box-shadow: 0 1.4rem 3.6rem rgba(11, 59, 92, .18) !important;
	padding: .7rem !important;
}
/* позиционирование/анимация — только для подменю первого уровня (вложенные не трогаем) */
.menu-top__link > .link-drop {
	width: 27rem !important;
	left: -1.2rem !important;
	top: 5.6rem !important;
	transform: translateY(.8rem);
	transition: opacity .25s var(--od-ease), transform .28s var(--od-ease), visibility .1s !important;
}
.menu-top__link:hover > .link-drop { top: 5.6rem !important; transform: translateY(0); }

.link-drop__item { padding: 0 !important; }
.link-drop__a {
	position: relative;
	font-family: var(--od-sans) !important;
	font-size: 1.45rem !important;
	font-weight: 500 !important;
	color: var(--od-ink) !important;
	padding: .9rem 1.2rem .9rem 1.4rem !important;
	border-radius: var(--od-r-sm) !important;
	transition: background .2s var(--od-ease), color .2s var(--od-ease), padding-left .2s var(--od-ease) !important;
}
.link-drop__a::before {
	content: "";
	position: absolute;
	left: .5rem; top: 50%;
	width: .3rem; height: 1.5rem;
	border-radius: 2px;
	background: linear-gradient(var(--od-brand-2), var(--od-brand));
	transform: translateY(-50%) scaleY(0);
	transition: transform .2s var(--od-ease);
}
.link-drop__a:hover {
	background: rgba(14, 124, 134, .08) !important;
	color: var(--od-brand) !important;
	padding-left: 2rem !important;
}
.link-drop__a:hover::before { transform: translateY(-50%) scaleY(1); }

/* ============================================================
   ПОДВАЛ 2.0
   ============================================================ */
.footer-links {
	background: linear-gradient(180deg, var(--od-deep) 0%, #08283c 100%);
	color: #aebccb;
	padding-top: 5rem !important;
	padding-bottom: 3rem !important;
}
.footer-links .links-list__caption {
	color: #d8c08a !important;        /* фирменное золото, ярче на тёмном фоне */
	letter-spacing: .03em;
}
.footer-links .links-list__caption:hover { color: #efdcad !important; }
.footer-links .links-list__link { color: #aebccb !important; transition: color .2s; }
.footer-links .links-list__link:hover { color: #fff !important; }

/* Кнопка "Повідомити про корупційне правопорушення" — вписываем в дизайн (золотая пилюля) */
.footer-links li[style*="bba368"] {
	background: linear-gradient(135deg, #d8c08a 0%, #c2a866 100%) !important;
	border-radius: 100px;
	padding: 0 !important;
	overflow: hidden;
	box-shadow: 0 6px 16px rgba(0, 0, 0, .22);
	transition: transform .25s var(--od-ease), box-shadow .25s var(--od-ease);
}
.footer-links li[style*="bba368"]:hover {
	transform: translateY(-.2rem);
	box-shadow: 0 10px 22px rgba(0, 0, 0, .3);
}
.footer-links li[style*="bba368"] > a { display: block; }
.footer-links li[style*="bba368"] button {
	display: block;
	width: 100%;
	background: transparent !important;
	border: 0 !important;
	color: #08283c !important;
	font-family: var(--od-sans) !important;
	font-weight: 700 !important;
	font-size: 1.3rem !important;
	line-height: 1.35;
	text-align: center;
	padding: 1.1rem 1.8rem !important;
	cursor: pointer;
}

/* Нижняя полоса (© , телефон, email, адрес) — глубокий тёмно-синий, тонкая золотая линия-акцент */
.footer-last {
	background: #061a27 !important;
	border-top: 1px solid rgba(216, 192, 138, .35) !important;
	color: #aebccb !important;
	font-family: var(--od-sans) !important;
	font-weight: 400 !important;
	font-size: 1.35rem !important;
	line-height: 1.7 !important;
}
.footer-last .copyright__text { color: #c4d0db; font-weight: 500; }
.footer-last .contacts__link {
	color: #c4d0db !important;
	font-family: var(--od-sans) !important;
	font-weight: 500;
	transition: color .2s;
}
.footer-last .contacts__link:hover { color: #d8c08a !important; opacity: 1; }
.footer-last .contacts__link .fa { color: var(--od-brand-2); }
.footer-last .address__text { color: #aebccb; }
.footer-last .address .fa { color: var(--od-brand-2); }

/* ============================================================
   MODERN v3 — атмосфера, глубина, движение
   ============================================================ */

/* Атмосферный фон страницы вместо плоского */
.od-main {
	background:
		radial-gradient(60rem 42rem at 85% -8%, rgba(22, 166, 166, .10), transparent 60%),
		radial-gradient(52rem 42rem at -8% 28%, rgba(14, 124, 134, .07), transparent 55%),
		var(--od-bg);
}

/* Шапка — статичная: в обычном потоке, прокручивается вместе со страницей и уходит вверх (как в оригинале).
   z-index поднят, чтобы выпадающее подменю было поверх героя/контента (но шапка не фиксируется). */
.header {
	position: relative;
	z-index: 200;
	box-shadow: 0 2px 18px rgba(11, 59, 92, .08);
}
.header-mobile { position: relative; z-index: 200; }

/* Hero: крупнее и атмосфернее, плавный вход подписи */
.od-hero__stage,
.od-hero__slide { min-height: 60rem; }
.od-hero__slide::after {
	background:
		radial-gradient(42rem 42rem at 18% 55%, rgba(22, 166, 166, .26), transparent 60%),
		linear-gradient(90deg, rgba(11, 59, 92, .9) 0%, rgba(11, 59, 92, .55) 46%, rgba(11, 59, 92, .08) 100%),
		linear-gradient(0deg, rgba(6, 24, 38, .55) 0%, rgba(11, 59, 92, 0) 45%);
}
.od-hero__title { font-size: clamp(3.6rem, 5.2vw, 6.8rem); letter-spacing: -.03em; }
.od-hero__slide.is-active .od-hero__title { animation: odRise .9s var(--od-ease) both; }
.od-hero__slide.is-active .od-hero__subtitle { animation: odRise .9s .12s var(--od-ease) both; }
@keyframes odRise { from { opacity: 0; transform: translateY(2.6rem); } to { opacity: 1; transform: none; } }

/* Заголовки секций — крупнее, тонкая линия на всю ширину */
.od-section__head {
	align-items: center;
	border-bottom: 1px solid var(--od-line);
	padding-bottom: 2rem;
}
.od-section__title { font-size: clamp(3rem, 3.6vw, 4.4rem); letter-spacing: -.02em; }

/* Кнопка v3 — стрелка */
.od-btn::after { content: "→"; font-size: 1.8rem; transition: transform .3s var(--od-ease); }
.od-btn:hover::after { transform: translateX(.4rem); }

/* Карточки v3 — верхняя акцент-линия + мягкое бренд-свечение */
.od-card { border-radius: var(--od-r-lg); position: relative; }
.od-card::before {
	content: "";
	position: absolute;
	left: 0; top: 0;
	height: .4rem; width: 100%;
	z-index: 2;
	background: linear-gradient(90deg, var(--od-brand-2), var(--od-brand));
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .4s var(--od-ease);
}
.od-card:hover::before { transform: scaleX(1); }
.od-card:hover { box-shadow: 0 2px 6px rgba(11, 59, 92, .08), 0 24px 60px rgba(14, 124, 134, .22); }

/* Бенто: первая новость крупная (только десктоп) */
@media (min-width: 1101px) {
	.od-news-grid { grid-template-columns: repeat(3, 1fr); grid-auto-rows: 1fr; }
	.od-news-grid .od-card { height: 100%; }
	.od-news-grid .od-card:first-child { grid-column: span 2; grid-row: span 2; }
	.od-news-grid .od-card:first-child .od-card__media { aspect-ratio: auto; flex: 1; min-height: 28rem; }
	.od-news-grid .od-card:first-child .od-card__title { font-size: 2.8rem; -webkit-line-clamp: 3; }
}

/* Категории v3 — крупнее */
.od-cat { min-height: 26rem; border-radius: var(--od-r-lg); }
.od-cat__title { font-size: 2.4rem; }

/* Reveal-анимации (активны только при работающем JS) */
.od-js .od-cat,
.od-js .od-card,
.od-js .od-event,
.od-js .od-stat,
.od-js .od-promo__card,
.od-js .od-section__head {
	opacity: 0;
	transform: translateY(2.6rem);
	transition: opacity .7s var(--od-ease), transform .7s var(--od-ease);
}
.od-js .is-in { opacity: 1 !important; transform: none !important; }
.od-news-grid .od-card:nth-child(2) { transition-delay: .06s; }
.od-news-grid .od-card:nth-child(3) { transition-delay: .12s; }
.od-news-grid .od-card:nth-child(4) { transition-delay: .18s; }
.od-news-grid .od-card:nth-child(5) { transition-delay: .24s; }
.od-news-grid .od-card:nth-child(6) { transition-delay: .30s; }
.od-events-grid .od-event:nth-child(2) { transition-delay: .08s; }
.od-events-grid .od-event:nth-child(3) { transition-delay: .16s; }
.od-events-grid .od-event:nth-child(4) { transition-delay: .24s; }
.od-cats .od-cat:nth-child(2) { transition-delay: .08s; }
.od-cats .od-cat:nth-child(3) { transition-delay: .16s; }
.od-cats .od-cat:nth-child(4) { transition-delay: .24s; }
.od-promo__card:nth-child(2) { transition-delay: .06s; }
.od-promo__card:nth-child(3) { transition-delay: .12s; }
.od-promo__card:nth-child(4) { transition-delay: .18s; }
.od-promo__card:nth-child(5) { transition-delay: .24s; }

/* ============================================================
   ВНУТРЕННИЕ СТРАНИЦЫ — ОБЩИЕ КОМПОНЕНТЫ (Шаг 1)
   Оверрайды классов medun. Покрывают page.php и большинство page-*.php.
   ============================================================ */

/* Светлый «холст» внутренних страниц (шапка/подвал — вне .wrap) */
.wrap { background: var(--od-bg); padding-bottom: 5rem; }

/* Хлебные крошки */
.breadcrumbs {
	max-width: var(--od-maxw);
	margin: 0 auto !important;
	padding: 1.8rem 2.4rem 0 !important;
}
.breadcrumbs__ul {
	font-family: var(--od-sans) !important;
	font-weight: 500 !important;
	font-size: 1.3rem !important;
	color: var(--od-muted) !important;
	margin: 0 !important;
	padding-top: 1.2rem;
}
.breadcrumbs__link { color: var(--od-brand) !important; text-decoration: none !important; transition: color .2s; }
.breadcrumbs__link:hover { color: var(--od-deep) !important; }
.breadcrumbs__simple { color: var(--od-muted) !important; max-width: 32rem !important; }

/* Заголовок страницы */
.page-heading {
	width: auto !important;
	max-width: var(--od-maxw) !important;
	padding: 2.4rem 2.4rem 0 !important;
}
.page-heading__caption {
	font-family: var(--od-display) !important;
	font-weight: 800 !important;
	color: var(--od-deep) !important;
	font-size: clamp(2.8rem, 3.4vw, 4.2rem) !important;
	letter-spacing: -.02em;
	text-align: center;
	padding: 1.2rem 0 2.6rem !important;
}

/* Контент-карточка */
.content-page__content {
	background: var(--od-card);
	border: 1px solid var(--od-line);
	border-radius: var(--od-r-lg);
	padding: 3rem;
	box-shadow: var(--od-shadow);
}

/* Левое меню раздела */
.menu-sidebar {
	background: var(--od-card) !important;
	border: 1px solid var(--od-line);
	border-radius: var(--od-r);
	overflow: hidden;
	box-shadow: var(--od-shadow);
	margin-bottom: 3rem;
}
.menu-sidebar__item { border-bottom: 1px solid var(--od-line) !important; }
.menu-sidebar__item:last-child { border-bottom: 0 !important; }
.menu-sidebar__link {
	font-family: var(--od-sans) !important;
	font-weight: 500 !important;
	font-size: 1.45rem !important;
	line-height: 1.4 !important;
	color: var(--od-ink) !important;
	padding: 1.3rem 1.8rem !important;
	transition: background .2s var(--od-ease), color .2s var(--od-ease), padding-left .2s var(--od-ease);
}
.menu-sidebar__link:hover {
	background: rgba(14, 124, 134, .06) !important;
	color: var(--od-brand) !important;
	padding-left: 2.3rem !important;
}
.menu-sidebar__link--active {
	background: linear-gradient(135deg, var(--od-brand) 0%, var(--od-deep) 100%) !important;
	color: #fff !important;
}
.submenu-sidebar .menu-sidebar__link,
.menu-sidebar .children .menu-sidebar__link { background: rgba(11, 59, 92, .02); font-size: 1.35rem !important; padding-left: 3rem !important; }

/* Боковые блоки (популярное/категории на новостях/событиях) */
.sidebar__item {
	background: var(--od-card);
	border: 1px solid var(--od-line);
	border-radius: var(--od-r);
	padding: 2rem 2.2rem;
	margin-bottom: 2.4rem;
	box-shadow: var(--od-shadow);
}
.sidebar__heading {
	font-family: var(--od-display) !important;
	font-weight: 700 !important;
	color: var(--od-deep) !important;
	font-size: 1.9rem !important;
	margin-bottom: 1.4rem !important;
}
.sidebar-links__a, .sidebar-links__item a { color: var(--od-ink) !important; text-decoration: none; transition: color .2s; }
.sidebar-links__a:hover, .sidebar-links__item a:hover { color: var(--od-brand) !important; }

/* Типографика контента */
.wysiwyg { font-family: var(--od-sans) !important; font-size: 1.6rem; line-height: 1.7; color: var(--od-ink); }
.wysiwyg h1, .wysiwyg h2, .wysiwyg h3, .wysiwyg h4, .wysiwyg h5 {
	font-family: var(--od-display) !important;
	color: var(--od-deep) !important;
	font-weight: 800 !important;
	line-height: 1.2;
	margin: 2.6rem 0 1.2rem;
}
.wysiwyg h2 { font-size: 2.6rem; }
.wysiwyg h3 { font-size: 2.1rem; }
.wysiwyg h4 { font-size: 1.8rem; }
.wysiwyg p { margin: 0 0 1.4rem; }
/* Текстовые ссылки контента: тонкое подчёркивание всегда + бренд-подчёркивание, «выезжающее» на hover */
.wysiwyg a:not(.od-doc, .btn, .link, .poslugy-btn) {
	color: var(--od-brand) !important;
	font-weight: 500;
	text-decoration: none;
	background-image:
		linear-gradient(var(--od-deep), var(--od-deep)),
		linear-gradient(rgba(14, 124, 134, .35), rgba(14, 124, 134, .35));
	background-position: 0 100%, 0 100%;
	background-repeat: no-repeat;
	background-size: 0% .12em, 100% .07em;
	padding-bottom: .15em;
	transition: background-size .35s var(--od-ease), color .25s var(--od-ease);
}
.wysiwyg a:not(.od-doc, .btn, .link, .poslugy-btn):hover {
	color: var(--od-deep) !important;
	background-size: 100% .12em, 100% .07em;
}
.wysiwyg a:not(.od-doc, .btn, .link, .poslugy-btn):focus-visible { outline: 2px solid var(--od-brand); outline-offset: 2px; border-radius: 2px; }
/* Авто-иконка документа перед ссылками на файлы (без шорткода) */
.wysiwyg a:not(.od-doc)[href$=".pdf"]::before,  .wysiwyg a:not(.od-doc)[href$=".PDF"]::before,
.wysiwyg a:not(.od-doc)[href$=".doc"]::before,   .wysiwyg a:not(.od-doc)[href$=".docx"]::before,
.wysiwyg a:not(.od-doc)[href$=".xls"]::before,   .wysiwyg a:not(.od-doc)[href$=".xlsx"]::before,
.wysiwyg a:not(.od-doc)[href$=".ppt"]::before,   .wysiwyg a:not(.od-doc)[href$=".pptx"]::before,
.wysiwyg a:not(.od-doc)[href$=".zip"]::before,   .wysiwyg a:not(.od-doc)[href$=".rar"]::before {
	content: "";
	display: inline-block;
	width: 1.5rem; height: 1.5rem;
	margin-right: .5rem;
	vertical-align: -.25rem;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3v5h5'/%3E%3Cpath d='M19 8.5V19a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7l5 5.5z'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3v5h5'/%3E%3Cpath d='M19 8.5V19a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7l5 5.5z'/%3E%3C/svg%3E") center / contain no-repeat;
}
/* Авто-стрелка после внешних ссылок (открываются в новой вкладке) */
.wysiwyg a:not(.od-doc)[target="_blank"]::after {
	content: "";
	display: inline-block;
	width: 1.2rem; height: 1.2rem;
	margin-left: .35rem;
	vertical-align: 0;
	opacity: .65;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7'/%3E%3Cpath d='M8 7h9v9'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7'/%3E%3Cpath d='M8 7h9v9'/%3E%3C/svg%3E") center / contain no-repeat;
}
/* Списки документов и ссылки-картинки — без подчёркивания и авто-иконок (карточки .od-doc уже исключены через :not) */
.wysiwyg .ul-list a, .wysiwyg a:has(img) {
	background-image: none !important;
	padding-bottom: 0 !important;
}
.wysiwyg .ul-list a::before, .wysiwyg .ul-list a::after,
.wysiwyg a:has(img)::before, .wysiwyg a:has(img)::after,
.wysiwyg a.btn::before, .wysiwyg a.btn::after,
.wysiwyg a.link::before, .wysiwyg a.link::after,
.wysiwyg .poslugy-btn::before, .wysiwyg .poslugy-btn::after,
.wysiwyg .poslugy-menu a::before, .wysiwyg .poslugy-menu a::after { content: none !important; }
.wysiwyg .poslugy-btn, .wysiwyg .poslugy-menu a { background-image: none !important; padding-bottom: 0 !important; }
.wysiwyg ul, .wysiwyg ol { margin: 0 0 1.6rem 2rem; }
.wysiwyg li { margin-bottom: .6rem; }
.wysiwyg img { border-radius: var(--od-r); height: auto; }
.wysiwyg table { width: 100%; border-collapse: collapse; margin: 0 0 2rem; font-size: 1.45rem; }
.wysiwyg th, .wysiwyg td { border: 1px solid var(--od-line); padding: 1rem 1.2rem; text-align: left; vertical-align: top; }
.wysiwyg th { background: rgba(14, 124, 134, .08); color: var(--od-deep); font-family: var(--od-display); font-weight: 700; }
.wysiwyg tr:nth-child(even) td { background: rgba(11, 59, 92, .025); }
.wysiwyg blockquote {
	border-left: .4rem solid var(--od-brand);
	background: rgba(14, 124, 134, .05);
	padding: 1.4rem 1.8rem;
	margin: 0 0 1.8rem;
	border-radius: 0 var(--od-r) var(--od-r) 0;
}

/* Список документов */
.ul-list { list-style: none !important; padding: 0 !important; margin: 1.8rem 0 2.2rem !important; }
.ul-list > li { margin-bottom: .8rem !important; padding: 0 !important; }
.ul-list > li > a {
	display: block;
	padding: 1.1rem 1.4rem;
	background: var(--od-card);
	border: 1px solid var(--od-line);
	border-radius: var(--od-r-sm);
	color: var(--od-ink) !important;
	text-decoration: none !important;
	font-weight: 500;
	transition: border-color .2s, color .2s, box-shadow .2s, transform .2s;
}
.ul-list > li > a:hover {
	border-color: var(--od-brand);
	color: var(--od-brand) !important;
	box-shadow: var(--od-shadow);
	transform: translateX(.3rem);
}

/* Документ-карточки — шорткод [omu_docs] (перенесён в дочернюю тему, см. functions.php) */
.od-docs { display: flex; flex-direction: column; gap: .8rem; margin: 2rem 0 2.4rem; }
.od-doc {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 1.4rem;
	padding: 1.4rem 1.8rem;
	background: var(--od-card);
	border: 1px solid var(--od-line);
	border-radius: var(--od-r);
	color: var(--od-ink) !important;
	text-decoration: none !important;
	box-shadow: 0 1px 2px rgba(11, 59, 92, .04);
	transition: transform .25s var(--od-ease), box-shadow .25s var(--od-ease), border-color .25s var(--od-ease);
}
.od-doc:hover { transform: translateY(-.2rem); border-color: transparent; box-shadow: var(--od-shadow); }
.od-doc__icon {
	width: 4.4rem; height: 4.4rem;
	border-radius: 1.1rem;
	display: grid; place-items: center;
	flex-shrink: 0;
}
.od-doc__icon svg { width: 2.2rem; height: 2.2rem; display: block; }
.od-doc--pdf   .od-doc__icon { background: #FBEAE5; color: #C0341D; }
.od-doc--doc   .od-doc__icon { background: #E6F0FB; color: #1A5FA8; }
.od-doc--xls   .od-doc__icon { background: #E6F5EC; color: #1E7D45; }
.od-doc--ppt   .od-doc__icon { background: #FCEEE3; color: #C75B1E; }
.od-doc--archive .od-doc__icon { background: #F0ECF9; color: #6B4BB0; }
.od-doc--image .od-doc__icon { background: #FEF3E0; color: #B8810F; }
.od-doc--link  .od-doc__icon { background: #E6F4F4; color: var(--od-brand); }
.od-doc__body { min-width: 0; display: flex; flex-direction: column; gap: .2rem; }
.od-doc__title {
	font-family: var(--od-display);
	font-weight: 600;
	font-size: 1.6rem;
	line-height: 1.3;
	color: var(--od-ink) !important;
	overflow-wrap: anywhere;
}
.od-doc__meta {
	font-size: 1.15rem;
	color: var(--od-muted);
	text-transform: uppercase;
	letter-spacing: .04em;
}
.od-doc__go {
	width: 3.4rem; height: 3.4rem;
	border-radius: 50%;
	display: grid; place-items: center;
	flex-shrink: 0;
	color: var(--od-muted);
	background: var(--od-bg);
	transition: background .25s var(--od-ease), color .25s var(--od-ease), transform .25s var(--od-ease);
}
.od-doc__go svg { width: 1.7rem; height: 1.7rem; display: block; }
.od-doc:hover .od-doc__go { background: var(--od-brand); color: #fff; transform: translateX(.2rem); }
@media (max-width: 600px) {
	.od-doc { padding: 1.1rem 1.2rem; gap: 1rem; }
	.od-doc__icon { width: 3.8rem; height: 3.8rem; }
	.od-doc__go { width: 3rem; height: 3rem; }
}

/* Кнопки */
.btn.btn--default {
	background: linear-gradient(135deg, var(--od-brand) 0%, var(--od-deep) 100%) !important;
	color: #fff !important;
	border-radius: 100px !important;
	font-family: var(--od-display) !important;
	font-weight: 700 !important;
	box-shadow: 0 8px 20px rgba(14, 124, 134, .25);
	transition: transform .3s var(--od-ease), box-shadow .3s var(--od-ease);
}
.btn.btn--default:hover {
	color: #fff !important;
	transform: translateY(-.3rem);
	box-shadow: 0 14px 30px rgba(14, 124, 134, .34);
}

/* Пагинация */
.pagination__ul { display: flex; flex-wrap: wrap; gap: .8rem; justify-content: center; padding: 0; }
.pagination__link {
	width: 3.6rem !important;
	height: 3.6rem !important;
	line-height: 3.6rem !important;
	border-radius: var(--od-r-sm) !important;
	background: var(--od-card) !important;
	border: 1px solid var(--od-line);
	color: var(--od-muted) !important;
	transition: border-color .2s, color .2s, background .2s;
}
.pagination__link:hover { border-color: var(--od-brand); color: var(--od-brand) !important; }
.pagination__link.current {
	background: linear-gradient(135deg, var(--od-brand) 0%, var(--od-deep) 100%) !important;
	color: #fff !important;
	border-color: transparent;
}

/* ============================================================
   НОВОСТИ — список и одиночная (Шаг 2)
   ============================================================ */

/* --- Список новостей (archive.php / news-page.php): горизонтальные карточки --- */
.news-list__item { margin-bottom: 2.4rem !important; }
.news-list .heap--horizontal {
	height: auto !important;
	min-height: 19rem;
	background: var(--od-card);
	border: 1px solid var(--od-line);
	border-radius: var(--od-r-lg);
	overflow: hidden;
	box-shadow: var(--od-shadow);
	transition: transform .3s var(--od-ease), box-shadow .3s var(--od-ease);
}
.news-list .heap--horizontal:hover { transform: translateY(-.4rem); box-shadow: var(--od-shadow-lg); }
.news-list .heap__pic { overflow: hidden; }
.news-list .heap__pic img { transition: transform .6s var(--od-ease); }
.news-list .heap--horizontal:hover .heap__pic img { transform: scale(1.05); }
.news-content__caption {
	font-family: var(--od-display) !important;
	font-weight: 700 !important;
	color: var(--od-ink) !important;
	font-size: 1.9rem !important;
	line-height: 1.3 !important;
	transition: color .2s;
}
.news-content__caption:hover { color: var(--od-brand) !important; }
.news-content__text { color: var(--od-muted) !important; font-family: var(--od-sans) !important; line-height: 1.6 !important; }
.item-info__item { color: var(--od-muted) !important; }
.item-info__link { color: var(--od-brand) !important; text-decoration: none; }
.item-info__link:hover { color: var(--od-deep) !important; }
.item-info__more { color: var(--od-brand) !important; font-weight: 600 !important; }

/* --- Одиночная новость (single_page/single.php) --- */
.news-full__content {
	background: var(--od-card);
	border: 1px solid var(--od-line);
	border-radius: var(--od-r-lg);
	padding: 3rem;
	box-shadow: var(--od-shadow);
}
.news-full__title {
	font-family: var(--od-display) !important;
	font-weight: 800 !important;
	color: var(--od-deep) !important;
	font-size: clamp(2.4rem, 3vw, 3.6rem) !important;
	line-height: 1.2 !important;
	padding-bottom: 1.5rem !important;
}
.news-full__content > .item-info { margin-bottom: 1.6rem; }

/* Галерея */
.content-gallery__picture img,
.content-gallery__nav .content-gallery__item img { border-radius: var(--od-r); }

/* Навигация пред/след */
.news-full__another { gap: 2rem; }
.panel {
	border-radius: var(--od-r) !important;
	overflow: hidden;
	border: 1px solid var(--od-line);
	box-shadow: var(--od-shadow) !important;
}
.panel__header { background: linear-gradient(135deg, var(--od-brand) 0%, var(--od-deep) 100%) !important; padding: 1rem 1.4rem !important; }
.panel__link { color: #fff !important; font-family: var(--od-display) !important; font-weight: 600 !important; text-decoration: none; }
.panel__body { padding: 1.4rem !important; }
.panel__title { font-family: var(--od-display) !important; font-weight: 700 !important; color: var(--od-ink) !important; transition: color .2s; }
.panel__title:hover { color: var(--od-brand) !important; }

/* Боковой блок: популярные посты */
.sidebar__text { font-family: var(--od-sans) !important; color: var(--od-ink) !important; font-weight: 600 !important; text-decoration: none; transition: color .2s; }
.sidebar__text:hover { color: var(--od-brand) !important; }
.sidebar__content + .sidebar__content { margin-top: 1.4rem; padding-top: 1.4rem; border-top: 1px solid var(--od-line); }

/* ============================================================
   СОБЫТИЯ — список, таксономия (Шаг 3)
   Одиночное событие использует .news-full* (стилизовано в Шаге 2).
   ============================================================ */

/* Заголовок списка */
.events-list__caption, .news__caption {
	font-family: var(--od-display) !important;
	font-weight: 800 !important;
	color: var(--od-deep) !important;
	font-size: clamp(2.6rem, 3.2vw, 3.8rem) !important;
	text-align: center;
	padding: 2rem 0 2.6rem !important;
}

/* Карточка события (как у новостей) */
.events-list .heap--horizontal {
	height: auto !important;
	min-height: 19rem;
	background: var(--od-card);
	border: 1px solid var(--od-line);
	border-radius: var(--od-r-lg);
	overflow: hidden;
	box-shadow: var(--od-shadow);
	transition: transform .3s var(--od-ease), box-shadow .3s var(--od-ease);
}
.events-list .heap--horizontal:hover { transform: translateY(-.4rem); box-shadow: var(--od-shadow-lg); }
.events-list .heap__pic { overflow: hidden; }
.events-list .heap__pic img { transition: transform .6s var(--od-ease); }
.events-list .heap--horizontal:hover .heap__pic img { transform: scale(1.05); }

/* Бейдж даты события */
.events__info { padding: 1.4rem 0 0 1.4rem !important; }
.event-date {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	min-width: 6.2rem;
	padding: 1rem .8rem;
	border-radius: var(--od-r-sm);
	background: linear-gradient(135deg, var(--od-brand) 0%, var(--od-deep) 100%);
	color: #fff;
	text-align: center;
	line-height: 1;
}
.event-date__day {
	float: none !important;
	margin: 0 !important;
	font-family: var(--od-display) !important;
	font-weight: 800 !important;
	font-size: 2.4rem !important;
	color: #fff !important;
	line-height: 1 !important;
}
.event-date__year {
	font-family: var(--od-sans) !important;
	color: rgba(255, 255, 255, .85) !important;
	font-size: 1.1rem !important;
	margin-top: .4rem;
}

/* ============================================================
   РАЗДЕЛЫ page-* (Шаг 4)
   ============================================================ */

/* Фото-страница (page-left-img, ~1067 страниц) */
.content-page__img-pic { border-radius: var(--od-r-lg) !important; }

/* Подзаголовки секций внутри контента */
.content-page__caption {
	font-family: var(--od-display) !important;
	font-weight: 800 !important;
	color: var(--od-deep) !important;
	font-size: 2.4rem !important;
	margin-bottom: 2.6rem !important;
}

/* Вертикальные карточки новостей/событий (связанные блоки на страницах) */
.news__item .heap {
	background: var(--od-card);
	border: 1px solid var(--od-line);
	border-radius: var(--od-r);
	overflow: hidden;
	box-shadow: var(--od-shadow);
	height: 100%;
	transition: transform .3s var(--od-ease), box-shadow .3s var(--od-ease);
}
.news__item .heap:hover { transform: translateY(-.4rem); box-shadow: var(--od-shadow-lg); }
.news__item .heap__box { padding: 1.6rem; }
.news__item .heap__pic { overflow: hidden; }
.news__item .heap__pic img { width: 100%; transition: transform .6s var(--od-ease); }
.news__item .heap:hover .heap__pic img { transform: scale(1.05); }

/* Карточки факультетов / клиник (.clinics-card используется и факультетами, и клиниками) */
.faculty-cards { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(26rem, 1fr)); gap: 2rem; }
.faculty-cards__item { width: auto !important; float: none !important; margin: 0 !important; }
.clinics-card {
	height: 100%;
	background: var(--od-card);
	border: 1px solid var(--od-line);
	border-radius: var(--od-r);
	padding: 2rem;
	box-shadow: var(--od-shadow);
	transition: transform .3s var(--od-ease), box-shadow .3s var(--od-ease);
}
.clinics-card:hover { transform: translateY(-.3rem); box-shadow: var(--od-shadow-lg); }
.clinics-card__caption {
	display: block;
	font-family: var(--od-display) !important;
	font-weight: 700 !important;
	color: var(--od-deep) !important;
	font-size: 1.8rem !important;
	line-height: 1.25 !important;
	margin-bottom: 1.2rem !important;
}
.clinics-info__item, .clinics-info__details { color: var(--od-muted) !important; }
.clinics-info__item .fa, .contact-ul .fa { color: var(--od-brand) !important; }
.clinics-info__item a, .contact-ul__link, .contact-ul a { color: var(--od-brand) !important; }
.clinics-info__item a:hover, .contact-ul a:hover { color: var(--od-deep) !important; }

/* Карточки людей (руководство, кафедры, администрация) */
.person-admin { text-align: center; margin-bottom: 2.4rem !important; }
.person-admin img { border-radius: var(--od-r); width: 100%; }
.person-admin__caption {
	font-family: var(--od-display) !important;
	font-weight: 700 !important;
	color: var(--od-ink) !important;
	font-size: 1.6rem !important;
	margin-top: 1rem;
}
.person-admin__text { color: var(--od-muted) !important; }

/* Счётчики (факультет: кол-во кафедр/викладачів/студентів) — ряд из 3 равных карточек */
.content-page__row:has(> .stats-box) { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: 2rem; margin: 1.5rem 0 2.5rem; }
.content-page__row:has(> .stats-box)::before, .content-page__row:has(> .stats-box)::after { content: none !important; display: none !important; }
.stats-box { display: flex; margin: 0 !important; }
.stats-box__item { float: none !important; width: 100% !important; margin: 0 !important; }
.stats-box__block {
	width: 100%;
	background: linear-gradient(135deg, var(--od-brand) 0%, var(--od-deep) 100%);
	border-radius: var(--od-r);
	padding: 2.6rem 1.6rem;
	text-align: center;
	color: #fff;
	box-shadow: var(--od-shadow);
	transition: transform .25s var(--od-ease), box-shadow .25s var(--od-ease);
}
.stats-box__block:hover { transform: translateY(-.3rem); box-shadow: var(--od-shadow-lg); }
.stats-box__font-big {
	font-family: var(--od-display) !important;
	font-weight: 800 !important;
	font-size: clamp(3rem, 3.4vw, 4rem) !important;
	color: #fff !important;
	display: block;
	line-height: 1;
}
.stats-box__font-small { color: rgba(255, 255, 255, .9) !important; font-size: 1.4rem !important; }

/* Hero раздела (.hero--md: page-with-block, clinick-u) */
.hero--md { border-radius: var(--od-r-lg); overflow: hidden; }

/* Инфо-блоки лендинга (.infograph) */
.infograph { padding: 4rem 0 !important; }
.infograph__item {
	background: var(--od-card);
	border: 1px solid var(--od-line);
	border-radius: var(--od-r);
	padding: 2.6rem 2.2rem;
	box-shadow: var(--od-shadow);
	transition: transform .3s var(--od-ease), box-shadow .3s var(--od-ease);
}
.infograph__item:hover { transform: translateY(-.4rem); box-shadow: var(--od-shadow-lg); }
.infograph__caption {
	font-family: var(--od-display) !important;
	font-weight: 700 !important;
	color: var(--od-deep) !important;
}

/* ============================================================
   СПЕЦ-СТРАНИЦЫ (Шаг 5)
   ============================================================ */

/* ── Таймлайн истории (page-history) ── */
.timeline { position: relative; margin: 1rem 0 2rem; }
.timeline::before { content: ""; position: absolute; left: 13.5rem; top: .6rem; bottom: .6rem; width: 2px; background: var(--od-line); }
.timeline__item { position: relative; display: grid; grid-template-columns: 12rem 1fr; gap: 3rem; margin-bottom: 2.6rem; }
.timeline__item::before {
	content: ""; position: absolute; left: 13.5rem; top: .5rem; transform: translateX(-50%);
	width: 1.5rem; height: 1.5rem; border-radius: 50%;
	background: var(--od-brand); border: 3px solid var(--od-card); box-shadow: 0 0 0 2px rgba(14, 124, 134, .3);
}
.timeline__date { text-align: right; }
.timeline__year { display: block; font-family: var(--od-display); font-weight: 800; font-size: 2.4rem; color: var(--od-deep); line-height: 1.1; }
.timeline__month { display: block; color: var(--od-brand); font-weight: 600; font-size: 1.4rem; }
.timeline__text { display: block; color: var(--od-muted); font-size: 1.3rem; }
.timeline__content { background: var(--od-card); border: 1px solid var(--od-line); border-radius: var(--od-r); padding: 2rem 2.2rem; box-shadow: var(--od-shadow); }
.timeline__pics { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1.4rem; }
.timeline__picture { width: calc(33.333% - .7rem); height: auto; border-radius: var(--od-r-sm); object-fit: cover; }
@media (max-width: 720px) {
	.timeline::before, .timeline__item::before { left: 1.1rem; }
	.timeline__item { grid-template-columns: 1fr; gap: 1rem; padding-left: 3rem; }
	.timeline__date { text-align: left; }
}

/* ── Контакты (page-contacts) ── */
.contacts-map {
	display: grid; grid-template-columns: 1fr 1.25fr;
	background: var(--od-card); border: 1px solid var(--od-line);
	border-radius: var(--od-r-lg); overflow: hidden; box-shadow: var(--od-shadow); margin-bottom: 3rem;
}
.contacts-map__info { padding: 3rem 3.2rem; background: linear-gradient(160deg, var(--od-deep) 0%, var(--od-deep-2) 100%); color: #fff; }
.contacts-map__title { font-family: var(--od-display); font-weight: 700; font-size: 2.2rem; margin-bottom: 2rem; color: #fff; }
.contacts-map__contacts, .contacts-map__comis { display: flex; flex-direction: column; gap: 1.2rem; }
.contacts-map__comis { margin-top: 1.6rem; padding-top: 1.6rem; border-top: 1px solid rgba(255, 255, 255, .18); }
.contacts-map__info .contact-line { display: flex; align-items: flex-start; gap: 1rem; color: rgba(255, 255, 255, .92) !important; text-decoration: none; font-size: 1.5rem; line-height: 1.5; transition: color .2s; }
.contacts-map__info a.contact-line:hover { color: #fff !important; }
.contacts-map__info .contact-line .fa { color: var(--od-brand-2); margin-top: .3rem; width: 1.8rem; text-align: center; flex-shrink: 0; }
.contact-line__description .fd { display: block; font-weight: 600; color: #fff; margin-bottom: .2rem; }
.contacts-map__map iframe { display: block; width: 100%; height: 100%; min-height: 45rem; border: 0; }

/* Нижние контакт-карточки */
.content-page__row:has(.contact-item) { display: grid; grid-template-columns: repeat(auto-fill, minmax(34rem, 1fr)); gap: 2.4rem; align-items: start; }
.content-page__row:has(.contact-item)::before, .content-page__row:has(.contact-item)::after { content: none !important; display: none !important; }
.contact-item { width: auto !important; float: none !important; margin: 0 !important; }
.contact-item .contact-person {
	width: 100% !important; min-height: 0 !important; margin-bottom: 0 !important;
	background: var(--od-card) !important; border: 1px solid var(--od-line);
	border-radius: var(--od-r) !important; box-shadow: var(--od-shadow) !important;
	padding: 2.6rem 2.8rem !important;
	transition: transform .3s var(--od-ease), box-shadow .3s var(--od-ease);
}
.contact-item:hover .contact-person { transform: translateY(-.3rem); box-shadow: var(--od-shadow-lg) !important; }
.contact-person__position { height: auto !important; overflow: visible !important; display: block; color: var(--od-muted) !important; font-family: var(--od-sans) !important; font-size: 1.4rem !important; font-weight: 500 !important; text-transform: uppercase; letter-spacing: .03em; margin-bottom: .6rem !important; }
.contact-person__who { margin-bottom: 1.2rem !important; }
.contact-person__name { display: block; font-family: var(--od-display) !important; font-weight: 700 !important; font-size: 2rem !important; line-height: 1.3 !important; color: var(--od-deep) !important; }
.contact-item .contact-line { display: flex !important; align-items: center; gap: 1rem; color: var(--od-ink) !important; text-decoration: none; font-size: 1.55rem; margin-bottom: .8rem !important; }
.contact-item .contact-line .fa { color: var(--od-brand) !important; width: 2rem !important; margin-right: 0 !important; font-size: 1.7rem; text-align: center; flex-shrink: 0; }
.contact-item a.contact-line:hover { color: var(--od-brand) !important; }
.contact-item a.contact-line:hover { color: var(--od-brand) !important; }

/* ── Поиск (search.php) ── */
.page-heading--pt { padding-top: 3rem; }
.search-item { background: var(--od-card); border: 1px solid var(--od-line); border-radius: var(--od-r); padding: 2rem 2.4rem; margin-bottom: 1.6rem; box-shadow: var(--od-shadow); transition: transform .25s var(--od-ease), box-shadow .25s var(--od-ease); }
.search-item:hover { transform: translateY(-.2rem); box-shadow: var(--od-shadow-lg); }
.search-item__title { display: inline-block; font-family: var(--od-display); font-weight: 700; font-size: 1.9rem; color: var(--od-deep) !important; text-decoration: none; margin-bottom: .8rem; }
.search-item__title:hover { color: var(--od-brand) !important; }
.search-item__content { color: var(--od-muted); font-size: 1.5rem; line-height: 1.6; margin-bottom: 1rem; }
.search-item__category { display: inline-block; padding: .4rem 1.1rem; margin: 0 .5rem .5rem 0; background: rgba(14, 124, 134, .08); color: var(--od-brand) !important; border-radius: 100px; font-size: 1.3rem; font-weight: 600; text-decoration: none; transition: background .2s, color .2s; }
.search-item__category:hover { background: var(--od-brand); color: #fff !important; }

/* ── Клинические базы (page-clinick-*) — карточки уже стилизованы (Шаг 4); тут заголовок и фильтр ── */
.clinics__title { font-family: var(--od-display); font-weight: 700; font-size: 2.2rem; color: var(--od-deep); margin: 2.5rem 0 1.4rem; }
.sidebar-links__a.filter__link { display: block; padding: .7rem 1.2rem; border-radius: var(--od-r-sm); transition: background .2s, color .2s; }
.sidebar-links__a.filter__link:hover, .sidebar-links__a.filter__link.is-checked { background: rgba(14, 124, 134, .1); color: var(--od-brand) !important; }

/* ── Конференции (page-conference-list) ── */
.content-page__conf .heap.person-admin {
	background: var(--od-card); border: 1px solid var(--od-line); border-radius: var(--od-r);
	padding: 1.8rem 1.6rem; box-shadow: var(--od-shadow); height: 100%; margin-bottom: 2rem !important;
	transition: transform .25s var(--od-ease), box-shadow .25s var(--od-ease);
}
.content-page__conf .heap.person-admin:hover { transform: translateY(-.3rem); box-shadow: var(--od-shadow-lg); }
.content-page__conf__old ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.content-page__conf__old .conf { background: var(--od-card); border: 1px solid var(--od-line); border-radius: var(--od-r-sm); padding: 1.2rem 1.6rem; margin-bottom: .8rem; transition: border-color .2s, box-shadow .2s, transform .2s; }
.content-page__conf__old .conf:hover { border-color: var(--od-brand); box-shadow: var(--od-shadow); transform: translateX(.3rem); }
.content-page__conf__old .conf a { color: var(--od-deep) !important; font-family: var(--od-display); font-weight: 600; }
.content-page__conf__old .conf a:hover { color: var(--od-brand) !important; }
.content-page__conf__old .conf .person-admin__text { font-size: 1.3rem; }
/* карточные ссылки внутри wysiwyg — без текстового подчёркивания */
.wysiwyg .person-admin a, .wysiwyg .content-page__conf__old .conf a { background-image: none !important; padding-bottom: 0 !important; }

/* ── Авторизация (page-login) + формы ── */
.tab-panel--md { max-width: 46rem; margin: 1rem auto 3rem; }
.tab-panel__body { background: var(--od-card); border: 1px solid var(--od-line); border-radius: var(--od-r-lg); padding: 3rem 3.2rem; box-shadow: var(--od-shadow); }
.form-group { margin-bottom: 1.4rem; }
.form-control { width: 100%; padding: 1.2rem 1.4rem; font-size: 1.5rem; font-family: var(--od-sans); color: var(--od-ink); background: var(--od-bg); border: 1px solid var(--od-line); border-radius: var(--od-r-sm); transition: border-color .2s, box-shadow .2s, background .2s; }
.form-control:focus { outline: none; border-color: var(--od-brand); background: var(--od-card); box-shadow: 0 0 0 3px rgba(14, 124, 134, .15); }
.form-control::placeholder { color: var(--od-muted); }
.form-button--center { text-align: center; margin-top: 2rem; }
.form-error { text-align: center; color: #C0341D; margin-top: 1rem; font-size: 1.4rem; }

/* ── Комментарии (page-coments) — поверх старого inline-стиля ── */
.entry-comments, .comment-respond, .entry-pings {
	border: 1px solid var(--od-line) !important;
	border-left: 4px solid var(--od-brand) !important;
	border-radius: var(--od-r) !important;
	box-shadow: var(--od-shadow) !important;
	background: var(--od-card) !important;
	padding: 2.4rem 2.8rem !important;
}
.comment-respond { border-left: none !important; }
.entry-comments h3, .comment-respond h3, .entry-pings h3 { font-family: var(--od-display) !important; color: var(--od-deep) !important; }
.comment-list .children { border: 1px solid var(--od-line) !important; border-radius: var(--od-r-sm) !important; }
.comment-reply-link { background: var(--od-brand) !important; border-radius: 100px !important; padding: .5rem 1.4rem !important; }
.comment-reply-link:hover { background: var(--od-deep) !important; }
.comment-respond input[type="email"], .comment-respond input[type="text"], .comment-respond input[type="url"], .comment-respond textarea {
	border: 1px solid var(--od-line) !important; border-radius: var(--od-r-sm) !important; padding: 1rem 1.2rem !important; background: var(--od-bg) !important;
}

/* ── Контентные карточки услуг (.poslugy-* — кастомный HTML-блок в контенте) ──
   Сохраняем пастельный фон и акцентный цвет кнопок (инлайн style), улучшаем форму. */
.wysiwyg .poslugy-grid { grid-template-columns: repeat(auto-fill, minmax(24rem, 1fr)) !important; gap: 2rem !important; }
.wysiwyg .poslugy-card {
	border: 1px solid rgba(11, 59, 92, .08) !important;
	border-radius: var(--od-r) !important;
	padding: 2.2rem 2.4rem !important;
	box-shadow: var(--od-shadow) !important;
	transition: transform .28s var(--od-ease), box-shadow .28s var(--od-ease) !important;
}
.wysiwyg .poslugy-card:hover { transform: translateY(-.4rem); box-shadow: var(--od-shadow-lg) !important; }
.wysiwyg .poslugy-card h3 {
	font-family: var(--od-display) !important;
	font-size: 1.7rem !important; font-weight: 700 !important;
	line-height: 1.3 !important; color: var(--od-ink) !important; margin: 0 0 1rem !important;
}
.wysiwyg .poslugy-price {
	font-family: var(--od-display) !important;
	font-size: 2rem !important; font-weight: 700 !important;
	color: var(--od-deep) !important; margin: 0 0 .4rem !important;
}
.wysiwyg .poslugy-btn {
	border-radius: 100px !important;
	padding: .9rem 1.8rem !important;
	font-family: var(--od-display) !important;
	font-weight: 600 !important;
	font-size: 1.4rem !important;
	transition: background .2s var(--od-ease), transform .2s var(--od-ease) !important;
}
.wysiwyg .poslugy-btn:hover {
	background: color-mix(in srgb, currentColor 12%, #fff) !important;
	opacity: 1 !important;
	transform: translateY(-.1rem);
}
.wysiwyg .poslugy-menu { border: 1px solid var(--od-line) !important; border-radius: var(--od-r-sm) !important; box-shadow: var(--od-shadow-lg) !important; }
.wysiwyg .poslugy-menu a { font-size: 1.4rem !important; color: var(--od-ink) !important; border-bottom-color: var(--od-line) !important; }
.wysiwyg .poslugy-menu a:hover { background: rgba(14, 124, 134, .08) !important; color: var(--od-brand) !important; }

/* ============================================================
   АДАПТИВ
   ============================================================ */
@media (max-width: 1100px) {
	.od-promo__grid    { grid-template-columns: repeat(3, 1fr); }
	.od-cats           { grid-template-columns: repeat(2, 1fr); margin-top: -6rem; }
	.od-news-grid      { grid-template-columns: repeat(2, 1fr); }
	.od-events-grid    { grid-template-columns: repeat(2, 1fr); }
	.od-stats          { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 860px) {
	.contacts-map { grid-template-columns: 1fr; }
	.contacts-map__map iframe { min-height: 32rem; }
}
@media (max-width: 720px) {
	.od-promo__grid    { grid-template-columns: repeat(2, 1fr); }
	.od-cats           { grid-template-columns: 1fr; margin-top: 2.4rem; }
	.od-news-grid      { grid-template-columns: 1fr; }
	.od-events-grid    { grid-template-columns: 1fr; }
	.od-stats          { grid-template-columns: 1fr; }
	.od-hero__stage,
	.od-hero__slide    { min-height: 42rem; }
	.od-section        { padding: 4rem 0; }
	.od-section__head  { flex-direction: column; align-items: flex-start; gap: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; animation: none !important; }
}
