/*
 * 상단 탭 단추에 쓰는 둥근 글씨체.
 *
 * 이 파일에 원래 깔린 Cafe24Ohsquare 는 Air(가는) 한 벌뿐이라, 굵게
 * 달라고 하면 브라우저가 억지로 부풀린다. 40px 단추 안에서 그 가짜 굵기가
 * 뭉개져 보였다.
 *
 * @import 는 다른 규칙보다 앞에 있어야 먹는다. 이 파일 첫 줄인 이유다 —
 * common.css 는 가운데에 넣어 두어 그 글씨체가 여태 안 불러와지고 있다.
 */
@import url('https://fonts.googleapis.com/css2?family=Jua&display=swap');

button {
  color: #000;
}

/* .witdeal9999-apartment-groupbuy__strip .witdeal-all-products-card .pd-img {
	border-radius: 0 !important;
	} */
#witdeal9999-apartment-groupbuy-strip .witdeal-all-products-card {
  border: none !important;
}
#witdeal9999-apartment-groupbuy-strip {
  margin: 0px -10px 0px -10px;
  padding: 10px 10px 6px;
}
.cart-box-wrap #witdeal9999-apartment-groupbuy-strip {
  margin: 0px -15px 0px -15px !important;
  padding: 10px 15px 6px !important;
}
.witdeal-all-products-card {
  overflow: hidden;
}

.main-witdeal-wrap {
  div,
  p,
  a,
  button,
  input,
  textarea,
  select,
  ul,
  span {
    box-sizing: border-box;
    font-family: "Cafe24Ohsquare", sans-serif;
  }
  .main-witdeal-swiper {
    margin-top: 20px;
  }
  .main-witdeal-swiper,
  .sale-list-wrap {
    .swiper {
      background: transparent;
      border: 0;
    }
    .swiper-button-next:after,
    .swiper-button-prev:after {
      display: none;
    }
    .swiper-button-next,
    .swiper-button-prev {
      border: 0;
      outline: none;
      aspect-ratio: 29 / 51;
      width: 11px;
      padding: 0;
      height: auto;
      margin: 0;
      transform: translateY(-50%);
    }
    .swiper-button-prev {
      left: 10px;
      background: url(/app/common/img/ssada/ic_swiper_prev.png) no-repeat
        center / cover;
    }
    .swiper-button-next {
      background: url(/app/common/img/ssada/ic_swiper_next.png) no-repeat
        center / cover;
    }
  }

  .witdeal-apt {
    padding: 0 10px;
    a {
      position: relative;
      display: block;
      .txt {
        color: #fff;
        font-size: 4vw;
        position: absolute;
        bottom: 1.2vw;
        left: 3vw;
      }
    }
  }

  .radio-normal {
    position: relative;
    margin: 0;
    display: block;
    margin-right: 12px;
    input {
      position: absolute;
      top: 0;
      left: 0;
      opacity: 0;
    }
    .lbl {
      display: flex;
      gap: 4px;
      align-items: center;
      color: #595959;
      &::before {
        content: "";
        display: inline-block;
        vertical-align: middle;
        width: 15px;
        height: 15px;
        margin-top: -1px;
        background: url(/app/order/img/check-normal.png) no-repeat;
        background-size: contain;
      }
    }
    input:checked + .lbl:before {
      background-image: url(/app/order/img/check-normal-on.png);
    }
  }

  .nomember-banner {
    position: fixed;
    width: 100%;
    bottom: 0;
    left: 0;
    z-index: 100;
    transition: all 0.4s;
    &.hide-banner {
      bottom: -100px;
    }
  }
}

/* 로고 애니메이션 */
@keyframes logo-ani {
  0% {
    width: 0;
    padding: 0;
  }
  100% {
    padding: 0 8px;
    width: 90px;
  }
}

@keyframes logo-config {
  0% {
    opacity: 0;
  }
  80% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* 최상단 고정 바 (스크롤해도 항상 표시, 헤더 숨김 대상 아님) */
.witdeal-top-fixed-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 101;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px;
  box-sizing: border-box;
}
.witdeal-top-fixed-bar .witdeal-top-bar-left {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.witdeal-top-fixed-bar .witdeal-top-bar-left img {
  width: 26px;
  height: auto;
  display: block;
  padding-top: 2px;
}
.witdeal-top-fixed-bar .witdeal-top-bar-center {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
  margin: 0 12px;
  padding: 4px 12px;
  position: relative;
  overflow: hidden;
  /* 뒤 배너·이미지는 잘 비치고, 뒤 글씨만 블러로 알아보기 어렵게 */
  background: rgba(255, 255, 255, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 8px;
  box-shadow: none;
  color: #1a1a1a;
  font-size: 13px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backdrop-filter: blur(3px) saturate(1.15);
  backdrop-filter: blur(3px) saturate(1.15);
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

/* backdrop-filter 미지원: 블러 대신 살짝 더 불투명하게만 보완 */
@supports not (
  (-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))
) {
  .witdeal-top-fixed-bar .witdeal-top-bar-center {
    /* 블러 불가 시 뒤 글씨 가리려면 불투명도 필요 */
    background: rgba(255, 255, 255, 0.8);
  }
}
.witdeal-top-fixed-bar .witdeal-top-bar-news-ticker-wrap {
  flex: 1;
  min-width: 0;
  height: 20px;
  overflow: hidden;
}
.witdeal-top-fixed-bar .witdeal-top-bar-news-swiper {
  width: 100%;
  height: 20px;
  overflow: hidden;
}
.witdeal-top-fixed-bar .witdeal-top-bar-news-swiper .swiper-slide {
  height: 20px;
  display: flex;
  align-items: center;
}
.witdeal-top-fixed-bar .witdeal-top-bar-news-slide-inner {
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 0;
  gap: 8px;
  color: #1a1a1a;
  text-decoration: none;
  font-size: 13px;
}
.witdeal-top-fixed-bar .witdeal-top-bar-news-slide-inner:hover {
  color: #1a1a1a;
  text-decoration: none;
}
.witdeal-top-fixed-bar .witdeal-top-bar-news-swiper .witdeal-top-bar-news-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
}
.witdeal-top-fixed-bar
  .witdeal-top-bar-news-swiper
  .witdeal-top-bar-news-icon
  img {
  height: 20px;
  width: auto;
  display: block;
  vertical-align: middle;
}
.witdeal-top-fixed-bar .witdeal-top-bar-news-swiper .witdeal-top-bar-news-link {
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: left;
}
.witdeal-top-fixed-bar .witdeal-top-bar-news-link {
  display: block;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: left;
  color: #1a1a1a;
  text-decoration: none;
  font-size: 13px;
}
.witdeal-top-fixed-bar .witdeal-top-bar-news-link:hover {
  color: #1a1a1a;
  text-decoration: none;
}
.witdeal-top-fixed-bar .witdeal-top-bar-news {
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: left;
}
.witdeal-top-fixed-bar .witdeal-top-bar-arrow {
  font-weight: bold;
  color: #2e7d32;
  flex-shrink: 0;
}
.witdeal-top-fixed-bar .witdeal-top-bar-menu {
  width: 26px;
  height: 26px;
  border: 0;
  background: transparent;
  padding: 0;
  flex-shrink: 0;
  cursor: pointer;
}
.witdeal-top-fixed-bar .witdeal-top-bar-menu img {
  width: 26px;
  height: 26px;
  display: block;
}

.main-witdeal-header {
  background-color: transparent;
  position: fixed;
  top: 0;
  z-index: 100;
  width: 100%;
  transition: all 0.5s;
  transform: translateY(0);
  &.tab-hide {
    transform: translateY(-100%);
  }
  .header-top {
    display: flex;
    width: 100%;
    justify-content: space-between;
    padding: 15px 10px 5px 10px;
    .right-area {
      display: flex;
      flex-shrink: 0;
      gap: 15px;
    }
    .left-area {
      display: flex;
      flex-shrink: 0;
      gap: 20px;
    }
    .btn-hd {
      border: 0;
      background-color: transparent;
      position: relative;
      padding: 0;
      flex-shrink: 0;
      img {
        width: 24px;
        height: auto;
      }

      em {
        display: inline-block;
        width: 18px;
        height: 18px;
        line-height: 18px;
        font-style: normal;
        background-color: #ff0001;
        color: #fff;
        text-align: center;
        font-weight: 600;
        font-size: 12px;
        border-radius: 50%;
        position: absolute;
        top: -3px;
        right: -8px;
      }
      &.hd01 {
        img {
          left: 1px;
        }
      }
    }
    .btn-hd.type-ani {
      min-width: 0;

      display: inline-flex;
      align-items: flex-end;
      position: relative;
      > img {
        flex-shrink: 0;
        position: relative;
        z-index: 10;
      }
      .icon-config {
        animation: logo-config 1s;
        z-index: 10;
        position: absolute;
        top: -2px;
        left: 13px;
        display: inline-block;
        width: 18px;
        height: 18px;
        background: url(/app/witdealmart/img/icon-config.png) no-repeat
          center/contain;
      }
      > span {
        overflow: hidden;
        height: 22px;
        line-height: 22px;
        font-size: 13px;
        padding: 0 8px;
        margin-left: -3px;
        display: inline-block;
        white-space: nowrap;
        border: 1px solid #0d2432;
        border-radius: 0 4px 4px 0;
        background-color: #f2f2f2;
        animation: logo-ani 1s;
      }
    }
  }
  .header-search {
    padding: 5px 10px 10px;
    .search-box {
      overflow: hidden;
      position: relative;
      border: 2px solid #1a2a84;
      display: flex;
      align-items: center;
      border-radius: 8px;
      height: 40px;
      .img-lbl {
        flex-shrink: 0;
        height: 100%;
        width: auto;
        margin: 0 0 0 -2px;
      }
      .search-input {
        flex: 1;
        height: 100%;
        width: 100%;
        font-size: 15px;
        padding: 0 10px;
        color: #000;
        border: 0;
        background-color: transparent;
        background-color: #fff;
      }
      .search-input::placeholder {
        color: #9197c3;
        font-size: 14px;
      }

      .btn-search-main {
        border: 0;
        background: transparent;
        font-size: 14px;
        color: #595959;
        padding-right: 14px;
        background: url(/app/common/img/main/icon-search-arr.png) no-repeat
          right 2px center/12px auto;
      }
    }
  }

  .my-witdealmart {
    position: relative;
    .icon-witdeal-pay {
      position: absolute;
      width: 45px;
      top: 8px;
      right: 8px;
    }
  }
}

/* iframe 팝업이 배경 스크롤을 잠글 때 메인 헤더가 다시 내려오지 않게 한다. */
html.pPIV-modal-open .main-witdeal-header,
html.pPIV-modal-open .witdeal-top-fixed-bar {
  visibility: hidden;
}

/* 본문 상단 여백: #main-witdeal-header 실제 높이+25px — main_witdeal.php syncWitdealMainContainerPadding */
.main-witdeal-wrap {
  --witdeal-main-container-pt: 200px;
}
.main-witdeal-containner {
  padding-top: var(--witdeal-main-container-pt);
  .main-baaner {
    img {
      width: 100%;
    }
  }
}

/*
 * 탭 단추 얼굴 — 그림이던 것을 글자로 그린다.
 *
 * 40px 상자 안에 넉 자를 넣어야 해서 두 줄로 쌓는다. 한 줄로 두면 글자가
 * 5px 대로 내려가 읽히지 않는다.
 *
 * 자간을 바짝 좁히는 것은 「마켓」·「배달」 같은 두 글자가 40px 안에서
 * 좌우로 붙어 보이게 하기 위해서다. 원래 그림도 그렇게 짜여 있었다.
 *
 * 줄간을 1.05 로 두어 두 줄이 한 덩어리로 읽히게 한다. 기본값(1.5)이면
 * 위아래로 벌어져 단추 밖으로 삐져나온다.
 */
.expand-tab-face {
  display: block;
  text-align: center;
  color: #fff;
  /*
   * Jua 는 한 벌(400)뿐인 둥근 글씨체다. 굵기를 따로 주지 않는다 —
   * 가짜 굵기를 얹으면 획이 서로 붙어 40px 안에서 뭉개진다.
   */
  font-family: 'Jua', 'Cafe24Ohsquare', 'Apple SD Gothic Neo', sans-serif;
  font-size: 13px;
  font-weight: 400;
  /*
   * 자간을 -0.08em 까지 조이고 있었다. 두 글자가 서로 파고들어 「배달」이
   * 한 덩어리로 뭉쳐 보였다. -0.02em 이면 40px 안에 들어가면서도 두 글자가
   * 각자 읽힌다.
   *
   * 줄간은 1.18 — 1.05 는 위아래가 붙어 답답하고, 기본값(1.5)은 단추 밖으로
   * 넘친다.
   */
  letter-spacing: -0.02em;
  line-height: 1.18;
  white-space: nowrap;
  /* 노랑 바탕에서 흰 글자가 묻히지 않게. 진하면 글자가 더러워 보인다 */
  text-shadow: 0 1px 1.5px rgba(0, 0, 0, 0.16);
  -webkit-user-select: none;
  user-select: none;
}

/*
 * 단추 자체의 결.
 *
 * 납작한 단색이라 눌리는 것인지 그림인지 구분이 안 됐다. 위에서 아래로
 * 아주 옅게 어둡히고 윗면에 실선 하나를 얹으면 판이 살짝 도드라진다 —
 * 색은 그대로 두고 빛만 얹는 것이라 원래 색감을 해치지 않는다.
 */
.expand-tab-color {
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(0, 0, 0, 0.08));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28), 0 2px 5px -2px rgba(20, 24, 34, 0.45);
}

/*
 * 정보카드 단추 — 네모 셋과 돋보기.
 *
 * 그림이던 것을 선으로 그린다. 색을 CSS 로 바꿀 수 있어 눌린 상태나
 * 어두운 판을 위해 그림을 따로 만들지 않아도 된다.
 */
.expand-tab-card rect,
.expand-tab-card circle,
.expand-tab-card line {
  fill: none;
  stroke: #B9BDC7;
  stroke-width: 1.9;
  stroke-linecap: round;
}

.expand-tab-item:hover {
  transform: scale(1.15);
  transition: all 0.3s ease;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  opacity: 0.8;
}

.expand-tab-item:active {
  transform: scale(1.15);
  transition: all 0.3s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  opacity: 0.9;
}

.expand-tab-item:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.3);
  transform: scale(1.15);
  transition: all 0.3s ease;
  opacity: 0.9;
}

.expand-tab-item.active {
  transform: scale(1.15);
  transition: all 0.3s ease;
  opacity: 0.9;
}

.sale-list-wrap {
  margin-top: 0px;
  .swiper {
    padding: 0px 0px;
    background-color: #fff;
    border-bottom: 0;
    height: auto;
    width: 100%;
    .swiper-wrapper {
      .swiper-slide {
        height: auto;
        padding: 0;
        margin-left: 0;
        border-radius: 0;
        font-size: inherit;
      }
    }
    .swiper-slide {
      transition: opacity 0.5s ease-in-out;
      img {
        border-radius: 8px;
      }
    }
  }
}

.event-list-wrap {
  .swiper {
    padding: 0 10px;
    background-color: #fff;
    border-bottom: 0;
    height: auto;
    width: 100%;
    .swiper-wrapper {
      .swiper-slide {
        height: auto;
        padding: 0;
        margin-left: 0;
        border-radius: 0;
        font-size: inherit;
      }
    }
    .swiper-slide {
      img {
        border-radius: 12px;
      }
    }
  }
}

.pd-list-wrap {
  .swiper {
    padding: 0 10px;
    background-color: #fff;
    border-bottom: 0;
    height: auto;
    width: 100%;
    .swiper-wrapper {
      .swiper-slide {
        height: auto;
        padding: 0;
        margin-left: 0;
        border-radius: 0;
        font-size: inherit;
      }
    }
  }

  .child-swiper {
    padding: 0;
    text-align: center;
    height: 19px;
    line-height: 19px;
    font-size: 10px;
    position: absolute;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.4);
    color: #fff;
  }

  &.type1 {
    .btn-pd-cart {
      bottom: 25px !important;
    }
  }
}

.partner-list-wrap {
  margin-bottom: 50px;
  .swiper {
    padding: 0 10px;
    background-color: #fff;
    border-bottom: 0;
    height: auto;
    width: 100%;
    .swiper-wrapper {
      .swiper-slide {
        height: auto;
        padding: 0;
        margin-left: 0;
        border-radius: 0;
        font-size: inherit;
      }
    }
  }

  .partner-item {
    > img {
      border-radius: 6px;
      width: 100%;
    }
    .txt {
      margin-top: 10px;
      font-size: 15px;
      color: #000;
      p + p {
        margin-top: 8px;
      }
    }
  }
}

/*
 * 더보기 꺾쇠의 밀기 — 규칙은 .bd:after 에 적어 두었다.
 *
 * @keyframes 는 중첩 안에 넣을 수 없어 여기 바깥에 둔다.
 */
@-webkit-keyframes wdMoreNudge {
  0%, 72%, 100% { -webkit-transform: translateX(0); }
  86% { -webkit-transform: translateX(4px); }
}
@keyframes wdMoreNudge {
  0%, 72%, 100% { transform: translateX(0); }
  86% { transform: translateX(4px); }
}
/*
 * 움직임을 줄여 달라는 설정에서는 멈춘다.
 *
 * 멈춰도 꺾쇠는 제자리에 그대로 있다 — 움직임이 뜻을 만드는 것이
 * 아니라 거들 뿐이라, 빠져도 화면이 허전해지지 않는다.
 */
@media (prefers-reduced-motion: reduce) {
  .main-witdeal-item .tit-area button.more .bd:after {
    -webkit-animation: none;
    animation: none;
  }
}

.main-witdeal-item {
  margin-top: 20px;
  .tit-area {
    padding: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #000;
    &.type2 {
      padding-bottom: 5px;
    }

    .tit-left {
      flex: 1;
      display: flex;
      align-items: center;
      /*
       * flex 항목은 기본이 min-width:auto 라 안쪽 글자보다 작아지지 않으려
       * 버틴다. 그대로 두면 좁은 기기에서 제목이 두 줄로 접히면서 오른쪽
       * 더보기 버튼까지 밀려 내려간다. 0 을 줘야 제목이 말줄임으로 끝난다.
       */
      min-width: 0;
    }
    h4 {
      font-size: 18px;
      font-weight: normal;
      padding: 0;
      margin: 0;
      margin-right: 14px;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis;
    }
    /*
     * ── 더보기 ──────────────────────────────────────────────────
     *
     * 예전에는 종류마다 그림 한 장이었다(main-more-01~05.png, 193x100).
     * 그림이라 세 가지가 걸렸다 —
     *   · 글자가 그림에 박혀 있어 「윗딜」을 「마켓」으로 바꾸려면 그림을
     *     다시 그려야 했다
     *   · 193x100 을 80x34 로 줄여 쓰던 터라 화면에서 흐릿했다
     *   · 다섯 장을 따로 받느라 첫 화면에서 늦게 떴다
     *
     * 글자는 마크업에 두고 모양만 여기서 만든다. 이제 문구를 고치는 일은
     * 그림 작업이 아니라 글자 한 줄 고치는 일이 된다.
     *
     * ── 왜 옅게 두나 ────────────────────────────────────────────
     * 이 줄의 주인공은 왼쪽 제목(h4)이다. 더보기를 꽉 채워 칠하면 제목보다
     * 눈에 먼저 들어와 「무엇에 대한 더보기인지」를 나중에 읽게 된다.
     * 그래서 같은 남보라를 쓰되 옅은 바탕에 글자로만 말한다.
     */
    /*
     * ── 더보기 ──────────────────────────────────────────────────
     *
     * 예전에는 종류마다 그림 한 장이었다(main-more-01~05.png, 193x100).
     * 193x100 을 80x34 로 줄여 쓰던 터라 흐릿했고, 글자가 그림에 박혀
     * 있어 「윗딜」을 「마켓」으로 바꾸려면 그림을 다시 그려야 했다.
     * 다섯 장을 따로 받느라 첫 화면에서 늦게 뜨기도 했다.
     *
     * 지금은 두 칸으로 나눈 알약이다.
     *
     *   [ 기호 ]  마켓공구
     *             더보기    ›
     *
     * 칸을 나누는 이유 — 기호를 글자 앞에 그냥 붙여 두면 「글자에 딸린
     * 장식」으로 읽힌다. 자리를 칠해서 떼어 주면 제 몫을 가진 칸이 되고,
     * 알약 전체도 눌러야 할 덩어리로 또렷해진다.
     *
     * 글자를 두 줄로 쌓는 이유 — 한 줄로 늘어놓으면 폭이 137px 까지
     * 늘어 왼쪽 제목을 밀어냈다. 쌓으면 긴 낱말 하나의 폭만 쓴다.
     */
    button.more {
      flex-shrink: 0;
      display: inline-flex;
      /* 두 칸이 같은 높이로 서야 칠한 면이 위아래 끝까지 닿는다 */
      align-items: stretch;
      margin: 0;
      padding: 0;
      border: 0;
      border-radius: 12px;
      overflow: hidden;
      /* 카드와 같은 색유리 결 — 옅은 남보라 위에 윗변 광택 한 줄 */
      background: linear-gradient(
        180deg,
        rgba(123, 111, 174, 0.13),
        rgba(87, 77, 132, 0.09)
      );
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75),
        inset 0 0 0 1px rgba(102, 92, 149, 0.18);
      color: #4c4275;
      font-family: inherit;
      letter-spacing: -0.04em;
      white-space: nowrap;
      cursor: pointer;
      -webkit-appearance: none;
      appearance: none;
      -webkit-tap-highlight-color: transparent;
      transition: background 0.15s ease;

      &:active {
        background: linear-gradient(
          180deg,
          rgba(123, 111, 174, 0.24),
          rgba(87, 77, 132, 0.18)
        );
      }

      /*
       * ── 기호 칸 ──
       *
       * 옅은 바탕에 구분선 한 줄로 나눠 봤더니 선이 덧댄 것처럼 보였다.
       * 칸을 통째로 칠하면 선이 필요 없다 — 색이 바뀌는 자리가 곧 경계다.
       *
       * ── 기호를 살짝 오른쪽으로 ──
       * 알약 왼쪽 모서리가 둥글게 깎여 있어, 칸 한가운데에 정확히 두면
       * 눈에는 왼쪽으로 쏠려 보인다. 깎인 만큼(4px) 왼쪽에 여백을 줘서
       * 「보이는 가운데」에 오게 한다. 자로 잰 가운데가 아니라 눈으로 본
       * 가운데가 맞는 자리다.
       */
      .ic {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        width: 36px;
        padding-left: 3px;
        align-self: stretch;
        background: linear-gradient(180deg, #7b6fae, #574d84);
        color: #fff;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28);
      }
      /*
       * ── 기호 ────────────────────────────────────────────────
       *
       * 그림 파일이 아니라 mask 로 그린다. data URI 라 요청이 늘지 않고,
       * 색은 background-color 가 정하므로 글자색과 저절로 같아진다.
       *
       * 선이 아니라 「면」으로 그린 그림을 쓴다. 굵기 2 짜리 선 그림을
       * 16px 로 줄이면 선도 같이 줄어 1.3px 남짓이 되는데, 그러면 획이
       * 흐려지고 가까운 획끼리 붙어 형태가 뭉갠다. 면은 넓이로 읽히므로
       * 작아져도 모양이 살아남는다.
       */
      .ic:before {
        content: "";
        display: block;
        width: 16px;
        height: 16px;
        background-color: currentColor;
        /*
         * 단축(mask: … / contain)으로 쓰지 않는다. 구형 웹뷰는 단축 안의
         * `/ 크기` 를 못 읽고 선언을 통째로 버리는데, 그러면 mask-size 가
         * auto 로 남아 기호가 상자보다 크게 잡히고 잘린 것처럼 보인다.
         */
        -webkit-mask-image: var(--more-ico);
        mask-image: var(--more-ico);
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-position: center;
        mask-position: center;
        -webkit-mask-size: contain;
        mask-size: contain;
      }

      /* 쇼핑백 — 마켓공구 */
      &.type1 {
        --more-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M5.6 7.4h12.8a1 1 0 0 1 1 1.1l-1 10.7a2.2 2.2 0 0 1-2.2 2H7.8a2.2 2.2 0 0 1-2.2-2l-1-10.7a1 1 0 0 1 1-1.1z'/%3E%3Cpath d='M9 8.4V6.3a3 3 0 0 1 6 0v2.1' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round'/%3E%3C/svg%3E");
      }
      /* 김 나는 밥그릇 — 맛집공구 */
      &.type2 {
        --more-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M2.8 10.9h18.4a1 1 0 0 1 1 1.05A10.2 10.2 0 0 1 12 21.5 10.2 10.2 0 0 1 1.8 11.95a1 1 0 0 1 1-1.05z'/%3E%3Cpath d='M8.6 3.1c.85.8.85 1.85 0 2.65-.6.57-.66 1.25-.2 1.95M12 2.4c.85.8.85 1.85 0 2.65-.6.57-.66 1.25-.2 1.95M15.4 3.1c.85.8.85 1.85 0 2.65-.6.57-.66 1.25-.2 1.95' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
      }
      /* 번개 — 당일배달 */
      &.type3 {
        --more-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M13.6 1.8 4.7 13.2a.85.85 0 0 0 .67 1.37h4.4l-1.05 7.1a.85.85 0 0 0 1.5.65l8.9-11.4a.85.85 0 0 0-.67-1.37h-4.4l1.05-7.1a.85.85 0 0 0-1.5-.65z'/%3E%3C/svg%3E");
      }
      /* 카트 — 마트배달 */
      &.type4 {
        --more-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M1.9 3.2a1 1 0 0 0 0 2h2l2.4 10.6a2.6 2.6 0 0 0 2.55 2.05h8.1a2.6 2.6 0 0 0 2.5-1.95L21.9 8.4a1 1 0 0 0-.97-1.25H6.6l-.5-2.2a1.35 1.35 0 0 0-1.3-1.05H1.9z'/%3E%3Ccircle cx='9.6' cy='20.4' r='1.6'/%3E%3Ccircle cx='17.6' cy='20.4' r='1.6'/%3E%3C/svg%3E");
      }
      /* 가게 — 동네공구 */
      &.type5 {
        --more-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M4.3 2.8h15.4a1 1 0 0 1 .95.69l1.3 4.2a1 1 0 0 1-.95 1.31H2.98a1 1 0 0 1-.95-1.31l1.3-4.2a1 1 0 0 1 .97-.69z'/%3E%3Cpath d='M4.2 10.5h15.6v9.3a1.4 1.4 0 0 1-1.4 1.4h-3.6v-5.6H9.2v5.6H5.6a1.4 1.4 0 0 1-1.4-1.4v-9.3z'/%3E%3C/svg%3E");
      }
      /* 택배 상자 — 택배공구 */
      &.type6 {
        --more-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 1.9 2.6 6.4v11.2L12 22.1l9.4-4.5V6.4L12 1.9zm0 2.2 6.6 3.2-2.5 1.2-6.6-3.2L12 4.1zM5 7.3l2.4-1.2 6.6 3.2L12 10.3 5 7.3zm-.4 1.7 6.4 3.1v7.4l-6.4-3.1V9zm8.4 10.5v-7.4l2.6-1.3v2.7l2-1v-2.7l1.8-.9v7.4L13 19.5z'/%3E%3C/svg%3E");
      }

      /* ── 글자 + 화살표 칸 ── */
      /*
       * 칠한 칸 옆이라 글자를 조금 더 띄운다. 색이 진한 면에 붙으면
       * 글자가 그 면에 눌린 것처럼 보인다.
       *
       * 위아래 여백은 5px 까지만 준다. 두 줄이라 그것만으로도 전체가
       * 35px 가 되는데, 왼쪽 제목(18px)과 나란히 설 때 이보다 커지면
       * 버튼이 제목을 내려다보는 모양이 된다.
       */
      .bd {
        display: flex;
        align-items: center;
        gap: 6px;
        padding: 5px 4px 5px 10px;
      }
      .txt {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        /* 두 줄 사이는 1px 이면 된다 — 글자 크기가 이미 다르다 */
        gap: 1px;
        min-width: 0;
      }
      /* 어디로 가는지 — 굵게 */
      .l {
        font-size: 12px;
        font-weight: 700;
        line-height: 1.1;
      }
      /*
       * 「더보기」는 한 톤 낮춘다. 굵기까지 같으면 두 낱말이 한 덩어리로
       * 읽혀 무엇이 이름이고 무엇이 동작인지 흐려진다.
       */
      .m {
        font-size: 9.5px;
        font-weight: 600;
        line-height: 1.1;
        opacity: 0.58;
      }

      /*
       * ── 꺾쇠 ──
       *
       * 동그라미에 채워 넣어 봤더니 왼쪽 기호 칸과 함께 진한 덩어리가
       * 둘이 되어 알약 양끝이 무거워졌다. 정작 읽어야 할 가운데 글자가
       * 눌린다. 그래서 가둔 것을 풀고 크기만 키운다(9px → 16px).
       *
       * 키우면서 옅게 두는 것이 요령이다. 진하면 이름보다 먼저 읽히는데,
       * 크기만으로도 「여기가 끝, 이쪽으로 간다」는 말은 충분히 전해진다.
       */
      .bd:after {
        content: "";
        display: block;
        flex-shrink: 0;
        width: 16px;
        height: 16px;
        margin-right: 2px;
        background-color: currentColor;
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 5 7 7-7 7'/%3E%3C/svg%3E");
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 5 7 7-7 7'/%3E%3C/svg%3E");
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-position: center;
        mask-position: center;
        -webkit-mask-size: contain;
        mask-size: contain;
        opacity: 0.72;
        /*
         * ── 움직임 ──
         *
         * 2.4초에 한 번, 오른쪽으로 4px 밀렸다 돌아온다.
         *
         * 이 버튼은 한 화면에 다섯 줄이 있다. 쉬지 않고 도는 움직임을
         * 넣으면 다섯 개가 제각각 흔들려 정작 상품이 안 읽힌다. 그래서
         * 주기의 앞 70% 는 가만히 두고 뒤쪽에서만 한 번 민다.
         *
         * 미는 거리는 4px 까지다. 알약에 overflow:hidden 이 걸려 있어
         * 오른쪽 여백(6px)을 넘기면 꺾쇠가 잘린다.
         */
        -webkit-animation: wdMoreNudge 2.4s ease-in-out infinite;
        animation: wdMoreNudge 2.4s ease-in-out infinite;
      }
    }
  }
  .sub-tit {
    border-radius: 5px;
    font-size: 16px;
    color: #fff;
    padding: 4px 8px;
    height: 32px;
    line-height: 24px;
    margin: 0 8px 10px;
    background-color: #665c95;
    height: 32px;
  }
}

/* 상품목록 상품명 슬라이드 애니메이션 */
@keyframes pname-slide {
  0% {
    transform: translateX(0%);
  }
  10% {
    transform: translateX(0%);
  }
  50% {
    transform: translateX(calc(-100% + 100vw - 40px));
  }
  60% {
    transform: translateX(calc(-100% + 100vw - 40px));
  }
  100% {
    transform: translateX(0%);
  }
}

/* 상품 썸네일 오른쪽 하단: 상세(이미지) 팝업 안내 돋보기 — 클릭은 상품 이미지로 전달 */
.pd-img-detail-icon {
  position: absolute;
  right: 0px;
  bottom: 0px;
  width: 24px;
  height: 24px;
  z-index: 8;
  pointer-events: none;
  object-fit: contain;
}

/* 품절 딤 — seacrh_products_group.php / style.css .soldout-dim 과 동일(이미지 영역 덮음, 좌상단 아이콘) */
.main-witdeal-item .pd-item .pd-img .soldout-dim {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 25;
  color: #fff;
  font-size: 18px;
  line-height: 1.4;
  display: flex;
  text-align: center;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.5) url(/app/common/img/ssada/icon-soldout-dim.png)
    no-repeat top left / 120px auto;
  box-sizing: border-box;
}
/* 맛집: swiper 안이 아니라 wd-product-item 직속 — top-area/bottom-area(z-index:10) 위에 표시 */
.wd-product-item > .wd-product-soldout-dim.soldout-dim {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 20;
  color: #fff;
  font-size: 18px;
  line-height: 1.4;
  display: flex;
  text-align: center;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.5) url(/app/common/img/ssada/icon-soldout-dim.png)
    no-repeat top left / 120px auto;
  box-sizing: border-box;
}
.soldout-dim.mini {
  background: rgba(0, 0, 0, 0.5) url(/app/common/img/ssada/icon-soldout-dim.png)
    no-repeat top left / 60px auto !important;
}

/* DOM 순서(상품명 바로 아래)는 그대로 두고 flex order 로만 카드 맨 아래로 내린다 */
.main-witdeal-item .item-info,
.witdeal-all-products-card .item-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.main-witdeal-item .item-info > .pd-foot,
.witdeal-all-products-card .item-info > .pd-foot {
  -webkit-box-ordinal-group: 100;
  -ms-flex-order: 99;
  order: 99;
}
/* 맛집 카드: 별점도 없고 문의도 빠졌으면 줄이 빈 츸 높이만 차지한다 — 통째로 숨긴다 */
.product-detail-btns.type-photo.wd-restaurant-pd-btns:not(
    :has(.review-rate-wrap)
  ) {
  display: none !important;
}
.product-detail-btns.type-photo.wd-restaurant-pd-btns {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
/* 맛집 카드에는 바로가기 줄을 두지 않는다 — 제목 끝 화살표(.wd-product-title-go)가 대신한다 */

/**
 * 카드 액션 버튼(문의 · 담기)
 * 별점을 후기 있을 때만 노출하면서 아이콘 두 개만 오른쪽에 떠 휑해졌다.
 * 두 버튼이 줄을 나눠 채우게 하고, 자주 쓰는 「담기」에만 색을 준다.
 */
/**
 * 담기 — 이미지 우하단 원형 버튼(기존 돋보기 자리)
 * 카드에서 가장 자주 쓰는 동작 하나만 띄우는 방식.
 * 아이콘은 기존 btn-cart.png 원본(검정)을 흰 원 위에 그대로 올린다.
 */
.pd-cart-fab {
  position: absolute;
  right: 4px;
  bottom: 12px;
  z-index: 7;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.22);
  -webkit-backdrop-filter: blur(14px) saturate(190%) brightness(112%);
  backdrop-filter: blur(14px) saturate(190%) brightness(112%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  /* 리퀴드 글래스 — 흐림(blur)만 하는 글래스모피즘에 '빛'을 더한 재질.
     가장자리로 갈수록 빛이 휘어 밝아지고(edge lensing) 위쪽에 광원이 맺힌다.
     안쪽 그림자 네 겹이 유리의 두께를 만든다. */
  border: 0;
  box-shadow:
    0 6px 18px rgba(20, 16, 32, 0.26),
    inset 0 1.5px 1px rgba(255, 255, 255, 0.95),
    inset 0 -6px 10px rgba(255, 255, 255, 0.3),
    inset 0 0 0 1px rgba(255, 255, 255, 0.4);
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  transition:
    transform 0.15s ease,
    background-color 0.15s ease;
  /* 5초에 한 번 두둥실 — 눈에는 띄지만 여러 장이 깔려도 시끄럽지 않은 간격 */
  -webkit-animation: pdCartFloat 5s ease-in-out infinite;
  animation: pdCartFloat 5s ease-in-out infinite;
}
@-webkit-keyframes pdCartFloat {
  0%,
  62%,
  100% {
    -webkit-transform: translateY(0);
  }
  70% {
    -webkit-transform: translateY(-3.5px);
  }
  78% {
    -webkit-transform: translateY(0);
  }
  86% {
    -webkit-transform: translateY(-2px);
  }
  93% {
    -webkit-transform: translateY(0);
  }
}
@keyframes pdCartFloat {
  0%,
  62%,
  100% {
    transform: translateY(0);
  }
  70% {
    transform: translateY(-3.5px);
  }
  78% {
    transform: translateY(0);
  }
  86% {
    transform: translateY(-2px);
  }
  93% {
    transform: translateY(0);
  }
}
/* 플렉스 정렬만으로는 PNG 여백 때문에 살짝 치우쳐 보인다 — 좌표로 고정.
   유리 위에서 아이콘이 묻히지 않도록 아주 옅은 백글로우를 깐다. */
/**
 * 유리의 빛 — 위쪽 스페큘러 하이라이트 + 아래쪽 굴절 링 + 좌상단 반사.
 * 체크 표시가 :after 를 쓰므로 빛은 :before 에 세 겹으로 겹쳐 넣는다.
 */
.pd-cart-fab:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  border-radius: 50%;
  pointer-events: none;
  background:
    radial-gradient(
      56% 26% at 50% 10%,
      rgba(255, 255, 255, 0.95) 0%,
      rgba(255, 255, 255, 0) 72%
    ),
    radial-gradient(
      105% 105% at 50% 122%,
      rgba(255, 255, 255, 0.6) 0%,
      rgba(255, 255, 255, 0) 44%
    ),
    radial-gradient(
      62% 56% at 32% 16%,
      rgba(255, 255, 255, 0.5) 0%,
      rgba(255, 255, 255, 0) 72%
    );
  -webkit-animation: pdCartSheen 6s ease-in-out infinite;
  animation: pdCartSheen 6s ease-in-out infinite;
}
@-webkit-keyframes pdCartSheen {
  0%,
  100% {
    opacity: 0.74;
  }
  50% {
    opacity: 1;
  }
}
@keyframes pdCartSheen {
  0%,
  100% {
    opacity: 0.74;
  }
  50% {
    opacity: 1;
  }
}

.pd-cart-fab__ico {
  z-index: 2;
  -webkit-filter: drop-shadow(0 1px 1.5px rgba(255, 255, 255, 0.85));
  filter: drop-shadow(0 1px 1.5px rgba(255, 255, 255, 0.85));
  position: absolute;
  left: 50%;
  top: 50%;
  width: 20px !important;
  height: 20px !important;
  object-fit: contain;
  display: block;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.pd-cart-fab:active {
  /* 애니메이션이 돌면 transform 이 무시되므로 눌린 동안은 멈춘다 */
  -webkit-animation: none;
  animation: none;
  -webkit-transform: scale(0.92);
  transform: scale(0.92);
}
/* 담긴 직후 잠시 보라로 전환해 반응을 알린다 */
/**
 * 담기 피드백 — 누르면 보라로 채워지며 체크로 바뀌고, 잠시 뒤 원래대로 돌아온다.
 * 담긴 것을 눈으로 확인시켜야 “담긴다”는 느낌이 생긴다 — 배경색보다 이쪽이 훨씬 크다.
 */
.pd-cart-fab.is-added {
  background: #5b46c9;
  -webkit-animation: pdCartPop 0.42s ease;
  animation: pdCartPop 0.42s ease;
}
.pd-cart-fab.is-added .pd-cart-fab__ico {
  opacity: 0;
}
/* CSS 로 그린 체크 — 담긴 동안만 보인다 */
.pd-cart-fab:after {
  content: "";
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 50%;
  width: 12px;
  height: 6px;
  margin: -5px 0 0 -6px;
  border-left: 2.4px solid #fff;
  border-bottom: 2.4px solid #fff;
  border-radius: 1px;
  opacity: 0;
  -webkit-transform: rotate(-45deg) scale(0.6);
  transform: rotate(-45deg) scale(0.6);
  -webkit-transition:
    opacity 0.18s ease,
    -webkit-transform 0.18s ease;
  transition:
    opacity 0.18s ease,
    transform 0.18s ease;
}
.pd-cart-fab.is-added:after {
  opacity: 1;
  -webkit-transform: rotate(-45deg) scale(1);
  transform: rotate(-45deg) scale(1);
}
@-webkit-keyframes pdCartPop {
  0% {
    -webkit-transform: scale(0.86);
  }
  55% {
    -webkit-transform: scale(1.14);
  }
  100% {
    -webkit-transform: scale(1);
  }
}
@keyframes pdCartPop {
  0% {
    transform: scale(0.86);
  }
  55% {
    transform: scale(1.14);
  }
  100% {
    transform: scale(1);
  }
}

/* backdrop-filter 미지원 브라우저: 유리 대신 불투명한 흰 원으로 */
@supports not (
  (-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))
) {
  .pd-cart-fab {
    background: rgba(255, 255, 255, 0.94);
    box-shadow:
      0 3px 10px rgba(20, 16, 32, 0.24),
      inset 0 0 0 1px rgba(20, 16, 32, 0.1);
  }
  /* 뒤가 안 비치면 굴절 표현이 뜬금없어 보이므로 위쪽 광만 약하게 남긴다 */
  .pd-cart-fab:before {
    background: radial-gradient(
      56% 26% at 50% 10%,
      rgba(255, 255, 255, 0.8) 0%,
      rgba(255, 255, 255, 0) 72%
    );
  }
}

@media (prefers-reduced-motion: reduce) {
  .pd-cart-fab,
  .pd-cart-fab:before {
    -webkit-animation: none !important;
    animation: none !important;
  }
}

/**
 * 이미지 위 문의 아이콘 (기존 icon-inquiry-front.gif)
 * 담기 버튼 왼쪽에 나란히 둔다 — 푸터가 없는 맛집 카드용
 */
.pd-ask-fab {
  position: absolute;
  /* 담기(34px, right:4px, bottom:12px) 바로 위에 중심을 맞춰 세운다 */
  right: 7px;
  bottom: 54px;
  z-index: 7;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  /* 아이콘의 물음표가 뚫려 있어 배경이 비친다 — 흰 원으로 받쳐 준다 */
  background: #fff;
  overflow: hidden;
  /* iOS 사파리에서 radius + overflow 로 <img> 가 안 잘리는 경우가 있어 마스크로 보강 */
  -webkit-mask-image: -webkit-radial-gradient(circle, #fff 100%, #000 100%);
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  box-shadow: 0 2px 6px rgba(20, 16, 32, 0.22);
  transition: transform 0.15s ease;
}
/* gif 가장자리에 남은 반투명 테두리(부스스한 링)를 원 밖으로 밀어내 잘라낸다 */
.pd-ask-fab__ico {
  position: absolute;
  left: -8%;
  top: -8%;
  width: 116% !important;
  height: 116% !important;
  max-width: none;
  object-fit: cover;
  display: block;
}
.pd-ask-fab:active {
  -webkit-transform: scale(0.92);
  transform: scale(0.92);
}

/**
 * 가격/옵션 박스와 푸터가 테두리를 한 줄로 공유하게 한다.
 * 손대는 쪽은 위 박스 — 아랫변과 아래 라운드를 빼고 푸터 윗변에 그대로 얹는다.
 * 푸터가 없는 카드(당일·마트 「전체상품 보기」 등)는 기존처럼 사방 테두리를 유지한다.
 */
/* .price-box 원래 규칙이 중첩 선택자(.main-witdeal-item .pd-item .item-info .price-box)라
   우선순위가 높다 — 같은 깊이로 맞춰야 아래 라운드가 실제로 지워진다 */
.main-witdeal-item .pd-item .item-info:has(> .pd-foot) .price-box,
.witdeal-all-products-card .item-info:has(> .pd-foot) .price-box {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

/**
 * 카드 푸터 — 왼쪽 문의, 오른쪽 상품 보러가기
 * 줄을 늘리지 않고 문의를 살리면서 탭 영역도 확보한다.
 */
.pd-foot {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  width: 100%;
  box-sizing: border-box;
  /* 위 가격 박스와 붙여 한 덩어리로 */
  margin: 0;
  border: 0;
  /* 가격줄보다 한 단계 옅은 배경 — 선 없이 두 영역이 나뉜다 */
  background-color: #fbfafe;
  border-radius: 0 0 8px 8px;
  overflow: hidden;
}
.pd-foot__ask,
.pd-foot__go {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 30px;
  padding: 0;
  border: 0;
  background: none;
  font-family: inherit;
  font-size: 12px;
  letter-spacing: -0.2px;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
}
.pd-foot__ask {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  position: relative;
  padding: 0 11px;
  color: #9b95a8;
  font-weight: 500;
}
/* 두 영역 구분선 */
.pd-foot__ask:after {
  content: "";
  position: absolute;
  right: 0;
  top: 8px;
  bottom: 8px;
  width: 1px;
  background: #e8e4f3;
}
.pd-foot__go {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  gap: 2px;
  color: #5b46c9;
  font-weight: 600;
}
.pd-foot__chev {
  font-style: normal;
  font-size: 13px;
  line-height: 1;
}
.pd-foot__ask:active {
  color: #5b46c9;
  background: #f6f4fd;
}
.pd-foot__go:active {
  background: #f6f4fd;
}

/* 맛집 카드처럼 푸터가 없는 곳의 단독 문의 버튼 */
.pd-ask-link {
  padding: 6px 2px;
  border: 0;
  background: none;
  font-family: inherit;
  font-size: 13px;
  font-weight: 500;
  color: #9b95a8;
  letter-spacing: -0.2px;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
}
.pd-ask-link:active {
  color: #5b46c9;
}

/* 별점이 있으면 윗줄, 버튼은 아랫줄 전체 */
.product-detail-btns.type-photo {
  height: auto !important;
  min-height: 33px;
  /* 상품명·가격과 붙어 답답해 보이지 않게 위아래 숨통을 준다 */
  margin: 9px 0 8px !important;
}
.product-detail-btns.type-photo .pd-btns {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  row-gap: 6px;
  gap: 6px !important;
  margin-left: 0 !important;
}
/* 맛집 큰 카드에서는 별점이 버튼과 같은 줄에 그대로 들어간다 */
.product-detail-btns.type-photo .pd-btns > .review-rate-wrap {
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}

/**
 * 상품 이미지 위 별점 배지
 * 텍스트 영역에 두면 후기 유무로 카드 높이가 달라져 2열 그리드 줄이 어긋난다.
 * 무료배달 바(높이 20px, bottom:0) 바로 위에 얹는다.
 */
.pd-rate-badge {
  position: absolute;
  left: 3px;
  bottom: 24px;
  z-index: 6;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 4px;
  height: 24px;
  padding: 0 8px 0 6px;
  border: 0;
  border-radius: 999px;
  background: rgba(20, 16, 32, 0.62);
  color: #fff;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.2px;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
}
.pd-rate-badge__star {
  width: 18px;
  height: 18px;
  color: #ffc53d;
  flex-shrink: 0;
}
.pd-rate-badge__cnt {
  font-weight: 500;
  opacity: 0.75;
}
.pd-rate-badge:active {
  background: rgba(20, 16, 32, 0.8);
}
.wac-all-products-wrap {
  .pd-item {
    .pd-img {
      border-radius: 6px 6px 0px 0px !important;
    }
    .item-info {
      margin: 4px !important;
    }
  }
}
.main-witdeal-item {
  .pd-item {
    .pd-img {
      position: relative;
      border-radius: 6px 6px 6px 6px;
      overflow: hidden;

      .icon-hotdeal {
        position: absolute;
        display: inline-block;
        top: 0;
        right: 0;
        width: 55px;
        height: 55px;
        background: url(/app/common/img/main/img-hot-deal.png) no-repeat
          center/contain;
      }

      .txt-delivery {
        bottom: 0;
        left: 0;
        height: 20px;
        width: 100%;
        line-height: 20px;
        font-size: 12px;
        position: absolute;
        text-align: center;
        color: #7dfff9;
        background-color: rgba(0, 0, 0, 0.4);

        &.type-yellow {
          color: yellow;
        }
        &.type-white {
          color: #fff;
        }
      }

      .rank {
        position: absolute;
        display: inline-block;
        top: 5px;
        left: 5px;
        width: 30px;
        height: 30px;
        text-align: center;
        font-weight: bold;
        line-height: 30px;
        border-radius: 50%;
        background-color: #f6c142;
        font-size: 15px;
        color: #fff;
      }

      .btn-pd-cart {
        position: absolute;
        border: 0;
        z-index: 10;
        width: 24px;
        height: 24px;
        right: 5px;
        bottom: 5px;
        background: url(/app/common/img/main/btn-pd-cart.png) no-repeat
          center/contain;
      }
    }

    .item-info {
      margin: 6px 0px;
      overflow: hidden;
      -webkit-tap-highlight-color: transparent;
      tap-highlight-color: transparent;
      touch-action: manipulation;
      .title {
        font-size: 15px;
        white-space: nowrap;
        width: max-content;
        color: #000;
        &.slide {
          animation: pname-slide 6s infinite;
        }
      }

      .title-all {
        font-size: 14px;
        color: #000;
        line-height: 1.4;
      }
      .txt-detail {
        font-size: 14px;
        color: #000;
        line-height: 1.4;
      }

      .date {
        margin-top: 4px;
        font-size: 13px;
        color: #315f95;
      }
      .price-box {
        height: 30px;
        display: flex;
        align-items: center;
        margin-top: 6px;
        /* 테두리 없이 배경 밝기로만 푸터와 구분한다 (선은 2열 그리드에서 격자처럼 보인다) */
        border: 0;
        border-radius: 8px;
        background-color: #f4f2fa;
        padding: 0 9px;
        .discount {
          flex-shrink: 0;
          color: #fb3392;
          text-align: center;
          width: 56px;
          height: 20px;
          line-height: 20px;
          border-radius: 4px;
          font-size: 13px;
          background-color: transparent;
          i {
            font-style: normal;
            margin-top: 4px;
            display: inline-block;
            vertical-align: middle;
            line-height: 12px;
          }
        }
        .badge-delivery {
          flex-shrink: 0;
          color: #fb3392;
          text-align: center;
          min-width: 56px;
          height: 20px;
          line-height: 20px;
          border-radius: 4px;
          font-size: 13px;
          background-color: transparent;
          &.type-green {
            background-color: transparent;
          }
        }
        .price {
          flex: 1;
          padding-left: 8px;
          text-align: right;
          box-sizing: border-box;
          min-width: 0;
          /* margin-bottom: 5px; */
          .p1 {
            font-size: 11px;
            color: #666;
            text-decoration: line-through;
          }
          .p2 {
            /* margin:2px 0; */
            color: #595959;
            font-size: 14px;
            font-weight: bold;
            text-align: right;
            display: block;
            width: 100%;
            box-sizing: border-box;
          }
          .mw-price-track-wrap {
            width: 100%;
            box-sizing: border-box;
            text-align: right;
          }
          .opt {
            font-size: 10px;
            color: #315f95;
            letter-spacing: -0.04em;
          }
        }
        .img-opt {
          flex-shrink: 0;
          height: 19px;
          width: auto;
          margin-top: 8px;
        }
        .img-opt2 {
          flex-shrink: 0;
          height: 19px;
          width: auto;
          margin-top: 8px;
        }
      }
    }
  }
}

.witdeal-footer {
  position: relative;
  .foot-top {
    position: absolute;
    padding: 10px;
    top: 0;
    left: 0;
    display: flex;
    width: 100%;
    gap: 10px;
    .logo {
      flex: 1;
      text-align: right;
      img {
        max-width: 150px;
        opacity: 0.4;
      }
    }
    dl {
      flex: 1;
      dt {
        font-size: 14px;
        color: #6c589d;
        font-weight: bold;
      }
      dd {
        margin-top: 5px;
        color: #666;
        font-size: 11px;
        letter-spacing: -0.03em;
        .icon-info {
          width: 12px;
          height: 12px;
          vertical-align: middle;
        }
      }
    }
  }
  button {
    position: absolute;
    z-index: 2;
    border: 0;
    background-color: transparent;
    &.btn1 {
      width: 25.9%;
      height: 23.9%;
      left: 2%;
      bottom: 12%;
    }
    &.btn2 {
      width: 25.9%;
      height: 23.9%;
      left: 29%;
      bottom: 12%;
    }
    &.btn3 {
      width: 17%;
      height: 11%;
      left: 56%;
      bottom: 25%;
    }
    &.btn4 {
      width: 23%;
      height: 11%;
      left: 75%;
      bottom: 25%;
    }
    &.btn5 {
      width: 17%;
      height: 11%;
      left: 56%;
      bottom: 12%;
    }
    &.btn6 {
      width: 23%;
      height: 11%;
      left: 75%;
      bottom: 12%;
    }
  }
}

.witdeal-vertical-scroll {
  overflow: auto;
  -ms-overflow-style: none; /* IE, Edge */
}
.witdeal-vertical-scroll::-webkit-scrollbar {
  display: none;
}

.witdeal-horizontal-scroll {
  overflow: auto;
  -ms-overflow-style: none; /* IE, Edge */
}
.witdeal-horizontal-scroll::-webkit-scrollbar {
  display: none;
}

.event-list-scroll {
  padding: 0 10px;
  display: flex;
  width: max-content;
  gap: 10px;
  & > li {
    position: relative;
    width: 58vw;
    img {
      border-radius: 12px;
    }
    .tit-event {
      position: absolute;
      font-weight: normal;
      top: 0;
      left: 50%;
      height: 24px;
      line-height: 24px;
      /* padding:0 25px; */
      width: 80px;
      text-align: center;
      font-size: 14px;
      border-radius: 0 0 10px 10px;
      background-color: #fff;
      transform: translateX(-50%);
    }
  }
}

.pd-list-scroll {
  padding: 0 10px;
  display: flex;
  width: max-content;
  gap: 10px;
  & > li {
    /*width:156px;*/
    width: 41vw;
  }

  .child-swiper {
    width: 100%;
    padding: 0;
    text-align: center;
    height: 19px;
    line-height: 19px;
    font-size: 10px;
    position: absolute;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.4);
    color: #fff;
    .swiper-slide {
      font-size: inherit;
      padding: 0;
      margin: 0;
    }
  }

  &.type1 {
    .btn-pd-cart {
      bottom: 25px !important;
    }
  }
}

.partner-list-scroll {
  margin-bottom: 30px;
  padding: 0 10px;
  display: flex;
  width: max-content;
  gap: 10px;
  & > li {
    /* width:192px; */
    width: 70vw;
  }
  .partner-item {
    > img {
      border-radius: 6px;
      width: 100%;
    }
    dl {
      margin-top: 10px;
      display: flex;
      align-items: center;
      dt {
        flex-shrink: 0;
        margin-right: 10px;
        img {
          width: 40px;
          height: 40px;
          border-radius: 50%;
          border: 1px solid #ccc;
        }
      }
      dd {
        flex: 1;
        min-width: 0;
        .shop-name {
          font-size: 15px;
          color: #000;
        }
        .shop-addr {
          margin-top: 5px;
          font-size: 13px;
          white-space: nowrap;
          overflow: hidden;
          text-overflow: ellipsis;
          &::before {
            content: "";
            display: inline-block;
            vertical-align: middle;
            margin-right: 5px;
            width: 16px;
            height: 16px;
            background: url(/app/common/img/main/icon-area.png) no-repeat
              center/contain;
          }
        }
      }
    }
    .txt {
      margin-top: 10px;
      font-size: 15px;
      color: #000;
      p + p {
        margin-top: 8px;
      }
    }
  }
}

.news-box-wrap.swiper {
  height: 46px;
  background-color: transparent;
  .swiper-wrapper > .swiper-slide {
    height: auto;
    padding: 0;
    margin: 0;
    min-width: 0;
    box-sizing: border-box;
  }
}

/* 소식 바: 좌우 꽉 채우는 띠 — 단색 대신 그라디언트·그림자로만 다듬는다 */
.witdeal-news-item {
  height: 42px;
  padding: 0 12px 0 46px;
  display: flex;
  justify-content: space-between;
  color: #fff !important;
  font-size: 15px;
  letter-spacing: -0.2px;
  display: flex;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  align-items: center;
  box-shadow: 0 4px 12px rgba(75, 175, 234, 0.28);
  background:
    url(/app/common/img/main/icon-news.gif) no-repeat center left 12px/26px auto,
    linear-gradient(100deg, #3fa3e6 0%, #57bdf0 100%);
  > span {
    flex: 1 1 0%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-top: 1px;
  }
  &::after {
    content: "";
    flex-shrink: 0;
    width: 12px;
    height: 100%;
    background: url(/app/common/img/main/icon-news-arr.png) no-repeat center
      right/12px auto;
  }
}

/* 짝수번째 소식(기존 #CA76C7) — 인라인 배경색 대신 클래스로 */
.witdeal-news-item--alt {
  background:
    url(/app/common/img/main/icon-news.gif) no-repeat center left 12px/26px auto,
    linear-gradient(100deg, #bf68c5 0%, #d98ad6 100%);
  box-shadow: 0 4px 12px rgba(202, 118, 199, 0.28);
}

.is-ios {
  .witdeal-news-item {
    > span {
      padding-top: 3px;
    }
  }
}

@media (max-width: 340px) {
  .main-witdeal-wrap {
    .foot-top {
      dl {
        dd {
          margin-top: 1px;
        }
      }
    }
  }
}

/* 체크박스 */
.checkbox-witdeal {
  display: inline-block;
  position: relative;
  input {
    position: absolute;
    opacity: 0;
    left: 0;
    top: 0;
  }
  .lbl {
    position: relative;
    gap: 4px;
    align-items: center;
    font-size: 14px;
    color: #777;
    display: inline-flex;
    &::before {
      content: "";
      display: inline-block;
      width: 14px;
      height: 14px;
      border-radius: 3px;
      border: 1px solid #888;
      box-sizing: border-box;
    }
  }
  input:checked + .lbl {
    &::before {
      background-color: #bee3a8;
    }
    &::after {
      content: "";
      position: absolute;
      left: 5px;
      top: 1px;
      width: 3px;
      height: 7px;
      border: solid #000;
      border-width: 0 1px 1px 0;
      transform: rotate(45deg);
    }
  }
}

/* 나의 제로마트 */
.my-head-search {
  background-color: #fff;
  .search-area {
    padding: 10px 12px;
    display: flex;
    gap: 12px;
    align-items: center;
    .ip-search {
      width: 100%;
      flex: 1;
      border: 1px solid #a6a6a6;
      border-radius: 4px;
      height: 24px;
      font-size: 14px;
      padding: 0 10px;
      color: #000;
    }
    .ip-search::placeholder {
      color: #a6a6a6;
    }
    .checkboxes {
      flex-shrink: 0;
      display: flex;
      gap: 10px;
      margin-top: 2px;
      align-items: center;
    }
  }

  .my-witdeal-tab {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 0 12px 10px;
    & > li {
      flex-shrink: 0;
      button {
        margin: 0;
        padding: 0;
        border: 0;
        background-color: transparent;
        font-size: 15px;
        color: #7f7f7f;
        display: inline-flex;
        gap: 4px;
        align-items: flex-end;
        &:before {
          content: "";
          display: inline-block;
          width: 24px;
          height: 24px;
        }
        &.on {
          color: #000;
        }
      }
      &.t01 {
        button:before {
          background: url(/app/witdealmart/img/my-tab-01.png) no-repeat
            center/contain;
        }
        button.on:before {
          background-image: url(/app/witdealmart/img/my-tab-01-on.png);
        }
      }
      &.t02 {
        button:before {
          background: url(/app/witdealmart/img/my-tab-02.png) no-repeat
            center/contain;
        }
        button.on:before {
          background-image: url(/app/witdealmart/img/my-tab-02-on.png);
        }
      }
      &.t03 {
        button:before {
          background: url(/app/witdealmart/img/my-tab-03.png) no-repeat
            center/contain;
        }
        button.on:before {
          background-image: url(/app/witdealmart/img/my-tab-03-on.png);
        }
      }
      &.t04 {
        button {
          position: relative;
          i {
            display: none;
            width: 14px;
            height: 14px;
            background-color: red;
            color: #fff;
            font-style: normal;
            font-size: 10px;
            line-height: 14px;
            text-align: center;
            border-radius: 50%;
            position: absolute;
            top: -2px;
            left: -2px;
          }
        }
        button:before {
          background: url(/app/witdealmart/img/my-tab-04.png) no-repeat
            center/contain;
        }
        button.on {
          i {
            display: inline-block;
          }
        }
        button.on:before {
          background-image: url(/app/witdealmart/img/my-tab-04-on.png);
        }
      }
    }
  }
}

.witdealmart-product-list {
  border-bottom: 1px solid #d9d9d9;
  margin-bottom: 30px;
  .banner-item {
    padding: 5px 12px;
    img {
      border-radius: 5px;
    }
  }
}

.witdealmart-product-item {
  position: relative;
  & + .witdealmart-product-item {
    border-top: 1px solid #d9d9d9;
  }

  .btn-add-favorite {
    position: absolute;
    border: 0;
    top: 8px;
    right: 14px;
    padding: 0;
    margin: 0;
    z-index: 4;
    width: 24px;
    height: 21px;
    background: url(/app/witdealmart/img/add-favorite.png) no-repeat top
      left/contain;
    &:disabled,
    &.type2 {
      background-image: url(/app/witdealmart/img/add-favorite2.png);
    }
  }
}

@keyframes info-pname-slide {
  0% {
    transform: translateX(0%);
  }
  10% {
    transform: translateX(0%);
  }
  50% {
    transform: translateX(calc(-100% + 100vw - 130px));
  }
  60% {
    transform: translateX(calc(-100% + 100vw - 130px));
  }
  100% {
    transform: translateX(0%);
  }
}

/* 애니메이션 정의 */
@keyframes marquee-loop {
  from {
    transform: translateX(0%);
  }
  to {
    transform: translateX(-50%);
  } /* 2배 복제했으므로 -50%로 무한 반복 */
}

.witdealmart-product-info {
  display: flex;
  padding: 10px 12px;
  gap: 10px;

  dt {
    width: 90px;
    height: 90px;
    overflow: hidden;
    border: 1px solid #dadada;
    border-radius: 8px;
    flex-shrink: 0;
  }
  dd {
    overflow: hidden;
    min-width: 88px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    flex: 1;
    font-size: 14px;
    color: #000;
    line-height: 1.4;

    .recent-wrap {
      margin-bottom: 4px;
      display: flex;
      font-size: 12px;
      color: #000;
      justify-content: space-between;
      line-height: 23px;
      height: 21px;
      overflow: hidden;
      padding: 0 6px;
      border-radius: 4px;
      background-color: #d9d9d9;
      align-items: center;
      em {
        font-size: 10px;
        font-style: normal;
        color: #000;
      }
      .state {
        display: inline-flex;
        align-items: center;
        gap: 3px;
        &.type-red {
          color: red;
        }
        &.type-green {
          color: green;
        }
        &.type-blue {
          color: #3b679b;
        }
      }
    }

    .favorite-wrap {
      margin-bottom: 4px;
      display: flex;
      flex-wrap: wrap;
      font-size: 12px;
      color: #000;
      gap: 3px;
      height: 21px;
      overflow: hidden;
      line-height: 23px;
      padding: 0 6px;
      border-radius: 4px;
      background-color: #f3e2f3;
      align-items: center;
      em {
        font-size: 10px;
        font-style: normal;
      }
      .fc-red {
        color: red;
      }
    }

    .tit {
      font-size: 13px;
      padding-right: 25px;
      .icon-delivery {
        height: 12px;
        width: auto;
        vertical-align: middle;
      }
    }
    .pname {
      font-size: 16px;
      margin: 5px 0;
      text-wrap: nowrap;
      width: max-content;
      &.slide {
        animation: info-pname-slide 8s infinite;
      }
    }
    .msg {
      font-size: 12px;
      letter-spacing: -0.05em;
      color: #1746c7;
    }
    .msg.type2 {
      color: #4fab4e;
    }

    .btn-del {
      position: absolute;
      border: 0;
      top: 0;
      right: 0;
      z-index: 4;
      width: 18px;
      height: 18px;
      background: url(/app/witdealmart/img/btn-del.png) no-repeat center/contain;
    }

    .price {
      margin-top: 3px;
      display: flex;
      justify-content: space-between;
      & > div {
        display: inline-flex;
        align-items: center;
        flex-shrink: 0;
        gap: 4px;
        & > strong {
          width: 33px;
          height: 33px;
          flex-shrink: 0;
          display: inline-block;
          border-radius: 4px;
          color: #fff;
          text-align: center;
          line-height: 35px;
          font-size: 14px;
          margin-top: -3px;
        }
        & > div {
          display: flex;
          flex-direction: column;
          span {
            font-size: 12px;
            line-height: 1;
            color: #777;
          }
          em {
            font-style: normal;
            font-weight: 700;
            margin-top: 1px;
            font-size: 15px;
          }
        }
      }
      .discount {
        & > strong {
          background-color: red;
        }
        & > div {
          span {
            text-decoration: line-through;
          }
        }
        em {
          color: red;
        }
      }
      .coupon {
        min-width: 120px;
        & > strong {
          background-color: #5e95d3;
        }
        em {
          color: #3b679b;
        }
      }
    }
  }
}

.fc-delivery1 {
  color: #1746c7 !important;
}
.fc-delivery2 {
  color: #4fab4e !important;
}
.witdealmart-product-detail {
  height: 0;
  overflow: hidden;
  padding: 0 12px;
  transition: height 0.5s;
  .product-detail-btns {
    margin-top: 10px;
    margin-bottom: 10px;
  }

  .delivery-msg {
    margin-bottom: 10px;
    color: #000;
    font-size: 13px;
    height: 22px;
    overflow: hidden;
    line-height: 24px;
    text-align: center;
    border-radius: 3px;
    background: #f2f2f2 url(/app/witdealmart/img/icon-noti.png) no-repeat left
      10px center/18px auto;
  }

  .delivery-info {
    border: 1px solid #7f7f7f;
    border-radius: 5px;
    position: relative;
    .tit {
      display: block;
      width: 120px;
      height: 22px;
      margin: 0 auto 0;
      color: #fff;
      font-size: 14px;
      line-height: 22px;
      font-weight: normal;
      text-align: center;
      border-radius: 0 0 10px 10px;
      background-color: #7f7f7f;
    }

    ul {
      padding: 3px 8px 8px;
      li {
        margin-top: 3px;
        display: flex;
        font-size: 13px;
        line-height: 1.2;
        b {
          font-weight: normal;
          color: #777;
          flex-shrink: 0;
          min-width: 90px;
        }
        > div {
          flex: 1;
          color: #000;
        }
      }
    }
  }

  .order-history {
    margin-top: 10px;
    border: 1px solid #f6c142;
    border-radius: 5px;
    position: relative;
    &.type2 {
      ul {
        li {
          font-size: 15px;
          .witdeal-badge {
            font-size: 12px;
            height: 20px;
            line-height: 20px;
          }
        }
      }
    }
    .tit {
      display: block;
      width: 120px;
      height: 22px;
      margin: 0 auto 0;
      color: #fff;
      font-size: 14px;
      line-height: 22px;
      font-weight: normal;
      text-align: center;
      border-radius: 0 0 10px 10px;
      background-color: #f6c142;
    }

    ul {
      padding: 8px;
      li {
        color: #000;
        margin-top: 5px;
        display: flex;
        align-items: center;
        font-size: 13px;
        line-height: 14px;
        line-height: 1.2;
        letter-spacing: -0.04em;
        justify-content: space-between;
        > div {
          flex: 1;
          gap: 5px;
          display: flex;
          align-items: center;
          .od-date {
            color: #777;
            margin-right: 1px;
          }
          .nodata {
            flex: 1;
            text-align: center;
          }
          .price {
            color: red;
          }
          .quantity {
            padding: 0 5px;
            line-height: 14px;
            border-left: 1px solid #777;
            border-right: 1px solid #777;
          }
        }
        .witdeal-badge {
          flex-shrink: 0;
          font-weight: normal;
          font-size: 11px;
          display: inline-block;
          width: 45px;
          height: 14px;
          line-height: 15px;
          text-align: center;
          color: #fff;
          background-color: #5e95d3;
          border-radius: 3px;
          &.type-black {
            background-color: #000;
          }
          &.type-green {
            background-color: #4c7a31;
          }
          &.type-red {
            background-color: red;
          }
        }
      }
    }
  }

  .witdeal-order {
    margin-top: 10px;
    .pd-list-select {
      .row {
        padding: 5px 0;
        font-size: 15px;
        display: flex;
        align-items: flex-start;
        & > div {
          flex: 1;
          gap: 8px;
          display: flex;
          align-items: flex-start;
        }
        & > span {
          flex-shrink: 0;
        }
      }
    }

    .badge-dc {
      flex-shrink: 0;
      display: inline-flex;
      justify-content: center;
      align-items: center;
      width: 60px;
      height: 17px;
      text-align: center;
      border-radius: 10px;
      color: #fff;
      font-size: 13px;
      line-height: 17px;
      font-style: normal;
      background-color: red;
      b {
        display: inline-block;
        line-height: 13px;
        vertical-align: middle;
        padding-top: 4px;
      }
    }

    .opt-box {
      margin-top: 4px;
      padding: 5px;
      color: #000;
      font-size: 13px;
      text-align: center;
      background-color: #d9d9d9;
      border-radius: 4px;
      letter-spacing: -0.04em;
    }

    .dc-box {
      margin-top: 10px;
      font-size: 15px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      > div {
        flex: 1;
        display: flex;
        align-items: center;
        gap: 8px;
        > img {
          width: 26px;
          flex-shrink: 0;
        }
      }
      .btn-add-coupon {
        border: 0;
        margin: 0;
        padding: 0;
        background-color: transparent;
        width: 78px;
        flex-shrink: 0;
      }
    }

    .counter {
      border-top: 1px dotted #ccc;
      margin-top: 10px;
      padding-top: 10px;
      font-size: 15px;
      display: flex;
      align-items: center;
      gap: 10px;
      justify-content: flex-end;
    }

    .btns {
      margin: 15px 0 20px;
      display: flex;
      gap: 10px;
      button {
        border: 0;
        margin: 0;
        padding: 0;
        background-color: transparent;
      }

      .btn-cart {
        flex: 0 0 22.8%;
      }
      .btn-order {
        flex: 0 0 74.9%;
      }
    }
  }
}

.spinner-wrap {
  display: inline-flex;
  align-items: flex-start;
  width: 100px;
  input {
    flex: 1;
    height: 24px;
    width: 100%;
    text-align: center;
    border: 1px solid #efefef;
    border-left: 0;
    border-right: 0;
    color: #000;
  }
  button {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    border: 0;
  }
  button.btn-m {
    background: url(/app/common/img/section/count_down.jpg) no-repeat
      center/contain;
  }
  button.btn-p {
    background: url(/app/common/img/section/count_up.jpg) no-repeat
      center/contain;
  }
}

.radio-red {
  position: relative;
  input {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
  }
  .lbl {
    display: inline-flex;
    color: #333;
    font-size: 15px;
    line-height: 17px;
    gap: 10px;
    &::before {
      content: "";
      margin-top: 2px;
      box-sizing: border-box;
      display: inline-block;
      width: 13px;
      height: 13px;
      border-radius: 50%;
      outline: 1px solid #ccc;
      background-color: #fafafa;
    }
  }
  input:checked + .lbl {
    &::before {
      width: 13px;
      height: 13px;
      outline: 1px solid #b72831;
      background-color: #b72831;
      border: 2px solid #fff;
    }
  }
}

/* 제로마트 상품목록 */
.main-witdeal-wrap.type-witdeal-product {
  .main-witdeal-header {
    .btn-header-top {
      border: 0;
      padding: 0;
      margin: 0;
      background-color: transparent;
      width: 35px;
      position: fixed;
      z-index: 19;
      top: 48px; /* 상단 고정 바 아래 */
      left: 10px;
    }
    .header-top {
      position: absolute;
      overflow: hidden;
      left: 10px;
      right: 10px;
      z-index: 20;
      width: auto;
      background: #fff;
      border-radius: 0 0 8px 8px;
      transition: all 0.5s;
      &.hide {
        transform: translateY(-80px);
      }
    }
  }

  .category-wrap {
    background-color: #fff;
    padding-bottom: 7px;
    .ctg1 {
      height: 28px;
      background-color: #635e91;
      > .inner {
        padding: 0 16px;
        display: flex;
        width: max-content;
        .ctg-item {
          flex-shrink: 0;
          color: #d1d0d4;
          font-weight: 700;
          padding: 0 20px;
          height: 28px;
          overflow: hidden;
          line-height: 30px;
          font-size: 16px;
          &.active {
            color: #635e91;
            background-color: #fff;
            border-radius: 4px;
          }
        }
      }
    }
    .ctg2 {
      background-color: #fff;
      padding: 7px 0;
      > .inner {
        padding: 0 16px;
        display: flex;
        gap: 15px;
        width: max-content;
        .ctg-item {
          flex-shrink: 0;
          color: #7f7f7f;
          padding: 0 12px;
          height: 27px;
          overflow: hidden;
          line-height: 27px;
          font-size: 16px;
          border: 1px solid #d9d9d9;
          border-radius: 6px;
          &.active {
            background: #d9d9d9;
            border-bottom: none;
            color: #3c3c3c;
          }
        }
      }
    }

    .ctg3 {
      margin: 0 16px;
      border-radius: 6px;
      background-color: #d9d9d9;
      height: 27px;
      display: flex;
      align-items: flex-start;
      > .inner {
        flex: 1;
        display: flex;
        .ctg-item {
          flex-shrink: 0;
          padding: 0 12px;
          height: 33px;
          overflow: hidden;
          line-height: 30px;
          color: #7f7f7f;
          font-size: 16px;
          &.active {
            color: #3c3c3c;
          }
        }
      }
      svg {
        flex-shrink: 0;
        margin-top: 4px;
      }
    }
  }
}

.witdeal-search-slide {
  position: absolute;
  z-index: 20;
  right: 0;
  min-width: 33px;
  display: flex;
  height: 103px;
  max-width: calc(100% - 10px);
  transition: all 0.2s;
  will-change: width;
  &.open {
    width: calc(100% - 10px);
    .witdeal-search-wrap {
      width: 100%;
    }
  }

  &.small {
    min-width: 15px;
    .btn-search-slide {
      width: 15px;
    }
  }

  .btn-search-slide {
    display: flex;
    align-items: center;
    border: 0;
    margin: 0;
    padding: 0;
    flex-shrink: 0;
    background-color: #fff;
    border-radius: 6px 0 0 6px;
    transition: all 0.1s;
    width: 33px;
    > img {
      width: 18px;
    }
    .bar {
      background-color: #f2f2f2;
      display: flex;
      align-items: center;
      width: 15px;
      flex-shrink: 0;
      height: 100%;
      border-radius: 6px 0 0 6px;
      &::before {
        content: "";
        display: inline-block;
        flex-shrink: 0;
        margin-left: 5px;
        width: 3px;
        height: 40%;
        border-radius: 3px;
        background-color: #248cba;
      }
    }
  }
  .witdeal-search-wrap {
    width: 0;
    flex: 1;
    overflow: hidden;
    background-color: #fff;
    .inner {
      height: 100%;
      padding: 13px 8px;
      display: flex;
      min-width: max-content;
      flex-direction: column;
      justify-content: space-between;
    }

    .type-checklist {
      display: flex;
      gap: 15px;
      .checkbox-witdeal {
        font-size: 13px;
        letter-spacing: -0.03em;
      }
    }
    .type-radio-list {
      display: flex;
      justify-content: space-between;
      .radio-normal {
        margin-right: 0;
        font-size: 13px;
        letter-spacing: -0.03em;
        .lbl {
          white-space: nowrap;
        }
      }
    }

    .type-search-input {
      margin-bottom: 4px;
      input {
        padding: 0 12px;
        width: 100%;
        height: 24px;
        border: 1px solid #093ac3;
        border-radius: 4px;
        font-size: 14px;
        &::placeholder {
          color: #b3b3b3;
        }
      }
    }
  }
}

.deleivery-info-wrap {
  .fc-red {
    color: red !important;
  }
  .fc-blue {
    color: #3b679b !important;
  }
  .delivery-msg-tit {
    font-size: 15px;
    color: #fff;
    border-radius: 8px 8px 0 0;
    background: #1c2589;
    text-align: center;
    height: 22px;
    line-height: 22px;
    margin: 0 20px;
  }
  .delivery-info {
    .tit {
      background-color: #ff52b5;
    }
    & > ul > li {
      margin-top: 6px;
      font-size: 15px;
      letter-spacing: -0.03em;
      b {
        min-width: 64px;
      }
      p {
        line-height: 1.4;
      }
    }
  }

  .mart-week-list {
    display: flex;
    justify-content: space-between;
    margin-bottom: 7px;
    > span {
      display: inline-block;
      width: 24px;
      height: 24px;
      overflow: hidden;
      line-height: 25px;
      background-color: #635e91;
      color: #fff;
      font-size: 14px;
      text-align: center;
      border-radius: 50%;
      &.bg-gray {
        background-color: #bcbcbc;
      }
    }
  }

  .holiday {
    border-radius: 4px;
    background-color: red;
    color: #fff;
    text-align: center;
    font-size: 15px;
    height: 20px;
    overflow: hidden;
    line-height: 22px;
    &.type2 {
      background-color: #7bc9f0;
    }
  }

  .delivery-area-list {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    button {
      width: calc((100% - 5 * 4px) / 6);
      appearance: none;
      border: 0;
      color: #fff;
      font-size: 13px;
      background-color: #695898;
      padding: 2px 6px;
      border-radius: 4px;
    }
  }
  .txt1 {
    margin-top: 6px;
  }

  .txt-msg {
    padding: 0 8px 8px;
    font-size: 15px;
    p {
      line-height: 1.4;
      letter-spacing: -0.04em;
    }
  }
}

.deliver-area-popup {
  .layer-wrapper {
    max-width: 230px !important;
  }
  .btn-close {
    border: 0;
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 10;
    width: 22px;
    height: 22px;
    appearance: none;
    background: url(/app/witdealmart/img/alert-close.png) no-repeat top left /
      contain;
  }
  ul {
    max-height: 300px;
    overflow-y: auto;
    &::-webkit-scrollbar {
      display: none; /* Chrome, Safari */
    }
  }
  ul li {
    font-size: 14px;
    color: #000;
    line-height: 1.6;
  }
}

.layer-small-popup {
  position: absolute;
  z-index: 50;
  border-radius: 10px;
  background-color: #fff;
  padding: 10px;
  border: 1px solid #ccc;
  max-width: 150px;
  &.deliver-area-popup {
    ul {
      max-height: 190px;
      overflow-y: auto;
      &::-webkit-scrollbar {
        display: none; /* Chrome, Safari */
      }
    }
    ul li {
      font-size: 15px;
      color: #000;
      line-height: 1.6;
      text-wrap: nowrap;
    }
  }
}

.swiper-banner-witdeal2 {
  .swiper-button-prev,
  .swiper-button-next {
    display: none;
  }
}

/* 맛집: 상품명(최대 2줄 말줄임) — 옵션바/버튼 위 */
.wd-product-title-row {
  margin: 18px 10px 14px;
  padding: 0 2px;
  box-sizing: border-box;
  color: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 10px;
}
/**
 * 상세 진입 화살표 — 맛집 카드는 별도 「바로가기」 줄 없이 제목 끝에서 안내한다.
 * 글리프(›)는 폰트마다 크기·두께가 제각각이라 CSS 로 직접 그린다. (font-size:0 으로 원래 글자는 숨김)
 */
.wd-product-title-go {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -ms-flex-item-align: center;
  align-self: center;
  box-sizing: border-box;
  width: 12px;
  height: 12px;
  margin-right: 2px;
  border-top: 2.5px solid #5b46c9;
  border-right: 2.5px solid #5b46c9;
  border-radius: 1px;
  font-size: 0;
  line-height: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.wd-product-title-text {
  margin: 0;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 0;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35;
  color: #222;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
}
.wd-product-title-text p {
  margin: 0 0 0.25em;
}
.wd-product-title-text p:last-child {
  margin-bottom: 0;
}
.wd-product-item {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  margin: 0 10px;
  .top-area {
    height: 34px;
    padding: 0 10px;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    color: #fff;
    font-size: 15px;
    display: flex;
    align-items: center;
    z-index: 10;
    background-color: rgba(0, 0, 0, 0.4);
    .txt-time {
      flex: 1;
      color: #f2acfa;
    }
    .txt-total {
      flex-shrink: 0;
    }
  }
  .bottom-area {
    height: 30px;
    padding: 0 10px;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    color: #fff;
    font-size: 17px;
    display: flex;
    align-items: center;
    z-index: 10;
    background-color: rgba(0, 0, 0, 0.4);
    p {
      white-space: nowrap;
      width: max-content;
      &.slide {
        /*
			animation: pname-slide 6s infinite;
			*/
        padding: 0;
        /* animation-duration은 JavaScript에서 동적 설정 */
        animation: marquee-loop linear infinite;
        display: inline-flex;
        align-items: center;
        gap: 10px;
        > span {
          display: inline-block;
        }
      }
    }
  }

  /* 맛집: 이미지 하단 — 배달 정보(가운데), 슬라이드별 고정 문구 */
  .bottom-area.wd-restaurant-bottom {
    height: auto;
    min-height: 44px;
    padding: 6px 8px;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
  }
  .bottom-area.wd-restaurant-bottom .wd-slide-delivery-bar {
    width: 100%;
    max-width: 100%;
    margin: 0;
    /* background-color: #d9d9d9; */
    border-radius: 8px;
    padding: 4px 10px;
    cursor: pointer;
    box-sizing: border-box;
  }
  .bottom-area.wd-restaurant-bottom .delivery-info-content {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-align: center;
  }
  .bottom-area.wd-restaurant-bottom .delivery-icon {
    width: auto;
    height: 22px;
    flex-shrink: 0;
  }
  .bottom-area.wd-restaurant-bottom .delivery-message {
    font-size: 15px;
    font-weight: 500;
    color: #ffffff;
    line-height: 1.35;
    text-align: center;
    flex: 1;
    min-width: 0;
    white-space: normal;
    word-break: keep-all;
  }

  /* 맛집: 담기 버튼은 inner-swiper 밖(wd-product-item 직속)에 두어 하단 바(z-index 10)보다 위에 그린다 */
  > .pd-cart-fab {
    position: absolute;
    z-index: 15;
    /* bottom: 52px; */
    right: 10px;
    width: 40px;
    height: 40px;
    pointer-events: auto;
  }
  > .pd-cart-fab .pd-cart-fab__ico {
    width: 22px !important;
    height: 22px !important;
  }
  /* 문의는 담기 바로 위에 같은 크기로 */
  > .pd-ask-fab {
    position: absolute;
    z-index: 15;
    right: 14px;
    bottom: 60px;
    width: 32px;
    height: 32px;
    pointer-events: auto;
  }
}

/* 맛집 옵션바: 장바구니 버튼이 옵션 슬라이드(transform 레이어)보다 위로 와서 클릭이 상세 iframe으로 가지 않게 */
.summary-option-bar .order_form-toggle {
  position: relative;
  z-index: 2;
}

.footer-foot-box {
  .foot-guide-box {
    /* 배경이미지(마켓 워터마크) 제거 — 이미지 배경색과 같은 단색으로 채운다 */
    background: #f2f2f2;
    padding: 16px 16px;

    .guide-head-box {
      color: #6c589d;
      font-weight: 700;
      font-size: 18px;
      text-align: center;
      padding-bottom: 12px;
    }

    .guide-body-box {
      .guide-item {
        color: #666;
        font-size: 10px;
        line-height: 18px;

        & + .guide-item {
          margin-top: 0px;
        }
      }
    }
  }

  .guide-foot-box {
    .guide-link-list {
      margin-top: 12px;
      height: 32px;
      display: flex;
      gap: 8px;

      .guide-link-item {
        width: 100%;
        display: inline-flex;

        .guide-link-btn {
          display: inline-flex;
          align-items: center;

          &.type-1,
          &.type-2 {
            border-radius: 4px;
            width: 100%;
            justify-content: center;
            font-size: 14px;
            font-family: "Cafe24Ohsquare";
          }

          &.type-1 {
            background-color: #665b94;
            color: #fff;
          }

          &.type-2 {
            background-color: #cb75c7;
            color: #fff;
          }

          img {
            width: 100%;
          }
        }
      }
    }
  }
}

/* 마켓 메인 전체상품 2열 그리드 + 무한스크롤 */
.witdeal-all-products-grid {
  /* 좌우 여백 — 아래 상품배너가 이만큼 밖으로 나가 화면 끝까지 붙는다 */
  --wac-grid-side: 4px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 8px;
  padding: 0 var(--wac-grid-side) 12px;
  box-sizing: border-box;
  margin-top: 10px;
}
/* 상단에 상품배너 슬롯이 들어오면 그리드 상단 마진 제거(배너 쪽 여백으로 정리) */
.witdeal-all-products-grid:has(> .witdeal-all-products-banner-slot) {
  margin-top: 0;
}
/*
 * 전체상품 그리드 상단: 상품배너(product_banner) 한 행 전체 너비
 *
 * 그리드 좌우 여백만큼만 밖으로 뺀다. 예전에는 -10px 로 박혀 있었는데
 * 그리드 여백이 10px → 4px 로 줄면서 양쪽 6px 씩 화면 밖으로 삐져나가
 * 가로 스크롤이 생겼다. 같은 변수를 쓰면 여백을 바꿔도 같이 따라간다.
 */
.witdeal-all-products-grid .witdeal-all-products-banner-slot {
  grid-column: 1 / -1;
  width: calc(100% + var(--wac-grid-side, 4px) * 2);
  min-width: 0;
  box-sizing: border-box;
  margin: 16px calc(var(--wac-grid-side, 4px) * -1);
}
.witdeal-all-products-grid .witdeal-all-products-banner-slot img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: top;
}
.witdeal-all-products-grid .witdeal-all-products-banner-link {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  tap-highlight-color: transparent;
}
.witdeal-all-products-card {
  min-width: 0;
  border: solid 1px #e0e0e0;
  border-radius: 6px;
}
.witdeal-all-products-card .wac-pd-item {
  width: 100%;
}
.witdeal-all-products-card .pd-img {
  position: relative;
  border-radius: 6px;
  overflow: hidden;
}
.witdeal-all-products-card .wac-crumbs {
  position: absolute;
  left: 6px;
  top: 6px;
  z-index: 3;
  font-size: 11px;
  line-height: 1.2;
  color: #fff;
  background: rgba(0, 0, 0, 0.45);
  padding: 3px 6px;
  border-radius: 50px;
  max-width: calc(100% - 12px);
  box-sizing: border-box;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
}
/* 택배공구 카드 — 무조건 무료배송이면 오른쪽 위 알약. 왼쪽 위 .wac-crumbs 와 같은 크기 */
.witdeal-all-products-card .wac-free-ship {position:absolute;right:6px;top:6px;z-index:3;font-size:11px;line-height:1.2;padding:3px 7px;border-radius:50px;background:#7660b5;color:#fff;font-weight:700;white-space:nowrap;pointer-events:none;}
/* 택배공구 카드 — 아래 줄(무료배달 자리)에 판매마감 남은 시간(parcel_deadline.js). 줄 모양을 그대로 따른다 */
.witdeal-all-products-card .txt-delivery .pgc-sale-clock {
  display: inline;
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
/* 무료배달 바 — .main-witdeal-item .pd-img .txt-delivery(786~804)와 동일. 전체상품 카드는 부모가 달라 별도 스코프 */
.witdeal-all-products-card .pd-img .txt-delivery {
  bottom: 0;
  left: 0;
  height: 20px;
  width: 100%;
  line-height: 20px;
  font-size: 12px;
  position: absolute;
  text-align: center;
  color: #7dfff9;
  background-color: rgba(0, 0, 0, 0.4);
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.witdeal-all-products-card .pd-img .txt-delivery.type-yellow {
  color: yellow;
}
.witdeal-all-products-card .pd-img .txt-delivery.type-white {
  color: #fff;
}
/* 옵션 영역도 동일하게 — 테두리 없이 배경 밝기로만 푸터와 나눈다 */
.witdeal-all-products-card .wac-price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  box-sizing: border-box;
  height: 30px;
  margin-top: 6px;
  padding: 0 9px;
  background-color: #f4f2fa;
  border-radius: 8px 8px 0 0;
}
.witdeal-all-products-card .product-detail-btns.type-photo .pd-btns {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
}
.witdeal-all-products-card
  .product-detail-btns.type-photo
  .pd-btns
  .pd-btns-actions {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  margin-left: auto;
  gap: 8px;
}
.witdeal-all-products-card .wac-pd-cart-icon {
  width: 20px;
  height: 20px;
  object-fit: contain;
  cursor: pointer;
  flex-shrink: 0;
}
.witdeal-all-products-card .pd-btns-actions .wac-pd-cart-icon {
  margin-left: 0;
}
/* 옵션명 한 줄(슬라이드 없음) */
.witdeal-all-products-card .wac-price-row > .wac-price-label {
  flex: 1;
  min-width: 0;
  font-size: 15px;
  color: #000;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* 옵션+가격 한 줄 슬라이드: 트랙만 전체 너비, 옵션명은 말줄임·가격은 고정폭(줄 안에서) */
.witdeal-all-products-card .wac-price-row.wac-price-row--slide {
  display: block;
  width: 100%;
  box-sizing: border-box;
  min-height: 30px;
  height: auto;
  padding: 3px 9px;
}
.witdeal-all-products-card .wac-mw-slide-viewport {
  width: 100%;
  box-sizing: border-box;
}
.witdeal-all-products-card .wac-price-num {
  font-size: 14px;
  font-weight: bold;
  color: #111;
  flex-shrink: 0;
  font-variant-numeric: tabular-nums;
}
.witdeal-all-products-card .item-info .title-all {
  font-size: 14px;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
  overflow-wrap: anywhere;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 2.7em;
  max-height: 2.7em;
  box-sizing: border-box;
  margin: 0;
}
.witdeal-all-products-card .item-info {
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
}
.witdeal-all-products-card .item-info:active {
  background-color: transparent !important;
}
.witdeal-all-products-sentinel {
  height: 2px;
  width: 100%;
}
@keyframes witdeal-all-products-loader-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.witdeal-all-products-loader {
  text-align: center;
  padding: 20px 14px;
  box-sizing: border-box;
}
.witdeal-all-products-loader .loader {
  border: 8px solid #f3f3f3;
  border-top: 8px solid #3498db;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  animation: witdeal-all-products-loader-spin 1s linear infinite;
  margin: 0 auto;
}

/* seller_footer 지연 로드: 전체상품 더보기와 동일 스피너(.witdeal-all-products-loader) */
.witdeal-seller-footer-lazy-root .witdeal-seller-footer-lazy-loading {
  box-sizing: border-box;
}

/* 마켓 메인: seller_footer.php products_only 임베드 구분선 + 상품명 줄임 (seller_footer full 모드의 인라인 subject-box와 동일) */
article.order-footer.witdeal-main-seller-footer-embed {
  border-top: none;
  padding: 16px 10px 0;
  margin-top: 20px;
  position: relative;
}
article.order-footer.witdeal-main-seller-footer-embed::before {
  content: "";
  position: absolute;
  top: 0;
  left: 10px;
  right: 10px;
  height: 1px;
  background-color: #c5c5c5;
}
/* article.order-footer.witdeal-main-seller-footer-embed .footer-head-box {
	padding-bottom: 16px;
}
article.order-footer.witdeal-main-seller-footer-embed .footer-head-box .sub-box {
	margin-top: 10px;
} */
article.order-footer.witdeal-main-seller-footer-embed .subject-box {
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: keep-all;
  line-height: 1.4;
}
