@charset "utf-8";

/* ============================================================
   [NB2024-12343] 슈즈위크 기초 스타일 (공유 bf2026_common.css의 .bf 기초를 .sw로 이식)
   - vw 단위 사용법: 80px => calc(80 * var(--vw));
   ============================================================ */
.sw { --vw: 0.625px; color: #151415; } /* 1920px 기준 */
@media screen and (min-width: 1200px) {
  .sw { --vw: 0.052083333vw; }
}
.sw *,
.sw *::before,
.sw *::after {
  box-sizing: border-box;
}
/* reset */
.sw img,
.sw video {
  display: block;
  width: 100%;
  max-width: 100%;
  vertical-align: top;
}
.sw video {
  outline: none;
  border: 0;
  -webkit-mask-image: -webkit-radial-gradient(white, black);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
}
.sw figure {
  margin: 0;
  padding: 0;
}
/* icon */
.sw [class*='ico--'] {
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
.sw .ico--nb {
  width: calc(36 * var(--vw));
  height: calc(18 * var(--vw));
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='18' viewBox='0 0 36 18' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M18.2488 6.35515L19.92 3.33637L25.5805 2.96073L25.7775 2.59533L20.5438 2.21628L21.7685 0.00341499H31.4774C34.4619 0.00341499 36.6683 1.11326 35.8147 4.37792C35.5553 5.36824 34.3404 7.85771 30.7846 8.89926C31.5398 8.99488 33.4211 9.85885 33.0961 12.1059C32.5215 16.0911 27.5603 17.9898 24.7991 17.9898L13.3402 17.9966L12.7722 15.6881L18.7774 15.251L18.981 14.8856L12.4701 14.4724L11.7675 11.7405L21.0331 11.177L21.2333 10.815L4.59011 9.72225L5.38796 8.28116L23.3051 7.07228L23.5054 6.7103L18.2554 6.35515M25.7447 6.95276L27.3995 6.9391C28.5027 6.93227 29.6518 6.40979 30.0688 5.34434C30.4562 4.35743 29.9375 3.51736 29.2447 3.52077H27.6424L25.7414 6.95276H25.7447ZM23.8403 10.3882L21.8473 13.9806H23.7451C24.625 13.9806 26.201 13.5231 26.687 12.222C27.1368 11.0131 26.3094 10.3847 25.7348 10.3882H23.8403ZM9.38378 15.9374L8.23461 17.9898L0 18L0.797851 16.5589L9.38378 15.934V15.9374ZM9.96493 0L16.5841 0.00682982L17.0832 1.95674L9.16708 1.44109L9.96493 0ZM17.4641 3.50028L18.1864 6.35515L6.87859 5.58338L7.67645 4.14229L17.4641 3.50028ZM11.7018 11.7405L10.2604 14.3256L2.29177 13.8577L3.08962 12.4166L11.7018 11.7371V11.7405Z' fill='white'/%3E%3C/svg%3E");
}
.sw .ico--nk {
  width: calc(47 * var(--vw));
  height: calc(24 * var(--vw));
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='47' height='24' viewBox='0 0 47 24' fill='none'%3E%3Cg clip-path='url(%23clip0_1_301)'%3E%3Cpath d='M25.1314 11.0864C23.9999 12.7863 25.2908 14.1621 25.2908 14.1621C26.9481 15.7398 28.4886 14.1196 28.4886 14.1196L28.6905 11.0864C26.7463 9.26436 25.1314 11.0864 25.1314 11.0864Z' fill='white'/%3E%3Cpath d='M46.9057 4.32935C46.9057 4.32935 42.9004 2.58699 32.4197 1.90173L27.0757 0L26.8738 1.85923L21.6521 2.34263C21.6521 2.34263 20.6799 0.600266 18.9801 1.0093C18.1142 1.21647 17.6202 1.52457 17.3121 1.87517C16.494 2.05046 15.8619 2.55511 15.6335 3.21381L12.5525 3.92032L11.0544 3.07038L10.5392 4.12749L10.0452 3.90438L9.76361 4.36653L9.56706 4.68526L8.42497 4.97211L8.14343 2.09827L3.81408 2.58167L3.97344 3.69721L3.50066 3.75033L2.86853 3.8247L2.96414 4.45153L3.30412 6.73572L0 8.37716L3.39973 18.9801L5.0571 18.5817L5.11023 18.927L5.73174 18.8207L5.8008 18.8048L5.94422 19.83L10.1142 19.3041L9.99203 18.0876C9.99203 18.0876 11.0863 17.9283 12.7224 18.0345L13.3121 18.6401L13.7424 19.081L14.0717 18.757L14.842 19.4635L16.34 18.0452C16.34 18.0452 23.7875 19.0173 27.6282 20.1487C31.4741 21.2802 36.5312 23.1023 38.4754 23.9947L40.8659 18.4914C40.8659 18.4914 42.2417 18.008 42.6082 16.6693C42.9748 15.336 42.9748 14.8101 42.8101 13.7158L45.5617 12.4197C45.5617 12.4197 45.6042 11.3254 44.3453 10.1142L46.8951 4.32935H46.9057ZM14.0398 18.2098L7.88845 11.9363L8.69588 17.7211L5.90173 18.2098L3.83533 4.36653L6.62948 4.0425L7.5591 9.58831L10.5551 4.69057L13.9548 6.23107L10.6348 11.251L15.8141 16.4728L14.0345 18.2151L14.0398 18.2098ZM17.5246 14.162L16.919 6.51262L19.8353 6.39044L20.0372 13.9602L17.5299 14.162H17.5246ZM18.2311 5.13679C17.2377 5.13679 16.4303 4.53121 16.4303 3.7822C16.4303 3.0332 17.2377 2.42762 18.2311 2.42762C19.2244 2.42762 20.0319 3.0332 20.0319 3.7822C20.0319 4.53121 19.2244 5.13679 18.2311 5.13679ZM30.8367 17.8858L28.409 17.5246L28.4515 16.7968C28.4515 16.7968 25.2537 17.9283 23.3094 15.7822C21.3652 13.6361 21.8114 10.9641 23.4316 9.34927C25.0518 7.72908 27.5591 7.80876 28.7331 8.70119L29.0571 4.16999L32.255 5.0996L30.8367 17.8858ZM41.5193 12.0584C41.5193 12.0584 40.7118 10.9641 39.7769 10.4382C39.7769 10.4382 38.8473 9.91235 38.4436 10.5179C38.0398 11.1235 38.8048 11.8938 39.1288 12.1381C39.4529 12.3825 41.5989 14.0398 40.8287 15.7397C40.0584 17.4396 38.7623 18.0876 37.0252 17.5618C35.2829 17.0359 33.907 15.8194 33.3015 14.2417L34.9588 13.3493C34.9588 13.3493 36.0903 15.0491 37.3068 15.4157C37.3068 15.4157 37.9548 15.7769 38.4011 15.1341C38.8473 14.4861 38.077 13.9177 38.077 13.9177C38.077 13.9177 36.8659 12.8659 36.5418 12.3825C36.2178 11.8991 35.2457 11.0066 36.5843 9.06242C36.5843 9.06242 37.7583 7.48473 39.9841 8.41434C39.9841 8.41434 42.0451 9.26428 43.0598 11.0066L41.5246 12.0584H41.5193Z' fill='white'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_1_301'%3E%3Crect width='46.9057' height='24' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
}
/* button (공유 common .bf .btn 이식) */
.sw .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(9 * var(--vw));
  border: 1px solid transparent;
  background-color: transparent;
  border-radius: calc(5 * var(--vw));
}
.sw .btn--lg {
  padding: 0 calc(20 * var(--vw));
  min-width: calc(300 * var(--vw));
  height: calc(48 * var(--vw));
  font-size: calc(16 * var(--vw));
  letter-spacing: calc(-0.8 * var(--vw));
}
.sw .btn--md {
  padding: 0 calc(20 * var(--vw));
  min-width: calc(240 * var(--vw));
  height: calc(48 * var(--vw));
  font-size: calc(16 * var(--vw));
  letter-spacing: calc(-0.8 * var(--vw));
}
.sw .btn--lg b {
  font-weight: 700;
}
.sw .btn--sm {
  min-width: calc(130 * var(--vw));
  height: calc(45 * var(--vw));
  font-size: calc(15 * var(--vw));
  letter-spacing: calc(-0.75 * var(--vw));
}
.sw .btn--point {
  background-color: #134AFD;
  color: #fff;
}
.sw .btn--white-outlined {
  border-color: #C7CACD;
  color: #fff;
}
.sw .btn--white-outlined.disabled,
.sw .btn--white-outlined:disabled {
  border-color: #8A8A8A;
  color: #8A8A8A;
  pointer-events: none;
}

.sw--main {
  /*background-color: #151415;*/
  color: #151415;
}
/* 스티키 탭 (Figma 128:726): 공유 bf2026_common(검정/#8a8a8a/흰색/#134AFD) 위에 슈즈위크 색 override
   → 네이비 배경 + 5탭(20%) + 비활성 #8f959b / 활성·밑줄 #5481d8 (MO와 동일) */
.sw--main .tabBar__container {
  background-color: #2b303c;
}
.sw--main .tabBar__container .tabBar__title,
.sw--main .tabBar__container .line {
  width: 20%;
}
.sw--main .tabBar__container .tabBar__title {
  color: #8f959b;
}
.sw--main .tabBar__container .tabBar__title:hover,
.sw--main .tabBar__container .tabBar__title.on {
  color: #5481d8;
}
.sw--main .tabBar__container .line {
  background-color: #5481d8;
}

.sw__section {
  /*margin-top: calc(60 * var(--vw));*/
}
.sw__section .section__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(20 * var(--vw));
  padding-top: calc(60 * var(--vw));
  margin-bottom: calc(60 * var(--vw));
  color: #fff;
}
.sw__section .section__header.subTit {
  gap: 0;
}
.sw__section .section__title {
  font-size: calc(40 * var(--vw));
  font-weight: 900;
  line-height: calc(56 * var(--vw));
  letter-spacing: calc(-2 * var(--vw));
}
.sw__section .section__title.sub {
  line-height: 1.4;
  font-size: calc(28 * var(--vw));
  color: #134AFD;
  margin-bottom: calc(4 * var(--vw));
  letter-spacing: 0;
}
.sw__section .section__title.main {
  font-size: calc(28 * var(--vw));
  line-height: 1.4;
  margin-bottom: calc(40 * var(--vw));
}
.sw__section .section__title .font--ko {
  font-family: 'Noto Sans KR', Dotum, "돋움", sans-serif;
}
.sw__section .section__title .font--en {
  font-size: calc(44 * var(--vw));
  font-weight: 800;
  line-height:calc(62 * var(--vw));
}
.sw__section .section__title.main .font--en {
  font-size: calc(30 * var(--vw));
  line-height: 1.4;
}
.sw__section .section__desc {
  font-size: calc(24 * var(--vw));
  line-height: calc(38 * var(--vw));
  letter-spacing: calc(-1.2 * var(--vw));
}
.sw__section .section__desc .font--en {
  font-size: calc(26 * var(--vw));
}

.sw__section .tab__btn {
  height: calc(40 * var(--vw));
  padding: calc(5 * var(--vw)) calc(40 * var(--vw));
  border: 0;
  border-radius: calc(20 * var(--vw));
  background-color: #444344;
  font-size: calc(16 * var(--vw));
  font-weight: 700;
  line-height: calc(26 * var(--vw));
  letter-spacing: calc(-0.8 * var(--vw));
  color: #B9B9B9;;
  cursor: pointer;
}
.sw__section .tab__btn.on {
  background-color: #fff;
  color: #151415;
}
.sw__section .tab__btn .font--en {
  font-size: calc(18 * var(--vw));
}

.section__tab-content:not(.on) {
  display: none;
}

/* benefit section */
.sw__section--benefit {
  padding-top: calc(20 * var(--vw));
}

/* ============================================================
   [NB2024-12343] 슈즈위크 결제 & 쿠폰 혜택 (라이트 테마)
   ============================================================ */
/* 인트로 (날짜 + 리드 카피) : 상단 블루 → 화이트 그라데이션 */
.bg_wrap{
  background: linear-gradient(180deg, #5481d8 -20%, #dbe4f6 13%, #fff 20%);
}
.sw__intro {
  padding: calc(80 * var(--vw)) 0 calc(20 * var(--vw));
  color: #2b303c;
  text-align: center;
}
.sw__intro .sw__intro-date {
  margin: 0;
  font-size: calc(26 * var(--vw));
  font-weight: 800;
  line-height: calc(38 * var(--vw));
  letter-spacing: calc(-1.2 * var(--vw));
  color: #5481d8;
}
.sw__intro .sw__intro-date .dash {
  letter-spacing: calc(-2.08 * var(--vw));
}
.sw__intro .sw__intro-title {
  margin-top: calc(20 * var(--vw));
  font-size: calc(28 * var(--vw));
  font-weight: 700;
  line-height: calc(44 * var(--vw));
  letter-spacing: calc(-1.4 * var(--vw));
  color: #2b303c;
}

/* 결제 & 쿠폰 혜택 본문 : 화이트 배경 */
.sw__benefit {
  margin-top: 0;
  padding: 0;
}
.sw__benefit .section__header {
  gap: calc(10 * var(--vw));
  padding-top: calc(60 * var(--vw));
  margin-bottom: calc(60 * var(--vw));
  color: #2b303c;
}
.sw__benefit .sw__benefit-sub {
  font-size: calc(18 * var(--vw));
  font-weight: 700;
  line-height: calc(28 * var(--vw));
  letter-spacing: calc(-0.9 * var(--vw));
  color: #5481d8;
}
.sw__benefit .section__title {
  font-size: calc(40 * var(--vw));
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: calc(-2 * var(--vw));
  color: #2b303c;
}

.sw__benefit-content {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: calc(60 * var(--vw));
}
.sw__benefit-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(30 * var(--vw));
}
.sw__benefit-col-title {
  font-size: calc(24 * var(--vw));
  font-weight: 700;
  line-height: calc(38 * var(--vw));
  letter-spacing: calc(-1.2 * var(--vw));
  color: #2b303c;
}

/* 네이버페이 결제혜택 */
.sw__npay {
  position: relative;
  display: flex;
  align-items: center;
  gap: calc(30 * var(--vw));
  width: calc(560 * var(--vw));
  height: calc(240 * var(--vw));
  background-color: #f5f5f5;
}
/* 네이버페이 예산 소진 종료 오버레이 (Figma 135:1364) */
.sw__npay-end {
  display: none;
}
.sw__npay--end .sw__npay-end {
  display: flex;
  position: absolute;
  inset: 0;
  align-items: center;
  justify-content: center;
  background-color: rgba(43, 48, 60, 0.7);
  font-size: calc(26 * var(--vw));
  font-weight: 700;
  letter-spacing: calc(-1.3 * var(--vw));
  color: #fff;
}
.sw__npay-img {
  flex: none;
  width: calc(240 * var(--vw));
  height: calc(240 * var(--vw));
}
.sw__npay-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sw__npay-text .sw__npay-title {
  margin-bottom: calc(16 * var(--vw));
  font-size: calc(22 * var(--vw));
  font-weight: 700;
  letter-spacing: calc(-1.1 * var(--vw));
  color: #2b303c;
}
.sw__npay-text ul {
  display: flex;
  flex-direction: column;
  gap: calc(4 * var(--vw));
}
.sw__npay-text li {
  font-size: calc(18 * var(--vw));
  font-weight: 400;
  line-height: calc(28 * var(--vw));
  letter-spacing: calc(-0.9 * var(--vw));
  color: #2b303c;
}
.sw__npay-text li .font--en {
  font-size: calc(20 * var(--vw));
}
.sw__npay-text li strong {
  font-weight: 700;
}

/* 쿠폰 혜택 */
.sw__coupon {
  display: flex;
  flex-direction: column;
  gap: calc(20 * var(--vw));
}
.sw__coupon-item {
  display: flex;
  align-items: center;
}
.sw__coupon-info {
  display: flex;
  flex-direction: column-reverse; /* 시안: desc(대상 안내) 위 / name(쿠폰명) 아래 */
  justify-content: center;
  gap: calc(6 * var(--vw));
  width: calc(440 * var(--vw));
  height: calc(110 * var(--vw));
  padding: 0 calc(34 * var(--vw));
  border-radius: calc(8 * var(--vw));
  background-color: #5481d8;
  color: #fff;
}
.sw__coupon-item--auto .sw__coupon-info {
  background-color: #8f959b;
  color: #e3e5e6;
}
.sw__coupon-name {
  font-size: calc(22 * var(--vw));
  font-weight: 700;
  letter-spacing: calc(-1.1 * var(--vw));
}
.sw__coupon-name .font--en {
  font-size: calc(24 * var(--vw));
}
.sw__coupon-desc {
  font-size: calc(16 * var(--vw));
  font-weight: 400;
  line-height: calc(22 * var(--vw));
  letter-spacing: calc(-0.8 * var(--vw));
}
.sw__coupon-btn {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: calc(14 * var(--vw));
  width: calc(119 * var(--vw));
  height: calc(110 * var(--vw));
  border: 0;
  border-radius: calc(8 * var(--vw));
  background-color: #5481d8;
  font-size: calc(15 * var(--vw));
  font-weight: 400;
  letter-spacing: calc(-0.75 * var(--vw));
  color: #fff;
  cursor: pointer;
}
.sw__coupon-btn::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  height: calc(95 * var(--vw));
  border-left: 1px dashed rgba(255, 255, 255, 0.6);
}
.sw__coupon-btn--auto {
  background-color: #8f959b;
  color: #e3e5e6;
  cursor: default;
}
/* 쿠폰 대상상품 안내 문구 */
.sw__coupon-note {
  font-size: calc(16 * var(--vw));
  line-height: calc(24 * var(--vw));
  letter-spacing: calc(-0.8 * var(--vw));
  color: #8f959b;
  text-align: center;
}
/* 유의사항 */
.sw__benefit-notice {
  display: block;
  margin: calc(60 * var(--vw)) auto 0;
  padding: 0;
  border: 0;
  background: none;
  font-size: calc(16 * var(--vw));
  font-weight: 700;
  letter-spacing: calc(-0.8 * var(--vw));
  color: #8f959b;
  text-decoration: underline;
  text-underline-offset: calc(3 * var(--vw));
  cursor: pointer;
}

/* 06. 빠른 도착 서비스 배너 (신규) */
.sw__delibox {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(30 * var(--vw));
  padding: calc(120 * var(--vw)) 0 calc(60 * var(--vw));
}
.sw__delibox-visual {
  width: calc(980 * var(--vw));
}
.sw__delibox-visual img {
  width: 100%;
  height: auto;
}
.sw__delibox-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: calc(20 * var(--vw));
  padding: 0;
  border: 0;
  background: none;
  font-size: calc(16 * var(--vw));
  font-weight: 700;
  letter-spacing: calc(-0.8 * var(--vw));
  color: #8f959b;
  text-decoration: underline;
  text-underline-offset: calc(3 * var(--vw));
  cursor: pointer;
}

/* goods section */
.sw__section--goods {
  text-align: center;
  margin-top: calc(60 * var(--vw)) ;
}
.sw__section--goods .section__header {
  gap: calc(40 * var(--vw));
}
.sw__section--goods .section__tab {
  display: flex;
  gap: calc(10 * var(--vw));
}

.sw__section--goods .goods__container {
  position: relative;
  width: calc(1566 * var(--vw));
  margin: 0 auto;
  padding: 0 calc(73 * var(--vw));
}
.sw__section--goods .goods__list {
  position: relative;
  min-height: calc(332 * var(--vw));
  margin: 0 calc(-10 * var(--vw));
}
.sw__section--goods .goods__item {
  padding: 0 calc(10 * var(--vw));
  text-align: left;
}
.sw__section--goods .goods__item a {
  display: block;
  color: #2b303c;
  text-decoration: none;
}
.sw__section--goods .goods__thumb {
  margin: 0;
  overflow: hidden;
  background-color: #E0E2E3;
  aspect-ratio: 1;
}
.sw__section--goods .goods__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sw__section--goods .goods__title {
  margin-top: calc(20 * var(--vw));
  overflow: hidden;
  font-size: calc(18 * var(--vw));
  line-height: 1;
  letter-spacing: calc(-0.9 * var(--vw));
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sw__section--goods .goods__origin {
  margin-top: calc(20 * var(--vw));
  font-size: calc(18 * var(--vw));
  line-height: 1;
  color: #8f959b;
  text-decoration: line-through;
}
.sw__section--goods .goods__origin .kor {
  font-size: calc(16 * var(--vw));
  letter-spacing: calc(-0.8 * var(--vw));
}
.sw__section--goods .goods__sale {
  margin-top: calc(12 * var(--vw));
  display: flex;
  gap: calc(10 * var(--vw));
  align-items: center;
  font-size: calc(20 * var(--vw));
  font-weight: 700;
  line-height: 1;
}
/* 할인 없는 상품 : 타이틀 바로 아래 판매가 (원가 생략) → 타이틀-판매가 간격 20 */
.sw__section--goods .goods__title + .goods__sale {
  margin-top: calc(20 * var(--vw));
}
.sw__section--goods .goods__discount {
  color: #134AFD;
}
.sw__section--goods .goods__price .kor {
  font-size: calc(18 * var(--vw));
  letter-spacing: calc(-0.9 * var(--vw));
}

/* navigation arrows */
.sw__section--goods .goods__nav {
  position: absolute;
  top: calc(134 * var(--vw));
  width: calc(28 * var(--vw));
  height: calc(28 * var(--vw));
  margin-top: calc(-14 * var(--vw));
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  z-index: 2;
}
.sw__section--goods .goods__nav::before {
  content: '';
  display: block;
  width: calc(20 * var(--vw));
  height: calc(20 * var(--vw));
  border-top: calc(2 * var(--vw)) solid #8E8F8F;
  border-right: calc(2 * var(--vw)) solid #8E8F8F;
}
.sw__section--goods .goods__nav--prev {
  left: 0;
}
.sw__section--goods .goods__nav--prev::before {
  transform: translateX(calc(3 * var(--vw))) rotate(-135deg);
}
.sw__section--goods .goods__nav--next {
  right: 0;
}
.sw__section--goods .goods__nav--next::before {
  transform: translateX(calc(-3 * var(--vw))) rotate(45deg);
}
.sw__section--goods .goods__nav.swiper-button-disabled {
  opacity: 0.3;
  cursor: default;
}
.sw__section--goods .goods__more {
  margin-top: calc(60 * var(--vw));
  min-width: calc(130 * var(--vw));
}

/* ranking section */
.sw__section--ranking {
  /*padding-bottom: calc(120 * var(--vw));*/
  text-align: center;
}
.sw__section--ranking .section__header {
  gap: calc(10 * var(--vw));
  color: #2b303c;
}
.sw__ranking-sub {
  font-size: calc(18 * var(--vw));
  font-weight: 700;
  line-height: calc(28 * var(--vw));
  letter-spacing: calc(-0.9 * var(--vw));
  color: #5481d8;
}
/* 베스트 랭킹: 카테고리 탭 미노출 (단일 리스트) — 데이터는 첫 번째(hidden) 탭으로 로딩 */
.sw__section--ranking .section__tab {
  display: none;
}
.sw__section--ranking .tab__btn {
  height: calc(40 * var(--vw));
  padding: calc(5 * var(--vw)) calc(26 * var(--vw));
  border: 0;
  border-radius: calc(20 * var(--vw));
  background-color: #444344;
  font-size: calc(16 * var(--vw));
  font-weight: 700;
  line-height: calc(26 * var(--vw));
  letter-spacing: calc(-0.8 * var(--vw));
  color: #B9B9B9;
  cursor: pointer;
}
.sw__section--ranking .tab__btn.on {
  background-color: #fff;
  color: #151415;
}

/* ranking swiper wrapper (좌우 화살표 위치 잡기 위한 relative 컨테이너) */
.sw__section--ranking .ranking__swiper {
  position: relative;
  width: calc(1420 * var(--vw));
  margin: 0 auto;
}
.sw__section--ranking .ranking__list {
  overflow: hidden;
}
/* 1 slide = 1 컬럼 (4개 아이템) */
.sw__section--ranking .ranking__col {
  display: flex;
  flex-direction: column;
}
.sw__section--ranking .ranking__wrap {
  padding: calc(10 * var(--vw)) 0;
}
.sw__section--ranking .ranking__col .ranking__wrap + .ranking__wrap {
  border-top: calc(1 * var(--vw)) solid #E8E8E8;
}

/* ranking navigation arrows */
.sw__section--ranking .ranking__nav {
  position: absolute;
  top: 50%;
  width: calc(28 * var(--vw));
  height: calc(28 * var(--vw));
  margin-top: calc(-14 * var(--vw));
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  z-index: 2;
}
.sw__section--ranking .ranking__nav::before {
  content: '';
  display: block;
  width: calc(18 * var(--vw));
  height: calc(18 * var(--vw));
  margin: calc(5 * var(--vw)) auto;
  border-top: calc(2 * var(--vw)) solid #8E8F8F;
  border-right: calc(2 * var(--vw)) solid #8E8F8F;
}
.sw__section--ranking .ranking__nav--prev {
  left: calc(-74 * var(--vw));
}
.sw__section--ranking .ranking__nav--prev::before {
  transform: translateX(calc(3 * var(--vw))) rotate(-135deg);
}
.sw__section--ranking .ranking__nav--next {
  right: calc(-74 * var(--vw));
}
.sw__section--ranking .ranking__nav--next::before {
  transform: translateX(calc(-3 * var(--vw))) rotate(45deg);
}
.sw__section--ranking .ranking__nav.swiper-button-disabled {
  opacity: 0.3;
  cursor: default;
}
.sw__section--ranking .ranking__wrap a {
  display: flex;
  align-items: center;
  gap: calc(30 * var(--vw));
  width: 100%;
  color: #2b303c;
  text-decoration: none;
}
.sw__section--ranking .ranking__number {
  flex: 0 0 calc(40 * var(--vw));
  width: calc(40 * var(--vw));
  margin: 0;
  font-family: 'Proxima Nova', 'Noto Sans KR', Dotum, "돋움", sans-serif;
  font-size: calc(30 * var(--vw));
  font-weight: 800;
  font-style: italic;
  line-height: calc(38 * var(--vw));
  color: #2b303c;
  text-align: left;
}
.sw__section--ranking .ranking__number i {
  font-style: italic;
}
.sw__section--ranking .ranking__prod {
  display: flex;
  align-items: center;
  gap: calc(30 * var(--vw));
  flex: 1;
  min-width: 0;
}
.sw__section--ranking .prod__thumb {
  flex: 0 0 calc(120 * var(--vw));
  width: calc(120 * var(--vw));
  height: calc(120 * var(--vw));
  background-color: #E0E2E3;
  object-fit: cover;
}
.sw__section--ranking .prod__info {
  display: flex;
  flex-direction: column;
  gap: calc(14 * var(--vw));
  flex: 1;
  min-width: 0;
  text-align: left;
}
.sw__section--ranking .info__displayName {
  margin: 0;
  font-size: calc(20 * var(--vw));
  line-height: 1;
  letter-spacing: calc(-1 * var(--vw));
  color: #2b303c;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.sw__section--ranking .info__price {
  display: flex;
  align-items: flex-end;
  gap: calc(2 * var(--vw));
  margin: 0;
  font-size: calc(22 * var(--vw));
  font-weight: 700;
  line-height: 1;
  color: #2b303c;
}
.sw__section--ranking .info__price .price__discount {
  flex: 0 0 calc(50 * var(--vw));
  width: calc(50 * var(--vw));
  color: #cf0a2c;
  text-align: left;
}
.sw__section--ranking .info__price .font--en {
  font-size: calc(22 * var(--vw));
}
.sw__section--ranking .info__price .kor {
  font-size: calc(20 * var(--vw));
  font-weight: 700;
  letter-spacing: calc(-1 * var(--vw));
}

/* ============================================================
   [NB2024-12343] 오늘의 발매 (라이트 그레이 테마)
   ============================================================ */
.sw__today {
  padding: calc(120 * var(--vw)) 0;
  background-color: #e3e5e6;
  text-align: center;
}
.sw__today .section__header {
  gap: calc(10 * var(--vw));
  padding-top: 0;
  margin-bottom: calc(40 * var(--vw));
  color: #2b303c;
}
.sw__today-sub {
  font-size: calc(18 * var(--vw));
  font-weight: 700;
  line-height: calc(28 * var(--vw));
  letter-spacing: calc(-0.9 * var(--vw));
  color: #5481d8;
}
.sw__today .section__title {
  color: #2b303c;
}
/* 대표 카드 (네이비) */
.sw__today-feature {
  display: flex;
  align-items: center;
  gap: calc(40 * var(--vw));
  width: calc(1230 * var(--vw));
  height: calc(540 * var(--vw));
  margin: 0 auto calc(40 * var(--vw));
  padding: calc(30 * var(--vw));
  border-radius: calc(10 * var(--vw));
  background-color: #2b303c;
  text-align: left;
}
.sw__today-visual {
  flex: none;
  width: calc(700 * var(--vw));
  height: calc(480 * var(--vw));
  overflow: hidden;
  border-radius: calc(10 * var(--vw));
}
.sw__today-visual-link {
  display: block;
  width: 100%;
  height: 100%;
}
.sw__today-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sw__today-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(30 * var(--vw));
  width: calc(406 * var(--vw));
  color: #fff;
}
.sw__today-date {
  font-size: calc(18 * var(--vw));
  font-weight: 700;
  line-height: calc(28 * var(--vw));
  letter-spacing: calc(-0.9 * var(--vw));
}
.sw__today-date .font--en {
  font-size: calc(20 * var(--vw));
}
.sw__today-title {
  font-size: calc(40 * var(--vw));
  font-weight: 800;
  line-height: 1.2;
}
/* 흰 배경 버튼 : 공유 .sw .btn(투명배경, 특이도 0,2,0)을 이기도록 .sw__today 스코프로 특이도 확보 */
.sw__today .sw__today-btn {
  width: calc(130 * var(--vw));
  height: calc(45 * var(--vw));
  background-color: #fff;
  color: #373b32;
  font-size: calc(15 * var(--vw));
}
/* 상품 리스트 (오늘의 발매 전용 오버라이드) : 5개 고정 → 스와이퍼 미사용, 정적 5열 그리드 */
.sw__today .goods__container {
  width: calc(1230 * var(--vw));
  margin: 0 auto;
  padding: 0;
}
.sw__today .goods__list {
  min-height: 0;
  margin: 0;
}
.sw__today .swiper-wrapper {
  display: flex;
  gap: calc(20 * var(--vw));
  transform: none !important;
}
.sw__today .goods__item {
  flex: 0 0 calc(230 * var(--vw));
  width: calc(230 * var(--vw));
  padding: 0;
}
.sw__today .goods__item a {
  color: #2b303c;
}
.sw__today .goods__thumb {
  background-color: #f5f5f5;
}
.sw__today .goods__discount {
  color: #cf0a2c;
}

/* ============================================================
   [NB2024-12343] 발매 & 재입고 캘린더 (네이비 테마, 5열)
   ============================================================ */
.sw__calendar {
  padding: calc(120 * var(--vw)) 0;
  background-color: #2b303c;
  text-align: center;
}
.sw__calendar .section__header {
  gap: calc(10 * var(--vw));
  padding-top: 0;
  margin-bottom: calc(60 * var(--vw));
  color: #fff;
}
.sw__calendar-sub {
  font-size: calc(18 * var(--vw));
  font-weight: 700;
  line-height: calc(28 * var(--vw));
  letter-spacing: calc(-0.9 * var(--vw));
  color: #5481d8;
}
.sw__calendar .section__title {
  color: #fff;
}
.sw__calendar-allNoti {
  margin-top: calc(30 * var(--vw));
  width: calc(220 * var(--vw));
  height: calc(48 * var(--vw));
  border: 0;
  border-radius: calc(5 * var(--vw));
  background-color: #5481d8;
  font-size: calc(16 * var(--vw));
  font-weight: 400;
  line-height: calc(26 * var(--vw));
  letter-spacing: calc(-0.8 * var(--vw));
  color: #fff;
  cursor: pointer;
}
.sw__calendar-list {
  display: flex;
  justify-content: center;
  gap: calc(26 * var(--vw));
}
.sw__calendar-item {
  display: flex;
  flex-direction: column;
  gap: calc(16 * var(--vw));
  width: calc(340 * var(--vw));
  text-align: left;
}
.sw__calendar-date {
  font-size: calc(24 * var(--vw));
  font-weight: 700;
  line-height: calc(38 * var(--vw));
  letter-spacing: calc(-1.2 * var(--vw));
  color: #fff;
}
.sw__calendar-date .font--en {
  font-size: calc(26 * var(--vw));
}
.sw__calendar-body {
  display: flex;
  flex-direction: column;
  gap: calc(20 * var(--vw));
}
.sw__calendar-content {
  display: flex;
  flex-direction: column;
  gap: calc(16 * var(--vw));
}
.sw__calendar-visual {
  width: calc(340 * var(--vw));
  height: calc(340 * var(--vw));
  overflow: hidden;
  background-color: #bcbfc1;
}
.sw__calendar-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sw__calendar-textbox {
  display: flex;
  flex-direction: column;
  gap: calc(12 * var(--vw));
  color: #fff;
}
.sw__calendar-title {
  font-size: calc(27 * var(--vw));
  font-weight: 800;
  line-height: 1.2;
}
.sw__calendar-desc {
  font-size: calc(18 * var(--vw));
  font-weight: 400;
  line-height: calc(28 * var(--vw));
  letter-spacing: calc(-0.9 * var(--vw));
}
.sw__calendar-desc .font--en {
  font-size: calc(20 * var(--vw));
}
.sw__calendar-btns {
  display: flex;
  justify-content: flex-start;
  gap: calc(8 * var(--vw));
}
.sw__calendar-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: calc(130 * var(--vw));
  height: calc(45 * var(--vw));
  border: 0;
  border-radius: calc(5 * var(--vw));
  font-size: calc(15 * var(--vw));
  font-weight: 400;
  letter-spacing: calc(-0.75 * var(--vw));
  cursor: pointer;
  text-decoration: none;
}
.sw__calendar-btn--more {
  border: 1px solid #fff;
  background: none;
  color: #fff;
}
.sw__calendar-btn--noti {
  background-color: #fff;
  color: #2b303c;
}
/* 알림 신청 완료 (신청 후 비활성) — Figma 140:1410 */
.sw__calendar-btn--noti.is-done {
  background-color: #8f959b;
  color: #e3e5e6;
  cursor: default;
  pointer-events: none;
}
/* 기획전 바로가기 (발매 시작 후) — Figma 140:1410 */
.sw__calendar-btn--go {
  background-color: #5481d8;
  color: #fff;
}