/* =========================================================
   Terminarz drużyn — wgraj do: assets/css/terminarz.css
   Używa zmiennych z style.css (--navy-*, --mustard-*, --paper-* itd.)
   ========================================================= */

.tp-fx-list{display:flex; flex-direction:column; gap:10px;}

.tp-fx{
  --c:var(--navy-700);
  display:grid;
  grid-template-columns:92px 1fr auto;
  gap:8px 22px;
  align-items:center;
  background:#fff;
  border:1px solid var(--paper-line);
  border-left:6px solid var(--c);
  border-radius:var(--radius-m);
  padding:12px 20px 12px 12px;
  box-shadow:var(--shadow-card);
  transition:transform .2s ease, box-shadow .2s ease;
}
.tp-fx:hover{transform:translateY(-2px); box-shadow:var(--shadow-pop);}
.tp-fx.is-home{--c:var(--mustard-500);}
.tp-fx.is-away{--c:var(--navy-700);}
.tp-fx.is-next{
  background:linear-gradient(100deg,var(--mustard-100),#fff 65%);
  border-color:var(--mustard-400);
  border-left-color:var(--c);
}

/* data */
.tp-fx-date{
  text-align:center;
  background:var(--paper-soft);
  border-radius:var(--radius-s);
  padding:9px 4px 8px;
  line-height:1.1;
}
.tp-fx.is-next .tp-fx-date{background:#fff;}
.tp-fx-day{display:block; font-family:var(--ff-display); font-size:1.8rem; font-weight:600; color:var(--navy-900);}
.tp-fx-mon{display:block; font-family:var(--ff-display); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft);}
.tp-fx-time{display:block; margin-top:6px; font-size:.75rem; font-weight:600; color:var(--navy-700);}
.tp-fx.is-tbd .tp-fx-date{background:transparent; border:1px dashed var(--paper-line);}
.tp-fx.is-tbd .tp-fx-day{color:var(--ink-faint);}
.tp-fx.is-tbd .tp-fx-time{color:var(--ink-faint); font-weight:500;}

/* drużyny */
.tp-fx-round{
  display:block; margin-bottom:8px;
  font-family:var(--ff-display); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint);
}
.tp-fx-teams{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:14px;
}
.tp-fx-team{display:flex; align-items:center; gap:10px; min-width:0;}
.tp-fx-team.home-side{flex-direction:row-reverse; text-align:right;}
.tp-fx-crest{width:36px; height:36px; object-fit:contain; flex:none;}
.tp-fx-name{font-family:var(--ff-display); font-weight:400; font-size:1rem; line-height:1.2; color:var(--ink-soft); overflow-wrap:anywhere;}
.tp-fx-team.us .tp-fx-name{font-weight:600; color:var(--navy-900);}
.tp-fx-vs{font-style:normal; font-family:var(--ff-display); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint);}

/* miejsce meczu + oznaczenia */
.tp-fx-side{display:flex; flex-direction:column; align-items:flex-end; gap:7px;}
.tp-fx-badge{
  display:inline-flex; align-items:center; gap:7px;
  padding:6px 14px 6px 10px;
  border-radius:100px;
  background:var(--c);
  color:var(--navy-900);
  font-family:var(--ff-display); font-size:.78rem; letter-spacing:.06em; text-transform:uppercase;
  white-space:nowrap;
}
.tp-fx.is-away .tp-fx-badge{color:#fff;}
.tp-fx-badge svg{width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}
.tp-fx-flag{
  font-family:var(--ff-display); font-size:.66rem; letter-spacing:.08em; text-transform:uppercase;
  padding:2px 10px; border-radius:100px;
  background:var(--navy-900); color:var(--mustard-400);
}
.tp-fx-flag.is-warn{background:#fdecea; color:#c0392b;}

/* telefony */
@media (max-width:760px){
  .tp-fx{grid-template-columns:66px 1fr; gap:8px 14px; padding:12px 12px 12px 10px;}
  .tp-fx-day{font-size:1.45rem;}
  .tp-fx-time{font-size:.68rem;}
  .tp-fx-teams{grid-template-columns:1fr; gap:6px;}
  .tp-fx-vs{display:none;}
  .tp-fx-team.home-side{flex-direction:row; text-align:left;}
  .tp-fx-crest{width:28px; height:28px;}
  .tp-fx-name{font-size:.95rem;}
  .tp-fx-side{
    grid-column:1 / -1;
    flex-direction:row; align-items:center; flex-wrap:wrap; gap:6px;
    padding-top:9px; border-top:1px solid var(--paper-line);
  }
  .tp-fx-badge{margin-left:auto;}
}

/* =========================================================
   Poprawki mobilne podstron drużyn
   (kolumny 1fr rozciągały się do szerokości tabeli i statystyk)
   ========================================================= */
html,body{overflow-x:clip;}   /* zabezpieczenie: strona nie przesuwa się na boki */

/* Bilans bramek w tabeli */
.tp-bal.pos{color:var(--ok);}
.tp-bal.neg{color:#c0392b;}

.tp-grid > *, .tp-hero .wrap > *{min-width:0;}
@media (max-width:980px){ .tp-grid{grid-template-columns:minmax(0,1fr);} }
@media (max-width:900px){ .tp-hero .wrap{grid-template-columns:minmax(0,1fr);} }

@media (max-width:560px){
  /* nagłówek: cztery kafelki statystyk w dwóch rzędach */
  .tp-hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
  .tp-stat b{font-size:1.4rem;}
  .tp-section{padding-block:32px;}
}

@media (max-width:640px){
  /* tabela: nazwy klubów mogą się zawijać, więc tabela mieści się w ekranie */
  .tp-table{font-size:.84rem;}
  .tp-table .c-team{white-space:normal;}
  .tp-table th, .tp-table td{padding-inline:4px;}
  .tp-table .club-crest{width:18px; height:18px; margin-right:6px;}
  .tp-stat-row b{overflow-wrap:anywhere;}
  .tp-fx{grid-template-columns:66px minmax(0,1fr);}

  /* okno z przebiegiem meczu */
  .tp-m-head{padding:34px 14px 18px; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);}
  .tp-m-team{font-size:.9rem; overflow-wrap:anywhere;}
  .tp-m-score{font-size:2rem;}
  .tp-tl{padding-inline:12px;}
  .tp-ev{grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr);}
}
