@charset "UTF-8";
/* 2026-07-31 수정 #0731-9 : 인터랙션 정책 — press(:active) 틴트 폐지·hover 틴트를 hover 가능 기기로 한정 */
/* 2026-07-31 수정 #0731-9 : 인터랙션 정책 — press(:active) 틴트 폐지·hover 틴트를 hover 가능 기기로 한정 */
/* 2026-07-31 수정 #0731-10 : focus-ring — 포커스 링 노출 조건 개편(포인터 기기 게이트·인풋 예외·래퍼 위임) */
/* 2026-07-31 수정 #0731-11 : overlay__body-inner — 모달 본문 가로 스크롤 우측 끝 여백 보정 */
.fee-calculator {
  padding-bottom: var(--p-3);
}
@media (min-width: 768px) {
  .fee-calculator {
    padding-bottom: 0;
  }
}
.fee-calculator__intro {
  margin-top: var(--p-5);
  font-size: var(--font-size-title-medium);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
  color: var(--label-normal);
}
.fee-calculator__section {
  margin-top: var(--gap-8);
}
.fee-calculator__hint {
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
}
.fee-calculator__options {
  display: flex;
  gap: var(--gap-2);
}
.fee-calculator__option {
  position: relative;
  flex: 1 1 0;
  min-height: 100px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--gap-1);
  padding: var(--p-3) var(--p-2);
  border: 1px solid var(--border-box-normal);
  border-radius: var(--rounded-lg);
  background: var(--fill-normal);
  text-align: center;
  cursor: pointer;
}
.fee-calculator__option::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--fill-hyper);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-base);
}
@media (hover: hover) {
  .fee-calculator__option:hover::before {
    opacity: 0.0375;
  }
}
.fee-calculator__option:active::before {
  opacity: 0.09;
}
.fee-calculator__option:has(.fee-calculator__option-input:focus-visible) {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}
.fee-calculator__option:has(.fee-calculator__option-input:checked) {
  border-color: var(--border-box-ultra);
}
.fee-calculator__option:has(.fee-calculator__option-input:checked) .fee-calculator__option-title {
  font-weight: var(--font-weight-semibold);
}
.fee-calculator__option-input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}
.fee-calculator__option-title {
  font-size: var(--font-size-body-medium);
  font-weight: var(--font-weight-medium);
  line-height: 1.6;
  color: var(--label-normal);
}
.fee-calculator__option-sub {
  font-size: var(--font-size-body-small);
  font-weight: var(--font-weight-regular);
  line-height: 1.6;
  color: var(--label-soft);
}
.fee-calculator__benefits {
  display: flex;
  flex-direction: column;
  gap: var(--gap-2);
}
.fee-calculator__benefit {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--p-4);
  padding: var(--p-4);
  border: 1px solid var(--border-box-normal);
  border-radius: var(--rounded-lg);
  background: var(--fill-normal);
  cursor: pointer;
}
.fee-calculator__benefit::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--fill-hyper);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-base);
}
@media (hover: hover) {
  .fee-calculator__benefit:hover::before {
    opacity: 0.0375;
  }
}
.fee-calculator__benefit:active::before {
  opacity: 0.09;
}
.fee-calculator__benefit:has(.fee-calculator__option-input:focus-visible) {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}
.fee-calculator__benefit:has(.fee-calculator__option-input:checked) {
  border-color: var(--border-box-ultra);
}
.fee-calculator__benefit:has(.fee-calculator__option-input:checked) .fee-calculator__benefit-title {
  font-weight: var(--font-weight-semibold);
}
.fee-calculator__benefit-tag {
  flex: 0 0 auto;
  font-size: var(--font-size-body-medium);
  font-weight: var(--font-weight-medium);
  line-height: 1.6;
  color: var(--label-muted);
}
.fee-calculator__benefit-body {
  display: flex;
  flex-direction: column;
  gap: var(--gap-1);
  min-width: 0;
}
.fee-calculator__benefit-title {
  display: flex;
  align-items: center;
  gap: var(--p-0-5);
  font-size: var(--font-size-body-medium);
  font-weight: var(--font-weight-medium);
  line-height: 1.6;
  color: var(--label-normal);
}
.fee-calculator__benefit-sub {
  font-size: var(--font-size-body-small);
  font-weight: var(--font-weight-regular);
  line-height: 1.6;
  color: var(--label-soft);
}
.fee-calculator__skt {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--gap-3);
}
.fee-calculator .section-title + .fee-calculator__options, .fee-calculator .section-title + .fee-calculator__benefits {
  margin-top: var(--gap-3);
}
.fee-calculator__skt > .section-title + .toggle {
  margin-top: 0;
}
.fee-calculator__skt-band {
  margin-top: 10px;
  padding: var(--p-2) var(--p-3);
  border-radius: var(--rounded-lg);
  background: var(--brand-blue-weak);
  font-size: var(--font-size-body-small);
  font-weight: var(--font-weight-regular);
  line-height: 1.6;
  color: var(--label-muted);
}
.fee-calculator__skt-band strong {
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
}
.fee-calculator__skt-band--off {
  display: none;
}
.fee-calculator__section:has(.toggle__input:not(:checked)) .fee-calculator__skt-band--on {
  display: none;
}
.fee-calculator__section:has(.toggle__input:not(:checked)) .fee-calculator__skt-band--off {
  display: block;
}

.fee-calculator-modal .button-action__summary-detail .info-cell__row:not(.info-cell__row--thin) .info-cell__label {
  color: var(--label-normal);
}
.fee-calculator-modal .button-action__summary-detail .button-action__summary-divider {
  margin-top: 0;
}

/* 2026-07-31 수정 #0731-73 : 인터넷 목록 블록명 개편 internet-*→plan-*(plan-banners·plan-products·plan-list·plan-feature) */
.plan-banners .carousel__slide > .banner-marketing {
  border-radius: 0;
}
@media (min-width: 768px) {
  .plan-banners .carousel__slide > .banner-marketing {
    border-radius: var(--rounded-2xl);
  }
}
@media (min-width: 768px) {
  .plan-banners {
    margin-top: var(--gap-8);
  }
}

.plan-products {
  display: flow-root;
  padding-bottom: 5px;
}
@media (min-width: 768px) {
  .plan-products {
    padding-bottom: 49px;
  }
}

.plan-products .product-filter {
  --filter-fade: var(--background-strong);
}

.plan-products:has(.product-filter__chip[data-toggle][aria-pressed=true]) {
  --card-plan-price-color: var(--brand-blue-normal);
}

.plan-list > ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--gap-4);
}
.plan-list__item > .card-plan {
  width: 100%;
  max-width: none;
}
.plan-list__more {
  display: flex;
  justify-content: center;
  margin-top: var(--gap-5);
}
@media (min-width: 768px) {
  .plan-list__more {
    margin-top: var(--gap-8);
  }
}
.plan-list__more[hidden] {
  display: none;
}
@media (min-width: 768px) {
  .plan-list {
    margin-top: var(--gap-2);
  }
  .plan-list > ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 860px) {
  .plan-list > ul {
    grid-template-columns: repeat(3, 1fr);
  }
}

.plan-list > ul:has(> li > .card-plan[data-compact]) {
  display: grid;
  grid-auto-rows: 1fr;
}
.plan-list > ul:has(> li > .card-plan[data-compact]) > .plan-list__item {
  display: flex;
}
.plan-list > ul:has(> li > .card-plan[data-compact]) > .plan-list__item[hidden] {
  display: none;
}
.plan-list > ul:has(> li > .card-plan[data-compact]) .card-plan[data-compact] {
  height: 100%;
}
.plan-list > ul:has(> li > .card-plan[data-compact]) .card-plan[data-compact] > .card-plan__header {
  flex: 1 0 auto;
}

.plan-feature {
  margin-top: var(--gap-12);
}
.plan-feature h2 {
  margin: 0;
  font-size: var(--font-size-title-small);
  font-weight: var(--font-weight-bold);
  color: var(--label-normal);
}
.plan-feature ul {
  margin-top: var(--gap-4);
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gap-2);
}
@media (min-width: 768px) {
  .plan-feature {
    margin-top: var(--gap-16);
    /* 2026-07-31 수정 #0731-54 : plan-feature 추가 기능 카드 PC 간격 8→16 */
  }
  .plan-feature ul {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--gap-4);
  }
}

#main.plan-main {
  padding-bottom: 52px;
}
@media (min-width: 768px) {
  #main.plan-main {
    padding-bottom: var(--p-24);
  }
}

.dialog[data-variant=fullscreen] .dialog__content > .overlay__panel.settop-detail-modal > .overlay__body > .overlay__body-inner {
  padding-bottom: var(--p-18);
}
@media (min-width: 768px) {
  .dialog[data-variant=fullscreen] .dialog__content > .overlay__panel.settop-detail-modal > .overlay__body > .overlay__body-inner {
    padding-bottom: var(--p-36);
  }
}

.overlay__body-inner .settop-detail__tabs > :where(.tabs__strip) {
  margin-inline: 0;
}
.overlay__body-inner .settop-detail__tabs > :where(.tabs__strip) > .tabs__list {
  padding-inline: 0;
}

.settop-detail > .settop-detail__info {
  margin-top: var(--gap-5);
}
.settop-detail > .settop-detail__tabs {
  margin-top: var(--gap-8);
}
.settop-detail > .settop-detail__tabs + .settop-detail__section {
  margin-top: var(--gap-7);
}
.settop-detail > .settop-detail__divider {
  margin-top: var(--gap-7);
}
.settop-detail > .settop-detail__divider + .settop-detail__section {
  margin-top: var(--gap-12);
}

.settop-detail__gallery {
  display: flex;
  flex-direction: column;
  gap: var(--gap-2);
}

.settop-detail__gallery picture {
  display: block;
}

.settop-detail__main {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  object-fit: cover;
  border-radius: 32px;
  background: var(--background-strong);
}

@media (min-width: 768px) {
  .settop-detail__stage .carousel__number:not(.carousel__ind--mobile):not(.carousel__ind--pc)[data-pc-pos=right] {
    inset-inline-end: var(--gap-4);
    bottom: var(--gap-4);
  }
}

.settop-detail__thumbs {
  display: flex;
  gap: var(--gap-2);
  overflow-x: auto;
  width: calc(100% + var(--p-5) + var(--scroll-bleed-end, var(--p-5)));
  margin-inline: calc(-1 * var(--p-5)) calc(-1 * var(--scroll-bleed-end, var(--p-5)));
  padding-inline: var(--p-5) var(--scroll-bleed-end, var(--p-5));
  scroll-padding-inline: var(--p-5) var(--scroll-bleed-end, var(--p-5));
}
@media (min-width: 768px) {
  .settop-detail__thumbs {
    width: calc(100% + var(--p-10) + var(--scroll-bleed-end, var(--p-10)));
    margin-inline: calc(-1 * var(--p-10)) calc(-1 * var(--scroll-bleed-end, var(--p-10)));
    padding-inline: var(--p-10) var(--scroll-bleed-end, var(--p-10));
    scroll-padding-inline: var(--p-10) var(--scroll-bleed-end, var(--p-10));
  }
}
.settop-detail__thumbs {
  scrollbar-width: none;
}
.settop-detail__thumbs::-webkit-scrollbar {
  display: none;
}

.settop-detail__thumb {
  flex: 0 0 auto;
  inline-size: 30%;
  max-inline-size: 114px;
  padding: 0;
  border-radius: var(--rounded-xl);
  background: none;
  cursor: pointer;
  overflow: hidden;
  position: relative;
  border: 1px solid transparent;
}
.settop-detail__thumb img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  object-fit: cover;
}
.settop-detail__thumb[aria-pressed=true] {
  border-color: var(--border-box-ultra);
}
.settop-detail__thumb:focus-visible {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
  outline-offset: calc(-1 * var(--stroke-3));
}

.settop-detail__tagline {
  font-size: var(--font-size-component-2xlarge);
  font-weight: var(--font-weight-bold);
  color: var(--label-normal);
  line-height: 1.4;
}

.settop-detail__price {
  margin-top: var(--gap-4);
}

.settop-detail__care {
  display: block;
  font-size: var(--font-size-component-xsmall);
  font-weight: var(--font-weight-medium);
  color: var(--label-muted);
}

.settop-detail__amount {
  display: flex;
  align-items: center;
}

.settop-detail__value {
  font-size: var(--font-size-component-3xlarge);
  font-weight: var(--font-weight-bold);
  color: var(--label-normal);
}

.settop-detail__unit {
  font-size: var(--font-size-component-xsmall);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
}

.settop-detail__origin {
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-soft);
  text-decoration: line-through;
}

.settop-detail__detail-fold {
  overflow: hidden;
  max-height: 360px;
}
.settop-detail__detail-fold[data-expanded] {
  max-height: none;
}

.settop-detail__detail-img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--rounded-2xl);
}

.settop-detail__more {
  margin-top: -30px;
}
.settop-detail__more .button-action__content {
  padding-inline: 0;
}
.settop-detail__more .btn[data-settop-detail-toggle] .icon {
  transition: transform var(--duration-base) var(--ease-out);
}
.settop-detail__more .btn[data-settop-detail-toggle][aria-expanded=true] .icon {
  transform: rotate(180deg);
}

.settop-detail__detail-fold[data-expanded] + .settop-detail__more {
  margin-top: var(--gap-12);
}

.settop-detail__notice-title {
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
}

.settop-detail__notice {
  margin-top: var(--gap-4);
  display: flex;
  flex-direction: column;
  gap: var(--gap-1);
  list-style: none;
}
.settop-detail__notice li {
  position: relative;
  padding-left: var(--gap-3);
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
  line-height: 1.5;
}
.settop-detail__notice li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 0.65em;
  width: 3px;
  height: 3px;
  border-radius: var(--rounded-full);
  background: var(--label-soft);
}

.detail {
  padding-bottom: 96px;
}
@media (min-width: 860px) {
  .detail {
    padding-bottom: 0;
  }
}

@media (min-width: 860px) {
  .detail-shell {
    max-width: 1024px;
    margin-inline: auto;
    padding-top: var(--gap-6);
    padding-inline: var(--p-10);
    display: flex;
    align-items: start;
    justify-content: space-between;
  }
}

.detail-body {
  min-width: 0;
}
@media (min-width: 860px) {
  .detail-body {
    max-width: 544px;
    flex: 1 1 544px;
  }
}

.detail-aside {
  display: none;
}
@media (min-width: 860px) {
  .detail-aside {
    display: block;
    width: 304px;
    flex: 0 0 304px;
    position: sticky;
    margin-left: 20px;
    top: var(--gap-5);
  }
}

.detail-price--inline {
  margin-top: var(--gap-6);
}
@media (min-width: 860px) {
  .detail-price--inline {
    display: none;
  }
}
.detail-price--aside {
  padding-top: var(--p-12);
}
.detail-price--aside .detail-price__term {
  margin-top: var(--gap-6);
}
.detail-price__term {
  margin: 0;
  font-size: var(--font-size-caption-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-disabled);
}
.detail-price__base {
  display: flex;
  align-items: baseline;
}
.detail-price__base strong {
  font-size: var(--font-size-component-3xlarge);
  font-weight: var(--font-weight-bold);
  color: var(--label-normal);
  line-height: 1.4;
}
.detail-price__base span {
  margin-inline-start: var(--gap-0-5);
  font-size: var(--font-size-component-xsmall);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
}
@media (min-width: 768px) {
  .detail-price__base span {
    font-size: var(--font-size-component-medium);
  }
}
.detail-price__origin {
  margin-inline-start: var(--gap-1-5);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-soft);
}
@media (min-width: 768px) {
  .detail-price__origin {
    font-size: var(--font-size-component-large);
  }
}
.detail-price__final {
  display: flex;
  align-items: center;
}
.detail-price__final strong {
  font-size: var(--font-size-title-2xlarge);
  font-weight: var(--font-weight-bold);
  color: var(--brand-blue-normal);
  line-height: 1.4;
}
@media (min-width: 768px) {
  .detail-price__final strong {
    font-size: var(--font-size-title-xlarge);
  }
}
.detail-price__final span {
  margin-inline-start: var(--gap-0-5);
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-bold);
  color: var(--brand-blue-normal);
}
.detail-price__toggle {
  margin-inline-start: var(--gap-1-5);
  display: inline-flex;
  align-items: center;
  gap: var(--gap-0-5);
  padding: 0;
  border: 0;
  background: transparent;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--brand-blue-normal);
  cursor: pointer;
}
.detail-price__toggle:focus-visible {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}
@media (min-width: 768px) {
  .detail-price__toggle {
    font-size: var(--font-size-component-large);
  }
}
.detail-price__toggle {
  /* 2026-07-16 수정 #0716-53 : plan-detail 아코디언 아이콘 크기·혜택 여백·CTA 서브카피 간격 조정 */
}
.detail-price__toggle .icon {
  width: 18px;
  height: 18px;
  transition: transform var(--duration-base) var(--ease-out);
}
.detail-price__toggle[aria-expanded=true] .icon {
  transform: rotate(180deg);
}
.detail-price__breakdown {
  margin-top: var(--gap-2);
  padding: var(--p-4);
  border: var(--stroke-1) solid var(--border-box-normal);
  border-radius: var(--rounded-xl);
}
.detail-price {
  /* 2026-07-16 수정 #0716-54 : detail-price__breakdown-title 폰트 토큰 component-xsmall→caption-medium 교체(값 동일 12px) */
}
.detail-price__breakdown-title {
  margin: 0;
  padding-bottom: var(--p-2);
  border-bottom: var(--stroke-1) solid var(--border-box-normal);
  font-size: var(--font-size-caption-medium);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
  line-height: 1.6;
}
.detail-price__breakdown-list {
  margin: var(--gap-3) 0 0;
  display: flex;
  flex-direction: column;
  gap: var(--gap-1-5);
}
.detail-price__breakdown-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}
.detail-price__breakdown-row dt {
  font-size: var(--font-size-component-medium);
  color: var(--label-muted);
  line-height: 1.6;
}
.detail-price__breakdown-row {
  /* 2026-07-31 수정 #0731-55 : detail-price__breakdown 금액 줄바꿈 방지·좌측 간격 8 */
}
.detail-price__breakdown-row dd {
  margin: 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-normal);
  line-height: 1.6;
  white-space: nowrap;
  margin-inline-start: var(--gap-2);
}
.detail-price__gift {
  margin: var(--gap-2) 0 0;
  font-size: var(--font-size-caption-medium);
  color: var(--label-soft);
  line-height: 1.6;
}

.detail-cta-bar {
  position: fixed;
  inset-inline: 0;
  inset-block-end: 0;
  z-index: 1000;
  transition: inset-block-end 0.25s ease;
}
@media (min-width: 768px) {
  .detail-cta-bar {
    position: sticky;
    height: 0;
    inset-inline: auto;
  }
  .detail-cta-bar > * {
    position: absolute;
    inset-inline: 0;
    bottom: 0;
  }
}
@media (min-width: 860px) {
  .detail-cta-bar {
    display: none;
  }
}

body:has(.quickmenu:not([data-hidden=true])) .detail-cta-bar {
  inset-block-end: calc(var(--quickmenu-clearance) + env(safe-area-inset-bottom, 0px));
}
body:has(.quickmenu:not([data-hidden=true])) .detail-cta-bar .button-action__content {
  padding-bottom: 20px;
}

.detail-cta-bar .button-action__content {
  transition: padding-bottom 0.25s ease;
}

/* 2026-07-16 수정 #0716-24 : plan-detail 인트로/섹션 간격·타이포 조정 */
.divider {
  margin-top: var(--p-8);
}
@media (min-width: 860px) {
  .divider {
    margin-top: var(--p-12);
  }
}

.detail-cta--aside {
  margin-top: var(--gap-8);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--gap-2);
}

.detail-cta--single {
  grid-template-columns: 1fr;
}
.detail-cta--single .btn {
  width: 100%;
}

.detail-cta__join .btn {
  width: 100%;
}

/* 2026-07-16 수정 #0716-53 : plan-detail 아코디언 아이콘 크기·혜택 여백·CTA 서브카피 간격 조정 */
.detail-benefits {
  margin-top: var(--gap-8);
}
@media (min-width: 860px) {
  .detail-benefits {
    margin-top: var(--gap-12);
  }
}

.detail-benefits__title {
  margin: 0;
  padding-inline: var(--p-1);
  font-size: var(--font-size-title-medium);
  font-weight: var(--font-weight-bold);
  color: var(--label-normal);
  line-height: 1.4;
}
@media (min-width: 768px) {
  .detail-benefits__title {
    font-size: var(--font-size-component-xlarge);
  }
}

.detail-benefits__list {
  margin-top: var(--gap-4);
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--p-2);
}

.detail-benefit {
  display: flex;
  align-items: center;
  gap: var(--p-4);
  padding: var(--p-4) var(--p-5);
  border-radius: var(--rounded-2xl);
  background: var(--background-normal);
}
.detail-benefit__icon {
  flex-shrink: 0;
  display: inline-flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
}
.detail-benefit__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.detail-benefit__text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--gap-0-5);
}
.detail-benefit__title {
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
  line-height: 1.6;
}
.detail-benefit__sub {
  font-size: var(--font-size-component-medium);
  color: var(--label-soft);
  line-height: 1.6;
}

.detail-service {
  margin-top: var(--p-6);
  margin-bottom: 0;
  padding-inline: var(--p-1-5);
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--gap-5);
}
@media (min-width: 860px) {
  .detail-service {
    padding-inline: 0;
    gap: var(--gap-4);
  }
}
.detail-service__item {
  display: flex;
  gap: var(--gap-4);
  padding-bottom: var(--p-5);
  border-bottom: var(--stroke-1) solid var(--border-line-normal);
  align-items: center;
}
.detail-service__item:last-child {
  border-bottom: 0;
}
@media (min-width: 860px) {
  .detail-service__item:last-child {
    border-bottom: var(--stroke-1) solid var(--border-line-normal);
  }
}
@media (min-width: 860px) {
  .detail-service__item {
    gap: var(--gap-5);
    padding: var(--p-5);
    border: var(--stroke-1) solid var(--border-line-normal);
    border-radius: var(--rounded-2xl);
    background: var(--background-normal);
  }
}
.detail-service__icon {
  flex-shrink: 0;
  display: inline-flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
}
.detail-service__body {
  min-width: 0;
}
.detail-service__name {
  display: block;
  font-size: var(--font-size-title-small);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
  line-height: 1.4;
}
.detail-service__points {
  margin-top: var(--gap-1);
  display: flex;
  flex-direction: column;
}
@media (min-width: 860px) {
  .detail-service__points {
    margin-top: var(--gap-2);
    gap: var(--gap-0-5);
  }
}
.detail-service__points {
  padding: 0;
  list-style: none;
}
.detail-service__points li {
  position: relative;
  padding-left: var(--gap-2);
  font-size: var(--font-size-body-small);
  color: var(--label-muted);
  line-height: 1.6;
}
@media (min-width: 768px) {
  .detail-service__points li {
    font-size: var(--font-size-component-medium);
  }
}
.detail-service__points li::before {
  content: "∙";
  position: absolute;
  left: -2px;
}

.detail-note {
  margin-top: var(--gap-1-5);
  padding: var(--p-3) var(--p-4);
  border-radius: var(--rounded-xl);
  background: var(--background-strong);
  font-size: var(--font-size-caption-medium);
  color: var(--label-normal);
  line-height: 1.6;
}
@media (min-width: 768px) {
  .detail-note {
    font-size: var(--font-size-body-small);
  }
}
@media (min-width: 860px) {
  .detail-note {
    margin-top: var(--gap-6);
    padding: var(--p-3) var(--p-6);
    text-align: center;
  }
}
.detail-note a {
  color: var(--brand-blue-normal);
  font-weight: var(--font-weight-medium);
  text-decoration: none;
}
@media (min-width: 768px) {
  .detail-note a {
    font-weight: var(--font-weight-regular);
  }
}
.detail-note {
  /* 2026-07-16 수정 #0716-53 : plan-detail 아코디언 아이콘 크기·혜택 여백·CTA 서브카피 간격 조정 */
}
.detail-note__sub {
  display: block;
  color: var(--label-soft);
}
@media (min-width: 860px) {
  .detail-note__sub {
    margin-top: -2px;
  }
}

.detail-tabs {
  margin-top: var(--gap-2);
}
@media (min-width: 860px) {
  .detail-tabs {
    margin-top: var(--gap-6);
  }
  .detail-tabs.tabs--bar[data-type=fill] > .tabs__strip > .tabs__list {
    padding-inline: 0;
  }
}

/* 2026-07-16 수정 #0716-24 시작 : plan-detail 인트로/섹션 간격·타이포 조정 */
.detail-intro {
  padding: var(--p-5) var(--p-5) var(--p-8);
  background: var(--background-elevated-strong);
}
@media (min-width: 860px) {
  .detail-intro {
    padding: var(--p-12) var(--p-6);
    border-radius: var(--rounded-2xl);
  }
}

.detail-intro--plain {
  background: var(--background-elevated-normal);
  padding: var(--p-5) var(--p-5) 0 var(--p-5);
}
@media (min-width: 860px) {
  .detail-intro--plain {
    padding: var(--p-12) var(--p-5) 0 0;
  }
}

.detail-intro__head {
  display: flex;
  flex-direction: column;
}
@media (min-width: 860px) {
  .detail-intro__head {
    padding-inline: var(--p-2);
  }
}

.detail-badges {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap-1);
  margin: 0;
}

.detail-intro__title {
  margin-top: var(--gap-3);
  margin-bottom: 0;
  font-size: var(--font-size-component-3xlarge);
  font-weight: var(--font-weight-bold);
  color: var(--label-normal);
  line-height: 1.4;
}
.detail-intro__title--aside {
  margin-top: 0;
  font-size: var(--font-size-component-xlarge);
}

.detail-intro__product {
  margin-top: var(--gap-1);
  font-size: var(--font-size-component-medium);
  color: var(--label-muted);
  line-height: 1.6;
}

.detail-section {
  margin-top: var(--p-8);
  padding-inline: var(--p-5);
}
@media (min-width: 860px) {
  .detail-section {
    margin-top: var(--p-12);
    padding-inline: 0;
  }
}
.detail-section__title {
  margin: 0;
  font-size: var(--font-size-title-medium);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
  line-height: 1.4;
}
.detail-section__sub {
  margin-top: var(--p-10);
  font-size: var(--font-size-title-medium);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
  line-height: 1.4;
}
@media (min-width: 768px) {
  .detail-section__sub {
    margin-top: var(--p-12);
    font-size: var(--font-size-component-2xlarge);
  }
}
.detail-section__lead {
  margin: var(--gap-2) 0 0;
  font-size: var(--font-size-body-medium);
  color: var(--label-muted);
  line-height: 1.6;
}

#detail-info {
  margin-top: var(--p-7);
}
@media (min-width: 860px) {
  #detail-info {
    margin-top: var(--p-8);
  }
}

/* #0716-24 끝 */
#detail-info,
#detail-fee,
#detail-notice {
  scroll-margin-top: 60px;
}

.detail-fold {
  margin-top: var(--gap-4);
  max-height: 320px;
  border-radius: var(--rounded-2xl);
  overflow: hidden;
}
@media (min-width: 860px) {
  .detail-fold {
    margin-top: var(--gap-6);
    max-height: 460px;
  }
}
.detail-fold[data-expanded] {
  max-height: none;
}
.detail-fold__img {
  display: block;
  width: 100%;
  background: var(--background-strong);
}

.detail-more {
  position: relative;
  margin: -30px -20px 0;
}
.detail-more[hidden] {
  display: none;
}
@media (min-width: 860px) {
  .detail-more {
    margin-top: -40px;
  }
  .detail-more .button-action__content {
    padding-inline: var(--gap-5);
  }
}

.detail-fold[data-expanded] + .detail-more {
  margin-top: var(--gap-12);
}

/* 2026-07-16 수정 #0716-23 시작 : 이용요금 표를 공통 Table 컴포넌트로 이관·유의사항 섹션 재배치 */
.detail-table-unit {
  margin-top: var(--gap-1);
  text-align: right;
  font-size: var(--font-size-component-xsmall);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
  line-height: 1.6;
}

.detail-fee-table {
  margin-top: var(--gap-6);
}
@media (min-width: 860px) {
  .detail-fee-table {
    --table-bleed: 0;
  }
}
.detail-fee-table .data-table__cell a {
  color: var(--label-normal);
  font-weight: var(--font-weight-semibold);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.detail-fee-table .data-table__cell a:focus-visible {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}

.detail-table-unit + .detail-fee-table {
  margin-top: var(--gap-2);
}

.detail-fee-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--gap-2);
}
.detail-fee-head .detail-table-unit {
  margin-top: 0;
}

.detail-section__title + .detail-fee-head {
  margin-top: var(--gap-1);
}

.detail-fee-head__title {
  margin: 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
  line-height: 1.6;
}

.detail-fee-head + .detail-fee-table {
  margin-top: var(--gap-2);
}

.detail-fee-table-wrapper + .detail-fee-table-wrapper {
  margin-top: var(--gap-7);
}

.detail-fee-table-wrapper .detail-table-unit {
  margin-top: 0;
}

.detail-section__sub + .card-scroll {
  margin-top: var(--gap-4);
}

.detail-section__sub + .accordion {
  margin-top: var(--gap-2);
}

.detail-cards__scroll {
  width: calc(100% + var(--p-5) + var(--scroll-bleed-end, var(--p-5)));
  margin-inline: calc(-1 * var(--p-5)) calc(-1 * var(--scroll-bleed-end, var(--p-5)));
  padding-inline: var(--p-5) var(--scroll-bleed-end, var(--p-5));
  scroll-padding-inline: var(--p-5) var(--scroll-bleed-end, var(--p-5));
  gap: var(--gap-2);
  margin-bottom: calc(-1 * var(--scrollbar-size));
}
@media (min-width: 768px) {
  .detail-cards__scroll {
    gap: var(--gap-4);
  }
}
@media (min-width: 860px) {
  .detail-cards__scroll {
    width: 100%;
    margin-inline: 0;
    padding-inline: 0;
    scroll-padding-inline: 0;
  }
}

.detail-notice {
  margin-top: var(--gap-3);
}
.detail-section__title + .detail-notice {
  margin-top: var(--gap-4);
}
@media (min-width: 860px) {
  .detail-notice {
    margin-top: var(--gap-6);
  }
}
.detail-notice {
  padding: 0;
  list-style: none;
}
.detail-notice li {
  position: relative;
  padding-left: var(--gap-3);
  color: var(--label-soft);
  line-height: 1.6;
  font-size: var(--font-size-component-xsmall);
}
.detail-notice li + li {
  margin-top: var(--gap-0-5);
}
.detail-notice li::before {
  content: "·";
  position: absolute;
  left: var(--gap-1);
}
.detail-notice {
  /* 2026-07-24 수정 #0724-18 : detail-notice 인라인 링크 밑줄을 공통 text-link 로 이관(포커스 링 추가) */
}
.detail-notice a {
  color: var(--label-muted);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.detail-notice a:focus-visible {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}
.detail-notice--table {
  margin-top: var(--gap-2);
  font-weight: var(--font-weight-regular);
}

.detail-notice-block {
  margin-top: 12px;
}
.detail-notice-block__title {
  margin: 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-semibold);
  color: var(--label-muted);
  line-height: 1.6;
}
.detail-notice-block .detail-notice {
  margin-top: var(--gap-1);
}

/* #0716-23 끝 */
/* 2026-07-24 수정 #0724-19 : 상세 아코디언 accordion__content PC 패딩 조정(상 12·하 28) */
.accordion__content {
  padding-top: var(--gap-2);
}
@media (min-width: 768px) {
  .accordion__content {
    padding-top: var(--gap-3);
    padding-bottom: var(--gap-7);
  }
}

@media (min-width: 768px) {
  .recommend__title {
    font-size: var(--font-size-component-3xlarge);
  }
}

.recommend-intro {
  padding-top: var(--p-5);
  padding-bottom: var(--p-5);
  background: var(--fill-normal);
}
@media (min-width: 768px) {
  .recommend-intro {
    padding-top: 0;
    padding-bottom: var(--p-12);
  }
}

.recommend-intro__box {
  display: flex;
  flex-direction: column;
  gap: var(--gap-3);
  padding: var(--p-5);
  border: var(--stroke-1) solid var(--brand-blue-alpha-muted);
  border-radius: var(--rounded-2xl);
  background: var(--brand-blue-weak);
}
@media (min-width: 768px) {
  .recommend-intro__box {
    gap: var(--gap-1);
  }
}

.recommend-intro__def {
  display: flex;
  flex-direction: column;
  gap: var(--gap-1);
  margin: 0;
  font-size: var(--font-size-body-medium);
  line-height: 1.6;
}
@media (min-width: 768px) {
  .recommend-intro__def {
    flex-direction: row;
    gap: var(--gap-2);
  }
}

.recommend-intro__term {
  font-weight: var(--font-weight-semibold);
  color: var(--brand-blue-normal);
  white-space: nowrap;
}

.recommend-intro__desc {
  font-weight: var(--font-weight-medium);
  color: var(--label-muted);
}

.recommend-intro__tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap-1-5);
  list-style: none;
  font-size: var(--font-size-caption-medium);
  font-weight: var(--font-weight-regular);
  line-height: 1.6;
  color: var(--label-soft);
}
@media (min-width: 768px) {
  .recommend-intro__tags {
    font-size: var(--font-size-component-medium);
  }
}

.recommend__tabs > .tabs__panel {
  margin-top: var(--gap-3);
}
@media (min-width: 768px) {
  .recommend__tabs > .tabs__panel {
    margin-top: var(--gap-4);
  }
}

.recommend-list__grid {
  display: grid;
  gap: var(--gap-4);
  list-style: none;
}
.recommend-list__grid li .card-plan {
  width: 100%;
  max-width: none;
}
@media (min-width: 768px) {
  .recommend-list__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: var(--gap-2);
  }
}

.recommend-list__more {
  display: flex;
  justify-content: center;
  margin-top: var(--gap-4);
}
@media (min-width: 768px) {
  .recommend-list__more {
    margin-top: var(--gap-2);
  }
}
.recommend-list__more .btn-text {
  padding-block: var(--p-3);
}

.recommend-faq {
  margin-top: var(--gap-8);
}
@media (min-width: 768px) {
  .recommend-faq {
    margin-top: var(--gap-12);
  }
}
.recommend-faq .section-title + .accordion {
  margin-top: var(--gap-4);
}

.consult-apply-page .consult-apply__brand {
  font-size: var(--font-size-title-xlarge);
}
.consult-apply-page .consult-apply__lead {
  margin-top: var(--gap-2);
}
.consult-apply-page .consult-apply__form {
  margin-top: var(--gap-8);
}
@media (min-width: 768px) {
  .consult-apply-page .consult-apply__form {
    margin-top: var(--gap-12);
  }
}
.consult-apply-page .consult-apply__biz-check {
  padding-right: var(--gap-5);
}
@media (min-width: 768px) {
  .consult-apply-page .consult-apply__info {
    padding: var(--gap-5);
  }
}
@media (min-width: 768px) {
  .consult-apply-page .consult-apply .consult-apply__divider {
    margin-top: var(--gap-8);
  }
}
@media (min-width: 768px) {
  .consult-apply-page .consult-apply .consult-apply__isms {
    margin-top: var(--gap-8);
  }
}

.consult-apply__brand {
  margin-top: var(--gap-5);
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: var(--font-size-title-medium);
  font-weight: var(--font-weight-bold);
  color: var(--label-normal);
}
.consult-apply__lead {
  margin-top: var(--gap-1);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-regular);
  color: var(--label-muted);
  line-height: 1.45;
}
.consult-apply__plan {
  margin-top: var(--gap-5);
  padding: 16px 20px;
  border: 1px solid var(--border-box-ultra);
  border-radius: var(--rounded-xl);
}
.consult-apply__form {
  margin-top: var(--gap-5);
}
.consult-apply__agree {
  margin-top: var(--gap-2);
}
.consult-apply__note {
  position: relative;
  margin-top: var(--gap-2);
  padding-left: 10px;
  font-size: var(--font-size-component-xsmall);
  color: var(--label-soft);
  font-weight: 400;
  padding-top: var(--gap-2);
  border-top: 1px solid var(--border-line-muted);
}
.consult-apply__note::before {
  content: "·";
  position: absolute;
  left: 2px;
}
.consult-apply__info {
  margin-top: var(--gap-5);
  padding: var(--gap-4);
  background: var(--fill-strong);
  border-radius: var(--rounded-xl);
}
.consult-apply__info-head {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-semibold);
  color: var(--label-muted);
}
@media (min-width: 768px) {
  .consult-apply__info-head {
    font-size: var(--font-size-component-medium);
  }
}
.consult-apply__info-head .icon {
  color: var(--fill-alpha-black-normal);
}
.consult-apply__info-list {
  margin-top: var(--gap-2);
}
.consult-apply__info-list li {
  position: relative;
  padding-left: 10px;
  font-size: var(--font-size-component-xsmall);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
  line-height: 1.5;
}
@media (min-width: 768px) {
  .consult-apply__info-list li {
    font-size: var(--font-size-component-small);
  }
}
.consult-apply__info-list li + li {
  margin-top: var(--gap-1);
}
.consult-apply__info-list li::before {
  content: "·";
  position: absolute;
  left: 2px;
}
.consult-apply__divider {
  margin-top: var(--gap-8);
}
@media (min-width: 768px) {
  .consult-apply__divider {
    margin-top: var(--gap-12);
  }
}
.consult-apply__biz {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: var(--gap-5);
}
.consult-apply__biz-cell {
  flex: 1 1 auto;
  min-width: 0;
}
.consult-apply__biz-check {
  flex: 0 0 auto;
  margin: -14px 0 -14px -28px;
  padding: 14px 0 14px 28px;
}
.consult-apply__isms {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin-top: var(--gap-8);
  padding: 8px;
  background: var(--brand-skyblue-weak);
  border-radius: var(--rounded-lg);
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-medium);
  color: var(--brand-skyblue-heavy);
}
@media (min-width: 768px) {
  .consult-apply__isms {
    margin-top: var(--gap-12);
  }
}

.consult-terms-req {
  color: var(--brand-red-normal);
}

.consult-terms-note {
  position: relative;
  margin-top: var(--gap-2);
  padding-left: 10px;
  font-size: var(--font-size-component-xsmall);
  color: var(--label-soft);
}
.consult-terms-note::before {
  content: "·";
  position: absolute;
  left: 2px;
}

.consult-done__desc {
  font-size: var(--font-size-body-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-soft);
  line-height: 1.45;
}
.consult-done__time {
  margin-top: var(--gap-0-5);
  font-size: var(--font-size-caption-medium);
  color: var(--label-soft);
  font-weight: 400;
}
@media (min-width: 768px) {
  .consult-done__time {
    font-size: var(--font-size-component-medium);
  }
}
.consult-done__chip {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: var(--gap-3);
  font-size: var(--font-size-body-small);
  font-weight: var(--font-weight-medium);
  color: var(--label-soft);
}
.consult-done__chip-icon {
  flex: 0 0 auto;
}

.consult-apply-page__body {
  max-width: 624px;
  margin-inline: auto;
  padding: 32px 20px 0;
}
@media (min-width: 768px) {
  .consult-apply-page__body {
    padding: 48px 40px 0;
  }
}
.consult-apply-page__body .consult-apply__brand {
  margin-top: 0;
}
.consult-apply-page__cta {
  max-width: 624px;
  margin: var(--gap-8) auto 0;
}
@media (min-width: 768px) {
  .consult-apply-page__cta {
    margin-top: var(--gap-12);
  }
}

.consult-host {
  padding-top: 24px;
  padding-bottom: 96px;
}
.consult-host__desc {
  margin-top: var(--gap-2);
  font-size: var(--font-size-body-medium);
  color: var(--label-soft);
}
.consult-host__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: var(--gap-5);
}

body.ib-consult-page #main {
  padding-bottom: 0;
}
@media (min-width: 768px) {
  body.ib-consult-page #main {
    padding-bottom: var(--p-36);
  }
}

@media (min-width: 768px) {
  .ib-consult-guard {
    display: none;
  }
}

.ib-consult-desktop {
  display: none;
}
@media (min-width: 768px) {
  .ib-consult-desktop {
    display: block;
  }
}

.ib-consult-topbar {
  border-bottom: 1px solid var(--border-line-normal);
}
.ib-consult-topbar__brand {
  display: flex;
  align-items: center;
  gap: 8px;
  max-width: 624px;
  margin-inline: auto;
  padding: 12px 40px;
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
}

.ib-consult-col {
  max-width: 624px;
  margin-inline: auto;
  padding: 48px 40px 0;
}

.ib-consult__intro {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.ib-consult__title {
  font-size: var(--font-size-title-xlarge);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
  color: var(--label-normal);
}
.ib-consult__lead {
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-regular);
  line-height: 1.6;
  color: var(--label-muted);
}
.ib-consult__form {
  margin-top: var(--gap-12);
  display: flex;
  flex-direction: column;
  gap: var(--gap-8);
}
.ib-consult__contact {
  border: 0;
  padding: 0;
  min-width: 0;
}
.ib-consult__contact-legend {
  padding: 0 2px;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  line-height: 1.6;
  color: var(--label-normal);
}
.ib-consult__contact-req {
  margin-left: 2px;
  color: var(--brand-red-normal);
  font-weight: var(--font-weight-regular);
}
.ib-consult__contact-row {
  margin-top: 8px;
  display: flex;
  align-items: flex-end;
  gap: 8px;
}
.ib-consult__contact-carrier {
  flex: 0 0 130px;
}
.ib-consult__contact-prefix {
  flex: 0 0 130px;
}
.ib-consult__contact-number {
  flex: 1 1 auto;
  min-width: 0;
}
.ib-consult__products-field.field {
  gap: 8px;
}
.ib-consult__products {
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--gap-2);
  row-gap: var(--gap-5);
}
.ib-consult__products .radio {
  min-width: 130px;
}
.ib-consult__types {
  display: flex;
  gap: 10px;
}
.ib-consult__type-card {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--gap-3);
  padding: 20px;
  border: 1px solid var(--border-line-normal);
  border-radius: var(--rounded-2xl);
  background: var(--background-normal);
  cursor: pointer;
  transition: border-color var(--transition-base);
}
.ib-consult__type-card:has(.ib-consult__type-radio:checked) {
  border-color: var(--border-line-strong);
}
.ib-consult__type-card:has(.ib-consult__type-radio:disabled) {
  cursor: not-allowed;
  background: var(--background-strong);
}
.ib-consult__type-card:has(.ib-consult__type-radio:disabled) .ib-consult__type-title,
.ib-consult__type-card:has(.ib-consult__type-radio:disabled) .ib-consult__type-desc li {
  color: var(--label-disabled);
}
.ib-consult__type-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}
.ib-consult__type-title {
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
}
.ib-consult__type-radio {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
  border: var(--stroke-1) solid var(--border-box-strong);
  border-radius: var(--rounded-full);
  background-color: var(--fill-normal);
  cursor: inherit;
  transition: background-color var(--transition-base), border-color var(--transition-base);
}
.ib-consult__type-radio:checked {
  border-width: 6px;
  border-color: var(--border-box-ultra);
}
.ib-consult__type-radio:hover:not(:disabled):not(:checked) {
  border-color: var(--border-box-heavy);
}
.ib-consult__type-radio:focus-visible {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}
.ib-consult__type-radio:disabled {
  cursor: not-allowed;
  background-color: var(--fill-alpha-black-soft);
  border-color: var(--border-box-normal);
}
.ib-consult__type-desc {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ib-consult__type-desc li {
  position: relative;
  padding-left: 10px;
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-regular);
  line-height: 1.6;
  color: var(--label-soft);
}
.ib-consult__type-desc li::before {
  content: "·";
  position: absolute;
  left: 2px;
}
.ib-consult__memo .textarea {
  min-height: 137px;
}
.ib-consult__submit {
  margin-top: var(--gap-12);
  width: 100%;
}

.plan-discount .tabs__panel {
  margin-top: 0;
}

.plan-discount__band {
  padding-top: var(--p-8);
  padding-bottom: var(--p-18);
}
@media (min-width: 768px) {
  .plan-discount__band {
    padding-top: var(--p-12);
    padding-bottom: var(--p-36);
  }
}

.plan-discount__intro-title {
  margin: 0;
  font-size: var(--font-size-title-medium);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
  color: var(--label-normal);
}

.plan-discount__intro-desc {
  margin-top: var(--gap-1);
  font-size: var(--font-size-body-small);
  line-height: 1.6;
  color: var(--label-muted);
}
@media (min-width: 768px) {
  .plan-discount__intro-desc {
    margin-top: var(--gap-2);
  }
}

.plan-discount__grid {
  margin-top: var(--gap-6);
  display: grid;
  gap: var(--gap-4);
  list-style: none;
}
@media (min-width: 768px) {
  .plan-discount__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.plan-discount__grid > li {
  display: flex;
}
.plan-discount__grid .card-plan {
  width: 100%;
  max-width: none;
}
.plan-discount__grid .card-plan__title {
  max-width: none;
}
.plan-discount__grid .card-plan__titles {
  min-height: calc(3.2em + var(--gap-1) + var(--font-size-component-medium) * 1.6);
}
.plan-discount__grid .card-plan[data-variant=half] .card-plan__header {
  height: auto;
}

.plan-discount__mvno-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.plan-discount__mvno-list li {
  position: relative;
  padding-left: var(--gap-3);
  font-size: var(--font-size-body-medium);
  font-weight: var(--font-weight-medium);
  line-height: 1.6;
  color: var(--label-soft);
}
.plan-discount__mvno-list li::before {
  content: "·";
  position: absolute;
  left: var(--gap-1);
}
.plan-discount__mvno-list li + li {
  margin-top: var(--gap-3);
}

@media (min-width: 860px) {
  .discount-detail__shell {
    display: flex;
    align-items: flex-start;
    gap: var(--gap-24);
    max-width: 1024px;
    margin-inline: auto;
    padding-inline: var(--p-10);
  }
}

@media (min-width: 860px) {
  .discount-detail__body {
    flex: 1;
    min-width: 0;
  }
}

.discount-detail__block {
  padding-inline: var(--p-5);
}
@media (min-width: 860px) {
  .discount-detail__block {
    padding-inline: 0;
  }
}

.discount-detail__intro {
  padding-top: var(--p-5);
}
@media (min-width: 860px) {
  .discount-detail__intro {
    padding-top: var(--p-12);
  }
}

.discount-detail__title {
  margin: 0;
  font-size: var(--font-size-component-2xlarge);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
  color: var(--label-normal);
}
@media (min-width: 860px) {
  .discount-detail__title {
    font-size: var(--font-size-component-3xlarge);
  }
}

.discount-detail__title + .discount-detail__desc {
  margin-top: var(--gap-1);
}

.discount-detail__desc {
  margin: 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-regular);
  line-height: 1.6;
  color: var(--label-muted);
}

.discount-detail__price--inline {
  margin-top: var(--gap-6);
}
@media (min-width: 860px) {
  .discount-detail__price--inline {
    display: none;
  }
}

.discount-detail__price-caption {
  margin: 0;
  font-size: var(--font-size-component-xsmall);
  font-weight: var(--font-weight-medium);
  line-height: 1.6;
  color: var(--label-soft);
}

.discount-detail__price-amount {
  margin: 0;
  display: flex;
  align-items: center;
  gap: var(--gap-0-5);
}

.discount-detail__price-num {
  font-size: var(--font-size-component-3xlarge);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
  color: var(--label-normal);
}

.discount-detail__price-unit {
  font-size: var(--font-size-component-xsmall);
  font-weight: var(--font-weight-semibold);
  line-height: 1.6;
  color: var(--label-normal);
}

.discount-detail__band {
  margin-top: var(--gap-8);
}
@media (min-width: 860px) {
  .discount-detail__band {
    margin-top: var(--gap-12);
  }
}

.discount-detail__table-area,
.discount-detail__fee {
  margin-top: var(--gap-8);
}
@media (min-width: 860px) {
  .discount-detail__table-area,
  .discount-detail__fee {
    margin-top: var(--gap-12);
  }
}

.discount-detail .section-title {
  padding-left: 0;
}

.discount-detail__ph {
  background: var(--color-gray-20);
}

.discount-detail__ph--area {
  min-height: 500px;
}

.discount-detail__ph--box {
  min-height: 200px;
}

.discount-detail__table-unit {
  margin: 0;
  text-align: right;
  font-size: var(--font-size-component-xsmall);
  font-weight: var(--font-weight-regular);
  line-height: 1.6;
  color: var(--label-soft);
}

.discount-detail__table-unit + .data-table-scroll {
  margin-top: var(--gap-2);
}

.discount-detail .section-title + .data-table-scroll {
  margin-top: var(--gap-4);
}
@media (min-width: 860px) {
  .discount-detail .section-title + .data-table-scroll {
    margin-top: var(--gap-6);
  }
}

@media (min-width: 860px) {
  .discount-detail__fee-table {
    --table-bleed: 0;
  }
}

.discount-detail__benefit {
  margin-top: var(--gap-8);
}
@media (min-width: 860px) {
  .discount-detail__benefit {
    margin-top: var(--gap-12);
  }
}

@media (min-width: 860px) {
  .discount-detail__benefit + .discount-detail__benefit {
    margin-top: var(--gap-20);
  }
}

.discount-detail__benefit-eyebrow {
  margin: 0;
  font-size: var(--font-size-body-medium);
  font-weight: var(--font-weight-regular);
  line-height: 1.6;
  color: var(--label-muted);
}

.discount-detail__benefit-eyebrow + .discount-detail__benefit-title {
  margin-top: var(--gap-1);
}

.discount-detail__benefit-title {
  margin: 0;
  font-size: var(--font-size-title-small);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
  color: var(--label-normal);
}

.discount-detail__benefit-body {
  margin-top: var(--gap-4);
}
@media (min-width: 860px) {
  .discount-detail__benefit-body {
    margin-top: var(--gap-2);
  }
}

.discount-detail__benefit-desc {
  margin: var(--gap-2) 0 0;
  font-size: var(--font-size-body-medium);
  font-weight: var(--font-weight-regular);
  line-height: 1.6;
  color: var(--label-muted);
}

.discount-detail__fee-group + .discount-detail__fee-group {
  margin-top: var(--gap-6);
}
@media (min-width: 860px) {
  .discount-detail__fee-group + .discount-detail__fee-group {
    margin-top: var(--gap-7);
  }
}

.discount-detail__fee-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--gap-2);
}

.discount-detail__fee-head-title {
  margin: 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-semibold);
  line-height: 1.6;
  color: var(--label-normal);
}

.discount-detail__fee-head-caption {
  font-size: var(--font-size-component-xsmall);
  font-weight: var(--font-weight-regular);
  line-height: 1.6;
  color: var(--label-soft);
}

.discount-detail__fee-head + .data-table-scroll {
  margin-top: var(--gap-2);
}

.discount-detail__footnotes {
  margin: var(--gap-2) 0 0;
  padding: 0;
  list-style: none;
}
.discount-detail__footnotes li {
  position: relative;
  padding-left: var(--gap-3);
  font-size: var(--font-size-component-xsmall);
  font-weight: var(--font-weight-regular);
  line-height: 1.6;
  color: var(--label-soft);
}
.discount-detail__footnotes li + li {
  margin-top: var(--gap-1);
}
.discount-detail__footnotes li::before {
  content: "·";
  position: absolute;
  left: var(--gap-1);
}

.discount-detail__notes {
  margin-top: var(--gap-18);
  padding-inline: 0;
  margin-inline: var(--gap-5);
}
@media (min-width: 860px) {
  .discount-detail__notes {
    margin-top: var(--gap-20);
    margin-inline: 0;
  }
}
.discount-detail__notes .notes__list + .notes__title {
  margin-top: var(--gap-5);
}

.discount-detail__aside {
  display: none;
}
@media (min-width: 860px) {
  .discount-detail__aside {
    display: block;
    flex: 0 0 304px;
    padding-top: var(--p-12);
    position: sticky;
    top: var(--gap-5);
  }
}

.discount-detail__aside-title {
  margin: 0;
  font-size: var(--font-size-component-xlarge);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
  color: var(--label-normal);
}

.discount-detail__aside-title + .discount-detail__aside-desc {
  margin-top: var(--gap-1);
}

.discount-detail__aside-desc {
  margin: 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-regular);
  line-height: 1.6;
  color: var(--label-muted);
}

.discount-detail__price--aside {
  margin-top: var(--gap-6);
}
.discount-detail__price--aside .discount-detail__price-caption {
  font-size: var(--font-size-caption-medium);
  color: var(--label-disabled);
}
.discount-detail__price--aside .discount-detail__price-unit {
  font-size: var(--font-size-component-medium);
}

.ext-list--btv [data-value=vod] .card-plan {
  min-height: 184px;
}
.ext-list--btv [data-value=channel] .card-plan {
  min-height: 205px;
}

.ext-list--btv-cta [data-value=vod] .card-plan {
  min-height: 237px;
}
.ext-list--btv-cta [data-value=channel] .card-plan {
  min-height: 258px;
}

.ext-list--phone [data-value=call] .card-plan {
  min-height: 203px;
}

.ext-list .card-plan__heading {
  order: 1;
}

.ext-list__footnote {
  margin-top: var(--gap-4);
}
.ext-list__footnote a {
  color: var(--label-soft);
}
.ext-list__footnote li + li {
  margin-top: var(--gap-1);
}

.ext-list .tabs__panel {
  margin-top: 0;
}

.dialog[data-variant=fullscreen] .dialog__content > .overlay__panel.ext-detail-modal > .overlay__body > .overlay__body-inner {
  padding-bottom: var(--p-18);
}
@media (min-width: 768px) {
  .dialog[data-variant=fullscreen] .dialog__content > .overlay__panel.ext-detail-modal > .overlay__body > .overlay__body-inner {
    padding-bottom: var(--p-36);
  }
}

.ext-detail {
  padding-top: var(--p-5);
}
@media (min-width: 768px) {
  .ext-detail {
    padding-top: var(--p-8);
  }
}
.ext-detail > * + * {
  margin-top: var(--gap-8);
}
@media (min-width: 768px) {
  .ext-detail > * + * {
    margin-top: var(--gap-12);
  }
}

.ext-detail__name {
  margin: 0;
  font-size: var(--font-size-component-2xlarge);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
  color: var(--label-normal);
}

.ext-detail__tagline {
  margin-top: var(--gap-1);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-regular);
  line-height: 1.6;
  color: var(--label-muted);
}
@media (min-width: 768px) {
  .ext-detail__tagline br[data-break=mo] {
    display: none;
  }
}

.ext-detail__intro {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--gap-2);
}

.ext-detail__head + .ext-detail__intro {
  margin-top: var(--gap-6);
}

.ext-detail__intro-item {
  display: flex;
  align-items: center;
  gap: var(--gap-4);
  padding: var(--p-4) var(--p-5);
  border-radius: var(--rounded-2xl);
  background: var(--fill-strong);
}

.ext-detail__intro-icon {
  flex-shrink: 0;
}

.ext-detail__intro-text {
  font-size: var(--font-size-body-medium);
  font-weight: var(--font-weight-medium);
  line-height: 1.6;
  color: var(--label-normal);
}

.ext-detail__spec {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--gap-2);
}

.ext-detail__head + .ext-detail__spec {
  margin-top: var(--gap-6);
}
@media (min-width: 768px) {
  .ext-detail__head + .ext-detail__spec {
    margin-top: var(--gap-8);
  }
}

.ext-detail__spec-item {
  padding: var(--p-5);
  border-radius: var(--rounded-2xl);
  background: var(--fill-strong);
}
@media (min-width: 768px) {
  .ext-detail__spec-item {
    padding: var(--p-6);
  }
}

.ext-detail__spec-title {
  margin: 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-semibold);
  line-height: 1.6;
  color: var(--label-normal);
}
@media (min-width: 768px) {
  .ext-detail__spec-title {
    font-size: var(--font-size-component-large);
  }
}

.ext-detail__spec-list {
  margin: var(--gap-1-5) 0 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 768px) {
  .ext-detail__spec-list {
    margin-top: var(--gap-2);
  }
}
.ext-detail__spec-list li {
  position: relative;
  padding-left: var(--gap-3);
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-regular);
  line-height: 1.6;
  color: var(--label-muted);
}
@media (min-width: 768px) {
  .ext-detail__spec-list li {
    font-size: var(--font-size-component-medium);
  }
}
.ext-detail__spec-list li + li {
  margin-top: var(--gap-1);
}
.ext-detail__spec-list li::before {
  content: "·";
  position: absolute;
  left: var(--gap-1);
}

.ext-detail__divider {
  width: calc(100% + var(--p-5) + var(--scroll-bleed-end, var(--p-5)));
  margin-inline: calc(-1 * var(--p-5)) calc(-1 * var(--scroll-bleed-end, var(--p-5)));
}
@media (min-width: 768px) {
  .ext-detail__divider {
    width: 100%;
    margin-inline: 0;
  }
}

.ext-detail .section-title__heading {
  color: var(--label-normal);
}

.ext-detail__fee .section-title + .data-table-scroll,
.ext-detail__fee .section-title + .detail-table-unit {
  margin-top: var(--gap-1);
}

.ext-detail .detail-notice li + li {
  margin-top: var(--gap-1);
}

.ext-list__banners {
  display: flex;
  gap: 10px;
}
@media (min-width: 768px) {
  .ext-list__banners {
    flex-direction: row;
    margin-top: var(--gap-12);
  }
  .ext-list__banners > .banner-marketing {
    flex: 1 1 0;
  }
}
@media (max-width: 1024px) {
  .ext-list__banners {
    flex-direction: column;
    margin-top: var(--gap-8);
  }
}

.ext-detail .notes__group-title {
  font-size: var(--font-size-component-medium);
  color: var(--label-muted);
}

.gift__banners,
.gift__promo {
  padding-inline: 0;
}
@media (min-width: 768px) {
  .gift__banners,
  .gift__promo {
    padding-inline: var(--p-10);
  }
}
.gift__banners .banner-marketing,
.gift__promo .banner-marketing {
  border-radius: 0;
}
@media (min-width: 768px) {
  .gift__banners .banner-marketing,
  .gift__promo .banner-marketing {
    border-radius: var(--rounded-2xl);
  }
}

@media (min-width: 768px) {
  .gift__banners {
    padding-block: var(--p-4);
  }
}

.gift-sticky {
  position: sticky;
  background: var(--background-normal);
}
@media (min-width: 768px) {
  .gift-sticky {
    display: flex;
    flex-direction: column;
  }
  .gift-sticky > * {
    width: 100%;
  }
  .gift-sticky > .gift__tabs {
    order: -1;
  }
}

.gift__condition {
  padding-block: var(--p-5);
}
@media (min-width: 768px) {
  .gift__condition {
    padding-block: var(--p-8) var(--p-4);
  }
}

@media (min-width: 768px) {
  .gift__tabs {
    margin-top: 0;
  }
}

.gift-condition {
  padding: var(--p-4);
  border: 1px solid var(--border-line-normal);
  border-radius: var(--rounded-2xl);
  background: var(--background-normal);
}

.gift-condition__main {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--gap-3);
}

.gift-condition__info {
  min-width: 0;
}

.gift-condition__combo {
  display: flex;
  align-items: center;
  min-height: 36px;
  margin: 0;
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-semibold);
  line-height: 1.6;
  color: var(--label-normal);
}

.gift-condition__caption {
  margin-top: var(--gap-2);
  font-size: var(--font-size-component-xsmall);
  font-weight: var(--font-weight-semibold);
  line-height: 1.6;
  color: var(--label-soft);
}

.gift-condition__price {
  display: flex;
  align-items: center;
  gap: var(--gap-0-5);
}

.gift-condition__amount {
  font-size: var(--font-size-component-2xlarge);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
  color: var(--label-normal);
}

.gift-condition__unit {
  font-size: var(--font-size-component-xsmall);
  font-weight: var(--font-weight-semibold);
  line-height: 1.6;
  color: var(--label-normal);
}

.gift-condition__compact {
  display: none;
  font-size: var(--font-size-body-medium);
  font-weight: var(--font-weight-medium);
  line-height: 1.6;
  color: var(--label-soft);
}

.gift-count {
  display: flex;
  align-items: center;
  padding: var(--p-2) var(--p-3);
  margin-bottom: var(--p-3);
  border-radius: var(--rounded-lg);
  background: var(--fill-strong);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  line-height: 1.6;
  color: var(--label-muted);
}
.gift-count svg {
  margin-right: var(--gap-1);
}
@media (min-width: 768px) {
  .gift-count {
    margin-bottom: 0;
  }
}

.gift-condition .gift-count {
  margin-top: var(--gap-3);
}

.gift-sticky[data-stuck] .gift__condition {
  padding-block: var(--p-3);
}
@media (min-width: 768px) {
  .gift-sticky[data-stuck] .gift__condition {
    padding-top: var(--p-5);
    padding-bottom: 14px;
  }
}
.gift-sticky[data-stuck] .gift-condition {
  padding: 0;
  border-color: transparent;
  border-radius: 0;
}
.gift-sticky[data-stuck] .gift-condition__main {
  align-items: center;
}
.gift-sticky[data-stuck] .gift-condition__combo {
  min-height: 0;
  font-size: var(--font-size-body-medium);
}
.gift-sticky[data-stuck] .gift-condition__caption,
.gift-sticky[data-stuck] .gift-condition__price,
.gift-sticky[data-stuck] .gift-count {
  display: none;
}
@media (min-width: 768px) {
  .gift-sticky[data-stuck] .gift-condition__main > .btn {
    height: 36px;
    gap: var(--gap-0-5);
    padding: 0 var(--p-3);
    border-radius: var(--rounded-lg);
    font-size: var(--font-size-component-small);
    font-weight: var(--font-weight-medium);
  }
  .gift-sticky[data-stuck] .gift-condition__main > .btn svg:not([class*=size-]) {
    width: 12px;
    height: 12px;
  }
}
.gift-sticky[data-stuck] .gift-condition__compact {
  display: block;
  margin-top: var(--gap-1);
}

.gift-condition,
.gift__condition {
  transition: padding var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);
}

.gift__filter {
  padding-block: var(--p-3);
}
@media (min-width: 768px) {
  .gift__filter {
    padding-block: var(--p-4);
  }
}

.gift-list__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: var(--gap-1);
  row-gap: var(--gap-7);
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 768px) {
  .gift-list__grid {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    column-gap: var(--gap-4);
    row-gap: var(--gap-10);
    max-width: 1024px;
    margin-inline: auto;
    padding-inline: var(--p-10);
  }
}

.gift-card {
  border-radius: 0;
}
.gift-card .card-product__thumb {
  border: 1px solid var(--border-box-normal);
  border-radius: 0;
}
@media (min-width: 768px) {
  .gift-card .card-product__thumb {
    border-radius: var(--rounded-2xl);
  }
}
.gift-card .card-product__badge {
  top: var(--gap-3);
  left: var(--gap-3);
}
@media (min-width: 768px) {
  .gift-card .card-product__badge {
    font-size: var(--font-size-component-xsmall);
  }
}
.gift-card .card-product__section {
  padding: 0 var(--p-5);
}
@media (min-width: 768px) {
  .gift-card .card-product__section {
    padding: 0 var(--p-1);
  }
}
.gift-card .card-product__title {
  margin-top: var(--gap-3);
  font-size: var(--font-size-body-medium);
  font-weight: var(--font-weight-semibold);
}
.gift-card .card-product__price {
  gap: var(--gap-0-5);
  margin-top: var(--gap-4);
}
.gift-card .card-product__caption {
  font-size: var(--font-size-body-medium);
  font-weight: var(--font-weight-medium);
}
.gift-card .card-product__amount,
.gift-card .card-product__unit,
.gift-card .card-product__value-text {
  font-size: var(--font-size-title-small);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
}

.gift-list .plan-list__more {
  margin-top: var(--gap-7);
  padding-block: var(--p-3);
}
@media (min-width: 768px) {
  .gift-list .plan-list__more {
    margin-top: var(--gap-10);
  }
}

.gift__promo {
  margin-top: var(--gap-8);
}
@media (min-width: 768px) {
  .gift__promo {
    margin-top: var(--gap-12);
  }
}

.gift__faq {
  margin-top: var(--gap-8);
}
@media (min-width: 768px) {
  .gift__faq {
    margin-top: var(--gap-12);
  }
}
.gift__faq .section-title + .accordion {
  margin-top: var(--gap-4);
}
@media (min-width: 768px) {
  .gift__faq .section-title + .accordion {
    margin-top: var(--gap-6);
  }
}

.gift__guide {
  margin-top: var(--gap-18);
}
@media (min-width: 768px) {
  .gift__guide {
    margin-top: var(--gap-20);
  }
}

.gift-option {
  border: 0;
}
.gift-option:first-child {
  margin-top: var(--gap-5);
}

.gift-option + .gift-option,
.gift-option + .gift-count {
  margin-top: var(--gap-8);
}

.gift-option__title {
  font-size: var(--font-size-body-medium);
  font-weight: var(--font-weight-semibold);
  line-height: 1.6;
  color: var(--label-normal);
}

.gift-option__chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap-2);
  margin-top: var(--gap-3);
}

@media (min-width: 768px) {
  .gift-detail {
    margin-top: var(--gap-12);
    max-width: 544px;
    margin-inline: auto;
  }
  .gift-detail .contents {
    padding-inline: 0;
  }
  .gift-detail .tabs--bar[data-type=fill] .tabs__list {
    padding-inline: 0;
  }
  .gift-detail .detail-more {
    margin-inline: 0;
  }
  .gift-detail .detail-more .button-action__gradient {
    height: 20px;
  }
  .gift-detail .detail-more .button-action__gradient::before {
    height: 40px;
  }
  .gift-detail .detail-more .button-action__content {
    padding-inline: var(--p-5);
  }
}

@media (min-width: 768px) {
  .gift-detail__cta-bar {
    display: block;
    max-width: 624px;
    margin-inline: auto;
  }
}

.gift-detail__thumb img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 360/240;
  object-fit: cover;
}
@media (min-width: 768px) {
  .gift-detail__thumb img {
    width: 360px;
    margin-inline: auto;
  }
}

.gift-detail__head {
  margin-top: 0;
  padding-bottom: 0;
}

.gift-detail__pin {
  position: sticky;
  background: var(--background-normal);
}

.gift-detail__condition-band {
  padding-bottom: var(--p-7);
}
@media (min-width: 768px) {
  .gift-detail__condition-band {
    padding-bottom: var(--p-12);
  }
}

.gift-detail__pin[data-stuck] .gift-detail__condition-band {
  padding-bottom: var(--p-4);
}
.gift-detail__pin[data-stuck] .gift-detail__condition-label {
  display: none;
}
.gift-detail__pin[data-stuck] .gift-detail__condition-combo {
  margin-top: 0;
  font-size: var(--font-size-body-medium);
}

.gift-detail__title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-top: var(--gap-4);
}
@media (min-width: 768px) {
  .gift-detail__title {
    padding-top: 0;
  }
}

.gift-detail__model {
  padding-inline: var(--p-1);
  font-size: var(--font-size-component-xsmall);
  font-weight: var(--font-weight-regular);
  line-height: 1.6;
  color: var(--label-soft);
}

.gift-detail__name {
  margin-top: var(--gap-0-5);
  padding-inline: var(--p-1);
  font-size: var(--font-size-component-2xlarge);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
  color: var(--label-normal);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.gift-detail__condition {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--gap-3);
  margin-top: var(--gap-4);
  padding: var(--p-3) var(--p-4);
  border: 1px solid var(--border-line-normal);
  border-radius: var(--rounded-2xl);
}
@media (min-width: 768px) {
  .gift-detail__condition {
    padding: var(--p-4);
  }
}

.gift-detail__condition-label {
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-regular);
  line-height: 1.6;
  color: var(--label-muted);
}

.gift-detail__condition-combo {
  margin-top: var(--gap-0-5);
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-semibold);
  line-height: 1.6;
  color: var(--label-normal);
}

.gift-detail .detail-more .button-action__content {
  padding-bottom: var(--p-5);
}

.gift-detail .detail-notice li + li {
  margin-top: var(--gap-1);
}

.gift-detail__body {
  display: flex;
  flex-direction: column;
  padding-bottom: calc(var(--p-18) + 204px);
}
@media (min-width: 768px) {
  .gift-detail__body {
    padding-bottom: calc(var(--p-18) + 260px);
  }
}
.gift-detail__body .contents {
  margin-top: var(--gap-8);
  margin-inline: 0;
}
.gift-detail__body .contents:first-child {
  margin-top: 0;
}
@media (min-width: 768px) {
  .gift-detail__body .contents {
    margin-top: var(--gap-12);
  }
}

.gift-detail__body > #gift-info + .divider {
  margin-top: var(--gap-7);
}

.gift-benefit {
  margin-top: var(--gap-7);
  display: flex;
  flex-direction: column;
  gap: var(--gap-7);
}
@media (min-width: 768px) {
  .gift-benefit {
    margin-top: var(--gap-9);
  }
}

.gift-benefit__intro {
  padding-left: var(--gap-1);
}

.gift-benefit__intro-title {
  font-size: var(--font-size-component-2xlarge);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
  color: var(--label-normal);
}

.gift-benefit__intro-desc {
  margin-top: var(--gap-2);
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-regular);
  line-height: 1.6;
  color: var(--label-muted);
}

.gift-benefit__list {
  display: flex;
  flex-direction: column;
  gap: var(--gap-10);
  padding: var(--p-7) var(--p-5);
  border: 1px solid var(--border-box-normal);
  border-radius: var(--rounded-2xl);
}

.gift-benefit__item {
  display: flex;
  flex-direction: column;
  gap: var(--gap-4);
}

.gift-benefit__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: var(--rounded-full);
  background: var(--fill-strong);
}
.gift-benefit__icon img {
  display: block;
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.gift-benefit__title {
  margin-top: var(--gap-3);
  font-size: var(--font-size-component-xlarge);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
  color: var(--label-normal);
}

.gift-benefit__head .detail-notice {
  margin-top: var(--gap-4);
}
.gift-benefit__head .detail-notice li {
  font-size: var(--font-size-component-medium);
}

.gift-benefit__image {
  display: block;
  width: 100%;
  height: 160px;
  object-fit: cover;
}

.gift-benefit__text > :first-child {
  margin-top: 0;
}

.gift-benefit__sub-title {
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-semibold);
  line-height: 1.6;
  color: var(--label-normal);
}

.gift-benefit__body {
  margin-top: var(--gap-1);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-regular);
  line-height: 1.6;
  color: var(--label-muted);
}

.gift-benefit__note {
  margin-top: var(--gap-1);
  font-size: var(--font-size-component-xsmall);
  font-weight: var(--font-weight-regular);
  line-height: 1.6;
  color: var(--label-soft);
}

.gift-notice__table {
  margin-top: var(--gap-4);
}
@media (min-width: 768px) {
  .gift-notice__table {
    margin-top: var(--gap-6);
  }
}
.gift-notice__table .data-table[data-variant=vertical] td > .data-table__cell {
  min-width: 308px;
}

@media (min-width: 768px) {
  .gift-detail__cta .gift-detail__call {
    display: none;
  }
}

.gift-detail__cta .button-action__summary {
  padding-bottom: var(--p-6);
}
@media (min-width: 768px) {
  .gift-detail__cta .button-action__summary {
    padding-bottom: var(--p-7);
  }
}

.gift-detail__cta-charge .button-action__summary-title {
  font-weight: var(--font-weight-medium);
  color: var(--label-muted);
}
.gift-detail__cta-charge .button-action__summary-value {
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
}

.gift-detail__cta-fee .button-action__summary-value {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
}

.gift-detail__cta-divider {
  margin-block: var(--gap-3);
}

.gift-detail__cta .button-action__content > .btn:not([data-icon-only]) {
  padding-inline: var(--p-3);
}

.phone-list__chips {
  padding-block: var(--p-3);
}

.phone-list .plan-list__item > .card-plan {
  height: 100%;
}

.phone-list--normal .card-plan__title {
  min-height: 3.2em;
}

.phone-list--global .card-plan__product {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 3.2em;
}

.phone-devices,
.plan-feature {
  margin-top: var(--gap-8);
}
@media (min-width: 768px) {
  .phone-devices,
  .plan-feature {
    margin-top: var(--gap-12);
  }
}

.phone-devices__list {
  margin-top: var(--gap-4);
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gap-4);
}
@media (min-width: 768px) {
  .phone-devices__list {
    grid-template-columns: repeat(2, 1fr);
  }
}

.phone-devices__item {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--gap-4);
  padding: var(--p-5);
  border-radius: var(--rounded-2xl);
  background: var(--fill-normal);
}

.phone-devices__body {
  flex: 1;
  min-width: 0;
}

.phone-devices__name {
  appearance: none;
  border: 0;
  padding: 0;
  background: none;
  text-align: left;
  cursor: pointer;
  display: block;
  font-family: inherit;
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-semibold);
  line-height: 1.6;
  color: var(--label-normal);
  text-decoration: none;
}
.phone-devices__name::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
}
.phone-devices__name:focus-visible {
  outline: none;
}
.phone-devices__name:focus-visible::after {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}

.phone-devices__desc {
  margin-top: var(--gap-1);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-regular);
  line-height: 1.6;
  color: var(--label-muted);
}

.phone-devices__price {
  margin-top: var(--gap-3);
  display: flex;
  align-items: baseline;
  gap: var(--gap-0-5);
}

.phone-devices__amount {
  font-size: var(--font-size-component-2xlarge);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
  color: var(--label-normal);
}

.phone-devices__unit {
  font-size: var(--font-size-component-xsmall);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
}

.phone-devices__price .tooltip {
  position: relative;
  z-index: 1;
}

.phone-devices__thumb {
  flex: 0 0 auto;
  display: block;
  width: 72px;
  height: 72px;
  border-radius: var(--rounded-lg);
  overflow: hidden;
}
@media (min-width: 768px) {
  .phone-devices__thumb {
    width: 88px;
    height: 88px;
  }
}
.phone-devices__thumb > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.phone-list--global .phone-rates__foot {
  margin-top: var(--gap-4);
}

.phone-rates {
  padding-block: var(--p-8) var(--p-18);
  background: var(--background-normal);
  margin-top: var(--p-8);
}
@media (min-width: 768px) {
  .phone-rates {
    margin-top: 0;
    padding-block: var(--p-12) 0;
    background: none;
  }
}

.phone-rates__panel {
  margin-top: var(--gap-4);
}
.phone-rates__panel > :first-child {
  margin-top: 0;
}
@media (min-width: 768px) {
  .phone-rates__panel {
    margin-top: var(--gap-6);
    padding: var(--p-6);
    border-radius: var(--rounded-2xl);
    background: var(--background-normal);
  }
}

.phone-rates__group + .phone-rates__group {
  margin-top: var(--gap-16);
}
@media (min-width: 768px) {
  .phone-rates__group + .phone-rates__group {
    margin-top: var(--gap-12);
  }
}

.phone-rates__group .phone-rates__dir {
  margin-top: var(--gap-4);
}
@media (min-width: 768px) {
  .phone-rates__group .phone-rates__dir {
    margin-top: var(--gap-6);
  }
}

.phone-rates__title {
  margin-top: var(--gap-8);
  font-size: var(--font-size-title-small);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
  color: var(--label-normal);
}
@media (min-width: 768px) {
  .phone-rates__title {
    margin-top: var(--gap-6);
  }
}

.phone-rates .detail-table-unit {
  margin-top: var(--gap-4);
}
@media (min-width: 768px) {
  .phone-rates .detail-table-unit {
    margin-top: var(--gap-2);
  }
}

.phone-rates__dir-panel {
  margin-top: var(--gap-8);
}
@media (min-width: 768px) {
  .phone-rates__dir-panel {
    margin-top: var(--gap-6);
  }
}
.phone-rates__dir-panel .detail-table-unit {
  margin-top: 0;
}

.phone-rates .detail-table-unit + .data-table-scroll,
.phone-rates .detail-table-unit + div > .data-table-scroll {
  margin-top: var(--gap-2);
}

.phone-global__notes {
  background: var(--background-normal);
}
@media (min-width: 768px) {
  .phone-global__notes {
    margin-top: var(--gap-20);
    background: none;
  }
}

.phone-detail__notes {
  margin-top: var(--gap-18);
}
@media (min-width: 860px) {
  .phone-detail__notes {
    margin-top: var(--gap-20);
  }
}

.detail-section__title + .detail-fee-table-wrapper {
  margin-top: var(--gap-1);
}

.phone-detail__block + .phone-detail__block {
  margin-top: var(--gap-5);
}

.detail-section__title + .phone-detail__block {
  margin-top: var(--gap-3);
}
@media (min-width: 768px) {
  .detail-section__title + .phone-detail__block {
    margin-top: var(--gap-4);
  }
}

.phone-detail__sub-title {
  margin: 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
  line-height: 1.6;
}

.phone-detail__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.phone-detail__sub-title + .phone-detail__list {
  margin-top: var(--gap-1);
}
@media (min-width: 768px) {
  .phone-detail__sub-title + .phone-detail__list {
    margin-top: var(--gap-2);
  }
}
.detail-section__title + .phone-detail__list {
  margin-top: var(--gap-4);
}
.phone-detail__list li {
  position: relative;
  padding-left: var(--gap-3);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-regular);
  color: var(--label-muted);
  line-height: 1.6;
}
.phone-detail__list li + li {
  margin-top: var(--gap-1);
}
.phone-detail__list li::before {
  content: "·";
  position: absolute;
  left: var(--gap-1);
}

:is(.drawer__content, .dialog__content) > .overlay__panel.phone-spec-modal > .overlay__body > .overlay__body-inner {
  padding-bottom: var(--p-18);
  padding-inline: 0;
}
@media (min-width: 768px) {
  :is(.drawer__content, .dialog__content) > .overlay__panel.phone-spec-modal > .overlay__body > .overlay__body-inner {
    padding-inline: var(--gap-10);
  }
}

.phone-spec__figure {
  margin: 0;
  background: var(--fill-strong);
  aspect-ratio: 360/238;
}
.phone-spec__figure picture {
  display: block;
  height: 100%;
}
.phone-spec__figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.phone-spec__body {
  padding: var(--p-5) var(--p-5) 0;
}
@media (min-width: 768px) {
  .phone-spec__body {
    padding-inline: 0;
  }
}

.phone-spec__model {
  margin: 0;
  font-size: var(--font-size-component-xsmall);
  font-weight: var(--font-weight-medium);
  line-height: 1.6;
  color: var(--label-soft);
}

.phone-spec__name {
  margin: var(--gap-1) 0 0;
  font-size: var(--font-size-component-2xlarge);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
  color: var(--label-normal);
}

.phone-spec__desc {
  margin: var(--gap-1) 0 0;
  font-size: var(--font-size-component-medium);
  line-height: 1.6;
  color: var(--label-muted);
}

.phone-spec__manual {
  margin: var(--gap-3) 0 0;
}

.phone-spec__term {
  margin: var(--gap-6) 0 0;
  font-size: var(--font-size-component-xsmall);
  font-weight: var(--font-weight-medium);
  line-height: 1.6;
  color: var(--label-disabled);
}

.phone-spec__price {
  display: flex;
  align-items: baseline;
  margin: var(--gap-6) 0 0;
}
.phone-spec__price strong {
  font-size: var(--font-size-component-3xlarge);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
  color: var(--label-normal);
}
.phone-spec__price span {
  margin-inline-start: var(--gap-0-5);
  font-size: var(--font-size-component-xsmall);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
}

.phone-spec__term + .phone-spec__price {
  margin-top: 0;
}

.phone-spec__fees {
  margin-top: var(--gap-4);
  padding: var(--p-4) var(--p-5);
  border: var(--stroke-1) solid var(--border-line-normal);
  border-radius: var(--rounded-2xl);
  background: var(--background-normal);
}

.phone-spec__notes {
  margin-top: var(--gap-8);
}
.phone-spec__notes .notes__list + .notes__title {
  margin-top: var(--gap-5);
}

.phone-spec__sep {
  display: inline-block;
  width: var(--stroke-1);
  height: 10px;
  margin-inline: var(--gap-2);
  vertical-align: -1px;
  background: var(--border-line-normal);
}

:is(.drawer__content, .dialog__content) > .overlay__panel.intl-guide-modal > .overlay__body > .overlay__body-inner {
  padding-top: var(--p-5);
}

.intl-guide-modal .section-title__heading {
  color: var(--label-normal);
}

.intl-guide__steps {
  position: relative;
  margin-top: var(--gap-4);
  padding: var(--p-4);
  border: var(--stroke-1) solid var(--border-line-normal);
  border-radius: var(--rounded-2xl);
}

.intl-guide__step {
  padding-block: 12px;
}
.intl-guide__step .info-cell__label {
  display: flex;
  align-items: center;
  gap: var(--gap-1-5);
}

.intl-guide__num {
  flex-shrink: 0;
  display: inline-grid;
  place-items: center;
  width: 16px;
  height: 16px;
  border-radius: var(--rounded-full);
  background: var(--brand-blue-subtle);
  font-size: var(--font-size-component-2xsmall);
  font-weight: var(--font-weight-semibold);
  line-height: 1;
  color: var(--brand-blue-normal);
}

.intl-guide__steps::before {
  content: "";
  position: absolute;
  left: calc(var(--p-4) + 8px);
  top: calc(var(--p-4) + 23px);
  bottom: calc(var(--p-4) + 23px);
  border-left: var(--stroke-1) dashed var(--brand-blue-muted);
}

.intl-guide__note {
  margin-top: var(--gap-3);
}

.intl-guide__steps + .intl-guide__group-title {
  margin-top: var(--gap-5);
}

.intl-guide__extras {
  margin: var(--gap-9) 0 0;
  border-top: var(--stroke-1) solid var(--border-line-strong);
}
@media (min-width: 768px) {
  .intl-guide__extras {
    margin: var(--gap-10) 0 0;
  }
}

.intl-guide__extra {
  display: flex;
  gap: var(--gap-3);
  padding-block: var(--p-3);
}
.intl-guide__extra + .intl-guide__extra {
  border-top: var(--stroke-1) solid var(--border-line-muted);
}
.intl-guide__extra dt {
  flex: 0 0 108px;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
  line-height: 1.6;
}
.intl-guide__extra dd {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-regular);
  color: var(--label-muted);
  line-height: 1.6;
}

#intl-rate {
  scroll-margin-top: 60px;
}

/* 2026-07-31 수정 #0731-70 : 스마트 상품 찾기 스타일시트 shop.css 통합(smart-finder.css 폐지) */
.finder-body {
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
}
.finder-body main {
  display: flex;
  flex: 1;
  flex-direction: column;
}

.finder {
  display: flex;
  flex: 1;
  flex-direction: column;
}

.finder__topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 56px;
  padding: var(--p-2);
}
@media (min-width: 768px) {
  .finder__topbar {
    display: none;
  }
}

.finder__topbar-icon {
  position: relative;
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border: var(--stroke-1) solid transparent;
  background: transparent;
  background-clip: padding-box;
  font-family: inherit;
  white-space: nowrap;
  text-decoration: none;
  user-select: none;
  outline: none;
  cursor: pointer;
  transition: background-color var(--transition-base), border-color var(--transition-base), color var(--transition-base);
}
.finder__topbar-icon svg {
  pointer-events: none;
  flex-shrink: 0;
}
.finder__topbar-icon::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--fill-hyper);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-base);
}
@media (hover: hover) {
  .finder__topbar-icon:hover::before {
    opacity: 0.0375;
  }
}
.finder__topbar-icon:active::before {
  opacity: 0.09;
}
.finder__topbar-icon:focus-visible {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}
.finder__topbar-icon {
  width: 40px;
  height: 40px;
  border-radius: var(--rounded-lg);
  color: var(--label-normal);
}

.finder__topbar-trailing {
  display: flex;
  align-items: center;
  padding-right: var(--p-2);
}

.finder__container {
  width: 100%;
  padding: var(--p-5) var(--p-5) 0;
}
@media (min-width: 768px) {
  .finder__container {
    width: 464px;
    margin-inline: auto;
    padding: var(--p-20) 0 0;
  }
}
@media (min-width: 768px) {
  .finder__container[data-wide] {
    width: min(1024px, 100%);
    padding: var(--p-20) var(--p-10) 0;
  }
}

.finder__head {
  padding: 0 var(--p-1);
}

.finder__progress {
  margin: 0;
  color: var(--brand-blue-normal);
  font-size: var(--font-size-body-medium);
  font-weight: var(--font-weight-semibold);
  line-height: 1.6;
}
.finder__progress[data-placeholder] {
  visibility: hidden;
}

.finder__title {
  margin: 0;
  color: var(--label-normal);
  font-size: var(--font-size-title-xlarge);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
}

.finder__progress + .finder__title {
  margin-top: var(--gap-1);
}
@media (min-width: 768px) {
  .finder__progress + .finder__title {
    margin-top: var(--gap-2);
  }
}

.finder-options {
  display: flex;
  flex-direction: column;
  gap: var(--gap-2);
  margin: var(--gap-6) 0 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 768px) {
  .finder-options {
    margin-top: var(--gap-8);
  }
}

.finder-option__control {
  position: relative;
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border: var(--stroke-1) solid transparent;
  background: transparent;
  background-clip: padding-box;
  font-family: inherit;
  white-space: nowrap;
  text-decoration: none;
  user-select: none;
  outline: none;
  cursor: pointer;
  transition: background-color var(--transition-base), border-color var(--transition-base), color var(--transition-base);
}
.finder-option__control svg {
  pointer-events: none;
  flex-shrink: 0;
}
.finder-option__control::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--fill-hyper);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-base);
}
@media (hover: hover) {
  .finder-option__control:hover::before {
    opacity: 0.0375;
  }
}
.finder-option__control:active::before {
  opacity: 0.09;
}
.finder-option__control:focus-visible {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}
.finder-option__control {
  justify-content: flex-start;
  gap: var(--gap-4);
  width: 100%;
  height: 80px;
  padding: 0 var(--p-5);
  border-radius: var(--rounded-2xl);
  background: var(--fill-normal);
  color: var(--label-normal);
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-medium);
  line-height: 1.6;
  white-space: normal;
  text-align: left;
}

.finder-option__icon {
  flex-shrink: 0;
}

.finder__bottom {
  display: flex;
  justify-content: center;
  margin: auto 0 0;
  padding: var(--p-6) var(--p-5) var(--p-10);
}
@media (min-width: 768px) {
  .finder__bottom {
    padding-bottom: var(--p-12);
  }
}

.finder-wifi-options {
  display: flex;
  flex-direction: column;
  gap: var(--gap-2);
}
.finder-wifi-options .btn {
  width: 100%;
}

.finder-wifi-question + .finder-wifi-options {
  margin-top: var(--gap-6);
}

.finder-loading-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--background-strong);
}
.finder-loading-overlay:focus-visible {
  outline: none;
}

.finder-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 60px;
}
@media (min-width: 768px) {
  .finder-loading {
    margin-top: 0;
  }
}
.finder-loading-overlay .finder-loading {
  margin-top: 0;
}

.finder-loading__title {
  margin: var(--gap-6) 0 0;
  color: var(--label-normal);
  font-size: var(--font-size-title-xlarge);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
  text-align: center;
}

.finder-loading__answers {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  gap: var(--gap-3);
  margin: var(--gap-8) 0 0;
  padding: 0;
  list-style: none;
}

.finder-loading__chip {
  --finder-chip-pitch: 50px;
  display: flex;
  align-items: center;
  gap: var(--gap-1);
  padding: var(--p-2) var(--p-4);
  border-radius: var(--rounded-lg);
  background: var(--fill-normal);
  color: var(--label-normal);
  /* 2026-07-24 수정 #0724-31 : finder-loading__chip PC 폰트 body-large(18)→body-medium(16) */
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  line-height: 1.6;
}
@media (min-width: 768px) {
  .finder-loading__chip {
    --finder-chip-pitch: 55px;
    font-size: var(--font-size-body-medium);
  }
}

.finder-loading__chip:where(:nth-child(1):nth-last-child(2)) {
  animation: finder-answer-fade-1 5s cubic-bezier(0.25, 1, 0.5, 1) both, finder-answer-slide-2-1 5s cubic-bezier(0.25, 1, 0.5, 1) both, finder-answer-pop-1 5s cubic-bezier(0.34, 1.2, 0.64, 1) both;
}

.finder-loading__chip:where(:nth-child(2):nth-last-child(1)) {
  animation: finder-answer-fade-2 5s cubic-bezier(0.25, 1, 0.5, 1) both, finder-answer-slide-2-2 5s cubic-bezier(0.25, 1, 0.5, 1) both, finder-answer-pop-2 5s cubic-bezier(0.34, 1.2, 0.64, 1) both;
}

.finder-loading__chip:where(:nth-child(1):nth-last-child(4)) {
  animation: finder-answer-fade-1 5s cubic-bezier(0.25, 1, 0.5, 1) both, finder-answer-slide-4-1 5s cubic-bezier(0.25, 1, 0.5, 1) both, finder-answer-pop-1 5s cubic-bezier(0.34, 1.2, 0.64, 1) both;
}

.finder-loading__chip:where(:nth-child(2):nth-last-child(3)) {
  animation: finder-answer-fade-2 5s cubic-bezier(0.25, 1, 0.5, 1) both, finder-answer-slide-4-2 5s cubic-bezier(0.25, 1, 0.5, 1) both, finder-answer-pop-2 5s cubic-bezier(0.34, 1.2, 0.64, 1) both;
}

.finder-loading__chip:where(:nth-child(3):nth-last-child(2)) {
  animation: finder-answer-fade-3 5s cubic-bezier(0.25, 1, 0.5, 1) both, finder-answer-slide-4-3 5s cubic-bezier(0.25, 1, 0.5, 1) both, finder-answer-pop-3 5s cubic-bezier(0.34, 1.2, 0.64, 1) both;
}

.finder-loading__chip:where(:nth-child(4):nth-last-child(1)) {
  animation: finder-answer-fade-4 5s cubic-bezier(0.25, 1, 0.5, 1) both, finder-answer-slide-4-4 5s cubic-bezier(0.25, 1, 0.5, 1) both, finder-answer-pop-4 5s cubic-bezier(0.34, 1.2, 0.64, 1) both;
}

@keyframes finder-answer-fade-1 {
  0% {
    opacity: 0;
  }
  6% {
    opacity: 1;
  }
}
@keyframes finder-answer-pop-1 {
  0% {
    scale: 0.85;
  }
  10% {
    scale: 1;
  }
}
@keyframes finder-answer-fade-2 {
  0%, 18% {
    opacity: 0;
  }
  24% {
    opacity: 1;
  }
}
@keyframes finder-answer-pop-2 {
  0%, 18% {
    scale: 0.85;
  }
  28% {
    scale: 1;
  }
}
@keyframes finder-answer-fade-3 {
  0%, 36% {
    opacity: 0;
  }
  42% {
    opacity: 1;
  }
}
@keyframes finder-answer-pop-3 {
  0%, 36% {
    scale: 0.85;
  }
  46% {
    scale: 1;
  }
}
@keyframes finder-answer-fade-4 {
  0%, 54% {
    opacity: 0;
  }
  60% {
    opacity: 1;
  }
}
@keyframes finder-answer-pop-4 {
  0%, 54% {
    scale: 0.85;
  }
  64% {
    scale: 1;
  }
}
@keyframes finder-answer-slide-2-1 {
  0% {
    translate: 0 calc(var(--finder-chip-pitch) * -1 - 20px);
  }
  10%, 18% {
    translate: 0 calc(var(--finder-chip-pitch) * -1);
  }
  29% {
    translate: 0 0;
  }
}
@keyframes finder-answer-slide-2-2 {
  0%, 18% {
    translate: 0 -20px;
  }
  28% {
    translate: 0 0;
  }
}
@keyframes finder-answer-slide-4-1 {
  0% {
    translate: 0 calc(var(--finder-chip-pitch) * -3 - 20px);
  }
  10%, 18% {
    translate: 0 calc(var(--finder-chip-pitch) * -3);
  }
  29%, 36% {
    translate: 0 calc(var(--finder-chip-pitch) * -2);
  }
  47%, 54% {
    translate: 0 calc(var(--finder-chip-pitch) * -1);
  }
  65% {
    translate: 0 0;
  }
}
@keyframes finder-answer-slide-4-2 {
  0%, 18% {
    translate: 0 calc(var(--finder-chip-pitch) * -2 - 20px);
  }
  28%, 36% {
    translate: 0 calc(var(--finder-chip-pitch) * -2);
  }
  47%, 54% {
    translate: 0 calc(var(--finder-chip-pitch) * -1);
  }
  65% {
    translate: 0 0;
  }
}
@keyframes finder-answer-slide-4-3 {
  0%, 36% {
    translate: 0 calc(var(--finder-chip-pitch) * -1 - 20px);
  }
  46%, 54% {
    translate: 0 calc(var(--finder-chip-pitch) * -1);
  }
  65% {
    translate: 0 0;
  }
}
@keyframes finder-answer-slide-4-4 {
  0%, 54% {
    translate: 0 -20px;
  }
  64% {
    translate: 0 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .finder-loading__chip {
    animation: none;
  }
}
/* 2026-07-16 수정 #0716-1 : finder--result 배경(그라데이션·글로우)을 fixed 전체 화면 레이어 finder-result__bg 로 분리 */
.finder-result__bg {
  position: fixed;
  z-index: -1;
  inset: 0;
  overflow: hidden;
  background: linear-gradient(180deg, #fff 0%, #fafafc 20%, #f3f2f7 80%);
  pointer-events: none;
}
.finder-result__bg::before {
  content: "";
  position: absolute;
  top: calc(135px + 56px + env(safe-area-inset-top, 0px));
  left: 50%;
  width: 508px;
  height: 510px;
  translate: -50% 0;
  border-radius: 50%;
  background: conic-gradient(#003ce3 11%, #c94bdc 47%, #28bb30 83%, #003ce3);
  filter: blur(100px);
  --glow-opacity: 0.2;
  opacity: var(--glow-opacity);
  pointer-events: none;
  animation: finder-glow-spin 4s linear infinite, finder-glow-pulse 4s var(--ease-in-out) infinite;
}
@media (min-width: 768px) {
  .finder-result__bg::before {
    top: 50%;
    width: 1200px;
    height: 1200px;
    translate: -50% -50%;
    filter: blur(60px);
    --glow-opacity: 0.08;
  }
}

.finder--result .finder__container {
  padding-bottom: var(--p-12);
}
@media (min-width: 768px) {
  .finder--result .finder__container {
    padding-bottom: var(--p-20);
  }
}

.finder-result__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding: 0 var(--p-1);
}
.finder-result__head .finder__title:focus-visible {
  outline: none;
}

.finder-result__retry {
  display: none;
}
@media (min-width: 768px) {
  .finder-result__retry {
    display: inline-flex;
  }
}

.finder-result__carousel {
  margin-top: var(--gap-6);
  --carousel-slide-size: calc(
    min(320px, 100vw - var(--carousel-gap-mo, var(--gap-5)) * 2) + var(--carousel-gap-mo, var(--gap-5))
  );
}
.finder-result__carousel .card-plan {
  height: 100%;
}
.finder-result__carousel {
  /* 2026-07-16 수정 #0716-9 : finder--result 결과 캐러셀 carousel__dots margin-top 확대 */
}
.finder-result__carousel .carousel__dots {
  margin-top: var(--gap-4);
}
@media (min-width: 768px) {
  .finder-result__carousel {
    margin-top: var(--gap-8);
    --carousel-slide-size: calc(100% / 3);
  }
}

@keyframes finder-glow-spin {
  to {
    rotate: 1turn;
  }
}
@keyframes finder-glow-pulse {
  50% {
    opacity: calc(var(--glow-opacity) * 1.75);
  }
}
@media (prefers-reduced-motion: reduce) {
  .finder-result__bg::before {
    animation: none;
  }
}
.finder-result__more {
  display: flex;
  justify-content: center;
  margin: var(--gap-12) 0 0;
}
@media (min-width: 768px) {
  .finder-result__more {
    margin-top: var(--gap-18);
  }
}

.sb-main {
  padding-bottom: var(--p-18);
}
@media (min-width: 768px) {
  .sb-main {
    padding-bottom: var(--p-36);
  }
}

@media (min-width: 768px) {
  .sb-main br[data-break=mo] {
    display: none;
  }
}

.sb-hero {
  padding-top: var(--p-5);
}
@media (min-width: 768px) {
  .sb-hero {
    padding-top: var(--p-12);
  }
}

.sb-toss__sub,
.sb-biz__sub {
  margin-top: var(--p-1);
  padding-left: var(--p-1);
  color: var(--label-muted);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-regular);
  line-height: 1.6;
}
@media (min-width: 768px) {
  .sb-toss__sub,
  .sb-biz__sub {
    margin-top: var(--p-1-5);
  }
}

.sb-quick {
  margin-top: var(--p-5);
}
@media (min-width: 768px) {
  .sb-quick {
    margin-top: var(--p-8);
  }
}

.sb-quick__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 104px));
  justify-content: center;
  list-style: none;
  margin-inline: calc(var(--p-3) - var(--p-5));
}
@media (min-width: 768px) {
  .sb-quick__list {
    grid-template-columns: repeat(7, minmax(0, 104px));
    margin-inline: 0;
  }
}

.sb-band {
  margin-top: var(--p-5);
}
@media (min-width: 768px) {
  .sb-band {
    display: none;
  }
}

.sb-toss {
  margin-top: var(--p-12);
}
@media (min-width: 768px) {
  .sb-toss {
    margin-top: var(--p-16);
  }
}

.sb-toss__groups {
  margin-top: var(--p-6);
  display: flex;
  flex-direction: column;
  gap: var(--gap-5);
}
@media (min-width: 1024px) {
  .sb-toss__groups {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--gap-8);
  }
}

.sb-toss__heading {
  display: flex;
  align-items: center;
  gap: var(--gap-1);
  padding-inline: var(--p-1);
  color: var(--label-normal);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-semibold);
  line-height: 1.6;
}

.sb-toss__heading-icon {
  flex-shrink: 0;
}

.sb-toss__cards {
  margin-top: var(--gap-3);
  gap: var(--gap-2);
  width: calc(100% + var(--p-5) + var(--scroll-bleed-end, var(--p-5)));
  margin-inline: calc(-1 * var(--p-5)) calc(-1 * var(--scroll-bleed-end, var(--p-5)));
  padding-inline: var(--p-5) var(--scroll-bleed-end, var(--p-5));
  scroll-padding-inline: var(--p-5) var(--scroll-bleed-end, var(--p-5));
  margin-bottom: calc(-1 * var(--scrollbar-size));
}
@media (min-width: 768px) {
  .sb-toss__cards {
    width: 100%;
    margin-inline: 0;
    padding-inline: 0;
    scroll-padding-inline: 0;
  }
}

.card-scroll > .sb-toss__card {
  flex: 0 0 211px;
  scroll-snap-align: start;
}
@media (min-width: 768px) {
  .card-scroll > .sb-toss__card {
    flex-basis: 224px;
  }
}

.sb-toss__card {
  display: flex;
  flex-direction: column;
  height: 236px;
  padding: var(--p-5) 0 var(--p-5);
  border-radius: var(--rounded-2xl);
}
.sb-toss__card[data-tone=yellow] {
  background: var(--brand-yellow-subtle);
}
.sb-toss__card[data-tone=red] {
  background: var(--brand-red-weak);
}
.sb-toss__card[data-tone=skyblue] {
  background: var(--brand-skyblue-subtle);
}
.sb-toss__card[data-tone=blue] {
  background: var(--brand-blue-subtle);
}

.sb-toss__card-icon {
  margin-inline: var(--p-4);
  flex-shrink: 0;
}

.sb-toss__card-body {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: var(--gap-2);
  padding-inline: var(--p-5);
}

.sb-toss__card-sub {
  color: var(--label-muted);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  line-height: 1.6;
}

.sb-toss__card-title {
  color: var(--label-normal);
  font-size: var(--font-size-component-3xlarge);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
}

.sb-cta-card {
  margin-top: var(--p-6);
  display: flex;
  align-items: center;
  gap: var(--gap-2);
  padding: var(--p-4) var(--p-5);
  border-radius: var(--rounded-2xl);
  background: var(--fill-alpha-black-soft);
}
.sb-cta-card--inverse {
  background: var(--fill-alpha-white-soft);
}
.sb-cta-card--inverse .sb-cta-card__text {
  color: var(--label-inverse-normal);
}

.sb-cta-card__text {
  flex: 1 1 auto;
  min-width: 0;
  color: var(--label-normal);
  font-size: var(--font-size-body-medium);
  font-weight: var(--font-weight-medium);
  line-height: 1.6;
}

.sb-place {
  margin-top: var(--p-12);
  padding-block: var(--p-12);
  background: var(--fill-alpha-black-heavy);
}
@media (min-width: 768px) {
  .sb-place {
    margin-top: var(--p-16);
    padding-block: var(--p-16);
  }
}

.sb-place__title :is(h2, h3) {
  color: var(--label-inverse-normal);
}

.sb-place__cards {
  margin-top: var(--p-6);
  gap: var(--gap-2);
  width: calc(100% + var(--p-5) + var(--scroll-bleed-end, var(--p-5)));
  margin-inline: calc(-1 * var(--p-5)) calc(-1 * var(--scroll-bleed-end, var(--p-5)));
  padding-inline: var(--p-5) var(--scroll-bleed-end, var(--p-5));
  scroll-padding-inline: var(--p-5) var(--scroll-bleed-end, var(--p-5));
}
@media (min-width: 768px) {
  .sb-place__cards {
    width: calc(100% + var(--p-10) + var(--scroll-bleed-end, var(--p-10)));
    margin-inline: calc(-1 * var(--p-10)) calc(-1 * var(--scroll-bleed-end, var(--p-10)));
    padding-inline: var(--p-10) var(--scroll-bleed-end, var(--p-10));
    scroll-padding-inline: var(--p-10) var(--scroll-bleed-end, var(--p-10));
  }
}
.sb-place__cards {
  margin-bottom: calc(-1 * var(--scrollbar-size));
}
@media (min-width: 768px) {
  .sb-place__cards {
    gap: var(--gap-4);
  }
}

.card-scroll > .sb-place__card {
  flex: 0 0 320px;
  scroll-snap-align: start;
}
@media (min-width: 768px) {
  .card-scroll > .sb-place__card {
    flex-basis: 304px;
  }
}

.sb-place__card {
  position: relative;
  overflow: hidden;
  height: 400px;
  border-radius: var(--rounded-2xl);
}
@media (min-width: 768px) {
  .sb-place__card {
    height: 380px;
  }
}

.sb-place__card-head {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: var(--gap-2);
  padding: var(--p-6) var(--p-6) 0;
}
@media (min-width: 768px) {
  .sb-place__card-head {
    padding: var(--p-7) var(--p-7) 0;
  }
}

.sb-place__card-label {
  color: var(--label-soft);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  line-height: 1.6;
}

.sb-place__card-title {
  color: var(--label-normal);
  font-size: var(--font-size-component-3xlarge);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
}

.sb-place__card-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sb-pkg {
  margin-top: var(--p-12);
}
@media (min-width: 768px) {
  .sb-pkg {
    margin-top: var(--p-16);
  }
}

.sb-pkg__list {
  margin-top: var(--p-6);
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap-2);
}

.sb-pkg__item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--gap-1);
  flex: 0 0 calc((100% - var(--gap-2) * 2) / 3);
  min-width: 0;
  padding: var(--p-4) var(--p-5);
  border-radius: var(--rounded-lg);
  background: var(--fill-strong);
}
@media (min-width: 768px) {
  .sb-pkg__item {
    flex: 1 1 0;
  }
}
@media (min-width: 768px) {
  .sb-pkg__item > .icon {
    width: 40px;
    height: 40px;
  }
}

.sb-pkg__label {
  color: var(--label-normal);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  line-height: 1.6;
  white-space: nowrap;
}

.sb-pkg__plus {
  position: absolute;
  top: 50%;
  right: -16px;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: var(--rounded-full);
  background: var(--fill-normal);
  color: var(--label-normal);
  transform: translateY(-50%);
}
.sb-pkg__plus[data-pc-only=true] {
  display: none;
}
@media (min-width: 768px) {
  .sb-pkg__plus[data-pc-only=true] {
    display: flex;
  }
}

.sb-pkg__note {
  margin-top: var(--gap-2);
  padding-left: var(--gap-3);
  position: relative;
  color: var(--label-soft);
  font-size: var(--font-size-component-xsmall);
  font-weight: var(--font-weight-regular);
  line-height: 1.6;
}
.sb-pkg__note::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 0.8em;
  width: 2px;
  height: 2px;
  border-radius: var(--rounded-full);
  background: currentcolor;
}

.result-list {
  display: grid;
  gap: var(--gap-4);
}
.result-list__cell {
  display: flex;
}
.result-list__cell > * {
  width: 100%;
}
.result-list--plan {
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .result-list--plan {
    display: flex;
    grid-template-columns: none;
    width: calc(100% + var(--p-10) + var(--scroll-bleed-end, var(--p-10)));
    margin-inline: calc(-1 * var(--p-10)) calc(-1 * var(--scroll-bleed-end, var(--p-10)));
    padding-inline: var(--p-10) var(--scroll-bleed-end, var(--p-10));
    scroll-padding-inline: var(--p-10) var(--scroll-bleed-end, var(--p-10));
    overflow-x: scroll;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    margin-bottom: calc(-1 * var(--scrollbar-size));
  }
}
@media (min-width: 768px) and (hover: hover) {
  @supports not selector(::-webkit-scrollbar-thumb) {
    .result-list--plan {
      scrollbar-width: thin;
      scrollbar-color: var(--fill-alpha-black-muted) transparent;
    }
  }
  .result-list--plan::-webkit-scrollbar {
    width: 9px;
    height: 9px;
  }
  .result-list--plan::-webkit-scrollbar-track {
    background: transparent;
    margin: 3px 0;
  }
  .result-list--plan::-webkit-scrollbar-thumb {
    border: 3px solid transparent;
    background-clip: padding-box;
    border-radius: var(--rounded-full);
    background-color: transparent;
  }
  .result-list--plan:hover {
    outline: 1px solid transparent;
  }
  .result-list--plan:hover::-webkit-scrollbar-thumb {
    background-color: var(--fill-alpha-black-normal);
  }
}
@media (min-width: 768px) {
  .result-list--plan > .result-list__cell {
    flex: 0 0 304px;
    scroll-snap-align: start;
  }
}

.result-list--plan .card-plan {
  width: 100%;
  max-width: none;
  border: var(--stroke-1) solid var(--border-line-normal);
}

.sb-dream {
  margin-top: var(--p-12);
}
@media (min-width: 768px) {
  .sb-dream {
    margin-top: var(--p-16);
  }
}

.sb-dream__cards,
.sb-biz__cards,
.sb-reco__cards {
  margin-top: var(--p-6);
}

.sb-biz__cards .card-plan[data-variant=half] .card-plan__header {
  height: auto;
}

.sb-dream__cards .card-plan[data-compact] .card-plan__header {
  padding-top: var(--gap-4);
}

.sb-cover {
  margin-top: var(--p-12);
}
@media (min-width: 768px) {
  .sb-cover {
    margin-top: var(--p-16);
  }
}

.sb-cover__card {
  margin-top: var(--p-6);
  border: var(--stroke-1) solid var(--border-line-normal);
  border-radius: var(--rounded-2xl);
  background: var(--fill-normal);
}

.sb-cover__combo-wrap {
  padding: var(--gap-3) var(--gap-3) var(--gap-1);
}

.sb-cover__combo {
  position: relative;
  display: flex;
  align-items: center;
  padding: var(--p-6) var(--p-2) var(--p-4);
  border-radius: var(--rounded-lg);
  background: var(--brand-blue-weak);
}

.sb-cover__combo-badge {
  position: absolute;
  top: -7px;
  right: var(--gap-3);
}

.sb-cover__combo-item {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--gap-1);
}
@media (min-width: 768px) {
  .sb-cover__combo-item > .icon {
    width: 40px;
    height: 40px;
  }
}

.sb-cover__combo-label {
  max-width: 100%;
  overflow: hidden;
  color: var(--label-normal);
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-medium);
  line-height: 1.6;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sb-cover__combo-plus {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: var(--rounded-full);
  background: var(--fill-normal);
  color: var(--label-normal);
}

.sb-cover__body {
  padding: var(--p-4) var(--p-5) var(--p-5);
}
@media (min-width: 768px) {
  .sb-cover__body {
    display: flex;
    align-items: flex-start;
    padding: var(--p-5) var(--p-6);
  }
}

@media (min-width: 768px) {
  .sb-cover__item {
    flex: 1 1 0;
    min-width: 0;
  }
}

.sb-cover__item-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--gap-2);
  color: var(--label-normal);
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-semibold);
  line-height: 1.6;
}
@media (min-width: 768px) {
  .sb-cover__item-title {
    justify-content: flex-start;
  }
}

.sb-cover__bullets {
  margin-top: var(--gap-2);
}
@media (min-width: 768px) {
  .sb-cover__bullets {
    margin-top: var(--gap-3);
  }
}
.sb-cover__bullets li {
  position: relative;
  padding-left: var(--gap-3);
  color: var(--label-soft);
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-regular);
  line-height: 1.6;
}
.sb-cover__bullets li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 0.8em;
  width: 2px;
  height: 2px;
  border-radius: var(--rounded-full);
  background: currentcolor;
}
.sb-cover__bullets li + li {
  margin-top: var(--gap-1);
}

.sb-cover__divider {
  margin: var(--p-4) 0;
  border: 0;
  border-top: var(--stroke-1) solid var(--border-line-muted);
}
@media (min-width: 768px) {
  .sb-cover__divider {
    align-self: stretch;
    margin: 0 var(--p-5);
    border-top: 0;
    border-left: var(--stroke-1) solid var(--border-line-muted);
  }
}

.sb-biz {
  margin-top: var(--p-12);
}
@media (min-width: 768px) {
  .sb-biz {
    margin-top: var(--p-16);
  }
}

.sb-reco {
  margin-top: var(--p-12);
}
@media (min-width: 768px) {
  .sb-reco {
    margin-top: var(--p-16);
  }
}

.sb-reco__card {
  display: flex;
  flex-direction: column;
  min-height: 341px;
  border: var(--stroke-1) solid var(--border-line-normal);
  border-radius: var(--rounded-2xl);
  background: var(--fill-normal);
}

.sb-reco__body {
  flex: 1 1 auto;
  padding: var(--p-5) var(--p-5) var(--p-6);
}
.sb-reco__body .badge {
  width: fit-content;
}

.sb-reco__title {
  margin-top: var(--gap-2);
  color: var(--label-normal);
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-semibold);
  line-height: 1.6;
}
@media (min-width: 768px) {
  .sb-reco__title {
    margin-top: var(--gap-3);
  }
}

.sb-reco__points {
  margin-top: var(--p-6);
  display: flex;
  flex-direction: column;
  gap: var(--gap-2);
}

.sb-reco__point {
  display: flex;
  align-items: center;
  gap: var(--gap-1-5);
  color: var(--label-normal);
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-medium);
  line-height: 1.6;
}

.sb-reco__btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 13px 0;
  border: 0;
  border-top: var(--stroke-1) solid var(--border-line-normal);
  border-radius: 0 0 var(--rounded-2xl) var(--rounded-2xl);
  background: transparent;
  color: var(--label-normal);
  font: inherit;
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-semibold);
  cursor: pointer;
  overflow: hidden;
}
.sb-reco__btn::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--fill-hyper);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-base);
}
@media (hover: hover) {
  .sb-reco__btn:hover::before {
    opacity: 0.0375;
  }
}
.sb-reco__btn:active::before {
  opacity: 0.09;
}
.sb-reco__btn:focus-visible {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}

.sb-plans-banner .banner-marketing {
  margin-inline: calc(-1 * var(--p-5));
  border-radius: 0;
}
@media (min-width: 768px) {
  .sb-plans-banner .banner-marketing {
    margin-inline: 0;
    border-radius: var(--rounded-2xl);
  }
}
@media (min-width: 768px) {
  .sb-plans-banner {
    margin-top: var(--p-8);
  }
}

.sb-plans-chips {
  margin-block: 0;
}
@media (min-width: 768px) {
  .sb-plans-chips {
    margin-top: var(--p-2);
  }
}

.sbp-list .plan-list__more {
  padding-block: var(--gap-3);
  margin-top: var(--gap-2);
}
.sbp-list .card-plan[data-compact] .card-plan__title {
  max-width: 215px;
}

.sb-plans-note {
  margin-top: var(--p-3);
}
@media (min-width: 768px) {
  .sb-plans-note {
    margin-top: var(--p-4);
  }
}

.sb-plans-menus {
  margin-top: var(--p-8);
}
@media (min-width: 768px) {
  .sb-plans-menus {
    margin-top: var(--p-12);
  }
}

.sb-plans-menus__list {
  margin: var(--p-4) 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: var(--gap-2);
}
@media (min-width: 768px) {
  .sb-plans-menus__list {
    margin-top: var(--p-6);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--gap-4);
  }
}

.sb-addon-card {
  margin-top: var(--p-4);
  display: flex;
  align-items: center;
  gap: var(--gap-4);
  padding: var(--p-5);
  border: var(--stroke-1) solid var(--border-line-normal);
  border-radius: var(--rounded-2xl);
  background: var(--fill-normal);
}
@media (min-width: 860px) {
  .sb-addon-card {
    padding-block: var(--p-7);
  }
}

.sb-addon-card__body {
  flex: 1 1 auto;
  min-width: 0;
}

.sb-addon-card__title {
  display: block;
  color: var(--label-normal);
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-semibold);
  line-height: 1.6;
}

.sb-addon-card__sub {
  margin-top: var(--p-1);
  color: var(--label-muted);
  font-size: var(--font-size-component-medium);
  line-height: 1.6;
}

.sb-addon-card__price {
  margin-top: var(--p-3);
  display: flex;
  align-items: center;
  gap: var(--gap-0-5);
  color: var(--label-normal);
}
.sb-addon-card__price strong {
  font-size: var(--font-size-component-2xlarge);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
}
.sb-addon-card__price span {
  font-size: var(--font-size-component-xsmall);
  font-weight: var(--font-weight-semibold);
  line-height: 1.6;
}

.sb-addon-card__icon {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
}

.sb-detail-divider {
  margin-top: var(--gap-3);
}
@media (min-width: 860px) {
  .sb-detail-divider {
    margin-top: var(--gap-4);
  }
}
.sb-detail-divider + .detail-section .detail-section__sub {
  margin-top: var(--gap-8);
}

.sb-detail-banner {
  margin-top: var(--p-8);
  padding-inline: var(--p-5);
}
@media (min-width: 860px) {
  .sb-detail-banner {
    margin-top: var(--p-12);
    padding-inline: 0;
  }
  .sb-detail-banner .banner-marketing {
    border-radius: var(--rounded-2xl);
  }
}

@media (min-width: 768px) {
  .sb-care-title br[data-break=mo] {
    display: none;
  }
}

.detail-section__sub + .sb-care-table {
  margin-top: var(--p-3);
}

.detail-notice + .sb-refund-table {
  margin-top: var(--p-3);
}

.sbs {
  padding-top: var(--p-5);
}
@media (min-width: 768px) {
  .sbs {
    padding-top: var(--p-12);
  }
}

@media (min-width: 768px) {
  .sbs br[data-break=mo] {
    display: none;
  }
}

.sbs__title {
  margin: 0;
  color: var(--label-normal);
  font-size: var(--font-size-title-xlarge);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
}

.sbs__devices {
  margin-top: var(--p-8);
}
@media (min-width: 768px) {
  .sbs__devices {
    margin-top: var(--p-12);
  }
}

.card-scroll > .sbs-device {
  flex: 0 0 320px;
  scroll-snap-align: start;
}
@media (min-width: 768px) {
  .card-scroll > .sbs-device {
    flex-basis: 304px;
  }
}

.sbs-device {
  position: relative;
  overflow: hidden;
  height: 400px;
  border-radius: var(--rounded-2xl);
}
@media (min-width: 768px) {
  .sbs-device {
    height: 380px;
  }
}

.sbs-device__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sbs-device__head {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: var(--gap-2);
  padding: var(--p-6) var(--p-6) 0;
}
@media (min-width: 768px) {
  .sbs-device__head {
    padding: var(--p-7) var(--p-7) 0;
  }
}

.sbs-device__label {
  color: var(--label-soft);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  line-height: 1.6;
}

.sbs-device__title {
  color: var(--label-normal);
  font-size: var(--font-size-component-3xlarge);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
}

.sbs-combo {
  margin-top: var(--p-12);
}
@media (min-width: 768px) {
  .sbs-combo {
    margin-top: var(--p-16);
  }
}

.sbs-combo__card {
  margin-top: var(--p-6);
  padding: var(--p-5);
  border: var(--stroke-1) solid var(--border-line-normal);
  border-radius: var(--rounded-2xl);
  background: var(--fill-normal);
}
.sbs-combo__card:focus-visible {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}
@media (min-width: 768px) {
  .sbs-combo__card {
    display: flex;
    align-items: stretch;
    padding: var(--p-6) 0 var(--p-6) var(--p-6);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (min-width: 768px) and (hover: hover) {
  @supports not selector(::-webkit-scrollbar-thumb) {
    .sbs-combo__card {
      scrollbar-width: thin;
      scrollbar-color: var(--fill-alpha-black-muted) transparent;
    }
  }
  .sbs-combo__card::-webkit-scrollbar {
    width: 9px;
    height: 9px;
  }
  .sbs-combo__card::-webkit-scrollbar-track {
    background: transparent;
  }
  .sbs-combo__card::-webkit-scrollbar-thumb {
    border: 3px solid transparent;
    background-clip: padding-box;
    border-radius: var(--rounded-full);
    background-color: transparent;
  }
  .sbs-combo__card:hover {
    outline: 1px solid transparent;
  }
  .sbs-combo__card:hover::-webkit-scrollbar-thumb {
    background-color: var(--fill-alpha-black-normal);
  }
}
@media (min-width: 768px) {
  .sbs-combo__card::after {
    content: "";
    flex: 0 0 var(--p-5);
  }
}

.sbs-combo__divider {
  margin: var(--p-6) 0;
  border: 0;
  border-top: var(--stroke-1) solid var(--border-line-normal);
}
@media (min-width: 768px) {
  .sbs-combo__divider {
    margin: 0 var(--p-5);
    border-top: 0;
    border-left: var(--stroke-1) solid var(--border-line-normal);
    flex-shrink: 0;
  }
}

.sbs-combo__industry {
  display: flex;
  align-items: center;
  gap: var(--gap-1);
  color: var(--label-normal);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-semibold);
  line-height: 1.6;
}
.sbs-combo__industry .icon {
  flex-shrink: 0;
}

@media (min-width: 768px) {
  .sbs-combo__group {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
  }
}

.sbs-combo__cases {
  margin-top: var(--p-4);
  display: flex;
  flex-direction: column;
  gap: var(--gap-5);
}
@media (min-width: 768px) {
  .sbs-combo__cases {
    flex: 1;
    flex-direction: row;
    gap: var(--gap-4);
  }
}

@media (min-width: 768px) {
  .sbs-combo-case {
    display: flex;
    flex-direction: column;
    width: 280px;
  }
}

.sbs-combo-case__img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--rounded-xl);
}

.sbs-combo-case > .badge {
  margin-top: var(--p-3);
  width: fit-content;
}
@media (min-width: 768px) {
  .sbs-combo-case > .badge {
    margin-top: var(--p-4);
  }
}

.sbs-combo-case__name {
  margin-top: var(--p-2);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  line-height: 1.6;
}
@media (min-width: 768px) {
  .sbs-combo-case__name {
    flex: 1 0 auto;
  }
}

.sbs-combo-case__price {
  margin-top: var(--p-1);
  display: flex;
  align-items: baseline;
  gap: var(--gap-1);
  color: var(--label-normal);
}
.sbs-combo-case__price strong {
  font-size: var(--font-size-component-2xlarge);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
}
@media (min-width: 768px) {
  .sbs-combo-case__price strong {
    font-size: var(--font-size-component-large);
  }
}
.sbs-combo-case__price[data-free] strong {
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-semibold);
  line-height: 1.6;
}

.sbs-combo-case__price-prefix {
  font-size: var(--font-size-component-xsmall);
  font-weight: var(--font-weight-semibold);
  line-height: 1.6;
}

.sbs-combo-case__price-unit {
  font-size: var(--font-size-component-xsmall);
  font-weight: var(--font-weight-semibold);
  line-height: 1.6;
}

.sbs-combo__note {
  margin-top: var(--p-2);
}

.sbs-features {
  margin-top: var(--p-12);
}
@media (min-width: 768px) {
  .sbs-features {
    margin-top: var(--p-16);
  }
}

.sbs-features__sub {
  margin-top: var(--p-1);
  padding-left: var(--p-1);
  color: var(--label-muted);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-regular);
  line-height: 1.6;
}

.sbs-features__intros {
  margin-top: var(--p-6);
  display: flex;
  flex-direction: column;
  gap: var(--gap-5);
}
@media (min-width: 768px) {
  .sbs-features__intros {
    gap: var(--gap-4);
  }
}

@media (min-width: 768px) {
  .sbs-feature {
    display: flex;
    align-items: center;
    gap: var(--p-12);
  }
}

.sbs-feature__img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--rounded-2xl);
}
@media (min-width: 768px) {
  .sbs-feature__img {
    width: 448px;
    flex-shrink: 0;
  }
}

.sbs-feature__body {
  margin-top: var(--p-3);
}
@media (min-width: 768px) {
  .sbs-feature__body {
    margin-top: 0;
    flex: 1 1 auto;
    min-width: 0;
  }
}

.sbs-feature__title {
  display: block;
  color: var(--label-normal);
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-semibold);
  line-height: 1.6;
}

.sbs-feature__desc {
  margin-top: var(--gap-0-5);
  color: var(--label-soft);
  font-size: var(--font-size-component-medium);
  line-height: 1.6;
}

.sbs-features__cards {
  margin-top: var(--p-6);
  padding: 0;
  list-style: none;
  display: grid;
  gap: var(--gap-2);
}
@media (min-width: 768px) {
  .sbs-features__cards {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.sbs-card {
  display: flex;
  align-items: center;
  gap: var(--gap-4);
  padding: var(--p-5);
  border: var(--stroke-1) solid var(--border-line-normal);
  border-radius: var(--rounded-2xl);
  background: var(--fill-normal);
}
@media (min-width: 768px) {
  .sbs-card {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--gap-5);
    padding: var(--p-6);
  }
}

.sbs-card__icon {
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .sbs-card__icon {
    width: 48px;
    height: 48px;
  }
}

.sbs-card__body {
  flex: 1 1 auto;
  min-width: 0;
}

.sbs-card__title {
  display: block;
  color: var(--label-normal);
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-semibold);
  line-height: 1.6;
}

.sbs-card__points {
  margin: var(--p-2) 0 0;
  padding: 0;
  list-style: none;
}
.sbs-card__points li {
  position: relative;
  padding-left: var(--gap-3);
  color: var(--label-soft);
  font-size: var(--font-size-component-xsmall);
  line-height: 1.6;
}
.sbs-card__points li::before {
  content: "·";
  position: absolute;
  left: var(--gap-1);
}
.sbs-card__points li + li {
  margin-top: var(--gap-1);
}

.sbs-cta .btn {
  flex-shrink: 0;
}

.sbo {
  padding-top: var(--p-5);
  padding-bottom: var(--p-18);
}
@media (min-width: 768px) {
  .sbo {
    padding-top: var(--p-12);
    padding-bottom: var(--p-36);
  }
}

@media (min-width: 768px) {
  .sbo br[data-break=mo] {
    display: none;
  }
}

.sbo__cards {
  margin-top: var(--p-4);
  display: flex;
  flex-direction: column;
  gap: var(--gap-4);
}
@media (min-width: 768px) {
  .sbo__cards {
    margin-top: var(--p-6);
  }
}

.sbo-card {
  display: flex;
  flex-direction: column;
  gap: var(--gap-4);
  padding: var(--p-5);
  border-radius: var(--rounded-2xl);
  background: var(--fill-normal);
}
@media (min-width: 768px) {
  .sbo-card {
    padding: var(--p-6);
  }
}

.sbo-card__head {
  display: grid;
  grid-template-areas: "icon badge" "text text";
  grid-template-columns: auto 1fr;
  row-gap: var(--gap-3);
  align-items: center;
}
@media (min-width: 768px) {
  .sbo-card__head {
    grid-template-areas: "icon text badge";
    grid-template-columns: auto 1fr auto;
    column-gap: var(--gap-5);
    align-items: start;
  }
}

.sbo-card__icon {
  grid-area: icon;
}
@media (min-width: 768px) {
  .sbo-card__icon {
    width: 48px;
    height: 48px;
  }
}

.sbo-card__badge {
  grid-area: badge;
  justify-self: end;
}
@media (min-width: 768px) {
  .sbo-card__badge {
    margin-top: 3px;
  }
}

.sbo-card__text {
  grid-area: text;
  display: flex;
  flex-direction: column;
  gap: var(--gap-1);
}
@media (min-width: 768px) {
  .sbo-card__text {
    gap: var(--gap-0-5);
  }
}

.sbo-card__title {
  color: var(--label-normal);
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-semibold);
  line-height: 1.6;
}

.sbo-card__desc {
  color: var(--label-soft);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-regular);
  line-height: 1.6;
}

.sbo-card__divider {
  margin: 0;
  border: 0;
  border-top: var(--stroke-1) solid var(--border-line-muted);
}

.sbo-card__points {
  display: flex;
  flex-direction: column;
  gap: var(--gap-1);
  padding: 0;
  list-style: none;
}
.sbo-card__points li {
  position: relative;
  padding-left: var(--gap-3);
  color: var(--label-soft);
  font-size: var(--font-size-component-small);
  line-height: 1.6;
}
.sbo-card__points li::before {
  content: "·";
  position: absolute;
  left: var(--gap-1);
}

body.sb-svc-page {
  background: var(--background-strong);
}

.sb-svc {
  padding-top: var(--p-8);
}
@media (min-width: 768px) {
  .sb-svc {
    padding-top: var(--p-12);
  }
}

.sb-svc br[data-break=pc] {
  display: none;
}
@media (min-width: 768px) {
  .sb-svc br[data-break=pc] {
    display: inline;
  }
}

.sb-svc__title {
  color: var(--label-normal);
  font-size: var(--font-size-title-xlarge);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
}

.sb-svc__sub {
  margin-top: var(--p-1);
  color: var(--label-muted);
  font-size: var(--font-size-body-medium);
  line-height: 1.6;
}
@media (min-width: 768px) {
  .sb-svc__sub {
    margin-top: var(--p-2);
  }
}

.sb-svc__features {
  margin-top: var(--p-8);
  display: flex;
  flex-direction: column;
  gap: var(--gap-8);
}
@media (min-width: 768px) {
  .sb-svc__features {
    margin-top: var(--p-12);
  }
}

.sb-svc-feature {
  display: flex;
  flex-direction: column;
  gap: var(--gap-3);
}
@media (min-width: 768px) {
  .sb-svc-feature {
    flex-direction: row;
    align-items: center;
    gap: var(--gap-12);
  }
  .sb-svc-feature[data-reverse] {
    flex-direction: row-reverse;
  }
}

.sb-svc-feature__img {
  width: 100%;
  height: auto;
  border-radius: var(--rounded-2xl);
}
@media (min-width: 768px) {
  .sb-svc-feature__img {
    width: 464px;
    flex-shrink: 0;
  }
}

@media (min-width: 768px) {
  .sb-svc-feature__body {
    flex: 1;
    min-width: 0;
  }
}

.sb-svc-feature__title {
  color: var(--label-normal);
  font-size: var(--font-size-title-small);
  font-weight: var(--font-weight-semibold);
  line-height: 1.4;
}
@media (min-width: 768px) {
  .sb-svc-feature__title {
    font-size: var(--font-size-title-medium);
  }
}

.sb-svc-feature__desc {
  margin-top: var(--p-1);
  color: var(--label-muted);
  font-size: var(--font-size-component-medium);
  line-height: 1.6;
}

.sb-svc-feature__note {
  margin-top: var(--p-2);
  font-size: var(--font-size-component-xsmall);
}
@media (min-width: 768px) {
  .sb-svc-feature__note {
    margin-top: var(--p-3);
  }
}

.sb-svc__manage {
  display: none;
}
@media (min-width: 768px) {
  .sb-svc__manage {
    margin-top: var(--p-8);
    display: flex;
    justify-content: center;
  }
}

.sb-svc__manage-note {
  margin-top: var(--p-6);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--gap-1);
  padding: var(--p-3);
  border-radius: var(--rounded-lg);
  background: var(--fill-heavy);
  color: var(--label-soft);
  font-size: var(--font-size-caption-medium);
  font-weight: var(--font-weight-medium);
}
.sb-svc__manage-note .icon {
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .sb-svc__manage-note {
    display: none;
  }
}

.sb-svc-reco {
  margin-top: var(--p-6);
  padding-top: var(--p-6);
  padding-bottom: var(--p-18);
}
@media (min-width: 768px) {
  .sb-svc-reco {
    margin-top: var(--p-10);
    padding-bottom: var(--p-36);
  }
}

.sb-svc-reco__cards {
  margin-top: var(--p-6);
  display: flex;
  flex-direction: column;
  gap: var(--gap-2);
}
@media (min-width: 768px) {
  .sb-svc-reco__cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
  }
}

.sb-svc-reco br[data-break=pc] {
  display: none;
}
@media (min-width: 768px) {
  .sb-svc-reco br[data-break=pc] {
    display: inline;
  }
}

@media (min-width: 768px) {
  .sb-svc-reco br[data-break=mo] {
    display: none;
  }
}

.sb-svc-card {
  display: flex;
  align-items: center;
  gap: var(--gap-4);
  padding: var(--p-4) var(--p-5);
  border-radius: var(--rounded-2xl);
  background: var(--fill-normal);
}
@media (min-width: 768px) {
  .sb-svc-card {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--gap-10);
    padding: var(--p-6);
  }
}

.sb-svc-card__icon {
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .sb-svc-card__icon {
    width: 48px;
    height: 48px;
  }
}

.sb-svc-card__title {
  color: var(--label-normal);
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-semibold);
  line-height: 1.6;
}

.sb-svc-card__desc {
  margin-top: var(--gap-0-5);
  color: var(--label-soft);
  font-size: var(--font-size-component-medium);
  line-height: 1.6;
}

.sb-svc-reco__more {
  padding: var(--p-3) 0;
  margin-top: var(--p-2);
  display: flex;
  justify-content: center;
}
.sb-svc-reco__more > .btn-text[data-pc-size=large] {
  font-weight: var(--font-weight-medium);
}

.sb-svc-center {
  position: relative;
  overflow: hidden;
  margin-top: var(--p-12);
  padding: var(--p-5);
  border-radius: var(--rounded-2xl);
  background: var(--brand-skyblue-subtle);
}
@media (min-width: 768px) {
  .sb-svc-center {
    display: flex;
    justify-content: center;
    margin-top: var(--p-16);
    padding: 0;
  }
}

@media (min-width: 768px) {
  .sb-svc-center__inner {
    display: flex;
    align-items: center;
    gap: var(--gap-3);
    width: 400px;
  }
}

.sb-svc-center__body {
  padding-right: 112px;
}
@media (min-width: 768px) {
  .sb-svc-center__body {
    flex: 1 1 auto;
    min-width: 0;
    padding-right: 0;
  }
}

.sb-svc-center__label {
  color: var(--label-normal);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-semibold);
  line-height: 1.6;
}

.sb-svc-center__tel {
  color: var(--label-normal);
  font-size: var(--font-size-component-3xlarge);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
}
.sb-svc-center__tel a {
  color: inherit;
  text-decoration: none;
}
.sb-svc-center__tel a::after {
  content: "";
  position: absolute;
  inset: 0;
}
.sb-svc-center__tel a:focus-visible {
  outline: none;
}
.sb-svc-center__tel a:focus-visible::after {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: calc(-1 * var(--stroke-3));
  border-radius: var(--rounded-2xl);
}
.sb-svc-center__tel a:active {
  background: transparent;
}
.sb-svc-center__tel a:active::after {
  background: var(--fill-hyper);
  opacity: 0.09;
  border-radius: var(--rounded-2xl);
}

.sb-svc-center__info {
  margin-top: var(--p-2);
  display: flex;
  align-items: flex-start;
  gap: var(--gap-1);
  color: var(--label-muted);
  font-size: var(--font-size-component-xsmall);
  line-height: 1.6;
}
.sb-svc-center__info .icon {
  flex-shrink: 0;
  width: 12px;
  height: 12px;
  margin-top: 3.5px;
}
@media (min-width: 768px) {
  .sb-svc-center__info .icon {
    width: 16px;
    height: 16px;
    margin-top: 1.5px;
  }
}

.sb-svc-center__img {
  position: absolute;
  top: 0;
  right: 0;
  width: 131px;
  height: 131px;
}
@media (min-width: 768px) {
  .sb-svc-center__img {
    position: static;
    flex-shrink: 0;
    width: 112px;
    height: 112px;
  }
}

.shop-main {
  padding-bottom: var(--p-28);
}
@media (min-width: 768px) {
  .shop-main {
    padding-bottom: var(--p-36);
  }
}

.shop-section {
  margin-top: var(--gap-12);
}
@media (min-width: 768px) {
  .shop-section {
    margin-top: var(--gap-16);
  }
}
.shop-section .card-scroll {
  width: calc(100% + var(--p-5) + var(--scroll-bleed-end, var(--p-5)));
  margin-inline: calc(-1 * var(--p-5)) calc(-1 * var(--scroll-bleed-end, var(--p-5)));
  padding-inline: var(--p-5) var(--scroll-bleed-end, var(--p-5));
  scroll-padding-inline: var(--p-5) var(--scroll-bleed-end, var(--p-5));
}
@media (min-width: 768px) {
  .shop-section .card-scroll {
    width: calc(100% + var(--p-10) + var(--scroll-bleed-end, var(--p-10)));
    margin-inline: calc(-1 * var(--p-10)) calc(-1 * var(--scroll-bleed-end, var(--p-10)));
    padding-inline: var(--p-10) var(--scroll-bleed-end, var(--p-10));
    scroll-padding-inline: var(--p-10) var(--scroll-bleed-end, var(--p-10));
  }
}
.shop-section .tabs__panel {
  margin-top: var(--gap-2);
}
.shop-section .tabs > :where(.tabs__strip) {
  margin-inline: calc(-1 * var(--p-5));
}
@media (min-width: 768px) {
  .shop-section .tabs > :where(.tabs__strip) {
    margin-inline: calc(-1 * var(--p-10));
  }
}
.shop-section {
  /* 2026-07-24 수정 #0724-25 : 가로 스크롤 섹션 스크롤바 채널 상쇄 — 다음 섹션 margin-top 차감에서 자기 margin-bottom 흡수로 전환 */
}
.shop-section:has(.card-scroll) {
  margin-bottom: calc(-1 * var(--scrollbar-size));
}

.shop-header-title {
  padding-inline: var(--p-3);
  border-radius: var(--rounded-md);
  font-size: var(--font-size-component-3xlarge);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
  color: var(--label-normal);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.shop-header-title:focus-visible {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}

.header__region--end {
  padding: var(--p-2) var(--p-3);
}

.shop-header-call {
  display: inline-flex;
  align-items: center;
  gap: var(--gap-1);
  padding: var(--p-1) var(--p-2);
  border-radius: var(--rounded-lg);
  background: var(--brand-blue-subtle);
  color: var(--brand-blue-normal);
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-semibold);
  line-height: 1.6;
  text-decoration: none;
}
.shop-header-call:focus-visible {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}

/* 2026-07-16 수정 #0716-13 : shop-header 상담 연락처를 시간대 3케이스(주간·야간 전화/심야 챗봇) 서버분기로 전환 */
.shop-header-chatbot {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--p-1);
  border-radius: var(--rounded-lg);
  color: var(--label-normal);
}
.shop-header-chatbot:focus-visible {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}
.shop-header-chatbot::after {
  content: "";
  position: absolute;
  inset: -6px;
}

.shop-ph {
  display: block;
  background: var(--color-gray-20);
  border-radius: var(--rounded-lg);
}

.shop-section .section-title + *:not(.tabs) {
  margin-top: var(--gap-4);
}
@media (min-width: 768px) {
  .shop-section .section-title + *:not(.tabs) {
    margin-top: var(--gap-6);
  }
}

.shop-section .section-title + .tabs {
  margin-top: var(--gap-1);
}
@media (min-width: 768px) {
  .shop-section .section-title + .tabs {
    margin-top: var(--gap-2);
  }
}

.shop-hero {
  padding-top: var(--p-2);
}
@media (min-width: 768px) {
  .shop-hero {
    padding-top: var(--p-6);
  }
}

.shop-hero__carousel {
  --shop-hero-banner-max: 480px;
}
.shop-hero__carousel .carousel__number.carousel__ind--mobile {
  bottom: var(--gap-5);
}
.shop-hero__carousel[data-bleed].carousel .carousel__number.carousel__ind--mobile[data-mo-pos=left] {
  inset-inline-start: calc(var(--gap-5) + var(--carousel-px-mo, 0px) + max(0px, (100% - var(--carousel-px-mo, 0px) * 2 - var(--shop-hero-banner-max)) / 2));
}
@media (min-width: 768px) {
  .shop-hero__carousel {
    --carousel-slide-size: 50%;
  }
  .shop-hero__carousel .carousel__progress-row {
    max-width: 314px;
    margin-inline: auto;
    margin-top: var(--gap-4);
  }
}

.shop-hero__slide {
  display: flex;
}

.hero-banner {
  position: relative;
  display: block;
  width: 100%;
  max-width: var(--shop-hero-banner-max);
  margin: 0 auto;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: var(--rounded-2xl);
  text-decoration: none;
}
.hero-banner__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-banner {
  /* 2026-07-31 수정 #0731-69 시작 : hero-banner 하단 딤 그라디언트 추가·레이어 정리 */
}
.hero-banner::before {
  content: "";
  position: absolute;
  inset: 48% 0 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%);
}
.hero-banner__body {
  position: absolute;
  z-index: 1;
  inset: auto var(--p-5) calc(var(--gap-5) + 23px + var(--gap-3));
  display: flex;
  flex-direction: column;
  gap: var(--gap-1);
}
@media (min-width: 768px) {
  .hero-banner__body {
    inset-inline-start: var(--p-8);
    inset-block-end: 44px;
    gap: var(--gap-1-5);
  }
}
.hero-banner__title {
  color: var(--color-gray-00);
  font-size: var(--font-size-component-xlarge);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
}
@media (min-width: 768px) {
  .hero-banner__title {
    font-size: var(--font-size-component-3xlarge);
  }
}
.hero-banner__desc {
  color: var(--color-alpha-white-80);
  font-size: var(--font-size-component-medium);
  line-height: 1.6;
}
@media (min-width: 768px) {
  .hero-banner__desc {
    font-size: var(--font-size-component-large);
  }
}
.hero-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: var(--color-alpha-black-0);
  transition: background var(--duration-fast);
}
.hero-banner {
  /* #0731-69 끝 */
}
.hero-banner:focus-visible {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}

.shop-cats {
  margin-top: var(--gap-5);
}
@media (min-width: 768px) {
  .shop-cats {
    margin-top: var(--gap-8);
  }
}

.shop-cats__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 104px));
  justify-content: center;
  list-style: none;
}
@media (min-width: 768px) {
  .shop-cats__list {
    grid-template-columns: repeat(8, minmax(0, 104px));
  }
}

.shop-cats__item:nth-child(n+5) {
  display: none;
}
@media (min-width: 768px) {
  .shop-cats__item:nth-child(n+5) {
    display: revert;
  }
}

.cat-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 84px;
  padding: 0 var(--p-1);
  border-radius: var(--rounded-xl);
  text-align: center;
  color: var(--label-muted);
  /* 2026-07-24 수정 #0724-52 : cat-link 아이콘 래퍼(__icon 오버레이)·뱃지(__badge) 규칙 삭제 — 이미지(img) 구조 전환 */
}
.cat-link__label {
  margin-top: var(--gap-1);
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-medium);
  line-height: 1.6;
  white-space: nowrap;
}
.cat-link:focus-visible {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}

.cond-row {
  display: flex;
  gap: var(--gap-2);
  list-style: none;
}
.cond-row .cond-row__item {
  flex: 1;
}
@media (min-width: 768px) {
  .cond-row {
    gap: var(--gap-4);
  }
}

.cond-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--gap-4);
  padding: var(--p-5);
  border-radius: var(--rounded-2xl);
  text-decoration: none;
  width: 100%;
  border: 0;
  background: none;
  text-align: left;
  cursor: pointer;
}
@media (min-width: 768px) {
  .cond-card {
    flex-direction: row;
  }
}
.cond-card[data-tone=sky] {
  background: var(--brand-skyblue-subtle);
}
.cond-card[data-tone=sky] .cond-card__icon .icon {
  color: var(--brand-skyblue-normal);
}
.cond-card[data-tone=amber] {
  background: var(--brand-yellow-subtle);
}
.cond-card[data-tone=amber] .cond-card__icon .icon {
  color: var(--brand-yellow-normal);
}
.cond-card__icon {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
}
.cond-card__body {
  display: flex;
  flex-direction: column;
  gap: var(--gap-1);
}
.cond-card__title {
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
}
.cond-card__desc {
  font-size: var(--font-size-component-xsmall);
  color: var(--label-muted);
  line-height: 1.6;
}
.cond-card:focus-visible {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}

.card-scroll > .review-card {
  flex: 0 0 320px;
}
@media (min-width: 768px) {
  .card-scroll > .review-card {
    flex: 0 0 304px;
  }
}

.review-card {
  display: flex;
  flex-direction: column;
  padding: var(--p-5);
  border-radius: var(--rounded-2xl);
  background: var(--background-normal);
}
.review-card__thumbs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gap-0-5);
}
.review-card__thumbs .shop-ph {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}
.review-card__thumbs .shop-ph:first-child {
  border-radius: var(--rounded-lg) 0 0 var(--rounded-lg);
}
.review-card__thumbs .shop-ph:last-child {
  border-radius: 0 var(--rounded-lg) var(--rounded-lg) 0;
}
.review-card__text {
  margin-top: var(--gap-3);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 135px;
}
.review-card__title {
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-semibold);
  line-height: 1.6;
  color: var(--label-normal);
}
.review-card__body {
  margin-top: var(--gap-0-5);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-regular);
  line-height: 1.6;
  color: var(--label-soft);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.review-card__meta {
  display: flex;
  align-items: center;
  gap: var(--gap-2);
}
.review-card__meta .badge {
  font-size: var(--font-size-component-2xsmall);
}
.review-card__name {
  font-size: var(--font-size-body-small);
  color: var(--label-soft);
}

.status-ticker__head .section-title__more {
  display: none;
}
@media (min-width: 768px) {
  .status-ticker__head .section-title__more {
    display: inline-flex;
  }
}

.status-ticker__more {
  width: 100%;
  margin-top: var(--p-3);
}
@media (min-width: 768px) {
  .status-ticker__more {
    display: none;
  }
}

.status-ticker__playchip {
  position: relative;
  appearance: none;
  border: 0;
  outline: none;
  display: inline-flex;
  align-items: center;
  gap: var(--gap-0-5);
  padding: var(--p-1-5) var(--p-3);
  border-radius: var(--rounded-full);
  background: var(--fill-alpha-black-soft);
  font-family: inherit;
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-medium);
  line-height: 1.6;
  color: var(--label-muted);
  white-space: nowrap;
  cursor: pointer;
}
.status-ticker__playchip::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--fill-hyper);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-base);
}
@media (hover: hover) {
  .status-ticker__playchip:hover::before {
    opacity: 0.0375;
  }
}
.status-ticker__playchip:active::before {
  opacity: 0.09;
}
.status-ticker__playchip:focus-visible {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}
.status-ticker__playchip::after {
  content: "";
  position: absolute;
  inset-block: -6px;
  inset-inline: 0;
}

.status-ticker__playchip-label,
.status-ticker__playchip .status-ticker__pp-icon {
  display: none;
}

.status-ticker__playchip[data-playing=true] :is(.status-ticker__playchip-label--pause, .status-ticker__pp-icon--pause),
.status-ticker__playchip[data-playing=false] :is(.status-ticker__playchip-label--play, .status-ticker__pp-icon--play) {
  display: block;
}

.section-title + .status-ticker {
  margin-top: var(--gap-6);
}

.status-ticker {
  list-style: none;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--gap-2);
}
.status-ticker > :nth-child(n+4) {
  display: none;
}
@media (min-width: 768px) {
  .status-ticker {
    grid-auto-flow: column;
    grid-template-rows: repeat(3, auto);
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .status-ticker > :nth-child(n+4) {
    display: flex;
  }
}

.status-row {
  display: flex;
  align-items: center;
  gap: var(--gap-2);
  padding: var(--gap-4) var(--p-5);
  border-radius: var(--rounded-2xl);
  background: var(--background-normal);
}
@media (min-width: 768px) {
  .status-row {
    padding: var(--gap-5) var(--p-6);
  }
}
.status-row__body {
  position: relative;
  flex: 1;
  min-width: 0;
}
.status-row__window {
  overflow: hidden;
  height: calc(var(--font-size-component-large) * 1.4);
}
.status-row__current {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  overflow: hidden;
  color: transparent;
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
}
.status-row__reel {
  list-style: none;
}
.status-row__reel.is-rolling {
  transition: transform var(--duration-slow) var(--ease-in-out);
}
.status-row__entry {
  display: flex;
  align-items: center;
  gap: var(--gap-4);
  height: calc(var(--font-size-component-large) * 1.4);
}
.status-row__text {
  flex: 1;
  min-width: 0;
  font-size: var(--font-size-title-small);
  font-weight: var(--font-weight-semibold);
  line-height: 1.4;
  color: var(--label-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.status-row__time {
  flex-shrink: 0;
  font-size: var(--font-size-body-small);
  line-height: 1.6;
  color: var(--label-soft);
  text-align: right;
}
@media (min-width: 768px) {
  .status-row__time {
    min-width: 60px;
  }
}

.consult-status {
  list-style: none;
  margin: 0;
  padding: var(--p-2) 0 0;
}
@media (min-width: 768px) {
  .consult-status {
    padding-top: var(--p-3);
  }
}
.consult-status__row {
  display: flex;
  align-items: center;
  gap: var(--gap-2);
  padding: var(--p-4) 0;
  border-bottom: var(--stroke-1) solid var(--border-line-normal);
}
@media (min-width: 768px) {
  .consult-status__row {
    padding-block: var(--gap-5);
  }
}
.consult-status__name {
  flex: 1;
  min-width: 0;
  font-size: var(--font-size-title-small);
  font-weight: var(--font-weight-semibold);
  line-height: 1.4;
  color: var(--label-muted);
  word-break: break-word;
}
.consult-status__time {
  flex-shrink: 0;
  width: 54px;
  font-size: var(--font-size-body-small);
  font-weight: var(--font-weight-regular);
  line-height: 1.6;
  color: var(--label-soft);
  text-align: right;
}
@media (min-width: 768px) {
  .consult-status__time {
    width: 60px;
  }
}