/* FOOTER DESIGN - DARK MODE READY */

/* --- GLOBAL FOOTER --- */
.site-footer {
    width: 100%;
    position: relative;
    background: #020617; /* Identique au body dark mode pour fondre */
    color: #94a3b8;
    padding-top: 140px; 
    padding-bottom: 40px;
    font-size: 0.95rem;
    z-index: 10;
    border-top: 1px solid rgba(255,255,255,0.05); /* Ligne de séparation subtile */
}

/* En light mode, on garde le bleu nuit pour contraster avec le site blanc */
[data-theme="light"] .site-footer { 
    background: #1e293b; 
    border-top: none;
}

/* --- NEWSLETTER --- */
.footer-newsletter-section {
    position: absolute;
    top: -60px; left: 0; width: 100%; z-index: 20;
    pointer-events: none;
}
.newsletter-title {
    color: #ffffff !important; /* Force le blanc */
    text-shadow: 0 4px 10px rgba(0,0,0,0.3); /* Ajoute de la lisibilité */
}
.newsletter-card {
    pointer-events: auto;
    background: linear-gradient(135deg, #0A2463 0%, #061539 100%); /* Bleu nuit riche */
    border-radius: 16px; padding: 40px;
    display: flex; align-items: center; justify-content: space-between; gap: 30px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(255,255,255,0.1); /* Bordure glass */
    color: white;
    max-width: 1200px; margin: 0 auto; width: calc(100% - 40px);
}
[data-theme="dark"] .newsletter-card {
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%); /* Slate gradient en dark */
    box-shadow: 0 20px 50px rgba(0,0,0,0.5);
}

.be-newsletter-form { display: flex; gap: 10px; width: 100%; min-width: 300px; }
.be-newsletter-form input { 
    flex: 1; padding: 12px 20px; border-radius: 50px; border:none; outline:none;
    background: rgba(255,255,255,0.9); color: #000;
}
.be-newsletter-form button { 
    background: var(--be-accent-gold); border:none; padding:12px 25px; 
    border-radius:50px; font-weight:bold; cursor:pointer; white-space: nowrap; color: #0A2463;
}

/* --- WIDGETS --- */
.footer-widgets { padding-bottom: 40px; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px; }

.footer-col h4 { color: white; margin-bottom: 20px; text-transform: uppercase; letter-spacing: 1px; font-size: 1rem; opacity: 0.9;}
.footer-col ul { list-style: none; padding: 0; margin: 0; }
.footer-col ul li { margin-bottom: 10px; }
.footer-col ul li a { color: #94a3b8; text-decoration: none; transition: 0.2s; }
.footer-col ul li a:hover { color: var(--be-accent-gold); padding-left: 5px; }

.footer-logo { font-size: 1.5rem; color: white; margin-bottom: 15px; font-weight: bold; }
.social-links { display: flex; gap: 10px; margin-top: 20px; }
.social-links a { color: white; border:1px solid rgba(255,255,255,0.2); padding: 6px 15px; border-radius:20px; text-decoration:none; font-size:0.8rem; transition:0.3s;}
.social-links a:hover { background:white; color:#0A2463; }

/* --- BOTTOM BAR --- */
.site-info {
    border-top: 1px solid rgba(255,255,255,0.05);
    padding-top: 25px; margin-top: 20px;
}
.flex-container { display: flex; justify-content: space-between; align-items: center; }

/* Switch Footer */
.theme-switch {
    background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1);
    color: white; padding: 8px 16px; border-radius: 30px;
    cursor: pointer; display: flex; align-items: center; gap: 8px;
    transition: 0.2s; font-size: 0.9rem;
}
.theme-switch:hover { background: rgba(255,255,255,0.15); border-color:white; }

/* --- FLOATING CONTROLS --- */
.floating-controls {
    position: fixed; bottom: 30px; left: 30px; 
    display: flex; flex-direction: column; gap: 15px; z-index: 999999;
}
#be-floating-dark, #be-back-top {
    width: 50px; height: 50px; border-radius: 50%; border: none;
    cursor: pointer; font-size: 20px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
    display: flex; align-items: center; justify-content: center;
    transition: transform 0.2s, opacity 0.3s;
}
#be-floating-dark { background: var(--be-accent-gold); color: #0A2463; } /* Bouton Or pour être visible */
#be-floating-dark:hover { transform: scale(1.1); }
#be-back-top { background: white; color: var(--be-primary); opacity: 0; pointer-events: none; transform: translateY(10px); }
#be-back-top.visible { opacity: 1; pointer-events: auto; transform: translateY(0); }

/* RESPONSIVE */
@media (max-width: 900px) {
    .newsletter-card { flex-direction: column; text-align: center; }
    .be-newsletter-form { flex-direction: column; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
    .footer-grid { grid-template-columns: 1fr; text-align: center; }
    .flex-container { flex-direction: column; gap: 20px; }
    .floating-controls { left: auto; right: 20px; bottom: 20px; }
    .site-footer { padding-bottom: 80px; }
}
