.icp-front-wrap{--icp-blue:#102a6b;--icp-blue2:#1f4fb8;--icp-dark:#06133a;--icp-soft:#f6f8ff;--icp-text:#071327;width:100%;margin:0 auto 42px;font-family:inherit}.icp-modern-front{position:relative;padding:28px 0 40px}.icp-parrain-section{position:relative;margin:0 auto 48px;padding:34px 18px 54px;text-align:center;overflow:hidden;border-radius:0 0 42px 42px;background:radial-gradient(circle at 50% 0%,#244fb7 0%,#0b286d 44%,#06143e 100%)}.icp-parrain-section:after{content:"";position:absolute;left:-5%;right:-5%;bottom:-58px;height:120px;background:#fff;border-radius:50% 50% 0 0/100% 100% 0 0}.icp-parrain-badge{position:relative;z-index:2;display:inline-flex;align-items:center;gap:8px;margin:0 auto 18px;padding:10px 18px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);color:#fff;text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:900;box-shadow:0 12px 28px rgba(0,0,0,.18)}.icp-parrain-card{position:relative;z-index:2;display:block;width:min(560px,92vw);height:360px;margin:0 auto;border:0;padding:0;border-radius:22px;overflow:hidden;cursor:pointer;background:#05102f;box-shadow:0 25px 55px rgba(0,0,0,.35);transition:transform .25s ease,box-shadow .25s ease}.icp-parrain-card:hover{transform:translateY(-6px);box-shadow:0 32px 70px rgba(0,0,0,.42)}.icp-parrain-img{width:100%;height:100%;object-fit:cover;display:block}.icp-parrain-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;text-align:center;padding:26px;background:linear-gradient(to top,rgba(0,0,0,.82),rgba(0,0,0,.08) 62%);color:#fff}.icp-parrain-overlay span{display:inline-flex;margin-bottom:10px;padding:7px 12px;border-radius:999px;background:#253ed2;color:#fff;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.icp-parrain-overlay h2{margin:0 0 6px!important;color:#fff!important;font-size:34px!important;line-height:1.05!important;font-weight:950!important}.icp-parrain-overlay p{margin:0!important;color:rgba(255,255,255,.86)!important;font-size:16px!important;font-weight:700!important}.icp-tools-front{display:grid;gap:22px;margin:0 auto 38px;max-width:1120px;padding:0 18px}.icp-search-wrap{position:relative;width:min(760px,100%);margin:0 auto}.icp-search-icon{position:absolute;left:24px;top:50%;transform:translateY(-50%);z-index:2;font-size:28px;line-height:1;color:#102a6b;opacity:.85}.icp-search-input{width:100%;border:0!important;border-radius:999px!important;padding:19px 68px!important;font-size:16px!important;background:#fff!important;color:#071327!important;box-shadow:0 16px 38px rgba(7,19,39,.12)!important;outline:none!important;transition:.22s ease!important}.icp-search-input:focus{box-shadow:0 20px 48px rgba(31,79,184,.20)!important;transform:translateY(-1px)}.icp-filter-front{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.icp-filter-btn{border:1px solid rgba(16,42,107,.25)!important;border-radius:999px!important;padding:11px 17px!important;background:#fff!important;color:#102a6b!important;font-size:14px!important;font-weight:850!important;cursor:pointer;transition:.2s ease;box-shadow:0 8px 20px rgba(7,19,39,.06)}.icp-filter-btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(16,42,107,.16)}.icp-filter-btn.is-active{background:#061a55!important;border-color:#061a55!important;color:#fff!important;box-shadow:0 14px 30px rgba(6,26,85,.28)}.icp-grid{display:grid;grid-template-columns:repeat(3,minmax(240px,330px));gap:26px;justify-content:center;align-items:start;padding:0 18px}.icp-card-front{position:relative;width:100%;aspect-ratio:1/1;background:#06133a;border-radius:18px;overflow:hidden;box-shadow:0 18px 38px rgba(7,19,39,.16);transition:transform .23s ease,box-shadow .23s ease}.icp-card-front.is-hidden,.icp-card-front.is-load-hidden{display:none!important}.icp-card-front:hover{transform:translateY(-7px);box-shadow:0 26px 50px rgba(7,19,39,.24)}.icp-card-button{appearance:none;border:0;background:transparent;width:100%;height:100%;padding:0;display:block;cursor:pointer}.icp-photo{width:100%;height:100%;border-radius:0;overflow:hidden;background:#0a1f5f}.icp-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease,filter .35s ease}.icp-card-front:hover .icp-photo img{transform:scale(1.045);filter:saturate(1.08) contrast(1.04)}.icp-card-front:after{content:"";position:absolute;inset:0;border-radius:18px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),inset 0 -90px 90px rgba(0,0,0,.15);pointer-events:none}.icp-photo-placeholder{width:100%;height:100%;display:grid;place-items:center;font-size:72px;font-weight:950;color:#fff;background:radial-gradient(circle,#315ed0,#081c5b)}.icp-card-name{display:none!important}.icp-empty,.icp-no-result{padding:20px;border-radius:18px;background:#f4f7ff;color:#102a6b;text-align:center;max-width:680px;margin:24px auto;font-weight:800}.icp-more-wrap{display:flex;justify-content:center;margin-top:36px}.icp-see-more{border:0;border-radius:999px;background:#061a55;color:#fff;font-weight:950;padding:14px 30px;cursor:pointer;box-shadow:0 16px 32px rgba(6,26,85,.26);transition:.22s ease}.icp-see-more:hover{transform:translateY(-2px);box-shadow:0 20px 42px rgba(6,26,85,.32)}.icp-see-more[hidden],.icp-more-wrap[hidden]{display:none!important}.icp-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:24px}.icp-modal.is-open{display:flex}.icp-modal-backdrop{position:absolute;inset:0;background:rgba(3,9,28,.68);backdrop-filter:blur(5px)}.icp-modal-panel{position:relative;width:min(920px,96vw);max-height:88vh;overflow:auto;background:#fff;border-radius:28px;box-shadow:0 30px 80px rgba(0,0,0,.38);padding:28px}.icp-modal-close{position:absolute;top:14px;right:16px;width:42px;height:42px;border-radius:50%;border:0;background:#f2f5ff;color:#061a55;font-size:30px;line-height:1;cursor:pointer;font-weight:500}.icp-modal-layout{display:grid;grid-template-columns:320px 1fr;gap:30px;align-items:start}.icp-modal-photo{width:100%;aspect-ratio:1/1;border-radius:22px;overflow:hidden;background:#f3f3f3}.icp-modal-photo img{width:100%;height:100%;object-fit:cover;display:block}.icp-modal-content h2{font-size:34px;line-height:1.08;margin:8px 0 8px;font-weight:950;color:#071327}.icp-modal-tag{display:inline-flex;margin:0 0 10px;padding:8px 13px;border-radius:999px;font-size:13px;font-weight:950;background:#eef3ff;color:#102a6b}.icp-role{margin:0 0 18px;font-weight:900;color:#284574}.icp-bio{margin:0 0 20px;color:#2d3545;line-height:1.65;font-size:16px}.icp-socials{display:flex;gap:10px;flex-wrap:wrap}.icp-socials a{font-size:14px;text-decoration:none;border:1px solid #d8def0;border-radius:999px;padding:10px 14px;color:#102a6b;background:#fff;font-weight:900}.icp-socials a:hover{background:#102a6b;color:#fff;border-color:#102a6b}body.icp-modal-open{overflow:hidden}@media(max-width:980px){.icp-grid{grid-template-columns:repeat(2,minmax(240px,330px))}.icp-parrain-card{height:330px}}@media(max-width:660px){.icp-modern-front{padding-top:0}.icp-parrain-section{border-radius:0 0 28px 28px;margin-bottom:34px}.icp-parrain-card{height:auto;aspect-ratio:1/1;width:min(420px,92vw)}.icp-parrain-overlay h2{font-size:28px!important}.icp-grid{grid-template-columns:1fr;gap:20px}.icp-card-front{max-width:390px;margin:0 auto}.icp-filter-front{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.icp-filter-btn{white-space:nowrap}.icp-modal-layout{grid-template-columns:1fr}.icp-modal-panel{padding:22px}.icp-modal-content h2{font-size:28px}.icp-search-input{padding-left:58px!important}.icp-search-icon{left:21px}}


/* ==========================================================
   V40 FRONT PREMIUM - PARRAIN + CARTES FULL IMAGE
   Couleur principale demandée : #14489f
   ========================================================== */

.icp-front-wrap{
    --icp-blue:#14489f !important;
    --icp-blue-dark:#071943 !important;
    --icp-text:#071327 !important;
    width:100%;
    max-width:100% !important;
    margin:0 auto 50px !important;
    font-family:inherit;
}

/* Zone générale */
.icp-modern-front{
    padding:0 0 48px !important;
    background:#fff;
}

/* ===== PARRAIN HERO ===== */
.icp-parrain-section{
    position:relative !important;
    width:100% !important;
    margin:0 0 52px !important;
    padding:0 !important;
    min-height:460px !important;
    border-radius:0 !important;
    overflow:hidden !important;
    background:#14489f !important;
    text-align:left !important;
}

/* on supprime le rond / badge du haut */
.icp-parrain-badge{
    display:none !important;
}

/* on supprime la vague blanche */
.icp-parrain-section:after{
    display:none !important;
    content:none !important;
}

/* la card devient un vrai hero plein */
.icp-parrain-card{
    position:relative !important;
    z-index:1 !important;
    display:block !important;
    width:100% !important;
    max-width:none !important;
    height:460px !important;
    margin:0 !important;
    padding:0 !important;
    border:none !important;
    outline:none !important;
    border-radius:0 !important;
    overflow:hidden !important;
    cursor:pointer !important;
    background:#14489f !important;
    box-shadow:none !important;
}

/* aucune bordure horrible */
.icp-parrain-card,
.icp-parrain-card *,
.icp-card-front,
.icp-card-front *{
    box-sizing:border-box;
}

.icp-parrain-card:hover{
    transform:none !important;
    box-shadow:none !important;
}

.icp-parrain-img{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center 28% !important;
    display:block !important;
    filter:brightness(.72) saturate(1.08) contrast(1.04) !important;
    transform:scale(1.01);
}

/* overlay propre */
.icp-parrain-card:before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:2 !important;
    background:
        linear-gradient(90deg, rgba(7,25,67,.92) 0%, rgba(20,72,159,.72) 38%, rgba(7,25,67,.18) 72%, rgba(7,25,67,.36) 100%),
        linear-gradient(0deg, rgba(0,0,0,.35), rgba(0,0,0,.05)) !important;
    pointer-events:none !important;
}

.icp-parrain-overlay{
    position:absolute !important;
    inset:0 !important;
    z-index:3 !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:flex-start !important;
    text-align:left !important;
    width:100% !important;
    max-width:1240px !important;
    margin:0 auto !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    padding:56px 7vw !important;
    background:transparent !important;
    color:#fff !important;
}

/* on enlève le petit rond bleu "parrain 2026" dans la carte */
.icp-parrain-overlay span{
    display:block !important;
    margin:0 0 18px !important;
    padding:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#2f87ff !important;
    font-size:18px !important;
    line-height:1 !important;
    font-weight:950 !important;
    text-transform:uppercase !important;
    letter-spacing:.045em !important;
}

.icp-parrain-overlay h2{
    order:2;
    margin:0 0 10px !important;
    max-width:720px !important;
    color:#fff !important;
    font-size:54px !important;
    line-height:.98 !important;
    font-weight:950 !important;
    letter-spacing:-.04em !important;
    text-shadow:0 14px 34px rgba(0,0,0,.32) !important;
}

.icp-parrain-overlay p{
    order:3;
    margin:0 !important;
    color:#fff !important;
    font-size:20px !important;
    line-height:1.35 !important;
    font-weight:800 !important;
    opacity:.94 !important;
}

/* Texte de présence en grand via CSS avec data impossible, donc on garde celui déjà dans l'image si présent */

/* ===== SEARCH + FILTRES ===== */
.icp-tools-front{
    max-width:1180px !important;
    margin:-18px auto 42px !important;
    padding:0 22px !important;
    display:grid !important;
    gap:22px !important;
    position:relative !important;
    z-index:5 !important;
}

.icp-search-wrap{
    width:min(880px,100%) !important;
    margin:0 auto !important;
    position:relative !important;
}

.icp-search-icon{
    position:absolute !important;
    left:26px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    color:#14489f !important;
    opacity:.95 !important;
    font-size:30px !important;
    z-index:2 !important;
}

.icp-search-input{
    width:100% !important;
    height:66px !important;
    border:none !important;
    outline:none !important;
    border-radius:999px !important;
    background:#fff !important;
    color:#071327 !important;
    padding:0 30px 0 76px !important;
    font-size:16px !important;
    box-shadow:0 18px 46px rgba(7,19,39,.12) !important;
    transition:.25s ease !important;
}

.icp-search-input:focus{
    box-shadow:0 20px 55px rgba(20,72,159,.22) !important;
    transform:translateY(-2px) !important;
}

.icp-filter-front{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    gap:14px !important;
}

.icp-filter-btn{
    border:none !important;
    border-radius:14px !important;
    background:#fff !important;
    color:#17213a !important;
    padding:13px 22px !important;
    font-size:14px !important;
    line-height:1 !important;
    font-weight:850 !important;
    cursor:pointer !important;
    box-shadow:0 10px 28px rgba(7,19,39,.08) !important;
    transition:.22s ease !important;
}

.icp-filter-btn:hover{
    transform:translateY(-2px) !important;
    color:#14489f !important;
    box-shadow:0 14px 34px rgba(20,72,159,.16) !important;
}

.icp-filter-btn.is-active{
    background:#14489f !important;
    color:#fff !important;
    box-shadow:0 16px 36px rgba(20,72,159,.32) !important;
}

/* ===== CARTES INTERVENANTS ===== */
.icp-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(240px,350px)) !important;
    gap:28px !important;
    justify-content:center !important;
    align-items:start !important;
    max-width:1180px !important;
    margin:0 auto !important;
    padding:0 22px !important;
}

/* carte entière = image, pas de bordure */
.icp-card-front{
    position:relative !important;
    width:100% !important;
    aspect-ratio:1/1 !important;
    overflow:hidden !important;
    border:none !important;
    outline:none !important;
    border-radius:18px !important;
    background:#14489f !important;
    box-shadow:0 18px 42px rgba(7,19,39,.16) !important;
    transition:transform .25s ease, box-shadow .25s ease !important;
}

.icp-card-front:hover{
    transform:translateY(-7px) !important;
    box-shadow:0 26px 58px rgba(7,19,39,.24) !important;
}

/* supprime toute fausse bordure inset */
.icp-card-front:after{
    display:none !important;
    content:none !important;
}

.icp-card-button{
    width:100% !important;
    height:100% !important;
    padding:0 !important;
    border:none !important;
    background:transparent !important;
    display:block !important;
    cursor:pointer !important;
}

.icp-photo{
    width:100% !important;
    height:100% !important;
    border-radius:0 !important;
    overflow:hidden !important;
    background:#14489f !important;
}

.icp-photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center top !important;
    display:block !important;
    border:none !important;
    transition:transform .35s ease, filter .35s ease !important;
}

.icp-card-front:hover .icp-photo img{
    transform:scale(1.045) !important;
    filter:saturate(1.08) contrast(1.04) !important;
}

/* garde les noms cachés */
.icp-card-name{
    display:none !important;
}

.icp-see-more{
    border:none !important;
    border-radius:999px !important;
    padding:15px 30px !important;
    background:#14489f !important;
    color:#fff !important;
    font-weight:900 !important;
    box-shadow:0 14px 34px rgba(20,72,159,.28) !important;
    cursor:pointer !important;
}

/* Responsive */
@media(max-width:900px){
    .icp-parrain-section,
    .icp-parrain-card{
        height:390px !important;
        min-height:390px !important;
    }

    .icp-parrain-overlay{
        padding:42px 28px !important;
    }

    .icp-parrain-overlay h2{
        font-size:42px !important;
    }

    .icp-grid{
        grid-template-columns:repeat(2,minmax(160px,1fr)) !important;
    }
}

@media(max-width:560px){
    .icp-parrain-section,
    .icp-parrain-card{
        height:340px !important;
        min-height:340px !important;
    }

    .icp-parrain-overlay h2{
        font-size:34px !important;
    }

    .icp-parrain-overlay span{
        font-size:14px !important;
    }

    .icp-parrain-overlay p{
        font-size:16px !important;
    }

    .icp-search-input{
        height:58px !important;
        font-size:14px !important;
    }

    .icp-filter-front{
        justify-content:flex-start !important;
        overflow-x:auto !important;
        flex-wrap:nowrap !important;
        padding-bottom:4px !important;
    }

    .icp-filter-btn{
        white-space:nowrap !important;
    }

    .icp-grid{
        grid-template-columns:1fr !important;
        max-width:380px !important;
    }
}


/* ==========================================================
   CORRECTION PARRAIN - pas de degradé bleu sur la photo
   Le parrain reste en hero propre, la photo est préservée.
   ========================================================== */
.icp-parrain-section{
    background:#fff !important;
    min-height:460px !important;
}

.icp-parrain-card{
    background:#071943 !important;
    height:460px !important;
    min-height:460px !important;
}

.icp-parrain-img{
    filter:brightness(.94) saturate(1.04) contrast(1.02) !important;
    object-position:center center !important;
    transform:none !important;
}

/* On retire le gros dégradé bleu gauche -> droite */
.icp-parrain-card:before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:2 !important;
    background:
        linear-gradient(0deg,
            rgba(0,0,0,.78) 0%,
            rgba(0,0,0,.52) 24%,
            rgba(0,0,0,.18) 48%,
            rgba(0,0,0,0) 72%
        ) !important;
    pointer-events:none !important;
}

/* Texte posé en bas, sans voile bleu sur tout le visage/la photo */
.icp-parrain-overlay{
    inset:0 !important;
    left:0 !important;
    transform:none !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 7vw 48px !important;
    justify-content:flex-end !important;
    align-items:flex-start !important;
    text-align:left !important;
    background:transparent !important;
}

.icp-parrain-overlay span{
    display:inline-flex !important;
    width:auto !important;
    margin:0 0 14px !important;
    padding:8px 14px !important;
    border-radius:999px !important;
    background:#14489f !important;
    color:#fff !important;
    font-size:13px !important;
    line-height:1 !important;
    font-weight:950 !important;
    letter-spacing:.06em !important;
    box-shadow:0 10px 24px rgba(0,0,0,.22) !important;
}

.icp-parrain-overlay h2{
    max-width:760px !important;
    margin:0 0 8px !important;
    color:#fff !important;
    font-size:54px !important;
    line-height:1 !important;
    letter-spacing:-.035em !important;
    text-shadow:0 8px 24px rgba(0,0,0,.55) !important;
}

.icp-parrain-overlay p{
    color:rgba(255,255,255,.94) !important;
    text-shadow:0 5px 18px rgba(0,0,0,.48) !important;
}

@media(max-width:900px){
    .icp-parrain-section,
    .icp-parrain-card{
        height:390px !important;
        min-height:390px !important;
    }
    .icp-parrain-overlay{
        padding:0 28px 36px !important;
    }
    .icp-parrain-overlay h2{
        font-size:42px !important;
    }
}

@media(max-width:560px){
    .icp-parrain-section,
    .icp-parrain-card{
        height:340px !important;
        min-height:340px !important;
    }
    .icp-parrain-overlay{
        padding:0 22px 30px !important;
    }
    .icp-parrain-overlay h2{
        font-size:34px !important;
    }
}

/* ==========================================================
   V42 - PARRAIN CLEAN : plus aucun voile/degrade bleu sur la photo
   Mise en page premium split : texte a gauche, photo intacte a droite.
   ========================================================== */
.icp-parrain-section{
    background:#fff !important;
    padding:0 14px 46px !important;
    margin:0 auto 44px !important;
    min-height:0 !important;
    border-radius:0 !important;
    overflow:visible !important;
}
.icp-parrain-section:after{display:none !important;content:none !important;}
.icp-parrain-badge{display:none !important;}
.icp-parrain-card{
    width:min(1140px,100%) !important;
    height:460px !important;
    min-height:460px !important;
    margin:0 auto !important;
    border-radius:0 !important;
    overflow:hidden !important;
    background:#fff !important;
    box-shadow:none !important;
    display:block !important;
}
.icp-parrain-card:hover{transform:none !important;box-shadow:none !important;}
.icp-parrain-card:before,
.icp-parrain-card:after{
    display:none !important;
    content:none !important;
    background:none !important;
}
.icp-parrain-img{
    position:absolute !important;
    inset:0 !important;
    z-index:1 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    filter:none !important;
    opacity:1 !important;
    transform:none !important;
}
.icp-parrain-overlay{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    bottom:0 !important;
    right:auto !important;
    z-index:4 !important;
    width:38% !important;
    min-width:360px !important;
    max-width:455px !important;
    height:100% !important;
    padding:56px 46px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:flex-start !important;
    text-align:left !important;
    background:#fff !important;
    color:#071327 !important;
    box-shadow:18px 0 38px rgba(255,255,255,.92) !important;
}
.icp-parrain-overlay:after{
    content:"" !important;
    position:absolute !important;
    top:0 !important;
    right:-90px !important;
    width:90px !important;
    height:100% !important;
    background:linear-gradient(to right,rgba(255,255,255,1),rgba(255,255,255,0)) !important;
    pointer-events:none !important;
}
.icp-parrain-overlay span{
    position:relative !important;
    z-index:2 !important;
    margin:0 0 18px !important;
    padding:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#14489f !important;
    font-size:17px !important;
    line-height:1.1 !important;
    font-weight:950 !important;
    letter-spacing:.05em !important;
    text-transform:uppercase !important;
    box-shadow:none !important;
}
.icp-parrain-overlay h2{
    position:relative !important;
    z-index:2 !important;
    max-width:100% !important;
    margin:0 0 10px !important;
    color:#071327 !important;
    font-size:54px !important;
    line-height:1 !important;
    letter-spacing:-.045em !important;
    font-weight:950 !important;
    text-shadow:none !important;
}
.icp-parrain-overlay p{
    position:relative !important;
    z-index:2 !important;
    margin:0 !important;
    color:#22304a !important;
    font-size:20px !important;
    font-weight:850 !important;
    text-shadow:none !important;
}
.icp-bio iframe,.icp-bio embed,.icp-bio video{
    width:100% !important;
    max-width:100% !important;
    aspect-ratio:16/9 !important;
    height:auto !important;
    border:0 !important;
    border-radius:16px !important;
    overflow:hidden !important;
    margin:16px 0 !important;
}
.icp-bio ul,.icp-bio ol{margin:12px 0 16px 22px !important;}
.icp-bio a{color:#14489f !important;font-weight:800;text-decoration:underline;}
@media(max-width:820px){
    .icp-parrain-card{height:auto !important;min-height:0 !important;display:flex !important;flex-direction:column-reverse !important;background:#fff !important;}
    .icp-parrain-img{position:relative !important;height:330px !important;inset:auto !important;display:block !important;}
    .icp-parrain-overlay{position:relative !important;width:100% !important;min-width:0 !important;max-width:none !important;height:auto !important;padding:28px 22px !important;box-shadow:none !important;}
    .icp-parrain-overlay:after{display:none !important;content:none !important;}
    .icp-parrain-overlay h2{font-size:38px !important;}
    .icp-parrain-overlay p{font-size:17px !important;}
}

/* ==========================================================
   V43 - PARRAIN PREMIUM : image intacte + panneau texte propre
   Aucun degrade bleu sur la photo, aucun voile gauche-droite.
   ========================================================== */
.icp-parrain-section{
    background:#fff !important;
    padding:0 14px 42px !important;
    margin:0 auto 42px !important;
    border-radius:0 !important;
    overflow:visible !important;
}
.icp-parrain-section:after,
.icp-parrain-badge{display:none !important;content:none !important;}
.icp-parrain-card{
    position:relative !important;
    width:min(1140px,100%) !important;
    height:460px !important;
    margin:0 auto !important;
    overflow:hidden !important;
    border-radius:22px !important;
    background:#071327 !important;
    box-shadow:0 24px 54px rgba(7,19,39,.16) !important;
    isolation:isolate !important;
}
.icp-parrain-card:hover{transform:translateY(-2px) !important;box-shadow:0 30px 64px rgba(7,19,39,.18) !important;}
.icp-parrain-card:before,
.icp-parrain-card:after,
.icp-parrain-overlay:after{
    display:none !important;
    content:none !important;
    background:none !important;
    box-shadow:none !important;
}
.icp-parrain-img{
    position:absolute !important;
    inset:0 !important;
    z-index:1 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    filter:none !important;
    opacity:1 !important;
    transform:none !important;
}
.icp-parrain-overlay{
    position:absolute !important;
    z-index:3 !important;
    left:42px !important;
    top:50% !important;
    bottom:auto !important;
    right:auto !important;
    transform:translateY(-50%) !important;
    width:min(390px,calc(100% - 84px)) !important;
    height:auto !important;
    min-width:0 !important;
    max-width:none !important;
    padding:32px 34px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:flex-start !important;
    text-align:left !important;
    color:#071327 !important;
    background:rgba(255,255,255,.94) !important;
    border:1px solid rgba(255,255,255,.75) !important;
    border-radius:24px !important;
    box-shadow:0 24px 55px rgba(7,19,39,.22) !important;
    backdrop-filter:blur(8px) !important;
}
.icp-parrain-overlay span{
    display:block !important;
    margin:0 0 14px !important;
    padding:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#14489f !important;
    font-size:15px !important;
    line-height:1.1 !important;
    font-weight:950 !important;
    letter-spacing:.06em !important;
    text-transform:uppercase !important;
    box-shadow:none !important;
}
.icp-parrain-overlay h2{
    margin:0 0 10px !important;
    color:#071327 !important;
    font-size:50px !important;
    line-height:.98 !important;
    letter-spacing:-.045em !important;
    font-weight:950 !important;
    text-shadow:none !important;
}
.icp-parrain-overlay p{
    margin:0 !important;
    color:#25314a !important;
    font-size:19px !important;
    line-height:1.25 !important;
    font-weight:850 !important;
    text-shadow:none !important;
}
@media(max-width:820px){
    .icp-parrain-section{padding:0 12px 34px !important;}
    .icp-parrain-card{height:auto !important;min-height:0 !important;border-radius:20px !important;display:flex !important;flex-direction:column !important;background:#fff !important;}
    .icp-parrain-img{position:relative !important;inset:auto !important;height:330px !important;display:block !important;object-position:center center !important;}
    .icp-parrain-overlay{position:relative !important;left:auto !important;top:auto !important;transform:none !important;width:100% !important;padding:26px 24px !important;border-radius:0 !important;border:0 !important;background:#fff !important;box-shadow:none !important;backdrop-filter:none !important;}
    .icp-parrain-overlay h2{font-size:38px !important;}
    .icp-parrain-overlay p{font-size:17px !important;}
}

/* ==========================================================
   V44 - PARRAIN SANS AUCUN FONDU SUR LA PHOTO
   La photo est dans un bloc séparé : aucun gradient, voile, overlay,
   fondu blanc/bleu/noir ou filtre ne passe dessus.
   ========================================================== */
.icp-parrain-section{
    background:#fff !important;
    padding:0 14px 42px !important;
    margin:0 auto 42px !important;
    border-radius:0 !important;
    overflow:visible !important;
}
.icp-parrain-section:before,
.icp-parrain-section:after,
.icp-parrain-badge{
    display:none !important;
    content:none !important;
    background:none !important;
}
.icp-parrain-card{
    position:relative !important;
    display:grid !important;
    grid-template-columns:380px 1fr !important;
    align-items:stretch !important;
    width:min(1140px,100%) !important;
    height:460px !important;
    margin:0 auto !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    overflow:hidden !important;
    background:#fff !important;
    box-shadow:none !important;
    cursor:pointer !important;
    isolation:isolate !important;
}
.icp-parrain-card:hover{
    transform:none !important;
    box-shadow:none !important;
}
.icp-parrain-card:before,
.icp-parrain-card:after,
.icp-parrain-overlay:before,
.icp-parrain-overlay:after{
    display:none !important;
    content:none !important;
    background:none !important;
    box-shadow:none !important;
    opacity:0 !important;
}
.icp-parrain-overlay{
    position:relative !important;
    z-index:2 !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    transform:none !important;
    grid-column:1 !important;
    grid-row:1 !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:100% !important;
    padding:42px 34px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:flex-start !important;
    text-align:left !important;
    color:#071327 !important;
    background:#fff !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
}
.icp-parrain-img{
    position:relative !important;
    z-index:1 !important;
    grid-column:2 !important;
    grid-row:1 !important;
    inset:auto !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    opacity:1 !important;
    filter:none !important;
    transform:none !important;
    mix-blend-mode:normal !important;
}
.icp-parrain-overlay span{
    display:block !important;
    margin:0 0 18px !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    color:#14489f !important;
    font-size:15px !important;
    line-height:1.1 !important;
    font-weight:950 !important;
    letter-spacing:.06em !important;
    text-transform:uppercase !important;
}
.icp-parrain-overlay h2{
    margin:0 0 12px !important;
    color:#071327 !important;
    font-size:54px !important;
    line-height:.96 !important;
    letter-spacing:-.05em !important;
    font-weight:950 !important;
    text-shadow:none !important;
}
.icp-parrain-overlay p{
    margin:0 !important;
    color:#25314a !important;
    font-size:20px !important;
    line-height:1.25 !important;
    font-weight:850 !important;
    text-shadow:none !important;
}
@media(max-width:900px){
    .icp-parrain-card{
        height:auto !important;
        display:flex !important;
        flex-direction:column !important;
        background:#fff !important;
    }
    .icp-parrain-img{
        width:100% !important;
        height:340px !important;
        order:1 !important;
        object-position:center center !important;
    }
    .icp-parrain-overlay{
        width:100% !important;
        height:auto !important;
        order:2 !important;
        padding:26px 10px 0 !important;
        background:#fff !important;
    }
    .icp-parrain-overlay h2{font-size:42px !important;}
    .icp-parrain-overlay p{font-size:18px !important;}
}

/* =========================================================
   V45 - PARRAIN HERO FULL IMAGE : photo pleine zone, texte par-dessus
   Aucun fondu, aucun dégradé, aucun voile de couleur sur l'image.
   ========================================================= */
.icp-parrain-section{
    width:100% !important;
    max-width:1140px !important;
    margin:0 auto 48px !important;
    padding:0 !important;
    background:transparent !important;
    border-radius:0 !important;
    overflow:visible !important;
}
.icp-parrain-section:before,
.icp-parrain-section:after,
.icp-parrain-badge{
    display:none !important;
    content:none !important;
    background:none !important;
    box-shadow:none !important;
}
.icp-parrain-card{
    position:relative !important;
    display:block !important;
    width:100% !important;
    height:460px !important;
    margin:0 auto !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    overflow:hidden !important;
    background:transparent !important;
    box-shadow:none !important;
    isolation:isolate !important;
}
.icp-parrain-card:hover{
    transform:none !important;
    box-shadow:none !important;
}
.icp-parrain-card:before,
.icp-parrain-card:after,
.icp-parrain-overlay:before,
.icp-parrain-overlay:after{
    display:none !important;
    content:none !important;
    background:none !important;
    background-image:none !important;
    box-shadow:none !important;
    opacity:0 !important;
}
.icp-parrain-img{
    position:absolute !important;
    inset:0 !important;
    z-index:1 !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    opacity:1 !important;
    filter:none !important;
    transform:none !important;
    mix-blend-mode:normal !important;
}
.icp-parrain-overlay{
    position:absolute !important;
    inset:0 auto 0 0 !important;
    z-index:3 !important;
    width:min(46%,430px) !important;
    height:100% !important;
    padding:48px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:flex-start !important;
    text-align:left !important;
    color:#fff !important;
    background:transparent !important;
    background-image:none !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
}
.icp-parrain-overlay span{
    display:block !important;
    margin:0 0 18px !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    color:#fff !important;
    font-size:15px !important;
    line-height:1.1 !important;
    font-weight:950 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
    text-shadow:0 3px 14px rgba(0,0,0,.65) !important;
}
.icp-parrain-overlay h2{
    margin:0 0 12px !important;
    color:#fff !important;
    font-size:56px !important;
    line-height:.96 !important;
    letter-spacing:-.05em !important;
    font-weight:950 !important;
    text-shadow:0 4px 18px rgba(0,0,0,.72) !important;
}
.icp-parrain-overlay p{
    margin:0 !important;
    color:#fff !important;
    font-size:20px !important;
    line-height:1.25 !important;
    font-weight:850 !important;
    text-shadow:0 3px 14px rgba(0,0,0,.7) !important;
}
@media(max-width:900px){
    .icp-parrain-section{padding:0 12px 34px !important;}
    .icp-parrain-card{height:420px !important;}
    .icp-parrain-overlay{width:100% !important;padding:28px !important;justify-content:flex-end !important;}
    .icp-parrain-overlay h2{font-size:42px !important;}
    .icp-parrain-overlay p{font-size:18px !important;}
}

/* =========================================================
   V46 - Regroupement alphabétique par pôle côté front
   ========================================================= */
.icp-poles-list{
    max-width:1140px !important;
    margin:0 auto !important;
    padding:0 18px !important;
    display:grid !important;
    gap:46px !important;
}
.icp-pole-section{
    display:block !important;
}
.icp-pole-section.is-section-hidden{
    display:none !important;
}
.icp-pole-title-wrap{
    margin:0 0 22px !important;
    padding:18px 24px !important;
    border-radius:0 !important;
    background:#14489f !important;
    color:#fff !important;
    box-shadow:0 18px 38px rgba(20,72,159,.18) !important;
}
.icp-pole-kicker{
    margin:0 0 4px !important;
    color:rgba(255,255,255,.82) !important;
    font-size:13px !important;
    line-height:1.15 !important;
    font-weight:900 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
}
.icp-pole-title{
    margin:0 !important;
    color:#fff !important;
    font-size:30px !important;
    line-height:1.08 !important;
    font-weight:950 !important;
    letter-spacing:-.03em !important;
}
.icp-pole-grid.icp-grid{
    padding:0 !important;
    justify-content:start !important;
    grid-template-columns:repeat(3,minmax(240px,1fr)) !important;
}
@media(max-width:980px){
    .icp-pole-grid.icp-grid{grid-template-columns:repeat(2,minmax(240px,1fr)) !important;}
}
@media(max-width:660px){
    .icp-poles-list{padding:0 12px !important;gap:34px !important;}
    .icp-pole-title-wrap{padding:16px 18px !important;}
    .icp-pole-title{font-size:24px !important;}
    .icp-pole-grid.icp-grid{grid-template-columns:1fr !important;}
}

/* Couleurs dynamiques des catégories */
.icp-filter-btn[style*="--icp-cat-color"]{border-color:color-mix(in srgb,var(--icp-cat-color) 35%,transparent)!important;color:var(--icp-cat-color)!important}.icp-filter-btn[style*="--icp-cat-color"]:hover{box-shadow:0 14px 28px color-mix(in srgb,var(--icp-cat-color) 18%,transparent)!important}.icp-filter-btn[style*="--icp-cat-color"].is-active{background:var(--icp-cat-color)!important;border-color:var(--icp-cat-color)!important;color:#fff!important;box-shadow:0 14px 30px color-mix(in srgb,var(--icp-cat-color) 30%,transparent)!important}.icp-pole-section{--icp-cat-color:#14489f}.icp-pole-title-wrap{border-left:8px solid var(--icp-cat-color)!important;background:linear-gradient(135deg,color-mix(in srgb,var(--icp-cat-color) 11%,#fff),#fff)!important}.icp-pole-kicker{color:var(--icp-cat-color)!important}.icp-pole-title{color:var(--icp-cat-color)!important}.icp-modal-tag{background:color-mix(in srgb,var(--icp-cat-color) 12%,#fff)!important;color:var(--icp-cat-color)!important}
