/* =========================================
   FOOTER STYLE - COULEURS SOCIALES
   ========================================= */

.main-footer {
    width: 100%;
    font-family: 'Montserrat', sans-serif;
    color: white;
    z-index: 100;
    position: relative;
    background-color: #0B1120;
}

/* --- 1. SECTION STAY UPDATED --- */
.footer-newsletter-section {
    background-color: #141c2f;
    padding: 40px 0;
    border-bottom: 1px solid rgba(255,255,255,0.05);
}
.newsletter-wrapper {
    width: 90%; max-width: 1400px; margin: 0 auto;
    display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px;
}
.newsletter-text h3 { font-size: 24px; font-weight: 800; margin-bottom: 8px; color: white; }
.newsletter-text p { color: #cbd5e1; font-size: 14px; max-width: 500px; }
.newsletter-form { display: flex; gap: 10px; flex-wrap: wrap; }
.newsletter-form input {
    padding: 12px 20px; border-radius: 6px; border: 1px solid rgba(255,255,255,0.1);
    background: rgba(255,255,255,0.05); color: white; min-width: 300px; font-family: 'Montserrat', sans-serif;
}

/* --- BOUTON SUBSCRIBE AVEC DÉGRADÉ JAUNE FROID ROWAD --- */
.newsletter-form button {
    padding: 12px 30px; border-radius: 6px; border: none;
    /* Dégradé de 3 nuances de Jaune/Lime Rowad */
    background: linear-gradient(90deg, #E4EE8E 0%, #C7D629 50%, #9EAA1A 100%); 
    color: #0F172A; /* Texte foncé pour la lisibilité sur le jaune */
    font-weight: 800; font-size: 13px; cursor: pointer; transition: 0.3s;
    text-transform: uppercase; display: flex; align-items: center; gap: 8px;
}
.newsletter-form button:hover { 
    box-shadow: 0 0 20px rgba(199, 214, 41, 0.4); /* Ombre jaune */
    transform: translateY(-2px); 
}

/* --- 2. SECTION PRINCIPALE --- */
.footer-main-content { background-color: #0B1120; padding: 80px 0 60px 0; }
.footer-container {
    width: 90%; max-width: 1400px; margin: 0 auto; display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px;
}

/* =========================================
   LOGO DU FOOTER (ALIGNEMENT MILLIMÉTRÉ)
   ========================================= */
.footer-logo { 
    display: flex; 
    align-items: center; 
    justify-content: flex-start;
    margin-bottom: 25px; 
    height: 70px; 
}

.footer-brand-logo {
    height: 100% !important; 
    width: auto !important; 
    object-fit: contain;
    mix-blend-mode: screen; /* Garde le fond transparent */
    
    /* ON TIRE BEAUCOUP PLUS FORT VERS LA GAUCHE */
    margin-left: -55px; 
    
    transform: scale(3.5); /* On garde une belle taille */
    transform-origin: left center; /* On zoome depuis la gauche */
    
    transition: transform 0.3s ease;
}

/* Petit effet au survol */
.footer-logo:hover .footer-brand-logo {
    transform: scale(3.6); 
}

.brand-desc { color: #94a3b8; font-size: 14px; line-height: 1.6; margin-bottom: 25px; max-width: 350px; }

.footer-title { font-size: 16px; font-weight: 800; color: white; margin-bottom: 25px; }
.footer-links { list-style: none; padding: 0; }
.footer-links li { margin-bottom: 12px; }
.footer-links a { text-decoration: none; color: #94a3b8; font-size: 14px; transition: 0.3s; }
.footer-links a:hover { color: #C7D629; padding-left: 5px; } /* Hover en Jaune Rowad */

/* --- SOCIALS : COULEURS SPÉCIFIQUES --- */
.footer-socials { display: flex; gap: 12px; }
.footer-socials a {
    width: 40px; height: 40px; 
    background: rgba(255,255,255,0.1); 
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center; 
    color: white; text-decoration: none; transition: 0.3s;
}

.footer-socials a.social-fb:hover {
    background-color: #1877F2;
    box-shadow: 0 0 15px rgba(24, 119, 242, 0.4);
    transform: translateY(-3px);
}
.footer-socials a.social-insta:hover {
    background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
    box-shadow: 0 0 15px rgba(188, 24, 136, 0.4);
    transform: translateY(-3px);
}
.footer-socials a.social-in:hover {
    background-color: #0077b5;
    box-shadow: 0 0 15px rgba(0, 119, 181, 0.4);
    transform: translateY(-3px);
}

/* --- 3. SECTION BASSE --- */
.footer-bottom { 
    background-color: #060b16; 
    border-top: 1px solid rgba(255,255,255,0.05); 
    padding: 25px 0; 
}

.bottom-content {
    width: 90%; max-width: 1400px; margin: 0 auto; 
    display: flex; justify-content: space-between; align-items: center; 
    flex-wrap: wrap; gap: 20px;
}

.copyright-text { color: #64748b; font-size: 13px; }

.footer-bottom-link { 
    color: #cbd5e1; text-decoration: none; transition: 0.3s; 
    display: flex; align-items: center; gap: 8px; font-size: 13px;
}
.footer-bottom-link:hover { color: #C7D629; } /* Hover en Jaune Rowad */
.footer-bottom-link i { color: #64748b; }

/* =========================================
   4. CARROUSEL DES PARTENAIRES (INFINITE SCROLL)
   ========================================= */
.footer-partners-section {
    background-color: #ffffff;
    padding: 35px 0;
}

.partners-strip-title {
    text-align: center;
    font-size: 1.1rem;
    font-weight: 800;
    color: #64748b;
    margin-bottom: 30px;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.partners-slider {
    width: 100%;
    max-width: 1600px;
    margin: auto;
    overflow: hidden;
    position: relative;
}

.partners-slider::before,
.partners-slider::after {
    content: "";
    position: absolute;
    top: 0;
    width: 150px;
    height: 100%;
    z-index: 2;
    pointer-events: none;
}
.partners-slider::before {
    left: 0;
    background: linear-gradient(to right, white 0%, rgba(255,255,255,0) 100%);
}
.partners-slider::after {
    right: 0;
    background: linear-gradient(to left, white 0%, rgba(255,255,255,0) 100%);
}

.partners-slide-track {
    display: flex;
    width: max-content; /* S'adapte à la largeur réelle calculée */
    animation: scroll-partners 20s linear infinite;
}

.partners-slider:hover .partners-slide-track {
    animation-play-state: paused;
}

/* L'ESPACEMENT PARFAIT */
.slide {
    width: auto; /* La boîte s'adapte à l'image */
    height: 90px;
    margin-right: 80px; /* C'est ceci qui garantit un écart 100% identique partout ! */
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.slide img {
    width: auto;
    max-width: none;
    object-fit: contain;
    transition: transform 0.3s ease;
}

/* Règle de survol par défaut pour toutes les images */
.slide img:hover {
    transform: scale(1.1);
}

/* =========================================
   CIBLAGE SPÉCIFIQUE POUR ÉQUILIBRER LES LOGOS OFFICIELS
   (En modifiant la height, on équilibre leur poids visuel)
   ========================================= */

/* 1. Romandie - Taille inchangée */
.slide img[alt="Romandie International"] {
    height: 100%; 
}
.slide img[alt="Romandie International"]:hover {
    transform: scale(1.15);
}

/* 2. Kalys Ventures - Augmenté pour qu'il reprenne sa place */
.slide img[alt="Kalys Ventures"] {
    height: 75%; 
}
.slide img[alt="Kalys Ventures"]:hover {
    transform: scale(1.1);
}

/* 3. StartUp Maroc - Fortement diminué car c'est un gros bloc carré */
.slide img[alt="StartUp Maroc"] {
    height: 40%; 
}
.slide img[alt="StartUp Maroc"]:hover {
    transform: scale(1.1);
}

/* 4. InterSkillar - Fortement diminué car c'est un logo très large et épais */
.slide img[alt="InterSkillar"] {
    height: 35%; 
}
.slide img[alt="InterSkillar"]:hover {
    transform: scale(1.1);
}

/* Boucle mathématiquement parfaite grâce au 50% sur le max-content */
@keyframes scroll-partners {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); } 
}

@media (max-width: 1024px) {
    .footer-container { grid-template-columns: 1fr 1fr; }
    .newsletter-wrapper { flex-direction: column; text-align: center; }
}
@media (max-width: 768px) {
    .footer-container { grid-template-columns: 1fr; text-align: center; }
    .footer-logo, .footer-socials { justify-content: center; }
    .brand-desc { margin: 0 auto 20px auto; }
    .bottom-content { flex-direction: column; text-align: center; gap: 15px; }
    
    .partners-slider::before,
    .partners-slider::after {
        width: 50px;
    }
}