/* 국내형(돔) 스포츠 — 07_Sports_local main-content, .idx-sd-* 전용 (idx-sl- / idx-sp- 와 분리) */

@media (min-width: 1025px) {
  .idx-sp-page #idx-sd-m-catbar {
    display: none !important;
  }
}

.idx-sd-local {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 5px;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.idx-sd-dcats {
  display: none;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  gap: 2px;
  padding: 6px;
  background-color: #272a31;
  border-radius: 16px;
  overflow: hidden;
  box-sizing: border-box;
}

@media (min-width: 1025px) {
  .idx-sd-dcats {
    display: flex;
  }

  .idx-sd-dcat > span {
    display: block;
    align-self: stretch;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: center;
  }
}

.idx-sd-dcat {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  flex: 1 1 0;
  min-width: 0;
  padding: 5px 3px;
  margin: 0;
  border: none;
  border-radius: 10px;
  background: transparent;
  opacity: 0.35;
  cursor: pointer;
  font: 400 12px/1.2 var(--font-kr, "Noto Sans KR", Helvetica, sans-serif);
  letter-spacing: -0.06px;
  color: #fff;
  box-sizing: border-box;
}

.idx-sd-dcat--active,
.idx-sd-dcat:hover {
  opacity: 1;
  background-color: #3b3f46;
}

.idx-sd-dcat:focus-visible {
  outline: 2px solid #eeff00;
  outline-offset: 2px;
}

.idx-sd-dcat img {
  display: block;
  width: 25px;
  height: 25px;
  object-fit: contain;
}

.idx-sd-local__stack {
  display: flex;
  flex-direction: column;
  gap: 5px;
  width: 100%;
  min-width: 0;
}

.idx-sd-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 44px;
  padding: 10px 20px;
  background-color: #272a31;
  border-radius: 16px;
  box-sizing: border-box;
}

.idx-sd-toolbar__ttl {
  margin: 0;
  font: 600 15px/1.45 var(--font-sans, "Inter", Helvetica, sans-serif);
  letter-spacing: -0.07px;
  color: #fff;
}

.idx-sd-toolbar__bulk {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-width: 80px;
  min-height: 24px;
  margin: 0;
  padding: 2px 10px;
  border: 1px solid rgba(38, 158, 167, 0.1);
  border-radius: 4px;
  background-color: #427578;
  font: 500 10px/1.45 var(--font-sans, "Inter", Helvetica, sans-serif);
  letter-spacing: -0.05px;
  color: #fff;
  cursor: pointer;
  box-sizing: border-box;
}

.idx-sd-toolbar__bulk-icons {
  position: relative;
  display: inline-block;
  flex-shrink: 0;
  width: 9px;
  height: 9px;
}

.idx-sd-toolbar__bulk-ico {
  position: absolute;
  left: 0;
  top: 50%;
  display: block;
  width: 9px;
  height: 9px;
  margin-top: -4.5px;
  object-fit: contain;
  pointer-events: none;
  filter: brightness(0) invert(1);
}

.idx-sd-toolbar__bulk-ico--close {
  display: none;
}

.idx-sd-toolbar__bulk[aria-pressed="true"] .idx-sd-toolbar__bulk-ico--open {
  display: none;
}

.idx-sd-toolbar__bulk[aria-pressed="true"] .idx-sd-toolbar__bulk-ico--close {
  display: block;
}

.idx-sd-toolbar__bulk-label {
  white-space: nowrap;
}

.idx-sd-toolbar__bulk:focus-visible {
  outline: 2px solid #eeff00;
  outline-offset: 2px;
}

.idx-sd-match {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px;
  background-color: #272a31;
  border-radius: 16px;
  box-sizing: border-box;
}

/* sports_live idx-sl-card--selected: 그라데이션 링만 */
.idx-sd-match--active::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 2px;
  border-radius: 16px;
  background: linear-gradient(180deg, #fa52ff 0%, rgba(250, 82, 255, 0.5) 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  pointer-events: none;
  z-index: 1;
}

/* 07_Sports_local .game-list-new > .title + .frame-9 + .view-2 */
.idx-sd-match__head {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  width: 100%;
  padding: 4px 10px;
  border-radius: 4px;
  box-sizing: border-box;
}

.idx-sd-match__frame9 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.idx-sd-match__head .idx-sp-gl__row {
  width: 100%;
}

.idx-sd-match__head .idx-sp-gl__teams {
  flex: 1 1 auto;
  min-width: 0;
}

.idx-sd-league {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  margin: 0;
  padding: 0 6px 0 0;
  border: none;
  border-radius: 0;
  background: transparent;
  cursor: pointer;
  text-align: left;
  font: inherit;
  box-sizing: border-box;
}

.idx-sd-league__sport-ico {
  display: block;
  flex-shrink: 0;
  width: 12px;
  height: 12px;
  object-fit: contain;
  border-radius: 6px;
}

.idx-sd-league:focus-visible {
  outline: 2px solid #cbd5e1;
  outline-offset: 2px;
}

.idx-sd-league__meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  min-width: 0;
}

.idx-sd-league__row {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  width: 100%;
}

.idx-sd-league__flag {
  flex-shrink: 0;
}

.idx-sd-league__ttl {
  font: 600 12px/1.45 var(--font-sans, "Inter", Helvetica, sans-serif);
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.idx-sd-league__time {
  font: 400 10px/1.45 var(--font-sans, "Inter", Helvetica, sans-serif);
  color: #99a1af;
}


/* 07 .view-2 */
.idx-sd-match__toggle.idx-sd-view-2,
.idx-sd-view-2.idx-sd-match__toggle {
  flex-shrink: 0;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-width: 72px;
  max-width: 100%;
  min-height: 24px;
  margin: 0;
  padding: 2px 10px;
  border: 1px solid rgba(38, 158, 167, 0.1);
  border-radius: 4px;
  background-color: #3c3535;
  cursor: pointer;
  font: 500 10px/1.45 var(--font-sans, "Inter", Helvetica, sans-serif);
  letter-spacing: -0.05px;
  color: #9c9c9c;
  box-sizing: border-box;
  overflow: hidden;
  white-space: nowrap;
}

.idx-sd-match__toggle-label {
  white-space: nowrap;
  flex-shrink: 0;
}

.idx-sd-match__toggle-icons {
  position: relative;
  display: inline-block;
  flex-shrink: 0;
  width: 9px;
  height: 9px;
}

.idx-sd-match__toggle-ico {
  position: absolute;
  left: 0;
  top: 50%;
  display: block;
  width: 9px;
  height: 9px;
  margin-top: -4.5px;
  object-fit: contain;
  pointer-events: none;
}

.idx-sd-match__toggle-ico--close {
  display: none;
}

.idx-sd-match__toggle[aria-expanded="true"] .idx-sd-match__toggle-ico--open {
  display: none;
}

.idx-sd-match__toggle[aria-expanded="true"] .idx-sd-match__toggle-ico--close {
  display: block;
}

.idx-sd-match__toggle:focus-visible {
  outline: 2px solid #eeff00;
  outline-offset: 2px;
}

.idx-sd-match__sheet {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 4px 2px 2px;
}

.idx-sd-match__extra {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.idx-sd-match__extra[hidden] {
  display: none !important;
}

.idx-sd-mline {
  display: flex;
  align-items: stretch;
  gap: 4px;
  width: 100%;
}

.idx-sd-mline__cap {
  flex: 0 0 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  background-color: #3b3f46;
  border-radius: 10px 0 0 10px;
  font: 600 9px/1.2 var(--font-sans, "Inter", Helvetica, sans-serif);
  color: #99a1af;
  text-align: center;
  box-sizing: border-box;
}

.idx-sd-mline__cap--solo {
  border-radius: 10px;
}

.idx-sd-score {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  margin: 0;
  padding: 6px 8px;
  border: none;
  border-radius: 0 10px 10px 0;
  background-color: #3b3f46;
  color: #fff;
  cursor: pointer;
  font: 400 10px/1.3 var(--font-sans, "Inter", Helvetica, sans-serif);
  box-sizing: border-box;
}

.idx-sd-mline .idx-sd-score:first-of-type:not(:only-of-type) {
  border-radius: 0;
}

.idx-sd-mline .idx-sd-score + .idx-sd-score:not(.idx-sd-score--draw) {
  border-radius: 0 10px 10px 0;
}

.idx-sd-mline:has(.idx-sd-mline__cap) .idx-sd-score:first-of-type {
  border-radius: 0;
}

.idx-sd-mline:has(.idx-sd-mline__cap) .idx-sd-score:last-of-type {
  border-radius: 0 10px 10px 0;
}

.idx-sd-mline--tri .idx-sd-score:first-of-type {
  border-radius: 0;
}

.idx-sd-mline--tri .idx-sd-mline__mid {
  flex: 0 0 auto;
  min-width: 48px;
  max-width: 56px;
  padding: 3px 4px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  background-color: #3b3f46;
  font: 600 10px/1.2 var(--font-sans, "Inter", Helvetica, sans-serif);
  color: #eeff00;
}

.idx-sd-mline__mid-line {
  display: block;
  width: 100%;
  text-align: center;
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.idx-sd-mline__mid-line--bottom {
  font-weight: 600;
  font-size: 9px;
  opacity: 0.92;
}

.idx-sd-mline--tri .idx-sd-score:last-of-type {
  border-radius: 0 10px 10px 0;
}

/* 승무패 가운데 — 배당만, VS/라인 칸(.idx-sd-mline__mid)과 동일한 각진 중앙 칸 */
.idx-sd-mline--tri .idx-sd-score.idx-sd-score--draw,
.idx-sd-mline--tri.idx-sd-mline--wdl .idx-sd-score--draw {
  flex: 0 0 auto;
  min-width: 48px;
  max-width: 56px;
  justify-content: center;
  align-items: center;
  border-radius: 0;
  gap: 0;
  padding: 3px 4px;
}

.idx-sd-mline:has(.idx-sd-mline__cap) .idx-sd-score.idx-sd-score--draw {
  border-radius: 0;
}

.idx-sd-score--draw .idx-sd-score__odd {
  color: #eeff00;
  font-weight: 600;
}

@media (max-width: 1024px) {
  .idx-sd-match__sheet {
    gap: 8px;
  }

  .idx-sd-match__extra {
    gap: 10px;
  }

  .idx-sd-mline {
    gap: 6px;
  }
}

.idx-sd-score__odd {
  font-weight: 600;
  color: #fff;
  font-size: 10px;
}

.idx-sd-score--selected {
  background-color: #fa52ff;
}

.idx-sd-score--selected .idx-sd-score__odd {
  color: #fff;
}

.idx-sd-score:focus-visible {
  outline: 2px solid #eeff00;
  outline-offset: 1px;
}

.idx-sd-hc {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.idx-sd-hc img {
  width: 6px;
  height: 7px;
  object-fit: contain;
  flex-shrink: 0;
}

/* 07_Sports_local 우측 베팅슬립: .frame-17, .frame-20 (국내형 페이지 전용 마크업) */
.idx-user-board__slip-f17 {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  width: 100%;
  margin-bottom: 6px;
  padding: 10px 15px;
  box-sizing: border-box;
  background-color: #303338;
  border-radius: 10px;
  border: none;
}

.idx-user-board__slip-f17-bar,
.idx-user-board__slip-f17-teams,
.idx-user-board__slip-f17-foot {
  position: relative;
  z-index: 2;
}

.idx-user-board__slip-f17-bar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  width: 100%;
}

.idx-user-board__slip-f17-dismiss,
.idx-user-board__slip-f20-dismiss {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 15px;
  height: 15px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: transparent;
  cursor: pointer;
  box-sizing: border-box;
}

.idx-user-board__slip-f17-dismiss img,
.idx-user-board__slip-f20-dismiss img {
  display: block;
  width: 10px;
  height: 10px;
  object-fit: contain;
  opacity: 0.85;
}

.idx-user-board__slip-f17-dismiss:focus-visible,
.idx-user-board__slip-f20-dismiss:focus-visible {
  outline: 2px solid #eeff00;
  outline-offset: 2px;
}

.idx-user-board__slip-f17-teams {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 2px;
  width: 100%;
  min-height: 52px;
  padding: 5px;
  box-sizing: border-box;
}

.idx-user-board__slip-f17-h {
  font: 700 14px/1.45 var(--font-sans, "Inter", Helvetica, sans-serif);
  letter-spacing: -0.07px;
  color: #fff;
}

.idx-user-board__slip-f17-vs {
  font: 500 12px/1.45 var(--font-sans, "Inter", Helvetica, sans-serif);
  letter-spacing: -0.06px;
  color: #ef7e4c;
}

.idx-user-board__slip-f17-foot {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 5px;
  box-sizing: border-box;
  border-top: 1px solid rgba(28, 28, 28, 0.3);
}

.idx-user-board__slip-f17-warn {
  font: 700 12px/1.45 var(--font-sans, "Inter", Helvetica, sans-serif);
  letter-spacing: -0.06px;
  color: #eeff00;
  text-align: center;
}

.idx-user-board__slip-f20 {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  width: 100%;
  padding: 10px 15px;
  margin-bottom: 8px;
  box-sizing: border-box;
  background-color: #3b3f46;
  border-radius: 10px;
  border: none;
}

/* f17·f20 선택 테두리 — 동일 (f20 기준 그라데이션 링) */
.idx-user-board__slip-f17::before,
.idx-user-board__slip-f20::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 2px;
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(250, 82, 255, 1) 0%, rgba(250, 82, 255, 0.5) 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.15s ease;
}

.idx-user-board__slip-f17.idx-ub-slip-item--active::before,
.idx-user-board__slip-f20.idx-ub-slip-item--active::before {
  opacity: 1;
}

.idx-user-board__slip-f20-head {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 2px 5px;
  box-sizing: border-box;
}

.idx-user-board__slip-f20-cap {
  font: 400 10px/1.45 var(--font-sans, "Inter", Helvetica, sans-serif);
  letter-spacing: -0.05px;
  color: #eeff00;
  white-space: nowrap;
}

.idx-user-board__slip-f20 .idx-user-board__slip-f17-teams {
  position: relative;
  z-index: 2;
}

.idx-user-board__slip-f20-pick {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  padding: 5px;
  box-sizing: border-box;
  border-top: 1px solid #2e343e;
}

.idx-user-board__slip-f20-pick-txt {
  font: 400 12px/1.45 var(--font-sans, "Inter", Helvetica, sans-serif);
  letter-spacing: -0.06px;
  color: #fff;
  white-space: nowrap;
}

.idx-user-board__slip-f20-odd {
  font: 400 12px/1.45 var(--font-sans, "Inter", Helvetica, sans-serif);
  letter-spacing: -0.06px;
  color: #fff;
  font-weight: 600;
}

/* 슬립 추가 블록 — 선택 링은 f17·f20 공통 ::before (위), 포커스만 outline */
.idx-ub-slip-item {
  outline: none;
  outline-offset: 0;
  cursor: pointer;
}

.idx-ub-slip-item:focus-visible {
  outline: 2px solid #eeff00;
}
