/* Sprint 1 — Popup connexion adhérents 12R */
.member-login-popup{
    position:fixed;
    inset:0;
    z-index:100000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .24s ease, visibility .24s ease;
    font-family:inherit;
}
.member-login-popup.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}
.member-login-popup__backdrop{
    position:absolute;
    inset:0;
    background:rgba(3,18,38,.72);
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
}
.member-login-popup__dialog{
    position:relative;
    width:min(100%,570px);
    max-height:calc(100vh - 32px);
    overflow:auto;
    padding:0 30px 26px;
    border:1px solid rgba(255,255,255,.58);
    border-radius:22px;
    background:#fff;
    color:#16314f;
    box-shadow:0 28px 80px rgba(0,20,48,.38);
    transform:translateY(18px) scale(.98);
    transition:transform .28s ease;
}
.member-login-popup.is-open .member-login-popup__dialog{
    transform:translateY(0) scale(1);
}
.member-login-popup__close{
    position:absolute;
    top:12px;
    right:14px;
    z-index:2;
    width:38px;
    height:38px;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.18);
    color:#fff;
    font-size:29px;
    line-height:1;
    cursor:pointer;
}
.member-login-popup__close:hover,
.member-login-popup__close:focus-visible{
    background:rgba(255,255,255,.30);
    outline:2px solid #fff;
    outline-offset:2px;
}
.member-login-popup__header{
    display:grid;
    grid-template-columns:68px minmax(0,1fr);
    gap:16px;
    align-items:center;
    margin:0 -30px 22px;
    padding:25px 68px 23px 30px;
    color:#fff;
    background:linear-gradient(135deg,#06366c 0%,#0b64b3 100%);
    border-radius:22px 22px 0 0;
}
.member-login-popup__icon{
    width:62px;
    height:62px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    background:rgba(255,255,255,.15);
    border:1px solid rgba(255,255,255,.22);
    font-size:30px;
}
.member-login-popup__eyebrow{
    display:block;
    margin-bottom:4px;
    color:#cfe8ff;
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.12em;
}
.member-login-popup h2{
    margin:0;
    color:#fff;
    font-size:clamp(1.35rem,4vw,1.9rem);
    line-height:1.12;
}
.member-login-popup__intro{
    margin:0 0 18px;
    color:#334e6d;
    font-size:1.02rem;
    line-height:1.55;
}
.member-login-popup__benefits{
    display:grid;
    gap:10px;
    margin:0 0 18px;
    padding:0;
    list-style:none;
}
.member-login-popup__benefits li{
    display:grid;
    grid-template-columns:25px minmax(0,1fr);
    align-items:start;
    color:#183b61;
    font-weight:700;
    line-height:1.4;
}
.member-login-popup__benefits span{
    display:flex;
    align-items:center;
    justify-content:center;
    width:20px;
    height:20px;
    margin-top:1px;
    border-radius:50%;
    color:#fff;
    background:#16844b;
    font-size:.72rem;
    font-weight:900;
}
.member-login-popup__notice{
    margin-bottom:21px;
    padding:13px 15px;
    border-left:4px solid #e64946;
    border-radius:9px;
    color:#4a3650;
    background:#fff5f4;
    line-height:1.42;
}
.member-login-popup__notice strong{
    display:block;
    color:#9d2523;
}
.member-login-popup__actions{
    display:grid;
    gap:9px;
}
.member-login-popup__actions a,
.member-login-popup__later{
    min-height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:10px 16px;
    border-radius:11px;
    text-align:center;
    text-decoration:none;
    font-weight:900;
    cursor:pointer;
}
.member-login-popup__primary{
    color:#fff;
    background:#d52d2a;
    box-shadow:0 8px 18px rgba(213,45,42,.24);
}
.member-login-popup__primary:hover,
.member-login-popup__primary:focus-visible{
    background:#b92321;
}
.member-login-popup__secondary{
    color:#07376c;
    border:2px solid #0b5ea8;
    background:#fff;
}
.member-login-popup__secondary:hover,
.member-login-popup__secondary:focus-visible{
    background:#edf6ff;
}
.member-login-popup__later{
    min-height:34px;
    border:0;
    color:#617188;
    background:transparent;
    font-weight:700;
}
.member-login-popup__later:hover,
.member-login-popup__later:focus-visible{
    color:#263f5c;
    text-decoration:underline;
}
body.member-login-popup-open{
    overflow:hidden;
}
@media(max-width:600px){
    .member-login-popup{
        padding:10px;
        align-items:flex-end;
    }
    .member-login-popup__dialog{
        width:100%;
        max-height:calc(100vh - 12px);
        padding:0 20px 20px;
        border-radius:20px 20px 12px 12px;
    }
    .member-login-popup__header{
        grid-template-columns:52px minmax(0,1fr);
        gap:12px;
        margin:0 -20px 18px;
        padding:19px 53px 18px 20px;
        border-radius:20px 20px 0 0;
    }
    .member-login-popup__icon{
        width:50px;
        height:50px;
        border-radius:14px;
        font-size:24px;
    }
    .member-login-popup__intro{
        font-size:.96rem;
    }
}
@media(prefers-reduced-motion:reduce){
    .member-login-popup,
    .member-login-popup__dialog{
        transition:none;
    }
}


/* Sprint 2 — contenu Premium et preuve sociale */
.member-login-popup__premium{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    gap:12px;
    align-items:center;
    margin:0 0 16px;
    padding:13px 14px;
    border:1px solid #f0d575;
    border-radius:13px;
    background:linear-gradient(135deg,#fff9df 0%,#fffef7 100%);
    color:#6d4a00;
}
.member-login-popup__premium-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border-radius:12px;
    background:#fff;
    font-size:22px;
    box-shadow:0 4px 12px rgba(116,77,0,.10);
}
.member-login-popup__premium strong,
.member-login-popup__premium span{
    display:block;
}
.member-login-popup__premium strong{
    margin-bottom:3px;
    color:#614000;
    font-size:.98rem;
}
.member-login-popup__premium span{
    color:#725c2d;
    font-size:.86rem;
    line-height:1.35;
}
.member-login-popup__social-proof{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:12px;
    align-items:center;
    margin-bottom:8px;
    padding:12px 14px;
    border-radius:13px;
    background:#eef7ff;
    border:1px solid #cde5fa;
}
.member-login-popup__social-number{
    min-width:64px;
    color:#0758a4;
    font-size:1.65rem;
    font-weight:950;
    line-height:1;
    text-align:center;
}
.member-login-popup__social-copy strong,
.member-login-popup__social-copy span{
    display:block;
}
.member-login-popup__social-copy strong{
    color:#153d65;
    font-size:.94rem;
}
.member-login-popup__social-copy span{
    margin-top:2px;
    color:#59718a;
    font-size:.8rem;
}
.member-login-popup__progress{
    height:7px;
    margin:0 2px 17px;
    overflow:hidden;
    border-radius:999px;
    background:#dce9f4;
}
.member-login-popup__progress span{
    display:block;
    height:100%;
    min-width:4px;
    border-radius:inherit;
    background:linear-gradient(90deg,#0b64b3,#16844b);
}
@media(max-width:600px){
    .member-login-popup__premium{
        grid-template-columns:36px minmax(0,1fr);
        gap:10px;
        padding:11px 12px;
    }
    .member-login-popup__premium-icon{
        width:36px;
        height:36px;
        font-size:19px;
    }
    .member-login-popup__social-number{
        min-width:52px;
        font-size:1.4rem;
    }
}


/* Sprint 3 — mise en avant dynamique */
.member-login-popup__highlight{
    display:grid;
    grid-template-columns:48px minmax(0,1fr);
    gap:13px;
    align-items:start;
    margin:0 0 16px;
    padding:14px;
    border:1px solid #f0d575;
    border-radius:14px;
    background:linear-gradient(135deg,#fff9df 0%,#fffef7 100%);
}
.member-login-popup__highlight-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    border-radius:13px;
    background:#fff;
    box-shadow:0 5px 14px rgba(35,56,78,.11);
    font-size:25px;
}
.member-login-popup__highlight-label{
    display:block;
    margin-bottom:3px;
    color:#8a6100;
    font-size:.7rem;
    font-weight:950;
    letter-spacing:.08em;
}
.member-login-popup__highlight-copy strong{
    display:block;
    color:#3e2e08;
    font-size:1rem;
    line-height:1.25;
}
.member-login-popup__highlight-copy p{
    margin:4px 0 0;
    color:#705d2f;
    font-size:.86rem;
    line-height:1.38;
}
.member-login-popup__highlight--article{
    border-color:#f0d575;
    background:linear-gradient(135deg,#fff8d9,#fffef8);
}
.member-login-popup__highlight--document{
    border-color:#b9d9f3;
    background:linear-gradient(135deg,#edf7ff,#fbfdff);
}
.member-login-popup__highlight--auction{
    border-color:#e6c0a6;
    background:linear-gradient(135deg,#fff2e8,#fffaf6);
}
.member-login-popup__highlight--contest{
    border-color:#badfc7;
    background:linear-gradient(135deg,#eefaf2,#fbfffc);
}
.member-login-popup__context{
    color:#fff;
    background:#0b64b3;
}
.member-login-popup__context:hover,
.member-login-popup__context:focus-visible{
    background:#084d89;
}
@media(max-width:600px){
    .member-login-popup__highlight{
        grid-template-columns:40px minmax(0,1fr);
        gap:10px;
        padding:12px;
    }
    .member-login-popup__highlight-icon{
        width:40px;
        height:40px;
        font-size:21px;
    }
}
