/* --- СТИЛИ НАШЕЙ НОВОЙ ФОРМЫ (УЛЬТРА-ПРЕМИУМ) --- */
.senat-new-callback {
    color: #967e72 !important;
    font-weight: bold !important;
    font-size: 13px !important;
    text-decoration: underline !important;
    cursor: pointer !important;
    display: inline-block !important;
    margin-top: 5px !important;
    transition: color 0.3s ease !important;
}

.senat-new-callback:hover {
    color: #cecdcc !important;
}

.senat-modal-overlay {
    position: fixed !important;
    top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important;
    background: rgba(0, 0, 0, 0.75) !important;
    z-index: 999999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s ease;
}

.senat-modal-overlay.active-modal {
    opacity: 1;
    visibility: visible;
}

.senat-modal-window-glass {
    background-color: #32332e !important;
    border: 2px solid #967e72 !important;
    border-radius: 0 !important;
    padding: 50px 40px !important;
    width: 100% !important;
    max-width: 420px !important;
    position: relative !important;
    text-align: center !important;
    box-shadow: 0 15px 40px rgba(0,0,0,0.6) !important;
}

.senat-modal-close-btn {
    position: absolute !important;
    top: 5px !important;
    right: 15px !important;
    background: transparent !important;
    border: none !important;
    color: #545d74 !important;
    font-size: 35px !important;
    cursor: pointer !important;
    font-weight: 300 !important;
    transition: color 0.3s ease !important;
}

.senat-modal-close-btn:hover {
    color: #cecdcc !important;
}

.senat-modal-form-body h3 {
    color: #ffffff !important;
    margin-bottom: 10px !important;
    font-size: 26px !important;
    font-family: 'LimeLight', sans-serif !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
}

.modal-subtitle {
    color: #967e72 !important;
    margin-bottom: 40px !important;
    font-size: 13px !important;
    font-family: 'TeX Tyre Bonum', serif !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

.senat-popup-form {
    display: flex !important;
    flex-direction: column !important;
    gap: 25px !important;
}

.modal-form-field input {
    width: 100% !important;
    padding: 10px 5px !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid #545d74 !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-family: 'TeX Tyre Bonum', serif !important;
    transition: border-color 0.3s ease !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.modal-form-field input:focus {
    border-bottom: 1px solid #cecdcc !important;
    outline: none !important;
}

.modal-form-field input::placeholder {
    color: #788470 !important;
    font-style: italic !important;
}

.modal-form-submit-btn {
    width: 100% !important;
    background-color: #6f0001 !important;
    color: #ffffff !important;
    padding: 18px !important;
    margin-top: 15px !important;
    border: none !important;
    cursor: pointer !important;
    font-family: 'LimeLight', sans-serif !important;
    font-weight: bold !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    transition: all 0.3s ease !important;
    border-radius: 0 !important;
}

.modal-form-submit-btn:hover {
    background-color: #8a0002 !important;
    box-shadow: 0 5px 15px rgba(111, 0, 1, 0.4) !important;
}


/* --- ИСПРАВЛЕНИЕ МОБИЛЬНОЙ ВЕРСИИ И СТИЛИЗАЦИЯ ПОД СЕНАТ 64 --- */

/* Чиним огромные белые полосы на кнопках (обрезаем вылезший блик) и делаем углы строго квадратными */
.btn, .button, a.button, [class*="btn-"] {
    overflow: hidden !important;
    border-radius: 0 !important;
    position: relative !important;
}

@media (max-width: 768px) {
    /* 1. Чистим шапку: прячем старую ссылку "Заказать звонок", оставляем только нашу */
    .header__contacts a:not(.senat-new-callback) {
        display: none !important;
    }
   
    /* 2. Убираем боковую липкую панель на мобильных, чтобы она не перекрывала экран */
    .side-panel,
    .right-menu,
    .floating-buttons,
    .contact-bar,
    .side-buttons,
    .b24-widget-custom-html,
    .jivo-iframe-container {
        display: none !important;
    }
    
    /* 3. Общий фон страницы — благородный темный оттенок */
    body, .site-container, #page {
        background-color: #32332e !important;
        color: #cecdcc !important;
    }

    /* 4. Очищаем шапку: делаем её компактной, фиксированной и аккуратной */
    .site-header, .header-mobile {
        background-color: #32332e !important;
        border-bottom: 1px solid #967e72 !important;
        padding: 10px 15px !important;
        position: sticky !important;
        top: 0;
        z-index: 9999;
    }

    /* Настройка логотипа и меню в шапке */
    .header__logo img, .mobile-logo img {
        max-height: 40px !important;
        width: auto !important;
    }

    /* 5. Крупные заголовки в стиле LimeLight — выравнивание и стиль */
    h1, h2, .entry-title, .section-title {
        font-family: 'LimeLight', sans-serif !important;
        color: #ffffff !important;
        text-transform: uppercase !important;
        letter-spacing: 1.5px !important;
        font-size: 22px !important;
        text-align: center !important;
        margin-bottom: 25px !important;
    }

    /* Обычный текст и подзаголовки */
    p, .site-description, .card-text {
        font-family: 'TeX Tyre Bonum', serif !important;
        color: #cecdcc !important;
        font-size: 14px !important;
    }

    /* 6. Главный мобильный баннер — делаем его четким, квадратным и без лишних отступов */
    .main-banner, .home-slider, .hero-section {
        margin: 0 0 30px 0 !important;
        padding: 0 !important;
        border-radius: 0 !important;
        overflow: hidden !important;
    }

    /* 7. Карточки категорий (плитка) — перестраиваем в красивую сетку по 2 в ряд */
    .category-grid, .products-loop, .archive-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
        padding: 0 15px !important;
    }

    /* Сами плитки категорий/товаров */
    .category-item, .product-card, .card {
        background-color: #32332e !important;
        border: 1px solid #545d74 !important; 
        border-radius: 0 !important; 
        padding: 10px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        transition: border-color 0.3s ease !important;
    }

    .category-item:hover, .product-card:hover {
        border-color: #967e72 !important; 
    }

    /* Картинки внутри плиток — всегда четкие, квадратные, на весь блок */
    .category-item img, .product-card img {
        border-radius: 0 !important;
        width: 100% !important;
        aspect-ratio: 1 / 1 !important; 
        object-fit: cover !important;
    }

    /* Названия категорий под картинками */
    .category-item h3, .product-card .title {
        font-family: 'TeX Tyre Bonum', serif !important;
        font-size: 13px !important;
        text-transform: uppercase !important;
        color: #ffffff !important;
        margin-top: 10px !important;
        letter-spacing: 1px !important;
    }

    /* 8. Выравнивание текста и стили на главных красных кнопках */
    .btn, .button, a.button, button, input[type="submit"] {
        background-color: #6f0001 !important;
        color: #ffffff !important;
        font-family: 'LimeLight', sans-serif !important;
        border: none !important;
        border-radius: 0 !important; 
        text-transform: uppercase !important;
        font-size: 14px !important;
        letter-spacing: 1px !important;
        padding: 15px 10px !important;
        width: 100% !important; 
        box-sizing: border-box !important;
        white-space: normal !important;
        line-height: 1.4 !important;
        text-align: center !important;
    }

    .btn:hover, .button:hover, a.button:hover, button:hover, input[type="submit"]:hover {
        background-color: #967e72 !important; 
    }
}
/* --- ПРАВКИ ДЛЯ НОВОЙ ГЛАВНОЙ СТРАНИЦЫ --- */

/* 1. Прячем старую кнопку "Заказать звонок" ВЕЗДЕ (и на ПК, и на телефоне), оставляем только нашу */
.header__contacts a:not(.senat-new-callback),
.header__contacts button:not(.senat-new-callback),
.header-mobile a:not(.senat-new-callback) {
    display: none !important;
}

/* 2. Усмиряем огромный логотип в подвале */
.site-footer img, 
.footer img, 
.footer-logo img,
#colophon img {
    max-width: 150px !important; /* Ограничиваем ширину */
    height: auto !important;
    display: inline-block !important;
}
/* === СТИЛИ НОВОЙ ГЛАВНОЙ СТРАНИЦЫ === */
.senat-new-homepage {
    background-color: #32332e;
    color: #cecdcc;
    font-family: 'TeX Tyre Bonum', serif;
    padding: 40px 15px;
    max-width: 1200px;
    margin: 0 auto;
}

.senat-new-homepage * {
    box-sizing: border-box;
    border-radius: 0 !important; /* Строго прямые углы */
    text-decoration: none;
}

.senat-home-title {
    text-align: center;
    font-family: 'LimeLight', sans-serif;
    color: #ffffff;
    font-size: 32px;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 40px;
}

/* Баннер */
.senat-hero-banner {
    width: 100%;
    margin-bottom: 50px;
    border: 2px solid #545d74;
    overflow: hidden;
    display: block;
}
.senat-hero-banner img { width: 100%; height: auto; display: block; }

/* Сетка категорий */
.senat-categories-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 60px;
}

.senat-category-card {
    background: #32332e;
    border: 1px solid #545d74;
    padding: 15px;
    text-align: center;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.senat-category-card:hover {
    border-color: #967e72;
    box-shadow: 0 10px 20px rgba(0,0,0,0.4);
}

/* ЖЕСТКАЯ ФИКСАЦИЯ КВАДРАТОВ */
.senat-category-card img {
    width: 100%;
    height: 250px; /* Жесткая высота для ПК */
    object-fit: cover;
    margin-bottom: 15px;
    border: 1px solid #545d74;
}

.senat-category-card h3 {
    font-family: 'LimeLight', sans-serif;
    color: #ffffff;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0;
    transition: color 0.3s;
}

.senat-category-card:hover h3 { color: #967e72; }

/* Подвал страницы */
.senat-home-footer-info { border-top: 1px solid #967e72; padding-top: 40px; text-align: center; }
.senat-home-footer-info p { color: #cecdcc; font-size: 14px; line-height: 1.6; margin-bottom: 20px; }

.senat-action-btn {
    display: inline-block;
    background-color: #6f0001;
    color: #ffffff;
    font-family: 'LimeLight', sans-serif;
    padding: 15px 30px;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 2px;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s ease;
}
.senat-action-btn:hover { background-color: #967e72; }

/* Мобильная версия */
@media (max-width: 768px) {
    .senat-categories-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .senat-home-title { font-size: 24px; margin-bottom: 25px; }
    .senat-category-card img { height: 150px; } /* На телефоне квадраты пропорционально меньше */
}
