/*
Theme Name: TOP80 Radio Neon Maquette
Version: 1.5
*/

*{box-sizing:border-box}

body{
    margin:0;
    padding:0;
    background:#05000d;
    color:#fff;
    font-family:Arial,Helvetica,sans-serif;
}

a{color:inherit;text-decoration:none}

/* =========================
   HEADER
========================= */

.header{
    min-height:126px;
    padding:8px 4% 12px;

    display:grid;
    grid-template-columns:minmax(170px,240px) minmax(0,1fr) minmax(240px,360px);
    grid-template-rows:auto minmax(72px,1fr);
    align-items:center;
    gap:6px 28px;

    background:#05000d;
    border-bottom:1px solid rgba(255,53,223,.20);
}

.top80-secondary-menu{
    grid-column:1 / 3;
    grid-row:1;
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:flex-start;
}

.top80-secondary-menu .menu{
    margin:0;
    padding:0;
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:22px;
    list-style:none;
}

.top80-secondary-menu li{
    list-style:none;
}

.top80-secondary-menu a{
    color:#f8f3fb;
    font-size:11px;
    line-height:1.2;
    font-weight:850;
    letter-spacing:.35px;
    text-transform:uppercase;
    transition:color .22s ease,text-shadow .22s ease;
}

.top80-secondary-menu a:hover,
.top80-secondary-menu .current-menu-item > a{
    color:#ff55e2;
    text-shadow:0 0 9px rgba(255,53,223,.80);
}

.brand{
    grid-column:1;
    grid-row:2;
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:flex-start;
}

.brand a{
    display:inline-flex;
    align-items:center;
}

.top80-logo{
    display:block;
    max-width:180px;
    max-height:82px;
    object-fit:contain;
}

.top80-logo-text{
    color:#fff;
    font-size:24px;
    font-weight:900;
    text-transform:uppercase;
}


/* Menu sur la même ligne que le logo */

.top80-menu{
    grid-column:2 / 4;
    grid-row:2;
    width:100%;
    min-width:0;

    display:flex;
    align-items:center;
    justify-content:center;
}

.top80-menu .menu{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:36px;

    margin:0;
    padding:0;

    list-style:none;
}

.top80-menu li{
    position:relative;
    list-style:none;
}

.top80-menu a{
    color:#fff;

    font-size:15px;
    font-weight:700;
    letter-spacing:1.3px;

    text-decoration:none;
    text-transform:uppercase;

    transition:
        color .25s ease,
        text-shadow .25s ease,
        transform .25s ease;
}

.top80-menu a:hover,
.top80-menu .current-menu-item > a{
    color:#ff35df;
    text-shadow:
        0 0 8px #ff35df,
        0 0 18px rgba(255,53,223,.85);
}

.top80-menu-toggle{
    display:none;
}


/* Réseaux sociaux à droite */

.top80-socials{
    grid-column:3;
    grid-row:1;
    min-width:0;

    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:12px;
}

.top80-socials a{
    width:34px;
    height:34px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:1px solid rgba(255,255,255,.16);
    border-radius:50%;

    color:#fff;
    background:rgba(255,255,255,.035);

    font-size:16px;
    line-height:1;
    text-decoration:none;

    box-shadow:
        inset 0 0 10px rgba(255,255,255,.03);

    transition:
        transform .22s ease,
        color .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}

.top80-socials a:hover{
    color:#ff4fdf;
    border-color:#ff4fdf;

    transform:translateY(-2px);

    box-shadow:
        0 0 8px rgba(255,79,223,.85),
        0 0 18px rgba(255,79,223,.40),
        inset 0 0 10px rgba(255,79,223,.10);
}

.top80-socials i{
    line-height:1;
}


/* Tablette */

@media(max-width:1100px){

    .header{
        grid-template-columns:170px minmax(0,1fr) auto;
    }

    .top80-socials{
        grid-column:3;
        grid-row:1;
        justify-content:flex-end;
    }

    .top80-secondary-menu{
        grid-column:1 / 3;
    }

    .top80-menu{
        grid-column:2 / 4;
    }

    .top80-menu .menu{
        gap:22px;
    }

    .top80-menu a{
        font-size:15px;
    }
}


/* Mobile */

@media(max-width:800px){

    .header{
        min-height:84px;
        padding:11px 18px;
        grid-template-columns:minmax(0,1fr) auto;
        grid-template-rows:auto;
        gap:12px 18px;
        text-align:left;
    }

    .brand{
        grid-column:1;
        grid-row:1;
        justify-content:flex-start;
    }

    .top80-logo{
        max-width:145px;
        max-height:62px;
    }

    .top80-menu-toggle{
        grid-column:2;
        grid-row:1;
        width:48px;
        height:44px;
        padding:0;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:6px;
        border:1px solid #ff35df;
        border-radius:11px;
        color:#fff;
        background:rgba(255,53,223,.08);
        box-shadow:
            0 0 9px rgba(255,53,223,.62),
            inset 0 0 12px rgba(255,53,223,.06);
        cursor:pointer;
    }

    .top80-menu-toggle span{
        width:25px;
        height:3px;
        display:block;
        border-radius:999px;
        background:#fff;
        box-shadow:0 0 7px rgba(255,53,223,.92);
        transition:
            transform .25s ease,
            opacity .20s ease;
    }

    .header.is-menu-open .top80-menu-toggle span:nth-child(1){
        transform:translateY(9px) rotate(45deg);
    }

    .header.is-menu-open .top80-menu-toggle span:nth-child(2){
        opacity:0;
    }

    .header.is-menu-open .top80-menu-toggle span:nth-child(3){
        transform:translateY(-9px) rotate(-45deg);
    }

    .top80-menu{
        grid-column:1 / -1;
        grid-row:2;
        width:100%;
        display:none;
        padding:17px 12px 19px;
        border:1px solid rgba(255,53,223,.40);
        border-radius:14px;
        background:
            radial-gradient(circle at top,rgba(255,53,223,.10),transparent 52%),
            rgba(7,0,18,.98);
        box-shadow:0 0 18px rgba(255,53,223,.24);
    }

    .header.is-menu-open .top80-menu{
        display:flex;
    }

    .top80-secondary-menu{
        grid-column:1 / -1;
        grid-row:3;
        width:100%;
        display:none;
        padding:15px 12px;
        border:1px solid rgba(255,53,223,.28);
        border-radius:14px;
        background:rgba(7,0,18,.96);
    }

    .header.is-menu-open .top80-secondary-menu{
        display:flex;
    }

    .top80-secondary-menu .menu{
        width:100%;
        flex-direction:column;
        align-items:stretch;
        gap:0;
    }

    .top80-secondary-menu a{
        width:100%;
        padding:11px 9px;
        display:block;
        border-bottom:1px solid rgba(255,255,255,.07);
        font-size:12px;
        text-align:center;
    }

    .top80-secondary-menu li:last-child > a{
        border-bottom:0;
    }

    .top80-menu .menu{
        width:100%;
        flex-direction:column;
        align-items:stretch;
        gap:0;
    }

    .top80-menu a{
        width:100%;
        padding:13px 10px;
        display:block;
        border-bottom:1px solid rgba(255,255,255,.08);
        font-size:14px;
        text-align:center;
    }

    .top80-menu li:last-child > a{
        border-bottom:0;
    }

    .top80-socials{
        grid-column:1 / -1;
        grid-row:4;
        display:none;
        justify-content:center;
        padding:12px 8px 5px;
    }

    .header.is-menu-open .top80-socials{
        display:flex;
    }
}

.hero{
    min-height:720px;
    padding:70px 5%;
    display:grid;
    grid-template-columns:minmax(280px,.9fr) minmax(440px,1.25fr) minmax(300px,.9fr);
    gap:42px;
    align-items:center;
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at 52% 42%,rgba(255,44,220,.22),transparent 24%),
        radial-gradient(circle at 52% 46%,rgba(58,48,255,.22),transparent 46%),
        linear-gradient(135deg,#030008 0%,#120021 48%,#05000d 100%);
}

.hero::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(90deg,transparent 0%,rgba(255,53,223,.04) 47%,transparent 100%);
}

.left,.center,.right{
    position:relative;
    z-index:2;
}

.live{
    color:#ff35df;
    font-weight:700;
    letter-spacing:1.5px;
}

.hero h1{
    margin:24px 0;
    font-size:64px;
    line-height:1.02;
}

.hero h1 b{
    color:#ff35df;
    text-shadow:0 0 18px rgba(255,53,223,.8);
}

.hero p{
    color:#ddd;
    font-size:18px;
    line-height:1.55;
}

.buttons{margin-top:28px}

button{
    padding:16px 28px;
    margin:8px 8px 8px 0;
    border:0;
    border-radius:40px;
    background:#ff35df;
    color:#fff;
    font-weight:700;
    cursor:pointer;
    transition:.25s;
}

button:hover{
    transform:translateY(-1px);
    box-shadow:0 0 25px #ff35df;
}

button.dark{
    background:#11001b;
    border:1px solid #b14cff;
}

/* Pochette réduite */
.center{
    text-align:center;
    min-width:0;
}

.live-card{
    position:relative;
    width:min(100%,560px);
    margin:0 auto;
    padding:24px 78px 58px;
    isolation:isolate;
}

.live-card::before{
    content:"";
    position:absolute;
    left:50%;
    top:44%;
    width:500px;
    height:390px;
    transform:translate(-50%,-50%);
    border-radius:50%;
    background:radial-gradient(circle,rgba(255,53,223,.28),rgba(80,36,255,.14) 48%,transparent 72%);
    filter:blur(26px);
    z-index:-3;
}

.cover-neon-frame{
    position:relative;
    z-index:4;
    padding:6px;
    border-radius:30px;
    background:linear-gradient(135deg,#53bfff 0%,#7659ff 22%,#d43dff 50%,#ff37cf 72%,#ff66dc 100%);
    box-shadow:
        0 0 8px #5bbfff,
        0 0 18px #7956ff,
        0 0 34px rgba(210,61,255,.88),
        0 0 62px rgba(255,55,207,.55);
}

.cover-neon-frame::before{
    content:"";
    position:absolute;
    inset:-10px;
    border-radius:38px;
    border:2px solid rgba(255,255,255,.72);
    box-shadow:
        0 0 10px #7fd2ff,
        0 0 24px #9a5cff,
        0 0 42px rgba(255,55,207,.8);
    pointer-events:none;
}

.cover-neon-inner{
    padding:6px;
    border-radius:24px;
    background:#05000d;
    box-shadow:inset 0 0 20px rgba(255,53,223,.35);
}

.cover-neon-inner img{
    display:block;
    width:100%;
    aspect-ratio:1/1;
    object-fit:cover;
    border-radius:18px;
    box-shadow:0 18px 38px rgba(0,0,0,.72);
}

.eq{
    position:absolute;
    top:50%;
    z-index:1;
    display:flex;
    align-items:center;
    gap:6px;
    height:170px;
    transform:translateY(-42%);
}

.eq-left{left:8px}
.eq-right{right:8px}

.eq span{
    width:6px;
    height:var(--h);
    border-radius:7px;
    background:linear-gradient(to top,#315dff,#8a45ff 46%,#ff3cda);
    box-shadow:0 0 6px #416dff,0 0 13px #8748ff,0 0 18px rgba(255,60,218,.8);
    animation:top80Eq 1.15s ease-in-out infinite alternate;
    transform-origin:center;
}

.eq span:nth-child(2){animation-delay:.10s}
.eq span:nth-child(3){animation-delay:.20s}
.eq span:nth-child(4){animation-delay:.05s}
.eq span:nth-child(5){animation-delay:.28s}
.eq span:nth-child(6){animation-delay:.14s}
.eq span:nth-child(7){animation-delay:.34s}

@keyframes top80Eq{
    from{transform:scaleY(.78);opacity:.72}
    to{transform:scaleY(1.08);opacity:1}
}

.live-label{
    position:absolute;
    left:50%;
    bottom:8px;
    z-index:7;
    transform:translateX(-50%);
    padding:10px 22px;
    white-space:nowrap;
    border:2px solid #ff42dc;
    border-radius:999px;
    background:rgba(17,0,27,.92);
    color:#fff;
    font-size:13px;
    font-weight:800;
    letter-spacing:.5px;
    text-transform:uppercase;
    text-shadow:0 0 8px rgba(255,66,220,.8);
    box-shadow:0 0 7px #ff42dc,0 0 18px rgba(255,66,220,.8),inset 0 0 12px rgba(255,66,220,.16);
}

.live-label::before,
.live-label::after{
    content:"";
    position:absolute;
    top:50%;
    width:60px;
    height:2px;
    background:linear-gradient(90deg,transparent,#ff42dc);
    box-shadow:0 0 8px #ff42dc;
}

.live-label::before{right:100%;margin-right:12px}
.live-label::after{left:100%;margin-left:12px;transform:scaleX(-1)}

.track-info{
    margin-top:24px;
    position:relative;
    z-index:8;
}

.track-artist{
    color:#ff8ce9;
    font-size:27px;
    line-height:1.1;
    font-weight:900;
    letter-spacing:1px;
    text-transform:uppercase;
    text-shadow:0 0 7px rgba(255,140,233,.85),0 0 18px rgba(255,53,223,.55);
}

.track-title{
    margin-top:9px;
    color:#fff;
    font-size:28px;
    line-height:1.12;
    font-weight:900;
    letter-spacing:.4px;
    text-transform:uppercase;
    text-shadow:0 0 8px rgba(255,255,255,.28),0 0 18px rgba(255,53,223,.32);
}

/* Vote */
.vote-panel{
    width:100%;
    max-width:390px;
    margin:0 auto;
    padding:30px 24px 24px;
    text-align:center;

    background:transparent;

    border:none;

    border-radius:0;

    box-shadow:none;
}

.vote-title{
    margin:0;
    color:#fff;
    font-size:20px;
    font-weight:900;
    letter-spacing:.5px;
    text-transform:uppercase;
}

.vote-title-line{
    width:64px;
    height:3px;
    margin:12px auto 24px;
    border-radius:999px;
    background:#ff35df;
    box-shadow:0 0 8px #ff35df,0 0 18px rgba(255,53,223,.9);
}

.vote-buttons{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:22px;
}

.vote-circle{
    width:126px;
    height:126px;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:radial-gradient(circle,rgba(28,0,43,.98) 0%,rgba(7,0,18,.98) 72%);
}

.vote-like{
    border:2px solid #ff3bd8;
    box-shadow:0 0 8px #ff3bd8,0 0 22px rgba(255,59,216,.85),inset 0 0 22px rgba(255,59,216,.12);
}

.vote-dislike{
    border:2px solid #42a9ff;
    box-shadow:0 0 8px #42a9ff,0 0 22px rgba(66,169,255,.88),inset 0 0 22px rgba(66,169,255,.12);
}

.vote-heart{
    display:block;
    color:#ff7be8;
    font-size:54px;
    line-height:.8;
    text-shadow:0 0 7px currentColor,0 0 18px currentColor;
}

.vote-dislike .vote-heart{color:#73c6ff}

.vote-heart-broken{
    position:relative;
}

.vote-heart-broken::after{
    content:"";
    position:absolute;
    top:5px;
    left:50%;
    width:3px;
    height:40px;
    background:#73c6ff;
    transform:translateX(-50%) rotate(18deg);
    clip-path:polygon(0 0,100% 0,35% 38%,100% 55%,25% 100%,0 100%,60% 58%,0 42%);
    box-shadow:0 0 6px #73c6ff,0 0 12px #73c6ff;
}

.vote-label{
    margin-top:13px;
    color:#fff;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
}

.vote-count{
    margin-top:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:5px;
    color:#fff;
    font-size:13px;
    font-weight:800;
    text-transform:uppercase;
}

.vote-count strong{
    color:#ff4fdc;
    font-size:18px;
    text-shadow:0 0 7px #ff4fdc,0 0 15px rgba(255,79,220,.75);
}

.vote-star{
    margin:0 4px;
    font-size:24px;
}

.vote-star-pink{color:#ff4fdc;text-shadow:0 0 7px #ff4fdc}
.vote-star-blue{color:#4db7ff;text-shadow:0 0 7px #4db7ff}

.ranking-button{
    min-height:58px;
    margin-top:24px;
    padding:0 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    color:#ff71e5;
    border:2px solid #ff3bd8;
    border-radius:10px;
    background:linear-gradient(135deg,rgba(255,53,223,.08),rgba(41,17,87,.12));
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    box-shadow:0 0 7px rgba(255,59,216,.7),0 0 18px rgba(255,59,216,.30),inset 0 0 15px rgba(255,59,216,.08);
}

.ranking-icon{
    height:28px;
    display:flex;
    align-items:flex-end;
    gap:3px;
}

.ranking-icon i{
    width:4px;
    border-radius:3px;
    background:#ff4fdc;
    box-shadow:0 0 6px #ff4fdc;
}

.ranking-icon i:nth-child(1){height:10px}
.ranking-icon i:nth-child(2){height:18px}
.ranking-icon i:nth-child(3){height:26px}
.ranking-icon i:nth-child(4){height:15px}

.ranking-arrow{
    color:#ff71e5;
    font-size:38px;
    line-height:.7;
    text-shadow:0 0 8px #ff4fdc;
}

.vote-pulse{
    position:relative;
    height:40px;
    margin-top:24px;
}

/* Ligne gauche */
.vote-pulse::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;

    width:44%;
    height:2px;

    transform:translateY(-50%);

    background:linear-gradient(to right,#ff3bd8,#ff3bd8);

    box-shadow:
        0 0 8px #ff3bd8,
        0 0 16px #ff3bd8;
}

/* Ligne droite */
.vote-pulse::after{
    content:"";
    position:absolute;
    right:0;
    top:50%;

    width:44%;
    height:2px;

    transform:translateY(-50%);

    background:linear-gradient(to left,#ff3bd8,#ff3bd8);

    box-shadow:
        0 0 8px #ff3bd8,
        0 0 16px #ff3bd8;
}

/* Losange */
.vote-pulse span{
    position:absolute;
    left:50%;
    top:50%;

    width:22px;
    height:22px;

    transform:translate(-50%,-50%) rotate(45deg);

    background:#12001d;

    border-left:3px solid #ff3bd8;
    border-bottom:3px solid #ff3bd8;

    box-shadow:
        0 0 10px #ff3bd8,
        0 0 20px #ff3bd8;
}

.player{
    margin:30px;
    padding:30px;
    border-radius:25px;
    text-align:center;
    background:#12001d;
    box-shadow:0 0 25px rgba(255,53,223,.2);
}

.cards{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
    margin:30px;
}

.cards div{
    padding:30px;
    border-radius:25px;
    text-align:center;
    background:#12001d;
    border:1px solid rgba(255,53,223,.2);
}

@media(max-width:1200px){
    .hero{
        grid-template-columns:1fr;
        text-align:center;
    }

    .left,.right{
        max-width:760px;
        margin:0 auto;
    }
}

@media(max-width:700px){
    .header{
        flex-direction:column;
        height:auto;
        padding:24px;
    }

    .top80-menu .menu{
        flex-direction:column;
        gap:18px;
    }

    .hero{
        padding:50px 18px;
    }

    .hero h1{
        font-size:44px;
    }

    .live-card{
        width:min(100%,430px);
        padding:20px 52px 56px;
    }

    .eq{
        gap:4px;
        transform:translateY(-42%) scale(.72);
    }

    .eq-left{
        left:-15px;
        transform-origin:left center;
    }

    .eq-right{
        right:-15px;
        transform-origin:right center;
    }

    .live-label{
        max-width:90%;
        white-space:normal;
        font-size:11px;
    }

    .live-label::before,
    .live-label::after{
        display:none;
    }

    .track-artist{font-size:24px}
    .track-title{font-size:23px}

    .vote-panel{
        padding:24px 14px;
    }

    .vote-buttons{
        gap:14px;
    }

    .vote-circle{
        width:110px;
        height:110px;
    }

    .vote-heart{
        font-size:46px;
    }

    .cards{
        grid-template-columns:1fr;
    }
}

/* =========================
   CŒUR BRISÉ SVG
========================= */

.broken-heart-icon{
    display:block;
    width:33px;
    height:31px;
    margin:0 auto 10px;
}

.broken-heart-icon svg{
    display:block;
    width:100%;
    height:100%;
    overflow:visible;
}

.broken-heart-left,
.broken-heart-right{
    fill:none;
    stroke:#73c6ff;
    stroke-width:6;
    stroke-linecap:round;
    stroke-linejoin:round;

    filter:
        drop-shadow(0 0 4px #73c6ff)
        drop-shadow(0 0 10px rgba(115,198,255,.95));

    transition:transform .25s ease;
}

/* Séparation des deux morceaux */

.broken-heart-left{
    transform:translateX(-5px);
    transform-origin:center;
}

.broken-heart-right{
    transform:translateX(5px);
    transform-origin:center;
}

/* Écartement au survol */

.vote-dislike:hover .broken-heart-left{
    transform:translateX(-8px) rotate(-3deg);
}

.vote-dislike:hover .broken-heart-right{
    transform:translateX(8px) rotate(3deg);
}

.top80-vote-notification{
    position:relative;
    z-index:20;

    margin:0 auto 18px;
    padding:12px 16px;

    max-width:340px;

    color:#fff;
    background:rgba(37,0,55,.96);

    border:1px solid #ff3bd8;
    border-radius:10px;

    font-size:13px;
    font-weight:700;
    text-align:center;

    opacity:0;
    transform:translateY(-8px);
    pointer-events:none;

    box-shadow:
        0 0 8px rgba(255,59,216,.8),
        0 0 20px rgba(255,59,216,.32);

    transition:
        opacity .25s ease,
        transform .25s ease;
}

.top80-vote-notification.is-visible{
    opacity:1;
    transform:translateY(0);
}

.top80-vote-notification.is-error{
    border-color:#42a9ff;

    box-shadow:
        0 0 8px rgba(66,169,255,.9),
        0 0 20px rgba(66,169,255,.35);
}

.vote-circle.is-voting{
    opacity:.55;
    pointer-events:none;
    animation:top80VotePulse .8s ease-in-out infinite alternate;
}

@keyframes top80VotePulse{
    from{
        transform:scale(.96);
    }

    to{
        transform:scale(1.03);
    }
}

/* =========================
   PLAYER FIXE
========================= */

body{
    padding-bottom:125px;
}

.top80-sticky-player{
    position:fixed;
    left:38px;
    right:24px;
    bottom:18px;
    z-index:99999;

    min-height:102px;
    padding:12px 28px 12px 20px;

    display:grid;
    grid-template-columns:
        62px
        82px
        minmax(240px, 360px)
        minmax(180px, 1fr)
        190px;

    align-items:center;
    gap:22px;

    color:#fff;

    background:
        linear-gradient(
            135deg,
            rgba(12,0,25,.98),
            rgba(25,0,43,.98)
        );

    border:1px solid rgba(255,53,223,.35);
    border-radius:25px;

    box-shadow:
        0 0 15px rgba(255,53,223,.30),
        0 0 45px rgba(71,66,255,.18),
        inset 0 0 24px rgba(255,53,223,.06);

    backdrop-filter:blur(14px);
}


/* Bouton lecture */

.top80-player-toggle{
    width:58px;
    height:58px;
    margin:0;
    padding:0;

    display:flex;
    align-items:center;
    justify-content:center;

    border:2px solid #ff46dc;
    border-radius:50%;

    color:#fff;
    background:#12001d;

    font-size:20px;

    box-shadow:
        0 0 8px #ff46dc,
        0 0 22px rgba(255,70,220,.75);
}


/* Pochette plus grande */

.top80-player-cover{
    position:relative;

    width:78px;
    height:78px;

    margin-left:6px;
}

.top80-player-cover::before{
    content:"";

    position:absolute;
    inset:-4px;

    border-radius:17px;

    background:
        linear-gradient(
            135deg,
            #51bfff,
            #8455ff,
            #ff35df
        );

    box-shadow:
        0 0 8px #5bbfff,
        0 0 20px rgba(255,53,223,.78);

    z-index:0;
}

.top80-player-cover img{
    position:relative;
    z-index:1;

    display:block;

    width:100%;
    height:100%;

    object-fit:cover;
    border-radius:13px;

    transition:
        opacity .25s ease,
        transform .25s ease;
}

.top80-player-cover img.is-changing{
    opacity:.35;
    transform:scale(.94);
}


/* Artiste et titre */

.top80-player-infos{
    min-width:0;

    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:8px;
}

.top80-player-infos strong{
    overflow:hidden;

    color:#ff75e5;

    font-size:17px;
    line-height:1.1;
    font-weight:900;
    letter-spacing:.6px;

    text-transform:uppercase;
    text-overflow:ellipsis;
    white-space:nowrap;

    text-shadow:
        0 0 8px rgba(255,53,223,.72);
}

.top80-player-infos span{
    overflow:hidden;

    color:#fff;

    font-size:17px;
    line-height:1.2;
    font-weight:800;

    text-overflow:ellipsis;
    white-space:nowrap;

    text-shadow:
        0 0 8px rgba(255,255,255,.18);
}


/* LED / égaliseur */

.top80-player-equalizer{
    min-width:180px;
    height:52px;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
}

.top80-player-equalizer i{
    display:block;

    width:6px;
    height:12px;

    border-radius:6px;

    background:
        linear-gradient(
            to top,
            #3d78ff,
            #8052ff 50%,
            #ff3bd8
        );

    box-shadow:
        0 0 7px #596eff,
        0 0 13px rgba(255,59,216,.85);

    transform-origin:center;
}

/* Les barres bougent uniquement pendant la lecture */

.top80-sticky-player.is-playing
.top80-player-equalizer i{
    animation:top80PlayerBars .68s ease-in-out infinite alternate;
}

.top80-sticky-player.is-playing
.top80-player-equalizer i:nth-child(1){
    animation-delay:.05s;
}

.top80-sticky-player.is-playing
.top80-player-equalizer i:nth-child(2){
    animation-delay:.19s;
}

.top80-sticky-player.is-playing
.top80-player-equalizer i:nth-child(3){
    animation-delay:.31s;
}

.top80-sticky-player.is-playing
.top80-player-equalizer i:nth-child(4){
    animation-delay:.10s;
}

.top80-sticky-player.is-playing
.top80-player-equalizer i:nth-child(5){
    animation-delay:.27s;
}

.top80-sticky-player.is-playing
.top80-player-equalizer i:nth-child(6){
    animation-delay:.15s;
}

.top80-sticky-player.is-playing
.top80-player-equalizer i:nth-child(7){
    animation-delay:.36s;
}

@keyframes top80PlayerBars{
    0%{
        height:10px;
        opacity:.58;
    }

    100%{
        height:48px;
        opacity:1;
    }
}


/* Volume plus large */

.top80-player-volume{
    width:190px;

    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
}

.top80-player-volume span{
    flex:0 0 auto;
    font-size:21px;
}

.top80-player-volume input[type="range"]{
    width:145px;
    min-width:145px;
    height:6px;

    cursor:pointer;
    accent-color:#ff35df;
}


/* Navigation AJAX */

#top80-page-content{
    transition:
        opacity .2s ease,
        transform .2s ease;
}

#top80-page-content.is-leaving{
    opacity:0;
    transform:translateY(8px);
}

#top80-page-content.is-entering{
    animation:top80PageArrival .35s ease;
}

@keyframes top80PageArrival{
    from{
        opacity:0;
        transform:translateY(8px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}


/* Tablette */

@media(max-width:1050px){

    .top80-sticky-player{
        left:18px;
        right:18px;

        grid-template-columns:
            58px
            72px
            minmax(180px,1fr)
            130px;
    }

    .top80-player-cover{
        width:68px;
        height:68px;
    }

    .top80-player-equalizer{
        display:none;
    }

    .top80-player-volume{
        width:130px;
    }

    .top80-player-volume input[type="range"]{
        width:92px;
        min-width:92px;
    }
}


/* Mobile */

@media(max-width:700px){

    body{
        padding-bottom:135px;
    }

    .top80-sticky-player{
        left:10px;
        right:10px;
        bottom:10px;

        min-height:92px;
        padding:10px 12px;

        grid-template-columns:
            48px
            58px
            minmax(0,1fr)
            78px;

        gap:10px;
    }

    .top80-player-toggle{
        width:46px;
        height:46px;
    }

    .top80-player-cover{
        width:54px;
        height:54px;
        margin-left:0;
    }

    .top80-player-infos{
        gap:5px;
    }

    .top80-player-infos strong{
        font-size:12px;
    }

    .top80-player-infos span{
        font-size:12px;
    }

    .top80-player-equalizer{
        display:none;
    }

    .top80-player-volume{
        width:78px;
        gap:5px;
    }

    .top80-player-volume span{
        font-size:16px;
    }

    .top80-player-volume input[type="range"]{
        width:55px;
        min-width:55px;
    }
}

/* Navigation AJAX */

#top80-page-content{
    transition:
        opacity .2s ease,
        transform .2s ease;
}

#top80-page-content.is-leaving{
    opacity:0;
    transform:translateY(8px);
}

#top80-page-content.is-entering{
    animation:top80PageArrival .35s ease;
}

@keyframes top80PageArrival{
    from{
        opacity:0;
        transform:translateY(8px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}


/* Mobile */

@media(max-width:700px){

    body{
        padding-bottom:145px;
    }

    .top80-sticky-player{
        left:10px;
        right:10px;
        bottom:10px;

        padding:12px 14px;

        grid-template-columns:auto 1fr auto;
        gap:12px;
    }

    .top80-player-toggle{
        width:48px;
        height:48px;
    }

    .top80-player-equalizer{
        display:none;
    }

    .top80-player-volume input{
        width:70px;
    }

    .top80-player-infos strong{
        font-size:13px;
    }

    .top80-player-infos span{
        max-width:150px;
        font-size:11px;
    }
}


/* =========================================================
   TOP80 - ÉMISSION EN COURS / À SUIVRE
========================================================= */

.top80-shows-strip{
    position:relative;
    padding:34px 4% 46px;
    overflow:hidden;

    background:
        radial-gradient(circle at 50% 10%, rgba(59,255,39,.08), transparent 36%),
        linear-gradient(180deg,#05000d 0%,#071108 100%);

    border-top:1px solid rgba(49,255,28,.12);
    border-bottom:1px solid rgba(49,255,28,.12);
}

.top80-shows-strip::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.18;

    background-image:
        linear-gradient(rgba(44,255,23,.05) 1px,transparent 1px),
        linear-gradient(90deg,rgba(44,255,23,.05) 1px,transparent 1px);

    background-size:32px 32px;
}

.top80-shows-heading{
    position:relative;
    z-index:2;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:24px;

    margin-bottom:30px;

    color:#6dff4f;
}

.top80-shows-heading h2{
    margin:0;

    color:#7bff63;

    font-size:40px;
    line-height:1;
    font-weight:900;
    letter-spacing:1px;
    text-transform:uppercase;

    text-shadow:
        0 0 8px rgba(96,255,70,.95),
        0 0 22px rgba(72,255,44,.65);
}

.top80-mic-icon{
    font-size:40px;

    filter:
        drop-shadow(0 0 6px #68ff4c)
        drop-shadow(0 0 14px rgba(74,255,45,.75));
}

.top80-wave{
    width:150px;
    height:22px;

    background:
        repeating-linear-gradient(
            90deg,
            transparent 0 5px,
            #55ff3b 5px 8px
        );

    clip-path:polygon(
        0 47%,8% 47%,10% 30%,12% 68%,14% 20%,16% 80%,
        18% 38%,20% 60%,22% 45%,28% 45%,30% 10%,32% 90%,
        34% 28%,36% 72%,38% 42%,40% 58%,42% 47%,100% 47%,
        100% 53%,42% 53%,40% 62%,38% 46%,36% 76%,34% 32%,
        32% 94%,30% 14%,28% 55%,22% 55%,20% 64%,18% 42%,
        16% 84%,14% 24%,12% 72%,10% 34%,8% 53%,0 53%
    );

    filter:
        drop-shadow(0 0 5px #4dff34)
        drop-shadow(0 0 12px rgba(67,255,41,.7));
}

.top80-wave-right{
    transform:scaleX(-1);
}

.top80-shows-grid{
    position:relative;
    z-index:2;

    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;

    max-width:1500px;
    margin:0 auto;
}

.top80-show-card{
    position:relative;
    min-height:310px;
    padding:28px 34px;

    overflow:hidden;

    border:3px solid #63ff4a;
    border-radius:24px;

    background:
        radial-gradient(circle at 18% 50%,rgba(59,255,40,.09),transparent 35%),
        linear-gradient(135deg,rgba(5,18,7,.98),rgba(1,7,3,.98));

    box-shadow:
        0 0 8px #60ff47,
        0 0 20px rgba(77,255,50,.74),
        0 0 42px rgba(64,255,40,.32),
        inset 0 0 24px rgba(75,255,48,.06);
}

.top80-show-card::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;

    background:
        linear-gradient(
            115deg,
            transparent 0 38%,
            rgba(255,255,255,.025) 45%,
            transparent 52%
        );
}

.top80-show-status{
    position:relative;
    z-index:3;

    display:flex;
    align-items:center;
    gap:12px;

    margin-bottom:28px;

    color:#65ff46;

    font-size:18px;
    font-weight:900;
    letter-spacing:.4px;
    text-transform:uppercase;
}

.top80-live-dot{
    width:18px;
    height:18px;

    flex:0 0 auto;

    border-radius:50%;

    background:#59ff35;

    box-shadow:
        0 0 8px #59ff35,
        0 0 18px rgba(89,255,53,.9);

    animation:top80GreenPulse 1.15s ease-in-out infinite alternate;
}

@keyframes top80GreenPulse{
    from{
        opacity:.55;
        transform:scale(.9);
    }

    to{
        opacity:1;
        transform:scale(1.08);
    }
}

.top80-show-content{
    position:relative;
    z-index:2;

    display:grid;
    grid-template-columns:190px minmax(0,1fr) 110px;
    gap:28px;
    align-items:center;
}

.top80-host-photo{
    position:relative;

    width:180px;
    height:180px;

    padding:5px;

    border-radius:50%;

    background:linear-gradient(135deg,#2dff16,#96ff82);

    box-shadow:
        0 0 8px #5cff42,
        0 0 20px rgba(76,255,47,.85),
        0 0 40px rgba(67,255,40,.38);
}

.top80-host-photo img{
    display:block;
    width:100%;
    height:100%;

    object-fit:cover;

    border:5px solid #071108;
    border-radius:50%;

    background:#071108;
}

.top80-show-details{
    min-width:0;
}

.top80-show-details h3{
    margin:0;

    color:#fff;

    font-size:34px;
    line-height:1.08;
    font-weight:900;
    letter-spacing:.2px;
    text-transform:uppercase;

    text-shadow:0 0 12px rgba(255,255,255,.12);
}

.top80-host-name{
    margin:14px 0 0;

    color:#fff;

    font-size:23px;
    line-height:1.2;
    font-weight:600;
}

.top80-show-divider{
    width:68%;
    max-width:260px;
    height:2px;

    margin:22px 0 20px;

    background:linear-gradient(90deg,#53ff34,transparent);

    box-shadow:0 0 8px rgba(75,255,47,.75);
}

.top80-show-time{
    display:flex;
    align-items:center;
    gap:12px;

    margin:0;

    color:#fff;

    font-size:21px;
    line-height:1;
    font-weight:800;
}

.top80-show-time i,
.top80-time-arrow{
    color:#5eff3c;

    text-shadow:0 0 8px rgba(83,255,51,.85);
}

.top80-show-bars{
    align-self:end;

    height:145px;

    display:flex;
    align-items:flex-end;
    justify-content:flex-end;
    gap:7px;

    opacity:.36;
}

.top80-show-bars i{
    display:block;

    width:10px;
    height:var(--bar-height,40px);

    border-radius:3px 3px 0 0;

    background:
        linear-gradient(to top,#0c4812,#42d82f);

    box-shadow:0 0 8px rgba(65,220,45,.4);
}

.top80-show-bars i:nth-child(1){height:28px}
.top80-show-bars i:nth-child(2){height:48px}
.top80-show-bars i:nth-child(3){height:72px}
.top80-show-bars i:nth-child(4){height:96px}
.top80-show-bars i:nth-child(5){height:130px}
.top80-show-bars i:nth-child(6){height:92px}
.top80-show-bars i:nth-child(7){height:66px}
.top80-show-bars i:nth-child(8){height:46px}
.top80-show-bars i:nth-child(9){height:30px}

.top80-show-card.is-updating{
    opacity:.55;
    transition:opacity .2s ease;
}

@media(max-width:1200px){

    .top80-show-content{
        grid-template-columns:150px minmax(0,1fr);
    }

    .top80-host-photo{
        width:145px;
        height:145px;
    }

    .top80-show-bars{
        display:none;
    }

    .top80-show-details h3{
        font-size:28px;
    }
}

@media(max-width:850px){

    .top80-shows-heading h2{
        font-size:30px;
    }

    .top80-wave{
        width:70px;
    }

    .top80-shows-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:560px){

    .top80-shows-strip{
        padding:28px 14px 38px;
    }

    .top80-wave{
        display:none;
    }

    .top80-show-card{
        padding:24px 18px;
    }

    .top80-show-content{
        grid-template-columns:1fr;
        text-align:center;
    }

    .top80-host-photo{
        margin:0 auto;
    }

    .top80-show-details h3{
        font-size:25px;
    }

    .top80-show-divider{
        margin-left:auto;
        margin-right:auto;
    }

    .top80-show-time{
        justify-content:center;
        font-size:18px;
    }
}


/* =========================================================
   TOP80 - DERNIÈRE ACTUALITÉ
========================================================= */

.top80-latest-news{
    position:relative;
    padding:34px 4% 42px;
    overflow:hidden;

    background:
        radial-gradient(circle at 30% 40%,rgba(255,28,48,.08),transparent 34%),
        linear-gradient(180deg,#05000d 0%,#0d0205 100%);
}

.top80-latest-news::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.13;

    background-image:
        linear-gradient(rgba(255,53,71,.05) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,53,71,.05) 1px,transparent 1px);

    background-size:32px 32px;
}

.top80-latest-news-inner{
    position:relative;
    z-index:2;

    max-width:1380px;
    margin:0 auto;
    padding:24px;

    border:2px solid #ff3547;
    border-radius:18px;

    background:
        radial-gradient(circle at top left,rgba(255,31,47,.10),transparent 35%),
        linear-gradient(135deg,rgba(18,2,5,.98),rgba(5,0,3,.99));

    box-shadow:
        0 0 8px #ff3547,
        0 0 20px rgba(255,53,71,.72),
        0 0 40px rgba(255,34,51,.26),
        inset 0 0 22px rgba(255,53,71,.05);
}

.top80-latest-news-heading{
    display:flex;
    align-items:center;
    gap:14px;

    margin-bottom:20px;

    color:#fff;
}

.top80-latest-news-icon{
    width:38px;
    height:38px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:2px solid #ff3547;
    border-radius:6px;

    color:#fff;
    font-size:20px;

    box-shadow:
        0 0 8px #ff3547,
        0 0 16px rgba(255,53,71,.70);
}

.top80-latest-news-heading h2{
    margin:0;

    color:#fff;

    font-size:27px;
    line-height:1;
    font-weight:900;
    letter-spacing:.5px;
    text-transform:uppercase;

    text-shadow:
        0 0 8px rgba(255,255,255,.30),
        0 0 18px rgba(255,53,71,.46);
}

.top80-latest-news-card{
    display:grid;
    grid-template-columns:minmax(220px, 38%) minmax(0, 1fr);
    gap:26px;
    align-items:center;
}

.top80-latest-news-content{
    min-width:0;
    max-width:100%;
    overflow:hidden;
}

.top80-latest-news-image{
    display:block;
    overflow:hidden;

    aspect-ratio:16/11;

    border:1px solid #ff3547;
    border-radius:8px;

    background:#080005;

    box-shadow:
        0 0 7px rgba(255,53,71,.55),
        inset 0 0 14px rgba(255,53,71,.06);
}

.top80-latest-news-image img{
    display:block;
    width:100%;
    height:100%;

    object-fit:cover;

    transition:
        transform .45s ease,
        filter .45s ease;
}

.top80-latest-news-image:hover img{
    transform:scale(1.035);
    filter:saturate(1.08);
}

.top80-latest-news-content{
    min-width:0;
}

.top80-latest-news-badge{
    display:inline-flex;
    align-items:center;

    min-height:28px;
    padding:0 10px;
    margin-bottom:14px;

    border:1px solid #ff3547;
    border-radius:5px;

    color:#fff;
    background:rgba(255,53,71,.13);

    font-size:12px;
    font-weight:900;
    letter-spacing:.3px;
    text-transform:uppercase;

    box-shadow:
        0 0 7px rgba(255,53,71,.75),
        inset 0 0 8px rgba(255,53,71,.08);
}

.top80-latest-news-content h3{
    margin:0 0 15px;

    color:#fff;

    font-size:23px;
    line-height:1.18;
    font-weight:900;
    text-transform:uppercase;

    max-width:100%;
    overflow-wrap:break-word;
    word-break:normal;

    text-shadow:
        0 0 11px rgba(255,255,255,.13);
}

.top80-latest-news-content{
    min-width:0;
    max-width:100%;
    overflow:hidden;
}

.top80-latest-news-content h3 a{
    color:inherit;
}

.top80-latest-news-date{
    display:flex;
    align-items:center;
    gap:9px;

    margin-top:17px;

    color:#d7d7dc;

    font-size:14px;
    font-weight:600;
    text-transform:uppercase;
}

.top80-latest-news-date i{
    color:#ff5261;
}

.top80-latest-news-excerpt{
    margin-top:17px;

    color:#eeeeef;

    font-size:16px;
    line-height:1.62;
}

.top80-latest-news-excerpt p{
    margin:0;
}

.top80-latest-news-button{
    width:max-content;
    min-width:235px;
    min-height:52px;

    margin-top:22px;
    padding:0 20px;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:26px;

    border:2px solid #ff3547;
    border-radius:8px;

    color:#fff;
    background:
        linear-gradient(135deg,rgba(255,53,71,.10),rgba(45,0,8,.20));

    font-size:15px;
    font-weight:900;
    text-transform:uppercase;

    box-shadow:
        0 0 8px rgba(255,53,71,.75),
        0 0 18px rgba(255,53,71,.26),
        inset 0 0 12px rgba(255,53,71,.07);

    transition:
        transform .24s ease,
        box-shadow .24s ease,
        background .24s ease;
}

.top80-latest-news-button span:last-child{
    font-size:31px;
    line-height:.8;
}

.top80-latest-news-button:hover{
    transform:translateY(-2px);

    background:
        linear-gradient(135deg,rgba(255,53,71,.20),rgba(45,0,8,.28));

    box-shadow:
        0 0 10px rgba(255,53,71,.95),
        0 0 26px rgba(255,53,71,.42),
        inset 0 0 14px rgba(255,53,71,.10);
}

.top80-latest-news-empty{
    padding:30px;
    text-align:center;
    color:#ccc;
}

@media(max-width:850px){

    .top80-latest-news-card{
        grid-template-columns:1fr;
    }

    .top80-latest-news-image{
        aspect-ratio:16/9;
    }

    .top80-latest-news-content h3{
        font-size:26px;
    }
}

@media(max-width:560px){

    .top80-latest-news{
        padding:26px 14px 34px;
    }

    .top80-latest-news-inner{
        padding:18px;
    }

    .top80-latest-news-heading h2{
        font-size:22px;
    }

    .top80-latest-news-content h3{
        font-size:22px;
    }

    .top80-latest-news-excerpt{
        font-size:15px;
    }

    .top80-latest-news-button{
        width:100%;
        min-width:0;
    }
}

/* =========================================================
   PAGE ARTICLE + SIDEBAR
========================================================= */

.top80-single-page{
    min-height:700px;

    /*
     * Espace entre le header et l'article
     */
    padding:95px 4% 100px;

    background:
        radial-gradient(
            circle at 30% 20%,
            rgba(255,53,71,.10),
            transparent 35%
        ),
        linear-gradient(
            180deg,
            #05000d,
            #0d0205
        );
}

.top80-single-layout{
    max-width:1380px;
    margin:20px auto 0;

    display:grid;
    grid-template-columns:minmax(0,1fr) 330px;
    gap:34px;
    align-items:start;
}

.top80-single-main{
    min-width:0;
}

.top80-single-article{
    padding:38px;

    border:2px solid #ff3547;
    border-radius:20px;

    background:
        linear-gradient(
            135deg,
            rgba(18,2,5,.98),
            rgba(5,0,3,.99)
        );

    box-shadow:
        0 0 8px #ff3547,
        0 0 22px rgba(255,53,71,.62),
        0 0 45px rgba(255,34,51,.22);
}


/* Sidebar */

.top80-single-sidebar{
    position:sticky;
    top:30px;

    display:flex;
    flex-direction:column;
    gap:22px;
}

.top80-sidebar-box{
    padding:22px;

    border:1px solid rgba(255,53,223,.45);
    border-radius:16px;

    background:
        linear-gradient(
            135deg,
            rgba(17,0,27,.98),
            rgba(7,0,15,.98)
        );

    box-shadow:
        0 0 8px rgba(255,53,223,.45),
        0 0 22px rgba(255,53,223,.16);
}

.top80-sidebar-box h3{
    margin:0 0 16px;

    color:#ff5cdd;

    font-size:18px;
    font-weight:900;
    text-transform:uppercase;

    text-shadow:
        0 0 8px rgba(255,53,223,.70);
}

.top80-sidebar-box p{
    margin:0;

    color:#ddd;

    font-size:15px;
    line-height:1.6;
}

.top80-sidebar-posts{
    margin:0;
    padding:0;

    list-style:none;
}

.top80-sidebar-posts li{
    padding:11px 0;

    border-bottom:
        1px solid rgba(255,255,255,.09);
}

.top80-sidebar-posts li:last-child{
    border-bottom:0;
}

.top80-sidebar-posts a{
    color:#fff;

    font-size:14px;
    line-height:1.45;
    font-weight:700;
}

.top80-sidebar-posts a:hover{
    color:#ff5cdd;

    text-shadow:
        0 0 8px rgba(255,53,223,.65);
}


/* Tablette */

@media(max-width:1050px){

    .top80-single-layout{
        grid-template-columns:1fr;
    }

    .top80-single-sidebar{
        position:static;

        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}


/* Mobile */

@media(max-width:700px){

    .top80-single-page{
        padding:55px 14px 80px;
    }

    .top80-single-layout{
        margin-top:10px;
    }

    .top80-single-article{
        padding:22px 18px;
    }

    .top80-single-sidebar{
        grid-template-columns:1fr;
    }
}

/* =========================================================
   PAGE ACTUALITÉS
========================================================= */

.top80-news-page{
    min-height:700px;
    padding:0;

    background:
        radial-gradient(
            circle at 30% 10%,
            rgba(255,53,71,.10),
            transparent 32%
        ),
        linear-gradient(
            180deg,
            #05000d,
            #0d0205
        );
}

.top80-news-header{
    max-width:1180px;
    margin:0 auto 42px;
    text-align:center;
}

.top80-news-badge{
    display:inline-flex;

    padding:8px 14px;

    border:1px solid #ff3547;
    border-radius:999px;

    color:#fff;
    background:rgba(255,53,71,.12);

    font-size:12px;
    font-weight:900;
    letter-spacing:1px;

    box-shadow:
        0 0 8px rgba(255,53,71,.75),
        0 0 18px rgba(255,53,71,.25);
}

.top80-news-header h1{
    margin:20px 0 12px;

    color:#fff;

    font-size:42px;
    line-height:1.1;
    font-weight:900;
    text-transform:uppercase;
}

.top80-news-header p{
    margin:0;

    color:#ccc;

    font-size:17px;
}

.top80-news-grid{
    max-width:1180px;
    margin:0 auto;

    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:26px;
}

.top80-news-card{
    overflow:hidden;

    border:1px solid rgba(255,53,71,.72);
    border-radius:16px;

    background:
        linear-gradient(
            135deg,
            rgba(18,2,5,.98),
            rgba(5,0,3,.99)
        );

    box-shadow:
        0 0 8px rgba(255,53,71,.50),
        0 0 22px rgba(255,53,71,.17);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.top80-news-card:hover{
    transform:translateY(-4px);

    box-shadow:
        0 0 10px rgba(255,53,71,.90),
        0 0 28px rgba(255,53,71,.30);
}

.top80-news-card-image{
    display:block;
    aspect-ratio:16/9;
    overflow:hidden;
}

.top80-news-card-image img{
    display:block;
    width:100%;
    height:100%;

    object-fit:cover;

    transition:transform .4s ease;
}

.top80-news-card:hover
.top80-news-card-image img{
    transform:scale(1.04);
}

.top80-news-card-content{
    padding:22px;
}

.top80-news-card-date{
    display:flex;
    align-items:center;
    gap:8px;

    color:#bbb;

    font-size:13px;
    text-transform:uppercase;
}

.top80-news-card-date i{
    color:#ff5261;
}

.top80-news-card h2{
    margin:14px 0 12px;

    color:#fff;

    font-size:24px;
    line-height:1.2;
    font-weight:900;
    text-transform:uppercase;
}

.top80-news-card-excerpt{
    color:#ddd;

    font-size:15px;
    line-height:1.6;
}

.top80-news-card-button{
    display:inline-flex;
    align-items:center;
    gap:14px;

    margin-top:18px;
    padding:11px 16px;

    border:1px solid #ff3547;
    border-radius:7px;

    color:#fff;

    font-size:13px;
    font-weight:900;

    box-shadow:
        0 0 8px rgba(255,53,71,.55);
}

.top80-news-card-button:hover{
    background:rgba(255,53,71,.14);
}

.top80-news-card-button span{
    font-size:24px;
    line-height:.7;
}

.top80-news-pagination{
    max-width:1180px;
    margin:42px auto 0;
}

.top80-news-pagination .nav-links{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:9px;
}

.top80-news-pagination .page-numbers{
    min-width:40px;
    min-height:40px;
    padding:0 12px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:1px solid rgba(255,53,71,.55);
    border-radius:8px;

    color:#fff;
    background:#0c0206;
}

.top80-news-pagination .current,
.top80-news-pagination .page-numbers:hover{
    border-color:#ff3547;
    background:rgba(255,53,71,.16);

    box-shadow:
        0 0 8px rgba(255,53,71,.65);
}

@media(max-width:800px){

    .top80-news-page{
        padding:45px 14px 80px;
    }

    .top80-news-grid{
        grid-template-columns:1fr;
    }

    .top80-news-header h1{
        font-size:30px;
    }
}

/* =========================================================
   CORRECTION IMAGES ET CONTENU DES ARTICLES
========================================================= */

/*
 * Empêche la colonne principale de dépasser dans la grille.
 */
.top80-single-main,
.top80-single-article,
.top80-single-content{
    min-width:0;
    max-width:100%;
}

/*
 * Image mise en avant affichée par single.php.
 */
.top80-single-image{
    display:block;
    width:100%;
    max-width:100%;
    margin:0 0 30px;
    padding:0;
    overflow:hidden;

    border:1px solid #ff3547;
    border-radius:12px;

    line-height:0;

    box-shadow:
        0 0 14px rgba(255,53,71,.30);
}

.top80-single-image img,
.top80-single-image .attachment-large,
.top80-single-image .wp-post-image{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    margin:0 !important;

    object-fit:contain;
    border-radius:11px;
}

/*
 * Images ajoutées directement dans le texte de l’article.
 */
.top80-single-content img,
.top80-single-content .wp-post-image,
.top80-single-content figure img,
.top80-single-content .wp-caption img{
    display:block !important;
    width:auto !important;
    max-width:100% !important;
    height:auto !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

.top80-single-content figure,
.top80-single-content .wp-caption,
.top80-single-content .wp-block-image{
    width:100% !important;
    max-width:100% !important;
    margin:28px 0 !important;
    overflow:hidden;
}

/*
 * WordPress peut ajouter des largeurs fixes avec alignwide/alignfull.
 * On les neutralise dans la page article.
 */
.top80-single-content .alignwide,
.top80-single-content .alignfull,
.top80-single-content .alignnone{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
}

/* Sous-titres de l’article */

.top80-single-content h2{
    margin:40px 0 18px;

    color:#ff3547;

    font-size:34px;
    line-height:1.2;
    font-weight:900;

    text-shadow:
        0 0 8px rgba(255,53,71,.75),
        0 0 18px rgba(255,53,71,.35);
}

.top80-single-content h3{
    margin:30px 0 14px;

    color:#ff6b79;

    font-size:26px;
    line-height:1.25;
    font-weight:800;

    text-shadow:
        0 0 8px rgba(255,53,71,.45);
}

.top80-single-content p{
    margin:0 0 22px;

    color:#eee;

    font-size:18px;
    line-height:1.8;
}

@media(max-width:700px){

    .top80-single-content h2{
        font-size:25px;
    }

    .top80-single-content h3{
        font-size:21px;
    }

    .top80-single-content p{
        font-size:16px;
    }
}

.top80-single-meta{
    margin-top:16px;
    margin-bottom:28px;
}

/* =========================================================
   ACCUEIL - ACTUALITÉ + COLONNE À LA UNE
========================================================= */

.top80-news-home{
    width:100%;
    max-width:1500px;
    margin:0 auto;

    display:grid;
    grid-template-columns:minmax(0,2.2fr) minmax(290px,.8fr);
    gap:26px;
    align-items:stretch;
}

.top80-news-home .top80-latest-news-inner{
    width:100%;
    max-width:none;
    margin:0;
}

.top80-news-home .top80-latest-news-card{
    grid-template-columns:minmax(220px,38%) minmax(0,1fr);
    gap:26px;
}

.top80-news-home .top80-latest-news-content{
    min-width:0;
    max-width:100%;
    overflow:hidden;
}

.top80-news-home .top80-latest-news-content h3{
    margin:0 0 14px;

    max-width:100%;

    color:#fff;

    font-size:23px;
    line-height:1.18;
    font-weight:900;
    text-transform:uppercase;

    overflow-wrap:break-word;

    text-shadow:
        0 0 11px rgba(255,255,255,.13);
}

.top80-news-home .top80-latest-news-excerpt{
    max-width:100%;

    font-size:15px;
    line-height:1.55;

    overflow-wrap:break-word;
}

.top80-news-home .top80-latest-news-excerpt p{
    display:-webkit-box;
    overflow:hidden;

    -webkit-box-orient:vertical;
    -webkit-line-clamp:5;
}

.top80-news-home .top80-latest-news-image{
    width:100%;
    min-width:0;
}


/* Colonne jaune À LA UNE */

.top80-news-sidebar{
    min-width:0;
}

.top80-news-sidebar-box{
    height:100%;
    padding:24px;

    border:2px solid #ffd400;
    border-radius:18px;

    background:
        radial-gradient(
            circle at top left,
            rgba(255,212,0,.11),
            transparent 38%
        ),
        linear-gradient(
            145deg,
            rgba(28,20,0,.98),
            rgba(8,6,0,.99)
        );

    box-shadow:
        0 0 8px #ffd400,
        0 0 22px rgba(255,212,0,.52),
        0 0 42px rgba(255,212,0,.18),
        inset 0 0 20px rgba(255,212,0,.05);
}

.top80-news-sidebar-heading{
    display:flex;
    align-items:center;
    gap:12px;

    margin-bottom:18px;
    padding-bottom:15px;

    border-bottom:1px solid rgba(255,212,0,.35);
}

.top80-news-sidebar-icon{
    width:36px;
    height:36px;

    display:flex;
    align-items:center;
    justify-content:center;

    flex:0 0 auto;

    border:1px solid #ffd400;
    border-radius:50%;

    color:#ffd400;

    box-shadow:
        0 0 8px rgba(255,212,0,.80),
        inset 0 0 9px rgba(255,212,0,.08);
}

.top80-news-sidebar-heading h2{
    margin:0;

    color:#ffd400;

    font-size:25px;
    line-height:1;
    font-weight:900;
    text-transform:uppercase;

    text-shadow:
        0 0 8px rgba(255,212,0,.88),
        0 0 18px rgba(255,212,0,.38);
}

.top80-news-sidebar-list{
    margin:0;
    padding:0;

    list-style:none;
}

.top80-news-sidebar-item{
    border-bottom:1px solid rgba(255,255,255,.10);
}

.top80-news-sidebar-item:last-child{
    border-bottom:0;
}

.top80-news-sidebar-item a{
    min-width:0;
    padding:15px 0;

    display:grid;
    grid-template-columns:62px minmax(0,1fr) 18px;
    gap:12px;
    align-items:center;

    color:#fff;

    transition:
        color .22s ease,
        transform .22s ease;
}

.top80-news-sidebar-item a:hover{
    color:#ffd400;
    transform:translateX(3px);
}

.top80-news-sidebar-thumb{
    width:62px;
    height:62px;

    display:block;
    overflow:hidden;

    border:1px solid rgba(255,212,0,.70);
    border-radius:9px;

    background:#100d00;

    box-shadow:
        0 0 7px rgba(255,212,0,.30);
}

.top80-news-sidebar-thumb img{
    display:block;
    width:100%;
    height:100%;

    object-fit:cover;
}

.top80-news-sidebar-text{
    min-width:0;

    display:flex;
    flex-direction:column;
    gap:7px;
}

.top80-news-sidebar-text strong{
    display:-webkit-box;
    overflow:hidden;

    font-size:14px;
    line-height:1.3;
    font-weight:900;
    text-transform:uppercase;

    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}

.top80-news-sidebar-text small{
    color:#d0cba9;

    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
}

.top80-news-sidebar-arrow{
    color:#ffd400;

    font-size:28px;
    line-height:1;

    text-shadow:
        0 0 8px rgba(255,212,0,.80);
}

.top80-news-sidebar-empty{
    margin:0;
    color:#ddd;
    line-height:1.5;
}

@media(max-width:1100px){

    .top80-news-home{
        grid-template-columns:minmax(0,1fr) 300px;
    }

    .top80-news-home .top80-latest-news-card{
        grid-template-columns:1fr;
    }

    .top80-news-home .top80-latest-news-image{
        aspect-ratio:16/9;
    }
}

@media(max-width:850px){

    .top80-news-home{
        grid-template-columns:1fr;
    }

    .top80-news-sidebar-box{
        height:auto;
    }
}

@media(max-width:560px){

    .top80-news-sidebar-box{
        padding:18px;
    }

    .top80-news-sidebar-heading h2{
        font-size:22px;
    }

    .top80-news-sidebar-item a{
        grid-template-columns:55px minmax(0,1fr) 15px;
        gap:10px;
    }

    .top80-news-sidebar-thumb{
        width:55px;
        height:55px;
    }
}

/* =========================================================
   TOP80 - PAGES INFOS QUOTIDIENNES
========================================================= */

.top80-daily-page{
    min-height:800px;

    background:
        radial-gradient(circle at 50% 10%,rgba(38,131,255,.14),transparent 32%),
        linear-gradient(180deg,#05000d 0%,#020812 100%);
}

.top80-daily-hero{
    position:relative;
    min-height:430px;
    overflow:hidden;

    border-bottom:2px solid #2f9bff;

    box-shadow:
        0 0 12px rgba(47,155,255,.72),
        0 0 34px rgba(47,155,255,.24);
}

.top80-daily-hero-image{
    position:absolute;
    inset:0;
}

.top80-daily-hero-image img{
    display:block;
    width:100%;
    height:100%;

    object-fit:cover;
}

.top80-daily-hero-overlay{
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            180deg,
            rgba(2,8,18,.20),
            rgba(2,8,18,.82)
        ),
        linear-gradient(
            90deg,
            rgba(2,8,18,.84),
            rgba(2,8,18,.24),
            rgba(2,8,18,.84)
        );
}

.top80-daily-hero-content{
    position:relative;
    z-index:2;

    min-height:430px;
    padding:60px 5%;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    text-align:center;
}

.top80-daily-page-badge{
    display:inline-flex;

    padding:8px 14px;
    margin-bottom:18px;

    border:1px solid #2f9bff;
    border-radius:999px;

    color:#8fd2ff;
    background:rgba(15,74,133,.24);

    font-size:12px;
    font-weight:900;
    letter-spacing:1px;
    text-transform:uppercase;

    box-shadow:
        0 0 8px rgba(47,155,255,.75);
}

.top80-daily-hero-content h1{
    margin:0;

    color:#fff;

    font-size:54px;
    line-height:1.05;
    font-weight:900;
    text-transform:uppercase;

    text-shadow:
        0 0 8px rgba(255,255,255,.20),
        0 0 24px rgba(47,155,255,.62);
}

.top80-daily-hero-content p{
    margin:18px 0 0;

    color:#8fd2ff;

    font-size:16px;
    font-weight:900;
    text-transform:uppercase;

    text-shadow:
        0 0 8px rgba(47,155,255,.62);
}

.top80-daily-page-content{
    padding:60px 4% 100px;
}

.top80-daily-page-card{
    max-width:1050px;
    margin:0 auto;
    padding:44px;

    border:2px solid #2f9bff;
    border-radius:22px;

    background:
        radial-gradient(circle at top left,rgba(47,155,255,.10),transparent 35%),
        linear-gradient(145deg,rgba(4,15,33,.99),rgba(2,6,17,.99));

    text-align:center;

    box-shadow:
        0 0 8px #2f9bff,
        0 0 22px rgba(47,155,255,.52),
        0 0 42px rgba(38,109,255,.20),
        inset 0 0 24px rgba(47,155,255,.05);
}

.top80-daily-big-icon{
    margin-bottom:18px;

    font-size:58px;
    line-height:1;
}

.top80-daily-page-card h2{
    margin:0 0 18px;

    color:#6ec2ff;

    font-size:34px;
    line-height:1.2;
    font-weight:900;

    text-shadow:
        0 0 8px rgba(47,155,255,.70),
        0 0 18px rgba(47,155,255,.28);
}

.top80-daily-main-title{
    margin:0 0 18px;

    color:#fff;

    font-size:42px;
    line-height:1.1;
    font-weight:900;
    text-transform:uppercase;
}

.top80-daily-lead{
    margin:0 auto;

    max-width:760px;

    color:#edf7ff;

    font-size:20px;
    line-height:1.7;
}

.top80-daily-story{
    max-width:820px;
    margin:0 auto;

    color:#edf7ff;

    font-size:19px;
    line-height:1.8;
    text-align:left;
}

.top80-daily-story p{
    margin:0 0 22px;
}

.top80-daily-info-box{
    max-width:760px;
    margin:38px auto 0;
    padding:26px;

    border:1px solid rgba(47,155,255,.62);
    border-radius:16px;

    background:rgba(10,43,78,.34);

    box-shadow:
        inset 0 0 18px rgba(47,155,255,.05);
}

.top80-daily-info-box h4{
    margin:0 0 12px;

    color:#6ec2ff;

    font-size:22px;
    font-weight:900;
    text-transform:uppercase;
}

.top80-daily-info-box p{
    margin:0;

    color:#dceeff;

    font-size:16px;
    line-height:1.7;
}

.top80-daily-back{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-height:48px;
    margin-top:38px;
    padding:0 22px;

    border:2px solid #2f9bff;
    border-radius:999px;

    color:#fff;
    background:rgba(31,119,211,.12);

    font-size:13px;
    font-weight:900;
    text-transform:uppercase;

    box-shadow:
        0 0 8px rgba(47,155,255,.72),
        0 0 18px rgba(47,155,255,.24);

    transition:
        transform .22s ease,
        background .22s ease;
}

.top80-daily-back:hover{
    transform:translateY(-2px);
    background:rgba(47,155,255,.22);
}

.top80-daily-empty{
    margin:0;

    color:#dceeff;

    font-size:18px;
    line-height:1.7;
}

@media(max-width:700px){

    .top80-daily-hero{
        min-height:330px;
    }

    .top80-daily-hero-content{
        min-height:330px;
        padding:40px 18px;
    }

    .top80-daily-hero-content h1{
        font-size:34px;
    }

    .top80-daily-page-content{
        padding:38px 14px 80px;
    }

    .top80-daily-page-card{
        padding:28px 18px;
    }

    .top80-daily-page-card h2{
        font-size:27px;
    }

    .top80-daily-main-title{
        font-size:31px;
    }

    .top80-daily-lead,
    .top80-daily-story{
        font-size:16px;
    }

    .top80-daily-info-box{
        padding:20px 16px;
    }
}

/* =========================================================
   TOP80 - INFOS QUOTIDIENNES EN 3 COLONNES
========================================================= */

.top80-daily-info{
    position:relative;
    padding:40px 4% 54px;
    overflow:hidden;

    background:
        radial-gradient(circle at 50% 0%,rgba(34,125,255,.13),transparent 36%),
        linear-gradient(180deg,#05000d 0%,#020812 100%);

    border-top:1px solid rgba(47,142,255,.14);
    border-bottom:1px solid rgba(47,142,255,.14);
}

.top80-daily-info::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.16;

    background-image:
        linear-gradient(rgba(57,147,255,.05) 1px,transparent 1px),
        linear-gradient(90deg,rgba(57,147,255,.05) 1px,transparent 1px);

    background-size:32px 32px;
}

.top80-daily-info-inner{
    position:relative;
    z-index:2;

    width:100%;
    max-width:1500px;
    margin:0 auto;
}

.top80-daily-info-heading{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:24px;

    margin-bottom:30px;
}

.top80-daily-info-heading h2{
    margin:0;

    color:#58b7ff;

    font-size:34px;
    line-height:1;
    font-weight:900;
    letter-spacing:1px;
    text-align:center;
    text-transform:uppercase;

    text-shadow:
        0 0 8px rgba(57,166,255,.90),
        0 0 20px rgba(57,132,255,.50);
}

.top80-daily-wave{
    width:120px;
    height:3px;

    background:linear-gradient(90deg,transparent,#2f9bff);

    box-shadow:
        0 0 8px #2f9bff,
        0 0 18px rgba(47,155,255,.65);
}

.top80-daily-wave-right{
    transform:scaleX(-1);
}

.top80-daily-info-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:26px;
}

.top80-daily-card{
    min-width:0;
    overflow:hidden;

    display:flex;
    flex-direction:column;

    border:2px solid #2f9bff;
    border-radius:20px;

    background:
        radial-gradient(circle at top left,rgba(48,151,255,.10),transparent 32%),
        linear-gradient(145deg,rgba(4,15,33,.99),rgba(2,6,17,.99));

    box-shadow:
        0 0 8px #2f9bff,
        0 0 22px rgba(47,155,255,.52),
        0 0 42px rgba(38,109,255,.20),
        inset 0 0 20px rgba(47,155,255,.05);
}

.top80-daily-card-title{
    min-height:62px;
    padding:0 20px;

    display:flex;
    align-items:center;
    gap:12px;

    color:#7ac8ff;
    background:rgba(12,33,64,.55);

    border-bottom:1px solid rgba(47,155,255,.40);

    font-size:20px;
    font-weight:900;
    letter-spacing:.5px;
    text-transform:uppercase;

    text-shadow:0 0 8px rgba(72,177,255,.85);
}

.top80-daily-card-title i{
    color:#49acff;
}

.top80-daily-card-image{
    aspect-ratio:16/10;
    overflow:hidden;

    border-bottom:1px solid rgba(47,155,255,.46);
}

.top80-daily-card-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;

    transition:
        transform .45s ease,
        filter .45s ease;
}

.top80-daily-card:hover .top80-daily-card-image img{
    transform:scale(1.035);
    filter:saturate(1.08);
}

.top80-daily-card-content{
    flex:1 1 auto;
    min-height:320px;
    padding:24px;

    display:flex;
    flex-direction:column;
    align-items:center;

    text-align:center;
}

.top80-daily-date{
    margin-bottom:18px;

    color:#82ccff;

    font-size:13px;
    font-weight:900;
    text-transform:uppercase;

    text-shadow:0 0 7px rgba(55,166,255,.66);
}

.top80-daily-card-content h3{
    margin:0 0 16px;

    color:#fff;

    font-size:24px;
    line-height:1.25;
    font-weight:900;

    text-shadow:0 0 10px rgba(62,164,255,.30);
}

.top80-daily-card-content p{
    margin:0 0 42px;

    display:-webkit-box;
    overflow:hidden;

    color:#e9f5ff;

    font-size:16px;
    line-height:1.65;

    -webkit-box-orient:vertical;
    -webkit-line-clamp:6;
}

.top80-daily-button{
    min-width:160px;
    min-height:46px;
    margin-top:auto;
    padding:0 20px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    border:2px solid #2f9bff;
    border-radius:999px;

    color:#fff;
    background:rgba(31,119,211,.12);

    font-size:13px;
    font-weight:900;
    text-transform:uppercase;

    box-shadow:
        0 0 8px rgba(47,155,255,.72),
        0 0 18px rgba(47,155,255,.24);

    transition:
        transform .22s ease,
        background .22s ease,
        box-shadow .22s ease;
}

.top80-daily-button:hover{
    transform:translateY(-2px);
    background:rgba(47,155,255,.22);

    box-shadow:
        0 0 10px rgba(47,155,255,.92),
        0 0 24px rgba(47,155,255,.34);
}

@media(max-width:1100px){

    .top80-daily-info-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .top80-daily-card:last-child{
        grid-column:1 / -1;
        max-width:720px;
        width:100%;
        margin:0 auto;
    }
}

@media(max-width:760px){

    .top80-daily-info{
        padding:32px 14px 44px;
    }

    .top80-daily-info-heading h2{
        font-size:26px;
    }

    .top80-daily-wave{
        display:none;
    }

    .top80-daily-info-grid{
        grid-template-columns:1fr;
    }

    .top80-daily-card:last-child{
        grid-column:auto;
        max-width:none;
    }

    .top80-daily-card-content{
        min-height:290px;
    }
}

@media(max-width:480px){

    .top80-daily-card-title{
        font-size:17px;
    }

    .top80-daily-card-content{
        padding:20px 16px;
    }

    .top80-daily-card-content h3{
        font-size:21px;
    }

    .top80-daily-card-content p{
        font-size:15px;
    }
}

/* =========================================================
   TOP80 — EFFETS ET NOTIFICATIONS DES VOTES
   À ajouter à la fin de assets/css/style.css
========================================================= */

.top80-vote-notification{
    position:relative;
    z-index:30;
    max-width:350px;
    margin:0 auto 20px;
    padding:12px 16px;

    color:#fff;
    background:rgba(22,0,35,.96);

    border:1px solid #ff3bd8;
    border-radius:10px;

    font-size:13px;
    line-height:1.35;
    font-weight:800;
    text-align:center;

    opacity:0;
    transform:translateY(-10px) scale(.97);
    pointer-events:none;

    box-shadow:
        0 0 8px rgba(255,59,216,.8),
        0 0 22px rgba(255,59,216,.34),
        inset 0 0 14px rgba(255,59,216,.08);

    transition:
        opacity .28s ease,
        transform .28s ease,
        border-color .28s ease,
        box-shadow .28s ease;
}

.top80-vote-notification.is-visible{
    opacity:1;
    transform:translateY(0) scale(1);
}

.top80-vote-notification.is-plus{
    border-color:#ff3bd8;
    box-shadow:
        0 0 9px #ff3bd8,
        0 0 24px rgba(255,59,216,.42);
}

.top80-vote-notification.is-minus{
    border-color:#42a9ff;
    box-shadow:
        0 0 9px #42a9ff,
        0 0 24px rgba(66,169,255,.42);
}

.top80-vote-notification.is-error{
    border-color:#ffd34d;
    color:#fff6c9;
    box-shadow:
        0 0 9px rgba(255,211,77,.9),
        0 0 24px rgba(255,211,77,.30);
}


/* Vote en cours */

.vote-circle.is-voting{
    opacity:.55;
    pointer-events:none;
    animation:top80VoteWaiting .7s ease-in-out infinite alternate;
}

@keyframes top80VoteWaiting{
    from{transform:scale(.96)}
    to{transform:scale(1.025)}
}


/* Boutons verrouillés après le vote */

.vote-circle.is-locked{
    cursor:not-allowed;
    opacity:.62;
    filter:saturate(.72);
}

.vote-circle.is-locked:hover{
    transform:none;
}


/* Animation cœur rose */

.vote-circle.vote-accepted-plus{
    animation:top80VotePlus .82s cubic-bezier(.2,.8,.2,1);
}

.vote-circle.vote-accepted-plus .vote-heart{
    animation:top80HeartPlus .82s cubic-bezier(.2,.8,.2,1);
}

@keyframes top80VotePlus{
    0%{transform:scale(1)}
    35%{transform:scale(1.10);box-shadow:0 0 14px #ff3bd8,0 0 46px rgba(255,59,216,.95)}
    100%{transform:scale(1)}
}

@keyframes top80HeartPlus{
    0%{transform:scale(1)}
    35%{transform:scale(1.38)}
    100%{transform:scale(1)}
}


/* Animation cœur brisé bleu */

.vote-circle.vote-accepted-minus{
    animation:top80VoteMinus .82s cubic-bezier(.2,.8,.2,1);
}

.vote-circle.vote-accepted-minus .broken-heart-left{
    animation:top80BrokenLeft .82s cubic-bezier(.2,.8,.2,1);
}

.vote-circle.vote-accepted-minus .broken-heart-right{
    animation:top80BrokenRight .82s cubic-bezier(.2,.8,.2,1);
}

@keyframes top80VoteMinus{
    0%{transform:scale(1)}
    35%{transform:scale(1.10);box-shadow:0 0 14px #42a9ff,0 0 46px rgba(66,169,255,.95)}
    100%{transform:scale(1)}
}

@keyframes top80BrokenLeft{
    0%{transform:translateX(-3px)}
    35%{transform:translateX(-10px) rotate(-5deg) scale(1.12)}
    100%{transform:translateX(-3px)}
}

@keyframes top80BrokenRight{
    0%{transform:translateX(3px)}
    35%{transform:translateX(10px) rotate(5deg) scale(1.12)}
    100%{transform:translateX(3px)}
}


/* Compteur */

#top80-vote-count{
    display:inline-block;
    transform-origin:center;
}

#top80-vote-count.is-updating{
    animation:top80CounterUpdate .68s cubic-bezier(.2,.8,.2,1);
}

@keyframes top80CounterUpdate{
    0%{
        transform:scale(1);
        color:#ff4fdc;
    }

    42%{
        transform:scale(1.42);
        color:#fff;
        text-shadow:
            0 0 8px #ff4fdc,
            0 0 22px #ff4fdc;
    }

    100%{
        transform:scale(1);
        color:#ff4fdc;
    }
}


/* Halo temporaire autour de la pochette */

.cover-neon-frame.cover-vote-plus{
    animation:top80CoverPlus .85s ease;
}

.cover-neon-frame.cover-vote-minus{
    animation:top80CoverMinus .85s ease;
}

@keyframes top80CoverPlus{
    0%,100%{
        filter:none;
    }

    45%{
        filter:
            drop-shadow(0 0 14px #ff3bd8)
            drop-shadow(0 0 30px rgba(255,59,216,.85));
    }
}

@keyframes top80CoverMinus{
    0%,100%{
        filter:none;
    }

    45%{
        filter:
            drop-shadow(0 0 14px #42a9ff)
            drop-shadow(0 0 30px rgba(66,169,255,.85));
    }
}

/* =========================================================
   PAGE ACTUALITÉS - VERSION NÉON BLEU
========================================================= */

.top80-news-hero{
    border-bottom-color:#2f9bff;
}

.top80-news-list-section{
    padding:58px 4% 100px;

    background:
        radial-gradient(circle at 50% 0%,rgba(34,125,255,.11),transparent 34%),
        linear-gradient(180deg,#05000d 0%,#020812 100%);
}

.top80-news-list-inner{
    width:100%;
    max-width:1280px;
    margin:0 auto;
}

.top80-news-list{
    display:flex;
    flex-direction:column;
    gap:28px;
}

.top80-news-wide-card{
    min-width:0;
    overflow:hidden;

    display:grid;
    grid-template-columns:minmax(280px,38%) minmax(0,1fr);

    border:2px solid #2f9bff;
    border-radius:20px;

    background:
        radial-gradient(circle at top left,rgba(48,151,255,.09),transparent 34%),
        linear-gradient(145deg,rgba(4,15,33,.99),rgba(2,6,17,.99));

    box-shadow:
        0 0 8px #2f9bff,
        0 0 22px rgba(47,155,255,.44),
        0 0 42px rgba(38,109,255,.18),
        inset 0 0 20px rgba(47,155,255,.04);

    transition:
        transform .24s ease,
        box-shadow .24s ease;
}

.top80-news-wide-card:hover{
    transform:translateY(-4px);

    box-shadow:
        0 0 10px rgba(47,155,255,.94),
        0 0 28px rgba(47,155,255,.34),
        0 0 48px rgba(38,109,255,.20);
}

.top80-news-wide-image{
    display:block;
    min-width:0;
    overflow:hidden;

    border-right:1px solid rgba(47,155,255,.42);
}

.top80-news-wide-image img{
    display:block;
    width:100%;
    height:100%;
    min-height:300px;

    object-fit:cover;

    transition:
        transform .45s ease,
        filter .45s ease;
}

.top80-news-wide-card:hover
.top80-news-wide-image img{
    transform:scale(1.035);
    filter:saturate(1.08);
}

.top80-news-wide-content{
    min-width:0;
    padding:30px;

    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
}

.top80-news-wide-content h2{
    margin:15px 0 16px;

    color:#fff;

    font-size:31px;
    line-height:1.16;
    font-weight:900;
    text-transform:uppercase;

    text-shadow:
        0 0 8px rgba(255,255,255,.14),
        0 0 16px rgba(47,155,255,.22);
}

.top80-news-wide-excerpt{
    color:#e7f4ff;

    font-size:16px;
    line-height:1.7;
}

.top80-news-wide-content .top80-news-card-button{
    margin-top:24px;

    border-color:#2f9bff;

    box-shadow:
        0 0 8px rgba(47,155,255,.58);
}

.top80-news-wide-content .top80-news-card-button:hover{
    background:rgba(47,155,255,.14);
}

.top80-news-wide-content .top80-news-card-date i{
    color:#58b7ff;
}

.top80-news-pagination{
    margin-top:42px;
}

.top80-news-pagination .page-numbers{
    border-color:rgba(47,155,255,.55);
}

.top80-news-pagination .current,
.top80-news-pagination .page-numbers:hover{
    border-color:#2f9bff;
    background:rgba(47,155,255,.16);

    box-shadow:
        0 0 8px rgba(47,155,255,.65);
}

/*
 * Identité rouge réservée à la page Actualités.
 * :not(.top80-biography-page) protège la page Biographies,
 * qui utilise le même modèle PHP.
 */
main.top80-news-page:not(.top80-biography-page){
    background:
        radial-gradient(circle at 50% 8%,rgba(255,35,58,.13),transparent 34%),
        linear-gradient(180deg,#090002 0%,#170307 52%,#070002 100%);
}

main.top80-news-page:not(.top80-biography-page)
.top80-news-hero{
    border-bottom-color:#ff263f;
    box-shadow:0 0 16px rgba(255,38,63,.72);
}

main.top80-news-page:not(.top80-biography-page)
.top80-daily-page-badge{
    border-color:#ff263f;
    color:#ff9aa8;
    background:rgba(255,38,63,.11);
    box-shadow:0 0 13px rgba(255,38,63,.65);
}

main.top80-news-page:not(.top80-biography-page)
.top80-news-list-section{
    background:
        radial-gradient(circle at 50% 0%,rgba(255,35,58,.14),transparent 36%),
        radial-gradient(circle at 8% 68%,rgba(137,0,24,.12),transparent 30%),
        linear-gradient(180deg,#090002 0%,#170307 50%,#070002 100%);
}

main.top80-news-page:not(.top80-biography-page)
.top80-news-wide-card{
    border-color:#ff263f;
    background:
        radial-gradient(circle at top left,rgba(255,38,63,.11),transparent 36%),
        linear-gradient(145deg,rgba(29,3,8,.99),rgba(10,0,3,.99));
    box-shadow:
        0 0 8px #ff263f,
        0 0 23px rgba(255,38,63,.42),
        0 0 44px rgba(151,0,29,.18),
        inset 0 0 20px rgba(255,38,63,.04);
}

main.top80-news-page:not(.top80-biography-page)
.top80-news-wide-card:hover{
    box-shadow:
        0 0 10px rgba(255,38,63,.96),
        0 0 30px rgba(255,38,63,.38),
        0 0 50px rgba(151,0,29,.22);
}

main.top80-news-page:not(.top80-biography-page)
.top80-news-wide-image{
    border-right-color:rgba(255,38,63,.44);
}

main.top80-news-page:not(.top80-biography-page)
.top80-news-wide-content h2{
    text-shadow:
        0 0 8px rgba(255,255,255,.14),
        0 0 17px rgba(255,38,63,.25);
}

main.top80-news-page:not(.top80-biography-page)
.top80-news-wide-excerpt{
    color:#ffe9ec;
}

main.top80-news-page:not(.top80-biography-page)
.top80-news-wide-content .top80-news-card-button{
    border-color:#ff263f;
    box-shadow:0 0 9px rgba(255,38,63,.62);
}

main.top80-news-page:not(.top80-biography-page)
.top80-news-wide-content .top80-news-card-button:hover{
    background:rgba(255,38,63,.15);
}

main.top80-news-page:not(.top80-biography-page)
.top80-news-wide-content .top80-news-card-date i{
    color:#ff5268;
}

main.top80-news-page:not(.top80-biography-page)
.top80-news-pagination .page-numbers{
    border-color:rgba(255,38,63,.57);
}

main.top80-news-page:not(.top80-biography-page)
.top80-news-pagination .current,
main.top80-news-page:not(.top80-biography-page)
.top80-news-pagination .page-numbers:hover{
    border-color:#ff263f;
    background:rgba(255,38,63,.16);
    box-shadow:0 0 9px rgba(255,38,63,.68);
}

@media(max-width:900px){

    .top80-news-wide-card{
        grid-template-columns:1fr;
    }

    .top80-news-wide-image{
        border-right:0;
        border-bottom:1px solid rgba(47,155,255,.42);
    }

    .top80-news-wide-image img{
        min-height:0;
        aspect-ratio:16/9;
    }
}

@media(max-width:600px){

    .top80-news-list-section{
        padding:38px 14px 80px;
    }

    .top80-news-wide-content{
        padding:22px 18px;
    }

    .top80-news-wide-content h2{
        font-size:24px;
    }

    .top80-news-wide-excerpt{
        font-size:15px;
    }

    .top80-news-wide-content .top80-news-card-button{
        width:100%;
        justify-content:space-between;
    }
}

/* Priorité finale : bordures de la rubrique Actualités en rouge. */
.top80-news-hero{
    border-bottom-color:#ff3547;
    box-shadow:0 0 12px rgba(255,53,71,.72),0 0 34px rgba(255,53,71,.24);
}

.top80-news-hero .top80-daily-page-badge,
.top80-news-wide-card,
.top80-news-wide-content .top80-news-card-button{
    border-color:#ff3547;
}

.top80-news-wide-card{
    box-shadow:0 0 8px #ff3547,0 0 22px rgba(255,53,71,.44),0 0 42px rgba(255,53,71,.18);
}

.top80-news-wide-image{
    border-color:rgba(255,53,71,.42);
}

.top80-news-pagination .page-numbers{
    border-color:rgba(255,53,71,.55);
}

.top80-news-pagination .current,
.top80-news-pagination .page-numbers:hover{
    border-color:#ff3547;
    background:rgba(255,53,71,.16);
    box-shadow:0 0 8px rgba(255,53,71,.65);
}

/* Priorité finale : la rubrique Actualités utilise le néon rouge. */
.top80-news-hero{
    border-bottom-color:#ff3547;
    box-shadow:0 0 12px rgba(255,53,71,.72),0 0 34px rgba(255,53,71,.24);
}

.top80-news-hero .top80-daily-page-badge{
    border-color:#ff3547;
    color:#ff9da6;
    background:rgba(255,53,71,.14);
    box-shadow:0 0 8px rgba(255,53,71,.75);
}

.top80-news-hero .top80-daily-hero-content h1{
    text-shadow:0 0 8px rgba(255,255,255,.20),0 0 24px rgba(255,53,71,.62);
}

.top80-news-hero .top80-daily-hero-content p{
    color:#ff9da6;
    text-shadow:0 0 8px rgba(255,53,71,.62);
}

.top80-news-wide-card{
    border-color:#ff3547;
    box-shadow:0 0 8px #ff3547,0 0 22px rgba(255,53,71,.44),0 0 42px rgba(255,53,71,.18),inset 0 0 20px rgba(255,53,71,.04);
}

.top80-news-wide-card:hover{
    box-shadow:0 0 10px rgba(255,53,71,.94),0 0 28px rgba(255,53,71,.34),0 0 48px rgba(255,53,71,.20);
}

.top80-news-wide-image{
    border-color:rgba(255,53,71,.42);
}

.top80-news-wide-content .top80-news-card-button{
    border-color:#ff3547;
    box-shadow:0 0 8px rgba(255,53,71,.58);
}

.top80-news-wide-content .top80-news-card-button:hover{
    background:rgba(255,53,71,.14);
}

.top80-news-wide-content .top80-news-card-date i{
    color:#ff6574;
}

.top80-news-pagination .page-numbers{
    border-color:rgba(255,53,71,.55);
}

.top80-news-pagination .current,
.top80-news-pagination .page-numbers:hover{
    border-color:#ff3547;
    background:rgba(255,53,71,.16);
    box-shadow:0 0 8px rgba(255,53,71,.65);
}

/* =========================================================
   ACTUALITÉS - IDENTITÉ NÉON ROUGE
========================================================= */

.top80-news-hero{
    border-bottom-color:#ff3547;
    box-shadow:
        0 0 12px rgba(255,53,71,.72),
        0 0 34px rgba(255,53,71,.24);
}

.top80-news-hero .top80-daily-page-badge{
    border-color:#ff3547;
    color:#ff9da6;
    background:rgba(255,53,71,.14);
    box-shadow:0 0 8px rgba(255,53,71,.75);
}

.top80-news-hero .top80-daily-hero-content h1{
    text-shadow:
        0 0 8px rgba(255,255,255,.20),
        0 0 24px rgba(255,53,71,.62);
}

.top80-news-hero .top80-daily-hero-content p{
    color:#ff9da6;
    text-shadow:0 0 8px rgba(255,53,71,.62);
}

.top80-news-wide-card{
    border-color:#ff3547;
    box-shadow:
        0 0 8px #ff3547,
        0 0 22px rgba(255,53,71,.44),
        0 0 42px rgba(255,53,71,.18),
        inset 0 0 20px rgba(255,53,71,.04);
}

.top80-news-wide-card:hover{
    box-shadow:
        0 0 10px rgba(255,53,71,.94),
        0 0 28px rgba(255,53,71,.34),
        0 0 48px rgba(255,53,71,.20);
}

.top80-news-wide-image{
    border-color:rgba(255,53,71,.42);
}

.top80-news-wide-content .top80-news-card-button{
    border-color:#ff3547;
    box-shadow:0 0 8px rgba(255,53,71,.58);
}

.top80-news-wide-content .top80-news-card-button:hover{
    background:rgba(255,53,71,.14);
}

.top80-news-wide-content .top80-news-card-date i{
    color:#ff6574;
}

.top80-news-pagination .page-numbers{
    border-color:rgba(255,53,71,.55);
}

.top80-news-pagination .current,
.top80-news-pagination .page-numbers:hover{
    border-color:#ff3547;
    background:rgba(255,53,71,.16);
    box-shadow:0 0 8px rgba(255,53,71,.65);
}

/* =========================================================
   PAGE ACTUALITÉS TOP80 - ÉTAPE 1
   Bannière + liste d'articles
========================================================= */

.top80-news-hero{
    width:100%;
    min-height:430px;
    margin:0;
    border-bottom-color:#ff3547;
    box-shadow:0 0 12px rgba(255,53,71,.72),0 0 34px rgba(255,53,71,.24);
}

.top80-news-hero .top80-daily-hero-content{
    min-height:430px;
}

.top80-news-hero .top80-daily-hero-image img{
    object-position:center center;
}

.top80-news-hero-subtitle{
    max-width:760px;
    margin:20px auto 0 !important;

    color:#fff !important;

    font-size:19px !important;
    line-height:1.65 !important;
    font-weight:700 !important;
    text-transform:none !important;

    text-shadow:
        0 0 8px rgba(255,255,255,.18),
        0 0 18px rgba(47,155,255,.28);
}

.top80-news-hero-date{
    margin-top:24px;
    padding:8px 16px;

    border:1px solid #2f9bff;
    border-radius:999px;

    color:#8fd2ff;
    background:rgba(10,45,83,.40);

    font-size:13px;
    font-weight:900;
    letter-spacing:.6px;

    box-shadow:
        0 0 8px rgba(47,155,255,.75),
        inset 0 0 10px rgba(47,155,255,.08);
}

.top80-news-list-section{
    padding:58px 4% 100px;

    background:
        radial-gradient(circle at 50% 0%,rgba(34,125,255,.11),transparent 34%),
        linear-gradient(180deg,#05000d 0%,#020812 100%);
}

.top80-news-list-inner{
    width:100%;
    max-width:1280px;
    margin:0 auto;
}

.top80-news-section-heading{
    display:flex;
    align-items:center;
    gap:14px;

    margin-bottom:28px;
}

.top80-news-section-icon{
    width:42px;
    height:42px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:1px solid #2f9bff;
    border-radius:9px;

    color:#ff4fdf;

    box-shadow:
        0 0 8px rgba(47,155,255,.70),
        0 0 16px rgba(255,79,223,.24);
}

.top80-news-section-heading h2{
    margin:0;

    color:#fff;

    font-size:26px;
    line-height:1;
    font-weight:900;
    text-transform:uppercase;

    text-shadow:
        0 0 8px rgba(255,255,255,.15),
        0 0 18px rgba(47,155,255,.24);
}

.top80-news-list{
    display:flex;
    flex-direction:column;
    gap:28px;
}

.top80-news-list-section .top80-news-wide-card{
    min-width:0;
    overflow:hidden;

    display:grid;
    grid-template-columns:minmax(280px,38%) minmax(0,1fr);

    border:2px solid #ff3547;
    border-radius:20px;

    background:
        radial-gradient(circle at top left,rgba(48,151,255,.09),transparent 34%),
        linear-gradient(145deg,rgba(4,15,33,.99),rgba(2,6,17,.99));

    box-shadow:
        0 0 8px #2f9bff,
        0 0 22px rgba(47,155,255,.44),
        0 0 42px rgba(38,109,255,.18),
        inset 0 0 20px rgba(47,155,255,.04);

    transition:
        transform .24s ease,
        box-shadow .24s ease;
}

.top80-news-wide-card:hover{
    transform:translateY(-4px);

    box-shadow:
        0 0 10px rgba(47,155,255,.94),
        0 0 28px rgba(47,155,255,.34),
        0 0 48px rgba(38,109,255,.20);
}

.top80-news-wide-image{
    display:block;
    min-width:0;
    overflow:hidden;

    border-right:1px solid rgba(47,155,255,.42);
}

.top80-news-wide-image img{
    display:block;
    width:100%;
    height:100%;
    min-height:300px;

    object-fit:cover;

    transition:
        transform .45s ease,
        filter .45s ease;
}

.top80-news-wide-card:hover
.top80-news-wide-image img{
    transform:scale(1.035);
    filter:saturate(1.08);
}

.top80-news-wide-content{
    min-width:0;
    padding:30px;

    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
}

.top80-news-wide-content h2{
    margin:15px 0 16px;

    color:#fff;

    font-size:31px;
    line-height:1.16;
    font-weight:900;
    text-transform:uppercase;

    text-shadow:
        0 0 8px rgba(255,255,255,.14),
        0 0 16px rgba(47,155,255,.22);
}

.top80-news-wide-excerpt{
    color:#e7f4ff;

    font-size:16px;
    line-height:1.7;
}

.top80-news-wide-content .top80-news-card-button{
    margin-top:24px;

    border-color:#2f9bff;

    box-shadow:
        0 0 8px rgba(47,155,255,.58);
}

.top80-news-wide-content .top80-news-card-button:hover{
    background:rgba(47,155,255,.14);
}

.top80-news-wide-content .top80-news-card-date i{
    color:#58b7ff;
}

.top80-news-pagination{
    margin-top:42px;
}

.top80-news-pagination ul{
    margin:0;
    padding:0;

    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:9px;

    list-style:none;
}

.top80-news-pagination .page-numbers{
    min-width:42px;
    min-height:42px;
    padding:0 13px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:1px solid rgba(47,155,255,.55);
    border-radius:9px;

    color:#fff;
    background:#06101f;

    font-weight:800;
}

.top80-news-pagination .current,
.top80-news-pagination .page-numbers:hover{
    border-color:#2f9bff;
    background:rgba(47,155,255,.16);

    box-shadow:
        0 0 8px rgba(47,155,255,.65);
}

.top80-news-empty{
    padding:40px;
    text-align:center;
    color:#dceeff;
}

@media(max-width:900px){

    .top80-news-wide-card{
        grid-template-columns:1fr;
    }

    .top80-news-wide-image{
        border-right:0;
        border-bottom:1px solid rgba(47,155,255,.42);
    }

    .top80-news-wide-image img{
        min-height:0;
        aspect-ratio:16/9;
    }
}

@media(max-width:600px){

    .top80-news-hero,
    .top80-news-hero .top80-daily-hero-content{
        min-height:350px;
    }

    .top80-news-hero-subtitle{
        font-size:16px !important;
    }

    .top80-news-list-section{
        padding:38px 14px 80px;
    }

    .top80-news-wide-content{
        padding:22px 18px;
    }

    .top80-news-wide-content h2{
        font-size:24px;
    }

    .top80-news-wide-excerpt{
        font-size:15px;
    }

    .top80-news-wide-content .top80-news-card-button{
        width:100%;
        justify-content:space-between;
    }
}

/* =========================================================
   ACTUALITÉS : TOUS LES NÉONS EN ROUGE
========================================================= */

.top80-news-page .top80-daily-page-badge,
.top80-news-section-icon,
.top80-news-wide-card,
.top80-news-wide-content .top80-news-card-button,
.top80-news-pagination .page-numbers{
    border-color:#ff3547;
}

.top80-news-section-icon{
    box-shadow:
        0 0 8px rgba(255,53,71,.85),
        0 0 18px rgba(255,53,71,.40);
}

.top80-news-list-section .top80-news-wide-card{
    box-shadow:
        0 0 8px #ff3547,
        0 0 22px rgba(255,53,71,.55),
        0 0 42px rgba(255,53,71,.22),
        inset 0 0 20px rgba(255,53,71,.05);
}

.top80-news-list-section .top80-news-wide-card:hover{
    box-shadow:
        0 0 10px #ff3547,
        0 0 30px rgba(255,53,71,.58),
        0 0 50px rgba(255,53,71,.25);
}

.top80-news-wide-image{
    border-color:rgba(255,53,71,.52);
}

.top80-news-wide-content h2{
    text-shadow:
        0 0 8px rgba(255,255,255,.14),
        0 0 16px rgba(255,53,71,.30);
}

.top80-news-wide-content .top80-news-card-button{
    box-shadow:
        0 0 8px rgba(255,53,71,.85),
        0 0 18px rgba(255,53,71,.25);
}

.top80-news-wide-content .top80-news-card-button:hover{
    background:rgba(255,53,71,.16);
    box-shadow:
        0 0 10px rgba(255,53,71,.95),
        0 0 22px rgba(255,53,71,.35);
}

.top80-news-card-date,
.top80-news-wide-content .top80-news-card-date i{
    color:#ff6574;
    text-shadow:0 0 8px rgba(255,53,71,.60);
}

.top80-news-pagination .current,
.top80-news-pagination .page-numbers:hover{
    border-color:#ff3547;
    background:rgba(255,53,71,.16);
    box-shadow:
        0 0 8px rgba(255,53,71,.85),
        0 0 18px rgba(255,53,71,.24);
}

/* =========================================================
   PAGE BIOGRAPHIES - NÉON VIOLET
========================================================= */

.top80-biography-page .top80-biography-hero{
    border-bottom-color:#a855ff !important;
    box-shadow:
        0 0 12px rgba(168,85,255,.78),
        0 0 36px rgba(168,85,255,.28) !important;
}

.top80-biography-page .top80-daily-page-badge{
    border-color:#a855ff !important;
    color:#d7adff !important;
    background:rgba(168,85,255,.16) !important;
    box-shadow:
        0 0 8px rgba(168,85,255,.88),
        0 0 18px rgba(255,79,223,.20) !important;
}

.top80-biography-page .top80-daily-hero-content h1{
    text-shadow:
        0 0 8px rgba(255,255,255,.22),
        0 0 26px rgba(168,85,255,.74);
}

.top80-biography-page .top80-daily-hero-content p{
    color:#d7adff;
    text-shadow:0 0 9px rgba(168,85,255,.72);
}

.top80-biography-page .top80-news-list-section{
    background:
        radial-gradient(circle at 50% 0%,rgba(168,85,255,.14),transparent 36%),
        linear-gradient(180deg,#07030f 0%,#03010a 100%);
}

.top80-biography-page .top80-news-list-section .top80-news-wide-card{
    border-color:#a855ff !important;
    background:
        radial-gradient(circle at top left,rgba(168,85,255,.11),transparent 36%),
        linear-gradient(145deg,rgba(13,5,28,.99),rgba(4,2,13,.99));
    box-shadow:
        0 0 8px #a855ff,
        0 0 24px rgba(168,85,255,.52),
        0 0 44px rgba(255,79,223,.14),
        inset 0 0 22px rgba(168,85,255,.06) !important;
}

.top80-biography-page .top80-news-list-section .top80-news-wide-card:hover{
    box-shadow:
        0 0 11px #a855ff,
        0 0 31px rgba(168,85,255,.58),
        0 0 52px rgba(255,79,223,.18) !important;
}

.top80-biography-page .top80-news-wide-image{
    border-color:rgba(168,85,255,.52);
}

.top80-biography-page .top80-news-card-date,
.top80-biography-page .top80-news-card-date i{
    color:#c68cff;
    text-shadow:0 0 8px rgba(168,85,255,.72);
}

.top80-biography-page .top80-news-wide-content h2{
    text-shadow:
        0 0 8px rgba(255,255,255,.16),
        0 0 18px rgba(168,85,255,.38);
}

.top80-biography-page .top80-news-card-button{
    border-color:#a855ff !important;
    box-shadow:
        0 0 8px rgba(168,85,255,.88),
        0 0 19px rgba(168,85,255,.28) !important;
}

.top80-biography-page .top80-news-card-button:hover{
    background:rgba(168,85,255,.18);
    box-shadow:
        0 0 10px #a855ff,
        0 0 24px rgba(168,85,255,.40);
}

.top80-biography-page .top80-news-pagination .page-numbers{
    border-color:rgba(168,85,255,.62);
}

.top80-biography-page .top80-news-pagination .current,
.top80-biography-page .top80-news-pagination .page-numbers:hover{
    border-color:#a855ff;
    background:rgba(168,85,255,.20);
    box-shadow:0 0 10px rgba(168,85,255,.86);
}

/* Recherche et index alphabétique des biographies */

.top80-biography-search{
    padding:42px 4% 0;
    background:
        radial-gradient(circle at 50% 0%,rgba(168,85,255,.16),transparent 70%),
        #07030f;
}

.top80-biography-search-inner{
    width:100%;
    max-width:900px;
    margin:0 auto;
}

.top80-biography-search-title{
    margin:0 0 16px;
    color:#fff;
    font-size:22px;
    font-weight:900;
    text-align:center;
    text-transform:uppercase;
    text-shadow:0 0 16px rgba(168,85,255,.65);
}

.top80-biography-search-form{
    padding:8px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    border:2px solid #a855ff;
    border-radius:16px;
    background:#090313;
    box-shadow:
        0 0 9px #a855ff,
        0 0 26px rgba(168,85,255,.38);
}

.top80-biography-search-form input{
    min-width:0;
    height:52px;
    padding:0 18px;
    border:0;
    border-radius:10px;
    outline:0;
    color:#fff;
    background:#120722;
    font-size:17px;
}

.top80-biography-search-form input::placeholder{
    color:#bba8cd;
}

.top80-biography-search-form button{
    min-height:52px;
    padding:0 24px;
    border:0;
    border-radius:10px;
    color:#fff;
    background:linear-gradient(135deg,#a855ff,#ff4fdf);
    font-size:13px;
    font-weight:900;
    cursor:pointer;
    text-transform:uppercase;
    box-shadow:0 0 16px rgba(168,85,255,.48);
}

.top80-biography-search-result{
    margin:16px 0 0;
    color:#d7adff;
    font-size:15px;
    font-weight:800;
    text-align:center;
}

.top80-biography-search-reset{
    margin-left:8px;
    color:#fff;
    text-decoration:underline;
}

.top80-biography-alphabet{
    margin:24px 0 0;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:8px;
    list-style:none;
}

.top80-biography-alphabet a{
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(168,85,255,.62);
    border-radius:9px;
    color:#fff;
    background:#0d051a;
    font-size:14px;
    font-weight:900;
    box-shadow:0 0 7px rgba(168,85,255,.25);
    transition:
        transform .2s ease,
        background .2s ease,
        box-shadow .2s ease;
}

.top80-biography-alphabet a:hover,
.top80-biography-alphabet a.is-active{
    transform:translateY(-2px);
    border-color:#a855ff;
    background:rgba(168,85,255,.28);
    box-shadow:
        0 0 9px #a855ff,
        0 0 20px rgba(168,85,255,.42);
}

.top80-biography-alphabet .top80-biography-all{
    width:auto;
    padding:0 15px;
}

@media(max-width:600px){
    .top80-biography-search{
        padding:30px 14px 0;
    }

    .top80-biography-search-form{
        grid-template-columns:1fr;
    }

    .top80-biography-search-form button{
        width:100%;
    }
}

/* =========================================================
   ACCUEIL - TROIS DERNIÈRES BIOGRAPHIES
========================================================= */

.top80-home-biographies{
    padding:46px 4% 130px;
    background:
        radial-gradient(circle at 50% 0%,rgba(168,85,255,.14),transparent 38%),
        linear-gradient(180deg,#07030f,#03010a);
}

.top80-home-biographies-inner{
    width:100%;
    max-width:1500px;
    margin:0 auto;
}

.top80-home-biographies-heading{
    margin-bottom:24px;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
}

.top80-home-biographies-kicker{
    display:block;
    margin-bottom:8px;
    color:#c98fff;
    font-size:12px;
    font-weight:900;
    letter-spacing:1.4px;
    text-transform:uppercase;
    text-shadow:0 0 9px rgba(168,85,255,.72);
}

.top80-home-biographies-heading h2{
    margin:0;
    color:#fff;
    font-size:30px;
    font-weight:900;
    text-transform:uppercase;
    text-shadow:
        0 0 8px rgba(255,255,255,.14),
        0 0 22px rgba(168,85,255,.48);
}

.top80-home-biographies-all{
    min-height:44px;
    padding:0 18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    border:1px solid #a855ff;
    border-radius:10px;
    color:#fff;
    background:rgba(168,85,255,.10);
    font-size:12px;
    font-weight:900;
    white-space:nowrap;
    box-shadow:0 0 9px rgba(168,85,255,.62);
}

.top80-home-biographies-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}

.top80-home-biography-card{
    min-width:0;
    overflow:hidden;
    border:2px solid #a855ff;
    border-radius:16px;
    background:
        radial-gradient(circle at top left,rgba(168,85,255,.11),transparent 38%),
        linear-gradient(145deg,#0d051c,#04020d);
    box-shadow:
        0 0 8px #a855ff,
        0 0 23px rgba(168,85,255,.42);
    transition:
        transform .24s ease,
        box-shadow .24s ease;
}

.top80-home-biography-card:hover{
    transform:translateY(-5px);
    box-shadow:
        0 0 11px #a855ff,
        0 0 31px rgba(168,85,255,.58);
}

.top80-home-biography-image{
    display:block;
    overflow:hidden;
    height:178px;
    aspect-ratio:auto;
    border-bottom:1px solid rgba(168,85,255,.48);
}

.top80-home-biography-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 24%;
    transition:transform .42s ease;
}

.top80-home-biography-card:hover
.top80-home-biography-image img{
    transform:scale(1.04);
}

.top80-home-biography-content{
    padding:18px 20px 20px;
}

.top80-home-biography-date{
    color:#c98fff;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
}

.top80-home-biography-date i{
    margin-right:7px;
}

.top80-home-biography-content h3{
    margin:10px 0;
    color:#fff;
    font-size:21px;
    line-height:1.16;
    font-weight:900;
    text-transform:uppercase;
}

.top80-home-biography-content p{
    margin:0;
    color:#eee7f6;
    min-height:48px;
    overflow:hidden;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    font-size:14px;
    line-height:1.65;
}

.top80-home-biography-button{
    min-height:40px;
    margin-top:16px;
    padding:0 16px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    border:1px solid #a855ff;
    border-radius:9px;
    color:#fff;
    background:rgba(168,85,255,.10);
    font-size:12px;
    font-weight:900;
    box-shadow:0 0 8px rgba(168,85,255,.62);
}

.top80-home-biographies-empty{
    margin:0;
    padding:28px;
    border:1px solid rgba(168,85,255,.52);
    border-radius:14px;
    color:#d7adff;
    text-align:center;
}

@media(max-width:950px){
    .top80-home-biographies-grid{
        grid-template-columns:1fr;
    }

    .top80-home-biography-card{
        display:grid;
        grid-template-columns:minmax(240px,38%) minmax(0,1fr);
    }

    .top80-home-biography-image{
        height:100%;
        aspect-ratio:auto;
        border-right:1px solid rgba(168,85,255,.48);
        border-bottom:0;
    }
}

@media(max-width:650px){
    .top80-home-biographies{
        padding:46px 14px 70px;
    }

    .top80-home-biographies-heading{
        align-items:flex-start;
        flex-direction:column;
    }

    .top80-home-biographies-heading h2{
        font-size:27px;
    }

    .top80-home-biographies-all{
        width:100%;
    }

    .top80-home-biography-card{
        display:block;
    }

    .top80-home-biography-image{
        height:190px;
        aspect-ratio:auto;
        border-right:0;
        border-bottom:1px solid rgba(168,85,255,.48);
    }
}

/* Biographies de l'accueil sur le modèle des cartes quotidiennes */

.top80-home-biographies .top80-daily-info-heading h2{
    color:#c98fff;
    text-shadow:0 0 8px #a855ff,0 0 22px rgba(168,85,255,.52);
}

.top80-home-biographies .top80-biography-wave{
    background:linear-gradient(90deg,transparent,#a855ff);
    box-shadow:0 0 8px #a855ff,0 0 18px rgba(168,85,255,.68);
}

.top80-home-biographies .top80-biography-home-card{
    border-color:#a855ff;
    background:
        radial-gradient(circle at top left,rgba(168,85,255,.11),transparent 34%),
        linear-gradient(145deg,#0d051c,#04020d);
    box-shadow:
        0 0 8px #a855ff,
        0 0 22px rgba(168,85,255,.52),
        0 0 42px rgba(168,85,255,.20),
        inset 0 0 20px rgba(168,85,255,.05);
}

.top80-home-biographies .top80-daily-card-title{
    color:#d1a2ff;
    background:rgba(55,19,92,.55);
    border-bottom-color:rgba(168,85,255,.48);
    text-shadow:0 0 8px rgba(168,85,255,.88);
}

.top80-home-biographies .top80-daily-card-title i{
    color:#c078ff;
}

.top80-home-biographies .top80-daily-card-image{
    height:auto;
    aspect-ratio:16/10;
    border-bottom-color:rgba(168,85,255,.48);
}

.top80-home-biographies .top80-daily-card-image img{
    object-position:center 24%;
}

.top80-home-biographies .top80-daily-card-content{
    min-height:300px;
}

.top80-home-biographies .top80-daily-date{
    color:#c98fff;
    text-shadow:0 0 7px rgba(168,85,255,.72);
}

.top80-home-biographies .top80-daily-card-content h3{
    text-shadow:0 0 12px rgba(168,85,255,.35);
}

.top80-home-biographies .top80-daily-card-content p{
    -webkit-line-clamp:4;
}

.top80-home-biographies .top80-daily-button{
    border-color:#a855ff;
    background:rgba(168,85,255,.12);
    box-shadow:0 0 8px rgba(168,85,255,.76),0 0 18px rgba(168,85,255,.27);
}

.top80-home-biographies .top80-daily-button:hover{
    background:rgba(168,85,255,.24);
    box-shadow:0 0 10px #a855ff,0 0 24px rgba(168,85,255,.40);
}

.top80-home-biographies-footer{
    margin-top:30px;
    display:flex;
    justify-content:center;
}

@media(max-width:760px){
    .top80-home-biographies .top80-daily-info-heading h2{
        font-size:26px;
    }
}

/* =========================================================
   PAGE CTKOI - NÉON VERT FLUO
========================================================= */

.top80-ctkoi-page{
    --ctkoi-green:#63ff4a;
    --ctkoi-green-soft:#a8ff98;
    overflow-x:hidden;
}

.top80-ctkoi-hero{
    position:relative;
    border-bottom-color:var(--ctkoi-green);
    background:
        radial-gradient(circle at 50% 90%,rgba(99,255,74,.16),transparent 36%),
        linear-gradient(145deg,#020904,#03010a);
    box-shadow:
        0 0 12px rgba(99,255,74,.78),
        0 0 36px rgba(99,255,74,.28);
}

.top80-ctkoi-hero .top80-daily-hero-overlay{
    background:
        linear-gradient(180deg,rgba(0,5,2,.18),rgba(0,4,2,.70));
}

.top80-ctkoi-hero .top80-daily-page-badge{
    border-color:var(--ctkoi-green);
    color:var(--ctkoi-green-soft);
    background:rgba(99,255,74,.10);
    box-shadow:0 0 14px rgba(99,255,74,.68);
}

.top80-ctkoi-hero .top80-daily-hero-content h1{
    text-shadow:
        0 0 8px rgba(255,255,255,.22),
        0 0 28px rgba(99,255,74,.64);
}

.top80-ctkoi-hero .top80-daily-hero-content p{
    color:var(--ctkoi-green-soft);
}

.top80-ctkoi-hero-visual{
    position:absolute;
    z-index:0;
    inset:auto 8% 0;
    height:72%;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    gap:clamp(9px,1.4vw,23px);
    opacity:.30;
    pointer-events:none;
}

.top80-ctkoi-hero-visual span{
    width:clamp(7px,1vw,16px);
    height:35%;
    border-radius:999px 999px 0 0;
    background:linear-gradient(180deg,#d2ffca,var(--ctkoi-green));
    box-shadow:0 0 16px rgba(99,255,74,.82);
}

.top80-ctkoi-hero-visual span:nth-child(2),
.top80-ctkoi-hero-visual span:nth-child(6),
.top80-ctkoi-hero-visual span:nth-child(10){
    height:70%;
}

.top80-ctkoi-hero-visual span:nth-child(3),
.top80-ctkoi-hero-visual span:nth-child(8){
    height:50%;
}

.top80-ctkoi-hero-visual span:nth-child(4),
.top80-ctkoi-hero-visual span:nth-child(9){
    height:86%;
}

.top80-ctkoi-hero-visual span:nth-child(5),
.top80-ctkoi-hero-visual span:nth-child(11){
    height:62%;
}

.top80-ctkoi-content{
    padding-bottom:155px;
    background:
        radial-gradient(circle at 50% 0%,rgba(99,255,74,.09),transparent 32%),
        linear-gradient(180deg,#03010a,#020904);
}

.top80-ctkoi-card{
    max-width:1280px;
    border-color:var(--ctkoi-green);
    background:
        radial-gradient(circle at top left,rgba(99,255,74,.09),transparent 32%),
        linear-gradient(145deg,#071109,#04060a);
    box-shadow:
        0 0 9px var(--ctkoi-green),
        0 0 30px rgba(99,255,74,.34);
}

.top80-ctkoi-heading{
    text-align:left;
}

.top80-ctkoi-page .top80-module-heading-icon{
    border-color:var(--ctkoi-green);
    color:var(--ctkoi-green);
    background:rgba(99,255,74,.10);
    box-shadow:0 0 12px rgba(99,255,74,.62);
}

.top80-ctkoi-page .top80-module-kicker{
    color:var(--ctkoi-green);
}

.top80-ctkoi-list{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.top80-ctkoi-item{
    overflow:hidden;
    border:1px solid rgba(99,255,74,.40);
    border-radius:15px;
    background:rgba(3,12,6,.84);
    transition:border-color .2s ease,box-shadow .2s ease;
}

.top80-ctkoi-item:hover{
    border-color:var(--ctkoi-green);
    box-shadow:0 0 16px rgba(99,255,74,.24);
}

.top80-ctkoi-summary{
    width:100%;
    min-height:88px;
    padding:10px 15px;
    display:grid;
    grid-template-columns:92px 68px minmax(0,1fr) 42px;
    align-items:center;
    gap:14px;
    border:0;
    color:#fff;
    background:transparent;
    text-align:left;
    cursor:pointer;
}

.top80-ctkoi-time{
    display:flex;
    align-items:center;
    gap:7px;
    color:var(--ctkoi-green-soft);
    font-size:16px;
    font-weight:900;
}

.top80-ctkoi-time i{
    color:var(--ctkoi-green);
}

.top80-ctkoi-cover{
    width:68px;
    height:68px;
    overflow:hidden;
    border:2px solid var(--ctkoi-green);
    border-radius:11px;
    box-shadow:0 0 10px rgba(99,255,74,.55);
}

.top80-ctkoi-cover img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.top80-ctkoi-track{
    min-width:0;
    text-align:left;
}

.top80-ctkoi-track strong,
.top80-ctkoi-track small{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.top80-ctkoi-track strong{
    color:var(--ctkoi-green);
    font-size:18px;
    font-weight:950;
    text-transform:uppercase;
    text-shadow:0 0 8px rgba(99,255,74,.38);
}

.top80-ctkoi-track small{
    margin-top:5px;
    color:#fff;
    font-size:15px;
    font-weight:750;
}

.top80-ctkoi-votes{
    min-width:82px;
    padding:8px 11px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    border:1px solid rgba(99,255,74,.50);
    border-radius:999px;
    background:rgba(99,255,74,.09);
    font-size:15px;
}

.top80-ctkoi-votes i{
    color:var(--ctkoi-green);
}

.top80-ctkoi-votes small{
    font-size:10px;
    text-transform:uppercase;
}

.top80-ctkoi-toggle{
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--ctkoi-green);
    border-radius:50%;
    color:#041005;
    background:var(--ctkoi-green);
    font-size:25px;
    font-weight:900;
    box-shadow:0 0 12px rgba(99,255,74,.54);
    transition:transform .25s ease;
}

.top80-ctkoi-summary[aria-expanded="true"]
.top80-ctkoi-toggle{
    transform:rotate(45deg);
}

.top80-ctkoi-details{
    max-height:0;
    padding:0 22px;
    overflow:hidden;
    opacity:0;
    border-top:1px solid rgba(99,255,74,.32);
    background:
        radial-gradient(circle at top left,rgba(99,255,74,.09),transparent 38%),
        linear-gradient(145deg,rgba(2,13,5,.96),rgba(2,5,8,.97));
    text-align:left;
    transform:translateY(-8px);
    transition:
        max-height .36s ease,
        padding .36s ease,
        opacity .25s ease,
        transform .36s ease;
}

.top80-ctkoi-details.is-open{
    max-height:1800px;
    padding:22px;
    opacity:1;
    transform:translateY(0);
}

.top80-ctkoi-details[hidden]{
    display:none;
}

.top80-ctkoi-details-heading{
    margin-bottom:18px;
    padding-bottom:17px;
    display:flex;
    align-items:center;
    gap:13px;
    border-bottom:1px solid rgba(99,255,74,.22);
}

.top80-ctkoi-details-heading > span{
    width:44px;
    height:44px;
    flex:0 0 44px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--ctkoi-green);
    border-radius:11px;
    color:#041005;
    background:var(--ctkoi-green);
    font-size:18px;
    box-shadow:0 0 13px rgba(99,255,74,.52);
}

.top80-ctkoi-details-heading small{
    display:block;
    margin-bottom:5px;
    color:var(--ctkoi-green-soft);
    font-size:10px;
    font-weight:900;
    letter-spacing:1.2px;
}

.top80-ctkoi-details-heading h3{
    margin:0;
    color:#fff;
    font-size:18px;
    line-height:1.3;
    font-weight:900;
    text-transform:uppercase;
}

.top80-ctkoi-details-heading h3 b{
    color:var(--ctkoi-green);
}

.top80-ctkoi-biographies{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:15px;
}

.top80-ctkoi-bio{
    padding:17px;
    border:1px solid rgba(99,255,74,.22);
    border-radius:12px;
    background:rgba(99,255,74,.04);
}

.top80-ctkoi-bio h3{
    margin:0 0 9px;
    color:var(--ctkoi-green);
    font-size:17px;
    text-transform:uppercase;
}

.top80-ctkoi-bio p{
    margin:0;
    color:#dce8df;
    line-height:1.6;
}

.top80-ctkoi-bio a{
    display:inline-block;
    margin-top:11px;
    color:var(--ctkoi-green-soft);
    font-size:12px;
    font-weight:900;
}

.top80-ctkoi-actions{
    margin-top:18px;
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.top80-ctkoi-actions button,
.top80-ctkoi-actions a{
    min-height:42px;
    padding:0 15px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border:1px solid var(--ctkoi-green);
    border-radius:9px;
    color:#fff;
    background:rgba(99,255,74,.09);
    font-size:12px;
    font-weight:900;
    cursor:pointer;
}

.top80-ctkoi-actions .is-plus{
    color:#031004;
    background:var(--ctkoi-green);
}

.top80-ctkoi-actions .is-minus{
    border-color:#ff5270;
    background:rgba(255,82,112,.10);
}

.top80-ctkoi-actions .top80-ctkoi-buy{
    border-color:#ff9d35;
    background:rgba(255,157,53,.10);
}

.top80-ctkoi-actions button:disabled{
    opacity:.48;
    cursor:not-allowed;
}

.top80-ctkoi-notice{
    min-height:20px;
    margin:14px 0 0;
    font-weight:800;
}

.top80-ctkoi-notice.is-success{
    color:var(--ctkoi-green);
}

.top80-ctkoi-notice.is-error{
    color:#ff748c;
}

.top80-ctkoi-empty{
    padding:45px 20px;
    color:#dce8df;
    text-align:center;
}

.top80-ctkoi-back{
    width:max-content;
    margin:32px auto 0;
    border-color:var(--ctkoi-green);
    box-shadow:0 0 12px rgba(99,255,74,.62);
}

@media(max-width:760px){
    .top80-ctkoi-hero .top80-daily-hero-content p{
        max-width:85%;
        font-size:15px;
    }

    .top80-ctkoi-content{
        padding-left:12px;
        padding-right:12px;
    }

    .top80-ctkoi-card{
        padding:20px 12px;
    }

    .top80-ctkoi-heading h2{
        font-size:21px;
    }

    .top80-ctkoi-summary{
        grid-template-columns:66px 56px minmax(0,1fr) 36px;
        gap:9px;
        padding:9px;
    }

    .top80-ctkoi-time{
        font-size:13px;
    }

    .top80-ctkoi-time i{
        display:none;
    }

    .top80-ctkoi-cover{
        width:56px;
        height:56px;
    }

    .top80-ctkoi-track strong{
        font-size:14px;
    }

    .top80-ctkoi-track small{
        font-size:12px;
    }

    .top80-ctkoi-toggle{
        grid-column:4;
        grid-row:1;
        width:34px;
        height:34px;
    }

    .top80-ctkoi-details{
        padding-right:13px;
        padding-left:13px;
    }

    .top80-ctkoi-details.is-open{
        padding:17px 13px;
    }

    .top80-ctkoi-details-heading h3{
        font-size:15px;
    }

    .top80-ctkoi-actions button,
    .top80-ctkoi-actions a{
        flex:1 1 calc(50% - 6px);
    }
}

@media(max-width:430px){
    .top80-ctkoi-summary{
        grid-template-columns:52px 52px minmax(0,1fr) 32px;
        gap:7px;
    }

    .top80-ctkoi-time{
        font-size:12px;
    }

    .top80-ctkoi-cover{
        width:52px;
        height:52px;
    }

    .top80-ctkoi-toggle{
        width:31px;
        height:31px;
        font-size:21px;
    }

    .top80-ctkoi-actions button,
    .top80-ctkoi-actions a{
        flex-basis:100%;
    }
}

/* =========================================================
   PAGE TOP 50 DES AUDITEURS
========================================================= */

.top80-top50-page{
    min-height:100vh;
    padding-bottom:145px;
    color:#fff;
    background:
        radial-gradient(circle at 22% 15%,rgba(255,53,223,.13),transparent 30%),
        radial-gradient(circle at 78% 12%,rgba(61,162,255,.13),transparent 30%),
        linear-gradient(180deg,#03010a,#07000f);
}

.top80-top50-hero{
    position:relative;
    min-height:430px;
    padding:0;
    overflow:hidden;
    display:flex;
    align-items:center;
    border-bottom:2px solid #ff35df;
    background:
        linear-gradient(105deg,rgba(2,5,17,.98),rgba(20,2,28,.92)),
        #05010c;
    box-shadow:
        0 4px 16px rgba(255,53,223,.62),
        0 12px 38px rgba(50,128,255,.22);
}

.top80-top50-hero::before,
.top80-top50-hero::after{
    content:"";
    position:absolute;
    border-radius:50%;
    filter:blur(4px);
    pointer-events:none;
}

.top80-top50-hero::before{
    width:360px;
    height:360px;
    left:-110px;
    top:-150px;
    border:2px solid rgba(69,170,255,.40);
    box-shadow:0 0 90px rgba(69,170,255,.35);
}

.top80-top50-hero::after{
    width:430px;
    height:430px;
    right:-120px;
    bottom:-290px;
    border:2px solid rgba(255,53,223,.42);
    box-shadow:0 0 100px rgba(255,53,223,.35);
}

.top80-top50-hero-content{
    position:relative;
    z-index:2;
    width:100%;
    max-width:1500px;
    min-height:430px;
    padding:60px 5%;
    margin:0 auto;
}

.top80-top50-badge{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:20px;
    padding:9px 16px;
    border:1px solid #48b8ff;
    border-radius:999px;
    color:#75caff;
    background:rgba(36,150,255,.10);
    font-size:12px;
    font-weight:900;
    letter-spacing:1.4px;
    box-shadow:0 0 14px rgba(62,177,255,.55);
}

.top80-top50-hero h1{
    margin:0;
    color:#fff;
    font-size:clamp(50px,8vw,108px);
    line-height:.9;
    font-weight:950;
    letter-spacing:-3px;
    text-transform:uppercase;
    text-shadow:0 0 18px rgba(255,255,255,.38);
}

.top80-top50-hero h1 strong{
    color:#ff4fdf;
    text-shadow:
        0 0 10px #ff35df,
        0 0 30px rgba(255,53,223,.78);
}

.top80-top50-hero p{
    max-width:690px;
    margin:25px 0 0;
    color:#e6ddec;
    font-size:19px;
    line-height:1.6;
    font-weight:700;
}

.top80-top50-number{
    position:absolute;
    z-index:1;
    right:7%;
    top:50%;
    transform:translateY(-50%);
    color:transparent;
    font-size:clamp(180px,23vw,360px);
    line-height:1;
    font-weight:950;
    -webkit-text-stroke:2px rgba(255,53,223,.24);
    text-shadow:0 0 38px rgba(62,177,255,.16);
    user-select:none;
}

.top80-top50-content{
    padding:65px 4% 30px;
}

.top80-top50-inner{
    width:100%;
    max-width:1280px;
    margin:0 auto;
    padding:32px;
    border:2px solid #ff35df;
    border-radius:22px;
    background:
        radial-gradient(circle at top left,rgba(255,53,223,.10),transparent 35%),
        linear-gradient(145deg,#11031b,#05010c);
    box-shadow:
        0 0 9px #ff35df,
        0 0 30px rgba(255,53,223,.36);
}

.top80-top50-heading{
    margin-bottom:30px;
}

.top80-top50-list{
    gap:12px;
}

.top80-top50-item{
    min-height:94px;
    grid-template-columns:62px 72px minmax(0,1fr) auto;
    padding:10px 20px 10px 12px;
}

.top80-top50-item .top80-top5-cover{
    width:72px;
    height:72px;
}

.top80-top50-item .top80-top5-rank{
    position:relative;
    font-size:31px;
}

.top80-top50-item .top80-top5-rank .fa-crown{
    position:absolute;
    left:50%;
    top:-18px;
    transform:translateX(-50%);
    color:#ffd24a;
    font-size:16px;
    text-shadow:0 0 10px rgba(255,210,74,.85);
}

.top80-top50-item.is-podium{
    border-width:2px;
}

.top80-top50-item.is-position-1{
    border-color:#ffd24a;
    background:
        linear-gradient(90deg,rgba(255,210,74,.12),transparent 42%),
        rgba(11,3,19,.90);
    box-shadow:0 0 18px rgba(255,210,74,.20);
}

.top80-top50-item.is-position-1 .top80-top5-rank{
    color:#ffd24a;
    text-shadow:0 0 12px rgba(255,210,74,.85);
}

.top80-top50-item.is-position-2{
    border-color:#c6dcf0;
}

.top80-top50-item.is-position-2 .top80-top5-rank{
    color:#dcecff;
}

.top80-top50-item.is-position-3{
    border-color:#d88b55;
}

.top80-top50-item.is-position-3 .top80-top5-rank{
    color:#ef9e66;
}

.top80-top50-back{
    width:max-content;
    margin:34px auto 0;
}

@media(max-width:760px){
    .top80-top50-hero{
        min-height:330px;
        padding:0;
    }

    .top80-top50-hero-content{
        min-height:330px;
        padding:40px 18px;
    }

    .top80-top50-hero h1{
        letter-spacing:-2px;
    }

    .top80-top50-hero p{
        max-width:85%;
        font-size:16px;
    }

    .top80-top50-number{
        right:-35px;
        opacity:.65;
    }

    .top80-top50-content{
        padding:35px 14px 20px;
    }

    .top80-top50-inner{
        padding:22px 13px;
    }

    .top80-top50-heading h2{
        font-size:21px;
    }

    .top80-top50-item{
        min-height:76px;
        grid-template-columns:38px 56px minmax(0,1fr);
        gap:9px;
        padding:9px;
    }

    .top80-top50-item .top80-top5-rank{
        font-size:22px;
    }

    .top80-top50-item .top80-top5-cover{
        width:56px;
        height:56px;
    }

    .top80-top50-item .top80-top5-track strong{
        font-size:14px;
    }

    .top80-top50-item .top80-top5-track small{
        font-size:12px;
    }

    .top80-top50-item .top80-top5-votes{
        grid-column:2 / -1;
        justify-self:start;
    }
}

/* TOP 50 : variante néon violet et textes alignés à gauche */

.top80-top50-page .top80-daily-hero{
    border-bottom-color:#a855ff;
    box-shadow:
        0 4px 16px rgba(168,85,255,.72),
        0 12px 38px rgba(118,55,255,.24);
}

.top80-top50-page .top80-daily-page-card{
    border-color:#a855ff;
    background:
        radial-gradient(circle at top left,rgba(168,85,255,.14),transparent 36%),
        linear-gradient(145deg,#10031d,#05010c);
    box-shadow:
        0 0 9px #a855ff,
        0 0 32px rgba(168,85,255,.46),
        inset 0 0 24px rgba(168,85,255,.05);
}

.top80-top50-page .top80-top50-badge,
.top80-top50-page .top80-module-heading-icon{
    border-color:#a855ff;
    color:#c58aff;
    background:rgba(168,85,255,.13);
    box-shadow:0 0 14px rgba(168,85,255,.68);
}

.top80-top50-page .top80-module-kicker,
.top80-top50-page .top80-top5-rank{
    color:#c77dff;
    text-shadow:0 0 11px rgba(168,85,255,.88);
}

.top80-top50-page .top80-top50-heading{
    text-align:left;
}

.top80-top50-page .top80-top50-item{
    border-color:rgba(168,85,255,.42);
    background:rgba(10,3,19,.86);
    text-align:left;
}

.top80-top50-page .top80-top50-item:hover{
    border-color:#a855ff;
    box-shadow:0 0 17px rgba(168,85,255,.36);
}

.top80-top50-page .top80-top5-cover{
    border-color:#a855ff;
    box-shadow:0 0 10px rgba(168,85,255,.68);
}

.top80-top50-page .top80-top5-track,
.top80-top50-page .top80-top5-track strong,
.top80-top50-page .top80-top5-track small{
    text-align:left;
}

.top80-top50-page .top80-top5-votes{
    border-color:rgba(168,85,255,.62);
    background:rgba(168,85,255,.13);
}

.top80-top50-page .top80-top5-votes i{
    color:#c77dff;
}

.top80-top50-page .top80-top50-back{
    border-color:#a855ff;
    box-shadow:0 0 12px rgba(168,85,255,.72);
}

/* =========================================================
   PAGE ACTUALITÉS - CORRECTION RESPONSIVE PRIORITAIRE
========================================================= */

@media(max-width:900px){
    .top80-news-list-section .top80-news-wide-card{
        width:100%;
        display:grid;
        grid-template-columns:minmax(0,1fr);
    }

    .top80-news-list-section .top80-news-wide-image{
        width:100%;
        border-right:0;
        border-bottom:1px solid rgba(255,53,71,.52);
    }

    .top80-news-list-section .top80-news-wide-image img{
        width:100%;
        height:auto;
        min-height:0;
        aspect-ratio:16 / 9;
        object-fit:cover;
    }

    .top80-news-list-section .top80-news-wide-content{
        width:100%;
        min-width:0;
    }

    .top80-news-list-section .top80-news-wide-content h2{
        max-width:100%;
        overflow-wrap:anywhere;
    }
}

@media(max-width:600px){
    .top80-news-page{
        overflow-x:hidden;
    }

    .top80-news-list-section{
        padding:32px 12px 145px;
    }

    .top80-news-list-inner,
    .top80-news-list{
        width:100%;
        min-width:0;
    }

    .top80-news-list-section .top80-news-wide-card{
        border-radius:16px;
    }

    .top80-news-list-section .top80-news-wide-image img{
        max-height:260px;
    }

    .top80-news-list-section .top80-news-wide-content{
        padding:20px 16px 24px;
        align-items:flex-start;
        text-align:left;
    }

    .top80-news-list-section .top80-news-card-date{
        font-size:12px;
    }

    .top80-news-list-section .top80-news-wide-content h2{
        margin:12px 0 14px;
        font-size:clamp(21px,6.5vw,27px);
        line-height:1.12;
    }

    .top80-news-list-section .top80-news-wide-excerpt{
        font-size:15px;
        line-height:1.6;
    }

    .top80-news-list-section
    .top80-news-wide-content
    .top80-news-card-button{
        width:100%;
        min-height:46px;
        margin-top:20px;
        justify-content:space-between;
    }
}

/* =========================================================
   ACCUEIL - TOP 5 + APPLICATIONS
========================================================= */

.top80-home-bottom{
    padding:0 4% 150px;
    background:
        radial-gradient(circle at 30% 0%,rgba(255,53,223,.10),transparent 34%),
        linear-gradient(180deg,#03010a,#05000d);
}

.top80-home-bottom-inner{
    width:100%;
    max-width:1500px;
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(0,2fr) minmax(320px,1fr);
    gap:26px;
    align-items:stretch;
}

.top80-listeners-top5,
.top80-app-download{
    min-width:0;
    padding:28px;
    border:2px solid #ff35df;
    border-radius:20px;
    background:
        radial-gradient(circle at top left,rgba(255,53,223,.10),transparent 36%),
        linear-gradient(145deg,#11031b,#05010c);
    box-shadow:
        0 0 8px #ff35df,
        0 0 24px rgba(255,53,223,.38),
        inset 0 0 22px rgba(255,53,223,.04);
}

.top80-module-heading{
    margin-bottom:22px;
    display:flex;
    align-items:center;
    gap:15px;
}

.top80-module-heading-icon{
    width:48px;
    height:48px;
    flex:0 0 48px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #ff35df;
    border-radius:11px;
    color:#ff70e8;
    background:rgba(255,53,223,.10);
    font-size:21px;
    box-shadow:0 0 10px rgba(255,53,223,.68);
}

.top80-module-kicker{
    display:block;
    margin-bottom:5px;
    color:#ff70e8;
    font-size:11px;
    font-weight:900;
    letter-spacing:1.4px;
    text-transform:uppercase;
}

.top80-module-heading h2,
.top80-app-download h2{
    margin:0;
    color:#fff;
    font-size:27px;
    line-height:1.1;
    font-weight:900;
    text-transform:uppercase;
    text-shadow:0 0 18px rgba(255,53,223,.48);
}

.top80-top5-list{
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:10px;
    list-style:none;
    counter-reset:none;
}

.top80-top5-item{
    min-width:0;
    min-height:82px;
    padding:9px 16px 9px 10px;
    display:grid;
    grid-template-columns:48px 64px minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
    border:1px solid rgba(255,53,223,.34);
    border-radius:13px;
    background:rgba(11,3,19,.82);
    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.top80-top5-item:hover{
    transform:translateX(4px);
    border-color:#ff35df;
    box-shadow:0 0 15px rgba(255,53,223,.24);
}

.top80-top5-rank{
    color:#ff70e8;
    font-size:29px;
    font-weight:900;
    text-align:center;
    text-shadow:0 0 10px rgba(255,53,223,.82);
}

.top80-top5-cover{
    width:64px;
    height:64px;
    overflow:hidden;
    border:2px solid #a855ff;
    border-radius:10px;
    box-shadow:0 0 9px rgba(168,85,255,.58);
}

.top80-top5-cover img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.top80-top5-track{
    min-width:0;
}

.top80-top5-track strong,
.top80-top5-track small{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.top80-top5-track strong{
    color:#fff;
    font-size:18px;
    font-weight:900;
    text-transform:uppercase;
}

.top80-top5-track small{
    margin-top:5px;
    color:#d8cce2;
    font-size:15px;
    font-weight:700;
}

.top80-top5-votes{
    min-width:82px;
    padding:8px 11px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    border:1px solid rgba(255,53,223,.48);
    border-radius:999px;
    color:#fff;
    background:rgba(255,53,223,.10);
    font-size:16px;
    font-weight:900;
}

.top80-top5-votes i{
    color:#ff4fdf;
}

.top80-top5-votes small{
    font-size:10px;
    text-transform:uppercase;
}

.top80-top5-empty{
    margin:0;
    padding:30px;
    color:#eadff2;
    text-align:center;
}

.top80-app-download{
    display:flex;
    flex-direction:column;
}

.top80-app-download > h2{
    margin-bottom:24px;
    text-align:center;
    font-size:21px;
}

.top80-app-download-content{
    flex:1;
    min-height:0;
    display:grid;
    grid-template-columns:minmax(115px,.9fr) minmax(160px,1.1fr);
    align-items:center;
    gap:18px;
}

.top80-app-visual{
    align-self:end;
    overflow:hidden;
}

.top80-app-visual img{
    display:block;
    width:100%;
    max-height:390px;
    object-fit:contain;
    object-position:center bottom;
    border:1px solid rgba(255,53,223,.42);
    border-radius:22px;
    box-shadow:
        0 0 10px rgba(255,53,223,.46),
        0 0 24px rgba(70,112,255,.18);
}

.top80-store-buttons{
    display:flex;
    flex-direction:column;
    gap:13px;
}

.top80-store-buttons a{
    min-height:66px;
    padding:10px 13px;
    display:flex;
    align-items:center;
    gap:12px;
    border:1px solid rgba(255,255,255,.68);
    border-radius:10px;
    color:#fff;
    background:#030305;
    box-shadow:0 0 10px rgba(255,53,223,.16);
    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.top80-store-buttons a:hover{
    transform:translateY(-2px);
    border-color:#ff35df;
    box-shadow:0 0 16px rgba(255,53,223,.38);
}

.top80-store-buttons i{
    width:34px;
    flex:0 0 34px;
    color:#fff;
    font-size:30px;
    text-align:center;
}

.top80-store-buttons span{
    display:block;
    font-size:15px;
    line-height:1.08;
    font-weight:900;
}

.top80-store-buttons small{
    display:block;
    margin-bottom:4px;
    color:#ddd;
    font-size:9px;
    font-weight:600;
    text-transform:uppercase;
}

@media(max-width:1100px){
    .top80-home-bottom-inner{
        grid-template-columns:1fr;
    }

    .top80-app-download-content{
        max-width:650px;
        width:100%;
        margin:0 auto;
    }
}

@media(max-width:650px){
    .top80-home-bottom{
        padding:0 14px 130px;
    }

    .top80-listeners-top5,
    .top80-app-download{
        padding:20px 14px;
    }

    .top80-module-heading h2{
        font-size:23px;
    }

    .top80-top5-item{
        grid-template-columns:34px 54px minmax(0,1fr);
        gap:10px;
        padding:8px;
    }

    .top80-top5-rank{
        font-size:23px;
    }

    .top80-top5-cover{
        width:54px;
        height:54px;
    }

    .top80-top5-track strong{
        font-size:15px;
    }

    .top80-top5-track small{
        font-size:13px;
    }

    .top80-top5-votes{
        grid-column:2 / -1;
        justify-self:start;
    }

    .top80-app-download-content{
        grid-template-columns:1fr;
    }

    .top80-app-visual{
        display:none;
    }
}

/* =========================================================
   ACCUEIL - DERNIERS AJOUTS À LA DISCOTHÈQUE
========================================================= */

.top80-latest-library{
    padding:58px 4% 155px;
    overflow:hidden;
    background:
        radial-gradient(circle at 50% 0%,rgba(47,155,255,.12),transparent 35%),
        linear-gradient(180deg,#05000d,#020812);
    border-top:1px solid rgba(47,155,255,.18);
}

.top80-latest-library-inner{
    width:100%;
    max-width:1500px;
    margin:0 auto;
}

.top80-latest-library-heading{
    margin-bottom:28px;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:28px;
}

.top80-latest-library-kicker{
    display:block;
    margin-bottom:7px;
    color:#55b8ff;
    font-size:11px;
    font-weight:900;
    letter-spacing:1.4px;
    text-transform:uppercase;
    text-shadow:0 0 8px rgba(47,155,255,.72);
}

.top80-latest-library-heading h2{
    margin:0;
    color:#fff;
    font-size:30px;
    line-height:1.12;
    font-weight:900;
    text-transform:uppercase;
    text-shadow:
        0 0 8px rgba(255,255,255,.14),
        0 0 20px rgba(47,155,255,.42);
}

.top80-latest-library-heading > p{
    margin:0;
    padding:12px 16px;
    flex:0 0 auto;
    border:1px solid rgba(47,155,255,.55);
    border-radius:12px;
    color:#dceeff;
    background:rgba(47,155,255,.08);
    font-size:13px;
    line-height:1.35;
    text-align:right;
    box-shadow:0 0 9px rgba(47,155,255,.30);
}

.top80-latest-library-heading > p strong{
    color:#68c0ff;
    font-size:20px;
}

.top80-latest-library-heading > p span{
    display:block;
    color:#a9cbe3;
    font-size:11px;
}

.top80-latest-library-track{
    padding:8px 6px;
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:18px;
}

.top80-library-card{
    min-width:0;
    overflow:hidden;
    border:1px solid #2f9bff;
    border-radius:16px;
    background:
        radial-gradient(circle at top left,rgba(47,155,255,.10),transparent 35%),
        linear-gradient(145deg,#061426,#030813);
    box-shadow:
        0 0 7px rgba(47,155,255,.82),
        0 0 19px rgba(47,155,255,.28);
    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}

.top80-library-card:hover{
    transform:translateY(-4px);
    border-color:#ff35df;
    box-shadow:
        0 0 8px rgba(255,53,223,.82),
        0 0 22px rgba(255,53,223,.28);
}

.top80-library-cover{
    position:relative;
    overflow:hidden;
    aspect-ratio:1/1;
    border-bottom:1px solid rgba(47,155,255,.42);
}

.top80-library-cover img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .4s ease;
}

.top80-library-card:hover .top80-library-cover img{
    transform:scale(1.045);
}

.top80-library-new{
    position:absolute;
    top:11px;
    left:11px;
    padding:6px 9px;
    border:1px solid #ff35df;
    border-radius:999px;
    color:#fff;
    background:rgba(22,0,35,.90);
    font-size:9px;
    font-weight:900;
    letter-spacing:.8px;
    box-shadow:0 0 9px rgba(255,53,223,.70);
}

.top80-library-content{
    padding:17px;
}

.top80-library-content h3{
    margin:0;
    overflow:hidden;
    color:#fff;
    font-size:17px;
    line-height:1.15;
    font-weight:900;
    text-overflow:ellipsis;
    text-transform:uppercase;
    white-space:nowrap;
}

.top80-library-content > p{
    min-height:38px;
    margin:7px 0 13px;
    overflow:hidden;
    display:-webkit-box;
    color:#dbeafa;
    font-size:14px;
    line-height:1.35;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}

.top80-library-meta{
    min-height:20px;
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
    color:#7dcaff;
    font-size:11px;
    font-weight:800;
}

.top80-library-buy{
    min-height:38px;
    margin-top:15px;
    padding:0 12px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border:1px solid #2f9bff;
    border-radius:9px;
    color:#fff;
    background:rgba(47,155,255,.10);
    font-size:10px;
    font-weight:900;
    box-shadow:0 0 7px rgba(47,155,255,.38);
}

.top80-latest-library-empty{
    margin:0;
    padding:28px;
    border:1px solid rgba(47,155,255,.48);
    border-radius:14px;
    color:#dceeff;
    text-align:center;
}

@media(max-width:760px){
    .top80-latest-library{
        padding:44px 14px 135px;
    }

    .top80-latest-library-heading{
        align-items:flex-start;
        flex-direction:column;
    }

    .top80-latest-library-heading h2{
        font-size:25px;
    }

    .top80-latest-library-heading > p{
        width:100%;
        text-align:left;
    }

}

@media(max-width:1250px){
    .top80-latest-library-track{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:700px){
    .top80-latest-library-track{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:14px;
    }
}

@media(max-width:430px){
    .top80-latest-library-track{
        grid-template-columns:1fr;
    }
}

/* =========================================================
   PAGE JOURNÉE MONDIALE - CALENDRIER AJAX
========================================================= */

.top80-world-day-card{
    max-width:1050px;
}

.top80-world-day-intro{
    max-width:720px;
    margin:0 auto 28px;
    color:#e4f3ff;
    font-size:18px;
    line-height:1.65;
}

.top80-world-day-picker{
    max-width:720px;
    margin:0 auto 30px;
    padding:22px;
    border:1px solid rgba(47,155,255,.62);
    border-radius:16px;
    background:rgba(8,35,67,.46);
    box-shadow:
        0 0 8px rgba(47,155,255,.38),
        inset 0 0 18px rgba(47,155,255,.05);
}

.top80-world-day-picker > label{
    margin-bottom:13px;
    display:block;
    color:#77c8ff;
    font-size:13px;
    font-weight:900;
    letter-spacing:.7px;
    text-align:left;
}

.top80-world-day-picker > label i{
    margin-right:7px;
}

.top80-world-day-picker-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
}

.top80-world-day-picker input{
    min-width:0;
    height:50px;
    padding:0 15px;
    border:1px solid #2f9bff;
    border-radius:10px;
    outline:0;
    color:#fff;
    color-scheme:dark;
    background:#06101f;
    font-size:16px;
    box-shadow:0 0 8px rgba(47,155,255,.30);
}

.top80-world-day-picker input:focus{
    box-shadow:
        0 0 0 1px #2f9bff,
        0 0 16px rgba(47,155,255,.52);
}

.top80-world-day-picker button{
    min-height:50px;
    padding:0 20px;
    border:1px solid #2f9bff;
    border-radius:10px;
    color:#fff;
    background:rgba(47,155,255,.16);
    font-size:12px;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 0 8px rgba(47,155,255,.42);
}

.top80-world-day-result{
    max-width:820px;
    min-height:170px;
    margin:0 auto;
    padding:30px;
    border:1px solid rgba(47,155,255,.52);
    border-radius:18px;
    color:#edf7ff;
    background:
        radial-gradient(circle at top,rgba(47,155,255,.10),transparent 48%),
        rgba(2,8,18,.82);
    font-size:17px;
    line-height:1.75;
    text-align:left;
    box-shadow:
        0 0 10px rgba(47,155,255,.42),
        inset 0 0 22px rgba(47,155,255,.04);
}

.top80-world-day-result-heading{
    margin-bottom:24px;
    padding-bottom:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:15px;
    border-bottom:1px solid rgba(47,155,255,.34);
    text-align:center;
}

.top80-world-day-result-heading > span{
    font-size:44px;
    line-height:1;
}

.top80-world-day-result-heading small{
    display:block;
    margin-bottom:4px;
    color:#87cfff;
    font-size:11px;
    font-weight:900;
    letter-spacing:1.2px;
}

.top80-world-day-result-heading h2{
    margin:0;
    color:#fff;
    font-size:30px;
}

.top80-world-day-list{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.top80-world-day-item{
    padding:24px;
    border:1px solid rgba(47,155,255,.52);
    border-radius:15px;
    background:
        radial-gradient(circle at top left,rgba(47,155,255,.10),transparent 42%),
        rgba(5,19,38,.82);
    box-shadow:
        0 0 8px rgba(47,155,255,.26),
        inset 0 0 16px rgba(47,155,255,.03);
}

.top80-world-day-item h3{
    margin:0 0 14px;
    color:#70c4ff;
    font-size:24px;
    line-height:1.25;
    text-align:left;
    text-shadow:0 0 10px rgba(47,155,255,.42);
}

.top80-world-day-item p{
    margin:0 0 15px;
    color:#edf7ff;
}

.top80-world-day-item p:last-child{
    margin-bottom:0;
}

.top80-world-day-empty{
    margin:0;
    padding:30px 18px;
    color:#b9d9ef;
    font-weight:800;
    text-align:center;
}

.top80-world-day-result h1,
.top80-world-day-result h2,
.top80-world-day-result h3,
.top80-world-day-result h4{
    color:#72c5ff;
    text-align:center;
    text-shadow:0 0 10px rgba(47,155,255,.58);
}

.top80-world-day-result p:first-child{
    margin-top:0;
}

.top80-world-day-result p:last-child{
    margin-bottom:0;
}

.top80-world-day-loading{
    min-height:108px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#83ceff;
    font-weight:900;
    text-align:center;
}

.top80-world-day-result.is-loading{
    opacity:.72;
}

.top80-world-day-error{
    color:#ff8fa2;
    font-weight:900;
    text-align:center;
}

@media(max-width:650px){
    .top80-world-day-intro{
        font-size:16px;
    }

    .top80-world-day-picker{
        padding:17px 14px;
    }

    .top80-world-day-picker-row{
        grid-template-columns:1fr;
    }

    .top80-world-day-picker button{
        width:100%;
    }

    .top80-world-day-result{
        min-height:140px;
        padding:22px 16px;
        font-size:16px;
    }

    .top80-world-day-result-heading{
        align-items:flex-start;
    }

    .top80-world-day-result-heading > span{
        font-size:36px;
    }

    .top80-world-day-result-heading h2{
        font-size:25px;
    }

    .top80-world-day-item{
        padding:19px 15px;
    }

    .top80-world-day-item h3{
        font-size:21px;
    }
}
