/* RiftWorld — publiczny katalog kart. Reużywa języka wizualnego modułu kolekcji. */

.rwk-app__loading{padding:36px;text-align:center;color:var(--rw-muted)}

/* Hero z tłem (mapa Riftbound) i przyciemnieniem u dołu */
.rwk-hero{position:relative;background:var(--rw-bg);margin-bottom:10px;overflow:visible}
.rwk-hero::before{content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(8,11,18,.62), rgba(8,11,18,.5) 42%, rgba(8,11,18,.9) 86%, var(--rw-bg) 100%),
    url("../img/catalog-hero.jpg") center 30%/cover no-repeat;}
.rwk-hero__inner{position:relative;z-index:1;padding-top:clamp(44px,8vw,104px);padding-bottom:clamp(40px,5vw,62px)}

/* Wielki tytuł katalogu (H1) */
.rwt-pagehead--catalog{text-align:center;margin:0 0 20px}
.rwk-title{font-size:clamp(44px,8.5vw,88px);line-height:1.02;margin:0 0 12px;
  text-shadow:0 3px 22px rgba(0,0,0,.55)}
.rwt-pagehead--catalog .rwt-pagehead__sub{margin-left:auto;margin-right:auto;text-shadow:0 2px 12px rgba(0,0,0,.6)}

/* Okruszki (Yoast breadcrumbs) */
.rwt-breadcrumb{font-size:13px;color:var(--rw-muted);margin:0 0 12px;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.rwt-breadcrumb a{color:var(--rw-cyan);text-decoration:none}
.rwt-breadcrumb a:hover{text-decoration:underline}
.rwt-breadcrumb .breadcrumb_last{color:var(--rw-text)}
.rwk-single .rwt-breadcrumb{text-align:left;margin-bottom:0;text-shadow:none}
/* Pasek nad kartą: okruszki po lewej, „Wróć do katalogu" po prawej */
.rwk-single__top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.rwk-single__top .rwt-breadcrumb{flex:1 1 auto;min-width:0}
/* Subtelny przycisk powrotu (desktop) */
.rwk-single__catalog{flex:none;padding:8px 15px;font-size:13.5px;white-space:nowrap;
  color:var(--rw-gold);border-color:rgba(230,197,116,.4)}
.rwk-single__catalog:hover{color:#fff;border-color:var(--rw-cyan)}
/* Mobile: pływający pasek przypięty do dołu ekranu */
@media (max-width:680px){
  .rwk-single__catalog{
    position:fixed;left:0;right:0;bottom:0;z-index:60;
    display:flex;align-items:center;justify-content:center;
    padding:13px;font-size:14px;border-radius:0;
    background:rgba(10,13,22,.95);backdrop-filter:blur(10px);
    border:0;border-top:1px solid rgba(230,197,116,.3);
    color:var(--rw-gold);box-shadow:0 -6px 20px rgba(0,0,0,.45)}
  body.single-rw_card{padding-bottom:58px}
}

/* ---- Pasek: dodatek + szukaj ---- */
.rw-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.rw-search{display:flex;gap:10px;flex:1 1 auto;min-width:0}
.rw-search .rw-entrywrap{flex:1 1 auto}
.rw-go{flex:none;min-height:46px}
.rw-entrywrap{position:relative;flex:1 1 220px;min-width:150px}
.rw-entry{width:100%;background:rgba(13,18,32,.8);color:var(--rw-text);border:1px solid var(--rw-line);
  border-radius:11px;padding:12px 13px;min-height:46px;font:inherit;font-size:16px}
.rw-entry:focus{outline:2px solid var(--rw-gold);outline-offset:-1px}
.rw-suggest{position:absolute;z-index:40;top:calc(100% + 6px);left:0;right:0;max-height:min(76vh,620px);overflow-y:auto;
  background:rgba(16,22,38,.98);border:1px solid var(--rw-line);border-radius:12px;box-shadow:0 18px 44px rgba(0,0,0,.5);padding:8px}
.rw-suggest[hidden]{display:none}
.rw-sug{display:flex;align-items:center;gap:16px;padding:10px 12px;border-radius:12px;cursor:pointer;color:inherit}
.rw-sug:hover{background:rgba(255,255,255,.06);text-decoration:none}
.rw-sug__img{width:120px;height:168px;object-fit:cover;object-position:top;border-radius:9px;background:rgba(10,14,24,.8);flex:none;border:1px solid rgba(255,255,255,.1)}
.rw-sug__info{min-width:0;flex:1}
.rw-sug__name{display:block;font-size:17px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--rw-text)}
.rw-sug__meta{display:block;font-size:13.5px;color:var(--rw-muted);margin-top:4px}
@media (max-width:520px){
  .rw-sug__img{width:88px;height:123px}
  .rw-sug__name{font-size:15px}
}

/* ---- Selektor dodatku ---- */
.rw-setsel{position:relative;flex:1 1 260px;min-width:180px}
.rw-setsel__btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;
  background:rgba(13,18,32,.8);color:var(--rw-text);border:1px solid var(--rw-line);border-radius:11px;
  padding:8px 12px;min-height:46px;cursor:pointer;font:inherit;text-align:left}
.rw-setsel__btn:hover{border-color:var(--rw-cyan)}
.rw-setsel__cur{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}
.rw-setsel__chev{color:var(--rw-muted);font-size:11px;flex:none}
.rw-setsel__menu{position:absolute;z-index:45;top:calc(100% + 6px);left:0;right:0;max-height:min(70vh,440px);overflow:auto;
  background:rgba(16,22,38,.99);border:1px solid var(--rw-line);border-radius:12px;box-shadow:0 18px 44px rgba(0,0,0,.5);padding:5px}
.rw-setsel__menu[hidden]{display:none}
.rw-setopt{display:flex;align-items:center;gap:9px;padding:8px 9px;border-radius:9px;cursor:pointer;border:1px solid transparent}
.rw-setopt:hover{background:rgba(255,255,255,.06)}
.rw-setopt.is-active{background:rgba(230,197,116,.12);border-color:rgba(230,197,116,.4)}
.rw-setopt__lbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}
.rw-setbadge{flex:none;min-width:38px;height:23px;padding:0 8px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;
  font-size:11.5px;font-weight:800;letter-spacing:.03em;background:linear-gradient(180deg,rgba(230,197,116,.28),rgba(230,197,116,.1));
  color:var(--rw-gold);border:1px solid rgba(230,197,116,.4)}
.rw-setbadge--all{background:linear-gradient(180deg,rgba(95,201,246,.28),rgba(95,201,246,.1));color:var(--rw-cyan);border-color:rgba(95,201,246,.4)}

/* ---- Nagłówek dodatku + toolbar ---- */
.rw-setname{text-align:center;font-family:Cinzel,serif;color:var(--rw-gold);font-size:clamp(30px,5vw,44px);font-weight:700;letter-spacing:.02em;margin:18px 0 12px}
.rw-setname--all{color:var(--rw-cyan)}
.rw-setname[hidden]{display:none}
.rw-filters{position:relative;flex:none}
/* Licznik „Pokazano…” wyśrodkowany pod paskiem */
.rwk-count-row{text-align:center;margin:16px 0 4px}
.rw-count{color:var(--rw-steel);font-size:15px;font-weight:500}

/* ---- Filtry ---- */
.rw-filterbar{position:relative;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.rw-filtoggle{display:inline-flex;align-items:center;gap:8px;font-size:15px;padding:11px 18px}
.rw-filtoggle__ic{font-size:14px;opacity:.85}
.rw-filtoggle__chev{font-size:11px;transition:transform .15s;opacity:.8}
.rw-filtoggle[aria-expanded="true"]{border-color:rgba(230,197,116,.5);color:#fff}
.rw-filtoggle[aria-expanded="true"] .rw-filtoggle__chev{transform:rotate(180deg)}
.rw-filtoggle__badge{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:linear-gradient(180deg,#f4dd93,var(--rw-gold));
  color:#20160a;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}
.rw-filterpanel{position:absolute;z-index:35;top:calc(100% + 8px);right:0;width:min(94vw,470px);max-height:min(70vh,540px);overflow:auto;
  background:rgba(16,22,38,.99);border:1px solid var(--rw-line);border-radius:16px;box-shadow:0 20px 50px rgba(0,0,0,.55);
  padding:16px;display:flex;flex-direction:column;gap:14px}
.rw-filterpanel[hidden]{display:none}
.rw-fgroup{display:flex;flex-direction:column;gap:8px}
.rw-fgroup__label{color:var(--rw-muted);font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.rw-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.rw-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--rw-line);background:rgba(255,255,255,.03);
  color:var(--rw-muted);font-size:14px;padding:8px 15px;border-radius:99px;cursor:pointer;transition:all .12s}
.rw-chip:hover{color:var(--rw-text)}
.rw-chip.is-active{color:var(--rw-text);background:rgba(230,197,116,.14);border-color:rgba(230,197,116,.45);padding-right:12px}
.rw-chip__dot{width:12px;height:12px;border-radius:50%;flex:none;box-shadow:inset 0 0 0 1px rgba(0,0,0,.3)}
.rw-chip__lbl{line-height:1}
.rw-chip__x{display:none;margin-left:3px;font-size:11px;line-height:1;opacity:.75}
.rw-chip.is-active .rw-chip__x{display:inline-flex}
.rw-chip--dom{border-left-width:3px}
.rw-chip--dom[data-domain="Fury"]{border-left-color:#e0533d}
.rw-chip--dom[data-domain="Calm"]{border-left-color:#4fb06d}
.rw-chip--dom[data-domain="Mind"]{border-left-color:#4f9be8}
.rw-chip--dom[data-domain="Body"]{border-left-color:#d8913f}
.rw-chip--dom[data-domain="Chaos"]{border-left-color:#b25fd6}
.rw-chip--dom[data-domain="Order"]{border-left-color:#e6c574}

/* ---- Siatka 4-kolumnowa ---- */
.rwk-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:18px}
.rwk-grid__loading,.rw-grid__empty{grid-column:1/-1;text-align:center;color:var(--rw-muted);padding:36px 10px}
.rwk-card{display:flex;flex-direction:column;background:rgba(19,26,42,.6);border:1px solid var(--rw-line);border-radius:14px;
  overflow:hidden;color:inherit;transition:border-color .15s,transform .12s,box-shadow .2s}
.rwk-card:hover{transform:translateY(-3px);border-color:rgba(230,197,116,.45);box-shadow:0 12px 28px rgba(0,0,0,.35);text-decoration:none}
.rwk-card__img{position:relative;display:block;aspect-ratio:744/1039;background:rgba(10,14,24,.8)}
.rwk-card__img img{width:100%;height:100%;object-fit:cover;display:block}
.rwk-card__noimg{display:flex;align-items:center;justify-content:center;height:100%;color:var(--rw-muted);font-size:30px}
.rwk-card__num{position:absolute;top:6px;left:6px;background:rgba(8,11,20,.82);color:var(--rw-gold);font-weight:700;font-size:12px;
  padding:2px 7px;border-radius:99px;font-variant-numeric:tabular-nums}
.rwk-card__body{padding:14px 10px 14px;display:flex;flex-direction:column;flex:1;text-align:center}
.rwk-card__name{font-size:clamp(17px,1.5vw,20px);line-height:1.2;font-weight:700;color:var(--rw-text);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rwk-card__mid{display:flex;flex-direction:column;gap:3px;margin:10px 0 14px}
.rwk-card__rarity{font-size:13px;font-weight:600;letter-spacing:.02em}
.rwk-card__facts{font-size:12.5px;color:var(--rw-muted)}
.rwk-card__more{margin-top:auto;display:inline-block;align-self:center;font-size:12.5px;font-weight:600;color:#20160a;
  background:linear-gradient(180deg,#f4dd93,var(--rw-gold) 55%,var(--rw-gold-deep));padding:7px 14px;border-radius:9px}
.rwk-card:hover .rwk-card__more{filter:brightness(1.05)}

/* ---- Paginacja ---- */
.rw-pager{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap;margin:26px 0 6px}
.rw-pager[hidden]{display:none}
.rw-pager__btn{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;
  border-radius:9px;border:1px solid var(--rw-line);background:rgba(255,255,255,.03);color:var(--rw-text);
  cursor:pointer;font:inherit;font-size:14px;font-variant-numeric:tabular-nums;text-decoration:none}
.rw-pager__btn:hover{border-color:var(--rw-cyan);text-decoration:none;color:var(--rw-text)}
.rw-pager__btn.is-active{background:linear-gradient(180deg,rgba(230,197,116,.18),rgba(230,197,116,.06));border-color:rgba(230,197,116,.5);color:var(--rw-gold);font-weight:700}
.rw-pager__gap{color:var(--rw-muted);padding:0 2px}
.rw-setname,.rwk-grid{scroll-margin-top:80px}

/* ---- Pojedyncza karta (strona) ---- */
/* Kontener strony karty = szerokość serwisu (wyrównany z menu/„Panel" w topbarze) */
.rwk-single__back{display:inline-block;color:var(--rw-muted);font-size:13px;margin-bottom:16px}
.rwk-single__grid{display:grid;grid-template-columns:minmax(0,320px) 1fr;gap:28px;align-items:start}
.rwk-single__img{width:100%;border-radius:16px;border:1px solid rgba(255,255,255,.1);display:block}
.rwk-single__artist{margin-top:8px;color:var(--rw-muted);font-size:12.5px;text-align:center}
.rwk-single__name{font-family:Cinzel,serif;font-size:clamp(26px,4vw,40px);margin:0 0 6px;line-height:1.12;
  background:linear-gradient(180deg,#fbe6b8,var(--rw-gold) 55%,var(--rw-gold-deep));-webkit-background-clip:text;background-clip:text;color:transparent}
.rwk-single__meta{color:var(--rw-muted);font-size:13.5px;margin-bottom:18px}

/* fakty + sekcje (współdzielone z modułem kolekcji) */
.rw-detail__facts{display:flex;flex-wrap:wrap;gap:14px 24px;margin:0 0 20px;padding-bottom:20px;border-bottom:1px solid var(--rw-line)}
.rw-fact{display:flex;flex-direction:column;gap:4px}
.rw-fact__k{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--rw-muted)}
.rw-fact__v{font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rw-fact__rec{color:var(--rw-cyan);font-weight:600}
.rw-detail__dom{display:inline-flex;align-items:center;gap:5px}
.rw-chip__dot{width:12px;height:12px;border-radius:50%;flex:none}
.rw-detail__sec{margin:0 0 18px}
.rw-detail__sec + .rw-detail__sec{padding-top:18px;border-top:1px solid var(--rw-line)}
.rw-detail__sec h3{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--rw-gold);margin:0 0 7px}
.rw-detail__sec p{margin:0;color:var(--rw-text);line-height:1.6;font-size:15px}
.rw-detail__flavour{color:var(--rw-muted);font-style:italic;font-size:13.5px;margin:0 0 16px;padding-top:16px;border-top:1px solid var(--rw-line)}
.rw-detail__cm{display:inline-block;margin-top:4px;color:var(--rw-cyan);text-decoration:none;font-size:14px;border-bottom:1px dotted}

/* powiązane */
.rwk-related{margin-top:40px;border-top:1px solid var(--rw-line);padding-top:24px}
.rwk-related__title{font-family:Cinzel,serif;color:var(--rw-gold);font-size:20px;margin:0 0 16px}
.rwk-related__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.rwk-related__item{display:flex;flex-direction:column;gap:6px;color:var(--rw-muted);font-size:12px;text-align:center}
.rwk-related__item img{width:100%;border-radius:9px;border:1px solid var(--rw-line)}
.rwk-related__item:hover{color:var(--rw-text);text-decoration:none}
.rwk-related__more{margin-top:22px;text-align:center}
.rwk-related__more .rw-btn[disabled]{opacity:.6;cursor:default}

/* ---- Responsywność ---- */
@media (max-width:980px){ .rwk-grid{grid-template-columns:repeat(3,1fr)} .rwk-related__grid{grid-template-columns:repeat(4,1fr)} }
@media (max-width:680px){
  .rwk-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .rwk-related__grid{grid-template-columns:repeat(3,1fr)}
  .rwk-single__grid{grid-template-columns:1fr;gap:18px}
  .rwk-single__img{max-width:280px;margin:0 auto}
  /* Pasek w jednej linii: pole (kurczliwe) + Szukaj + Filtruj */
  .rw-bar{flex-wrap:nowrap;gap:8px}
  .rw-search{flex:1 1 auto;min-width:0;gap:8px}
  .rw-entrywrap{min-width:0}
  .rw-entry{min-width:0}
  .rw-go,.rw-filtoggle{flex:none;padding:11px 13px;white-space:nowrap}
  .rwk-card__name{font-size:16px}
}
