Продолжение: Дополнительные блоки и функциональность

10. Блок «Часто задаваемые вопросы» (FAQ)

HTML структура:

<section class="faq" id="faq">
    <div class="container">
        <h2 class="section-title">Часто задаваемые вопросы</h2>
        <p class="section-subtitle">Ответы на популярные вопросы о наших услугах</p>
        
        <div class="faq-wrapper">
            <div class="faq-categories">
                <button class="faq-category-btn active" data-category="all">
                    <i class="fas fa-th"></i>
                    Все вопросы
                </button>
                <button class="faq-category-btn" data-category="prices">
                    <i class="fas fa-ruble-sign"></i>
                    Цены и оплата
                </button>
                <button class="faq-category-btn" data-category="process">
                    <i class="fas fa-tasks"></i>
                    Процесс работы
                </button>
                <button class="faq-category-btn" data-category="materials">
                    <i class="fas fa-hammer"></i>
                    Материалы
                </button>
                <button class="faq-category-btn" data-category="warranty">
                    <i class="fas fa-shield-alt"></i>
                    Гарантии
                </button>
            </div>

            <div class="faq-content">
                <!-- Вопросы по ценам -->
                <div class="faq-item" data-category="prices">
                    <div class="faq-question">
                        <h3>Как формируется стоимость ремонта?</h3>
                        <i class="fas fa-chevron-down"></i>
                    </div>
                    <div class="faq-answer">
                        <p>Стоимость ремонта зависит от нескольких факторов:</p>
                        <ul>
                            <li>Площадь помещения</li>
                            <li>Объем работ (косметический или капитальный ремонт)</li>
                            <li>Выбранные материалы</li>
                            <li>Сложность дизайн-проекта</li>
                            <li>Дополнительные услуги</li>
                        </ul>
                        <p>Для точного расчета мы предлагаем бесплатный выезд специалиста на объект.</p>
                    </div>
                </div>

                <div class="faq-item" data-category="prices">
                    <div class="faq-question">
                        <h3>Какие формы оплаты вы принимаете?</h3>
                        <i class="fas fa-chevron-down"></i>
                    </div>
                    <div class="faq-answer">
                        <p>Мы принимаем следующие формы оплаты:</p>
                        <ul>
                            <li>Наличный расчет</li>
                            <li>Безналичный перевод на расчетный счет</li>
                            <li>Оплата картой</li>
                            <li>Рассрочка платежа (обсуждается индивидуально)</li>
                        </ul>
                        <p>Оплата производится поэтапно согласно договору.</p>
                    </div>
                </div>

                <div class="faq-item" data-category="prices">
                    <div class="faq-question">
                        <h3>Входят ли материалы в стоимость работ?</h3>
                        <i class="fas fa-chevron-down"></i>
                    </div>
                    <div class="faq-answer">
                        <p>У нас есть два варианта работы:</p>
                        <ul>
                            <li><strong>Только работы</strong> - вы самостоятельно закупаете материалы</li>
                            <li><strong>"Под ключ"</strong> - мы берем на себя закупку всех материалов с предоставлением скидок от поставщиков</li>
                        </ul>
                        <p>Рекомендуем второй вариант, так как мы работаем с проверенными поставщиками и получаем оптовые цены.</p>
                    </div>
                </div>

                <!-- Вопросы по процессу -->
                <div class="faq-item" data-category="process">
                    <div class="faq-question">
                        <h3>Сколько времени занимает ремонт?</h3>
                        <i class="fas fa-chevron-down"></i>
                    </div>
                    <div class="faq-answer">
                        <p>Сроки зависят от типа и объема работ:</p>
                        <ul>
                            <li><strong>Косметический ремонт однокомнатной квартиры</strong> - 2-3 недели</li>
                            <li><strong>Капитальный ремонт однокомнатной квартиры</strong> - 1-2 месяца</li>
                            <li><strong>Ремонт двухкомнатной квартиры</strong> - 1.5-3 месяца</li>
                            <li><strong>Ремонт трехкомнатной квартиры</strong> - 2-4 месяца</li>
                        </ul>
                        <p>Точные сроки указываются в договоре после осмотра объекта.</p>
                    </div>
                </div>

                <div class="faq-item" data-category="process">
                    <div class="faq-question">
                        <h3>Нужно ли мне присутствовать на объекте?</h3>
                        <i class="fas fa-chevron-down"></i>
                    </div>
                    <div class="faq-answer">
                        <p>Ваше постоянное присутствие не требуется. Мы работаем самостоятельно и держим вас в курсе всех этапов:</p>
                        <ul>
                            <li>Еженедельные отчеты с фотографиями</li>
                            <li>Оперативная связь через мессенджеры</li>
                            <li>Согласование важных решений</li>
                            <li>Приемка работ на ключевых этапах</li>
                        </ul>
                        <p>Вы можете приезжать на объект в любое удобное время.</p>
                    </div>
                </div>

                <div class="faq-item" data-category="process">
                    <div class="faq-question">
                        <h3>Как происходит контроль качества?</h3>
                        <i class="fas fa-chevron-down"></i>
                    </div>
                    <div class="faq-answer">
                        <p>Контроль качества осуществляется на всех этапах:</p>
                        <ul>
                            <li>Ежедневный контроль прораба</li>
                            <li>Проверка каждого этапа работ перед переходом к следующему</li>
                            <li>Использование профессиональных инструментов для проверки (уровни, лазерные нивелиры)</li>
                            <li>Финальная приемка с составлением акта выполненных работ</li>
                        </ul>
                    </div>
                </div>

                <!-- Вопросы по материалам -->
                <div class="faq-item" data-category="materials">
                    <div class="faq-question">
                        <h3>Какие материалы вы используете?</h3>
                        <i class="fas fa-chevron-down"></i>
                    </div>
                    <div class="faq-answer">
                        <p>Мы работаем только с проверенными брендами:</p>
                        <ul>
                            <li><strong>Краски:</strong> Dulux, Tikkurila, Caparol</li>
                            <li><strong>Штукатурки и шпаклевки:</strong> Knauf, Ceresit, Weber</li>
                            <li><strong>Напольные покрытия:</strong> Quick-Step, Tarkett, Pergo</li>
                            <li><strong>Сантехника:</strong> Grohe, Hansgrohe, Geberit</li>
                            <li><strong>Электрика:</strong> Legrand, Schneider Electric, ABB</li>
                        </ul>
                        <p>Все материалы сертифицированы и имеют гарантию производителя.</p>
                    </div>
                </div>

                <div class="faq-item" data-category="materials">
                    <div class="faq-question">
                        <h3>Могу ли я выбрать свои материалы?</h3>
                        <i class="fas fa-chevron-down"></i>
                    </div>
                    <div class="faq-answer">
                        <p>Конечно! У вас есть полная свобода выбора:</p>
                        <ul>
                            <li>Мы предоставляем список рекомендуемых материалов</li>
                            <li>Вы можете выбрать любые материалы по своему вкусу и бюджету</li>
                            <li>Наш дизайнер поможет с подбором и сочетанием материалов</li>
                            <li>Мы можем сопровождать вас при выборе в магазинах</li>
                        </ul>
                    </div>
                </div>

                <!-- Вопросы по гарантиям -->
                <div class="faq-item" data-category="warranty">
                    <div class="faq-question">
                        <h3>Какую гарантию вы предоставляете?</h3>
                        <i class="fas fa-chevron-down"></i>
                    </div>
                    <div class="faq-answer">
                        <p>Мы предоставляем официальную гарантию:</p>
                        <ul>
                            <li><strong>На все виды работ</strong> - 2 года</li>
                            <li><strong>На скрытые работы</strong> (электрика, сантехника) - 3 года</li>
                            <li><strong>На материалы</strong> - гарантия производителя</li>
                        </ul>
                        <p>Гарантия прописывается в договоре и подтверждается гарантийным талоном.</p>
                    </div>
                </div>

                <div class="faq-item" data-category="warranty">
                    <div class="faq-question">
                        <h3>Что делать, если после ремонта возникли проблемы?</h3>
                        <i class="fas fa-chevron-down"></i>
                    </div>
                    <div class="faq-answer">
                        <p>В случае возникновения проблем в гарантийный период:</p>
                        <ol>
                            <li>Свяжитесь с нами любым удобным способом</li>
                            <li>Опишите проблему и отправьте фотографии</li>
                            <li>Мы выезжаем на объект в течение 24 часов</li>
                            <li>Устраняем недостатки бесплатно в кратчайшие сроки</li>
                        </ol>
                        <p>Мы дорожим своей репутацией и всегда идем навстречу клиентам.</p>
                    </div>
                </div>

                <div class="faq-item" data-category="warranty">
                    <div class="faq-question">
                        <h3>Заключаете ли вы официальный договор?</h3>
                        <i class="fas fa-chevron-down"></i>
                    </div>
                    <div class="faq-answer">
                        <p>Да, мы работаем только по официальному договору, который включает:</p>
                        <ul>
                            <li>Подробную смету с указанием всех работ и материалов</li>
                            <li>Сроки выполнения работ с указанием этапов</li>
                            <li>Условия оплаты</li>
                            <li>Гарантийные обязательства</li>
                            <li>Ответственность сторон</li>
                        </ul>
                        <p>Договор заключается в двух экземплярах с печатями и подписями.</p>
                    </div>
                </div>

                <!-- Общие вопросы -->
                <div class="faq-item" data-category="all">
                    <div class="faq-question">
                        <h3>Работаете ли вы в выходные дни?</h3>
                        <i class="fas fa-chevron-down"></i>
                    </div>
                    <div class="faq-answer">
                        <p>Да, мы можем работать в выходные дни по согласованию. Это особенно актуально для:</p>
                        <ul>
                            <li>Срочных объектов</li>
                            <li>Коммерческих помещений</li>
                            <li>Объектов с ограниченным временем доступа</li>
                        </ul>
                        <p>График работы обсуждается индивидуально и фиксируется в договоре.</p>
                    </div>
                </div>

                <div class="faq-item" data-category="all">
                    <div class="faq-question">
                        <h3>Убираете ли вы мусор после ремонта?</h3>
                        <i class="fas fa-chevron-down"></i>
                    </div>
                    <div class="faq-answer">
                        <p>Да, вывоз мусора входит в наши услуги:</p>
                        <ul>
                            <li>Ежедневная уборка рабочей зоны</li>
                            <li>Вывоз строительного мусора</li>
                            <li>Финальная уборка после завершения работ</li>
                            <li>При необходимости - клининг с профессиональной техникой</li>
                        </ul>
                    </div>
                </div>
            </div>
        </div>

        <!-- Блок с дополнительным вопросом -->
        <div class="faq-cta">
            <div class="faq-cta-content">
                <h3>Не нашли ответ на свой вопрос?</h3>
                <p>Свяжитесь с нами, и мы с радостью ответим на все ваши вопросы</p>
                <div class="faq-cta-buttons">
                    <a href="tel:+79001234567" class="btn btn-primary">
                        <i class="fas fa-phone-alt"></i>
                        Позвонить
                    </a>
                    <button class="btn btn-outline" data-modal="callback">
                        <i class="fas fa-comment"></i>
                        Задать вопрос
                    </button>
                </div>
            </div>
            <div class="faq-cta-image">
                <img src="images/support.svg" alt="Поддержка">
            </div>
        </div>
    </div>
</section>

CSS стили:

/* FAQ */
.faq {
    padding: 80px 0;
    background: #f8f9fa;
}

.faq-wrapper {
    display: grid;
    grid-template-columns: 250px 1fr;
    gap: 40px;
    margin-top: 50px;
}

/* Категории */
.faq-categories {
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: sticky;
    top: 100px;
    height: fit-content;
}

.faq-category-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px 20px;
    background: white;
    border: 2px solid #e9ecef;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 500;
    color: var(--text-color);
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: left;
}

.faq-category-btn i {
    font-size: 18px;
    color: var(--primary-color);
}

.faq-category-btn:hover {
    border-color: var(--primary-color);
    transform: translateX(5px);
}

.faq-category-btn.active {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    border-color: transparent;
    color: white;
}

.faq-category-btn.active i {
    color: white;
}

/* Вопросы */
.faq-content {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.faq-item {
    background: white;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    transition: all 0.3s ease;
}

.faq-item.hidden {
    display: none;
}

.faq-item:hover {
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
}

.faq-question {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 25px 30px;
    cursor: pointer;
    user-select: none;
}

.faq-question h3 {
    font-size: 18px;
    font-weight: 600;
    color: var(--text-color);
    margin: 0;
    flex: 1;
}

.faq-question i {
    font-size: 16px;
    color: var(--primary-color);
    transition: transform 0.3s ease;
}

.faq-item.active .faq-question i {
    transform: rotate(180deg);
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, padding 0.4s ease;
}

.faq-item.active .faq-answer {
    max-height: 1000px;
    padding: 0 30px 25px;
}

.faq-answer p {
    font-size: 15px;
    line-height: 1.8;
    color: #6c757d;
    margin-bottom: 15px;
}

.faq-answer ul,
.faq-answer ol {
    margin: 15px 0;
    padding-left: 25px;
}

.faq-answer li {
    font-size: 15px;
    line-height: 1.8;
    color: #6c757d;
    margin-bottom: 10px;
}

.faq-answer strong {
    color: var(--text-color);
    font-weight: 600;
}

/* CTA блок */
.faq-cta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    padding: 50px;
    border-radius: 20px;
    margin-top: 50px;
    color: white;
}

.faq-cta-content h3 {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 15px;
}

.faq-cta-content p {
    font-size: 16px;
    margin-bottom: 30px;
    opacity: 0.9;
}

.faq-cta-buttons {
    display: flex;
    gap: 15px;
}

.faq-cta-buttons .btn {
    padding: 15px 30px;
}

.faq-cta-buttons .btn-primary {
    background: white;
    color: var(--primary-color);
}

.faq-cta-buttons .btn-primary:hover {
    background: #f8f9fa;
}

.faq-cta-buttons .btn-outline {
    border: 2px solid white;
    color: white;
}

.faq-cta-buttons .btn-outline:hover {
    background: white;
    color: var(--primary-color);
}

.faq-cta-image img {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    display: block;
}

/* Адаптивность */
@media (max-width: 992px) {
    .faq-wrapper {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .faq-categories {
        position: static;
        flex-direction: row;
        overflow-x: auto;
        padding-bottom: 10px;
    }
    
    .faq-category-btn {
        white-space: nowrap;
    }
    
    .faq-cta {
        grid-template-columns: 1fr;
        padding: 40px 30px;
    }
    
    .faq-cta-image {
        order: -1;
    }
}

@media (max-width: 768px) {
    .faq-question {
        padding: 20px;
    }
    
    .faq-question h3 {
        font-size: 16px;
    }
    
    .faq-item.active .faq-answer {
        padding: 0 20px 20px;
    }
    
    .faq-cta-buttons {
        flex-direction: column;
    }
    
    .faq-cta-buttons .btn {
        width: 100%;
    }
}

JavaScript для FAQ:

// FAQ функциональность
class FAQ {
    constructor() {
        this.items = document.querySelectorAll('.faq-item');
        this.categoryBtns = document.querySelectorAll('.faq-category-btn');
        this.init();
    }
    
    init() {
        // Открытие/закрытие вопросов
        this.items.forEach(item => {
            const question = item.querySelector('.faq-question');
            question.addEventListener('click', () => this.toggleItem(item));
        });
        
        // Фильтрация по категориям
        this.categoryBtns.forEach(btn => {
            btn.addEventListener('click', () => this.filterByCategory(btn));
        });
        
        // Открыть первый вопрос по умолчанию
        if (this.items.length > 0) {
            this.items[0].classList.add('active');
        }
    }
    
    toggleItem(item) {
        const isActive = item.classList.contains('active');
        
        // Закрыть все остальные (опционально)
        // this.items.forEach(i => i.classList.remove('active'));
        
        // Переключить текущий
        if (isActive) {
            item.classList.remove('active');
        } else {
            item.classList.add('active');
            
            // Плавная прокрутка к элементу
            setTimeout(() => {
                item.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
            }, 100);
        }
    }
    
    filterByCategory(btn) {
        const category = btn.dataset.category;
        
        // Обновить активную кнопку
        this.categoryBtns.forEach(b => b.classList.remove('active'));
        btn.classList.add('active');
        
        // Фильтровать вопросы
        this.items.forEach(item => {
            const itemCategory = item.dataset.category;
            
            if (category === 'all' || itemCategory === category) {
                item.classList.remove('hidden');
                // Анимация появления
                item.style.animation = 'fadeInUp 0.5s ease';
            } else {
                item.classList.add('hidden');
            }
        });
    }
}

// Инициализация FAQ
document.addEventListener('DOMContentLoaded', () => {
    new FAQ();
});

11. Блок «Блог/Статьи»

HTML структура:

<section class="blog" id="blog">
    <div class="container">
        <h2 class="section-title">Полезные статьи</h2>
        <p class="section-subtitle">Советы и рекомендации от наших экспертов</p>
        
        <div class="blog-grid">
            <!-- Статья 1 -->
            <article class="blog-card">
                <div class="blog-image">
                    <img src="images/blog1.jpg" alt="Статья">
                    <div class="blog-category">Советы</div>
                </div>
                <div class="blog-content">
                    <div class="blog-meta">
                        <span class="blog-date">
                            <i class="far fa-calendar"></i>
                            15 марта 2024
                        </span>
                        <span class="blog-reading-time">
                            <i class="far fa-clock"></i>
                            5 мин чтения
                        </span>
                    </div>
                    <h3 class="blog-title">
                        <a href="blog-single.html">10 ошибок при ремонте квартиры, которых следует избегать</a>
                    </h3>
                    <p class="blog-excerpt">
                        Рассказываем о самых распространенных ошибках, которые допускают при ремонте, 
                        и как их избежать, чтобы сэкономить время и деньги.
                    </p>
                    <div class="blog-footer">
                        <div class="blog-author">
                            <img src="images/author1.jpg" alt="Автор">
                            <span>Иван Петров</span>
                        </div>
                        <a href="blog-single.html" class="blog-read-more">
                            Читать далее
                            <i class="fas fa-arrow-right"></i>
                        </a>
                    </div>
                </div>
            </article>

            <!-- Статья 2 -->
            <article class="blog-card">
                <div class="blog-image">
                    <img src="images/blog2.jpg" alt="Статья">
                    <div class="blog-category">Тренды</div>
                </div>
                <div class="blog-content">
                    <div class="blog-meta">
                        <span class="blog-date">
                            <i class="far fa-calendar"></i>
                            12 марта 2024
                        </span>
                        <span class="blog-reading-time">
                            <i class="far fa-clock"></i>
                            7 мин чтения
                        </span>
                    </div>
                    <h3 class="blog-title">
                        <a href="blog-single.html">Тренды дизайна интерьера 2024: что будет популярно</a>
                    </h3>
                    <p class="blog-excerpt">
                        Обзор главных трендов в дизайне интерьера на 2024 год: цвета, материалы, 
                        стили и решения, которые будут актуальны.
                    </p>
                    <div class="blog-footer">
                        <div class="blog-author">
                            <img src="images/author2.jpg" alt="Автор">
                            <span>Анна Смирнова</span>
                        </div>
                        <a href="blog-single.html" class="blog-read-more">
                            Читать далее
                            <i class="fas fa-arrow-right"></i>
                        </a>
                    </div>
                </div>
            </article>

            <!-- Статья 3 -->
            <article class="blog-card">
                <div class="blog-image">
                    <img src="images/blog3.jpg" alt="Статья">
                    <div class="blog-category">Инструкции</div>
                </div>
                <div class="blog-content">
                    <div class="blog-meta">
                        <span class="blog-date">
                            <i class="far fa-calendar"></i>
                            8 марта 2024
                        </span>
                        <span class="blog-reading-time">
                            <i class="far fa-clock"></i>
                            10 мин чтения
                        </span>
                    </div>
                    <h3 class="blog-title">
                        <a href="blog-single.html">Как выбрать материалы для ремонта: полное руководство</a>
                    </h3>
                    <p class="blog-excerpt">
                        Подробный гид по выбору материалов для ремонта: от напольных покрытий 
                        до отделочных материалов. Советы профессионалов.
                    </p>
                    <div class="blog-footer">
                        <div class="blog-author">
                            <img src="images/author3.jpg" alt="Автор">
                            <span>Дмитрий Козлов</span>
                        </div>
                        <a href="blog-single.html" class="blog-read-more">
                            Читать далее
                            <i class="fas fa-arrow-right"></i>
                        </a>
                    </div>
                </div>
            </article>

            <!-- Статья 4 -->
            <article class="blog-card">
                <div class="blog-image">
                    <img src="images/blog4.jpg" alt="Статья">
                    <div class="blog-category">Экономия</div>
                </div>
                <div class="blog-content">
                    <div class="blog-meta">
                        <span class="blog-date">
                            <i class="far fa-calendar"></i>
                            5 марта 2024
                        </span>
                        <span class="blog-reading-time">
                            <i class="far fa-clock"></i>
                            6 мин чтения
                        </span>
                    </div>
                    <h3 class="blog-title">
                        <a href="blog-single.html">Как сэкономить на ремонте без потери качества</a>
                    </h3>
                    <p class="blog-excerpt">
                        Практические советы, как снизить стоимость ремонта, не жертвуя качеством 
                        работ и материалов. Реальные примеры экономии.
                    </p>
                    <div class="blog-footer">
                        <div class="blog-author">
                            <img src="images/author1.jpg" alt="Автор">
                            <span>Иван Петров</span>
                        </div>
                        <a href="blog-single.html" class="blog-read-more">
                            Читать далее
                            <i class="fas fa-arrow-right"></i>
                        </a>
                    </div>
                </div>
            </article>

            <!-- Статья 5 -->
            <article class="blog-card">
                <div class="blog-image">
                    <img src="images/blog5.jpg" alt="Статья">
                    <div class="blog-category">Планирование</div>
                </div>
                <div class="blog-content">
                    <div class="blog-meta">
                        <span class="blog-date">
                            <i class="far fa-calendar"></i>
                            1 марта 2024
                        </span>
                        <span class="blog-reading-time">
                            <i class="far fa-clock"></i>
                            8 мин чтения
                        </span>
                    </div>
                    <h3 class="blog-title">
                        <a href="blog-single.html">Этапы ремонта квартиры: от планирования до сдачи</a>
                    </h3>
                    <p class="blog-excerpt">
                        Пошаговое руководство по всем этапам ремонта: что нужно знать и делать 
                        на каждом этапе для успешного результата.
                    </p>
                    <div class="blog-footer">
                        <div class="blog-author">
                            <img src="images/author2.jpg" alt="Автор">
                            <span>Анна Смирнова</span>
                        </div>
                        <a href="blog-single.html" class="blog-read-more">
                            Читать далее
                            <i class="fas fa-arrow-right"></i>
                        </a>
                    </div>
                </div>
            </article>

            <!-- Статья 6 -->
            <article class="blog-card">
                <div class="blog-image">
                    <img src="images/blog6.jpg" alt="Статья">
                    <div class="blog-category">Дизайн</div>
                </div>
                <div class="blog-content">
                    <div class="blog-meta">
                        <span class="blog-date">
                            <i class="far fa-calendar"></i>
                            25 февраля 2024
                        </span>
                        <span class="blog-reading-time">
                            <i class="far fa-clock"></i>
                            9 мин чтения
                        </span>
                    </div>
                    <h3 class="blog-title">
                        <a href="blog-single.html">Маленькая квартира: 15 идей для визуального расширения пространства</a>
                    </h3>
                    <p class="blog-excerpt">
                        Дизайнерские приемы и хитрости, которые помогут визуально увеличить 
                        пространство небольшой квартиры и сделать ее уютнее.
                    </p>
                    <div class="blog-footer">
                        <div class="blog-author">
                            <img src="images/author3.jpg" alt="Автор">
                            <span>Дмитрий Козлов</span>
                        </div>
                        <a href="blog-single.html" class="blog-read-more">
                            Читать далее
                            <i class="fas fa-arrow-right"></i>
                        </a>
                    </div>
                </div>
            </article>
        </div>

        <!-- Кнопка "Показать еще" -->
        <div class="blog-load-more">
            <button class="btn btn-outline" id="loadMoreBtn">
                <span>Показать еще статьи</span>
                <i class="fas fa-chevron-down"></i>
            </button>
        </div>
    </div>
</section>

CSS стили:

/* Блог */
.blog {
    padding: 80px 0;
    background: white;
}

.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 50px;
}

/* Карточка статьи */
.blog-card {
    background: white;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
}

.blog-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}

.blog-image {
    position: relative;
    height: 220px;
    overflow: hidden;
}

.blog-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.blog-card:hover .blog-image img {
    transform: scale(1.1);
}

.blog-category {
    position: absolute;
    top: 15px;
    left: 15px;
    background: var(--primary-color);
    color: white;
    padding: 6px 15px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.blog-content {
    padding: 25px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.blog-meta {
    display: flex;
    gap: 20px;
    margin-bottom: 15px;
    font-size: 13px;
    color: #6c757d;
}

.blog-meta span {
    display: flex;
    align-items: center;
    gap: 6px;
}

.blog-meta i {
    color: var(--primary-color);
}

.blog-title {
    margin-bottom: 15px;
}

.blog-title a {
    font-size: 20px;
    font-weight: 600;
    color: var(--text-color);
    text-decoration: none;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.3s ease;
}

.blog-title a:hover {
    color: var(--primary-color);
}

.blog-excerpt {
    font-size: 15px;
    line-height: 1.6;
    color: #6c757d;
    margin-bottom: 20px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex: 1;
}

.blog-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 20px;
    border-top: 1px solid #e9ecef;
}

.blog-author {
    display: flex;
    align-items: center;
    gap: 10px;
}

.blog-author img {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    object-fit: cover;
}

.blog-author span {
    font-size: 14px;
    font-weight: 500;
    color: var(--text-color);
}

.blog-read-more {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: var(--primary-color);
    text-decoration: none;
    transition: gap 0.3s ease;
}

.blog-read-more:hover {
    gap: 12px;
}

.blog-read-more i {
    font-size: 12px;
}

/* Кнопка "Показать еще" */
.blog-load-more {
    text-align: center;
    margin-top: 50px;
}

.blog-load-more .btn {
    padding: 15px 40px;
}

/* Адаптивность */
@media (max-width: 992px) {
    .blog-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
    }
}

@media (max-width: 768px) {
    .blog-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .blog-image {
        height: 200px;
    }
    
    .blog-content {
        padding: 20px;
    }
    
    .blog-title a {
        font-size: 18px;
    }
}

JavaScript для блога:

// Функция "Показать еще"
class BlogLoader {
    constructor() {
        this.loadMoreBtn = document.getElementById('loadMoreBtn');
        this.blogGrid = document.querySelector('.blog-grid');
        this.articlesPerPage = 6;
        this.currentPage = 1;
        
        // Скрываем статьи после первой страницы
        this.hideExtraArticles();
        
        if (this.loadMoreBtn) {
            this.loadMoreBtn.addEventListener('click', () => this.loadMore());
        }
    }
    
    hideExtraArticles() {
        const articles = this.blogGrid.querySelectorAll('.blog-card');
        articles.forEach((article, index) => {
            if (index >= this.articlesPerPage) {
                article.style.display = 'none';
            }
        });
    }
    
    loadMore() {
        const articles = this.blogGrid.querySelectorAll('.blog-card');
        const start = this.currentPage * this.articlesPerPage;
        const end = start + this.articlesPerPage;
        
        // Показываем следующую порцию статей
        for (let i = start; i < end && i < articles.length; i++) {
            articles[i].style.display = 'flex';
            articles[i].style.animation = 'fadeInUp 0.5s ease';
        }
        
        this.currentPage++;
        
        // Скрываем кнопку, если больше нет статей
        if (end >= articles.length) {
            this.loadMoreBtn.style.display = 'none';
        }
        
        // Обновляем текст кнопки
        const remaining = articles.length - end;
        if (remaining > 0) {
            this.loadMoreBtn.querySelector('span').textContent = 
                `Показать еще (${remaining})`;
        }
    }
}

// Инициализация
document.addEventListener('DOMContentLoaded', () => {
    new BlogLoader();
});