/* =========================
   BV BARVE
========================= */

:root{

--bv-good:#ffd84d;
--bv-good-glow:rgba(255,216,77,.50);

--bv-excellent:#59ff7a;
--bv-excellent-glow:rgba(89,255,122,.45);

/* RIBE */

--bv-ribe-good:#ffd84d;
--bv-ribe-good-glow:rgba(255,216,77,.50);

--bv-ribe-excellent:#59ff7a;
--bv-ribe-excellent-glow:rgba(89,255,122,.45);

}

.player-search-row td.bv-good{
color:var(--bv-good);

text-shadow:
0 0 10px var(--bv-good-glow);
}

.player-search-row td.bv-excellent{
color:var(--bv-excellent);

text-shadow:
0 0 12px var(--bv-excellent-glow);
}

.player-search-row td.bv-ribe-good{
color:var(--bv-ribe-good);

text-shadow:
0 0 10px var(--bv-ribe-good-glow);
}

.player-search-row td.bv-ribe-excellent{
color:var(--bv-ribe-excellent);

text-shadow:
0 0 12px var(--bv-ribe-excellent-glow);
}

/* =========================
   DOBRO
========================= */

.bv-good{
color:var(--bv-good);

text-shadow:
0 0 10px var(--bv-good-glow);
}

/* =========================
   ODLIČNO
========================= */

.bv-excellent{
color:var(--bv-excellent);

text-shadow:
0 0 12px var(--bv-excellent-glow);
}

/* =========================================================
   3) BASE TABLE
   Samo tehnična osnova, brez barv celic.
   Barve določajo posamezni tipi tabel.
========================================================= */

.bv-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

/* =========================================================
   BV TABLE SYSTEM
   ---------------------------------------------------------
   Struktura:
   1) Glavni tabi
   2) Vsebina tabov
   3) Osnovna tabela
   4) Urnik / razpored po stezah
   5) Rezultati - ekipno
   6) Rezultati - posamezno
   ========================================================= */


/* =========================================================
   4) URNIK / RAZPORED PO STEZAH
========================================================= */

.bv-table-schedule {
    overflow: hidden;

    border-radius: 18px;

    background: #f7f7f7;
}

/* glava urnika */
.bv-table-schedule thead th {
    padding: 24px 18px;

    text-align: center;

    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0.8px;

    color: #ffffff;
}

/* celice urnika */
.bv-table-schedule tbody td {
    padding: 20px 16px;

    vertical-align: top;

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

    color: #1d1d1d;

    background: #ffffff;

    border-bottom: 1px solid rgba(0, 0, 0, 0.06);

    border-right: 1px solid rgba(0, 0, 0, 0.04);
}

.bv-table-schedule tbody tr:hover td {
    background: #fafafa;
}

.bv-table-schedule tbody tr:last-child td {
    border-bottom: none;
}

/* ura v glavi */
.bv-time {
    width: 110px;

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

    text-align: center;

    background: linear-gradient(180deg, #2a2a2a 0%, #171717 45%, #0c0c0c 100%);

    color: #ffffff;
}

/* ura v telesu */
.bv-hour {
    width: 110px;

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

    text-align: center;

    background: #f2f2f2 !important;

    color: #08152d !important;
}

/* rdeča glava steze */
.bg-red {
    background: linear-gradient(180deg, #950407 0%, #7b0304 45%, #5e0203 100%);
}

/* modra glava steze */
.bg-blue {
    background: linear-gradient(180deg, #0b3b84 0%, #072d67 45%, #042555 100%);
}





/* =========================================================
   7) REZULTATI - EKIPNO
========================================================= */

.team-filter{
cursor:pointer;

transition:.2s;
}

.team-filter:hover{
color:#ffd84d;
text-decoration:underline;
}

.team-row {
    cursor: pointer;
}

.player-row {
    display: none;
}

.bv-table-results {
    overflow: hidden;

    border-radius: 24px;

    background: linear-gradient(180deg, #07111e 0%, #04070d 100%);

    box-shadow: 0 0 28px rgba(0, 0, 0, 0.55), 0 0 24px rgba(0, 90, 255, 0.1);
}

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

.bv-table-results thead th {
    padding: 22px 18px;

    text-align: center;

    background: linear-gradient(180deg, #0b3b84 0%, #072d67 45%, #042555 100%);

    color: #ffffff;

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

    text-transform: uppercase;
    letter-spacing: 0.05em;

    border-right: 1px solid rgba(255, 255, 255, 0.08);
}

.bv-table-results thead th:last-child {
    border-right: none;
}

/* =========================
   SORT PUŠČICE POD IKONO
   ========================= */

.th-sort{
    position:relative;
    text-align:center;
}

.th-sort .th-icon{
    display:block;
    margin:0 auto;
}

.th-arrows{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:8px;
    margin-top:4px;
}

.th-arrows img{
    height:16px;
    width:auto;
    cursor:pointer;

    opacity:.45;
    transition:.2s;
}

.th-arrows img.sort-active{
    opacity:1;

    transform:scale(1.15);

    filter:
        drop-shadow(0 0 4px rgba(255,215,0,.8))
        drop-shadow(0 0 8px rgba(255,215,0,.5));
}


/* =========================
   AKTIVNI SORT STOLPEC
   ========================= */

th.sort-active{
    box-shadow:
        inset 0 0 0 2px rgba(255,215,0,.6),
        inset 0 0 18px rgba(255,215,0,.25);

    background:
        linear-gradient(
            to bottom,
            rgba(255,215,0,.10),
            rgba(255,215,0,.02)
        );
}

.sort-rank-col{
    display:none;
}

/* =========================================================
   BODY
========================================================= */

.bv-table-results tbody td {
    border-right: 1px solid rgba(255, 255, 255, 0.04);
}

.bv-table-results tbody td:last-child {
    border-right: none;
}

/* =========================================================
   TEAM ROW
========================================================= */

.bv-table-results .team-row td {
    padding: 22px 18px;

    background: linear-gradient(180deg, #950407 0%, #7b0304 45%, #5e0203 100%);

    color: #ffffff;

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

    border-bottom: 1px solid rgba(0, 140, 255, 0.18);

    transition: background 0.18s ease, transform 0.18s ease;
}

.bv-table-results .team-row td.bv-good{
color:var(--bv-good);

text-shadow:
0 0 10px var(--bv-good-glow);
}

.bv-table-results .team-row td.bv-excellent{
color:var(--bv-excellent);

text-shadow:
0 0 12px var(--bv-excellent-glow);
}

.bv-table-results .player-row td.bv-good{
color:var(--bv-good);

text-shadow:
0 0 10px var(--bv-good-glow);
}

.bv-table-results .player-row td.bv-excellent{
color:var(--bv-excellent);

text-shadow:
0 0 12px var(--bv-excellent-glow);
}

.bv-table-results td.bv-ribe-good{
color:var(--bv-ribe-good);

text-shadow:
0 0 10px var(--bv-ribe-good-glow);
}

.bv-table-results td.bv-ribe-excellent{
color:var(--bv-ribe-excellent);

text-shadow:
0 0 12px var(--bv-ribe-excellent-glow);
}

.bv-table-results .player-row td.bv-ribe-good{
color:var(--bv-ribe-good);

text-shadow:
0 0 10px var(--bv-ribe-good-glow);
}

.bv-table-results .player-row td.bv-ribe-excellent{
color:var(--bv-ribe-excellent);

text-shadow:
0 0 12px var(--bv-ribe-excellent-glow);
}

.bv-table-results .team-row:hover td {
    filter: brightness(1.08);
}

.ekipa-cell{
display:flex;
align-items:center;
justify-content:space-between;

width:100%;
}

.ekipa-links{
display:flex;
align-items:center;

gap:8px;

flex-shrink:0;
}

.ekipa-links img{
display:block;
}

.ekipa-ime{
flex:1;
min-width:0;

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

padding-right:12px;
}

/* =========================================================
   PLAYER ROW
========================================================= */

.bv-table-results .player-row td {
    padding: 12px 18px;
    transition: all 0.18s ease;

    background: linear-gradient(180deg, #10151d 0%, #0c1017 100%);

    color: #d7e7ff;

    font-size: 22px;
    font-weight: 700;

    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.08),
        0 2px 6px rgba(0, 0, 0, 0.65);

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

.player-name {
    display:flex;
    align-items:center;

    gap:14px;
}

.player-info{
flex:1;
}

.player-links{
margin-left:auto;
padding-right:10px;
}

.player-photo {
    width: 56px;
    height: 56px;

    object-fit: cover;

    border-radius: 8px;

    flex-shrink: 0;
}

.player-info{
display:flex;
flex-direction:column;

gap:4px;
}

.player-fullname{
font-size:18px;
font-weight:800;

color:#ffffff;
}

.player-team{
font-size:13px;
font-weight:700;

color:#ffd54a;

text-transform:uppercase;

letter-spacing:.5px;
}

.player-meta-icons{
display:flex;
flex-direction:column;

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

gap:6px;

width:24px;

flex-shrink:0;
}

.gender-icon,
.tip-icon{
width:18px;
height:18px;

object-fit:contain;

flex-shrink:0;
}


/* =========================================================
   NUMBER ALIGN
========================================================= */

.bv-table td.num {
    text-align: right;
}

/* =========================================================
   RESULT COLUMN
========================================================= */

.bv-table-results .team-row td:last-child,
.bv-table-results .player-row td:last-child {
    text-align: right;

    font-weight: 900;

    color: #23a2ff;

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

/* =========================================================
   POSITION COLUMN
========================================================= */

.bv-table-results .team-row td:first-child,
.bv-table-results .player-row td:first-child {
    width: 90px;

    text-align: center;

    font-weight: 900;
}
/* =========================================================
   8) REZULTATI - POSAMEZNO
========================================================= */

.bv-table-player {
    overflow: hidden;

    border-radius: 24px;

    background: linear-gradient(180deg, #07111e 0%, #04070d 100%);

    box-shadow: 0 0 28px rgba(0, 0, 0, 0.55), 0 0 24px rgba(0, 90, 255, 0.1);
}

.bv-table-player thead th {
    padding: 22px 18px;

    text-align: center;

    background: linear-gradient(180deg, #950407 0%, #7b0304 45%, #5e0203 100%);

    color: #ffffff;

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

    text-transform: uppercase;
    letter-spacing: 0.05em;

    border-right: 1px solid rgba(255, 255, 255, 0.08);
}

.bv-table-player thead th:last-child {
    border-right: none;
}

.bv-table-player tbody td {
    padding: 18px 18px;

    background: linear-gradient(180deg, #10151d 0%, #0c1017 100%);

    color: #d7e7ff;

    font-size: 22px;
    font-weight: 700;

    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    border-right: 1px solid rgba(255, 255, 255, 0.04);
}

.bv-table-player tbody td:last-child {
    border-right: none;
}

.bv-table-player tbody tr:hover td {
    background: linear-gradient(180deg, #151c27 0%, #101720 100%);
}

.bv-table-player tbody td:last-child {
    text-align: right;

    font-weight: 900;

    color: #23a2ff;

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

.bv-table-player tbody td:first-child {
    width: 90px;

    text-align: center;

    font-weight: 900;
}

.duplicate-row td{
    background:rgba(85,92,98,.55) !important;
}

.duplicate-row{
    opacity:.75;
}

/* =========================================================
   9) TOP 3 BARVE
========================================================= */

.team-row.top1 td:first-child,
.bv-table-player tbody tr.top1 td:first-child {
    color: #ffd54a;
}

.team-row.top2 td:first-child,
.bv-table-player tbody tr.top2 td:first-child {
    color: #d8e2f0;
}

.team-row.top3 td:first-child,
.bv-table-player tbody tr.top3 td:first-child {
    color: #ffb36a;
}

.bv-table-results .team-row td.sort-rank{
    font-size:16px;
}

.bv-table-results .player-row td.sort-rank{
    font-size:16px;
}

/* =========================
   HTML TABELE
   ========================= */

.bv-html-table{
width:100%;
border-collapse:separate;
border-spacing:0;
overflow:hidden;

background:#020910;

border:1px solid rgba(120,160,220,.35);
border-radius:18px;

box-shadow:
0 0 25px rgba(0,60,180,.25),
0 10px 30px rgba(0,0,0,.45);

margin:20px 0 50px;
}

.bv-html-table thead th{

padding:18px;

font-size:32px;
font-weight:800;

text-align:center;
color:#ffffff;

background:linear-gradient(
180deg,
#0f4fae 0%,
#0a2f6e 100%
);

border-right:1px solid rgba(255,255,255,.15);
}

.bv-html-table thead th:last-child{
border-right:none;
}

.bv-html-table tbody td{

padding:18px;

font-size:28px;
font-weight:700;

color:#f2f2f2;

background:
linear-gradient(
90deg,
#020910 0%,
#04111f 50%,
#020910 100%
);

border-top:1px solid rgba(120,160,220,.25);
border-right:1px solid rgba(120,160,220,.15);
}

.bv-html-table tbody td:last-child{
border-right:none;
}

/* =========================
   TOP 3
   ========================= */

.bv-html-table tbody tr:nth-child(1) td{

color:#ffd700;

box-shadow:
inset 0 0 0 1px #ffbf00,
inset 0 0 30px rgba(255,215,0,.15);
}

.bv-html-table tbody tr:nth-child(2) td{

color:#dfe4ea;

box-shadow:
inset 0 0 0 1px #bfc6d1,
inset 0 0 30px rgba(220,220,220,.10);
}

.bv-html-table tbody tr:nth-child(3) td{

color:#f2a654;

box-shadow:
inset 0 0 0 1px #d98b3a,
inset 0 0 30px rgba(242,166,84,.10);
}

/* =========================
   NASLOVI
   ========================= */

.bv-html-title{

text-align:center;

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

color:#ffffff;

margin:40px auto 20px;

padding:8px 20px;

width:fit-content;

border-radius:18px;

background:
linear-gradient(
180deg,
#ff2a2a 0%,
#b00000 100%
);

box-shadow:
0 0 20px rgba(255,0,0,.45),
inset 0 0 0 2px rgba(255,255,255,.20);
}

/* =========================
   TC MOBILNE KARTICE
========================= */

.player-cards{
display:none;
}

.player-card{
border:1px solid red;

margin:10px;
padding:12px;

background:
linear-gradient(
180deg,
#07101d 0%,
#030a13 100%
);
}

.player-card-top{
display:flex;

gap:14px;

align-items:flex-start;
}

.player-card-photo{
width:75px;
height:90px;

object-fit:cover;

border-radius:8px;

flex-shrink:0;
}

.player-card-info{
flex:1;

display:flex;
flex-direction:column;

gap:4px;
}

.player-card-name{
font-size:22px;
font-weight:800;

line-height:1.1;

color:#ffffff;
}

.player-card-team{
font-size:15px;
font-weight:700;

color:#ffd54a;

text-transform:uppercase;
}

.player-card-meta{
display:flex;

gap:10px;

align-items:center;

margin-top:2px;
}

.player-card-stats{
display:grid;

grid-template-columns:
repeat(4,1fr);

width:100%;

margin-top:10px;

border-top:1px solid
rgba(255,255,255,.08);
}

.card-stat{
padding:8px 4px;

text-align:center;

border-left:1px solid
rgba(255,255,255,.06);
}

.card-stat:first-child{
border-left:none;
}

.card-stat-label{
display:block;

margin-bottom:4px;
}

.card-stat-value{
display:block;

font-size:22px;
font-weight:800;

line-height:1;

color:#ffffff;
}

/* =========================
   TC KARTICA STATISTIKA
========================= */

.card-stat{
padding:10px 6px;

text-align:center;

border-left:1px solid
rgba(255,255,255,.06);
}

.card-stat:first-child{
border-left:none;
}

.card-stat-label{
display:block;

font-size:12px;
font-weight:700;

color:#aeb9cc;

text-transform:uppercase;

margin-bottom:4px;
}

.card-stat-value{
display:block;

font-size:28px;
font-weight:800;

color:#ffffff;
}

/* ========================================
   📱 BV TABLE MOBILE
======================================== */

@media (max-width: 768px) {
    .bv-table {
        width: 100%;
    }

    .bv-tabs {
        gap: 8px;

        padding: 8px;
    }

    .bv-tab {
        padding: 12px 14px;

        font-size: 16px;
    }

    .bv-table-schedule thead th {
        padding: 12px 8px;

        font-size: 14px;

        line-height: 1.1;
    }
}

@media (max-width:768px) and (orientation:portrait){

.player-cards{
display:block;
}

.bv-table-player{
display:none;
}

}

.player-card.duplicate-card{
    background:rgba(110,118,125,.55);
    opacity:.75;
}
