/* RtP — GAMES 탭 소속·시즌 2단 필터 (games_filter)
   Contract: contracts/games_filter.py
   추가 전용 스타일. 기존 경기 카드(.rtp-gamecard*) 규칙은 건드리지 않는다.
   새 클래스는 전부 .gf* 네임스페이스만 사용한다.

   #games-section 이 자체 padding 을 잃고(my_profile.html/signup_other.html —
   헤더·#all-games-list 가 각자 padding:0 16px 를 갖는다) 이 바는 그 사이의
   형제로 삽입되므로, 바 자신이 좌우 padding:0 16px 를 직접 갖는다
   (negative margin 불필요 — 배경은 border-box 라 padding 과 무관하게 풀블리드). */

.gf{position:sticky;top:0;z-index:4;background:var(--bb-bg);padding:0 16px} /* inline-player.css 의 .rip-live/.rip-view/.rip-score 가 동일 z-index:3 이고 DOM 상 뒤에 와 sticky 스크롤 시 스코어 오버레이가 바 위로 그려졌다 — 한 단계 올려 이김 */

/* 1단 — 소속 (테두리 칩 아님 — 글자 + 오렌지 밑줄) */
.gf__sch{display:flex;gap:18px;padding:2px 0 0;overflow-x:auto;scrollbar-width:none}
.gf__sch::-webkit-scrollbar{height:0}
.gf__sch button{flex:0 0 auto;padding:10px 0 11px;border:0;background:0;font-family:inherit;font-size:14px;font-weight:700;color:var(--rtp-ink-2);cursor:pointer;position:relative;letter-spacing:-.2px;min-height:var(--bb-tap-target)}
.gf__sch button[aria-pressed="true"]{color:var(--bb-ink);font-weight:800}
.gf__sch button[aria-pressed="true"]:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:var(--bb-primary)}

/* 2단 — 시즌 (숫자만, 선택 시 커짐 + 오렌지 점. '전체' 버튼 없음) */
.gf__yr{display:flex;align-items:center;gap:16px;padding:0;border-top:1px solid var(--bb-border-soft);border-bottom:1px solid var(--bb-border-soft);overflow-x:auto;scrollbar-width:none}
.gf__yr::-webkit-scrollbar{height:0}
.gf__yr button{flex:0 0 auto;border:0;background:0;padding:12px 0;font-family:var(--bb-font-num);font-size:15px;font-weight:700;color:var(--rtp-ink-2);cursor:pointer;letter-spacing:-.2px;line-height:1;transition:color .15s;min-height:var(--bb-tap-target)}
.gf__yr button[aria-pressed="true"]{color:var(--bb-ink);font-size:19px;font-weight:800}
.gf__yr button i{display:none}
.gf__yr button[aria-pressed="true"] i{display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--bb-primary);vertical-align:middle;margin-left:5px}

/* ⚠️ [hidden] 가드 — 위 .gf__sch/.gf__yr 의 display:flex(0,1,0) 가 UA 기본
   [hidden]{display:none} 을 이겨서, JS 가 schoolRow.hidden/seasonRow.hidden 을
   true 로 걸어도(rtp-games-filter.js:97,131) 줄이 계속 flex 로 보였다. 실측(Playwright):
   소속 '전체' 선택해도 시즌 줄이 안 사라지고 직전 선택 연도가 그대로 표시(모순),
   학교 1개뿐인 선수(실측 4,068명)에게 무의미한 소속 줄이 계속 노출. 이 레포의 기존
   가드(rtp-recent-games.css .oa-recent-games__list[hidden])와 동일 패턴.*/
.gf__sch[hidden],.gf__yr[hidden]{display:none}

/* 요약 줄 — b(제목) + span(집계) 2요소. 자체 padding:0 16px 포함(형제 배치라 별도 inset 필요) */
.gf__srow{display:flex;align-items:baseline;justify-content:space-between;padding:14px 16px 10px;gap:12px}
.gf__srow b{font-family:var(--bb-font-num);font-size:11px;font-weight:800;letter-spacing:1.2px;color:var(--rtp-ink-3);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gf__srow span{flex:0 0 auto;font-family:var(--bb-font-num);font-size:11px;font-weight:700;color:var(--rtp-ink-3);white-space:nowrap}
.gf__srow span em{font-style:normal;color:var(--bb-ink)}

/* 빈 상태 */
.gf__empty{padding:44px 20px;text-align:center;font-size:12px;font-weight:600;color:var(--rtp-ink-3);line-height:1.7}

/* 필터로 숨겨진 카드 — HIDDEN_CSS_RULE (contract). !important 는 미래 방어용, 비용 0.
   선례(test_recent_games_date_tabs.py)와 구조가 다르다: 그 사고는 같은 요소에 걸린
   display:flex 가 [hidden] 을 이긴 경우. 여기는 flex 가 부모(.rtp-my-cards)이고
   숨기는 대상은 자식 카드라 부모 flex 가 자식 display 를 이기지 않는다. */
[data-gf-hidden]{display:none !important}
