/* MENU MOBILE */

.hamburger{
  position:absolute;
  right:16px;
  top:16px;
  z-index:50;
  display:block;
  font-size:28px;
  background:none;
  border:none;
  color:#fff;
}

#mobileMenu{
  position:fixed;
  top:70px;
  left:0;
  right:0;
  background: rgba(11,60,109,0.85);
  display:none;
  flex-direction:column;
  z-index:9999;
}

#mobileMenu a{
  padding:14px 20px;
  color:#fff;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.15);
}

#mobileMenu.open{
  display:flex;
}
/* LOGO MOBILE */
.logo{
  height:44px;
}
.hero-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
    position:relative;
  z-index:9999;
}
header nav{
  display:none;
}
main{
  margin:20px auto 30px;
}
/* TABELA MOBILE */

.results-table td,
.results-team-table td,
.medal-table td,
.zawodnik-history-table td{
white-space:nowrap;
padding:4px 0;
}

/* KLUB – STATYSTYKI */
.klub-stats-table th{
white-space:normal;
line-height:1.1;
font-size:12px;
text-align:center;
}

/* INDEX – TABELA ZAWODÓW */

.zawody-index-table thead{
display:none;
}

.zawody-index-table tbody tr{
display:grid;
grid-template-columns:80px 1fr;
grid-template-areas:
"date name"
"place cat";
margin-bottom:10px;
padding:10px;
background:#f4f6f8;
border-radius:8px;
gap:4px 10px;
align-items:start;
}

.zawody-index-table td{
border:none;
padding:0;
}
.zawody-index-table td a{
display:block;
}
/* data */
.zawody-index-table td.col-date{
grid-area:date;
font-size:13px;
white-space:nowrap;
width:80px;
}

/* nazwa */
.zawody-index-table td:nth-child(2){
grid-area:name;
font-weight:600;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}

/* miejsce */
.zawody-index-table td:nth-child(3){
grid-area:place;
font-size:13px;
align-self:center;
}

/* kat */
.zawody-index-table td:nth-child(4){
grid-area:cat;
font-size:13px;
text-align:center;
justify-self:center;
}
/* HISTORIA STARTÓW – MOBILE */

.zawodnik-history-table td:nth-child(1){
  grid-area:date;
  font-size:13px;
  color:#6b7280;
}

.zawodnik-history-table td:nth-child(2){
  grid-area:name;
  font-weight:700;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.zawodnik-history-table td:nth-child(3){
  grid-area:place;
  font-size:13px;
}

.zawodnik-history-table td:nth-child(4){
  grid-area:cat;
  font-size:13px;
  opacity:.85;
}

.results-table,
.results-team-table,
.medal-table,
.zawodnik-history-table{
width:100%;
font-size:14px;
}
/* STATYSTYKI KLUBU – MOBILE */

.klub-stats-table{
width:100%;
}

.klub-stats-table tr{
display:grid;
grid-template-columns:1.2fr 1fr 1fr 1fr 1fr;
text-align:center;
}

.klub-stats-table th{
font-size:11px;
padding:2px 1px;
letter-spacing:-0.2px;
}

.klub-stats-table td{
font-size:12px;
padding:4px 2px;
}

.results-table th,
.results-table td,
.results-team-table th,
.results-team-table td,
.medal-table th,
.medal-table td,
.zawodnik-history-table th,
.zawodnik-history-table td{
padding:10px 6px;
}

.results-table thead,
.results-team-table thead,
.medal-table thead,
.zawodnik-history-table thead{
display:none;
}
.zawodnik-history-table td:nth-child(1){ grid-area:date; }
.zawodnik-history-table td:nth-child(2){ grid-area:name; }
.zawodnik-history-table td:nth-child(3){ grid-area:place; }
.zawodnik-history-table td:nth-child(4){ grid-area:cat; }

/* HISTORIA STARTÓW – MOBILE */

.zawodnik-history-table tbody tr{
display:flex;
justify-content:space-between;
align-items:center;
gap:10px;
}

.zawodnik-history-table td{
display:none;
}

/* DATA */
.zawodnik-history-table td:nth-child(1){
  display:block;
  font-size:13px;
}

/* TYP */
.zawodnik-history-table td:nth-child(2){
  display:block;
  flex:1;
  text-align:center;
}

/* DWUBOJ */
.zawodnik-history-table td:nth-child(15){
  display:block;
  width:60px;
  text-align:right;
  font-weight:700;
}

/* SINCLAIR */
.zawodnik-history-table td:nth-child(17){
  display:block;
  width:70px;
  text-align:right;
}
/*zawody.php*/
/* WYKRES MOBILE */

.section-stats canvas{
width:140px !important;
height:140px !important;
max-width:100%;
}

.section{
  overflow:hidden;
  backdrop-filter: blur(2px);

}

/* STATYSTYKI MOBILE */

#chart_progress{
display:none !important;
}

/* kontener wykresów */

.section:has(canvas){
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  text-align:center;
}
.section:has(#chart_progress){
display:none;
}
/* STATYSTYKI MOBILE */

.stats{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:20px;
}

.stats canvas{
  max-width:220px;
}
.section-zawody-header .zawody-tytul{
  font-size:26px;
  line-height:1.2;
}
.section-zawody-header{
  padding:20px 12px;
}
.section button{
  margin-top:10px;
  padding:8px 16px;
  font-size:14px;
}
.top-sinclair div{
  padding:6px 0;
  border-bottom:1px solid #ddd;
}
/* TOP SINCLAIR MOBILE */

.top-sinclair{
  background: rgba(255,255,255,0.85);
  border-radius:8px;
  padding:12px 14px;
  margin-bottom:18px;
}

.top-sinclair div{
  padding:6px 0;
  border-bottom:1px solid #ddd;
  font-size:14px;
}

.top-sinclair div:last-child{
  border-bottom:none;
}

/* SINCLAIR SEKCJA */

.section h3{
  margin-top:20px;
  position:relative;
  z-index:5;
  margin-bottom:8px;

}
.section-stats{
  margin-bottom:20px;
}

/* WYKRESY MOBILE */

.section-stats > div{
  display:grid !important;
  grid-template-columns:repeat(2,1fr) !important;
  gap:12px;
}

/* WYNIKI KATEGORII – MOBILE 1 LINIA */

.results-table thead{
  display:none;
}

.results-table tr{
display:flex;
align-items:center;
margin-bottom:10px;
padding:8px 10px;
background:#f4f6f8;
border-radius:8px;
gap:6px;
}

.results-table td{
  display:none;
}
/* nazwisko */
.results-table td.col-name{
display:block;
flex:0 1 50%;
min-width:0;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
font-weight:600;
}
/* dwubój */
.results-table td:nth-last-child(2){
display:block;
width:5ch;
flex:0 0 5ch;
text-align:right;
font-weight:700;
}

/* sinclair */
.results-table td:nth-last-child(1){
display:block;
width:5ch;
flex:0 0 5ch;
text-align:right;
}

/* TABELA MEDALI – MOBILE */

.medal-table tr{
display:flex;
justify-content:space-between;
align-items:center;
padding:8px 6px;
margin-bottom:8px;
background:#f4f6f8;
border-radius:8px;
gap:6px;
}

.medal-table td:first-child{
max-width:150px;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}

.medal-table td:last-child{
width:auto;
min-width:90px;
text-align:right;
flex:0 0 auto;
}

.results-table td.col-place{
display:block;
width:22px;
flex:0 0 22px;
text-align:left;
}
/* WYNIKI DRUŻYNOWE – MOBILE */

.results-team-table tr{
display:flex;
align-items:center;
gap:8px;
margin-bottom:10px;
padding:8px 10px;
background:#f4f6f8;
border-radius:8px;
}

.results-team-table td{
display:none;
}

.results-team-table td:nth-child(2){
display:block;
flex:0 1 50%;
min-width:0;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}

/* sinclair */
.results-team-table td:nth-last-child(2){
display:block;
width:70px;
text-align:right;
}

/* pkt drużyna */
.results-team-table td:last-child{
display:block;
width:50px;
text-align:right;
font-weight:700;
}
/* ZAWODY DRUŻYNOWE – MOBILE */

.page-zawody .section-stats{
display:none;
}

.page-zawody #toggle-more{
display:none;
}
/* REKORDY KLUBU – MOBILE */

.klub-records-table thead{
display:none;
}

.klub-records-table tr{
display:flex;
align-items:center;
gap:6px;
margin-bottom:8px;
padding:8px 10px;
background:#f4f6f8;
border-radius:8px;
}

.klub-records-table th:first-child,
.klub-records-table td[rowspan]{
display:none;
}

.klub-records-table td:last-child{
width:90px;
max-width:90px;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}

.klub-records-table td:last-child a{
display:block;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}

.klub-records-table td{
padding:6px 4px;
}
.klub-records-table{
table-layout:fixed;
width:100%;
font-size:12px;
}

.klub-records-table td:nth-child(2){
width:6ch;
}

.klub-records-table td:nth-child(3){
width:5ch;
text-align:right;
}

.klub-records-table td:nth-child(4){
width:6ch;
text-align:right;
font-weight:700;
}

.klub-records-table td:last-child{
width:auto;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}

.klub-records-table td:nth-child(2){
width:52px;
}

.klub-records-table td:nth-child(3){
width:52px;
text-align:right;
}

.klub-records-table td:nth-child(4){
width:60px;
text-align:right;
font-weight:700;
}

.klub-records-table td:last-child{
width:90px;
}

/* REKORDY świata – MOBILE */

.rekord-table thead{
display:none;
}

.rekord-table{
width:100%;
font-size:9px;
}

.rekord-table tr{
display:flex;
align-items:center;
gap:4px;
margin-bottom:6px;
padding:6px 8px;
background:#f4f6f8;
border-radius:8px;
}

.rekord-table td{
padding:4px 3px;
}

/* rekord */
.rekord-table td:nth-child(1){
width:6ch;
flex:0 0 6ch;
white-space:nowrap;

}

/* wynik */
.rekord-table td:nth-child(2){
width:7ch;
flex:0 0 7ch;
white-space:nowrap;
text-align:right;
}

/* nazwisko */
.rekord-table td:nth-child(3){
flex:1;
min-width:0;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}

.rekord-table td:nth-child(3) a{
display:block;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}

/* data */
.rekord-table td:nth-child(4){
width:8ch;
flex:0 0 8ch;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
/*pozycja lang*/
.lang-switch{
  position:absolute;
  right:16px;
  top:50px;
  display:flex;
  gap:6px;
  font-size:12px;
}