/* ========================================================
   1. БАЗОВЫЕ СТИЛИ (Шрифты и полностью белый фон)
   ======================================================== */
* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
/* ========================================================
   ЭФФЕКТ ПЛАВНОГО ПРОЯВЛЕНИЯ СТРАНИЦЫ (FADE-IN)
   ======================================================== */
body {
	/* Изначально делаем всю страницу полностью невидимой */
	opacity: 0;
	visibility: hidden;
	/* Задаем скорость плавного появления (0.4 секунды) */
	transition: opacity 0.4s ease-in-out, visibility 0.4s ease-in-out;
}

/* Класс, который JavaScript добавит сайту после полной загрузки всех инклудов */
body.page-loaded {
	opacity: 1;
	visibility: visible;
}

body {
	font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
	line-height: 1.6;
	color: #2c3e50; /* Темно-синий/графитовый цвет для текста */
	background-color: #ffffff; /* Полностью белый фон сайта */
}

.container {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

/* ========================================================
   2. ШАПКА И НАВИГАЦИЯ (Белый фон + Голубые акценты)
   ======================================================== */
header {
	position: relative;
	z-index: 100;
}

.nav-bar {
	background-color: #ffffff; /* Белый фон шапки */
	color: #2c3e50;
	padding: 20px 0;
	position: relative;
}

.nav-bar .container {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.logo {
	font-size: 24px;
	font-weight: bold;
	color: #4a5568;
}

.nav-menu ul {
	display: flex;
	list-style: none;
}

.nav-menu ul li {
	margin-left: 25px;
}

.nav-menu ul li a {
	color: #4a5568; /* Серо-синие ссылки */
	text-decoration: none;
	font-size: 16px;
	font-weight: 500;
	transition: color 0.3s ease;
}

.nav-menu ul li a:hover {
	color: #0073e6; /* Голубой цвет при наведении */
}

/* КНОПКА-ГАМБУРГЕР ДЛЯ МОБИЛЬНЫХ */
.menu-toggle {
	display: none;
	flex-direction: column;
	justify-content: space-between;
	width: 30px;
	height: 21px;
	background: transparent;
	border: none;
	cursor: pointer;
}

.menu-toggle span {
	display: block;
	width: 100%;
	height: 3px;
	background-color: #0073e6;
	border-radius: 3px;
	transition: all 0.3s ease;
}

.menu-toggle.active span:nth-child(1) {
	transform: translateY(9px) rotate(45deg);
}

.menu-toggle.active span:nth-child(2) {
	opacity: 0;
}

.menu-toggle.active span:nth-child(3) {
	transform: translateY(-9px) rotate(-45deg);
}

/* ========================================================
   3. ОБНОВЛЕННЫЙ БАННЕР С КОНТАКТАМИ (Полностью белый)
   ======================================================== */
.hero {
	background-color: #ffffff;
	text-align: left;
	/* Текст названия компании выравнивается по левому краю */
	padding: 50px 20px;
	border-top: 1px solid #e1e8ed;
	border-bottom: 1px solid #e1e8ed;
}

.hero h1 {
	font-size: 36px;
	color: #4a5568;
	margin-bottom: 30px;
	letter-spacing: 0.5px;
}

/* Контейнер-строка для разделения левой и правой части */
.hero-row {
	display: flex;
	justify-content: space-between;
	/* Контакты — налево, кнопки — направо */
	align-items: center; /* Выравнивание по центру по вертикали */
	gap: 40px;
	flex-wrap: wrap;
}

/* Левая колонка: выстраивает элементы строго сверху вниз списком */
.hero-info-grid {
	display: flex;
	flex-direction: column;
	gap: 15px;
	flex: 1;
	min-width: 280px;
}

.hero-info-item {
	font-size: 15px;
	color: #4a5568;
	display: flex;
	align-items: center;
	gap: 10px;
}

.hero-info-item strong {
	color: #2c3e50;
}

.hero-info-item a {
	color: #0073e6;
	text-decoration: none;
	font-weight: 500;
	transition: color 0.2s ease;
}

.hero-info-item a:hover {
	color: #0052a3;
	text-decoration: underline;
}

/* Правая колонка: размещение кнопок ботов */
.hero-actions {
	display: flex;
	flex-direction: column; /* Размещаем кнопки одну под другой */
	gap: 15px;
	min-width: 240px;
}

/* Базовый стиль для обеих кнопок ботов */
.btn-bot {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	color: #ffffff;
	text-decoration: none;
	padding: 14px 28px;
	border-radius: 8px; /* Лаконичные прямоугольные углы со скруглением */
	font-size: 15px;
	font-weight: 600;
	transition: background-color 0.3s ease, transform 0.2s ease, box-shadow
		0.3s ease;
	box-sizing: border-box;
	width: 100%; /* Кнопки одинаковой ширины внутри своей колонки */
}

.btn-bot:hover {
	transform: translateY(-2px);
}

.btn-bot:active {
	transform: translateY(0);
}

/* Стиль для кнопки Telegram */
.btn-telegram {
	background-color: #24a1de;
	box-shadow: 0 4px 12px rgba(36, 161, 222, 0.15);
}

.btn-telegram:hover {
	background-color: #1d82b3;
	box-shadow: 0 6px 16px rgba(36, 161, 222, 0.25);
}

/* Сдержанный синий стиль для Max бота */
.btn-max {
	background-color: #0052a3;
	box-shadow: 0 4px 12px rgba(0, 82, 163, 0.15);
}

.btn-max:hover {
	background-color: #003d7a;
	box-shadow: 0 6px 16px rgba(0, 82, 163, 0.25);
}

.bot-icon {
	display: block;
	flex-shrink: 0;
}
/* ========================================================
   4. ОСНОВНОЙ КОНТЕНТ (Белые карточки на белом фоне)
   ======================================================== */
.main-content {
	padding: 60px 0;
}

.main-content h2 {
	color: #0052a3;
	margin-bottom: 35px;
	text-align: center;
}

.grid {
	display: flex;
	gap: 25px;
	flex-wrap: wrap; /* Разрешаем перенос карточек на следующую строку */
}

.card {
	background: #ffffff;
	padding: 30px 25px;
	border-radius: 8px;
	border: 1px solid #e1e8ed;
	/* Формула: берем 50% ширины строки и вычитаем половину отступа (25px / 2 = 12.5px),
       чтобы две карточки с учетом зазора идеально встали в один ряд */
	flex: 0 0 calc(50% - 12.5px);
	border-top: 4px solid #0052a3;
	transition: border-color 0.3s ease, transform 0.3s ease;
}

.card:hover {
	transform: translateY(-3px);
	border-color: #0073e6;
}

.card h3 {
	margin-bottom: 12px;
	color: #0052a3;
	font-size: 20px;
}

.card p {
	color: #5a6a85;
	font-size: 15px;
}

/* ========================================================
   5. ПОДВАЛ (Белый фон)
   ======================================================== */
footer {
	background-color: #ffffff;
	color: #718096;
	text-align: center;
	padding: 30px 0;
	margin-top: 60px;
	font-size: 14px;
	border-top: 1px solid #e1e8ed;
}

/* ========================================================
   6. АДАПТИВНОСТЬ ДЛЯ МОБИЛЬНЫХ ЭКРАНОВ
   ======================================================== */
@media ( max-width : 768px) {
	.menu-toggle {
		display: flex;
	}
	.nav-menu {
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;
		background-color: #ffffff;
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.4s ease-in-out;
		border-bottom: 1px solid #e1e8ed;
	}
	.nav-menu ul {
		flex-direction: column;
		width: 100%;
		padding: 10px 0;
	}
	.nav-menu ul li {
		margin: 0;
		text-align: center;
	}
	.nav-menu ul li a {
		display: block;
		padding: 15px 0;
		color: #2c3e50;
		border-bottom: 1px solid #f5f7fa;
	}
	.nav-menu ul li a:hover {
		background-color: #f5f7fa;
	}
	.nav-menu.active {
		max-height: 300px;
	}
	.grid {
		flex-direction: column;
		/* На смартфонах выстраиваем карточки вертикально */
		gap: 20px;
	}
	.card {
		flex: 1 1 100%;
		/* На мобильных каждая карточка занимает полные 100% ширины */
	}
	.hero {
		text-align: center; /* Центрируем заголовок на мобильных */
		padding: 40px 20px;
	}
	.hero h1 {
		font-size: 26px;
		margin-bottom: 25px;
	}
	.hero-row {
		flex-direction: column;
		/* Выстраиваем левую и правую части друг под друга */
		gap: 30px;
		align-items: stretch;
		/* Растягиваем элементы контента на всю ширину */
	}
	.hero-info-grid {
		align-items: center; /* Центрируем список контактов на телефоне */
		text-align: center;
	}
	.hero-info-item {
		font-size: 14px;
		flex-direction: column;
		/* Картинка-иконка встает над текстом на узких экранах */
		gap: 4px;
	}
	.hero-actions {
		width: 100%;
	}
}

/* ========================================================
   9. ТАБЛИЦА РЕКВИЗИТОВ ПЛАТЕЖНОГО ПОРУЧЕНИЯ ВНУТРИ CARD
   ======================================================== */
/* Настройка контейнера-карточки */
.card.card-payment-requisites {
	padding: 30px;
	margin-top: 40px;
	/* 	border-top: 4px solid #0052a3; */
	/* Выделяем более глубоким синим цветом */
	background-color: #ffffff;
	display: block;
	/* Сбрасываем flex-поведение, если карточка в общей сетке */
}

.card.card-payment-requisites h3 {
	margin-bottom: 5px;
	color: #0052a3;
	text-align: left;
}

.card-payment-requisites .card-subtitle {
	font-size: 14px;
	color: #718096;
	margin-bottom: 25px;
}

/* Стили таблицы внутри карточки */
.payment-table {
	width: 100%;
	border-collapse: collapse;
	background-color: #ffffff;
	font-size: 14px;
}

.payment-table tr {
	background-color: #ffffff;
	transition: background-color 0.2s ease;
}

/* Эффект подсветки строки — теперь работает безупречно */
.payment-table tr:hover {
	background-color: #f4f8fc !important;
}

.payment-table td {
	padding: 12px 16px;
	border-bottom: 1px solid #e1e8ed;
	vertical-align: middle;
	background-color: transparent; /* Важно для работы ховера */
}

.payment-table tr:last-child td {
	border-bottom: none; /* Убираем линию у последней строки */
}

/* Левая колонка — названия полей платежки */
.payment-table td.field-label {
	width: 30%;
	min-width: 150px;
	color: #0073e6; /* Голубой цвет для акцента на полях */
	font-weight: 600;
}

/* Правая колонка — значения */
.payment-table td.field-value {
	color: #2c3e50;
}

/* Специальный класс для длинных цифровых счетов (БИК, Р/С, К/С) */
.payment-table td.font-mono {
	font-family: 'Courier New', Courier, monospace;
	font-weight: 600;
	letter-spacing: 0.5px;
	color: #1a252f;
}

/* Адаптивность для мобильных */
@media ( max-width : 768px) {
	.card.card-payment-requisites {
		padding: 20px 15px;
	}
	.payment-table td {
		padding: 10px 12px;
		font-size: 13px;
	}
}

/* ========================================================
   10. УТИЛИТЫ ВЫРАВНИВАНИЯ ТЕКСТА
   ======================================================== */
.text-left {
	text-align: left !important;
}

.text-center {
	text-align: center !important;
}

.text-right {
	text-align: right !important;
}

.payment-table.value-right td:nth-child(2) {
	text-align: right;
}

.w-25 {
	width: 25% !important;
}

.w-50 {
	width: 50% !important;
}

.card.card-full-width {
	flex: 0 0 100%; /* Карточка занимает полные 100% ширины строки */
}

.elem-hide {
	display: none;
}