@charset "UTF-8";
/* =========================================================
   PAGE : PARTENAIRES - ULTRA PREMIUM ÉDITORIAL (2026)
   ========================================================= */

/* --- LAYOUT GLOBAL --- */
.uf-editorial-theme { background-color: var(--bg-deep, #050505); font-family: 'Plus Jakarta Sans', sans-serif; box-sizing: border-box; }
.uf-container { max-width: 1600px; margin: 0 auto; padding: 0 4vw; box-sizing: border-box; }
.uf-section { padding: 5vw 0 10vw 0; position: relative; box-sizing: border-box; }
.text-center { text-align: center; }

/* L'en-tête (Hero) est désormais géré par le fichier des Composants Globaux (.uf-premium-hero) */

/* ---------------------------------------------------------
   1. CONTENEUR PRINCIPAL (Orbe Lumineux)
   --------------------------------------------------------- */
.uf-partners-container {
    overflow: hidden;
    padding-top: 8vw;
    box-sizing: border-box;
}

.uf-partners-container::before {
    content: ''; position: absolute; top: 10%; right: -10%;
    width: 600px; height: 600px;
    background: radial-gradient(circle, var(--uf-purple-glow, rgba(102, 45, 145, 0.4)) 0%, transparent 60%);
    filter: blur(100px); z-index: -1;
    animation: floatOrb 20s infinite alternate var(--lux-ease, ease-out); pointer-events: none;
}
@keyframes floatOrb {
    0% { transform: translate(0, 0) scale(1); }
    100% { transform: translate(-30px, 50px) scale(1.1); }
}

/* ---------------------------------------------------------
   2. LES LIGNES PARTENAIRES (Asymétrie & Chevauchement PC)
   --------------------------------------------------------- */
.uf-partner-row {
    display: flex;
    align-items: center;
    margin-bottom: 150px;
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    box-sizing: border-box;
}

.uf-partner-row:last-child {
    margin-bottom: 0;
}

/* Ligne Inversée (Image à droite, Texte à gauche sur PC) */
.uf-partner-row.reverse {
    flex-direction: row-reverse;
}

/* --- IMAGE DU PARTENAIRE (Ratio Parfait 4/3) --- */
.uf-partner-media {
    flex: 1.2;
    position: relative;
    border-radius: 40px;
    overflow: hidden;
    aspect-ratio: 4/3; 
    box-shadow: 0 40px 100px rgba(0,0,0,0.5);
    border: 1px solid var(--lux-border, rgba(255,255,255,0.1));
    margin: 0;
    z-index: 1;
    box-sizing: border-box;
    background: rgba(255,255,255,0.02);
}

.uf-partner-media img {
    width: 100% !important;
    height: 100% !important; 
    object-fit: contain !important;
    object-position: center !important; 
    display: block;
    position: absolute; top: 0; left: 0; 
    padding: 40px;
    box-sizing: border-box;
    filter: brightness(0.9);
    transition: filter 1s var(--lux-ease, ease-out), transform 1.2s var(--lux-ease, ease-out);
    transform: scale(1);
}

.uf-partner-row:hover .uf-partner-media img {
    transform: scale(1.05);
    filter: brightness(1);
}

.uf-partner-media-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(135deg, rgba(5,5,5,0.4) 0%, transparent 100%);
    pointer-events: none;
    z-index: 2;
}

/* --- CARTE INFO (Verre fumé en chevauchement) --- */
.uf-partner-info {
    flex: 1;
    z-index: 2;
    margin-left: -10%;
    box-sizing: border-box;
}

/* Inversé sur PC */
.uf-partner-row.reverse .uf-partner-info {
    margin-left: 0;
    margin-right: -10%;
}

.uf-partner-glass-card {
    background: rgba(10, 10, 12, 0.7);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 32px;
    padding: 60px 50px;
    backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
    box-shadow: 0 30px 60px rgba(0,0,0,0.6);
    transition: transform 0.6s var(--lux-ease, ease-out), border-color 0.6s var(--lux-ease, ease-out);
    box-sizing: border-box;
}

.uf-partner-row:hover .uf-partner-glass-card {
    transform: translateY(-10px);
    border-color: rgba(102, 45, 145, 0.4);
    box-shadow: 0 40px 80px rgba(0,0,0,0.8), 0 0 40px rgba(102, 45, 145, 0.1);
}

/* ---------------------------------------------------------
   3. ETAT VIDE
   --------------------------------------------------------- */
.uf-empty-notice { text-align: center; padding: 100px 20px; background: rgba(255,255,255,0.02); border-radius: 32px; border: 1px dashed var(--lux-border, rgba(255,255,255,0.1)); box-sizing: border-box; }
.uf-empty-notice i { font-size: 4rem; color: rgba(255,255,255,0.1); margin-bottom: 20px; }
.uf-empty-notice h3 { font-size: 2rem; font-weight: 300; text-transform: uppercase; color: #fff; margin-bottom: 10px; }

/* ---------------------------------------------------------
   📱 RESPONSIVE (Tablette & Mobile)
   --------------------------------------------------------- */
@media (max-width: 1200px) {
    .uf-partner-info { margin-left: -5%; }
    .uf-partner-row.reverse .uf-partner-info { margin-right: -5%; }
    .uf-partner-glass-card { padding: 50px 40px; }
}

@media (max-width: 992px) {
    .uf-partner-row, .uf-partner-row.reverse { 
        flex-direction: column; 
        text-align: left; 
        gap: 0; 
        margin-bottom: 100px; 
    }
    .uf-partner-media { width: 100%; border-radius: 32px; aspect-ratio: 16/9; }
    
    .uf-partner-info, .uf-partner-row.reverse .uf-partner-info { 
        width: 90%; 
        margin: -60px auto 0 auto;
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 768px) {
    .uf-partners-container { padding-top: 40px; }
    .uf-partner-row, .uf-partner-row.reverse { margin-bottom: 80px; }
    .uf-partner-media { border-radius: 24px; aspect-ratio: 4/3; }
    .uf-partner-media img { padding: 20px; }
    
    .uf-partner-info, .uf-partner-row.reverse .uf-partner-info { 
        width: 95%; 
        margin-top: -40px; 
    }
    .uf-partner-glass-card { 
        padding: 40px 25px; 
        border-radius: 24px; 
    }
}