/* RiftWorld — sekcja Turnieje. Reużywa hero/typografii z catalog.css. */

/* Hero z tłem (starcie Runeterry) + przyciemnienie pod tekst */
.rwk-hero--tournaments{position:relative;background:var(--rw-bg);margin-bottom:0;overflow:visible}
.rwk-hero--tournaments::before{content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(8,11,18,.66), rgba(8,11,18,.58) 45%, rgba(8,11,18,.92) 86%, var(--rw-bg) 100%),
    url("../img/turnieje-hero.jpg") center 34%/cover no-repeat;}

.rwk-tour{padding-bottom:56px}

/* Filtry */
.rwk-tour__filters{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;
  margin:clamp(18px,3vw,28px) 0 18px}
.rwk-tour__filters label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:var(--rw-muted)}
.rwk-tour__filters select{padding:8px 12px;border-radius:9px;background:#141824;color-scheme:dark;
  border:1px solid var(--rw-line);color:var(--rw-text);font-size:14px;min-width:150px}
.rwk-tour__filters select option{background:#141824;color:#fff}
.rwk-tour__count{margin-left:auto;color:var(--rw-muted);font-size:13.5px;align-self:center}

/* Tabela turniejów */
.rwk-tour__table{display:flex;flex-direction:column;border:1px solid var(--rw-line);
  border-radius:14px;overflow:hidden;background:rgba(255,255,255,.02)}
.rwk-tour__row{display:grid;grid-template-columns:104px 1fr 210px 100px 66px;gap:14px;
  align-items:center;padding:13px 18px;border-top:1px solid var(--rw-line);
  color:var(--rw-text);text-decoration:none;transition:background .15s}
.rwk-tour__type{display:flex;flex-wrap:wrap;gap:5px}
.rwk-tour__season{color:var(--rw-muted);font-size:13px}

/* Badge (rodzaj / tier wielkości) */
.rwk-badge{display:inline-block;font-size:11px;line-height:1.5;padding:2px 9px;border-radius:999px;
  background:rgba(255,255,255,.06);border:1px solid var(--rw-line);color:var(--rw-text);white-space:nowrap}
.rwk-badge--tier{font-weight:600;border-color:rgba(230,197,116,.3);color:var(--rw-gold)}
.rwk-badge--championship{color:#ffd76a;border-color:rgba(255,215,106,.55);background:rgba(255,215,106,.12)}
.rwk-badge--major{color:#8fd0ff;border-color:rgba(70,200,255,.4);background:rgba(70,200,255,.1)}
.rwk-badge--regional{color:#b7f7c2;border-color:rgba(90,220,140,.35)}
.rwk-badge--local{color:var(--rw-muted)}
li.rwk-badge{list-style:none}
a.rwk-tour__row:hover{background:rgba(70,200,255,.06)}
.rwk-tour__row--head{border-top:0;background:rgba(255,255,255,.03);
  font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--rw-muted);font-weight:600}
.rwk-tour__date{color:var(--rw-muted);font-size:13.5px}
.rwk-tour__name{font-weight:600;min-width:0}
.rwk-tour__name small{display:block;font-weight:400;color:var(--rw-muted);font-size:12.5px;margin-top:2px}
.rwk-tour__num{text-align:center}
.rwk-tour__attr{margin-top:22px;color:var(--rw-muted);font-size:12.5px;opacity:.85}
.rwk-tour__attr a{color:var(--rw-cyan);text-decoration:none}
.rwk-tour__attr a:hover{text-decoration:underline}

/* Pojedynczy turniej */
.rwk-tsingle__head{margin:6px 0 22px}
.rwk-tsingle__head h1{font-size:clamp(26px,4.4vw,42px);line-height:1.08;margin:0 0 12px}
.rwk-tsingle__meta{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px;padding:0}
.rwk-tsingle__meta li{font-size:13px;color:var(--rw-text);background:rgba(255,255,255,.05);
  border:1px solid var(--rw-line);border-radius:999px;padding:4px 12px}
.rwk-tsingle__source a{color:var(--rw-gold);text-decoration:none;font-size:13.5px}
.rwk-tsingle__source a:hover{text-decoration:underline}

/* Zakładki turnieju (Wyniki / Metagame) */
.rwk-tabs{display:flex;gap:8px;margin:0 0 18px;border-bottom:1px solid var(--rw-line)}
.rwk-tab{background:none;border:0;border-bottom:2px solid transparent;color:var(--rw-muted);
  font-weight:600;font-size:15px;padding:10px 14px;cursor:pointer;transition:color .15s,border-color .15s}
.rwk-tab:hover{color:var(--rw-text)}
.rwk-tab.is-active{color:var(--rw-gold);border-bottom-color:var(--rw-gold)}

/* Metagame */
.rwk-meta__lead{color:var(--rw-muted);font-size:14px;margin:0 0 18px}
.rwk-meta__top{display:flex;align-items:center;gap:clamp(20px,4vw,44px);flex-wrap:wrap;
  margin:0 0 24px;padding:18px;border:1px solid var(--rw-line);border-radius:14px;background:rgba(255,255,255,.02)}
.rwk-donut{width:180px;height:180px;border-radius:50%;flex:none;position:relative}
.rwk-donut::after{content:"";position:absolute;inset:26%;border-radius:50%;background:var(--rw-bg);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
.rwk-donut__legend{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:5px 20px;flex:1 1 320px;min-width:260px}
.rwk-donut__legend li{display:flex;align-items:center;gap:8px;font-size:13.5px}
.rwk-sw{width:12px;height:12px;border-radius:3px;flex:none}
.rwk-donut__name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--rw-text)}
.rwk-donut__pct{color:var(--rw-muted);font-variant-numeric:tabular-nums}

.rwk-meta__table{border:1px solid var(--rw-line);border-radius:14px;overflow:hidden;background:rgba(255,255,255,.02)}
.rwk-meta__row{display:flex;align-items:center;gap:14px;padding:10px 16px;border-top:1px solid var(--rw-line)}
.rwk-meta__row--head{border-top:0;background:rgba(255,255,255,.03);
  font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--rw-muted);font-weight:600}
.rwk-meta__arch{flex:2 1 220px;display:flex;align-items:center;gap:10px;min-width:0}
.rwk-meta__name{min-width:0;line-height:1.2;overflow:hidden}
.rwk-meta__name small{display:block;color:var(--rw-muted);font-size:11.5px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.rwk-meta__bar{flex:1.4 1 120px;display:flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}
.rwk-meta__bar b{font-weight:700;font-size:13.5px}
.rwk-meta__bar small{color:var(--rw-muted);font-size:12px}
.rwk-meta__best{flex:0 0 52px;text-align:center;color:var(--rw-gold);font-weight:700}
.rwk-bar{flex:1;height:8px;border-radius:5px;background:rgba(255,255,255,.06);overflow:hidden;min-width:36px}
.rwk-bar>span{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#e6c574,#f0d79a)}
.rwk-bar--wr>span{background:linear-gradient(90deg,#46c8ff,#7ee0a0)}
.rwk-bar--cv>span{background:linear-gradient(90deg,#b98cff,#f56cae)}


/* Standings */
.rwk-stand{border:1px solid var(--rw-line);border-radius:14px;overflow:hidden;background:rgba(255,255,255,.02)}
.rwk-stand__row{display:grid;grid-template-columns:52px 1fr 1.2fr 90px;gap:12px;align-items:center;
  padding:11px 16px;border-top:1px solid var(--rw-line)}
.rwk-stand__row--head{border-top:0;background:rgba(255,255,255,.03);
  font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--rw-muted);font-weight:600}
.rwk-stand__place{font-weight:700;color:var(--rw-gold);text-align:center}
.rwk-stand__player small{display:inline-block;margin-left:6px;color:var(--rw-muted);font-size:11.5px;
  border:1px solid var(--rw-line);border-radius:5px;padding:1px 5px}
.rwk-stand__rec{text-align:center;font-variant-numeric:tabular-nums;color:var(--rw-text)}
.rwk-stand__toggle{background:rgba(70,200,255,.1);border:1px solid rgba(230,197,116,.32);
  color:var(--rw-text);border-radius:8px;padding:5px 11px;font-size:13px;cursor:pointer;font-weight:600}
.rwk-stand__toggle:hover{border-color:var(--rw-cyan);color:#fff}
.rwk-stand__deck{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

/* Avatary Legendy/Czempiona (crop twarzy jak w dzienniku bitew) */
.rwk-avs{display:inline-flex;gap:3px;flex:none}
.rwk-av{display:inline-block;width:30px;height:30px;border-radius:50%;overflow:hidden;flex:none;line-height:0;
  background-color:#0b111d;border:2px solid rgba(230,197,116,.4);box-shadow:0 2px 6px rgba(0,0,0,.4)}
.rwk-av img{width:100%;height:100%;object-fit:cover;object-position:50% 28%;display:block}
.rwk-av--champ{border-color:rgba(70,200,255,.5)}
.rwk-av--none{display:inline-flex;align-items:center;justify-content:center;color:var(--rw-muted);font-size:13px}

/* Miniaturki kart w decklistcie */
.rwk-deck__zone li{display:flex;align-items:center;gap:8px}
.rwk-deck__thumb{width:38px;height:38px;object-fit:cover;border-radius:6px;flex:none;
  box-shadow:0 1px 4px rgba(0,0,0,.5);background:#0b111d}
.rwk-deck__thumb--none{width:38px;height:38px;border-radius:6px;flex:none;
  display:inline-flex;align-items:center;justify-content:center;color:var(--rw-muted);
  background:rgba(255,255,255,.04);border:1px solid var(--rw-line);font-size:12px}
.rwk-deck__qty{min-width:24px}
.rwk-stand__deckbox{padding:14px 18px;background:rgba(0,0,0,.22);border-top:1px solid var(--rw-line)}

/* Decklista */
.rwk-deck{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px}
.rwk-deck__zone h4{margin:0 0 8px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--rw-gold)}
.rwk-deck__zone ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.rwk-deck__zone li{font-size:14px;line-height:1.4}
.rwk-deck__qty{color:var(--rw-muted);font-variant-numeric:tabular-nums}
.rwk-deck__zone a{color:var(--rw-cyan);text-decoration:none}
.rwk-deck__zone a:hover{text-decoration:underline}

/* Mobile — sekcja turniejów (uporządkowane karty zamiast ściśniętych tabel) */
@media (max-width:760px){
  /* Filtry */
  .rwk-tour__filters{gap:10px 12px}
  .rwk-tour__filters label{flex:1 1 44%}
  .rwk-tour__filters select{min-width:0;width:100%}
  .rwk-tour__count{margin-left:0;flex:1 1 100%}

  /* Archiwum: każdy wiersz jako karta */
  .rwk-tour__row--head{display:none}
  .rwk-tour__row{display:flex;flex-wrap:wrap;align-items:center;gap:5px 10px;padding:14px 16px}
  .rwk-tour__name{flex:1 1 100%;order:1;font-size:15.5px}
  .rwk-tour__date{order:2;font-size:12.5px;color:var(--rw-muted)}
  .rwk-tour__season{order:2;font-size:12.5px;color:var(--rw-muted)}
  .rwk-tour__season::before{content:"· "}
  .rwk-tour__num{order:2;font-size:12.5px;color:var(--rw-muted);text-align:left;padding-left:19px;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%239aa4b2'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 20c0-4.4 3.6-7 8-7s8 2.6 8 7z'/%3E%3C/svg%3E") left center/14px no-repeat}
  .rwk-tour__type{flex:1 1 100%;order:3}

  /* Zakładki turnieju: pełna szerokość, duże cele dotyku */
  .rwk-tabs{gap:0}
  .rwk-tab{flex:1;text-align:center;padding:12px 6px;font-size:14.5px}

  /* Standings: karta 2-liniowa (miejsce/gracz/bilans + talia pod spodem) */
  .rwk-stand__row--head{display:none}
  .rwk-stand__row{grid-template-columns:auto 1fr auto;
    grid-template-areas:"place player rec" "deck deck deck";gap:5px 10px;padding:12px 14px}
  .rwk-stand__place{grid-area:place}
  .rwk-stand__player{grid-area:player;min-width:0}
  .rwk-stand__rec{grid-area:rec}
  .rwk-stand__deck{grid-area:deck;margin-top:2px}
  .rwk-stand__deckbox{padding:12px 14px}
  .rwk-deck{grid-template-columns:1fr;gap:14px}

  /* Metagame: donut nad legendą, wiersze rozłożone pionowo */
  .rwk-meta__top{flex-direction:column;align-items:center;gap:16px;padding:16px}
  .rwk-donut{width:150px;height:150px}
  .rwk-donut__legend{grid-template-columns:1fr;width:100%}
  .rwk-meta__row--head{display:none}
  .rwk-meta__row{flex-wrap:wrap;gap:7px 12px;padding:12px 14px}
  .rwk-meta__arch{flex:1 1 100%}
  .rwk-meta__bar{flex:1 1 100%}
  .rwk-meta__best{flex:1 1 100%;text-align:left}
}
