.footer {
            /* Локальные переменные палитры */
            --bg-start: #0b1e0c;
            --bg-mid:   #145214;
            --bg-end:   #237a29;

            --text:     #e5fbe6;  /* основной текст */
            --muted:    #c8ffc8;  /* второстепенный/подсказки */
            --heading:  #b9ffb3;  /* заголовки */
            --line:     rgba(200, 255, 200, 0.2);
            
            --contact-text: #ffffff; /* специальный цвет для контактов */

            --accent-1: #6eea6a;  /* лаймовый акцент */
            --accent-2: #9dff8e;  /* светлый акцент */

            --glass:        rgba(255, 255, 255, 0.04);
            --glass-hover:  rgba(255, 255, 255, 0.08);
            --border:       rgba(180, 255, 180, 0.12);
            --border-strong:rgba(180, 255, 180, 0.25);

            background: linear-gradient(135deg, var(--bg-start) 0%, var(--bg-mid) 50%, var(--bg-end) 100%);
            color: var(--text);
            padding: 4rem 0 1.5rem;
            position: relative;
            overflow: hidden;
            width: 100%;
            box-sizing: border-box;
        }

        .footer::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0;
            height: 1px;
            background: linear-gradient(90deg, transparent, var(--line), transparent);
        }

        .footer::after {
            content: '';
            position: absolute;
            top: -100px; left: -100px;
            width: 300px; height: 300px;
            background: radial-gradient(circle, rgba(90, 200, 90, 0.12) 0%, transparent 70%);
            animation: float 8s ease-in-out infinite;
        }

        @keyframes float {
            0%, 100% { transform: translateY(0) rotate(0deg); }
            50% { transform: translateY(-20px) rotate(180deg); }
        }

        /* =========================
           LAYOUT
           ========================= */

        /* Единая логика: флекс-раскладка с переносом */
        .footer-content {
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 2rem;
            margin-bottom: 2rem;
            position: relative;
            z-index: 2;
            max-width: 1200px;
            margin: 0 auto 2rem;
            padding: 0 1.5rem;
            box-sizing: border-box;
        }

        /* Блоки-колонки футера */
        .footer-section {
            flex: 1 1 250px;
            min-width: 200px;
            padding: 1.5rem;
            background: var(--glass);
            border-radius: 20px;
            border: 1px solid var(--border);
            backdrop-filter: blur(10px);
            transition: all 0.4s ease;
            position: relative;
            overflow: hidden;
            text-align: left; /* Всегда выравнивание по левому краю */

            /* анимация появления */
            opacity: 0;
            transform: translateY(30px);
            animation: fadeInUp 0.6s ease forwards;
        }

        .footer-section:nth-child(1) { animation-delay: 0.1s; }
        .footer-section:nth-child(2) { animation-delay: 0.2s; }

        .footer-section::before {
            content: '';
            position: absolute; inset: 0 auto 0 -100%;
            width: 100%;
            background: linear-gradient(90deg, transparent, rgba(165, 214, 167, 0.1), transparent);
            transition: left 0.6s ease;
        }

        .footer-section:hover::before { left: 100%; }

        .footer-section:hover {
            transform: translateY(-5px);
            box-shadow: 0 20px 40px rgba(0,0,0,0.25), 0 0 0 1px var(--border-strong);
            background: var(--glass-hover);
        }

        @keyframes fadeInUp { to { opacity: 1; transform: translateY(0); } }

        /* Заголовки и текст */
        .footer-section h3 {
            margin-bottom: 1.5rem;
            color: var(--heading);
            font-size: 1.4rem;
            font-weight: 700;
            position: relative;
            display: inline-block;
        }

        .footer-section h3::after {
            content: '';
            position: absolute;
            bottom: -8px; left: 0;
            width: 40px; height: 3px;
            background: linear-gradient(90deg, var(--accent-1), var(--accent-2));
            border-radius: 2px;
            transition: width 0.3s ease;
        }

        .footer-section:hover h3::after { width: 100%; }

        .footer-section p {
            color: var(--text);
            margin-bottom: 1rem;
            line-height: 1.6;
            opacity: 0.9;
            font-size: 0.95rem;
        }

        /* =========================
           ABOUT + LOGO
           ========================= */

        .footer-logo { 
            margin-bottom: 15px; 
            text-align: left; /* Лого всегда слева */
        }
        .footer-logo img {
            max-width: 200px;
            height: auto;
            display: block;
        }

        /* =========================
           CONTACTS - ОСОБЫЙ СТИЛЬ
           ========================= */

        .contact-item-footer {
            display: flex;
            align-items: flex-start;
            margin-bottom: 0.8rem;
            gap: 0.7rem;
            transition: transform 0.3s ease;
        }

        .contact-item-footer:hover { transform: translateX(5px); }

        .contact-icon-footer {
            width: 55px; height: 55px;
            flex-shrink: 0;
            border-radius: 50%;
            background-size: 60%;
            background-repeat: no-repeat;
            background-position: center;

            /* мягкая подложка под иконку */
            background-color: rgba(50, 130, 50, 0.2);
            border: 1px solid rgba(150, 255, 150, 0.15);

            filter: drop-shadow(0 2px 4px rgba(0,0,0,0.2));
            transition: all 0.3s ease;
        }

        .contact-item-footer:hover .contact-icon-footer {
            background-color: rgba(110, 240, 110, 0.25);
            transform: scale(1.1);
        }

        .contact-text-footer {
            color: var(--contact-text); /* Белый цвет для контактов */
            font-size: 0.9rem;
            line-height: 1.4;
            opacity: 0.95;
            font-weight: 500;
            text-shadow: 0 1px 2px rgba(0,0,0,0.2);
        }

        /* Подключение локальных иконок */
        .contact-icon-footer.phone { background-image: url("../images/phone.png"); }
        .contact-icon-footer.mail  { background-image: url("../images/mail.png"); }
        .contact-icon-footer.geo   { background-image: url("../images/geo.png"); }

        /* =========================
           SOCIAL LINKS
           ========================= */

        .social-links-section {
            text-align: center;
            margin: 2rem 0 1.5rem;
            position: relative;
            z-index: 2;
        }

        .social-links-section h3 {
            margin-bottom: 1.2rem;
            color: var(--heading);
            font-size: 1.3rem;
            font-weight: 700;
            position: relative;
            display: inline-block;
        }

        .social-links-section h3::after {
            content: '';
            position: absolute;
            bottom: -8px; left: 50%;
            transform: translateX(-50%);
            width: 40px; height: 3px;
            background: linear-gradient(90deg, var(--accent-1), var(--accent-2));
            border-radius: 2px;
            transition: width 0.3s ease;
        }
        .social-links-section h3:hover::after { width: 100%; }

        .social-links-wrapper { 
            text-align: left; 
            margin-bottom: 2rem;
            max-width: 1200px;
            margin-left: auto;
            margin-right: auto;
            padding: 0 1.5rem;
        }

        .social-title {
            font-size: 1.1rem;
            font-weight: 600;
            margin-bottom: 0.8rem;
            letter-spacing: 0.5px;
            color: var(--heading);
            text-transform: none;
        }

        .social-links {
            display: flex;
            justify-content: flex-start;
            gap: 1rem;
            margin: 0.8rem 0;
        }

        .social-link {
            display: flex;
            align-items: center; justify-content: center;
            width: 45px; height: 45px;
            border-radius: 20%;
            transition: transform 0.2s ease;
            text-decoration: none;
            position: relative;
            overflow: hidden;
            background: rgba(255, 255, 255, 0.1);
        }
        .social-link:hover { transform: scale(1.1); }

        .social-icon {
            width: 60%; height: 60%;
            background-size: contain;
            background-repeat: no-repeat;
            background-position: center;
            transition: transform 0.2s ease;
            filter: brightness(0) invert(1);
        }
        /* Иконки соцсетей */
        .social-link.instagram .social-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M12 2c2.717 0 3.056.01 4.122.06 1.065.05 1.79.217 2.428.465.66.254 1.216.598 1.772 1.153.555.556.9 1.112 1.153 1.771.247.639.415 1.363.465 2.428.047 1.067.06 1.406.06 4.122 0 2.717-.01 3.056-.06 4.122-.05 1.065-.218 1.79-.465 2.428a4.883 4.883 0 0 1-1.153 1.772c-.556.554-1.112.9-1.771 1.153-.639.247-1.363.415-2.428.465-1.067.047-1.406.06-4.122.06-2.717 0-3.056-.01-4.122-.06-1.065-.05-1.79-.218-2.428-.465a4.89 4.89 0 0 1-1.772-1.153 4.904 4.904 0 0 1-1.153-1.772c-.248-.639-.415-1.363-.465-2.428-.047-1.067-.06-1.406-.06-4.122 0-2.717.01-3.056.06-4.122.05-1.065.217-1.79.465-2.428a4.88 4.88 0 0 1 1.153-1.772A4.897 4.897 0 0 1 5.45 2.525c.638-.248 1.362-.415 2.428-.465C8.944 2.013 9.283 2 12 2zm0 5a5 5 0 1 0 0 10 5 5 0 0 0 0-10zm6.5-.25a1.25 1.25 0 1 0-2.5 0 1.25 1.25 0 0 0 2.5 0zM12 9a3 3 0 1 1 0 6 3 3 0 0 1 0-6z'/%3E%3C/svg%3E"); }
        .social-link.whatsapp .social-icon  { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 0 1-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 0 1-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 0 1 2.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0 0 12.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 0 0 5.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893A11.821 11.821 0 0 0 20.464 3.488'/%3E%3C/svg%3E"); }
        .social-link.tiktok .social-icon    { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z'/%3E%3C/svg%3E"); }
        .social-link.telegram .social-icon  { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M12 0C5.373 0 0 5.373 0 12s5.373 12 12 12 12-5.373 12-12S18.627 0 12 0zm5.894 8.221l-1.97 9.28c-.145.658-.537.818-1.084.509l-3-2.21-1.447 1.394c-.16.16-.295.295-.605.295l.213-3.053 5.56-5.022c.241-.213-.054-.334-.373-.121l-6.869 4.326-2.96-.924c-.64-.203-.658-.64.136-.954l11.566-4.458c.538-.196 1.006.128.832.941z'/%3E%3C/svg%3E"); }

        .social-link:hover .social-icon { transform: scale(1.15); }

        .social-text {
            position: absolute;
            bottom: -30px; left: 50%;
            transform: translateX(-50%);
            font-size: 0.7rem; font-weight: 500;
            color: var(--muted);
            opacity: 0; white-space: nowrap;
            transition: opacity 0.2s ease;
        }
        .social-link:hover .social-text { opacity: 1; }

        /* =========================
           DECOR / BOTTOM
           ========================= */

        .footer-decoration {
            position: absolute;
            pointer-events: none;
        }

        .footer-decoration.circle-1 {
            width: 200px; height: 200px;
            background: radial-gradient(circle, rgba(76,175,80,0.05) 0%, transparent 70%);
            border-radius: 50%;
            top: -50px; right: -50px;
            animation: rotate 20s linear infinite;
        }

        .footer-decoration.circle-2 {
            width: 150px; height: 150px;
            background: radial-gradient(circle, rgba(165,214,167,0.03) 0%, transparent 70%);
            border-radius: 50%;
            bottom: 50px; left: 10%;
            animation: rotate 15s linear infinite reverse;
        }

        @keyframes rotate { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

        .footer-bottom {
            border-top: 1px solid var(--line);
            padding-top: 2rem;
            color: var(--heading);
            text-align: center;
            position: relative;
            z-index: 2;
            max-width: 1200px;
            margin: 0 auto;
            padding: 2rem 1.5rem 0;
            box-sizing: border-box;
        }
        .footer-bottom p { opacity: 0.85; font-size: 0.75rem; }

        /* =========================
           ADAPTIVE - УЛУЧШЕННАЯ АДАПТИВНОСТЬ
           ========================= */

        @media (max-width: 992px) {
            .footer-content {
                gap: 1.5rem;
                padding: 0 1rem;
            }
            
            .footer-section {
                flex: 1 1 calc(50% - 1.5rem);
                min-width: 250px;
            }
        }

        @media (max-width: 768px) {
            .footer {
                padding: 3rem 0 1rem;
            }
            
            .footer-content {
                flex-direction: column;
                gap: 1.2rem;
            }
            
            .footer-section {
                flex: 1 1 100%;
                text-align: left; /* Всегда выравнивание по левому краю */
                padding: 1.2rem;
                min-width: unset;
            }
            
            .footer-logo { 
                display: block; 
                text-align: left; /* Лого всегда слева */
            }
            
            .footer-logo img { 
                max-width: 150px; 
            }
            
            .contact-item-footer {
                flex-direction: row; /* Всегда горизонтальное расположение */
                align-items: center;
            }
            
            .contact-icon-footer {
                width: 45px;
                height: 45px;
            }
            
            .social-links { 
                gap: 1rem; 
            }
            
            .social-link { 
                width: 40px; 
                height: 40px; 
            }
        }

        @media (max-width: 480px) {
            .footer {
                padding: 2.5rem 0 1rem;
            }
            
            .footer-content {
                padding: 0 0.8rem;
                gap: 1rem;
            }
            
            .footer-section {
                padding: 1rem;
                border-radius: 15px;
            }
            
            .footer-section h3 {
                font-size: 1.2rem;
                margin-bottom: 1rem;
            }
            
            .contact-item-footer {
                margin-bottom: 0.6rem;
            }
            
            .contact-icon-footer {
                width: 40px;
                height: 40px;
            }
            
            .contact-text-footer {
                font-size: 0.85rem;
            }
            
            .social-links {
                gap: 0.8rem;
            }
            
            .social-link {
                width: 38px;
                height: 38px;
            }
            
            .footer-bottom {
                padding: 1.5rem 0.8rem 0;
            }
            
            .footer-bottom p {
                font-size: 0.8rem;
            }
        }

        /* Стили для юридических ссылок в футере */
        .footer-bottom-content {
            display: flex;
            flex-direction: column-reverse;
            align-items: center;
            gap: 0.75rem;
        }
        
        .footer-bottom-content p {
            opacity: 0.7;
            font-size: 0.75rem !important;
        }
        
        .footer-legal-links {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            flex-wrap: nowrap;
            white-space: nowrap;
        }
        
        .footer-legal-links a {
            color: var(--accent-1);
            text-decoration: none;
            font-size: 0.65rem !important;
            transition: all 0.3s ease;
            white-space: nowrap;
        }
        
        .footer-legal-links a:hover {
            color: var(--accent-2);
            text-decoration: underline;
        }
        
        .footer-legal-links .separator {
            color: var(--muted);
            font-size: 0.65rem !important;
            opacity: 0.6;
        }
        
        @media (max-width: 480px) {
            .footer-legal-links {
                gap: 0.3rem;
            }
            
            .footer-legal-links a {
                font-size: 0.65rem !important;
            }
            
            .footer-legal-links .separator {
                font-size: 0.65rem !important;
            }
        }