/* Основные стили */
body, html {
    height: 100%;
    font-family: 'Manrope', sans-serif;
    margin: 0;
    padding: 0;
    background-color: #ffffff;
    color: #000000;
	font-size: 16px;
}
p {
	color: #313131;
}
.header-center nav ul li a.active {
    color: #007bff;
}

#index-container {
    display: flex;
    flex-direction: column; /* Вертикальное расположение элементов */
    align-items: center; /* Центрирование по горизонтали */
    justify-content: center;
    max-width: 1140px; /* Полная ширина */
    margin: 100px auto 0;
    text-align: center;
}

/* Контейнер для основного контента и сайдбара, занимает всю ширину экрана */
#main-content-wrapper {
    display: flex;
    min-height: 100vh;         /* Занимаем всю высоту экрана */
	max-width: 1140px;
    margin: 0 auto;
    padding: 70px 0 0;}

/* Контейнер для всего контента */
#main-container {
    display: flex;
    height: 100vh; /* Полная высота экрана */
	padding-top: 50px;
}

/* Сайдбар */
#sidebar {
    width: 340px;
    background-color: #f7f7f7;
    padding-left: 30px;
    display: flex;
    flex-direction: column;
    position: fixed; /* Фиксируем сайдбар слева */
    height: 100vh; /* Сайдбар занимает всю высоту экрана */
	transition: transform 0.3s ease-in-out;
	overflow: hidden;
}

#assistant-list h3, #search-history h3, #assistant-select-container h3 {
    font-size: 1rem;
    font-weight: bold;
    margin-bottom: 10px;
}

.assistant-link {
    padding: 10px 0;
    cursor: pointer;
}
.assistant-link:hover {
	background: none;
}
.disabled-assistant {
    opacity: 0.5;
    position: relative;
}
.disabled-assistant:hover {
    opacity: 1;
}
/* Подсказки для недоступных */
.tooltip {
    visibility: hidden;
    position: absolute;
    top: 20%; 
    transform: translateX(-50%);
    background-color: #000;
    color: #fff;
    text-align: center;
    padding: 5px 10px;
    border-radius: 4px;
    font-size: 0.8rem;
    width: 180px;
    opacity: 1;
    transition: opacity 0.3s;
    z-index: 10;
	margin-left: 180px;
}

.disabled-assistant:hover .tooltip {
    visibility: visible;
}
/* Общие стили для списка ассистентов */
#assistant-list {
    flex-grow: 1; /* Занимаем всё доступное пространство до блока с профилем */
	overflow-y: auto; /* Добавляем вертикальную прокрутку */
    max-height: calc(100vh - 140px); /* Ограничиваем высоту списка ассистентов */
}

#assistant-list ul {
    list-style-type: none; /* Убираем стандартные маркеры списка */
    padding: 0;
    margin: 0;
}

#assistant-list li {
    display: flex;
    align-items: center;
    cursor: pointer;
    transition: background-color 0.3s ease;
}
#toggle-sidebar {
    display: none; /* Скрыта по умолчанию */
}
/* Стили для основного контейнера информации об ассистенте */
.assistant-info {
    display: flex; /* Горизонтальное расположение для изображения и текста */
    align-items: center;
    gap: 15px; /* Пространство между изображением и текстом */
	padding-left: 20px;
}

/* Контейнер для изображения и видео */
.media-container {
    position: relative;
    width: 64px; /* Ширина изображения */
    border-radius: 50%; /* Круглое изображение */
    object-fit: cover; /* Кроп изображения по размеру контейнера */
    border: 1px solid #ddd; /* Легкая рамка вокруг изображения */
    overflow: hidden; /* Ограничивает выход видео за рамки */
}

/* Изображение ассистента */
.assistant-avatar {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover; /* Убедитесь, что изображение занимает весь контейнер */
}

/* Для аватара в блоке assistant-info (чат) добавляем фиксированный размер */
.assistant-info .media-container {
    width: 64px;
    height: 64px;
    flex-shrink: 0;
}

.assistant-info .assistant-avatar {
    width: 100%;
    height: 100%;
    border-radius: 50%;
}

/* Видео ассистента */
.assistant-short-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    object-fit: cover; /* Убедитесь, что видео не выходит за границы контейнера */
    opacity: 0; /* Скрыто по умолчанию */
    transition: opacity 0.3s ease; /* Плавный переход */
	border-radius: 50%;
}

/* При наведении на .assistant-info показываем видео и скрываем изображение */
.assistant-card:hover .assistant-image {
    opacity: 0; /* Скрываем изображение через прозрачность */
}

.assistant-card:hover .assistant-short-video {
    opacity: 1; /* Показываем видео через прозрачность */
}

/* Стили для текста ассистента */
.assistant-details h4 {
    font-size: 1rem;
    margin: 0;
	font-weight: 600;
}

.assistant-details p {
    font-size: 0.8rem;
    color: #666;
}


#search-history {
    margin-top: 20px;
}

#assistant-select-container {
    margin-top: 20px;
}

/* Контейнер для профиля в верхнем меню */
.user-menu-container {
    position: relative;
    display: flex;
    align-items: center;
}

/* Аватар пользователя в верхнем меню */
.user-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
	color: #007bff;
    object-fit: cover;
    vertical-align: middle;
    cursor: pointer;
    transition: transform 0.2s ease-in-out;
}

.user-avatar:hover {
    transform: scale(1.1);
}

/* Имя пользователя в верхнем меню */
.user-name {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-weight: bold;
    text-decoration: none;
    color: #333;
    padding: 5px 10px;
    border-radius: 5px;
    transition: background-color 0.2s ease-in-out;
}

.user-name:hover {
    background-color: #f5f5f5;
}

/* Выпадающее меню пользователя */
.user-dropdown {
    display: none;
    position: absolute;
    top: 45px; /* Выпадающее меню вниз */
    right: 0;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    padding: 20px;
    z-index: 1000;
    min-width: 180px;
}

.user-dropdown.active {
    display: block;
}
/* Стили для списка в выпадающем меню */
.user-dropdown ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Стили для пунктов меню */
.user-option {
    padding: 10px 0;
    color: #333;
    cursor: pointer;
    text-align: left;
    display: flex;
    align-items: center;
}

.user-option a {
    display: flex;
    align-items: center;
    color: inherit;
    text-decoration: none;
    width: 100%;
}

.user-option:hover {
    color: #007bff;
}

/* Отступы для иконок в меню */
.user-option svg {
    margin-right: 8px;
    width: 18px;
    height: 18px;
}

/* Показывать меню при наведении */
.user-menu-container:hover .user-dropdown {
    display: block;
}

/* Навигация в сайдбаре */
nav#sidebar ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: block; /* Вертикальный список */
}

nav#sidebar ul li a {
    color: #000;
    text-decoration: none;
    padding: 10px;
    display: block;
    transition: background-color 0.3s ease;
}

nav#sidebar ul li a:hover {
    color: #007bff; 
}

#logout-icon {
    font-size: 24px;
    cursor: pointer;
}

/* Основная часть */
#content {
    margin-left: 340px; /* Отступ для контента, чтобы учесть сайдбар */
    flex: 1;
    background-color: #ffffff;
	position: relative;
	max-width: calc(100% - 340px);
	transition: margin-left 0.3s ease-in-out, max-width 0.3s ease-in-out;
}

/* Фиксируем блок assistant-info сверху */
#content .assistant-info {
    display: flex;
    align-items: center;
    gap: 15px;
    position: fixed; /* Фиксирует элемент при прокрутке */
    top: 0; /* Отступ сверху */
    z-index: 100; /* Чтобы не перекрывался другими элементами */
    background-color: #ffffff; /* Фон, чтобы не сливался с фоном чата */
	width: 100%;
	padding: 80px 0 15px 20px;
}
#chat-wrapper {
    display: flex;
    flex-direction: column;
	padding: 120px 20px 20px;
    position: relative;
	height: calc(100vh - 50px);
}

#chat-container {
    flex: 1;
    overflow-y: auto;
}

#input-container {
    display: flex;
	position: sticky;
    bottom: 0;
	padding-bottom: 20px;
    width: 100%; 
	background-color: #ffffff;
}

#user-input {
    flex: 1;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 12px;
    margin-right: 10px;
	outline: none;
}

#send-button {
    padding: 11px 24px;
    border: 1px solid #ddd;
    background-color: #f2f4f7;
    color: black;
    border-radius: 12px;
    cursor: pointer;
	font-weight: 400;
}

#send-button:hover {
    background-color: #000;
	color: white;
}

/* Общие стили для сообщений */
.message {
	padding: 10px;
    margin: 10px 0;
    border-radius: 12px;
    max-width: 70%; /* Ограничиваем ширину сообщения */
	word-wrap: break-word;      /* Переносим длинные слова */
    word-break: break-word;     /* Переносим строки для длинных слов */
}

/* Сообщения от пользователя */
.user {
    background: linear-gradient(to left, #f2f4f7, rgba(242, 244, 247, 0));
    text-align: right; /* Выравниваем текст по правому краю */
    margin-left: auto; /* Сдвигаем сообщение вправо */
}

/* Сообщения от бота */
.bot {
    background-color: #f7f7f7; /* Светло-красный цвет */
    text-align: left; /* Выравниваем текст по левому краю (по умолчанию) */
    margin-right: auto; /* Оставляем сообщение слева */
}
/* Стиль анимации печатания */
.typing-animation {
    display: flex;
    align-items: center; 
	background: none;
}

.dots {
    width: 30px; /* Ширина SVG */
    height: 10px; /* Высота SVG */
}

.dot {
    fill: #666; /* Цвет точек */
    animation: pulse 1s infinite; /* Анимация пульсации */
}

.dot:nth-child(1) {
    animation-delay: 0s; /* Первая точка */
}

.dot:nth-child(2) {
    animation-delay: 0.2s; /* Вторая точка */
}

.dot:nth-child(3) {
    animation-delay: 0.4s; /* Третья точка */
}

/* Анимация пульсации */
@keyframes pulse {
    0%, 100% {
        r: 5; /* Начальный радиус */
        opacity: 0.5; /* Начальная прозрачность */
    }
    50% {
        r: 8; /* Увеличиваем радиус */
        opacity: 1; /* Полная непрозрачность */
    }
}

.note {
	font-style: italic;
	margin: 0;
	color: dimgrey;
}

/* Стили для списка ассистентов */
.assistant-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;
    margin-top: 20px;
	width: 100%;
}

/* Стили для карточек ассистентов */
.assistant-card {
    flex: 1 1 calc(20% - 100px); /* Пять колонок на больших экранах */
    background-color: #fbfbfb;
    border: 1px solid #ddd;
    border-radius: 12px;
    padding: 20px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    position: relative;
    text-align: center; /* Центрируем содержимое карточек */
    overflow: hidden; /* Обрезаем все элементы, выходящие за пределы карточки */
    display: flex;
    flex-direction: column;
	align-items: center; /* Центрируем элементы по горизонтали */
	
}

.assistant-card:hover {
    transform: translateY(-5px); /* Приподнимаем карточку при наведении */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); /* Более сильная тень при наведении */
}

/* Стили для изображений ассистентов */
.assistant-image {
	border-radius: 50%;
    max-width: 150px; /* Ограничиваем ширину изображения */
	object-fit: cover;
    display: block;
	border: 1px solid #ddd;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Контейнер для изображения/видео в карточке ассистента */
.assistant-card .media-container {
    width: 120px;
    height: 120px;
    flex-shrink: 0;
    border-radius: 50%;
    overflow: hidden;
}

.assistant-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
	height: 100%;
    object-fit: cover;
	object-position: top;
    opacity: 0;  /* Видео скрыто по умолчанию */
    pointer-events: none;  /* Чтобы видео не блокировало взаимодействие с другими элементами */
    transition: opacity 0.3s ease;
	z-index: 1;
}

.assistant-card:hover .assistant-image {
    opacity: 0;
}

.assistant-card:hover .assistant-video {
    opacity: 1;
}

/* Заголовки ассистентов */
.assistant-card h3 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 10px;
}

/* Описание ассистента */
.assistant-card p {
    font-size: 0.9rem;
    line-height: 1.6;
}

/* Стили для неактивных ассистентов */
.assistant-card.disabled {
    opacity: 0.5;
}

.unmute-icon {
    cursor: pointer;
    position: absolute;
    top: 10px;
    right: 10px;
    background-color: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 5px 10px;
    border-radius: 5px;
    z-index: 10;
    display: block;
}
/* Кнопка поверх видео */
.assistant-button {
    background-color: #000000;
    color: #fff;
    border: none;
    padding: 8px;
    border-radius: 12px;
    cursor: pointer;
    transition: background-color 0.3s ease;
	width: 100%;
	line-height: 1.4;
}

.assistant-button:hover {
    background-color: #007bff;
	opacity: 1;
}
/* Модальное окно */
#modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* Полупрозрачный черный фон */
}

/* Кнопки */
button, .chat-button {
    background-color: #000000; /* Черные кнопки */
    color: white;
    border: none;
    padding: 11px 24px 12px;
    font-size: 1rem;
    border-radius: 12px;
    cursor: pointer;
    transition: background-color 0.3s ease;
	text-decoration: none;
	font-weight: 700;		
}

button:hover, .chat-button:hover {
    background-color: #007bff; /* Светло-черный при наведении */
}

/* Стили для неактивной (disabled) кнопки */
button:disabled, .chat-button:disabled {
    background-color: #d3d3d3; /* Светло-серая кнопка */
    cursor: not-allowed; /* Изменение курсора на запрет */
}

/* Основные стили для header */
header {
    background-color: #fff; /* Белый фон */
    color: #000; /* Белый текст */
    position: fixed; /* Фиксируем меню */
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    padding: 10px 0;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

/* Основной контейнер хедера */
.content-section, .footer-container, .header-container {
    display: flex;
    justify-content: center;   /* Центрирование по горизонтали */
    align-items: center;       /* Центрирование по вертикали */
    margin: 0 auto;
}

/* Левый блок для логотипа */
.header-left, .footer-left {
    flex: 2; /* 20% ширины (2/10) */
}

/* Центр для навигации */
.header-center, .footer-center {
    flex: 6; /* 60% ширины (6/10) */
    display: flex;
    justify-content: center;
}

.footer-right {
    flex: 2; /* 20% ширины (2/10) */
    text-align: right;
}
.footer-links {
	color: dimgray;
	text-decoration: none;
	font-size: 0.8rem;
}
.footer-links:hover {
	text-decoration: none;
}
.logo {
    display: flex;
    align-items: center; /* Выравнивание по вертикали */
}

.logo a {
    display: flex; /* Добавляем flexbox к ссылке */
    align-items: center; /* Центрирование содержимого по вертикали */
    text-decoration: none; /* Убираем подчеркивание */
    color: #000; /* Цвет текста */
}

.logo-image {
    width: 24px; /* Явно задаем ширину */
    height: 24px; /* Явно задаем высоту */
    max-height: 24px; /* Ограничиваем высоту логотипа */
    margin-right: 8px; /* Отступ между картинкой и текстом */
    object-fit: contain; /* Сохраняем пропорции */
}

.logo-text {
    font-size: 22px; /* Размер текста */
    font-weight: 600; /* Полужирное начертание */
    display: inline-block; /* Сохраняем текст как блочный элемент */
    vertical-align: middle; /* Страхуемся от неровностей */
}
/* Скрыть кнопку гармошки на десктопе */
.mobile-menu-toggle {
    display: none;
}
/* Отображение меню при активации чекбокса */
.mobile-menu-checkbox:checked + .mobile-menu-toggle + .mobile-menu {
	display: block;
}
/* Скрываем чекбокс */
.mobile-menu-checkbox {
	display: none;
}
/* Навигация */
nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 20px;
}

nav ul li a {
    color: #000; /* Белый текст для ссылок */
    text-decoration: none;
    font-size: 1rem;
    padding: 10px;
    transition: color 0.3s ease;
}

nav ul li a:hover {
    color: #007bff; 
	text-decoration: none;
}

/* Правый блок для иконки глобуса и кнопки Start Chat */
.header-right {
    flex: 2; /* 20% ширины (2/10) */
    display: flex;
    justify-content: flex-end; /* Выравнивание справа */
    align-items: center;
	gap: 15px;
}
/* Стили для формы переключения языков */

.language-switcher-container {
    position: relative;
    display: flex;
    align-items: center;
	margin-right: 15px;
}

.language-icon {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
}
.language-icon:hover {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
}
/* Скрытый выпадающий список по умолчанию */
.language-dropdown {
    display: none;
    position: absolute;
    top: 40px; /* Расположение ниже иконки глобуса */
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    padding: 0;
    z-index: 1080;
    min-width: 150px;
}
/* Обнуляем отступы у контейнера списка */
.language-dropdown ul {
    padding: 10px;
    margin: 0;
}

.language-option {
    list-style: none;
    padding: 10px;
    color: #333;
    cursor: pointer;
    text-align: left;
    font-size: 1rem;
}

.language-option:hover {
    color: #007bff;
}

.flag-icon {
	margin-right: 10px;
}
/* Кнопка Start Chat */
.start-chat .chat-button {
    background-color: #000000;
    color: white;
    border: none;
    padding: 11px 24px 12px;
    font-size: 1rem;
    border-radius: 12px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    text-decoration: none;
    font-weight: 700;
	display: inline-block;
	text-align: center;
}

.start-chat .chat-button:hover {
    background-color: #007bff;
}

.auth-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    text-align: center;
	height: 100vh;
	width: 420px;
}

/* Стили для инпутов и текстовых областей */
.auth-form input[type="text"],
.auth-form input[type="email"],
.auth-form input[type="password"],
.auth-form textarea {
    width: 100%;
    padding: 15px;
    margin: 10px 0;
    border: 1px solid #ccc;
    border-radius: 12px;
    font-size: 1rem;
    box-sizing: border-box;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
	font-weight: 400;
}

.auth-form input[type="text"]:focus,
.auth-form input[type="email"]:focus,
.auth-form input[type="password"]:focus,
.auth-form textarea:focus {
    border-color: #000; /* Черная граница при фокусе */
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
    outline: none;
}

/* Стили для кнопки отправки */
.auth-button {
    background-color: #000000;
    color: white;
    border: none;
    padding: 0.95rem 3rem;
    font-size: 1rem;
    border-radius: 12px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    margin-top: 20px;
	text-decoration: none;
	font-weight: 600;
	display: inline-block;
}

.auth-button:hover {
	text-decoration: none;
	color: white;
	background-color: #007bff;
}

.google-button {
    color: white;
    background-color: #007bff;
    border: none;
    padding: 0.95rem 3rem;
    font-size: 1rem;
    border-radius: 12px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    margin-top: 20px;
	text-decoration: none;
	font-weight: 600;
	display: inline-block;
}

.google-button:hover {
	text-decoration: none;
	color: black;
	background-color: white;
    border: 1px solid #000;
}

.divider {
    display: flex;
    align-items: center;
    text-align: center;
    margin: 1rem 0; /* Отступы сверху и снизу */
    width: 100%;
}

.divider::before,
.divider::after {
    content: "";
    flex: 1;
    border-bottom: 1px solid #ddd; /* Цвет линии */
}

.divider span {
    padding: 0 1rem; /* Отступы вокруг текста */
    color: #666; /* Цвет текста */
    font-weight: bold;
    font-size: 0.9rem; /* Размер текста */
}

.auth-icon{
	background: none; 
	border: none; 
	position: absolute; 
	right: 0px; 
	top: 50%; 
	transform: translateY(-50%); 
	cursor: pointer; 
	color: black;
}
.auth-icon:hover {
	background: none;
}
.form-group {
	min-width: 420px;
}

/* Стили для общих ошибок формы */
.form-errors {
    margin-bottom: 20px;
}

.form-error-message {
    color: #9F0110;
    margin-bottom: 10px;
}
.form-success-message {
	color: green;
	text-align: center;
}

/* Скрытый выпадающий список по умолчанию */
#countryDropdown {
    position: absolute;
    top: 40px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    padding: 0;
    z-index: 100;
    min-width: 150px;
}
.ml-icon-button {
    padding: 8px 12px;
    border: 1px solid #ccc;
    border-radius: 12px;
    background-color: #fff;
	color: #333;
    cursor: pointer;
    text-align: center;
    margin-bottom: 10px;
	font-weight: 300;
}

.ml-icon-button:hover, .ml-icon-button.active, .ml-icon-button.selected {
    background-color: #aaa;
	color: #fff;
}

.flag-icon {
    width: 24px;
    height: 16px;
    margin: 5px;
    vertical-align: top;
}

.modal-content {
    border-radius: 12px;
    padding: 20px;
}
.modal .btn-link {
    position: relative;
    z-index: 3; /* Обеспечиваем, что кнопки всегда выше */
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    margin: 0;
    padding: 0;
}
.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.modal-body {
    padding: 20px;
}

/* Стили для кнопки закрытия модалки */
.close {
    font-size: 24px;
    color: #aaa;
    cursor: pointer;
}

.close:hover {
    color: #000;
	background: none;
}
/* Стили для списка стран */
.country-option {
    display: flex;
    align-items: center; /* Выравнивание флага и текста по центру по вертикали */
    padding: 10px;
    text-decoration: none;
    color: #000;
    cursor: pointer;
}

.country-option:hover {
    background-color: #f1f1f1;
	text-decoration: none;
}

/* Стили для флагов */
.country-option .flag-icon {
    margin-right: 10px; /* Отступ между флагом и текстом */
    font-size: 24px; /* Размер флага */
}

/* Основные стили для контейнера тумблера */
.toggle-container {
    display: flex;
    background-color: #f0f0f0;
    border-radius: 50px;
    position: relative;
    width: 200px; /* Ширина всего тумблера */
    padding: 5px;
    justify-content: space-between;
	margin: 0 auto;
}

/* Стили для кнопок */
.toggle-btn {
    border: none;
    background: transparent;
	outline: none;
    width: 100px; /* Ширина каждой кнопки */
    padding: 10px 0;
    font-weight: bold;
    color: #666;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 2;
    position: relative;
}

/* Стили для активной кнопки */
.toggle-btn.active {
    color: #fff;
}
.toggle-btn:hover {
	background: none;
	border: none;
}
/* Подложка переключателя */
.toggle-switch {
    position: absolute;
    top: 7px;
    left: 7px;
    width: 92px; /* Ширина переключателя */
    height: 40px;
    background: linear-gradient(135deg, #2b7cff, #3b3ddb); /* ai-badge */
    border-radius: 50px;
    transition: transform 0.3s ease;
    z-index: 1; /* Под кнопками */
	pointer-events: none;
}

/* Сдвиг для активного состояния */
#yearly.active ~ .toggle-switch {
    transform: translateX(96px); /* Сдвигаем подложку вправо для годового плана */
}

.plan-card {
    border: 1px solid #ddd;
    border-radius: 12px;
    background-color: white;
    padding: 20px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    position: relative;
    text-align: center; /* Центрируем содержимое карточек */
    display: flex;
    flex-direction: column;
	align-items: center;
	min-height: 400px;
	justify-content: space-between;
}

.plan-card.current-plan {
    background-color: #fbfbfb;
}

.plan-card.higher-plan {
    opacity: 1;
}

.plan-card.lower-plan {
    opacity: 0.5;
}

.plan-card:hover {
    transform: translateY(-5px); /* Приподнимаем карточку при наведении */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); /* Более сильная тень при наведении */
}
.plan-card.current-plan:hover {
    box-shadow: none;
	transform: none;
}
.plan-name {
    font-size: 1.5rem;
    font-weight: bold;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	margin-bottom: 1.5rem;
}
.plan-content {
    flex-grow: 1; /* Динамически заполняем оставшееся пространство контентом */
	display: flex;
    flex-direction: column;
    align-items: center;
}
.plan-description {list-style-type: none; text-align: left; font-size: 0.9rem; color: dimgrey; padding-left: 0; line-height: 1.5;}
.price {
    font-size: 2.5rem;  /* Большой размер для цены */
    font-weight: bold;
}

.price .discount {
    color: green;  /* Цвет текста скидки */
    border: 1px solid green;  /* Рамка вокруг скидки */
    border-radius: 8px;  /* Скругленные углы */
    padding: 2px 8px;
    font-size: 1rem;  /* Сохраняем размер текста */
    margin-left: 10px;  /* Отступ от цены */
    display: inline-block;
	position: relative;
	top: -2px;
}

.billed-yearly {
    font-size: 0.9rem;  /* Меньший размер шрифта для "Billed yearly" */
    color: #6c757d;  /* Серый цвет текста */
    margin-top: 5px;
	font-weight: 400;
}
.button-description {
    font-size: 0.9rem;  /* Меньший размер шрифта для "Billed yearly" */
    color: #6c757d;  /* Серый цвет текста */
    margin-top: 5px;
	font-weight: 400;
}
.price .per-month {
    font-size: 1rem;  /* Размер шрифта для /month */
    margin-top: 5px;  /* Отступ сверху */
}
.plan-button {
    position: absolute;
    bottom: 5px; /* Расположите контейнер внизу */
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    width: 100%; /* Занимает полную ширину карточки */
}
.price-button, .price-button-outline {
    width: 80%;
    padding: 10px;
    border-radius: 12px;
    font-weight: 400;
    transition: background-color 0.3s ease;
}

.price-button {
    background-color: #000000;
    color: #fff;
    border: none;
}

.price-button:hover {
    background-color: #007bff;
}

.price-button-outline {
    background-color: transparent;
    color: #000;
    border: 1px solid #000;
}

.price-button-outline:hover, .price-button-outline:disabled {
    background-color: transparent!important;
}

#blog {
	padding-top: 80px;
}
#blog h1 {
	font-weight: 600;
}
#blog h2, #blog h3, #blog h4, #blog h5, #blog h6 {
    padding: 2rem 0 1rem;
	text-align: start;
	font-weight: 600;
}
#blog hr {
    margin-top: 3rem;
}

#blog li {
    margin-top: 1rem;
    font-size: 0.9rem;
}

.post_img {
    width: 100%; /* Задает ширину в 100% контейнера */
    height: 320px; /* Фиксированная высота */
    object-fit: cover; /* Обрезает изображение, чтобы оно сохраняло пропорции */
    border-radius: 12px; /* Скругляет углы */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Добавляет тень для красоты */
}

#assistant-category {
    border-radius: 12px;
    background: linear-gradient(145deg, #f5faff, #f7f7f7, #e8f3ff, #f5faff);
    padding: 20px;
    color: #333;
    margin-top: 20px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    animation: gradientAnimation 8s ease infinite;
	background-size: 200% 200%; 
}

/* Анимация градиента */
@keyframes gradientAnimation {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}
.breadcrumb {
    background-color: transparent; /* Убирает фон */
}
.blog-card {
    border: 1px solid #ddd;
    border-radius: 12px;
    background-color: transparent;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    position: relative;
    display: flex;
    flex-direction: column;
	align-items: center;
	min-height: 400px;
	justify-content: space-between;
}

.blog-card:hover {
    transform: translateY(-5px); /* Приподнимаем карточку при наведении */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); /* Более сильная тень при наведении */
}
/* Стиль для начального состояния (невидимый и сдвинут вниз) */
.blog-card.fade-in {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
}

/* Окончательное состояние (полностью видимый и на месте) */
.blog-card.fade-in-visible {
    opacity: 1;
    transform: translateY(0);
}

.card-img-blog-link {
    display: block; /* Важно для корректного растягивания */
    width: 100%;
}

.card-img-blog {
    position: relative;
    width: 100%;
    height: 180px;
    overflow: hidden;
}

.card-img-top {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
}

/* Стили для контейнера калькулятора */
.calc-container {
	margin: 0 auto; /* Центрирование на странице */
	border-radius: 12px;
    background: linear-gradient(145deg, #f5faff, #f7f7f7, #e8f3ff, #f5faff);
    padding: 20px;
    color: #333;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    animation: gradientAnimation 8s ease infinite;
	background-size: 200% 200%; 
}

    /* Стили для меток и полей */
    .calc-form label {
        font-weight: bold;
        margin-bottom: 5px;
		text-align: left;
    }

    .calc-form input[type="number"],
    .calc-form select,
	.calc-form input.formatted-input {
		-moz-appearance: none;
        -webkit-appearance: none;
        appearance: none;
        width: 100%;
        padding: 10px !important;;
        border: 1px solid #ccc;
        border-radius: 8px !important;;
        font-size: 1rem;
        box-sizing: border-box;
        transition: border-color 0.3s ease, box-shadow 0.3s ease;
        background-color: #ffffff; /* Белый фон для ввода */
    }

    .calc-form input[type="number"]:focus,
    .calc-form select:focus,
	.calc-form input.formatted-input:focus {
        border-color: #000; /* Черная граница при фокусе */
        box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
        outline: none;
    }
.blog-title {
	border-radius: 0 12px 12px 0; background-color: rgba(0, 123, 255, 0.6);
	width: 80%;
	transform: translateY(-50%);
}
/* Кнопка My Calculations для мобильных устройств (центр) */
.mobile-calc-center {
    display: none;
}

.mobile-calc-btn {
    display: none;
}

/* Контейнер для страницы авторизации с двухколоночной структурой */
.auth-page-container {
    display: flex;
    min-height: 100vh;
}
  
.auth-image-column {
    flex: 1;
    background-color: #f8f9fa;
    display: none;
}
  
.auth-form-column {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}
  
.auth-image-wrapper {
    position: relative;
    height: 100%;
    overflow: hidden;
}
  
.auth-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
  
.auth-image-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 2rem;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.7));
    color: white;
}
  
.auth-image-overlay h3 {
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
}
  
.auth-image-overlay p {
    font-size: 1rem;
    opacity: 0.9;
    color: #fff;
}

/* Стили для размытия изображения */
.blur-effect {
    filter: blur(3px); /* Основное размытие */
    transform: scale(1.05); /* Небольшое увеличение для избежания видимых краев */
    transition: filter 0.5s ease;
}

/* Адаптация страницы регистрации под мобильные устройства */
@media (min-width: 768px) {
    .auth-image-column {
        display: block;
    }
}
  
@media (max-width: 767px) {
    .auth-page-container {
        flex-direction: column;
    }
}

/* Guest preview topbar overlay */
.guest-preview-topbar {
    position: absolute;
    top: 0; left: 0; right: 0;
    padding: 10px 12px;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    z-index: 10;
    /* Shimmering gradient using ai-badge colors */
    background: linear-gradient(135deg, #007bff 0%, #9b59b6 50%, #007bff 100%);
    background-size: 200% 200%;
    animation: guestTopbarShimmer 6s ease infinite;
    color: #ffffff;
  }
  
  @keyframes guestTopbarShimmer {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
  }
  
  @media (prefers-reduced-motion: reduce) {
  .guest-preview-topbar { animation: none; }
  }
  
  .selection-popup:hover {
    background: #0056b3;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0,123,255,0.4);
  }
  
  .selection-popup i {
    margin-right: 6px;
  }
  
/* Quick Prompts */
.quick-prompt {
    transition: all 0.2s ease;
    border-radius: 20px;
    font-size: 0.75rem;
    padding: 0.25rem 0.75rem;
  }
  
  .quick-prompt:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  }
  
  .quick-prompt:active {
    transform: translateY(0);
    box-shadow: 0 1px 2px rgba(0,0,0,0.1);
  }

/* CTA блок с градиентным фоном */
.cta-gradient-block {
    background: linear-gradient(135deg, #f0f7ff 0%, #e6f3ff 100%);
    border-color: #007bff !important;
}
  