/* --- RESET & BASIC --- */
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
    font-family: 'Arial', 'Helvetica', sans-serif;
    background-color: #ffffff;
    color: #333;
    line-height: 1.5;
}
ul { list-style: none; }
a { text-decoration: none; color: inherit; transition: 0.2s; }
img { max-width: 100%; display: block; }

/* --- VARIABLES --- */
:root {
    --gold: #dcb360;      /* Золотой акцент */
    --gold-hover: #c49a45;
    --gray-bg: #f5f5f5;   /* Фон элементов */
    --dark: #222;
    --text-gray: #666;
    --container: 1320px;
}

.container {
    max-width: var(--container);
    margin: 0 auto;
}

/* --- HEADER --- */
.header { padding: 20px 0; background: #fff; }
.header-flex { display: flex; align-items: center; justify-content: space-between; gap: 20px; }

.logo {
    font-weight: 900; font-size: 26px; line-height: 0.9; color: #000; text-transform: uppercase;
}
.logo span { color: var(--gold); }

/* Поиск */
.search-wrapper {
    flex-grow: 1; max-width: 600px; position: relative; display: flex;
}
.search-input {
    width: 100%; background-color: var(--gray-bg); border: none;
    border-radius: 50px; padding: 12px 120px 12px 25px;
    font-size: 14px; outline: none; color: #333;
}
.search-btn {
    position: absolute; right: 5px; top: 4px; bottom: 4px;
    background-color: var(--gold); border: none; border-radius: 50px;
    padding: 0 30px; font-weight: bold; cursor: pointer; color: #222;
}
.search-btn:hover { background-color: var(--gold-hover); }

/* Контакты */
.contacts-wrapper { display: flex; align-items: center; gap: 25px; }
.social-icons a { font-size: 20px; margin-right: 8px; color: #555; }
.social-icons a:hover { color: var(--gold); }
.social-icons a:nth-child(1) { color: #25d366; } /* WhatsApp */
.social-icons a:nth-child(2) { color: #c13584; } /* Instagram */
.social-icons a:nth-child(3) { color: #0088cc; } /* Telegram */

.phone-info { text-align: right; }
.phone-number { display: block; font-weight: bold; font-size: 18px; color: #000; }
.phone-desc { font-size: 12px; color: #999; }

.lang-select {
    background: var(--gray-bg); padding: 8px 15px; border-radius: 8px;
    font-size: 14px; font-weight: bold; cursor: pointer;
}

/* Бургер (скрыт на ПК) */
.burger-menu { display: none; font-size: 24px; cursor: pointer; margin-left: 10px; }

/* --- NAV BAR --- */
.nav-bar { background: #fcfcfc; border-top: 1px solid #eee; border-bottom: 1px solid #eee; }
.nav-list { display: flex; justify-content: space-between; padding: 15px 0; flex-wrap: wrap; }
.nav-list a { font-size: 14px; font-weight: 600; color: #333; text-transform: uppercase; }
.nav-list a:hover { color: var(--gold); }

/* --- HERO SECTION (BOXED DESKTOP / FULL MOBILE) --- */

.hero-section {
    position: relative;
    /* ДЕСКТОП: Ограничиваем и центруем */
    max-width: 1320px;
    width: 95%;
    margin: 30px auto; /* Отступ сверху и снизу на ПК */

    height: 500px;
    background-color: #f0f0f0;

    /* ДЕСКТОП: Скругляем углы */
    border-radius: 20px;
    overflow: hidden;

    display: flex;
    align-items: center;
}

.hero-bg {
    position: absolute;
    inset: 0;
    z-index: 1;
    transition: filter 0.5s;
    background: url('https://placehold.co/1920x600/e0e0e0/e0e0e0');
    background-size: cover;
    background-position: center;
}

.hero-container {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    /* Отступы внутри слайдера, чтобы текст не лип к стрелкам */
    padding: 0 80px;
}

.hero-content {
    max-width: 650px;
}

/* Анимация */
.fade-anim { animation: fadeUp 0.6s ease-out; }
@keyframes fadeUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ТИПОГРАФИКА */
.hero-title {
    font-size: 64px;
    font-weight: 900;
    color: #333;
    line-height: 1.1;
    margin-bottom: 15px;
}
.hero-subtitle {
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
    color: #fff;
    background: #333;
    display: inline-block;
    padding: 8px 16px;
    margin-bottom: 25px;
    border-radius: 4px;
}
.hero-specs-list {
    font-size: 15px;
    color: #444;
    margin-bottom: 25px;
    background: rgba(255, 255, 255, 0.7);
    padding: 20px;
    border-radius: 8px;
    border-left: 4px solid var(--gold);
    max-width: 400px;
}
.spec-line { display: block; margin-bottom: 5px; }
.hero-brand {
    font-size: 30px; font-weight: 900; color: #222; margin-top: 20px; text-transform: uppercase;
}

/* СТРЕЛКИ (только для ПК) */
.slider-arrow {
    position: absolute; top: 50%; transform: translateY(-50%); z-index: 10;
    color: #333; font-size: 20px; cursor: pointer;
    background: #fff; border-radius: 50%; width: 50px; height: 50px;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1); transition: 0.3s;
}
.slider-arrow:hover { background: var(--gold); color: #fff; transform: translateY(-50%) scale(1.1); }
.slider-arrow.left { left: 20px; }
.slider-arrow.right { right: 20px; }

/* ТОЧКИ */
.slider-dots {
    position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%);
    display: flex; gap: 8px; z-index: 3;
}
.dot { width: 10px; height: 10px; background: rgba(255,255,255,0.5); border-radius: 50%; cursor: pointer; transition: 0.3s; }
.dot.active { background: var(--gold); transform: scale(1.2); }


/* --- АДАПТИВ (ВАЖНЫЙ МОМЕНТ) --- */
@media (max-width: 900px) {
    .hero-section {
        /* СБРАСЫВАЕМ КОРОБКУ В НОЛЬ */
        width: 100%;
        max-width: 100%;
        margin: 0;         /* Убираем внешние отступы */
        border-radius: 0;  /* Убираем скругления */

        height: auto;      /* Высота по контенту */
        min-height: 550px; /* Мин. высота чтобы влезла картинка */
        align-items: flex-end; /* Контент прижимаем вниз или центр */
        padding-bottom: 40px;
    }

    .hero-container {
        padding: 40px 20px; /* Отступы внутри поменьше */
        flex-direction: column;
        justify-content: flex-end; /* Текст снизу */
        text-align: left;
    }

    .hero-content {
        background: rgba(255,255,255,0.8); /* Подложка чтобы текст читался на мобиле */
        padding: 20px;
        border-radius: 12px;
        backdrop-filter: blur(5px);
    }

    .hero-title { font-size: 36px; }
    .hero-specs-list { max-width: 100%; background: none; padding: 0; border: none; }

    /* Скрываем стрелки на мобилке (листаем пальцем или точками) */
    .slider-arrow { display: none; }

    .slider-dots { bottom: 15px; }
}
/* --- SECTIONS COMMON --- */
.section { padding: 30px 0; }
.section-heading { font-size: 28px; font-weight: bold; margin-bottom: 15px; color: #000; }
.section-desc { font-size: 15px; color: #777; margin-bottom: 30px; max-width: 900px; }

/* --- CATEGORIES --- */
.categories-wrapper { display: flex; gap: 30px; min-height: 400px; }
.cat-box {
    border-radius: 20px; overflow: hidden; position: relative;
    background-color: #333; color: #fff; padding: 40px;
    background-size: cover; background-position: center;
    transition: transform 0.3s;
}
.cat-box:hover { transform: translateY(-5px); }

/* Левый блок */
.cat-box.construction {
    flex: 2;
    background-image: url('https://placehold.co/900x500/333/666?text=Building+Tech');
}
.cat-box.construction::before {
    content: ''; position: absolute; top:0; left:0; bottom:0; width: 60%;
    background: linear-gradient(to right, rgba(0,0,0,0.8), transparent); z-index: 1;
}
/* Правый блок */
.cat-box.industrial {
    flex: 1.2;
    background-image: url('https://placehold.co/600x500/dcb360/fff?text=Industrial');
    display: flex; align-items: flex-end;
}

.cat-content { position: relative; z-index: 2; }
.cat-content h3 { font-size: 24px; border-bottom: 3px solid var(--gold); display: inline-block; padding-bottom: 5px; margin-bottom: 20px; }
.cat-content ul li { margin-bottom: 8px; font-size: 14px; opacity: 0.9; }
.cat-content ul li:hover { color: var(--gold); padding-left: 5px; }

.cat-badge { background: #fff; color: #000; padding: 10px 20px; border-radius: 30px; font-weight: bold; }

/* --- SERVICES --- */
.services-wrapper { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.srv-card {
    height: 200px; border-radius: 15px; background-size: cover; background-position: center;
    display: flex; align-items: flex-end; padding: 25px; position: relative; overflow: hidden;
}
.srv-card::before { content:''; position: absolute; inset:0; background: linear-gradient(to top, rgba(0,0,0,0.8), transparent); }
.srv-card:hover .srv-label { color: var(--gold); }
.srv-label { position: relative; z-index: 2; color: #fff; font-weight: bold; font-size: 18px; }
.srv-label i { margin-right: 10px; color: var(--gold); }

.srv-card.parts { background-image: url('https://placehold.co/400x300/333/555?text=Parts'); }
.srv-card.oil { background-image: url('https://placehold.co/400x300/444/666?text=Oil'); }
.srv-card.service { background-image: url('https://placehold.co/400x300/555/777?text=Service'); }

/* --- БЛОК НОВОСТЕЙ --- */
.flex-heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 25px; }
.btn-all-news { background: #D0AE62; color: var(--dark); padding: 10px 25px; border-radius: 30px; font-size: 13px; font-weight: bold;}
.btn-all-news:hover { background: var(--gold); border-color: var(--gold); color: #fff; }
.news-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    margin-bottom: 40px;
}

.news-card {
    display: flex;
    flex-direction: column;
    height: 100%; /* Чтобы карточки были одинаковой высоты */
}

/* Обертка картинки + Дата */
.news-img-wrap {
    position: relative; /* Чтобы позиционировать дату внутри */
    height: 220px;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
    overflow: hidden;
}

.news-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s;
}

.news-card:hover .news-img-wrap img {
    transform: scale(1.05); /* Легкий зум при наведении */
}

/* Бейдж с датой */
.news-date {
    position: absolute;
    top: 15px;
    right: 15px;
    background-color: var(--gold); /* Золотой фон */
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    padding: 6px 14px;
    border-radius: 20px; /* Овальная форма */
    z-index: 2;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

/* Контент новости */
.news-content {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    background: #F8F8F8;
    padding: 20px 20px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

.news-content h3 {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 12px;
    line-height: 1.3;
    color: #000;
    min-height: 42px; /* Чтобы заголовки выравнивались */
}

.news-content p {
    font-size: 13px;
    color: #888; /* Серый текст описания */
    line-height: 1.5;
    margin-bottom: 15px;

    /* Обрезаем текст до 4 строк (многоточие) */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.news-link {
    font-size: 13px;
    font-weight: bold;
    color: var(--gold);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: auto; /* Прижимаем к низу */
}
.news-link i { font-size: 10px; transition: 0.2s; }
.news-link:hover i { transform: translateX(3px); }


/* АДАПТИВ НОВОСТЕЙ */
@media (max-width: 1200px) {
    .news-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .news-grid { grid-template-columns: 1fr; }
    .news-img-wrap { height: 200px; }
}

/* --- ADVANTAGES --- */
.adv-grid-rows { display: flex; flex-direction: column; gap: 15px; }
.adv-row { display: flex; gap: 15px; }
.adv-pill {
    flex: 1; background: #f9f9f9; padding: 20px 15px; border-radius: 12px;
    font-size: 13px; font-weight: bold; display: flex; align-items: center;
    gap: 12px; border: 1px solid #eee; transition: 0.3s;
}
.adv-pill:hover { border-color: var(--gold); background: #fff; box-shadow: 0 5px 15px rgba(0,0,0,0.05); cursor: pointer;}
.adv-pill i { color: var(--gold); font-size: 20px; }

/* --- MAP BLOCK --- */
.map-block { display: flex; border: 1px solid #eee; height: 500px; border-radius: 12px; overflow: hidden; background: #fff; }
.map-sidebar { width: 300px; background: #fff; border-right: 1px solid #eee; display: flex; flex-direction: column; }
.city {
    padding: 20px; font-weight: bold; cursor: pointer; border-bottom: 1px solid #f0f0f0;
    display: flex; justify-content: space-between; align-items: center;
}
.city:hover { background: #fafafa; }
.city.active { color: var(--gold); background: #fff; border-left: 4px solid var(--gold); }
.city i { font-size: 12px; color: #ccc; }
.city.active i { color: var(--gold); }

.map-area { flex-grow: 1; position: relative; background: #eee; }
.map-img { width: 100%; height: 100%; object-fit: cover; }
.city-details-overlay {
    position: absolute; top: 20px; left: 20px; background: rgba(255,255,255,0.95);
    padding: 20px; border-radius: 8px; box-shadow: 0 5px 20px rgba(0,0,0,0.1); max-width: 300px;
}
.city-details-overlay p { margin-bottom: 8px; display: flex; align-items: center; gap: 10px; }
.city-details-overlay i { color: var(--gold); width: 20px; text-align: center; }
.big { font-weight: bold; font-size: 14px; }
.small { font-size: 13px; color: #666; margin-left: 30px; }

/* --- FOOTER --- */
.footer { background: #1f1f1f; color: #ccc; padding: 60px 0 20px; font-size: 14px; }
.footer-cont { display: grid; grid-template-columns: 1.2fr 0.8fr 1fr 1fr; gap: 40px; margin-bottom: 40px; border-bottom: 1px solid #333; padding-bottom: 40px; }
.ft-col h5 { color: #fff; margin-bottom: 20px; font-size: 15px; font-weight: bold; }
.ft-col ul li { margin-bottom: 10px; }
.ft-col ul li a:hover { color: var(--gold); }
.logo.light { color: #fff; } .logo.light span { color: var(--gold); }
.footer-socials { margin: 20px 0; }
.footer-socials a { color: #888; } .footer-socials a:hover { color: #fff; }
.ft-phone { font-size: 20px; font-weight: bold; color: #fff; margin-bottom: 5px; }
.ft-email { color: #888; margin-bottom: 15px; }
.btn-gold { background: var(--gold); border: none; padding: 12px 25px; border-radius: 6px; cursor: pointer; font-weight: bold; color: #222; }
.btn-gold:hover { background: var(--gold-hover); }
.mt-15 { margin-top: 15px; }
.mt-20 { margin-top: 20px; }
.footer-copy { display: flex; justify-content: space-between; color: #555; font-size: 12px; }

/* --- MOBILE ADAPTIVE --- */
@media (max-width: 900px) {
    .categories-wrapper { flex-direction: column; height: auto; }
    .cat-box { flex: 1; height: 300px; }
    .services-wrapper, .news-row { grid-template-columns: repeat(2, 1fr); }
    .adv-row { flex-wrap: wrap; }
    .footer-cont { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
    .header-flex { flex-direction: column; align-items: stretch; gap: 15px; }
    .search-wrapper { max-width: 100%; order: 3; } /* Поиск вниз */
    .contacts-wrapper { justify-content: space-between; width: 100%; order: 2; }
    .logo { text-align: left; order: 1; }

    .burger-menu { display: block; } /* Показываем бургер */

    .nav-bar {
        display: none; position: absolute; top: 180px; left: 0; right: 0;
        background: #fff; z-index: 99; box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    }
    .nav-bar.active { display: block; }
    .nav-list { flex-direction: column; }
    .nav-list li { border-bottom: 1px solid #eee; width: 100%; }
    .nav-list a { display: block; padding: 15px 20px; }

    .hero-section { height: auto; padding: 40px 0; text-align: center; }
    .hero-title { font-size: 40px; }
    .hero-content { margin: 0 auto; }
    .slider-arrow { display: none; } /* Скрываем стрелки на моб */

    .services-wrapper, .news-row { grid-template-columns: 1fr; }
    .map-block { flex-direction: column; height: auto; }
    .map-sidebar { width: 100%; border-right: none; border-bottom: 1px solid #eee; }
    .map-area { height: 300px; }
    .footer-cont, .footer-copy { grid-template-columns: 1fr; text-align: left; flex-direction: column; gap: 20px; padding: 0 20px;}
}
/* --- СТИЛИ ДЛЯ КАТАЛОГА (CATALOG PAGE) --- */

.page-content {
    padding-top: 30px;
    padding-bottom: 60px;
}

/* Хлебные крошки */
.breadcrumbs {
    font-size: 13px;
    color: #999;
    margin-bottom: 20px;
}
.breadcrumbs a {
    color: #999;
    text-decoration: none;
}
.breadcrumbs a:hover {
    color: var(--gold);
}
.breadcrumbs span {
    color: #333; /* Текущая страница темнее */
}

/* Заголовок страницы */
.page-title {
    font-size: 32px;
    font-weight: 900;
    margin-bottom: 30px;
    color: #000;
}

/* Ряд брендов */
.brands-row {
    display: flex;
    align-items: center;
    gap: 40px;
    margin-bottom: 40px;
    flex-wrap: wrap;
}
.brands-row img {
    height: 35px; /* Фиксированная высота для логотипов */
    width: auto;
    filter: grayscale(100%); /* Делаем лого черно-белыми как на макете */
    opacity: 0.7;
    transition: 0.3s;
}
.brands-row img:hover {
    filter: grayscale(0%);
    opacity: 1;
}

/* Сетка каталога (5 колонок как на макете) */
.catalog-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr); /* 5 элементов в ряд */
    gap: 20px;
    margin-bottom: 60px;
}

/* Карточка категории */
.cat-item {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    transition: 0.3s;
    display: block; /* Ссылка как блок */
}
.cat-item:hover {
    box-shadow: 0 10px 20px rgba(0,0,0,0.08);
    border-color: var(--gold);
    transform: translateY(-3px);
}

.cat-img-wrap {
    height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
}
.cat-img-wrap img {
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
}

.cat-item-title {
    font-size: 15px;
    font-weight: bold;
    color: #000;
    margin-bottom: 10px;
    line-height: 1.2;
}

.cat-item-link {
    font-size: 12px;
    color: var(--gold); /* Золотой цвет ссылки */
    border-bottom: 1px solid rgba(220, 179, 96, 0.3);
}

/* SEO Текст */
.seo-text-block {
    background: #fff;
    /* padding: 0; на макете нет фона блока, просто текст */
    color: #333;
    line-height: 1.6;
}
.seo-text-block h2 {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 20px;
}
.seo-text-block p {
    font-size: 14px;
    margin-bottom: 15px;
    text-align: justify; /* Выравнивание текста как в газете/макете */
    color: #444;
}

/* АДАПТИВ ДЛЯ КАТАЛОГА */
@media (max-width: 1024px) {
    .catalog-grid {
        grid-template-columns: repeat(3, 1fr); /* 3 колонки на планшете */
    }
}

@media (max-width: 600px) {
    .brands-row {
        gap: 20px;
        justify-content: center;
    }
    .catalog-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 колонки на телефоне */
    }
    .page-title {
        font-size: 24px;
    }
}
/* --- СТРАНИЦА СПИСКА ТОВАРОВ (PRODUCT LISTING) --- */

/* Макет: Сайдбар слева, товары справа */
.catalog-layout {
    display: flex;
    gap: 30px;
    margin-top: 30px;
}

/* --- САЙДБАР (ФИЛЬТРЫ) --- */
.catalog-sidebar {
    width: 260px;
    flex-shrink: 0;
    background: #fdfdfd;
    padding: 10px 20px 20px 0; /* Отступ справа, слева не нужен */
}

.filter-group {
    margin-bottom: 25px;
    border-bottom: 1px solid #eee;
    padding-bottom: 20px;
}
.filter-group:last-child { border: none; }

.filter-title {
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 15px;
    display: flex;
    justify-content: space-between;
    cursor: pointer;
}
.filter-title i { color: #ccc; font-size: 12px; }

/* Кастомные чекбоксы */
.custom-checkbox {
    display: block;
    position: relative;
    padding-left: 28px;
    margin-bottom: 10px;
    cursor: pointer;
    font-size: 13px;
    user-select: none;
    color: #555;
}
.custom-checkbox input {
    position: absolute; opacity: 0; cursor: pointer; height: 0; width: 0;
}
.checkmark {
    position: absolute; top: 0; left: 0;
    height: 18px; width: 18px;
    background-color: #eee; border-radius: 4px;
}
.custom-checkbox:hover input ~ .checkmark { background-color: #ddd; }
.custom-checkbox input:checked ~ .checkmark { background-color: var(--gold); }
.checkmark:after {
    content: ""; position: absolute; display: none;
}
.custom-checkbox input:checked ~ .checkmark:after { display: block; }
.custom-checkbox .checkmark:after {
    left: 6px; top: 3px; width: 4px; height: 8px;
    border: solid white; border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

/* Инпуты диапазона */
.range-inputs {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}
.range-inputs input {
    width: 100%;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 12px;
}
.range-inputs span { color: #999; }

.show-more-params {
    font-size: 12px;
    color: var(--gold);
    text-decoration: underline;
    cursor: pointer;
}

/* --- СЕТКА ТОВАРОВ --- */
.product-list-wrapper {
    flex-grow: 1;
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 колонки, как на макете */
    gap: 20px;
    margin-bottom: 40px;
}

/* Карточка товара */
.product-card {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    transition: 0.3s;
}
.product-card:hover {
    box-shadow: 0 10px 25px rgba(0,0,0,0.08);
    transform: translateY(-3px);
}

.prod-img {
    height: 160px;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.prod-img img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.prod-title {
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 15px;
    line-height: 1.3;
    height: 38px; /* Ограничение высоты заголовка */
    overflow: hidden;
}

.prod-specs {
    font-size: 12px;
    color: #888;
    margin-bottom: 20px;
    flex-grow: 1;
}
.spec-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end; /* Выравнивание по точкам */
    margin-bottom: 5px;
}
/* Эффект точек между названием и значением */
.spec-row .dots {
    flex-grow: 1;
    border-bottom: 1px dotted #ccc;
    margin: 0 5px 4px 5px; /* Отступ снизу подгоняем под текст */
}
.spec-row span:last-child {
    color: #333; /* Значения чуть темнее */
    font-weight: 500;
}

.prod-link {
    font-size: 12px;
    color: var(--gold);
    font-weight: bold;
    text-align: right;
    display: block;
    margin-top: auto;
    text-wrap-mode: nowrap;
}
.prod-link:hover {
    text-decoration: underline;
}

/* Кнопка Показать еще */
.load-more-container {
    text-align: center;
    margin-bottom: 40px;
}
.load-more-btn {
    padding: 12px 40px;
    border-radius: 30px;
    font-size: 14px;
    color: #222;
}

.mt-10 { margin-top: 10px; }
.mt-60 { margin-top: 60px; }

/* АДАПТИВНОСТЬ КАТАЛОГА */
@media (max-width: 1200px) {
    .product-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 900px) {
    .product-grid { grid-template-columns: repeat(2, 1fr); }
    .catalog-sidebar { width: 220px; }
}

@media (max-width: 768px) {
    .catalog-layout { flex-direction: column; }
    .catalog-sidebar { width: 100%; padding-right: 0; margin-bottom: 30px; }
    .product-grid { grid-template-columns: repeat(1, 1fr); }
    /* Делаем карточку горизонтальной на мобилке для удобства */
    .product-card { flex-direction: row; align-items: center; gap: 15px; justify-content: space-between}
    .prod-img { width: 100px; height: 80px; margin-bottom: 0; flex-shrink: 0; }
    .prod-title { height: auto; margin-bottom: 5px; }
    .prod-specs { display: none; } /* Скрываем спеки на моб для компактности, или оставляем */
}
/* --- ЛОГИКА СВОРАЧИВАНИЯ ФИЛЬТРОВ --- */

/* Когда фильтр закрыт, скрываем контент */
.filter-group.closed .filter-content {
    display: none;
}

/* Крутим стрелку */
.filter-title i {
    transition: transform 0.3s;
}
.filter-group.closed .filter-title i {
    transform: rotate(180deg);
}

/* Анимация кнопки "Показать еще" при клике */
.load-more-btn.loading {
    opacity: 0.7;
    cursor: wait;
}

/* --- СТРАНИЦА КАРТОЧКИ ТОВАРА (PRODUCT PAGE) --- */

.product-top-section {
    display: flex;
    gap: 30px;
    margin-bottom: 60px;
}

/* 1. Галерея */
.product-gallery {
    flex: 1.5; /* Занимает больше места */
    display: flex;
    gap: 15px;
    height: 500px;
}
.gallery-thumbs {
    width: 100px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.thumb {
    width: 100%;
    height: 80px;
    border: 1px solid #eee;
    cursor: pointer;
    opacity: 0.6;
    transition: 0.2s;
}
.thumb.active, .thumb:hover {
    opacity: 1;
    border-color: var(--gold);
}
.thumb img { width: 100%; height: 100%; object-fit: cover; }

.gallery-main {
    flex-grow: 1;
    background: #f4f4f4;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    overflow: hidden;
}
.gallery-main img {
    max-width: 100%;
    max-height: 100%;
}

/* 2. Правый блок (Покупка) */
.product-buy-block {
    flex: 1;
    /* Нет явного фона, просто блоки иконок */
}

.big-btn {
    width: 100%;
    padding: 18px;
    font-size: 15px;
    text-transform: uppercase;
    font-weight: 800;
    margin-bottom: 30px;
    box-shadow: 0 5px 15px rgba(220, 179, 96, 0.4);
}
.big-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(220, 179, 96, 0.6);
}

.service-icons-group {
    background: #f9f9f9;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 20px;
}
.group-label {
    display: block;
    font-size: 12px;
    color: #888;
    margin-bottom: 15px;
}
.icons-row {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}
.icon-item {
    font-size: 13px;
    font-weight: bold;
    display: flex;
    align-items: center;
    gap: 8px;
    width: 30%; /* По 3 в ряд примерно */
}
.icon-item i {
    color: var(--gold);
    font-size: 16px;
}

/* 3. ТАБЫ */
.product-tabs-section {
    margin-top: 40px;
}

.tabs-header {
    display: flex;
    gap: 5px;
    margin-bottom: 30px;
    background: #eee;
    padding: 5px;
    border-radius: 8px;
    display: inline-flex; /* Чтобы не растягивался */
}
.tab-btn {
    padding: 12px 30px;
    cursor: pointer;
    font-weight: bold;
    font-size: 14px;
    border-radius: 6px;
    transition: 0.3s;
    color: #555;
}
.tab-btn.active {
    background: var(--gold);
    color: #222;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.tab-pane {
    display: none; /* Скрыто по умолчанию */
    animation: fadeUp 0.4s;
}
.tab-pane.active {
    display: block; /* Показываем активный */
}

/* Таблица характеристик (Зебра) */
.specs-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 40px;
    font-size: 14px;
}
.specs-table tr:nth-child(odd) {
    background-color: #fcfcfc;
}
.specs-table tr:nth-child(even) {
    background-color: #f2f2f2; /* Серый как на макете */
}
.specs-table td {
    padding: 12px 20px;
    border: none;
}
.specs-table td:first-child {
    font-weight: bold;
    color: #555;
    width: 40%;
}
.specs-table td:last-child {
    font-weight: 800;
    color: #000;
    text-align: right;
}

/* Текстовое описание */
.product-description h3 { font-size: 20px; margin-bottom: 15px; font-weight: bold; }
.product-description h4 { font-size: 16px; margin: 20px 0 10px; font-weight: bold; }
.product-description ul { list-style: disc; padding-left: 20px; margin-bottom: 15px; }
.product-description li { margin-bottom: 10px; color: #444; }

.mt-40 { margin-top: 40px; }

/* АДАПТИВ КАРТОЧКИ */
@media (max-width: 900px) {
    .product-top-section { flex-direction: column; }
    .product-gallery { height: 400px; }
    .tabs-header { width: 100%; display: flex; }
    .tab-btn { flex: 1; text-align: center; padding: 10px 5px; font-size: 12px; }
}

@media (max-width: 600px) {
    .product-gallery { flex-direction: column-reverse; height: auto; }
    .gallery-thumbs { flex-direction: row; width: 100%; height: 60px; }
    .gallery-main { height: 250px; }
    .icons-row { flex-direction: column; gap: 10px; }
    .icon-item { width: 100%; }
}
/* --- СТРАНИЦА КОНТАКТЫ (CONTACTS PAGE) --- */

/* Убираем нижнюю границу у карты на странице контактов, чтобы выглядело чище */
.contacts-map {
    border: none;
    background: transparent;
}
.contacts-map .map-sidebar {
    background: transparent;
    border-right: none;
}
/* Линии разделители городов чуть строже */
.contacts-map .city {
    border-bottom: 2px solid #eee;
    background: transparent;
}
.contacts-map .city.active {
    background: transparent;
    border-left: none; /* Убираем полоску слева, тут она не нужна по дизайну */
    color: #000;
}
/* Добавляем полоску снизу активному городу */
.contacts-map .city.active {
    border-bottom: 2px solid var(--gold);
}


/* --- БОЛЬШАЯ ФОРМА ЗАЯВКИ --- */
.form-heading {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 30px;
    color: #000;
}

.big-contact-form {
    background: #fff; /* Или прозрачный, на макете белый */
    max-width: 100%;
}

.form-group {
    margin-bottom: 20px;
}
.form-group label {
    display: block;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 8px;
    color: #000;
}
.form-group input,
.form-group textarea {
    width: 100%;
    background: #f2f2f2; /* Светло-серый фон полей */
    border: none;
    border-radius: 6px;
    padding: 15px;
    font-size: 14px;
    outline: none;
    color: #333;
}
.form-group input:focus,
.form-group textarea:focus {
    background: #e9e9e9; /* Чуть темнее при фокусе */
}
.form-group textarea {
    height: 120px;
    resize: vertical;
}

/* Сетка для 3 колонок (Телефон, Email, Регион) */
.form-row-3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
}

/* Футер формы (Кнопка + Текст) */
.form-footer {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-top: 10px;
}
.form-btn {
    padding: 15px 50px; /* Широкая кнопка */
    font-size: 14px;
}

/* Кастомный чекбокс согласия */
.privacy-check {
    display: flex;
    align-items: flex-start; /* Текст может быть в 2 строки */
    gap: 10px;
    cursor: pointer;
    font-size: 12px;
    color: #666;
    line-height: 1.4;
    user-select: none;
}
.privacy-check a {
    color: var(--gold);
    text-decoration: underline;
}
.privacy-check input {
    position: absolute; opacity: 0; height: 0; width: 0;
}
.checkmark-box {
    height: 20px;
    width: 20px;
    background-color: #eee;
    border-radius: 4px;
    flex-shrink: 0; /* Чтобы не сжимался */
    position: relative;
}
.privacy-check input:checked ~ .checkmark-box {
    background-color: var(--gold);
}
.checkmark-box:after {
    content: ""; position: absolute; display: none;
    left: 7px; top: 3px; width: 5px; height: 10px;
    border: solid #fff; border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.privacy-check input:checked ~ .checkmark-box:after {
    display: block;
}

/* АДАПТИВ ФОРМЫ */
@media (max-width: 768px) {
    .form-row-3 {
        grid-template-columns: 1fr; /* В одну колонку на мобиле */
        gap: 0;
    }
    .form-footer {
        flex-direction: column;
        align-items: stretch; /* Кнопка на всю ширину */
        gap: 20px;
    }
    .form-btn { width: 100%; }
}
/* --- СТРАНИЦА О КОМПАНИИ (ABOUT PAGE) --- */

/* 1. Интро блок */
.about-intro, .why-us-section {
    display: flex;
    align-items: center;
    gap: 50px;
    margin-bottom: 20px;
}
.about-text { flex: 1; }
.about-text p {
    margin-bottom: 20px;
    color: #444;
    line-height: 1.6;
    text-align: justify;
}

.about-image {
    flex: 1;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}
.about-image img {
    position: relative;
    z-index: 2;
    max-width: 100%;
}
/* Желтый круг на фоне */
.circle-bg {
    position: absolute;
    width: 350px;
    height: 350px;
    background-color: var(--gold); /* Золотой круг */
    border-radius: 50%;
    z-index: 1;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0.8;
}
.circle-bg.orange {
    background-color: #e6a740; /* Чуть другой оттенок для второго блока, если нужно */
}

/* 2. Плашка преимуществ */
.about-features-bar {
    background: #fcfcfc;
    border: 1px solid #f0f0f0;
    border-radius: 12px;
    padding: 30px;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin-bottom: 50px;
}
.feat-item {
    display: flex;
    align-items: center;
    gap: 15px;
    max-width: 300px;
}
.feat-item i {
    font-size: 30px;
    color: var(--gold); /* Иконки золотые */
}
.feat-item span {
    font-size: 14px;
    font-weight: bold;
    color: #333;
    line-height: 1.3;
}

/* 3. Партнеры */
.partners-section h3, .why-us-section h3, .faq-section h3 {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 30px;
}
/* --- ОБНОВЛЕННЫЙ CSS ДЛЯ ПАРТНЕРОВ --- */
.partners-row {
    display: flex;
    align-items: center;
    gap: 40px; /* Отступ между логотипами */
    margin-bottom: 20px;

    /* Магия карусели */
    overflow-x: auto; /* Позволяет скроллить */
    white-space: nowrap; /* В одну линию */
    scrollbar-width: none; /* Скрываем скроллбар (Firefox) */
    padding: 10px 5px; /* Немного воздуха */
}

/* Скрываем скроллбар (Chrome/Safari) */
.partners-row::-webkit-scrollbar {
    display: none;
}

.partners-row img {
    height: 60px; /* Фикс высота */
    width: auto;
    object-fit: contain;
    flex-shrink: 0; /* Чтобы картинки не сжимались */
    /* Фильтр (черно-белый), если хочешь стильно */
    filter: grayscale(100%);
    opacity: 0.7;
    transition: 0.3s;
}
.partners-row img:hover {
    filter: grayscale(0%);
    opacity: 1;
}

/* Стили стрелок оставляем те же, но добавим z-index */
.partner-arrow {
    width: 40px; height: 40px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #eee;
    display: flex;
    align-items: center; justify-content: center;
    color: var(--gold);
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    z-index: 2; /* Поверх картинок */
    flex-shrink: 0;
}
.partners-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
}
.partners-dots .dot {
    width: 8px; height: 8px;
    background: #ddd;
    border-radius: 50%;
}
.partners-dots .dot.active {
    background: var(--gold);
}

/* 4. Почему мы */
.why-us-content { flex: 1; }
.why-us-list {
    list-style: none;
    padding: 0;
}
.why-us-list li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 12px;
    font-size: 14px;
    color: #333;
}
/* Буллиты (точки) списка */
.why-us-list li::before {
    content: "•";
    color: var(--gold); /* Золотая точка */
    font-weight: bold;
    font-size: 20px;
    position: absolute;
    left: 0;
    top: -2px;
}

/* 5. FAQ Аккордеон */
.faq-container {
    background: #f9f9f9;
    border-radius: 12px;
    padding: 20px;
}
.faq-item {
    background: #fff;
    border-bottom: 1px solid #eee;
}
.faq-item:last-child { border-bottom: none; }

.faq-header {
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-weight: bold;
    font-size: 14px;
    transition: 0.2s;
}
.faq-header:hover {
    color: var(--gold);
}
.faq-header i {
    font-size: 12px;
    transition: transform 0.3s;
}
.faq-body {
    padding: 0 20px 20px;
    display: none; /* Скрыто по умолчанию */
    font-size: 14px;
    color: #555;
    line-height: 1.5;
}
.small-note {
    font-size: 12px;
    color: #999;
    margin-top: 10px;
    font-style: italic;
}

/* Активный класс для открытого FAQ */
.faq-item.active .faq-body { display: block; }
.faq-item.active .faq-header i { transform: rotate(180deg); }


/* АДАПТИВ ABOUT */
@media (max-width: 900px) {
    .about-intro, .why-us-section { flex-direction: column; }
    .about-image { order: -1; margin-bottom: 20px; }
    .about-features-bar { flex-direction: column; align-items: flex-start; gap: 40px; }
    .feat-item { max-width: 100%; }
}
/* --- СТРАНИЦА ЛИЗИНГА --- */

/* 1. Интро */
.leasing-intro {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}
.leasing-text { flex: 1.2; }
.leasing-image { flex: 0.8; }
.leasing-text h3 { font-size: 20px; font-weight: bold; margin: 30px 0 15px; }

/* 2. Этапы (Grid) */
.steps-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 15px;
    margin-bottom: 20px;
}
.step-card {
    background: #fcfcfc;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 20px;
    position: relative;
    min-height: 100px;
}
.step-num {
    width: 30px; height: 30px;
    background: var(--gold);
    color: #fff;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-weight: bold;
    margin-bottom: 15px;
}
.step-text {
    font-size: 13px;
    font-weight: bold;
    line-height: 1.4;
}
.steps-note {
    font-size: 13px; color: #666; margin-top: 20px;
}

/* 3. Калькулятор (Серый блок) */
.calc-box-wrapper {
    background: #f9f9f9;
    padding: 40px;
    border-radius: 12px;
}
.calc-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 30px;
}
.calc-input-group label {
    display: block; font-size: 13px; font-weight: bold; margin-bottom: 8px;
}
.calc-input-group input {
    width: 100%; padding: 12px; border: 1px solid #ddd; border-radius: 4px;
}
.calc-btn-wrap { text-align: center; margin-bottom: 20px; }
.calc-disclaimer { font-size: 11px; color: #999; line-height: 1.4; }


/* --- СТИЛИ ДЛЯ МОДАЛЬНОГО ОКНА С ТАБЛИЦЕЙ --- */

.modal-overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.8); /* Темный фон */
    z-index: 2000; /* Поверх всего */
    display: flex;
    align-items: center;
    justify-content: center;

    opacity: 0; visibility: hidden; pointer-events: none;
    transition: 0.3s;
}
.modal-overlay.open {
    opacity: 1; visibility: visible; pointer-events: auto;
}

.large-table-box {
    background: #fff;
    width: 900px; /* Ширина окна */
    max-width: 95%;
    max-height: 90vh; /* Чтобы не вылезало за экран по высоте */
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden; /* Чтобы скругления работали */
}

.modal-close-icon {
    position: absolute;
    top: 15px; right: 20px;
    font-size: 30px;
    color: #333;
    cursor: pointer;
    z-index: 10;
    line-height: 1;
}
.modal-close-icon:hover { color: var(--gold); }

.modal-title-h3 {
    text-align: center;
    margin: 20px 0 10px;
    font-size: 22px;
    font-weight: bold;
}

.table-scroll-wrap {
    overflow-y: auto; /* Скролл только у таблицы */
    padding: 10px 30px;
    margin-bottom: 20px;
    /* Максимальная высота таблицы, чтобы осталось место для формы */
    max-height: 40vh;
}

/* Сама таблица */
.leasing-table {
    width: 100%;
    border-collapse: collapse;
}
.leasing-table th {
    background: var(--gold);
    color: #222;
    padding: 12px;
    text-align: left;
    position: sticky; top: 0; /* Шапка прилипает */
}
.leasing-table td {
    padding: 10px 12px;
    border-bottom: 1px solid #eee;
    font-size: 14px;
}
.leasing-table tr:last-child td {
    font-weight: bold;
    background: #fff9e6; /* Подсветка последнего платежа */
}

/* Форма внизу попапа */
.result-form-wrap {
    background: #f9f9f9;
    padding: 20px 30px;
    border-top: 1px solid #eee;
}
.result-form-wrap h3 {
    font-size: 16px; margin-bottom: 15px; text-align: center;
}
/* АДАПТИВ */
@media (max-width: 900px) {
    .steps-grid, .calc-grid { grid-template-columns: repeat(2, 1fr); }
    .leasing-intro { flex-direction: column; }
}
@media (max-width: 600px) {
    .steps-grid, .calc-grid { grid-template-columns: 1fr; }
}
/* --- ФИКСЫ ДЛЯ ЛИЗИНГА --- */

/* 1. Инпуты калькулятора как на макете (Серые, без границ) */
.calc-input-group input {
    background-color: #f2f2f2;
    border: 1px solid transparent; /* Прозрачная рамка */
    padding: 15px;
    font-weight: bold;
    color: #333;
    transition: 0.3s;
}
.calc-input-group input:focus {
    background-color: #e6e6e6;
    border-color: #ddd;
    outline: none;
}

/* 2. Крестик закрытия (в кружочке) */
.modal-close-icon {
    top: 15px;
    right: 20px;
    width: 30px;
    height: 30px;
    background: #f0f0f0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: #333;
    transition: 0.3s;
}
.modal-close-icon:hover {
    background: var(--gold);
    color: #fff;
    transform: rotate(90deg);
}

/* 3. Улучшим вид таблицы (скроллбар) */
.table-scroll-wrap::-webkit-scrollbar {
    width: 6px;
}
.table-scroll-wrap::-webkit-scrollbar-thumb {
    background-color: #ccc;
    border-radius: 3px;
}
/* --- ЭТАПЫ (КРУЖКИ СЛЕВА НА ГРАНИЦЕ) --- */

.steps-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
    margin-top: 50px;
    margin-bottom: 30px;
}

.step-card {
    background: #fcfcfc;
    border: 1px solid #eee;
    border-radius: 8px;

    /* Разрешаем выход за границы */
    overflow: visible;
    position: relative;

    padding: 45px 20px 25px;
    text-align: left; /* Текст тоже ровняем по левому краю */
    height: 100%;
    box-shadow: 0 5px 15px rgba(0,0,0,0.03);
}

.step-num {
    width: 44px;
    height: 44px;
    background: var(--gold);
    color: #fff;
    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 16px;

    /* ПОЗИЦИОНИРОВАНИЕ СЛЕВА */
    position: absolute;
    top: -22px; /* Торчит вверх на половину */
    left: 20px; /* Отступ от левого края (можешь менять это число) */
    transform: none; /* Убираем центровку */

    border: 4px solid #fff;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    z-index: 2;
}

.step-text {
    font-size: 13px;
    font-weight: bold;
    line-height: 1.4;
    color: #333;
}
/* --- СТРАНИЦА АКЦИИ (PROMO PAGE) --- */

.promo-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 в ряд */
    gap: 30px;
    margin-bottom: 60px;
}

.promo-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #eee;
    transition: 0.3s;
    display: flex;
    flex-direction: column;
}
.promo-card:hover {
    box-shadow: 0 10px 25px rgba(0,0,0,0.08);
    transform: translateY(-5px);
}

/* Верхняя часть (Картинка) */
.promo-image {
    height: 220px;
    background-size: cover;
    background-position: center;
    position: relative;
    padding: 25px;
    display: flex;
    align-items: center;
}
.promo-overlay {
    position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(90deg, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.3) 100%);
    z-index: 1;
}

.promo-badge-content {
    position: relative;
    z-index: 2;
    color: #fff;
    width: 100%;
}
.promo-badge-content h3 {
    font-size: 20px;
    line-height: 1.3;
    margin-bottom: 10px;
    font-weight: bold;
    text-shadow: 0 2px 4px rgba(0,0,0,0.5);
}

.promo-price {
    display: inline-block;
    border-left: 3px solid var(--gold);
    padding-left: 10px;
}
.promo-price span {
    display: block;
    font-size: 12px;
    opacity: 0.9;
    margin-bottom: 2px;
}
.promo-price strong {
    font-size: 24px;
    font-weight: 900;
    color: #fff;
}

/* Нижняя часть (Текст) */
.promo-body {
    padding: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.promo-body p {
    font-size: 14px;
    font-weight: bold;
    color: #333;
    margin-bottom: 15px;
    line-height: 1.4;
}

.promo-link {
    font-size: 12px;
    color: var(--gold);
    font-weight: bold;
    display: flex;
    align-items: center;
    gap: 5px;
    text-transform: uppercase;
    margin-top: auto; /* Прижимаем к низу */
}
.promo-link i { font-size: 10px; transition: 0.2s; }
.promo-link:hover i { transform: translateX(3px); }


/* АДАПТИВ АКЦИЙ */
@media (max-width: 1024px) {
    .promo-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .promo-grid { grid-template-columns: 1fr; }
    .promo-image { height: 180px; }
}
/* --- ВНУТРЕННЯЯ СТРАНИЦА АКЦИИ --- */

/* 1. Большой баннер */
.promo-hero-banner {
    position: relative;
    height: 400px;
    background-size: cover;
    background-position: center;
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    align-items: center;
    padding: 60px;
    margin-bottom: 30px;
}
.promo-hero-overlay {
    position: absolute; top:0; left:0; right:0; bottom:0;
    background: linear-gradient(90deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 60%);
    z-index: 1;
}
.promo-hero-content {
    position: relative;
    z-index: 2;
    color: #fff;
    max-width: 600px;
}
.promo-hero-content h2 {
    font-size: 42px;
    font-weight: 900;
    margin-bottom: 20px;
    line-height: 1.1;
    text-shadow: 0 4px 10px rgba(0,0,0,0.3);
}
.promo-hero-price {
    font-size: 24px;
    font-weight: 300;
    line-height: 1.2;
}
.promo-hero-price span {
    font-size: 48px;
    font-weight: 900;
    color: #fff;
    display: block;
    margin-top: 5px;
}

/* 2. Блок описания (Текст + Кнопка) */
.promo-desc-block {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 50px;
    border-bottom: 1px solid #eee;
    padding-bottom: 40px;
}
.promo-text { flex: 1; }
.promo-text p {
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 20px;
    color: #333;
}
.promo-list {
    list-style: none;
    padding: 0;
}
.promo-list li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 10px;
    font-weight: bold;
    color: #000;
    font-size: 14px;
}
.promo-list li::before {
    content: "•";
    color: var(--gold);
    font-size: 20px;
    position: absolute;
    left: 0; top: -3px;
}

.promo-action {
    width: 300px; /* Фикс ширина для кнопки */
    flex-shrink: 0;
}

/* 3. Сетка на 5 колонок (уникальная для этой страницы) */
.product-grid.five-cols {
    grid-template-columns: repeat(5, 1fr);
}

/* АДАПТИВ */
@media (max-width: 1200px) {
    .product-grid.five-cols { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
    .promo-desc-block { flex-direction: column; gap: 30px; }
    .promo-action { width: 100%; }
    .promo-hero-content h2 { font-size: 32px; }
    .promo-hero-price span { font-size: 36px; }
}
@media (max-width: 600px) {
    .product-grid.five-cols { grid-template-columns: repeat(1, 1fr); }
    .promo-hero-banner { height: 300px; padding: 30px; }
}
/* --- СТРАНИЦА КАРТОЧКА КОМПАНИИ --- */

.company-details-list {
    margin-top: 30px;
    margin-bottom: 60px;
    border-top: 1px solid #eee; /* Верхняя граница */
}

.detail-row {
    display: flex;
    justify-content: space-between;
    align-items: center; /* Центруем по вертикали */
    padding: 25px 20px;
    font-size: 14px;
    border-bottom: 1px solid #eee;
}

/* Эффект "Зебры" (чередование фона) */
.detail-row:nth-child(odd) {
    background-color: #f9f9f9; /* Светло-серый фон для нечетных */
}
.detail-row:nth-child(even) {
    background-color: #fff;
}

.detail-label {
    font-weight: 700; /* Жирный шрифт для названий */
    color: #000;
    width: 40%; /* Фиксированная ширина левой колонки */
    flex-shrink: 0;
}

.detail-value {
    font-weight: 700; /* Жирный шрифт для значений тоже */
    color: #000;
    text-align: right;
    width: 60%;
}


/* АДАПТИВ РЕКВИЗИТОВ */
@media (max-width: 768px) {
    .detail-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 20px;
    }
    .detail-label {
        width: 100%;
        color: #666; /* На телефоне лейбл делаем чуть бледнее */
        font-size: 13px;
    }
    .detail-value {
        width: 100%;
        text-align: left; /* На телефоне выравниваем влево */
        font-size: 15px;
    }
}
/* --- СТРАНИЦА КАК СТАТЬ ДИЛЕРОМ --- */

.dealer-steps-list {
    margin-top: 30px;
    margin-bottom: 60px;
}

.dealer-item {
    display: flex;
    align-items: center; /* Выравнивание по центру по вертикали */
    gap: 30px;
    margin-bottom: 30px;
    background: #fff;
    /* Можно добавить легкую рамку или оставить чистым как на макете */
}

.dealer-icon {
    width: 80px;
    height: 80px;
    border: 2px solid var(--gold); /* Золотая обводка */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0; /* Чтобы круг не сжимался */
    font-size: 32px;
    color: var(--gold);
    transition: 0.3s;
}

.dealer-item:hover .dealer-icon {
    background: var(--gold);
    color: #fff;
}

.dealer-text {
    font-size: 15px;
    line-height: 1.6;
    color: #333;
    font-weight: 500;
}

.gold-link {
    color: var(--gold);
    font-weight: bold;
    text-decoration: none;
}
.gold-link:hover {
    text-decoration: underline;
}

/* АДАПТИВ ДИЛЕРОВ */
@media (max-width: 768px) {
    .dealer-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
        border-bottom: 1px solid #eee;
        padding-bottom: 20px;
    }
    .dealer-icon {
        width: 60px; height: 60px; font-size: 24px;
    }
}
/* --- СТРАНИЦА СЕРТИФИКАТЫ --- */

.certificates-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr); /* 5 в ряд как на макете */
    gap: 30px;
    margin-bottom: 60px;
}

.cert-item {
    position: relative;
    border: 1px solid #eee;
    padding: 10px;
    background: #fff;
    cursor: pointer;
    transition: 0.3s;
    overflow: hidden;
}

.cert-item:hover {
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    transform: translateY(-5px);
    border-color: var(--gold);
}

.cert-img {
    width: 100%;
    height: auto;
    display: block;
}

/* Эффект наведения (Лупа) */
.cert-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(220, 179, 96, 0.8); /* Золотой полупрозрачный */
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: 0.3s;
}
.cert-overlay i {
    color: #fff;
    font-size: 30px;
    transform: scale(0.5);
    transition: 0.3s;
}

.cert-item:hover .cert-overlay { opacity: 1; }
.cert-item:hover .cert-overlay i { transform: scale(1); }


/* --- LIGHTBOX (ПРОСМОТР ФОТО) --- */
.modal-overlay.lightbox {
    background: rgba(0, 0, 0, 0.9); /* Более темный фон для фото */
    z-index: 3000;
}

.lightbox-content {
    max-width: 90%;
    max-height: 90vh;
    border: 5px solid #fff;
    border-radius: 4px;
    box-shadow: 0 0 20px rgba(0,0,0,0.5);
    animation: zoomIn 0.3s;
}

.lightbox-close {
    position: absolute;
    top: 20px;
    right: 30px;
    color: #fff;
    font-size: 40px;
    font-weight: bold;
    cursor: pointer;
    transition: 0.3s;
    z-index: 3001;
}
.lightbox-close:hover { color: var(--gold); }

@keyframes zoomIn {
    from { transform: scale(0.8); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}

/* АДАПТИВ СЕРТИФИКАТОВ */
@media (max-width: 1024px) {
    .certificates-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 600px) {
    .certificates-grid { grid-template-columns: repeat(2, 1fr); }
}
/* --- СТРАНИЦА ОТЗЫВЫ --- */

.reviews-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr); /* 5 в ряд как на макете */
    gap: 30px;
    margin-bottom: 60px;
}

.review-item {
    position: relative;
    border: 1px solid #eee;
    padding: 10px;
    background: #fff;
    cursor: pointer;
    transition: 0.3s;
    overflow: hidden;
}

.review-item:hover {
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    transform: translateY(-5px);
    border-color: var(--gold);
}

.review-img {
    width: 100%;
    height: auto;
    display: block;
}

/* Эффект наведения (Лупа) */
.review-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(220, 179, 96, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: 0.3s;
}
.review-overlay i {
    color: #fff;
    font-size: 30px;
    transform: scale(0.5);
    transition: 0.3s;
}

.review-item:hover .review-overlay { opacity: 1; }
.review-item:hover .review-overlay i { transform: scale(1); }

/* АДАПТИВ ОТЗЫВОВ */
@media (max-width: 1024px) {
    .reviews-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 600px) {
    .reviews-grid { grid-template-columns: repeat(2, 1fr); }
}
/* --- СТРАНИЦА ВАКАНСИИ (CAREERS PAGE) --- */

/* 1. Блоки "Текст + Картинка" */
.career-block {
    display: flex;
    align-items: center;
    gap: 50px;
    margin-bottom: 50px;
}
.career-block.row-reverse {
    flex-direction: row-reverse; /* Картинка слева */
}

.career-text { flex: 1; }
.career-text h3 {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 20px;
    color: #000;
}
.career-text p {
    margin-bottom: 15px;
    line-height: 1.6;
    color: #444;
}

.check-list {
    list-style: none;
    padding-left: 0;
    margin-top: 15px;
}
.check-list li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 10px;
    font-size: 14px;
}
.check-list li::before {
    content: "•"; /* Или галочка */
    color: var(--gold);
    font-weight: bold;
    font-size: 20px;
    position: absolute; left: 0; top: -4px;
}

.career-img {
    flex: 1;
}
.career-img img {
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

/* 2. Аккордеон Вакансий */
.vacancy-list-section {
    background: #f9f9f9;
    padding: 40px;
    border-radius: 12px;
}

.vacancy-item {
    background: #fff;
    border-radius: 8px;
    margin-bottom: 15px;
    border: 1px solid #eee;
    overflow: hidden;
}
.vacancy-header {
    padding: 20px 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-weight: 700;
    font-size: 16px;
    transition: 0.3s;
}
.vacancy-header:hover {
    background: #fffdf5; /* Легкий золотой оттенок */
    color: var(--gold);
}
.vacancy-header i {
    font-size: 14px;
    transition: transform 0.3s;
}

/* Активное состояние */
.vacancy-item.active .vacancy-header {
    border-bottom: 1px solid #eee;
    background: #fff;
    color: var(--gold);
}
.vacancy-item.active .vacancy-header i {
    transform: rotate(180deg);
}

.vacancy-body {
    display: none; /* Скрыто */
    padding: 30px;
    background: #fff;
    font-size: 14px;
    line-height: 1.6;
    color: #333;
}
.vacancy-item.active .vacancy-body {
    display: block; /* Показываем */
    animation: fadeUp 0.3s;
}

/* Контент внутри вакансии */
.vacancy-content h4 {
    font-size: 14px;
    font-weight: 900;
    text-transform: uppercase;
    margin: 25px 0 10px;
    color: #000;
}
.vacancy-content ul {
    list-style: disc;
    padding-left: 20px;
    margin-bottom: 20px;
}
.vacancy-content li { margin-bottom: 5px; }

.vacancy-btn {
    padding: 12px 30px;
    margin-top: 20px;
    font-size: 14px;
}

/* АДАПТИВ */
@media (max-width: 900px) {
    .career-block, .career-block.row-reverse { flex-direction: column; }
    .career-img { width: 100%; }
    .vacancy-list-section { padding: 20px; }
}
/* --- СТРАНИЦА ФИНАНСОВЫЕ ПАРТНЕРЫ --- */

.fin-partners-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 в ряд, как на макете */
    gap: 30px;
    margin-bottom: 60px;
}

.fin-partner-card {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    height: 180px; /* Фиксированная высота карточки */
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
    transition: 0.3s;
}

.fin-partner-card:hover {
    box-shadow: 0 10px 25px rgba(0,0,0,0.08);
    border-color: var(--gold);
    transform: translateY(-5px);
}

.fin-partner-card img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    /* Можно добавить ч/б фильтр по умолчанию, если хочешь строгий стиль */
    /* filter: grayscale(100%); */
    /* opacity: 0.8; */
    transition: 0.3s;
}

.fin-partner-card:hover img {
    filter: grayscale(0%);
    opacity: 1;
}

/* АДАПТИВ ПАРТНЕРОВ */
@media (max-width: 900px) {
    .fin-partners-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .fin-partners-grid {
        grid-template-columns: 1fr;
    }
    .fin-partner-card {
        height: 140px;
    }
}
/* --- СТРАНИЦА СПЕЦИАЛЬНЫЕ ПРЕДЛОЖЕНИЯ --- */

.offers-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 2 в ряд, как на макете */
    gap: 30px;
    margin-bottom: 60px;
}

.offer-card {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 12px;
    overflow: hidden;
    transition: 0.3s;
    display: flex;
    flex-direction: column;
}

.offer-card:hover {
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    transform: translateY(-5px);
}

.offer-img-wrap {
    width: 100%;
    height: 250px; /* Высота баннера */
    background: #f0f0f0;
}
.offer-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Заполняем область */
}

.offer-content {
    padding: 30px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.offer-content h3 {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 15px;
    line-height: 1.4;
    color: #000;
}

.offer-content p {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
    margin-bottom: 25px;
    flex-grow: 1; /* Растягиваем, чтобы ссылки были на одном уровне */
}

.offer-link {
    font-size: 12px;
    font-weight: bold;
    color: var(--gold);
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 5px;
}
.offer-link i { font-size: 10px; transition: 0.2s; }
.offer-link:hover i { transform: translateX(3px); }


/* АДАПТИВ ПРЕДЛОЖЕНИЙ */
@media (max-width: 900px) {
    .offers-grid {
        grid-template-columns: 1fr; /* На планшете и мобайле — одна колонка */
    }
    .offer-img-wrap {
        height: 200px;
    }
}
/* --- СТРАНИЦА РАССРОЧКА (INSTALLMENTS) --- */

.text-block p {
    margin-bottom: 15px;
    line-height: 1.6;
    color: #333;
}

/* Сетка преимуществ */
.benefits-section h3, .tradein-info h3, .inline-form-section h3 {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 25px;
    color: #000;
}

.benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 в ряд */
    gap: 20px;
    background: #fcfcfc; /* Очень светлый фон блока */
    padding: 30px;
    border-radius: 8px;
    border: 1px solid #eee;
}

.benefit-card {
    display: flex;
    align-items: center;
    gap: 15px;
}

.benefit-icon {
    font-size: 32px;
    color: var(--gold); /* Золотые иконки */
    flex-shrink: 0;
}

.benefit-text {
    font-size: 13px;
    font-weight: bold;
    line-height: 1.4;
    color: #333;
}

/* Ссылка Trade-In */
.gold-link.underline {
    border-bottom: 1px solid var(--gold);
    text-decoration: none;
}

/* Форма на сером фоне (модификатор) */
.big-contact-form.gray-bg {
    background: #f9f9f9;
    padding: 40px;
    border-radius: 12px;
}
/* В макете поля белые на сером фоне? Или серые на белом?
   Судя по картинке 336, фон формы белый/светлый, а инпуты серые.
   Мы уже сделали инпуты серыми в глобальных стилях, так что все ок.
   Добавим только паддинг форме. */

.mb-40 { margin-bottom: 40px; }
.mb-60 { margin-bottom: 60px; }

/* АДАПТИВ РАССРОЧКИ */
@media (max-width: 1024px) {
    .benefits-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .benefits-grid { grid-template-columns: 1fr; gap: 40px;}
    .big-contact-form.gray-bg { padding: 20px; }
}
/* --- СТРАНИЦА TRADE-IN --- */

/* 1. Как это работает */
.how-it-works-section {
    background: #fdfdfd;
    border: 1px solid #f0f0f0;
    border-radius: 12px;
    padding: 30px;
}
.how-steps-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
}
.how-step {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 15px;
}
.step-icon {
    font-size: 32px;
    color: var(--gold);
    flex-shrink: 0;
}
.how-step p {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    color: #333;
}

/* 2. Сетка техники Trade-In */
.brands-simple-row {
    display: flex;
    gap: 40px;
    filter: grayscale(100%);
    opacity: 0.8;
}

.tradein-tech-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr); /* 6 в ряд */
    gap: 15px;
}
.ti-card {
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 15px 5px;
    text-align: center;
    transition: 0.3s;
}
.ti-card:hover {
    border-color: var(--gold);
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}
.ti-card img {
    height: 80px;
    object-fit: contain;
    margin: 0 auto 10px;
}
.ti-card span {
    font-size: 12px;
    font-weight: bold;
    line-height: 1.2;
    display: block;
}

/* 3. Баннер */
.promo-hero-banner.compact {
    height: 300px; /* Чуть меньше чем на странице Акции */
}
.promo-hero-content.dark-text {
    color: #333;
    text-shadow: none;
}

/* 4. Таблица Trade-In */
.tradein-table th {
    background: #f5f5f5; /* Светло-серая шапка, а не золотая (как на макете) */
    color: #000;
    font-weight: bold;
    border-bottom: 2px solid #ddd;
}
.tradein-table td {
    border-bottom: 1px solid #eee;
}


/* АДАПТИВ TRADE-IN */
@media (max-width: 1024px) {
    .how-steps-row { flex-wrap: wrap; padding: 0 10px;}
    .how-step { flex: 1 1 45%; margin-bottom: 15px; }
    .tradein-tech-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 600px) {
    .how-step { flex: 1 1 100%; }
    .tradein-tech-grid { grid-template-columns: repeat(2, 1fr); }
    .brands-simple-row { flex-wrap: wrap; justify-content: center; }
    .delivery-item{ margin-bottom: 10px !important; }
    .buyback-steps-section{
        margin-bottom: 20px !important;
    }
    .inline-form-section{margin-top: 10px !important;}
}
/* --- СТРАНИЦА ВЫКУП Б/У ТЕХНИКИ --- */

/* Модификатор для шагов (3 в ряд вместо 5) */
.steps-grid.cols-3 {
    grid-template-columns: repeat(3, 1fr);
}

/* Модификатор для техники (5 в ряд вместо 6) */
.tradein-tech-grid.cols-5 {
    grid-template-columns: repeat(5, 1fr);
}

/* Текст с контактами */
.contact-highlight {
    font-size: 14px;
    color: #333;
    margin-bottom: 40px;
}
.contact-highlight strong {
    font-weight: 800;
    color: #000;
}

/* АДАПТИВ ВЫКУПА */
@media (max-width: 900px) {
    .steps-grid.cols-3 { grid-template-columns: 1fr; gap: 30px; } /* На мобайле в стек */
    .tradein-tech-grid.cols-5 { grid-template-columns: repeat(2, 1fr); }
}
/* --- СТРАНИЦА ДОСТАВКА --- */

/* 1. Интро блок */
.delivery-intro {
    display: flex;
    gap: 30px;
    align-items: flex-start;
}
.del-icon-big {
    font-size: 50px;
    color: var(--gold);
    flex-shrink: 0;
    width: 80px;
    text-align: center;
}
.del-text p {
    margin-bottom: 15px;
    color: #333;
    line-height: 1.6;
}

/* 2. Блоки доставки */
.delivery-item {
    margin-bottom: 50px;
}
.delivery-item h3 {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 20px;
    color: #000;
}

.del-flex {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

/* Визуальная часть (иконка) */
.del-visual {
    width: 120px; /* Фикс ширина для колонки иконки */
    flex-shrink: 0;
    text-align: center;
    position: relative;
}
.del-visual i {
    font-size: 40px;
    color: var(--gold); /* Золотой цвет иконки */

    /* Добавим фон или рамку как на макете, если нужно,
       но просто крупные золотые иконки смотрятся чище */
}
.icons-group {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.visual-note {
    display: block;
    margin-top: 10px;
    font-size: 12px;
    font-weight: bold;
    color: #999;
}

/* Текстовая часть */
.del-desc {
    flex: 1;
}
.del-desc p {
    margin-bottom: 15px;
    color: #444;
    line-height: 1.6;
    text-align: justify;
}

/* АДАПТИВ ДОСТАВКИ */
@media (max-width: 768px) {
    .delivery-intro, .del-flex {
        flex-direction: column;
        gap: 15px;
    }
    .del-icon-big, .del-visual {
        width: 100%;
        text-align: left;
        margin-bottom: 10px;
    }
    .del-visual i { font-size: 32px; }
}
/* --- СТРАНИЦА СЕРВИС (SERVICE PAGE) --- */

.service-repair-list {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-bottom: 60px;
}

.repair-item {
    display: flex;
    align-items: center; /* Центрируем по вертикали, как на макете */
    gap: 40px;
    background: #fdfdfd; /* Легкий фон */
    padding: 20px;
    border-radius: 12px;
    /* border: 1px solid #eee; Можно добавить рамку по вкусу */
}

/* Делаем чередование (Z-pattern) при желании,
   но на макете Group 340 все картинки СЛЕВА. Оставим как на макете. */

.repair-img {
    flex: 0 0 350px; /* Фиксированная ширина картинки */
    height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    /* background: #fff;  Если у картинки нет фона */
    border-radius: 8px;
    overflow: hidden;
}
.repair-img img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain; /* Чтобы техника целиком влезала */
}

.repair-content {
    flex: 1;
}
.repair-content h3 {
    font-size: 20px;
    font-weight: 800;
    margin-bottom: 15px;
    color: #000;
}
.repair-content p {
    font-size: 14px;
    line-height: 1.6;
    color: #444;
    text-align: justify;
}

/* АДАПТИВ СЕРВИСА */
@media (max-width: 900px) {
    .repair-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }
    .repair-img {
        width: 100%;
        height: auto;
        flex: none;
    }
    .repair-img img {
        height: 200px;
    }
}
/* --- СТРАНИЦА СЕРВИС СКЛАДСКОЙ ТЕХНИКИ --- */

.service-text-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 60px;
}

.text-service-card {
    background: #fdfdfd; /* Очень светлый серый, почти белый */
    border: 1px solid #eee; /* Легкая рамка */
    border-radius: 8px; /* Скругление как на макете */
    padding: 30px;
    transition: 0.3s;
}

.text-service-card:hover {
    box-shadow: 0 5px 15px rgba(0,0,0,0.05); /* Легкая тень при наведении */
    border-color: #ddd;
}

.text-service-card h3 {
    font-size: 18px;
    font-weight: 800;
    margin-bottom: 15px;
    color: #000;
}

.text-service-card p {
    font-size: 14px;
    line-height: 1.6;
    color: #444;
    margin: 0;
}
/* --- ДЕТАЛЬНАЯ СТРАНИЦА УСЛУГИ --- */

.service-detail-content p {
    margin-bottom: 20px;
    font-size: 15px;
    line-height: 1.6;
    color: #333;
    text-align: justify;
}

.service-detail-content strong {
    font-weight: 700;
    color: #000;
}

/* Маркированный список */
.detail-list {
    list-style: disc; /* Стандартные точки */
    padding-left: 20px; /* Отступ слева */
    margin-bottom: 25px;
    margin-top: 10px;
}

.detail-list li {
    margin-bottom: 5px;
    font-size: 15px;
    color: #333;
    padding-left: 5px;
}

.detail-list { list-style: none; }
.detail-list li { position: relative; padding-left: 20px; }
.detail-list li::before {
    content: "•"; color: var(--gold); font-weight: bold; font-size: 20px;
    position: absolute; left: 0; top: -3px;
}
/* --- СТРАНИЦА ВОССТАНОВЛЕНИЕ ОТВЕРСТИЙ (ФИНАЛ) --- */

.restoration-steps-section h3 {
    font-size: 20px;
    font-weight: 800;
    margin-bottom: 40px;
    color: #000;
}

.restoration-list {
    display: flex;
    flex-direction: column;
    gap: 60px; /* Увеличили отступ, чтобы кружки влезали */
    margin-top: 40px; /* Отступ сверху для первого кружка */
}

.rest-item {
    position: relative; /* Якорь для круга */
    overflow: visible;  /* Разрешаем кругу торчать наружу */

    background: #fdfdfd;
    border: 1px solid #eee;
    border-radius: 12px;
    padding: 30px 40px 20px;

    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    transition: 0.3s;
}

.rest-item:hover {
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    border-color: #ddd;
}

.rest-content {
    flex: 1;
    position: static; /* Чтобы круг позиционировался от rest-item */
}

.rest-num {
    position: absolute;
    top: -25px; /* Поднимаем наверх на половину высоты (50/2) */
    left: 40px; /* Выравниваем по левому краю контента */

    width: 50px; /* Чуть крупнее */
    height: 50px;
    background: var(--gold);
    color: #fff;
    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 20px;

    border: 5px solid #fff; /* Жирная белая обводка для красоты */
    box-shadow: 0 5px 10px rgba(0,0,0,0.1);
    z-index: 2;

    margin: 0; /* Убираем старые отступы */
}

.rest-content h4 {
    font-size: 18px;
    font-weight: 800;
    margin-bottom: 15px;
    color: #000;
    margin-top: 10px; /* Чуть отодвинем заголовок от круга визуально */
}

.rest-content p {
    font-size: 14px;
    line-height: 1.6;
    color: #444;
    text-align: justify;
}

.rest-img {
    flex: 0 0 350px;
    height: 220px;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #f0f0f0;
}
.rest-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* АДАПТИВ */
@media (max-width: 900px) {
    .rest-item {
        flex-direction: column-reverse;
        align-items: flex-start;
        padding: 40px 20px 20px;
        gap: 20px;
    }
    .rest-num {
        left: 20px; /* На мобилке сдвигаем левее */
    }
    .rest-img {
        width: 100%;
        height: 200px;
        flex: none;
    }
    .rest-content p { text-align: left; }
}
/* --- БЛОК КАТЕГОРИЙ (АСИММЕТРИЧНЫЙ) --- */

.categories-wrapper {
    display: grid;
    /* Магия ширины: Левый блок (1.5 части) шире правого (1 часть) */
    grid-template-columns: 1.5fr 1fr;
    gap: 20px; /* Отступ между блоками */
    height: 380px; /* Уменьшили высоту, чтобы было аккуратно */
}

.cat-card {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    display: block;
    text-decoration: none;
    cursor: pointer;
    background-color: #f0f0f0; /* Цвет подложки пока грузится фото */
}

/* Картинка на фоне */
.cat-bg-img {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: transform 0.6s ease;
    z-index: 1;
}

/* Плашка внизу (Idle state) */
.cat-idle-label {
    position: absolute;
    bottom: 25px;
    left: 25px;
    background: rgba(0,0,0, 0.7);
    color: white;
    font-size: 16px; /* Чуть меньше шрифт */
    font-weight: normal;
    padding: 10px 25px;
    border-radius: 50px;
    z-index: 2;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

/* Оверлей при наведении */
.cat-hover-overlay {
    position: absolute;
    inset: 0;
    z-index: 3;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 40px; /* Паддинг внутри ховера */
}

/* Темы оверлея */
.cat-hover-overlay.dark-theme {
    background: rgba(28, 28, 28, 0.95);
    color: #fff;
}
.cat-hover-overlay.gold-theme {
    background: rgba(220, 179, 96, 0.95);
    color: #fff;
}

/* Контент внутри ховера */
.cat-hover-content h3 {
    font-size: 22px;
    font-weight: 900;
    margin-bottom: 15px;
    transform: translateY(20px);
    transition: transform 0.4s ease;
}

.gold-divider { width: 50px; height: 3px; background: var(--gold); margin-bottom: 20px; }
.white-divider { width: 50px; height: 3px; background: #fff; margin-bottom: 20px; }

.sub-cat-links {
    list-style: none;
    padding: 0;
    transform: translateY(20px);
    transition: transform 0.4s ease 0.1s;
}

.sub-cat-links li {
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 500;
    opacity: 0.9;
}
.sub-cat-links li:hover { padding-left: 5px; opacity: 1; }

/* Эффекты при наведении */
.cat-card:hover .cat-bg-img { transform: scale(1.1); }
.cat-card:hover .cat-idle-label { opacity: 0; transform: translateY(20px); }
.cat-card:hover .cat-hover-overlay { opacity: 1; visibility: visible; }
.cat-card:hover .cat-hover-content h3,
.cat-card:hover .sub-cat-links { transform: translateY(0); }


/* АДАПТИВ */
@media (max-width: 900px) {
    .categories-wrapper {
        grid-template-columns: 1fr; /* Одна колонка на телефоне */
        height: auto;
    }
    .cat-card {
        height: 350px; /* Высота на телефоне */
    }
}
/* --- БЛОК СЕРВИСА (3 В РЯД) --- */

.services-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* Ровно 3 колонки */
    gap: 25px;
    height: 300px; /* Высота поменьше, чем у основных категорий */
    margin-bottom: 20px;
}

/* Дополнительные стили для ховер-ссылки */
.hover-link {
    font-size: 14px;
    font-weight: 700;
    color: var(--gold);
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* АДАПТИВ СЕРВИСА */
@media (max-width: 1024px) {
    .services-grid-3 {
        grid-template-columns: repeat(2, 1fr); /* 2 колонки на планшете */
        height: auto;
        gap: 20px;
    }
    /* Последний элемент растянем или оставим как есть */
    .service-card {
        height: 280px; /* Фикс высота карточки */
    }
}

@media (max-width: 600px) {
    .services-grid-3 {
        grid-template-columns: 1fr; /* 1 колонка на телефоне */
    }
}
/* --- МОДАЛЬНОЕ ОКНО (POPUP) --- */

/* 1. Затемнение фона (Overlay) */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8); /* Черный полупрозрачный */
    z-index: 9999; /* Поверх всего сайта */

    /* Скрыто по умолчанию */
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;

    /* Центровка окна */
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px; /* Отступы для мобилок */
}

/* Класс для открытия (добавляется через JS) */
.modal-overlay.open {
    opacity: 1;
    visibility: visible;
}

/* 2. Само окно (Белый блок) */
.modal-window {
    background: #fff;
    width: 100%;
    max-width: 900px; /* Широкая форма как на скрине */
    padding: 40px;
    border-radius: 12px;
    position: relative;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
    transform: translateY(-20px);
    transition: transform 0.3s ease;
}

.modal-overlay.open .modal-window {
    transform: translateY(0);
}

/* Крестик закрытия */
.modal-close {
    position: absolute;
    top: 15px;
    right: 20px;
    font-size: 28px;
    color: #999;
    cursor: pointer;
    line-height: 1;
    transition: 0.2s;
}
.modal-close:hover {
    color: var(--gold);
}

.modal-window h3 {
    font-size: 20px;
    font-weight: 800;
    margin-bottom: 30px;
    color: #000;
}

/* --- СТИЛИ ФОРМЫ (КАК НА СКРИНЕ) --- */

.modal-form label {
    display: block;
    font-size: 13px;
    font-weight: bold;
    margin-bottom: 8px;
    color: #000;
}

/* Поля ввода (Серый фон) */
.modal-form input,
.modal-form textarea {
    width: 100%;
    background-color: #f2f2f2; /* Цвет фона инпута */
    border: 1px solid transparent;
    padding: 15px;
    border-radius: 6px;
    font-size: 14px;
    color: #333;
    transition: 0.3s;
}

.modal-form input:focus,
.modal-form textarea:focus {
    background-color: #fff;
    border-color: #ddd;
    outline: none;
}

.modal-form textarea {
    height: 100px;
    resize: vertical;
}

/* Сетка полей */
.form-group {
    margin-bottom: 20px;
}

.form-row-3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
}

/* Подвал формы (Кнопка + Текст) */
.form-footer {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 10px;
}

.form-btn {
    padding: 15px 40px;
    font-weight: bold;
    font-size: 15px;
    cursor: pointer;
    border: none;
    border-radius: 6px;
}

/* Галочка и текст соглашения */
.privacy-check {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-size: 12px;
    color: #666;
    line-height: 1.3;
}
.privacy-check input { display: none; } /* Скрываем стандартный чекбокс */

.checkmark-box {
    width: 20px; height: 20px;
    background: var(--gold);
    border-radius: 4px;
    position: relative;
    flex-shrink: 0;
}
.checkmark-box::after {
    content: "✔";
    color: #fff;
    position: absolute;
    left: 5px; top: 1px;
    font-size: 12px;
}

/* АДАПТИВ МОДАЛКИ */
@media (max-width: 768px) {
    .form-row-3 { grid-template-columns: 1fr; gap: 10px; }
    .form-footer { flex-direction: column; align-items: stretch; }
    .modal-window { padding: 25px 20px; }
}
/* --- СТРАНИЦА УСЛУГИ (ОБЩАЯ) --- */

.intro-text {
    font-size: 16px;
    line-height: 1.6;
    color: #333;
}

/* Сетка услуг (3 колонки, много рядов) */
.services-catalog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 колонки */
    gap: 30px;
    margin-bottom: 60px;
}

/* Карточка услуги на этой странице */
.services-catalog-grid .service-card {
    height: 280px; /* Фиксированная высота */
}

/* Текстовый блок снизу */
.services-info-block h3 {
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 15px;
    margin-top: 40px;
    color: #000;
}
.services-info-block h3:first-child { margin-top: 0; }

.services-info-block p {
    font-size: 15px;
    line-height: 1.6;
    color: #444;
    margin-bottom: 15px;
    text-align: justify;
}

/* АДАПТИВ */
@media (max-width: 900px) {
    .services-catalog-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 колонки на планшете */
    }
}
@media (max-width: 600px) {
    .services-catalog-grid {
        grid-template-columns: 1fr; /* 1 колонка на мобиле */
    }
}
/* --- СТРАНИЦА СПИСОК НОВОСТЕЙ --- */

.news-list-container {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-bottom: 60px;
}

.news-row-item {
    display: flex;
    gap: 30px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 12px;
    overflow: hidden;
    padding: 20px; /* Внутренний отступ всей карточки */
    transition: 0.3s;
}

.news-row-item:hover {
    box-shadow: 0 10px 25px rgba(0,0,0,0.08);
    border-color: #e0e0e0;
    transform: translateY(-3px);
}

/* Картинка слева */
.news-row-img {
    flex: 0 0 320px; /* Фикс ширина картинки */
    height: 220px;
    border-radius: 8px;
    overflow: hidden;
}
.news-row-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s;
}
.news-row-item:hover .news-row-img img {
    transform: scale(1.05); /* Зум при наведении */
}

/* Контент справа */
.news-row-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.news-row-date {
    font-size: 13px;
    color: #999;
    font-weight: 600;
    margin-bottom: 10px;
}

.news-row-content h3 {
    margin-bottom: 15px;
    line-height: 1.4;
}
.news-row-content h3 a {
    font-size: 20px;
    font-weight: 800;
    color: #000;
    text-decoration: none;
    transition: 0.2s;
}
.news-row-content h3 a:hover {
    color: var(--gold);
}

.news-row-content p {
    font-size: 14px;
    line-height: 1.6;
    color: #555;
    margin-bottom: 20px;
    flex-grow: 1; /* Чтобы кнопка прижалась вниз */
}

.news-row-footer {
    display: flex;
    justify-content: flex-end; /* Кнопка справа, как на примере */
}

/* Контурная кнопка (Gold Outline) */
.btn-gold-outline {
    display: inline-block;
    border: 2px solid var(--gold);
    color: var(--gold);
    font-weight: bold;
    text-transform: uppercase;
    text-decoration: none;
    padding: 10px 25px;
    border-radius: 6px;
    transition: 0.3s;
    font-size: 13px;
}
.btn-gold-outline:hover {
    background: var(--gold);
    color: #fff;
}
.btn-gold-outline.small {
    padding: 8px 20px;
    font-size: 12px;
}

/* Пагинация (простая) */
.pagination {
    display: flex;
    justify-content: center;
    gap: 10px;
}
.pagination a {
    width: 40px; height: 40px;
    display: flex; align-items: center; justify-content: center;
    border: 1px solid #eee;
    border-radius: 6px;
    text-decoration: none;
    color: #333;
    font-weight: bold;
    transition: 0.3s;
}
.pagination a:hover, .pagination a.active {
    background: var(--gold);
    color: #fff;
    border-color: var(--gold);
}

/* АДАПТИВ БЛОГА */
@media (max-width: 900px) {
    .news-row-item {
        flex-direction: column;
        padding: 0; /* Убираем паддинг контейнера, чтобы картинка была на всю ширину сверху */
    }
    .news-row-img {
        width: 100%;
        height: 220px;
        border-radius: 12px 12px 0 0; /* Скругляем только верх */
    }
    .news-row-content {
        padding: 20px;
    }
}
/* --- СТРАНИЦА БРЕНДЫ --- */

.brands-page-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 в ряд */
    gap: 30px;
    margin-bottom: 60px;
}

.brand-card {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    height: 160px; /* Фикс высота */
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    transition: 0.3s;
    position: relative;
    overflow: hidden;
}

.brand-card img {
    max-width: 80%;
    max-height: 80%;
    object-fit: contain;
    filter: grayscale(100%); /* Ч/Б по умолчанию */
    opacity: 0.7;
    transition: 0.3s;
}

/* Эффект при наведении */
.brand-card:hover {
    border-color: var(--gold);
    box-shadow: 0 10px 25px rgba(0,0,0,0.08);
    transform: translateY(-5px);
}

.brand-card:hover img {
    filter: grayscale(0%); /* Цветной при наведении */
    opacity: 1;
    transform: scale(1.05);
}

/* АДАПТИВ БРЕНДОВ */
@media (max-width: 1024px) {
    .brands-page-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
    .brands-page-grid { grid-template-columns: repeat(2, 1fr); gap: 15px; }
    .brand-card { height: 120px; }
}
/* --- СТРАНИЦА СЕРВИС ХАБ (SERVICE HUB) --- */

.service-hub-top {
    display: grid;
    grid-template-columns: 1.6fr 1fr; /* Левая часть шире */
    gap: 40px;
}

/* Рамка заголовка */
.service-alert-border {
    border: 2px solid #8B0000; /* Темно-бордовый, как на скрине */
    padding: 15px 20px;
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 25px;
}
.service-alert-border i {
    font-size: 24px;
    color: #333;
}
.service-alert-border h3 {
    font-size: 15px;
    font-weight: 700;
    margin: 0;
    color: #000;
    text-transform: uppercase;
}

.service-hub-content p {
    margin-bottom: 15px;
    line-height: 1.6;
    color: #333;
    text-align: justify;
}

/* Фото 3 в ряд */
.service-hub-photos {
    display: flex;
    gap: 15px;
}
.service-hub-photos img {
    width: 100%;
    height: 140px;
    object-fit: cover;
    border-radius: 4px;
}

/* Форма справа (Серый бокс) */
.gray-form-box {
    background: #E8E8E8; /* Светло-серый */
    padding: 30px;
    border-radius: 4px;
}
.gray-form-box h3 {
    font-size: 18px;
    font-weight: 800;
    margin-bottom: 20px;
    color: #000;
}
.service-request-form input,
.service-request-form textarea {
    width: 100%;
    background: #fff;
    border: 1px solid #ccc;
    padding: 12px;
    margin-bottom: 15px;
    font-size: 14px;
    border-radius: 4px;
}
.service-request-form textarea { height: 100px; resize: vertical; }

.privacy-check.small-text .privacy-text {
    font-size: 11px;
    line-height: 1.2;
    color: #555;
}
.btn-gold.full-width {
    width: 100%;
    text-transform: uppercase;
    font-weight: 800;
}


/* --- НОВАЯ СЕТКА УСЛУГ (3 В РЯД) --- */
.service-grid-3-col {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* Ровно 3 колонки */
    gap: 30px;
}

/* Карточка услуги */
.service-col-card {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    overflow: hidden;
    text-decoration: none;
    transition: 0.3s;
    display: flex;
    flex-direction: column;
}
.service-col-card:hover {
    box-shadow: 0 10px 25px rgba(0,0,0,0.08);
    transform: translateY(-5px);
    border-color: var(--gold);
}

.svc-card-img {
    height: 200px;
    overflow: hidden;
}
.svc-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.5s;
}
.service-col-card:hover .svc-card-img img {
    transform: scale(1.05);
}

.svc-card-body {
    padding: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}
.svc-card-body h4 {
    font-size: 18px;
    font-weight: 800;
    color: #000;
    margin-bottom: 10px;
}
.svc-card-body p {
    font-size: 14px;
    color: #555;
    line-height: 1.5;
    margin-bottom: 20px;
    flex-grow: 1;
}
.svc-link {
    font-size: 12px;
    font-weight: 700;
    color: var(--gold);
    text-transform: uppercase;
    display: flex; align-items: center; gap: 5px;
}


/* АДАПТИВ */
@media (max-width: 900px) {
    .service-hub-top { grid-template-columns: 1fr; }
    .service-hub-photos { flex-wrap: wrap; }
    .service-hub-photos img { width: calc(50% - 8px); }
    .service-grid-3-col { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .service-grid-3-col { grid-template-columns: 1fr; }
    .service-hub-photos img { width: 100%; }
}
/* =========================================
   NAVBAR & MENU (ИСПРАВЛЕНИЕ)
   ========================================= */

/* 1. Основная полоса навигации */
.nav-bar {
    background: #f8f9fa;
    position: relative;
    z-index: 1000; /* Чтобы меню было поверх всего */
    border-top: 1px solid #eaeaea;
    border-bottom: 1px solid #eaeaea;
    width: 100%;
}

/* Контейнер внутри навигации */
.nav-bar .container {
    display: flex;
    justify-content: space-between; /* Если логотип внутри, иначе flex-start */
    align-items: center;
    width: 100%;
}

/* 2. Сброс списков (убираем точки и отступы) */
.nav-menu, .dropdown-menu, .submenu {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* 3. Первый уровень (Горизонтальный) */
.nav-menu {
    display: flex;
    gap: 30px; /* Расстояние между пунктами */
    width: 100%;
    justify-content: space-between;
    align-items: center;
}

.nav-item {
    position: relative; /* Важно для позиционирования выпадашки */
}

/* Ссылки первого уровня */
.nav-link {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 20px 0; /* Высота хедера задается отступами */
    text-decoration: none;
    color: #333;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 12px;
    cursor: pointer;
    transition: 0.3s;
}

.nav-link:hover {
    color: var(--gold);
}

.nav-link i {
    font-size: 10px;
    transition: transform 0.3s;
}

/* При наведении стрелочка крутится */
.nav-item:hover > .nav-link i {
    transform: rotate(180deg);
}


/* =========================================
   ВЫПАДАЮЩЕЕ МЕНЮ (Level 2)
   ========================================= */

.dropdown-menu {
    position: absolute;
    top: 100%; /* Сразу под родителем */
    left: 0;
    background: #fff;
    min-width: 260px; /* Ширина выпадашки */
    box-shadow: 0 10px 30px rgba(0,0,0,0.1); /* Тень */
    border-top: 3px solid var(--gold); /* Золотая линия сверху */
    border-radius: 0 0 8px 8px;

    /* Скрываем по умолчанию */
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px); /* Сдвиг вниз */
    transition: all 0.3s ease;
}

/* Ссылки внутри выпадашки */
.dropdown-menu li {
    position: relative; /* Для 3-го уровня */
    border-bottom: 1px solid #f5f5f5;
}
.dropdown-menu li:last-child { border-bottom: none; }

.dropdown-menu li a {
    display: flex; /* Чтобы стрелка была справа */
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px;
    text-decoration: none;
    color: #333;
    font-size: 14px;
    transition: 0.2s;
}

.dropdown-menu li a:hover {
    background: #f9f9f9;
    color: var(--gold);
    padding-left: 25px; /* Эффект сдвига */
}

/* ПОКАЗАТЬ МЕНЮ ПРИ НАВЕДЕНИИ */
.nav-item:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}


/* =========================================
   ТРЕТИЙ УРОВЕНЬ (Level 3 - Submenu)
   ========================================= */

.dropdown-menu .submenu {
    position: absolute;
    left: 100%; /* Справа от родителя */
    top: 0;
    background: #fff;
    min-width: 240px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
    border-left: 3px solid var(--gold); /* Золотая линия слева */
    border-radius: 0 8px 8px 8px;

    /* Скрываем */
    opacity: 0;
    visibility: hidden;
    transform: translateX(15px); /* Сдвиг вправо */
    transition: all 0.3s ease;
}

/* Показать 3-й уровень при наведении на пункт 2-го */
.dropdown-menu li:hover > .submenu {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}


/* =========================================
   МОБИЛЬНОЕ МЕНЮ (Гамбургер)
   ========================================= */
.mobile-menu-toggle {
    display: none; /* Скрыт на ПК */
    font-size: 24px;
    cursor: pointer;
    color: #333;
}

@media (max-width: 1024px) {
    .mobile-menu-toggle { display: block; } /* Показываем гамбургер */

    .nav-bar .container {
        justify-content: space-between; /* Разносим меню и кнопку */
    }

    /* Мобильное меню - выезжает сбоку или падает сверху */
    .nav-menu {
        position: fixed;
        top: 0; right: -100%; /* Спрятано справа */
        width: 80%;
        height: 100vh;
        background: #fff;
        flex-direction: column; /* Вертикальный список */
        padding: 80px 20px;
        gap: 0;
        box-shadow: -5px 0 20px rgba(0,0,0,0.2);
        transition: 0.4s;
        overflow-y: auto;
    }

    .nav-menu.active { right: 0; } /* Выезд */

    .nav-item { width: 100%; }

    .nav-link {
        padding: 15px 0;
        border-bottom: 1px solid #eee;
        justify-content: space-between; /* Стрелка справа */
    }

    /* Сброс стилей для выпадашек на мобилке (они становятся аккордеоном) */
    .dropdown-menu, .submenu {
        position: static; /* Не абсолютно */
        width: 100%;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        border: none;
        display: none; /* Скрыты через display */
        background: #f9f9f9;
        padding-left: 20px; /* Отступ вложенности */
    }

    /* Класс .open добавляется JS-ом при клике */
    .nav-item.open > .dropdown-menu { display: block; }
    .has-submenu.open > .submenu { display: block; }

    /* Убираем ховер эффекты на мобиле */
    .nav-item:hover .dropdown-menu { display: none; }
    .nav-item.open:hover .dropdown-menu { display: block; }
}
/* =========================================
   ВЫПАДАЮЩЕЕ МЕНЮ (Level 2)
   ========================================= */

.dropdown-menu {
    position: absolute;
    top: 100%; /* Появляется снизу от главного пункта */
    left: 0;
    background: #fff;
    min-width: 280px; /* Ширина меню */
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
    border-top: 3px solid var(--gold);
    border-radius: 0 0 8px 8px;
    padding: 10px 0;

    /* Скрыто по умолчанию */
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all 0.3s ease;
    z-index: 1100;
}

/* Ссылки второго уровня */
.dropdown-menu > li {
    position: relative; /* <--- САМОЕ ВАЖНОЕ: Это якорь для 3-го уровня! */
}

.dropdown-menu > li > a {
    display: flex;
    justify-content: space-between; /* Текст слева, стрелка справа */
    align-items: center;
    padding: 12px 25px;
    text-decoration: none;
    color: #333;
    font-size: 14px;
    font-weight: 500;
    transition: 0.2s;
    border-left: 3px solid transparent;
}

.dropdown-menu > li > a:hover {
    background: #f9f9f9;
    color: var(--gold);
    border-left-color: var(--gold);
    padding-left: 30px; /* Сдвиг вправо при наведении */
}

/* Показываем 2-й уровень при наведении на 1-й */
.nav-item:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}


/* =========================================
   ТРЕТИЙ УРОВЕНЬ (Level 3 - Submenu)
   ========================================= */

.dropdown-menu .submenu {
    position: absolute;
    left: 100%; /* Сдвигаем вправо на 100% ширины родителя */
    top: 0;     /* Выравниваем по верхнему краю РОДИТЕЛЬСКОГО li */
    margin-left: 0px; /* Притык в притык */

    background: #fff;
    min-width: 260px;
    box-shadow: 5px 5px 20px rgba(0,0,0,0.1);
    border-left: 1px solid #eee; /* Разделитель */
    border-radius: 0 8px 8px 8px;
    padding: 10px 0;

    /* Скрыто по умолчанию */
    display: none;
    opacity: 0;
    visibility: hidden;
    transform: translateX(10px);
    z-index: 1200;
}

/* Ссылки третьего уровня */
.submenu li a {
    padding: 10px 25px;
    display: block;
    color: #555;
    font-size: 13px;
    text-decoration: none;
    transition: 0.2s;
}
.submenu li a:hover {
    color: var(--gold);
    background: #fdfdfd;
    padding-left: 30px;
}

/* ЛОГИКА ПОЯВЛЕНИЯ 3-ГО УРОВНЯ */
/* Меню появляется ТОЛЬКО когда наводим на конкретный li, у которого есть класс .has-submenu */
.dropdown-menu > li:hover > .submenu {
    display: block; /* Важно для layout */
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

/* Стрелочка на 2-м уровне крутится при наведении */
.dropdown-menu > li:hover > a .sub-arrow {
    transform: rotate(90deg); /* Повернуть стрелочку вправо/вниз */
    color: var(--gold);
}


/* =========================================
   МОБИЛЬНОЕ МЕНЮ (Оставляем аккордеон)
   ========================================= */
@media (max-width: 1024px) {
    /* Сбрас абсолютного позиционирования для мобилок */
    .dropdown-menu, .submenu {
        position: static;
        width: 100%;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        border: none;
        display: none; /* Скрыто через display */
        padding-left: 20px; /* Отступ лесенкой */
    }

    .dropdown-menu { background: #f9f9f9; padding-left: 0; }
    .submenu { background: #f0f0f0; border-left: 3px solid var(--gold); }

    /* Показываем по классу .open (через JS) */
    .nav-item.open > .dropdown-menu { display: block; }
    .has-submenu.open > .submenu { display: block; }

    /* Отключаем ховеры на мобиле */
    .nav-item:hover .dropdown-menu { display: none; }
    .nav-item.open:hover .dropdown-menu { display: block; }

    .dropdown-menu > li:hover > .submenu { display: none; }
    .has-submenu.open:hover > .submenu { display: block; }
}
/* --- МОБИЛЬНЫЕ СТИЛИ (max-width: 992px) --- */
.mobile-controls, .mobile-menu-overlay { display: none; }

@media (max-width: 992px) {
    .desktop-only { display: none !important; }

    /* 1. ШАПКА САЙТА (Ремонт) */
    .header-flex {
        height: 60px;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        padding: 0 15px;
        flex-wrap: nowrap; /* ВАЖНО: Запрещаем перенос! */
    }

    .logo {
        font-size: 18px; /* Чуть меньше шрифт на мобиле */
        line-height: 1.2;
        flex-shrink: 0; /* Не сжимать логотип */
    }

    .mobile-controls {
        display: flex;
        align-items: center;
        gap: 20px;
        flex-shrink: 0; /* Не сжимать кнопки */
    }

    .mob-phone-icon {
        font-size: 20px;
        color: #333;
        text-decoration: none;
    }

    .burger-menu {
        font-size: 26px;
        cursor: pointer;
        color: #333;
        display: flex;
        align-items: center;
    }

    /* 2. ШТОРКА МЕНЮ */
    .mobile-menu-overlay {
        display: block;
        position: fixed;
        top: 0; left: 0; width: 100%; height: 100%;
        background: rgba(0,0,0,0.6);
        z-index: 9999;
        opacity: 0;
        pointer-events: none;
        transition: 0.3s;
    }

    .mobile-menu-overlay.active {
        opacity: 1;
        pointer-events: auto;
    }

    .mobile-menu-content {
        position: absolute;
        top: 0; right: -100%;
        width: 85%;
        max-width: 320px;
        height: 100%;
        background: #fff;
        transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        display: flex;
        flex-direction: column;
        box-shadow: -5px 0 20px rgba(0,0,0,0.2);
    }

    .mobile-menu-overlay.active .mobile-menu-content {
        right: 0;
    }

    /* 3. ШАПКА МЕНЮ (Только крестик справа) */
    .mob-menu-header {
        padding: 10px 15px;
        display: flex;
        align-items: center;
        justify-content: end;
        background: #fff;
        height: 50px;
        border-bottom: 1px solid #f0f0f0;
    }

    .close-menu {
        font-size: 24px;
        cursor: pointer;
        color: #333;
        padding: 5px;
        display: flex;
        align-items: center;
    }

    /* Поиск */
    .mob-search { padding: 10px 15px; display: flex; border-bottom: 1px solid #eee; }
    .mob-search input { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 4px 0 0 4px; outline: none; }
    .mob-search button { background: var(--gold); border: none; color: #fff; padding: 0 15px; border-radius: 0 4px 4px 0; }

    /* Список */
    .mob-nav-list { list-style: none; padding: 0; margin: 0; overflow-y: auto; flex-grow: 1; }
    .mob-item { border-bottom: 1px solid #f9f9f9; }

    .mob-link-wrap { display: flex; justify-content: space-between; align-items: center; width: 100%; }

    .mob-item a, .mob-sub-item a {
        text-decoration: none;
        color: #333;
        display: block;
        padding: 15px;
        font-size: 16px;
        font-weight: 500;
        flex-grow: 1;
    }

    .mob-arrow {
        width: 50px;
        height: 100%;
        min-height: 50px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-left: 1px solid #f5f5f5;
        cursor: pointer;
        color: var(--gold);
    }

    .mob-item.open > .mob-link-wrap .mob-arrow,
    .mob-sub-item.open > .mob-link-wrap .mob-arrow {
        transform: rotate(180deg);
        background: #f9f9f9;
    }

    /* Подменю */
    .mob-sub-menu { display: none; list-style: none; padding: 0; background: #fafafa; }
    .mob-item.open > .mob-sub-menu { display: block; }
    .mob-sub-item.open > .mob-sub-menu { display: block; }

    .mob-sub-menu li a { padding-left: 30px; font-size: 15px; }
    .mob-sub-menu.deep { background: #f0f0f0; }
    .mob-sub-menu.deep li a { padding-left: 45px; font-size: 14px; color: #555; }

    /* 4. КОНТАКТЫ (ЦВЕТНЫЕ) */
    .mob-contacts {
        padding: 25px;
        background: #222;
        text-align: center;
        margin-top: auto; /* Прижимаем к низу */
    }
    .mob-phone {
        color: #fff; font-size: 20px; font-weight: bold; text-decoration: none; display: block; margin-bottom: 20px;
    }
    .mob-socials {
        display: flex;
        justify-content: center;
        gap: 25px;
    }
    .mob-socials a {
        font-size: 32px;
        transition: 0.3s;
        text-decoration: none;
    }

    /* ЦВЕТА ИКОНОК */
    .mob-socials .fa-whatsapp { color: #25D366; }
    .mob-socials .fa-telegram { color: #2AABEE; }
    .mob-socials .fa-instagram {
        background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        color: #d6249f; /* Фоллбек */
    }
    /* 1. ШАПКА САЙТА (Ремонт позиционирования) */
    .header-flex {
        height: 60px;
        display: flex;
        align-items: center;
        justify-content: space-between; /* Лого Слева, Кнопки Справа */
        padding: 0 15px;
        flex-wrap: nowrap;
        width: 100%; /* Гарантируем ширину */
    }

    /* Логотип всегда первый */
    .logo {
        font-size: 18px;
        line-height: 1.2;
        flex-shrink: 0;
        order: 1; /* Принудительно первый */
        margin-right: auto; /* Толкает всё остальное вправо */
    }

    /* Кнопки всегда последние */
    .mobile-controls {
        display: flex;
        align-items: center;
        gap: 20px;
        flex-shrink: 0;
        order: 2; /* Принудительно второй */
    }
    section, main{
        padding: 20px 10px !important;
    }
    .news-section > .container > .flex-heading{
        flex-direction: column;
        align-items: start;
    }
    .steps-grid{
        display: flex !important;
        flex-direction: column;
        gap: 30px;
        margin-top: 30px;
    }
    .steps-grid > .step-card{
        min-height: 100px;

    }
}
/* --- МОБИЛЬНЫЙ ФИЛЬТР (Адаптив) --- */

@media (max-width: 992px) {
    /* Показываем кнопку открытия */
    .mobile-filter-btn {
        display: flex !important; /* Было none инлайн, перебиваем */
    }

    /* Превращаем сайдбар в шторку */
    .catalog-sidebar {
        position: fixed;
        top: 0;
        left: -100%; /* Спрятан */
        width: 100%;
        height: 100%;
        background: #fff;
        z-index: 10000;
        overflow-y: auto;
        padding: 20px;
        transition: 0.3s ease-in-out;
        box-shadow: none; /* Убираем тень, т.к. на весь экран */
        border-radius: 0;
        margin: 0;
    }

    .catalog-sidebar.active {
        left: 0; /* Выезжает */
    }

    /* Шапка фильтра (Крестик) */
    .filter-header-mobile {
        display: flex !important;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 25px;
        padding-bottom: 15px;
        border-bottom: 1px solid #eee;
        font-size: 20px;
        font-weight: bold;
    }

    #closeFilterBtn {
        font-size: 28px;
        cursor: pointer;
        padding: 5px;
        color: #333;
    }

    /* Сетка товаров на весь экран */
    .catalog-layout {
        display: block; /* Убираем grid */
    }
    .product-list-wrapper {
        width: 100%;
    }
}
/* Убедись, что контейнер имеет высоту, иначе карта схлопнется */
.map-area {
    position: relative;
    width: 100%;
    height: 500px; /* Высота блока карты */
    background: #eee;
    overflow: hidden;
    border-radius: 0 10px 10px 0; /* Скругление справа */
}

/* На мобильном надо убрать скругление и изменить высоту */
@media (max-width: 768px) {
    .map-area {
        height: 400px;
        border-radius: 0 0 10px 10px;
    }
}

/* Активный город в сайдбаре */
.map-sidebar .city {
    cursor: pointer;
    transition: 0.3s;
    /* Твои текущие стили... */
}

.map-sidebar .city:hover {
    background: #f0f0f0;
}

.map-sidebar .city.active {
    background: var(--gold);
    color: #000;
    font-weight: bold;
}
/* РОДИТЕЛЬ КАРТЫ (Должен быть relative) */
.map-area {
    position: relative; /* Обязательно! Чтобы блок позиционировался относительно карты */
    width: 100%;
    height: 500px;
    border-radius: 0 10px 10px 0;
    overflow: hidden;
}

/* ПЛАШКА С АДРЕСОМ (Летающая) */
.city-details-overlay {
    position: absolute; /* Абсолютное позиционирование */
    top: 30px;          /* Отступ сверху */
    left: 30px;         /* Отступ слева */
    background: #fff;   /* Белый фон */
    padding: 30px;      /* Внутренние отступы */
    border-radius: 8px; /* Скругление */
    box-shadow: 0 10px 30px rgba(0,0,0,0.15); /* Красивая тень */
    z-index: 2000;      /* ВАЖНО: Чтобы лежал ПОВЕРХ карты (у карты z-index около 100-500) */
    max-width: 320px;   /* Ограничиваем ширину */
    pointer-events: none; /* Чтобы клики сквозь прозрачные части проходили (опционально) */
}

/* Возвращаем кликабельность контенту внутри плашки (если нужно копировать текст) */
.city-details-overlay * {
    pointer-events: auto;
}

.city-details-overlay p {
    margin-bottom: 10px;
    color: #333;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.city-details-overlay .big {
    font-size: 16px;
    font-weight: bold;
}

.city-details-overlay .small {
    font-size: 14px;
    color: #666;
    margin-left: 24px; /* Отступ под иконку */
}

.city-details-overlay i {
    color: var(--gold); /* Золотые иконки */
    margin-top: 3px;
}

/* --- МОБИЛЬНЫЙ ВАРИАНТ --- */
/* На телефоне карту лучше не перекрывать, кладем блок ПОД карту */
@media (max-width: 768px) {
    .city-details-overlay {
        position: relative; /* Убираем абсолют */
        top: 0; left: 0;
        width: 100%;
        max-width: 100%;
        box-shadow: none;
        border-radius: 0;
        border-top: 1px solid #eee;
        z-index: 1;
    }

    .map-area {
        height: auto; /* Высота подстроится */
        display: flex;
        flex-direction: column-reverse; /* Сначала карта, потом адрес (или наоборот) */
    }

    /* Самой карте задаем фиксированную высоту на мобиле */
    #ymap {
        height: 400px !important;
    }
}
/* --- ЛАЙТБОКС (Увеличение фото) --- */
.lightbox {
    display: none; /* Скрыто по умолчанию */
    position: fixed;
    z-index: 10000; /* Поверх всего */
    padding-top: 50px;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.9); /* Черный фон с прозрачностью */
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

/* Картинка внутри лайтбокса */
.lightbox-content {
    margin: auto;
    display: block;
    width: 80%;
    max-width: 1000px; /* Ограничение ширины */
    max-height: 90vh;  /* Чтобы влезала по высоте */
    object-fit: contain;
    border-radius: 5px;
    box-shadow: 0 0 20px rgba(255,255,255,0.1);
    animation: zoomIn 0.3s; /* Анимация появления */
}

/* Крестик закрытия */
.close-lightbox {
    position: absolute;
    top: 20px;
    right: 35px;
    color: #f1f1f1;
    font-size: 40px;
    font-weight: bold;
    transition: 0.3s;
    cursor: pointer;
    z-index: 10001;
}

.close-lightbox:hover,
.close-lightbox:focus {
    color: var(--gold);
    text-decoration: none;
    cursor: pointer;
}

/* Анимация зума */
@keyframes zoomIn {
    from {transform:scale(0)}
    to {transform:scale(1)}
}

/* На мобильном картинка пошире */
@media only screen and (max-width: 700px){
    .lightbox-content {
        width: 100%;
    }
}