/* FIS Web MVP — mobile layer. Desktop styles are untouched. */
@media screen and (max-width: 760px) {
  html { -webkit-text-size-adjust: 100%; }
  body { margin: 0; overflow-x: hidden; }
  body > main, main, body:has(.view-contests) main {
    width: 100% !important; max-width: 100% !important;
    margin: 0 auto !important; padding: 10px 12px 32px !important;
    min-width: 0;
  }
  header { padding: 19px 16px !important; border-radius: 14px; }
  header h1 { font-size: clamp(1.3rem, 5.6vw, 1.85rem); line-height: 1.2; }
  header p { font-size: .88rem; margin-bottom: 0; }
  section { padding: 13px !important; margin: 12px 0 !important; gap: 11px !important; min-width: 0; }
  .filters { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; align-items: stretch !important; }
  .filters > label, .filters > button, .filters > div, .filters label { min-width: 0 !important; width: 100%; }
  select, input, textarea { max-width: 100%; min-width: 0; font-size: 16px; }
  .filters select, .filters input, .filters button { width: 100% !important; min-height: 44px; }
  button, a, select { touch-action: manipulation; }
  button { min-height: 40px; }
  .tabs {
    display: flex !important; flex-wrap: nowrap !important;
    gap: 7px !important; overflow-x: auto !important;
    overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity; padding: 4px 1px 10px;
    margin: 13px -3px 8px !important; scrollbar-width: thin;
  }
  .tabs > .tab, .tabs > .season-tab {
    flex: 0 0 auto !important; max-width: min(76vw, 300px);
    min-height: 44px; padding: 10px 13px !important;
    border-radius: 10px !important; scroll-snap-align: start;
    font-size: 13px !important; line-height: 1.25;
    white-space: normal; text-align: left;
  }
  .tabs > .tab.active { box-shadow: 0 2px 8px rgba(12,44,77,.17); }
  .season-tab { display: flex !important; align-items: center; gap: 7px; }
  .description, #meta, #status, #explain { font-size: .9rem; line-height: 1.5; overflow-wrap: anywhere; }
  .search-above-table { padding: 12px !important; margin: 12px 0 7px; }
  .search-above-table input { min-height: 44px; }
  .tablewrap {
    display: block; max-width: 100%; width: 100%; overflow-x: auto !important;
    overflow-y: auto; -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain; border: 1px solid #d9e5f0;
    border-radius: 12px; margin-top: 8px;
  }
  .tablewrap table { width: max-content; min-width: 100%; font-size: 12px; }
  .tablewrap th, .tablewrap td { padding: 10px 8px; line-height: 1.3; }
  .tablewrap .thsort { white-space: normal; font-size: 12px; line-height: 1.25; }
  /* Preserve complete results: never squeeze a multi-round table into phone width. */
  .tablewrap .results-table.view-jumps { min-width: 990px !important; width: 990px !important; }
  .tablewrap .results-table.view-contests,
  .tablewrap .results-table.view-contests.three-rounds {
    min-width: 1120px !important; width: max-content !important;
    table-layout: auto !important;
  }
  .tablewrap .results-table.view-king { min-width: 820px !important; }
  .tablewrap .results-table.view-contests th,
  .tablewrap .results-table.view-contests td { padding: 9px 6px !important; }
  .tablewrap .results-table.view-contests .col-name { min-width: 140px !important; }
  .jumps-event-panel, .jumps-sort-panel { display: grid !important; grid-template-columns: minmax(0,1fr); }
  .jumps-event-panel label, .jumps-sort-panel label { min-width: 0 !important; }
  .jumps-event-panel select, .jumps-sort-panel select { width: 100%; }
  .jump-calculator { display: block; }
  .jump-calculator-fields { display: grid !important; grid-template-columns: minmax(0,1fr) !important; gap: 10px; }
  .jump-calculator-fields label, .jump-calculator-fields input, .jump-calculator-fields button { width: 100%; min-width: 0; }
  #calcWeekendBase { max-width: 100%; font-size: 1rem !important; padding: 10px !important; }
  .export-actions, .history-export-actions { display: flex; flex-wrap: wrap; gap: 9px; }
  .export-actions > *, .history-export-actions > * { flex: 1 1 100%; text-align: center; min-height: 44px; }
  .chart-picker { max-width: 100%; min-width: 0; }
  .chart-picker-actions { flex-wrap: wrap; }
  .chart-athlete-list { grid-template-columns: minmax(0,1fr) !important; max-height: 300px; }
  .chart-athlete-list label { min-height: 42px; }
  .season-chart, #chartPanel, #chartSvg { max-width: 100%; min-width: 0; }
  .season-chart-plot { max-width: 100%; overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
  .season-chart-plot svg { min-width: 680px; }
  footer { font-size: 12px; line-height: 1.5; }
}
@media screen and (max-width: 380px) {
  body > main, main { padding-left: 9px !important; padding-right: 9px !important; }
  .tabs > .tab, .tabs > .season-tab { max-width: 82vw; }
}
/* Keep browser print-to-PDF layout identical to desktop. */
@media print { .tabs { overflow: visible !important; } }

@media(max-width:760px){.mobile-toggle{display:block;width:100%;min-height:44px;margin:10px 0;background:#164875;color:white;border:1px solid #5c9dd2;border-radius:9px;font-weight:700}.tablewrap.mobile-compact{overflow-x:hidden!important}.tablewrap.mobile-compact table,.tablewrap.mobile-compact .results-table,.tablewrap.mobile-compact .results-table.view-jumps,.tablewrap.mobile-compact .results-table.view-contests,.tablewrap.mobile-compact .results-table.view-king{min-width:0!important;width:100%!important;table-layout:auto!important}.tablewrap.mobile-compact td,.tablewrap.mobile-compact th{min-width:0!important;padding:8px 4px!important;white-space:normal!important;overflow-wrap:anywhere}.tablewrap.mobile-compact th button{white-space:normal!important;font-size:11px!important}}@media(min-width:761px){.mobile-toggle{display:none!important}}

/* Kontrolki sortowania pod filtrami, opis nad nimi */
#seasonSortControls[hidden]{display:none!important}
#seasonSortControls,#rankingFilters{align-items:end}
#description,#explain{margin:14px 0 10px;line-height:1.55}
@media(max-width:760px){#seasonSortControls,#rankingFilters{display:grid!important;grid-template-columns:minmax(0,1fr)!important}#seasonSortControls select,#rankingFilters select{width:100%;min-height:44px}}

@media(max-width:760px){
#nationModeWrap[hidden],#windContestWrap[hidden],#contestFilterWrap[hidden],#jumpsEventPanel[hidden],#jumpCalculator[hidden],#rankingFilters[hidden],#seasonSortControls[hidden]{display:none!important}
#jumpCalculator:not(.mobile-calculator-open){display:none!important}
.mobile-calc-toggle{display:block;width:100%;min-height:46px;margin:12px 0;border-radius:10px;border:1px solid #5599cc;background:#164875;color:#fff;font-weight:700}
.mobile-calc-toggle[hidden]{display:none!important}
.tablewrap.mobile-compact table{table-layout:fixed!important;width:100%!important}
.tablewrap.mobile-compact tr > :first-child{width:9%!important;text-align:center!important}
.tablewrap.mobile-compact tr > .col-name{width:48%!important;text-align:left!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
.tablewrap.mobile-compact tr > .col-country{width:13%!important;text-align:center!important;overflow-wrap:normal!important;word-break:normal!important}
.tablewrap.mobile-compact td,.tablewrap.mobile-compact th{font-size:clamp(12px,3.4vw,15px)!important;padding:11px 5px!important;line-height:1.35!important}
.tablewrap.mobile-compact th button{font-size:clamp(11px,3.2vw,14px)!important;overflow-wrap:normal!important;word-break:normal!important}
}
@media(min-width:761px){.mobile-calc-toggle{display:none!important}}

/* v6: the weekend jumps sort is always accessible on small screens. */
@media(max-width:760px){
 body:has(.tab.active[data-view="jumps"]) #rankingFilters{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
 body:has(.tab.active[data-view="jumps"]) #generalSortWrap,
 body:has(.tab.active[data-view="jumps"]) #generalDirectionWrap{display:block!important}
 body:has(.tab.active[data-view="jumps"]) #rankingFilters #sort,
 body:has(.tab.active[data-view="jumps"]) #rankingFilters #direction{display:block!important;width:100%;min-height:44px}
}
