/* src/main/resources/static/css/blog-styles.css */
/* Общие стили для публичной части блога */

@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap');

/* --- Базовые стили, имитирующие Habr --- */
body {
    font-family: 'Roboto', Arial, Helvetica, sans-serif; /* Обновленный шрифт для лучшей читабельности */
    background-color: #f5f5f5; /* Цвет фона как на Habr */
    color: #212529; /* Цвет текста */
    font-size: 18px; /* Увеличенный базовый размер шрифта */
    line-height: 1.7; /* Увеличенная высота строки для лучшей читабельности */
}

a {
    color: #2196F3; /* Цвет ссылок как на Habr */
    text-decoration: none;
}

a:hover {
    text-decoration: underline; /* Подчеркивание при наведении */
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 600; /* Улучшенный font-weight для заголовков */
    margin-top: 2rem; /* Увеличенный margin-top */
    margin-bottom: 1.5rem; /* Увеличенный margin-bottom */
    color: #000; /* Цвет заголовков */
}

h1 {
    font-size: 2.5rem; /* Увеличенный размер h1 */
    border-bottom: 1px solid #eaecef;
    padding-bottom: 0.3em;
}

h2 {
    font-size: 2.25rem; /* Увеличенный размер h2 */
    border-bottom: 1px solid #eaecef;
    padding-bottom: 0.3em;
}

h3 {
    font-size: 1.75rem; /* Увеличенный размер h3 */
}

h4 {
    font-size: 1.5rem; /* Увеличенный размер h4 */
}

p {
    margin-bottom: 1.5rem; /* Увеличенный margin-bottom для параграфов */
}

ul, ol {
    padding-left: 2rem;
    margin-bottom: 1rem;
}

li {
    margin-bottom: 0.5rem;
}


/* --- Стили для контейнера и основного содержимого --- */
.habr-container {
    max-width: 1200px; /* Увеличенная ширина контейнера */
    margin: 0 auto;
    padding: 30px; /* Увеличенный padding */
    background-color: #fff; /* Белый фон для контента */
    box-shadow: 0 2px 8px rgba(0,0,0,0.1); /* Улучшенная тень для глубины */
    margin-top: 20px;
    margin-bottom: 20px;
    border-radius: 8px; /* Увеличенный радиус углов для современного вида */
}

.habr-content {
/* Дополнительные стили для основного текста, если нужны */
}


/* --- Стили для боковой панели фильтрации по тегам --- */
.sidebar {
    background-color: #fff;
    border: 1px solid #e0e0e0; /* Граница как на Habr */
    min-height: calc(100vh - 56px - 40px);
    padding: 1rem;
    width: 100%;
    border-radius: 4px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.1);
}

@media (min-width: 768px) {
    .sidebar {
        width: auto;
    }
}

@media (min-width: 992px) {
    .sidebar {
        max-width: 250px;
    }
}

@media (min-width: 1200px) {
    .sidebar {
        max-width: 300px;
    }
}

.sidebar h5 {
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #e0e0e0;
    font-size: 1.1rem;
    color: #000;
}

/* Стили для чекбоксов тегов */
.tag-filter-item {
    margin-bottom: 0.5rem;
}

.tag-filter-item .form-check-input {
    margin-right: 0.5rem;
    transform: scale(0.9);
    transform-origin: left center;
}

.tag-filter-item .form-check-label {
    font-weight: normal;
    cursor: pointer;
    font-size: 0.9rem;
}

/* Стили для основного контента */
.main-content {
/* min-height: calc(100vh - 56px - 2rem); */ /* Убираем, так как используем habr-container */
}

.article-preview {
    transition: box-shadow 0.2s;
    padding: 1.5rem; /* Увеличенный padding */
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    margin-bottom: 2rem; /* Увеличенное расстояние между статьями */
    background-color: #fff;
}

.article-preview:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); /* Улучшенная тень при hover */
}

/* НОВЫЕ/Обновленные стили для миниатюры в превью */
.article-preview-image {
    display: block;
    max-width: 100%; /* Не превышает оригинальный размер */
    height: auto;
    object-fit: cover; /* Сохраняет пропорции, обрезая при необходимости */
    margin: 0 auto 0.75rem; /* Центрирование и отступ снизу до текста */
    border-radius: 8px; /* Увеличенный радиус углов */
    transition: transform 0.2s ease; /* Плавный переход для hover эффекта */
}

.article-preview-image:hover {
    transform: scale(1.02); /* Легкое увеличение при hover */
}

/* Стили для заголовков в превью статей */
.article-preview h5 {
    font-size: 1.75rem; /* Крупный размер как на Habr */
    font-weight: 500; /* Легче для современного стиля */
    color: #212529; /* Темный цвет вместо синего для органичности */
    margin-bottom: 1rem; /* Больше пустого пространства под заголовком */
}

/* Стили для страницы отдельной статьи */
.article-back-link {
    margin-bottom: 1rem;
}

/* Стили для отображения выбранных тегов над списком статей (опционально) */
.selected-tags {
    margin-bottom: 1rem;
}

.selected-tag-badge {
    margin-right: 0.5rem;
    margin-bottom: 0.5rem;
    font-size: 0.85rem;
}

/* Адаптация для очень маленьких экранов */
@media (max-width: 575.98px) {
    .sidebar {
        padding: 0.5rem;
    }
    .sidebar h5 {
        font-size: 1rem;
        margin-bottom: 0.75rem;
    }
    .tag-filter-item .form-check-label {
        font-size: 0.85rem;
    }
    .tag-filter-item {
        margin-bottom: 0.4rem;
    }
    .habr-container {
        padding: 20px; /* Увеличенный padding для лучшей читабельности */
        margin: 10px;
    }
    body {
        font-size: 16px; /* Фиксированный размер шрифта для предотвращения зума на iOS */
    }
}

/* Дополнительные медиа-запросы для больших экранов */
@media (min-width: 1440px) {
    .habr-container {
        max-width: 1400px;
        padding: 40px; /* Увеличенный padding для больших экранов */
    }
}