/* ============================================
   FOOTER PARTAGE — Les Ateliers du Stream
   ============================================ */

/* --- CTA Contact --- */
.cta-contact {
    background: var(--primary);
    color: var(--blanc);
    text-align: center;
    padding: 100px 0;
    position: relative;
    overflow: hidden;
}
.cta-contact::before {
    content: ''; position: absolute; inset: 0;
    background: radial-gradient(ellipse at 30% 50%, rgba(125,206,245,0.1) 0%, transparent 60%);
}
.cta-contact .section-title { color: var(--blanc); }
.cta-contact .section-desc { color: var(--light-1); margin: 0 auto 40px; text-align: center; max-width: 600px; }
.cta-contact .divider { background: var(--accent); margin: 20px auto 0; }

.cta-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 50px;
    position: relative; z-index: 1;
}
.cta-card {
    padding: 40px 30px;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: var(--radius);
    transition: var(--t);
    text-align: center;
}
.cta-card:hover {
    border-color: rgba(125,206,245,0.3);
    background: rgba(255,255,255,0.03);
    transform: translateY(-4px);
}
.cta-card-icon { width: 50px; height: 50px; margin: 0 auto 20px; }
.cta-card-icon img {
    width: 100%; height: 100%;
    filter: brightness(0) saturate(100%) invert(78%) sepia(18%) saturate(1200%) hue-rotate(160deg) brightness(100%) contrast(94%);
}
.cta-card h4 {
    font-family: var(--font-titre); font-size: 1.05rem; font-weight: 900;
    margin-bottom: 8px;
}
.cta-card p { font-size: 0.85rem; color: var(--light-1); line-height: 1.6; }
.cta-card a { color: var(--accent); transition: var(--t); }
.cta-card a:hover { color: var(--blanc); }

/* --- Footer --- */
footer {
    background: #181a33;
    color: var(--light-1);
    padding: 50px 0 25px;
}
.footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 40px;
    margin-bottom: 40px;
}
.footer-brand img.footer-logo { height: 84px; }
.footer-brand p { font-size: 0.85rem; line-height: 1.7; color: var(--blanc); max-width: 280px; }

.footer-col h5 {
    font-family: var(--font-titre); font-size: 0.95rem; font-weight: 900;
    color: var(--blanc); margin-bottom: 18px;
}
.footer-col ul { list-style: none; }
.footer-col li { margin-bottom: 10px; font-size: 0.85rem; color: var(--blanc); }
.footer-col a { font-size: 0.85rem; color: var(--blanc); transition: var(--t); }
.footer-col a:hover { color: var(--accent); }

.footer-social-row { display: flex; gap: 12px; }
.footer-social-row a { display: flex; align-items: center; justify-content: center; }
.footer-social-row a img { width: 28px; height: 28px; filter: brightness(0) invert(1); }

.footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.06);
    padding-top: 20px; text-align: center;
    font-size: 0.78rem; color: var(--blanc);
}

/* --- Back to top --- */
.back-to-top {
    position: fixed; bottom: 30px; right: 30px;
    width: 44px; height: 44px; background: var(--at-primary);
    border: none; border-radius: 50%; cursor: pointer;
    display: none; align-items: center; justify-content: center;
    z-index: 999; transition: var(--t);
    box-shadow: 0 4px 15px rgba(43,191,202,0.3);
}
.back-to-top:hover { background: var(--accent); transform: translateY(-3px); }
.back-to-top img { width: 18px; height: 18px; }
.back-to-top.visible { display: flex; }

/* --- Scroll reveal --- */
.reveal {
    opacity: 0; transform: translateY(30px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.visible-anim { opacity: 1; transform: translateY(0); }

/* --- Responsive 1024px --- */
@media (max-width: 1024px) {
    .cta-grid { grid-template-columns: 1fr; max-width: 400px; margin-left: auto; margin-right: auto; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
}

/* --- Responsive 768px --- */
@media (max-width: 768px) {
    .footer-grid { grid-template-columns: 1fr; text-align: center; }
    .footer-brand p { max-width: 100%; }
    .footer-social-row { justify-content: center; }
}
