/* 스포츠북 글루 CSS — 원본 orig.css(.sbx scoped) 를 보완: 쉘/탭/베팅슬립/모바일/마켓확장.
   원본색: bg #1a2c38, 셀 #263f4e, 구분선 #253c4a, accent #ff8d00. */
.sbx{ display:block; width:100%; max-width:1320px; margin:0 auto; background:#132028; color:#fff; font-size:12px; min-width:0; overflow-x:hidden; }
/* 클론 레이아웃 컨테이너가 내 콘텐츠 때문에 뷰포트를 넘지 않게(스포츠 페이지 한정 로드) */
.contents.row{ min-width:0; overflow-x:hidden; }
.contents.row>.content{ min-width:0; }
.contents.row>.content>.column{ min-width:0; }
.sbx .row{ display:flex; flex-direction:row; }
.sbx .column{ display:flex; flex-direction:column; }
.sbx .spacer{ flex-grow:2; }
.sbx .text{ color:inherit; }

/* 종목 탭 (scroll-menu) */
.sbx .scroll-menu{ display:block; }
.sbx .scroll-menu .events{ overflow-x:auto; white-space:nowrap; align-items:stretch; height:60px; }
.sbx .event{ display:flex; text-decoration:none; color:#cfd6dd; height:60px; }
.sbx .event .ev-inner{ display:flex; flex-direction:column; align-items:center; justify-content:center; height:100%; padding:0 12px; gap:2px; }
.sbx .event img{ width:40px; height:20px; object-fit:contain; }
.sbx .event .desc-text{ font-size:11px; }
.sbx .event .ev-c{ font-size:10px; opacity:.7; }

/* 메인 2단 */
.sbx .sb-main{ display:grid; grid-template-columns:minmax(0,1fr) 316px; align-items:start; }
.sbx .prematch{ min-width:0; display:flex; flex-direction:column; }
.sbx .prematch-list{ min-width:0; display:flex; flex-direction:column; }
.sbx .sb-lgroup{ display:block; }
/* 화면밖 경기행은 레이아웃/페인트 생략 → 초기 렌더·스크롤·필터 렉 대폭 감소 */
.sbx .sb-matchwrap{ display:block; content-visibility:auto; contain-intrinsic-size:auto 55px; }
.sbx .match-title{ flex-shrink:0; }
.sbx .match{ flex-shrink:0; }
/* flex/grid min-width:auto 오버플로 방지 — 뷰포트 넘지 않게 축소 허용 */
.sbx .prematch,.sbx .prematch-list,.sbx .sb-lgroup,.sbx .sb-matchwrap,.sbx .match,.sbx .match-title,.sbx .match-info,.sbx .team,.sbx .team>.row,.sbx .odds,.sbx .odds-1x2,.sbx .desc-title,.sbx .search,.sbx .settings{ min-width:0; }
.sbx .match-info{ width:40%; }
.sbx .odds{ width:60%; }

/* 검색/정렬/뷰 글루 */
.sbx .search{ align-items:center; }
.sbx .search .input{ flex:1; background:#1a2c38; border:0; color:#fff; outline:none; font-family:inherit; }
.sbx .search .input::placeholder{ color:#7c8b97; }
.sbx .search-button{ width:40px; height:40px; background:#1a2c38; border:0; color:#cfd6dd; cursor:pointer; align-items:center; justify-content:center; flex-shrink:0; }
.sbx .settings{ align-items:center; }
.sbx .settings .select-tournament{ height:30px; align-items:center; border:0; border-radius:3px; cursor:pointer; font-family:inherit; font-size:12px; }
.sbx .settings .sort-time,.sbx .settings .sort-league{ height:30px; align-items:center; background:transparent; border:0; color:#9fb0bd; cursor:pointer; font-family:inherit; font-size:12px; margin-left:14px; }
.sbx .viewSettingWrap button{ background:transparent; border:0; color:#9fb0bd; cursor:pointer; font-family:inherit; font-size:12px; margin-right:14px; align-items:center; }
.sbx .ico{ display:inline-flex; align-items:center; margin-right:5px; }
.sbx .ico svg{ width:12px; height:12px; }

/* 배당 셀 3분할/2분할 확실히 */
.sbx .odds-1x2{ display:flex; }
.sbx .odds-1x2 .outcome{ flex:1 1 0; min-width:0; }
.sbx .outcome button{ display:flex; align-items:center; justify-content:center; border:0; cursor:pointer; color:#fff; font-family:inherit; font-size:12px; border-radius:0; }
.sbx .outcome button:disabled{ opacity:.35; cursor:not-allowed; }
.sbx .outcome button .odd{ font-size:12px; }

/* 마켓 확장(핸디캡/오버언더) */
.sbx .sb-mexp{ display:block; background:#16242e; border-bottom:1px solid #16252e; padding:6px 10px 8px; }
.sbx .sb-mexp[hidden]{ display:none; }
.sbx .sb-mkt-row{ display:flex; align-items:stretch; gap:6px; margin-top:6px; }
.sbx .sb-mkt-nm{ display:flex; align-items:center; justify-content:center; flex:0 0 56px; font-size:11px; color:#9fb0bd; background:#1a2c38; }
.sbx .sb-mexp .odds-1x2{ flex:1; gap:5px; }
.sbx .sb-mexp .odds-1x2.sb-c2 .outcome{ flex:1 1 0; }
.sbx .sb-mexp .outcome button{ height:36px; flex-direction:row; justify-content:space-between; padding:0 10px; background:#263f4e; }
.sbx .sb-mexp .outcome button .name{ font-size:11px; color:#cfd6dd; }
.sbx .sb-mexp .outcome button .odd{ color:#fff; }
.sbx .sb-mexp .outcome button.active{ box-shadow:inset 0 0 0 1px #ff8d00; }
.sbx .sb-mexp .outcome button.active .odd,.sbx .sb-mexp .outcome button.active .name{ color:#ff8d00; }
/* 정확한 스코어 — 다중 버튼 그리드 */
.sbx .sb-mkt-cs{ align-items:flex-start; }
.sbx .sb-cs-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:5px; flex:1; min-width:0; }
.sbx .sb-cs-grid .outcome{ min-width:0; }
.sbx .sb-cs-grid .outcome button{ height:40px; flex-direction:column; justify-content:center; gap:1px; padding:2px; }
.sbx .sb-cs-grid .outcome button .spacer{ display:none; }
.sbx .sb-cs-grid .outcome button .name{ font-size:12px; color:#e7ebef; }
.sbx .sb-cs-grid .outcome button .odd{ font-size:10px; color:#ff8d00; }
@media (max-width:760px){ .sbx .sb-cs-grid{ grid-template-columns:repeat(3,1fr); } }

/* 리그선택 — 원본 동일 중앙 모달(국가별 그룹 + 리그 체크박스). document.body 에 append → .sbx 스코프 밖 */
.sb-lgm-back{ position:fixed; inset:0; z-index:100060; background:rgba(0,0,0,.5); display:flex; align-items:center; justify-content:center; padding:20px; }
.sb-lgm-box{ position:relative; width:100%; max-width:600px; max-height:88vh; background:#1a2c38; border-radius:6px; display:flex; flex-direction:column; box-shadow:0 12px 40px rgba(0,0,0,.6); font-size:12px; color:#fff; }
.sb-lgm-x{ position:absolute; top:-46px; right:0; width:38px; height:38px; background:#203542; border:0; border-radius:5px; color:#fff; font-size:22px; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.sb-lgm-inner{ display:flex; flex-direction:column; min-height:0; padding:20px 18px 18px; }
.sb-lgm-search{ display:flex; align-items:center; border-top:1px solid #253c4a; border-bottom:1px solid #253c4a; height:40px; flex-shrink:0; }
.sb-lgm-search input{ flex:1; min-width:0; height:40px; background:#263d49; border:0; color:#dfe5ea; font-size:13px; padding:0 12px; outline:none; font-family:inherit; }
.sb-lgm-search input::placeholder{ color:#6f7d86; }
.sb-lgm-qbtn{ width:40px; height:40px; background:#263d49; border:0; color:#cfd6dd; cursor:pointer; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.sb-lgm-qbtn svg{ width:14px; height:14px; }
.sb-lgm-ctrl{ display:flex; align-items:center; padding:10px 2px; flex-shrink:0; }
.sb-lgm-ctrl .spacer{ flex:1; }
.sb-lgm-alloff,.sb-lgm-expand{ background:transparent; border:0; color:#cfd6dd; font-size:12px; cursor:pointer; font-family:inherit; }
.sb-lgm-alloff:hover,.sb-lgm-expand:hover{ color:#ff8d00; }
.sb-lgm-list{ display:block; overflow-y:auto; min-height:0; flex:1; }
.sb-lgm-country{ display:block; border-top:1px solid #22333f; }
.sb-lgm-chead{ display:flex; align-items:center; gap:8px; padding:11px 6px; cursor:pointer; font-size:13px; color:#e7ebef; }
.sb-lgm-chead img{ width:20px; height:14px; object-fit:cover; border-radius:2px; flex-shrink:0; }
.sb-lgm-cname{ flex:1; }
.sb-lgm-chev{ width:0; height:0; flex-shrink:0; border-left:5px solid transparent; border-right:5px solid transparent; border-top:6px solid #8a97a3; transition:transform .15s; }
.sb-lgm-country.collapsed .sb-lgm-chev{ transform:rotate(-90deg); }
.sb-lgm-cbody{ display:grid; grid-template-columns:repeat(3,1fr); gap:7px 10px; padding:4px 6px 14px; }
.sb-lgm-country.collapsed .sb-lgm-cbody{ display:none; }
.sb-lgm-lg{ display:flex; align-items:center; gap:6px; font-size:12px; color:#c4ccd3; cursor:pointer; min-width:0; }
.sb-lgm-lg span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sb-lgm-lg input{ flex-shrink:0; accent-color:#ff8d00; }
.sb-lgm-empty{ padding:30px; text-align:center; color:#8a97a3; font-size:13px; }
@media (max-width:680px){ .sb-lgm-cbody{ grid-template-columns:repeat(2,1fr); } .sb-lgm-box{ max-width:100%; } }
.sbx .settings{ position:relative; }

/* 베팅 슬립 (원본 디자인) */
.sb-slip{ display:block; background:#16242e; border-left:1px solid #253c4a; position:sticky; top:0; }
.sb-slip-hd{ display:flex; align-items:center; background:#1f313d; color:#fff; font-weight:600; padding:12px 14px; font-size:14px; }
.sb-slip-cnt-wrap{ color:#ff8d00; font-weight:700; }
.sb-slip-cnt{ color:#ff8d00; }
.sb-slip-tabs{ display:flex; border-bottom:1px solid #253c4a; }
.sb-slt{ flex:1; padding:11px 0; background:transparent; border:0; border-bottom:2px solid transparent; color:#9fb0bd; font-size:13px; cursor:pointer; font-family:inherit; }
.sb-slt.active{ color:#ff8d00; border-bottom-color:#ff8d00; }
.sb-slip-items{ display:block; max-height:320px; overflow-y:auto; }
.sb-slip-empty{ display:block; padding:30px 14px; text-align:center; color:#7b8a97; font-size:12px; }
.sb-slip-item{ display:block; padding:10px 12px; border-bottom:1px solid #253c4a; }
.sb-si-top{ display:flex; align-items:center; gap:6px; margin-bottom:5px; }
.sb-si-flag{ width:18px; height:12px; object-fit:cover; border-radius:2px; flex:0 0 auto; }
.sb-si-lg{ flex:1; font-size:12px; color:#dfe6ec; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sb-si-del{ cursor:pointer; color:#6b7883; font-size:16px; line-height:1; background:none; border:0; flex:0 0 auto; }
.sb-si-del:hover{ color:#e79090; }
.sb-si-type{ display:flex; align-items:center; gap:6px; font-size:11px; margin-bottom:3px; }
.sb-si-pre{ color:#ff8d00; }
.sb-si-mkt{ color:#9fb0bd; }
.sb-si-match{ display:block; font-size:12px; color:#c4ccd3; margin-bottom:4px; }
.sb-si-sel{ display:flex; justify-content:space-between; align-items:center; font-size:13px; }
.sb-si-sel span{ color:#ff8d00; font-weight:600; }
.sb-si-odd{ color:#fff; font-weight:700; }
/* 싱글: 카드별 베팅금액 입력 */
.sb-si-amt{ display:flex; align-items:center; gap:4px; margin-top:8px; }
.sb-si-step{ width:30px; height:34px; flex:0 0 auto; background:#263f4e; border:1px solid #253c4a; border-radius:3px; color:#cfd6dd; font-size:15px; cursor:pointer; font-family:inherit; }
.sb-si-step:hover{ border-color:#ff8d00; color:#ff8d00; }
.sb-si-input{ flex:1; min-width:0; box-sizing:border-box; padding:8px; height:34px; background:#1a2c38; border:1px solid #253c4a; border-radius:3px; color:#fff; font-size:13px; text-align:right; font-family:inherit; }
.sb-si-era{ width:34px; height:34px; flex:0 0 auto; background:#263f4e; border:1px solid #253c4a; border-radius:3px; color:#cfd6dd; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.sb-si-era:hover{ border-color:#ff8d00; color:#ff8d00; }
.sb-si-era svg{ width:13px; height:13px; }
.sb-si-win{ display:flex; justify-content:space-between; align-items:center; margin-top:6px; font-size:12px; color:#9fb0bd; }
.sb-si-win b{ color:#ff8d00; font-weight:700; }
.sb-slip-clear{ display:flex; align-items:center; gap:6px; width:100%; background:transparent; border:0; border-bottom:1px solid #253c4a; color:#9fb0bd; font-size:12px; padding:9px 12px; cursor:pointer; font-family:inherit; }
.sb-slip-clear:hover{ color:#ff8d00; }
.sb-slip-clear svg{ width:12px; height:12px; }
.sb-slip-amt{ display:flex; align-items:center; gap:5px; padding:10px 12px 0; }
.sb-amt-step{ width:34px; height:38px; flex:0 0 auto; background:#263f4e; border:1px solid #253c4a; border-radius:3px; color:#cfd6dd; font-size:16px; cursor:pointer; font-family:inherit; }
.sb-amt-step:hover{ border-color:#ff8d00; color:#ff8d00; }
#sb-amt{ flex:1; min-width:0; box-sizing:border-box; padding:10px; background:#1a2c38; border:1px solid #253c4a; border-radius:3px; color:#fff; font-size:14px; text-align:right; font-family:inherit; }
.sb-amt-era{ width:38px; height:38px; flex:0 0 auto; background:#263f4e; border:1px solid #253c4a; border-radius:3px; color:#cfd6dd; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.sb-amt-era:hover{ color:#ff8d00; border-color:#ff8d00; }
.sb-amt-era svg{ width:15px; height:15px; }
.sb-amt-btns{ display:grid; grid-template-columns:repeat(5,1fr); gap:4px; padding:6px 12px 0; }
.sb-amt-btns button{ padding:7px 0; background:#263f4e; border:1px solid #253c4a; border-radius:3px; color:#cfd6dd; font-size:11px; cursor:pointer; font-family:inherit; }
.sb-amt-btns button:hover{ border-color:#ff8d00; color:#ff8d00; }
.sb-slip-row{ display:flex; justify-content:space-between; align-items:center; font-size:12px; padding:5px 12px; color:#9fb0bd; }
.sb-slip-row b{ color:#fff; font-size:14px; }
.sb-slip-row:first-of-type{ margin-top:6px; }
#sb-slip-odd{ color:#ff8d00!important; }
#sb-slip-win{ color:#ff8d00!important; }
.sb-place{ display:block; width:100%; margin-top:8px; padding:14px; background:#ff8d00; color:#12222c; border:0; font-size:15px; font-weight:700; cursor:pointer; font-family:inherit; }
.sb-place:hover{ filter:brightness(1.08); }
.sb-place:disabled{ opacity:.5; cursor:not-allowed; }

/* 마이페이지 베팅내역 */
.sb-hist-row{ display:flex; gap:10px; align-items:stretch; padding:10px 12px; background:#132028; border-radius:8px; margin-bottom:8px; }
.sb-hstat{ display:flex; align-items:center; font-weight:700; min-width:48px; }
.sb-hbody{ display:block; flex:1; min-width:0; }
.sb-hpick{ display:block; padding:3px 0; border-bottom:1px dashed #24333d; }
.sb-hmatch{ color:#9fb0bd; font-size:12px; margin-right:6px; }
.sb-hsel{ color:#e8eef3; font-size:13px; }
.sb-hres{ float:right; font-size:12px; }
.sb-htime{ display:block; color:#6b7883; font-size:11px; margin-top:4px; }
.sb-hnums{ display:block; text-align:right; font-size:12px; color:#9fb0bd; min-width:90px; }
.sb-hnums b{ color:#e8eef3; }

/* 폴더보너스 안내/행 (원본: 빨강 do-not-enter 아이콘 + 회색 좌측정렬 문구) */
.sb-slip-note{ display:flex; align-items:center; gap:7px; font-size:11px; color:#9fb0bd; padding:10px 12px; border-bottom:1px solid #253c4a; line-height:1.4; }
.sb-note-ic{ display:inline-flex; flex:0 0 auto; }
.sb-note-ic svg{ width:14px; height:14px; }
.sb-bonus-row b,.sb-bonus-row span{ color:#4fd07a!important; }

/* 리그선택 버튼(원본: 주황 채움, 평면) */
.sbx .settings .select-tournament{ height:35px; padding:0 20px; background:#ff8d00; color:#fff; border-radius:0; }
.sbx .settings .select-tournament:hover{ background:#ff9e26; }

/* 새로고침 버튼 */
.sbx .sb-refresh{ display:inline-flex; align-items:center; justify-content:center; height:30px; width:30px; background:transparent; border:0; color:#9fb0bd; cursor:pointer; margin-left:10px; flex-shrink:0; }
.sbx .sb-refresh:hover{ color:#ff8d00; }
.sbx .sb-refresh svg{ width:15px; height:15px; }

/* +N 더보기(detail-wrap) 색상 — 원본(#1a2c38, 회색텍스트) */
.sbx .detail-wrap>div{ background:#1a2c38; }
.sbx .detail-wrap .detail button{ background:transparent; border:0; color:#9fb0bd; cursor:pointer; }
.sbx .detail-wrap .detail button:hover{ color:#ff8d00; }
.sbx .detail-wrap .detail button:disabled{ color:#3a4a56; cursor:default; }

/* 플로팅 카트(원본 .betslip-tablet-wrap 대응) — 모바일 전용 */
.sb-cart{ display:none; }
@media (max-width:900px){
  .sbx .sb-main{ grid-template-columns:minmax(0,1fr); }
  .sbx .odds-1x2 .outcome .odd{ font-size:11px; }
  .sb-slip{ position:fixed; left:0; right:0; bottom:0; top:auto; border-left:0; border-radius:12px 12px 0 0; z-index:1200; transform:translateY(100%); transition:transform .22s; max-height:82vh; overflow-y:auto; box-shadow:0 -6px 24px rgba(0,0,0,.5); min-height:0; }
  .sb-slip.open{ transform:translateY(0); }
  .sb-cart{ display:flex; align-items:center; justify-content:center; position:fixed; right:16px; bottom:20px; width:56px; height:56px; border-radius:16px; background:#ff8d00; border:0; color:#12222c; cursor:pointer; z-index:1150; box-shadow:0 6px 18px rgba(0,0,0,.45); }
  .sb-cart svg{ width:24px; height:24px; }
  .sb-cart-c{ position:absolute; top:-6px; right:-6px; min-width:20px; height:20px; display:none; align-items:center; justify-content:center; background:#e53935; color:#fff; border-radius:10px; font-size:11px; font-weight:700; padding:0 5px; }
  .sb-slip-hd{ cursor:pointer; }
}
