/* /moderne/sport/kampreferat/kampreferat.css */

.kf-world{
    margin-bottom:44px;
}
.kf-world-title{
    padding-bottom:20px;
}

.kf-page-head{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:20px;
    margin:24px 0 14px;
}
.kf-page-kicker{
    display:block;
    margin-bottom:4px;
    color:#0f6b3d;
    font-size:.68rem;
    font-weight:950;
    letter-spacing:.12em;
}
.kf-page-head h2{
    margin:0;
    color:#07131f;
    font-size:1.55rem;
    line-height:1.08;
}
.kf-page-head p{
    margin:6px 0 0;
    color:#64748b;
    font-size:.82rem;
}

.kf-layout{
    display:grid;
    grid-template-columns:285px minmax(0,1fr);
    gap:18px;
    align-items:start;
}

.kf-sidebar{
    position:sticky;
    top:12px;
    max-height:calc(100vh - 24px);
    overflow:auto;
    border:1px solid #ccd8df;
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 22px rgba(15,23,42,.06);
}
.kf-sidebar-head{
    padding:14px 15px 13px;
    background:linear-gradient(135deg,#0b4f2d,#126b40);
    color:#fff;
}
.kf-sidebar-head strong{
    display:block;
    font-size:1rem;
}
.kf-sidebar-head span{
    display:block;
    margin-top:2px;
    color:rgba(255,255,255,.72);
    font-size:.67rem;
    font-weight:700;
}

.kf-filter-block{
    padding:13px;
    border-bottom:1px solid #e8edf1;
    background:#f9fbfa;
}
.kf-filter-block label{
    display:block;
    margin-bottom:7px;
    color:#23352b;
    font-size:.69rem;
    font-weight:950;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.kf-filter-block select{
    width:100%;
    min-height:42px;
    padding:8px 34px 8px 10px;
    border:1px solid #ccd7df;
    border-radius:11px;
    background:#fff;
    color:#0f172a;
    font:inherit;
    font-size:.8rem;
    font-weight:800;
    cursor:pointer;
}
.kf-filter-block small{
    display:block;
    margin-top:5px;
    color:#718096;
    font-size:.65rem;
}
.kf-team-select-wrap{
    position:relative;
    padding-left:48px;
}
.kf-team-select-wrap img{
    position:absolute;
    z-index:2;
    left:2px;
    top:50%;
    width:40px;
    height:40px;
    object-fit:contain;
    transform:translateY(-50%);
    pointer-events:none;
}

.kf-season-summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:11px 13px;
    background:#eaf6ef;
    border-bottom:1px solid #cfe3d7;
    color:#103a25;
}
.kf-season-summary strong{
    font-size:.84rem;
}
.kf-season-summary span{
    font-size:.67rem;
    font-weight:800;
    color:#517060;
}

.kf-match-list{
    padding:7px;
}
.kf-match{
    display:grid;
    grid-template-columns:23px minmax(0,1fr) auto;
    gap:7px;
    align-items:center;
    margin:4px 0;
    padding:8px 7px;
    border:1px solid transparent;
    border-radius:11px;
    color:#0f172a;
    text-decoration:none;
    transition:.14s ease;
}
.kf-match:hover{
    background:#f0f7f3;
}
.kf-match.is-active{
    background:#e4f4ea;
    border-color:#13834d;
    box-shadow:inset 3px 0 0 #13834d;
}
.kf-ref{
    width:21px;
    height:21px;
    display:grid;
    place-items:center;
    border-radius:999px;
    background:#e8edf1;
    color:#7a8793;
    font-size:.7rem;
    font-weight:950;
}
.kf-ref.has-ref{
    background:#c9f3d8;
    color:#116333;
}
.kf-match-copy{
    min-width:0;
}
.kf-match-copy strong{
    display:block;
    overflow:hidden;
    color:#142018;
    font-size:.73rem;
    line-height:1.18;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.kf-match-copy small{
    display:block;
    margin-top:3px;
    overflow:hidden;
    color:#738096;
    font-size:.62rem;
    line-height:1.2;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.kf-score{
    min-width:42px;
    padding:6px 7px;
    border-radius:10px;
    text-align:center;
    background:#f1f5f9;
    font-size:.72rem;
    font-weight:950;
}
.kf-score.win{
    background:#bdebc9;
    color:#124d28;
}
.kf-score.loss{
    background:#fecdd3;
    color:#9f1239;
}
.kf-score.draw{
    background:#fde68a;
    color:#713f12;
}

.kf-main{
    min-width:0;
}

.kf-empty,
.kf-empty-small{
    color:#64748b;
}
.kf-empty{
    padding:60px 20px;
    border:1px solid #d6dee5;
    border-radius:17px;
    background:#fff;
    text-align:center;
}
.kf-empty > span{
    display:block;
    margin-bottom:8px;
    font-size:2rem;
}
.kf-empty h2{
    margin:0;
    color:#10291c;
}
.kf-empty p{
    margin:7px 0 0;
}
.kf-empty-small{
    padding:18px 10px;
    text-align:center;
    font-size:.72rem;
}

/* -------------------------------------------------------
   Innkapsling av dei eksisterande kampreferat-filene
   ------------------------------------------------------- */
.kf-report{
    min-width:0;
    padding:14px;
    overflow:hidden;
    border:1px solid #ccd8df;
    border-radius:17px;
    background:#fff;
    box-shadow:0 8px 22px rgba(15,23,42,.06);
}

/* Gamal eigen kampmeny skal vekk – den nye venstremenyen er fasit. */
.kf-report .kamp-sidebar,
.kf-report .kampmeny,
.kf-report .kamp-menu,
.kf-report .left-menu,
.kf-report .leftmenu{
    display:none !important;
}
.kf-report .wrap.grid,
.kf-report .wrap,
.kf-report .kamp-layout,
.kf-report .page-layout,
.kf-report .layout{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
}

/* Mange gamle kampfiler brukar grid med aside + main. */
.kf-report .wrap.grid{
    display:block !important;
}
.kf-report .wrap.grid > aside:first-child{
    display:none !important;
}
.kf-report .wrap.grid > main,
.kf-report .wrap > main,
.kf-report main{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
}

/* Behald høgre kampinfo når det er plass. */
.kf-report .two-col,
.kf-report .kampreferat-layout,
.kf-report .content-layout,
.kf-report .main-layout{
    max-width:100% !important;
}

.kf-report img{
    max-width:100%;
    height:auto;
}

/* Gamle mobile "Meny"-knappar er overflødige her. */
.kf-report #kampmeny-toggle,
.kf-report .mobile-toggle{
    display:none !important;
}

@media(max-width:980px){
    .kf-layout{
        grid-template-columns:1fr;
    }
    .kf-sidebar{
        position:relative;
        top:auto;
        max-height:none;
    }
    .kf-match-list{
        max-height:430px;
        overflow:auto;
    }
}

@media(max-width:720px){
    .kf-page-head{
        margin-top:18px;
    }
    .kf-page-head h2{
        font-size:1.3rem;
    }
    .kf-layout{
        gap:10px;
    }
    .kf-sidebar{
        border-radius:13px;
    }
    .kf-report{
        padding:7px;
        border-radius:13px;
    }

    .kf-report .two-col,
    .kf-report .kampreferat-layout,
    .kf-report .kamp-layout,
    .kf-report .content-layout,
    .kf-report .main-layout{
        display:block !important;
        grid-template-columns:1fr !important;
        width:100% !important;
    }

    .kf-report .info,
    .kf-report .side-info,
    .kf-report .kamp-info,
    .kf-report .rightbar,
    .kf-report .sidebar{
        width:100% !important;
        max-width:none !important;
        margin-top:12px !important;
    }
}


/* =========================================================
   V2 – strammare overgang frå hovudmeny til kampreferat
   ========================================================= */
.kf-world .sport-mainnav{
    margin-bottom:10px;
}

.kf-page-head--compact{
    margin:8px 0 9px;
    padding:0 2px;
}

.kf-page-head__title{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    text-align:left;
}

.kf-page-icon{
    width:34px;
    height:34px;
    flex:0 0 34px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:#eaf5ee;
    font-size:17px;
}

.kf-page-head--compact h2{
    margin:0;
    font-size:1.08rem;
    line-height:1.05;
}

.kf-page-head--compact p{
    margin:3px 0 0;
    font-size:.69rem;
    line-height:1.25;
}

@media(max-width:720px){
    .kf-world .sport-mainnav{
        margin-bottom:8px;
    }

    .kf-page-head--compact{
        margin:7px 0 8px;
    }

    .kf-page-head__title{
        justify-content:flex-start;
    }
}

/* =========================================================
   V3 – berre kamp-lista skal scrolle
   ========================================================= */
.kf-sidebar{
    overflow:hidden;
    max-height:none;
}

.kf-match-list{
    max-height:calc(100vh - 430px);
    min-height:150px;
    overflow-y:auto;
    overflow-x:hidden;
    scrollbar-gutter:stable;
}

/* Litt meir diskret scrollbar i sjølve kamp-lista */
.kf-match-list::-webkit-scrollbar{
    width:8px;
}
.kf-match-list::-webkit-scrollbar-track{
    background:#f1f5f3;
}
.kf-match-list::-webkit-scrollbar-thumb{
    background:#b7c9bf;
    border-radius:999px;
}
.kf-match-list::-webkit-scrollbar-thumb:hover{
    background:#91aa9c;
}

@media(max-width:980px){
    .kf-sidebar{
        overflow:hidden;
    }

    .kf-match-list{
        max-height:420px;
        overflow-y:auto;
    }
}

@media(max-width:720px){
    .kf-match-list{
        max-height:360px;
    }
}


/* =========================================================
   V4 – endeleg scrollstruktur i venstremenyen
   Berre kampane skal rulle. Filterdelen skal alltid stå fast.
   ========================================================= */

.kf-sidebar{
    display:flex !important;
    flex-direction:column !important;
    max-height:calc(100vh - 220px) !important;
    overflow:hidden !important;
    overflow-y:hidden !important;
}

.kf-sidebar-head,
.kf-filter-block,
.kf-season-summary{
    flex:0 0 auto !important;
}

.kf-match-list{
    flex:1 1 auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    scrollbar-gutter:stable;
}

/* Ingen scrollbar på sjølve ytterboksen */
.kf-sidebar::-webkit-scrollbar{
    display:none !important;
}

@media(max-width:980px){
    .kf-sidebar{
        display:block !important;
        max-height:none !important;
        overflow:hidden !important;
    }

    .kf-match-list{
        max-height:420px !important;
        overflow-y:auto !important;
    }
}

@media(max-width:720px){
    .kf-match-list{
        max-height:360px !important;
    }
}
