/* =========================================================================
   Swan Theme — «Лебединое озеро»
   Лёгкий, воздушный, элегантный минимализм.
   Подключается ПОСЛЕ style.css и переопределяет только оформление,
   не затрагивая глобальную структуру страниц.
   ========================================================================= */

:root {
	--swan-ink: #14323f;          /* глубокий тон воды — заголовки        */
	--swan-body: #40566a;         /* основной текст                       */
	--swan-muted: #7c93a2;        /* приглушённый текст                   */
	--swan-water: #2f86a0;        /* акцент воды                          */
	--swan-water-deep: #1e5c70;   /* глубокий акцент                      */
	--swan-mist: #f4fafc;         /* воздушный фон                        */
	--swan-mist-2: #e9f3f7;       /* лёгкая рябь                          */
	--swan-gold: #c8a45e;         /* тёплый штрих                         */
	--swan-soft: #ffffff;
	--swan-radius: 16px;
	--swan-shadow: 0 20px 50px -22px rgba(20, 50, 63, 0.35);
	--swan-shadow-soft: 0 12px 34px -18px rgba(20, 50, 63, 0.28);
	--swan-font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
	--swan-font-body: 'Inter', 'Segoe UI', Roboto, Arial, sans-serif;
}

/* ------------------------------- Базовое -------------------------------- */
html, body {
	font-family: var(--swan-font-body);
	background-color: var(--swan-mist);
	color: var(--swan-body);
}

body {
	/* лёгкая воздушная дымка вместо плотного фона */
	background-image:
		radial-gradient(circle at 12% 8%, rgba(47, 134, 160, 0.10) 0, transparent 40%),
		radial-gradient(circle at 88% 20%, rgba(200, 164, 94, 0.08) 0, transparent 42%),
		radial-gradient(circle at 50% 100%, rgba(47, 134, 160, 0.10) 0, transparent 46%);
	background-attachment: fixed;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--swan-font-display);
	font-weight: 600;
	color: var(--swan-ink);
	letter-spacing: 0.2px;
}

p {
	font-size: 16px;
	color: var(--swan-body);
	line-height: 1.75;
	font-weight: 400;
}

a {
	color: var(--swan-water);
	transition: color 0.25s ease;
}
a:hover { color: var(--swan-water-deep); }

::selection {
	background: rgba(47, 134, 160, 0.22);
	color: var(--swan-ink);
}

/* ----------------------------- Шапка (меню) ----------------------------- */
.header-bar-warp {
	background: linear-gradient(120deg, rgba(255, 255, 255, 0.96) 0%, rgba(228, 244, 250, 0.96) 100%);
	border-bottom: 1px solid rgba(47, 134, 160, 0.18);
	border-radius: 22px 22px 0 0;
	box-shadow: 0 14px 36px -24px rgba(20, 50, 63, 0.5);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	padding-top: 18px;
}

.site-logo {
	display: inline-flex;
	align-items: center;
}
.site-logo img {
	width: 44px;
	height: 44px;
	object-fit: contain;
	filter: drop-shadow(0 4px 8px rgba(20, 50, 63, 0.15));
	transition: transform 0.35s ease;
}
.site-logo:hover img { transform: translateY(-3px); }

.main-menu li a {
	font-family: var(--swan-font-body);
	font-size: 15.5px;
	font-weight: 500;
	color: var(--swan-ink);
	letter-spacing: 0.2px;
	padding-bottom: 18px;
	transition: color 0.25s ease;
}
.main-menu li a:after {
	top: 3px;
	opacity: 0.55;
}
.main-menu li a:hover,
.main-menu li:hover > a {
	color: var(--swan-water);
}
.main-menu li:hover > a:after {
	background-image: url("../img/icons/arrow-down-color.png");
}

/* выпадающее подменю — воздушная «карточка» */
.main-menu li .sub-menu {
	border-radius: 14px;
	border: 1px solid rgba(47, 134, 160, 0.16);
	border-top: 3px solid var(--swan-water);
	box-shadow: 0 26px 50px -28px rgba(20, 50, 63, 0.55);
	padding: 12px 0;
}
.main-menu li .sub-menu li a {
	color: var(--swan-body);
	font-size: 14px;
	padding: 9px 26px;
}
.main-menu li .sub-menu li a:hover {
	color: var(--swan-water);
	background: linear-gradient(90deg, rgba(47, 134, 160, 0.08), transparent);
	padding-left: 30px;
}

/* кнопка версии для слабовидящих */
#specialButton img {
	width: 34px;
	height: 34px;
	filter: drop-shadow(0 4px 8px rgba(20, 50, 63, 0.15));
}

/* ------------------------------ Кнопки ---------------------------------- */
.site-btn,
.btn-primary,
button.btn.btn-link {
	background: linear-gradient(135deg, var(--swan-water) 0%, var(--swan-water-deep) 100%) !important;
	border: none !important;
	border-radius: 40px !important;
	color: #fff !important;
	font-family: var(--swan-font-body);
	font-weight: 600;
	letter-spacing: 0.3px;
	box-shadow: 0 12px 26px -14px rgba(30, 92, 112, 0.7);
	transition: transform 0.25s ease, box-shadow 0.25s ease, opacity 0.25s ease;
}
.site-btn:hover,
.btn-primary:hover,
button.btn.btn-link:hover {
	transform: translateY(-2px);
	box-shadow: 0 16px 32px -14px rgba(30, 92, 112, 0.75);
	opacity: 0.96;
	color: #fff !important;
}
.btn-primary { padding: 0.55rem 1.5rem; }
.btn-primary:hover { background: linear-gradient(135deg, var(--swan-water-deep), var(--swan-ink)) !important; }

/* ------------------------- Секции и заголовки --------------------------- */
.blog-section {
	background: linear-gradient(160deg, #ffffff 0%, var(--swan-mist) 70%, var(--swan-mist-2) 100%);
}

.featured-box {
	background: rgba(255, 255, 255, 0.7);
	border-radius: var(--swan-radius);
	box-shadow: var(--swan-shadow-soft);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	padding: 34px 40px;
}

.featured-box .text-box h3 {
	font-family: var(--swan-font-display);
	font-size: 40px;
	max-width: 100%;
	line-height: 1.15;
}
.featured-box .text-box p {
	font-size: 16.5px;
	color: var(--swan-body);
}

/* элегантный разделитель-«перышко» под заголовками секций */
.section-title h2 {
	font-family: var(--swan-font-display);
	font-size: 32px;
	color: var(--swan-ink);
	position: relative;
	padding-bottom: 18px;
	display: inline-block;
}
.section-title h2::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 74px;
	height: 2px;
	background: linear-gradient(90deg, var(--swan-water), var(--swan-gold), transparent);
	border-radius: 2px;
}
.section-title h2::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: -5px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--swan-gold);
	box-shadow: 0 0 0 4px rgba(200, 164, 94, 0.18);
	z-index: 1;
}

/* хлебные крошки */
.site-breadcrumb span { color: var(--swan-water); }
.site-breadcrumb a { color: var(--swan-muted); }
.site-breadcrumb a:hover { color: var(--swan-water); }

/* ------------------------------ Карточки -------------------------------- */
.card {
	border: none;
	border-radius: var(--swan-radius);
	background: var(--swan-soft);
	box-shadow: var(--swan-shadow-soft);
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.card:hover {
	transform: translateY(-6px);
	box-shadow: var(--swan-shadow);
}
.card-img-top { border-radius: var(--swan-radius) var(--swan-radius) 0 0; }
.card-title { font-family: var(--swan-font-display); font-weight: 600; }
.card-text { color: var(--swan-body); }
.card-footer {
	border-top: 1px solid var(--swan-mist-2) !important;
	background: transparent !important;
}
.card-footer .text-muted { color: var(--swan-muted) !important; }

/* ------------------------------ Таблицы --------------------------------- */
.table-container th {
	background: linear-gradient(135deg, var(--swan-water) 0%, var(--swan-water-deep) 100%) !important;
	color: #fff !important;
	font-weight: 600;
	letter-spacing: 0.3px;
}
.table-container tr:nth-child(odd) { background-color: #eef7fa !important; }
.table-container tr:nth-child(even) { background-color: #fbfefd !important; }
.table-container tr:hover { background-color: #dceef4 !important; }
.table-container td:first-child { color: var(--swan-water-deep); }
.table-container td:hover { background-color: #d5e9f0 !important; }

/* ---------------------------- Аккордеон --------------------------------- */
.accordion .item .item-header h2 button.btn.btn-link {
	background: linear-gradient(135deg, var(--swan-water) 0%, var(--swan-water-deep) 100%) !important;
	border-radius: 12px !important;
	color: #fff !important;
}
.accordion .item .item-header h2 button.btn.btn-link.collapsed {
	background: #ffffff !important;
	color: var(--swan-ink) !important;
	box-shadow: inset 0 0 0 1px rgba(47, 134, 160, 0.25);
}

/* ------------------------------ Контакты -------------------------------- */
.cont-info .ci-icon img { filter: drop-shadow(0 4px 8px rgba(20, 50, 63, 0.2)); }
.contact-text p { color: var(--swan-body); }

/* ------------------------- Соцсети в футере ----------------------------- */
.social-icons-3 a {
	background: linear-gradient(135deg, var(--swan-water), var(--swan-water-deep));
	border-radius: 50%;
	box-shadow: 0 10px 22px -12px rgba(30, 92, 112, 0.8);
}
.social-icons-3 a i { color: #fff !important; }
.social-icons-3 a:hover { background: var(--swan-gold); }
.social-icons-3 a:hover i { color: #fff !important; }

/* ------------------------------- Футер ---------------------------------- */
.write-footer-section {
	background: linear-gradient(180deg, var(--swan-mist) 0%, var(--swan-mist-2) 100%) !important;
	border-top: 1px solid rgba(47, 134, 160, 0.18);
}
.write-footer-section footer h5,
.write-footer-section h5 {
	color: var(--swan-ink);
	font-family: var(--swan-font-display);
	letter-spacing: 0.4px;
}
.footer-copyright,
.footer-copyright a,
.copyright,
.copyright a {
	color: var(--swan-muted) !important;
	font-family: var(--swan-font-body);
}

/* --------------------------- Формы и поля ------------------------------- */
input,
select,
textarea,
.form-control {
	font-family: var(--swan-font-body);
	border-radius: 12px !important;
	border: 1px solid rgba(47, 134, 160, 0.28) !important;
	padding: 0.6rem 1rem;
	color: var(--swan-ink) !important;
	background: #fff !important;
}
input:focus,
select:focus,
textarea:focus,
.form-control:focus {
	border-color: var(--swan-water) !important;
	box-shadow: 0 0 0 4px rgba(47, 134, 160, 0.14) !important;
}

/* ----------------------- Деликатная анимация ---------------------------- */
.site-btn, .btn-primary, .card, a, .social-icons-3 a { will-change: transform; }

@media (max-width: 991px) {
	.featured-box .text-box h3 { font-size: 32px; }
	.section-title h2 { font-size: 27px; }
}