        /* ==========================================================
           FOOTER — couleurs pilotees par les variables du site
           (suit automatiquement le mode clair / sombre)
           AVANT : background-color: #1a1a1a; color: #f4f4f4;
                   border-top: 1px solid var(--spec-color, #333);
           Nom de police corrige : 'Canon Grotesque V0.2' -> var(--font-titre)
           ========================================================== */
        .footer-impolie { 
            clear: both !important; 
            display: block !important;
            background-color: var(--imp-bg-main) !important; 
            border-top: 1px solid var(--imp-border); 
            color: var(--imp-text-main); 
            padding: 50px 20px 20px; 
            font-family: var(--font-titre) !important; 
            position: relative; 
            z-index: 99; 
            width: 100%;
        }
        .footer-container { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; gap: 40px; }

        .footer-logo { 
            font-size: 30px; 
            font-weight: 900; 
            text-transform: none; 
            letter-spacing: 0px; 
            margin: 0 0 10px 0; 
            color: var(--imp-text-main) !important; 
            text-align: left; /* Aligné à gauche */
            width: 100%;
        }

        .brand-col {
            display: flex;
            flex-direction: column;
            align-items: flex-start; /* Aligné à gauche */
        }

        .footer-social-icons { 
            display: flex; 
            gap: 15px; 
            justify-content: flex-start; /* Icônes alignées à gauche sous le texte */
            width: 100%;
        }

        .footer-social-icons a { 
            color: var(--imp-text-main); 
            transition: transform 0.3s ease, opacity 0.3s ease; 
        }

        .footer-social-icons a:hover { 
            opacity: 0.6; 
        }

        .footer-nav-links { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }

        .footer-nav-links a { 
            color: var(--imp-text-main); 
            text-decoration: none; 
            font-size: 30px; 
            font-weight: 700; 
            letter-spacing: 0px; 
            transition: transform 0.3s ease; 
            display: inline-block; 
        }

        .footer-nav-links a:hover { 
            transform: translateX(-5px); 
        }

        .footer-label { 
            display: block; 
            font-size: 30px; 
            font-weight: 800; 
            color: var(--imp-text-main); 
            letter-spacing: 0px; 
            margin-bottom: 10px; 
        }

        .newsletter-form-impolie { display: flex; border: 1px solid var(--imp-border); border-radius: 4px; padding: 4px 8px; background: transparent; transition: border-color 0.3s; }
        .newsletter-form-impolie:focus-within { border-color: var(--imp-text-main); }

        .newsletter-form-impolie input { 
    background: transparent !important; 
    border: none !important; 
    color: var(--imp-text-main) !important; 
    padding: 6px; 
    flex-grow: 1; 
    outline: none !important; 
    font-size: 13px; 
    box-shadow: none !important; 
    font-family: var(--font-texte, 'GT Alpina', serif) !important; 
}

.newsletter-form-impolie input::placeholder { 
    font-family: var(--font-texte, 'GT Alpina', serif) !important; 
}

        .newsletter-form-impolie input::placeholder { color: var(--imp-text-muted); opacity: 0.6; }

        .imp-submit-btn { 
            background: transparent !important; 
            border: none !important; 
            color: var(--imp-text-main) !important; 
            font-size: 18px !important; 
            cursor: pointer !important; 
            padding: 0 5px !important; 
            box-shadow: none !important; 
            line-height: 1 !important; 
            transition: opacity 0.3s ease !important;
        }

        .imp-submit-btn:hover { 
            opacity: 0.6 !important; 
        }

        /* Message de retour de l'inscription newsletter */
        .newsletter-message {
            font-size: 13px;
            margin-top: 10px;
            min-height: 18px;
            color: var(--imp-text-main);
            opacity: 0;
            transition: opacity 0.3s ease;
            font-family: var(--font-texte) !important;
        }
        .newsletter-message.is-error { opacity: 0.7; }

        .footer-legal { max-width: 1200px; margin: 40px auto 0; padding-top: 20px; border-top: 1px solid var(--imp-border); text-align: center; }

        .footer-legal p { 
            font-size: 10px; 
            color: var(--imp-text-muted); 
            letter-spacing: 1px; 
            margin: 0; 
            font-family: var(--font-texte) !important; 
        }

        @media (max-width: 768px) {
            .footer-container { grid-template-columns: 1fr; gap: 30px; text-align: center; }
            .brand-col { align-items: center; } /* Sur mobile, on garde centré si besoin ou on laisse aligné */
            .footer-logo { text-align: center; }
            .footer-social-icons { justify-content: center; }
            .nav-col, .info-col { display: flex; flex-direction: column; align-items: center; }
            .newsletter-form-impolie { width: 100%; max-width: 300px; }
        }
