.jkib-fans{
    --navy:#00204f;
    --dark:#00152f;
    --red:#db2028;
    --yellow:#fff564;
    position:relative;
    overflow:hidden;
    padding:64px 0 58px;
    background:#f4f6f9;
}
.jkib-fans::before{
    content:"KIBICE";
    position:absolute;
    right:-28px;
    top:24px;
    color:rgba(0,32,79,.022);
    font-size:clamp(96px,13vw,190px);
    font-weight:900;
    line-height:.78;
    letter-spacing:-9px;
    pointer-events:none;
}
.jkib-fans .container{position:relative;z-index:2}
.jkib-fans-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:48px;
    margin-bottom:34px;
}
.jkib-fans-title{flex:0 0 auto}
.jkib-fans-kicker{
    display:block;
    margin-bottom:9px;
    color:var(--red);
    font-size:10px;
    font-weight:900;
    letter-spacing:2.2px;
    text-transform:uppercase;
}
.jkib-fans h2{
    margin:0;
    color:var(--navy);
    font-size:clamp(48px,5.2vw,72px);
    font-weight:900;
    line-height:.88;
    letter-spacing:-3px;
    text-transform:uppercase;
}
.jkib-fans h2 span{display:block}
.jkib-fans-intro{
    width:min(100%,440px);
    padding-bottom:4px;
}
.jkib-fans-intro p{
    margin:0;
    color:#667285;
    font-size:14px;
    line-height:1.65;
}
.jkib-fans-intro strong{
    color:var(--navy);
    font-weight:900;
}
.jkib-fans-line{
    display:block;
    width:46px;
    height:5px;
    margin-top:17px;
    background:var(--yellow);
    border-radius:999px;
}

/* 3 kolumny przy większej liczbie materiałów */
.jkib-fans-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    width:100%;
}

/* Jeden lub dwa materiały nie wyglądają jak małe kafle przyklejone do lewej */
.jkib-fans-grid.is-single{
    grid-template-columns:minmax(0,480px);
    justify-content:center;
}
.jkib-fans-grid.is-double{
    grid-template-columns:repeat(2,minmax(0,430px));
    justify-content:center;
}

.jkib-fan-card{
    position:relative;
    display:block;
    width:100%;
    aspect-ratio:4/5;
    overflow:hidden;
    background:var(--navy);
    border-radius:12px;
    box-shadow:0 10px 30px rgba(0,21,47,.08);
    transform:translateZ(0);
}
.jkib-fan-card img,
.jkib-fan-card video{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .45s ease;
}
.jkib-fan-card:hover img,
.jkib-fan-card:hover video{transform:scale(1.025)}
.jkib-fan-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(180deg,rgba(0,21,47,.16) 0%,rgba(0,21,47,0) 42%),
        linear-gradient(0deg,rgba(0,21,47,.48) 0%,rgba(0,21,47,0) 34%);
    pointer-events:none;
}
.jkib-fan-top{
    position:absolute;
    left:14px;
    top:14px;
    max-width:calc(100% - 70px);
    padding:7px 9px;
    overflow:hidden;
    background:var(--red);
    border-radius:5px;
    color:#fff;
    font-size:7px;
    font-weight:900;
    letter-spacing:.8px;
    line-height:1;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.jkib-fan-link{
    position:absolute;
    right:14px;
    bottom:14px;
    display:flex;
    width:34px;
    height:34px;
    align-items:center;
    justify-content:center;
    background:var(--yellow);
    border-radius:50%;
    color:var(--navy);
    font-size:17px;
    font-weight:900;
    transition:transform .2s ease,background .2s ease;
}
.jkib-fan-card:hover .jkib-fan-link{transform:translate(2px,-2px)}
.jkib-fan-video{
    position:absolute;
    left:50%;
    top:50%;
    display:flex;
    width:50px;
    height:50px;
    align-items:center;
    justify-content:center;
    transform:translate(-50%,-50%);
    background:rgba(0,32,79,.78);
    border:1px solid rgba(255,255,255,.3);
    border-radius:50%;
    color:var(--yellow);
    font-size:14px;
}

.jkib-fans-empty{
    padding:42px 44px;
    overflow:hidden;
    background:linear-gradient(135deg,var(--navy),var(--dark));
    border-top:6px solid var(--red);
    border-radius:14px;
}
.jkib-fans-empty>span{
    display:block;
    margin-bottom:9px;
    color:var(--yellow);
    font-size:10px;
    font-weight:900;
    letter-spacing:2px;
    text-transform:uppercase;
}
.jkib-fans-empty h3{
    max-width:720px;
    margin:0 0 16px;
    color:#fff;
    font-size:clamp(32px,4vw,52px);
    font-weight:900;
    line-height:.96;
    letter-spacing:-2px;
    text-transform:uppercase;
}
.jkib-fans-empty p{
    max-width:620px;
    margin:0;
    color:rgba(255,255,255,.7);
    font-size:14px;
    line-height:1.65;
}
.jkib-fans-empty p strong{color:var(--yellow)}

.jkib-fans-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-top:24px;
    padding-top:17px;
    border-top:1px solid #dce1e8;
    color:#7d8796;
    font-size:8px;
    font-weight:900;
    letter-spacing:1.2px;
    text-transform:uppercase;
}
.jkib-fans-footer strong{color:var(--navy)}

@media(max-width:991px){
    .jkib-fans{padding:54px 0 52px}
    .jkib-fans-head{
        align-items:flex-start;
        flex-direction:column;
        gap:18px;
        margin-bottom:28px;
    }
    .jkib-fans-intro{width:min(100%,650px)}
    .jkib-fans-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
    .jkib-fans-grid.is-single{grid-template-columns:minmax(0,460px)}
    .jkib-fans-grid.is-double{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:767px){
    .jkib-fans{padding:42px 0 44px}
    .jkib-fans::before{display:none}
    .jkib-fans-kicker{font-size:8px;letter-spacing:1.7px}
    .jkib-fans h2{
        font-size:44px;
        line-height:.9;
        letter-spacing:-2px;
    }
    .jkib-fans-intro p{font-size:12.5px}
    .jkib-fans-line{width:38px;height:4px;margin-top:13px}
    .jkib-fans-grid,
    .jkib-fans-grid.is-double{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:7px;
    }
    .jkib-fans-grid.is-single{
        grid-template-columns:minmax(0,1fr);
        max-width:100%;
    }
    .jkib-fan-card{
        aspect-ratio:4/5;
        border-radius:9px;
        box-shadow:none;
    }
    .jkib-fan-top{
        left:8px;
        top:8px;
        max-width:calc(100% - 48px);
        padding:6px 7px;
        font-size:5px;
        letter-spacing:.55px;
    }
    .jkib-fan-link{
        right:8px;
        bottom:8px;
        width:28px;
        height:28px;
        font-size:14px;
    }
    .jkib-fan-video{width:40px;height:40px;font-size:11px}
    .jkib-fans-empty{padding:29px 22px;border-radius:11px}
    .jkib-fans-empty>span{font-size:8px;letter-spacing:1.5px}
    .jkib-fans-empty h3{font-size:34px;letter-spacing:-1.5px}
    .jkib-fans-empty p{font-size:12px}
    .jkib-fans-footer{
        align-items:flex-start;
        flex-direction:column;
        gap:5px;
        margin-top:18px;
        padding-top:14px;
        font-size:7px;
    }
}
@media(max-width:370px){
    .jkib-fans h2{font-size:40px}
}

.jkib-fan-top-story{
    background:var(--navy);
    color:var(--yellow);
    border:1px solid rgba(255,245,100,.35);
}
