/**
 * 組合優惠進度條樣式
 * Prada 風格 - 簡潔、優雅、高級
 */

.ComboProgressBar_container__kIsOd {
  background: #ffffff;
  border: 1px solid #e5e5e5;
  border-radius: 2px;
  padding: 32px;
  margin: 24px 0;
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-family: var(--prada-font-family, 'Helvetica Neue', Arial, sans-serif);
}

/* 標題區 */
.ComboProgressBar_header__6rPn- {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid #f0f0f0;
}

.ComboProgressBar_title__BNUNH {
  margin: 0;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0.5px;
  color: #000000;
  text-transform: uppercase;
}

.ComboProgressBar_currentQuantity__b1\+ck {
  font-size: 14px;
  color: #666666;
  letter-spacing: 0.3px;
}

.ComboProgressBar_currentQuantity__b1\+ck strong {
  font-weight: 500;
  color: #000000;
}

/* 進度條 */
.ComboProgressBar_progressBarWrapper__fSebX {
  margin-bottom: 32px;
}

.ComboProgressBar_progressBarTrack__44HNc {
  position: relative;
  width: 100%;
  height: 4px;
  background: #f5f5f5;
  border-radius: 2px;
  overflow: hidden;
}

.ComboProgressBar_progressBarFill__78e4t {
  position: relative;
  height: 100%;
  background: linear-gradient(90deg, #000000 0%, #333333 100%);
  transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  border-radius: 2px;
}

.ComboProgressBar_progressPercentage__jPFaV {
  position: absolute;
  right: -30px;
  top: -20px;
  font-size: 12px;
  font-weight: 500;
  color: #000000;
  letter-spacing: 0.5px;
}

/* 階梯容器 */
.ComboProgressBar_tiersContainer__7yfuu {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  position: relative;
}

/* 階梯項目 */
.ComboProgressBar_tierItem__E6R93 {
  flex: 1 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  padding: 16px 8px;
  transition: all 0.3s ease;
}

.ComboProgressBar_tierItem__E6R93:hover {
  background: #fafafa;
}

/* 階梯連接線 */
.ComboProgressBar_tierConnector__sIsMV {
  position: absolute;
  left: -8px;
  top: 28px;
  width: 16px;
  height: 1px;
  background: #e0e0e0;
}

/* 階梯點 */
.ComboProgressBar_tierDot__LhT\+m {
  width: 12px;
  height: 12px;
  border: 2px solid #cccccc;
  border-radius: 50%;
  background: #ffffff;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  position: relative;
  z-index: 1;
}

.ComboProgressBar_tierActive__V4ZnU .ComboProgressBar_tierDot__LhT\+m {
  border-color: #000000;
}

.ComboProgressBar_tierDotInner__h2FgK {
  width: 6px;
  height: 6px;
  background: #000000;
  border-radius: 50%;
}

.ComboProgressBar_tierCurrent__HRqdP .ComboProgressBar_tierDot__LhT\+m {
  width: 16px;
  height: 16px;
  border-width: 3px;
  border-color: #000000;
  box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.1);
}

/* 階梯資訊 */
.ComboProgressBar_tierInfo__mIc1d {
  text-align: center;
  width: 100%;
}

.ComboProgressBar_tierQuantity__sUADB {
  font-size: 13px;
  font-weight: 500;
  color: #000000;
  margin-bottom: 8px;
  letter-spacing: 0.3px;
}

.ComboProgressBar_tierRemaining__4HBAO {
  display: block;
  font-size: 11px;
  font-weight: 400;
  color: #999999;
  margin-top: 4px;
}

.ComboProgressBar_tierPrice__ZHEOM {
  font-size: 16px;
  font-weight: 500;
  color: #000000;
  margin-bottom: 4px;
  letter-spacing: 0.3px;
}

.ComboProgressBar_tierSavings__cet8y {
  font-size: 12px;
  color: #666666;
  letter-spacing: 0.3px;
}

.ComboProgressBar_tierActive__V4ZnU .ComboProgressBar_tierSavings__cet8y {
  color: #000000;
  font-weight: 500;
}

/* 階梯標籤 */
.ComboProgressBar_tierLabel__Bt\+VF {
  font-size: 11px;
  color: #999999;
  margin-top: 8px;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.3px;
}

.ComboProgressBar_tierActive__V4ZnU .ComboProgressBar_tierLabel__Bt\+VF {
  color: #666666;
}

/* 推薦標籤 */
.ComboProgressBar_tierBadge__RqH\+M {
  margin-top: 8px;
}

.ComboProgressBar_tierBadge__RqH\+M span {
  display: inline-block;
  padding: 4px 12px;
  background: #000000;
  color: #ffffff;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
  border-radius: 2px;
}

.ComboProgressBar_tierRecommended__dBPHf {
  background: #fafafa;
}

.ComboProgressBar_tierRecommended__dBPHf .ComboProgressBar_tierDot__LhT\+m {
  border-color: #000000;
  border-width: 3px;
}

/* 響應式設計 */
@media (max-width: 768px) {
  .ComboProgressBar_container__kIsOd {
    padding: 24px 16px;
  }

  .ComboProgressBar_header__6rPn- {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .ComboProgressBar_title__BNUNH {
    font-size: 16px;
  }

  .ComboProgressBar_currentQuantity__b1\+ck {
    font-size: 13px;
  }

  .ComboProgressBar_tiersContainer__7yfuu {
    flex-direction: column;
    gap: 0;
  }

  .ComboProgressBar_tierItem__E6R93 {
    flex-direction: row;
    justify-content: flex-start;
    padding: 12px 0;
    border-bottom: 1px solid #f0f0f0;
  }

  .ComboProgressBar_tierItem__E6R93:last-child {
    border-bottom: none;
  }

  .ComboProgressBar_tierConnector__sIsMV {
    display: none;
  }

  .ComboProgressBar_tierDot__LhT\+m {
    margin-right: 16px;
    margin-bottom: 0;
  }

  .ComboProgressBar_tierInfo__mIc1d {
    text-align: left;
    flex: 1 1;
  }

  .ComboProgressBar_tierLabel__Bt\+VF {
    text-align: left;
  }

  .ComboProgressBar_tierQuantity__sUADB,
  .ComboProgressBar_tierPrice__ZHEOM,
  .ComboProgressBar_tierSavings__cet8y,
  .ComboProgressBar_tierLabel__Bt\+VF {
    text-align: left;
  }
}

@media (max-width: 480px) {
  .ComboProgressBar_container__kIsOd {
    padding: 20px 12px;
  }

  .ComboProgressBar_title__BNUNH {
    font-size: 14px;
  }

  .ComboProgressBar_tierPrice__ZHEOM {
    font-size: 14px;
  }

  .ComboProgressBar_tierQuantity__sUADB {
    font-size: 12px;
  }

  .ComboProgressBar_tierSavings__cet8y {
    font-size: 11px;
  }
}

/**
 * ========================================
 * 商品詳情 Modal - Prada 風格
 * Product Detail Modal - Prada Design System
 * ========================================
 *
 * 設計原則：
 * - 使用 Prada 設計令牌系統
 * - 極簡優雅的視覺風格
 * - 不支援深色模式（僅 Light Mode）
 * - 統一按鈕寬度和間距
 * - GPU 加速動畫優化
 */

/* ========================================
   骨架動畫基礎（Prada 淡粉色系）
   ======================================== */

.product-detail-modal_skeleton__Hywu\+ {
  background: linear-gradient(
    90deg,
    #fef2f2 25%,
    #fee2e2 37%,
    #fef2f2 63%
  );
  background-size: 400% 100%;
  animation: product-detail-modal_pradaShimmer__uDMM7 1.8s ease-in-out infinite;
  will-change: background-position;
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  contain: layout style paint;
  isolation: isolate;
}

@keyframes product-detail-modal_pradaShimmer__uDMM7 {
  0% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* ========================================
   Modal Body 樣式（Prada 設計）
   ======================================== */

.product-detail-modal_modalBody__-a0US {
  overflow-y: auto;
  max-height: 85vh;
  padding: 0 !important;
  -webkit-overflow-scrolling: touch;
}

/* Prada 風格關閉按鈕 */
.product-detail-modal_modalCloseBtn__3wUS2 {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 10;
  width: 40px;
  height: 40px;
  border-radius: 6px; /* Prada 使用小圓角而非完全圓形 */
  border: none;
  background: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.15s ease-out; /* Prada duration-fast */
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  font-size: 20px;
  color: #000000;
  line-height: 1;
  font-weight: 300;
}

.product-detail-modal_modalCloseBtn__3wUS2:hover {
  background: #F3F4F6;
  color: var(--primary-color); /* Prada primary */
  transform: scale(1.05);
}

.product-detail-modal_modalCloseBtn__3wUS2:active {
  transform: scale(0.95);
}

/* ========================================
   骨架屏容器（Prada 間距）
   ======================================== */

.product-detail-modal_skeletonContainer__o7Vtx {
  padding: 32px; /* Prada space-8 */
}

.product-detail-modal_skeletonRow__cTv5Z {
  display: flex;
  gap: 24px;
}

.product-detail-modal_skeletonGalleryCol__4voa2 {
  flex: 0 0 41.66%;
  max-width: 41.66%;
}

.product-detail-modal_skeletonInfoCol__bKNxL {
  flex: 0 0 58.33%;
  max-width: 58.33%;
}

.product-detail-modal_skeletonMainImage__LADLE {
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 12px;
  overflow: hidden;
}

.product-detail-modal_skeletonThumbnails__9q-34 {
  display: flex;
  gap: 10px;
  margin-top: 12px;
  justify-content: center;
}

.product-detail-modal_skeletonInfoGroup__36\+Az {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 0 4px;
}

.product-detail-modal_skeletonTitleRow__U0Z10 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.product-detail-modal_skeletonStars__hecSe {
  display: flex;
  gap: 4px;
  align-items: center;
}

.product-detail-modal_skeletonPriceGroup__6rqq1 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 4px 0;
}

.product-detail-modal_skeletonFavRow__\+J8zL {
  display: flex;
  align-items: center;
  gap: 10px;
}

.product-detail-modal_skeletonQuantityRow__SwQIC {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 8px 0;
}

.product-detail-modal_skeletonBtnRow__RuIb1 {
  display: flex;
  gap: 12px;
}

.product-detail-modal_skeletonShareRow__5cSBC {
  display: flex;
  gap: 10px;
  margin-top: 8px;
}

/* ========================================
   Modal 內容區（Prada 設計）
   ======================================== */

.product-detail-modal_contentContainer__XQ1Ai {
  position: relative;
  padding: 32px; /* Prada space-8 */
  background: #FFFFFF;
}

.product-detail-modal_contentRow__PRK\+Q {
  display: flex;
  gap: 32px; /* 增加間距讓內容更透氣 */
}

.product-detail-modal_galleryCol__jj6Ae {
  flex: 0 0 45%; /* 增加圖片區域比例 */
  max-width: 45%;
  min-width: 0; /* 防止 flex item 溢出 */
}

.product-detail-modal_infoCol__UeRAF {
  flex: 0 0 55%;
  max-width: 55%;
  min-width: 0; /* 防止 flex item 溢出 */
  display: flex;
  flex-direction: column;
}

.product-detail-modal_productHeader__otirC {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.product-detail-modal_productName__KKXPS {
  font-size: 24px; /* Prada text-2xl */
  font-weight: 600; /* Prada semibold */
  color: #000000; /* Prada black */
  line-height: 1.4;
  letter-spacing: 0.5px; /* Prada 特徵：輕微字距 */
  margin: 0;
}

.product-detail-modal_mobileFavoriteBtn__\+HY3L {
  display: none;
}

.product-detail-modal_ratingRow__d1Byc {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.product-detail-modal_ratingText__L61zH {
  font-size: 0.85rem;
  color: #666;
}

.product-detail-modal_labelRow__KDesf {
  margin-bottom: 8px;
}

.product-detail-modal_priceContainer__Gk8t2 {
  margin-bottom: 12px;
}

.product-detail-modal_originalPrice__mZeh0 {
  font-size: 0.9rem;
  color: #999;
  text-decoration: line-through;
  margin-right: 10px;
}

.product-detail-modal_currentPrice__Zo2rS {
  font-size: 30px; /* Prada text-3xl */
  font-weight: 700; /* Prada bold */
  color: var(--primary-color); /* Prada primary */
  letter-spacing: 0.5px;
}

.product-detail-modal_favoriteContainer__BRDk7 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  cursor: pointer;
  transition: opacity 0.2s;
}

.product-detail-modal_favoriteContainer__BRDk7:hover {
  opacity: 0.8;
}

.product-detail-modal_favoriteText__vZCut {
  font-size: 0.9rem;
  color: #666;
}

.product-detail-modal_selectorSection__scb6c {
  margin: 16px 0;
}

.product-detail-modal_quantitySection__QhnEw {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 16px 0;
}

.product-detail-modal_quantityInput__XV\+2E {
  width: 100px;
  text-align: center;
}

/* Prada 統一按鈕樣式 */
.product-detail-modal_actionBtns__aTi5- {
  display: flex;
  gap: 12px; /* Prada space-3 */
  margin: 24px 0; /* Prada space-6 */
  flex-wrap: nowrap; /* 禁止換行 */
}

.product-detail-modal_buyBtn__YIQUz,
.product-detail-modal_cartBtn__iCxPA {
  flex: 1 1; /* 等寬 */
  min-width: 0;
  height: 48px; /* 統一高度 */
  padding: 12px 16px; /* 減少左右 padding */
  font-size: 15px; /* 稍微縮小字體 */
  font-weight: 600; /* Prada semibold */
  letter-spacing: 0.3px;
  border-radius: 6px; /* Prada radius-md */
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  transition: all 0.2s ease-out; /* 簡單動畫 */
  cursor: pointer;
}

.product-detail-modal_buyBtn__YIQUz {
  background: #000000; /* Prada black */
  color: #FFFFFF;
  border: 2px solid #000000;
}

.product-detail-modal_buyBtn__YIQUz:hover {
  background: #333333;
  border-color: #333333;
  transform: translateY(-1px);
}

.product-detail-modal_buyBtn__YIQUz:active {
  transform: translateY(0);
}

.product-detail-modal_buyBtn__YIQUz:disabled,
.product-detail-modal_cartBtn__iCxPA:disabled {
  background: #E5E7EB !important;
  color: #9CA3AF !important;
  border-color: #E5E7EB !important;
  cursor: not-allowed;
  transform: none;
}

.product-detail-modal_cartBtn__iCxPA {
  background: #FFFFFF;
  color: #000000;
  border: 2px solid #000000;
}

.product-detail-modal_cartBtn__iCxPA:hover {
  background: #000000;
  color: #FFFFFF;
  transform: translateY(-1px);
}

.product-detail-modal_cartBtn__iCxPA:active {
  transform: translateY(0);
}

/* 按鈕 loading spinner */
.product-detail-modal_btnSpinner__LSPAh {
  display: inline-block;
  width: 15px;
  height: 15px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: product-detail-modal_btnSpin__gjEVr 0.65s linear infinite;
  margin-right: 6px;
  flex-shrink: 0;
  vertical-align: middle;
}

@keyframes product-detail-modal_btnSpin__gjEVr {
  to { transform: rotate(360deg); }
}

.product-detail-modal_validationHint__jAefL {
  text-align: center;
  font-size: 0.85rem;
  color: #999;
  margin-top: 4px;
}

.product-detail-modal_shareSection__L622d {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #f0f0f0;
}

.product-detail-modal_comboSection__KGcpU {
  margin-top: 16px;
}

.product-detail-modal_descriptionSection__mx1wL {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid #f0f0f0;
}

.product-detail-modal_descriptionTitle__NJMSr {
  font-size: 1rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 8px;
}

.product-detail-modal_descriptionText__yy9Cr {
  font-size: 0.9rem;
  color: #555;
  line-height: 1.6;
  white-space: pre-line;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.product-detail-modal_viewFullDetail__uXkSg {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 12px;
  font-size: 0.9rem;
  color: #333;
  text-decoration: underline;
  cursor: pointer;
  transition: color 0.2s;
  background: none;
  border: none;
  padding: 0;
}

.product-detail-modal_viewFullDetail__uXkSg:hover {
  color: #c41230;
}

/* ========================================
   手機版 RWD - Prada 設計（< 768px）
   ======================================== */

@media (max-width: 767px) {
  .product-detail-modal_modalBody__-a0US {
    max-height: 95vh;
  }

  .product-detail-modal_skeletonContainer__o7Vtx,
  .product-detail-modal_contentContainer__XQ1Ai {
    padding: 16px; /* Prada space-4 */
    padding-bottom: 80px; /* 為底部按鈕預留空間 */
  }

  .product-detail-modal_modalCloseBtn__3wUS2 {
    width: 36px;
    height: 36px;
    top: 12px;
    right: 12px;
  }

  .product-detail-modal_skeletonRow__cTv5Z,
  .product-detail-modal_contentRow__PRK\+Q {
    flex-direction: column;
    gap: 20px; /* 增加間距讓內容更透氣 */
  }

  .product-detail-modal_skeletonGalleryCol__4voa2,
  .product-detail-modal_galleryCol__jj6Ae {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .product-detail-modal_skeletonInfoCol__bKNxL,
  .product-detail-modal_infoCol__UeRAF {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .product-detail-modal_mobileFavoriteBtn__\+HY3L {
    display: block;
  }

  .product-detail-modal_favoriteContainer__BRDk7 {
    display: none;
  }

  .product-detail-modal_productHeader__otirC {
    margin-bottom: 12px;
  }

  .product-detail-modal_productName__KKXPS {
    font-size: 20px; /* Prada text-xl */
    letter-spacing: 0.3px;
    line-height: 1.3;
  }

  .product-detail-modal_ratingRow__d1Byc {
    margin-bottom: 10px;
  }

  .product-detail-modal_priceContainer__Gk8t2 {
    margin-bottom: 16px;
  }

  .product-detail-modal_currentPrice__Zo2rS {
    font-size: 24px; /* Prada text-2xl */
    letter-spacing: 0.3px;
  }

  .product-detail-modal_selectorSection__scb6c {
    margin: 20px 0;
  }

  /* Prada 手機版：按鈕固定在底部 */
  .product-detail-modal_actionBtns__aTi5- {
    position: fixed;
    bottom: 0;
    bottom: env(safe-area-inset-bottom, 0); /* iOS safe area fallback */
    left: 0;
    right: 0;
    background: #FFFFFF;
    padding: 12px 16px;
    padding-bottom: max(12px, env(safe-area-inset-bottom)); /* covers notch */
    margin: 0;
    box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.1); /* Prada shadow */
    z-index: 100;
    border-top: 1px solid #F3F4F6;
  }

  .product-detail-modal_buyBtn__YIQUz,
  .product-detail-modal_cartBtn__iCxPA {
    height: 44px; /* 觸控優化 */
    font-size: 13px; /* 更小字體適應手機 */
    padding: 10px 12px;
  }

  /* 手機版：如果空間不足，改為兩列 */
  .product-detail-modal_actionBtns__aTi5- {
    gap: 8px;
  }

  @supports (padding-bottom: env(safe-area-inset-bottom)) {
    .product-detail-modal_actionBtns__aTi5- {
      padding-bottom: max(12px, env(safe-area-inset-bottom));
    }
  }

  .product-detail-modal_quantitySection__QhnEw {
    justify-content: center;
  }

  .product-detail-modal_shareSection__L622d {
    margin-top: 16px;
  }

  .product-detail-modal_descriptionSection__mx1wL {
    margin-top: 24px;
    padding-top: 20px;
  }

  .product-detail-modal_skeletonBtnRow__RuIb1 {
    flex-direction: column;
  }
}

/* ========================================
   平板（768px ~ 991px）— 垂直堆疊佈局
   ======================================== */

@media (min-width: 768px) and (max-width: 991px) {
  .product-detail-modal_modalBody__-a0US {
    max-height: 90vh;
  }

  .product-detail-modal_skeletonContainer__o7Vtx,
  .product-detail-modal_contentContainer__XQ1Ai {
    padding: 20px;
  }

  /* 改為垂直堆疊，讓所有內容有足夠寬度呈現 */
  .product-detail-modal_skeletonRow__cTv5Z,
  .product-detail-modal_contentRow__PRK\+Q {
    flex-direction: column;
    gap: 16px;
  }

  .product-detail-modal_skeletonGalleryCol__4voa2,
  .product-detail-modal_galleryCol__jj6Ae {
    flex: 0 0 100%;
    max-width: 100%;
    max-height: 340px;
    overflow: hidden;
  }

  .product-detail-modal_skeletonInfoCol__bKNxL,
  .product-detail-modal_infoCol__UeRAF {
    flex: 0 0 100%;
    max-width: 100%;
  }

  /* 平板：行動按鈕改用 sticky，跟隨 modal 捲動 */
  .product-detail-modal_actionBtns__aTi5- {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    background: #FFFFFF;
    padding: 12px 0;
    margin: 16px 0 0;
    box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.08);
    z-index: 10;
    border-top: 1px solid #F3F4F6;
  }

  /* 平板版：隱藏桌面收藏按鈕，改顯示 header 旁的小按鈕 */
  .product-detail-modal_mobileFavoriteBtn__\+HY3L {
    display: block;
  }

  .product-detail-modal_favoriteContainer__BRDk7 {
    display: none;
  }

  .product-detail-modal_productName__KKXPS {
    font-size: 22px;
  }

  .product-detail-modal_currentPrice__Zo2rS {
    font-size: 26px;
  }
}

/* ========================================
   大螢幕（≥1200px）- 充分利用空間
   ======================================== */

@media (min-width: 1200px) {
  .product-detail-modal_skeletonContainer__o7Vtx,
  .product-detail-modal_contentContainer__XQ1Ai {
    padding: 40px; /* 大螢幕增加 padding */
  }

  .product-detail-modal_skeletonRow__cTv5Z,
  .product-detail-modal_contentRow__PRK\+Q {
    gap: 40px; /* 更大的間距 */
  }

  .product-detail-modal_skeletonGalleryCol__4voa2,
  .product-detail-modal_galleryCol__jj6Ae {
    flex: 0 0 48%;
    max-width: 48%;
  }

  .product-detail-modal_skeletonInfoCol__bKNxL,
  .product-detail-modal_infoCol__UeRAF {
    flex: 0 0 52%;
    max-width: 52%;
  }

  .product-detail-modal_productName__KKXPS {
    font-size: 28px;
  }

  .product-detail-modal_currentPrice__Zo2rS {
    font-size: 34px;
  }
}

/* ========================================
   無障礙：減少動畫（Prada 設計）
   ======================================== */

@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .product-detail-modal_skeleton__Hywu\+ {
    animation: none;
    background: #fef2f2;
  }
}

/* ========================================
   高對比度模式（Prada 設計）
   ======================================== */

@media (prefers-contrast: high) {
  .product-detail-modal_skeleton__Hywu\+ {
    background: linear-gradient(
      90deg,
      #e0e0e0 25%,
      #c0c0c0 37%,
      #e0e0e0 63%
    );
    border: 1px solid #000000;
  }

  .product-detail-modal_modalCloseBtn__3wUS2 {
    border: 2px solid #000000;
    background: #FFFFFF;
  }

  .product-detail-modal_buyBtn__YIQUz,
  .product-detail-modal_cartBtn__iCxPA {
    border: 2px solid #000000;
  }
}

/* ========================================
   列印樣式（Prada 設計）
   ======================================== */

@media print {
  .product-detail-modal_skeleton__Hywu\+,
  .product-detail-modal_skeletonContainer__o7Vtx {
    display: none;
  }

  .product-detail-modal_modalCloseBtn__3wUS2,
  .product-detail-modal_actionBtns__aTi5- {
    display: none;
  }
}

/**
 * 組合優惠建議樣式
 * Prada 風格 - 簡潔、優雅、高級
 */

.ComboSuggestion_container__LZTaO {
  background: #ffffff;
  border: 1px solid #e5e5e5;
  border-radius: 2px;
  padding: 24px;
  margin: 16px 0;
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-family: var(--prada-font-family, 'Helvetica Neue', Arial, sans-serif);
  transition: all 0.3s ease;
}

.ComboSuggestion_container__LZTaO:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

/* 內容區 */
.ComboSuggestion_content__1oEma {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

/* 圖標 */
.ComboSuggestion_icon__wSHcV {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  color: #000000;
}

.ComboSuggestion_success__AC-kL .ComboSuggestion_icon__wSHcV {
  color: #2d7a2d;
}

.ComboSuggestion_info__o7kNP .ComboSuggestion_icon__wSHcV {
  color: #1a5a7a;
}

.ComboSuggestion_warning__fnG1K .ComboSuggestion_icon__wSHcV {
  color: #8a6d3b;
}

/* 文字內容 */
.ComboSuggestion_textContent__R1gGo {
  flex: 1 1;
}

.ComboSuggestion_label__hH9ub {
  margin: 0 0 8px 0;
  font-size: 14px;
  font-weight: 500;
  color: #000000;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.ComboSuggestion_message__8NsLE {
  margin: 0 0 8px 0;
  font-size: 14px;
  line-height: 1.6;
  color: #333333;
  letter-spacing: 0.3px;
}

.ComboSuggestion_message__8NsLE strong {
  font-weight: 600;
  color: #000000;
}

.ComboSuggestion_tierLabel__DRTn5 {
  margin: 0 0 16px 0;
  font-size: 13px;
  color: #666666;
  letter-spacing: 0.3px;
}

/* 按鈕 */
.ComboSuggestion_actions__0N0dc {
  display: flex;
  gap: 12px;
  margin-top: 16px;
}

.ComboSuggestion_primaryBtn__tKCiY,
.ComboSuggestion_secondaryBtn__-lQQW {
  padding: 10px 24px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  border: none;
  border-radius: 2px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-family: inherit;
}

.ComboSuggestion_primaryBtn__tKCiY {
  background: #000000;
  color: #ffffff;
}

.ComboSuggestion_primaryBtn__tKCiY:hover {
  background: #333333;
}

.ComboSuggestion_primaryBtn__tKCiY:active {
  background: #000000;
  transform: translateY(1px);
}

.ComboSuggestion_secondaryBtn__-lQQW {
  background: #ffffff;
  color: #000000;
  border: 1px solid #000000;
}

.ComboSuggestion_secondaryBtn__-lQQW:hover {
  background: #f5f5f5;
}

.ComboSuggestion_secondaryBtn__-lQQW:active {
  background: #e8e8e8;
  transform: translateY(1px);
}

/* 成功狀態 */
.ComboSuggestion_success__AC-kL {
  border-color: #d4edda;
  background: #f8fdf9;
}

/* 資訊狀態 */
.ComboSuggestion_info__o7kNP {
  border-color: #d1ecf1;
  background: #f7fcfd;
}

/* 警告狀態 */
.ComboSuggestion_warning__fnG1K {
  border-color: #fff3cd;
  background: #fffef8;
}

/* 響應式設計 */
@media (max-width: 768px) {
  .ComboSuggestion_container__LZTaO {
    padding: 20px 16px;
  }

  .ComboSuggestion_content__1oEma {
    gap: 12px;
  }

  .ComboSuggestion_label__hH9ub {
    font-size: 13px;
  }

  .ComboSuggestion_message__8NsLE {
    font-size: 13px;
  }

  .ComboSuggestion_tierLabel__DRTn5 {
    font-size: 12px;
  }

  .ComboSuggestion_actions__0N0dc {
    flex-direction: column;
    gap: 8px;
  }

  .ComboSuggestion_primaryBtn__tKCiY,
  .ComboSuggestion_secondaryBtn__-lQQW {
    width: 100%;
    padding: 12px 24px;
  }
}

@media (max-width: 480px) {
  .ComboSuggestion_container__LZTaO {
    padding: 16px 12px;
  }

  .ComboSuggestion_content__1oEma {
    flex-direction: column;
    gap: 12px;
  }

  .ComboSuggestion_icon__wSHcV {
    align-self: flex-start;
  }

  .ComboSuggestion_label__hH9ub {
    font-size: 12px;
  }

  .ComboSuggestion_message__8NsLE {
    font-size: 12px;
  }

  .ComboSuggestion_primaryBtn__tKCiY,
  .ComboSuggestion_secondaryBtn__-lQQW {
    font-size: 12px;
  }
}

[data-rmiz-ghost] {
  position: absolute;
  pointer-events: none;
}
[data-rmiz-btn-zoom],
[data-rmiz-btn-unzoom] {
  background-color: rgba(0, 0, 0, 0.7);
  border-radius: 50%;
  border: none;
  box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);
  color: #fff;
  height: 40px;
  margin: 0;
  outline-offset: 2px;
  padding: 9px;
  touch-action: manipulation;
  width: 40px;
  -webkit-appearance: none;
  appearance: none;
}
[data-rmiz-btn-zoom]:not(:focus):not(:active) {
  position: absolute;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  pointer-events: none;
  white-space: nowrap;
  width: 1px;
}
[data-rmiz-btn-zoom] {
  position: absolute;
  inset: 10px 10px auto auto;
  cursor: zoom-in;
}
[data-rmiz-btn-unzoom] {
  position: absolute;
  inset: 20px 20px auto auto;
  cursor: zoom-out;
  z-index: 1;
}
[data-rmiz-content="found"] img,
[data-rmiz-content="found"] svg,
[data-rmiz-content="found"] [role="img"],
[data-rmiz-content="found"] [data-zoom] {
  cursor: zoom-in;
}
[data-rmiz-modal]::backdrop {
  display: none;
}
[data-rmiz-modal][open] {
  position: fixed;
  width: 100vw;
  width: 100dvw;
  height: 100vh;
  height: 100dvh;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  overflow: hidden;
}
[data-rmiz-modal-overlay] {
  position: absolute;
  inset: 0;
  transition: background-color 0.3s;
}
[data-rmiz-modal-overlay="hidden"] {
  background-color: rgba(255, 255, 255, 0);
}
[data-rmiz-modal-overlay="visible"] {
  background-color: rgba(255, 255, 255, 1);
}
[data-rmiz-modal-content] {
  position: relative;
  width: 100%;
  height: 100%;
}
[data-rmiz-modal-img] {
  position: absolute;
  cursor: zoom-out;
  image-rendering: high-quality;
  transform-origin: top left;
  transition: transform 0.3s;
}
@media (prefers-reduced-motion: reduce) {
  [data-rmiz-modal-overlay],
  [data-rmiz-modal-img] {
    transition-duration: 0.01ms !important;
  }
}

/**
 * 組合優惠摘要樣式
 * Prada 風格 - 簡潔、優雅、高級
 */

.ComboSummary_container__g1KLp {
  padding: 16px 0;
  border-top: 1px solid #f0f0f0;
  border-bottom: 1px solid #f0f0f0;
  margin: 8px 0;
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-family: var(--prada-font-family, 'Helvetica Neue', Arial, sans-serif);
}

/* 折扣行 */
.ComboSummary_row__oYWvB {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.ComboSummary_label__Zowor {
  font-size: 14px;
  color: #333333;
  letter-spacing: 0.3px;
}

.ComboSummary_discount__erI6H {
  font-size: 16px;
  font-weight: 500;
  color: #2d7a2d;
  letter-spacing: 0.3px;
}

/* 詳細資訊 */
.ComboSummary_detail__86pDZ {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 8px;
  padding-left: 4px;
}

.ComboSummary_ruleName__wxoQK {
  font-size: 12px;
  color: #666666;
  letter-spacing: 0.3px;
}

.ComboSummary_tierLabel__J54Rq {
  font-size: 12px;
  color: #999999;
  letter-spacing: 0.3px;
  font-style: italic;
}

/* 節省提示 */
.ComboSummary_savings__4C1Z3 {
  font-size: 13px;
  color: #333333;
  text-align: right;
  letter-spacing: 0.3px;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid #f5f5f5;
}

.ComboSummary_savings__4C1Z3 strong {
  font-weight: 600;
  color: #2d7a2d;
}

/* 響應式設計 */
@media (max-width: 768px) {
  .ComboSummary_container__g1KLp {
    padding: 12px 0;
  }

  .ComboSummary_label__Zowor {
    font-size: 13px;
  }

  .ComboSummary_discount__erI6H {
    font-size: 15px;
  }

  .ComboSummary_ruleName__wxoQK,
  .ComboSummary_tierLabel__J54Rq {
    font-size: 11px;
  }

  .ComboSummary_savings__4C1Z3 {
    font-size: 12px;
  }
}

@media (max-width: 480px) {
  .ComboSummary_label__Zowor {
    font-size: 12px;
  }

  .ComboSummary_discount__erI6H {
    font-size: 14px;
  }

  .ComboSummary_savings__4C1Z3 {
    text-align: left;
  }
}

/**
 * ShowProductImgModal - Prada 風格產品圖片放大檢視
 *
 * 設計理念：
 * - 極簡優雅：全黑背景，突出產品圖片
 * - 直覺操作：清晰的導航和縮略圖
 * - 零技術債：100% 使用 Prada Design Tokens
 * - 無障礙：WCAG 2.1 AA 標準，完整鍵盤支援
 * - 響應式：桌面、平板、手機完美適配
 *
 * @version 2.0.0
 * @date 2026-01-29
 */

/* ========================================
   容器佈局
   ======================================== */

.show-product-img-modal_productImageModal__Em7eR .modal-dialog {
  max-width: 100%;
  width: 100%;
  height: 100%;
  margin: 0;
}

.show-product-img-modal_productImageModal__Em7eR .modal-content {
  background-color: rgba(0, 0, 0, 0.7);
  border: none;
  border-radius: 0;
  height: 100vh;
  height: 100dvh; /* iOS 15.4+ / Chrome 108+ — 排除 address bar */
  width: 100vw;
}

.show-product-img-modal_productImageModal__Em7eR .modal-body {
  padding: 0;
  height: 100%;
  overflow: hidden;
}

.show-product-img-modal_galleryContainer__K2dvG {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  background-color: rgba(0, 0, 0, 0.7);
}

/* ========================================
   關閉按鈕
   ======================================== */

.show-product-img-modal_closeButton__K9KJl {
  position: fixed;
  top: var(--prada-space-5);
  right: var(--prada-space-5);
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(255, 255, 255, 0.1);
  border: none;
  border-radius: 50%;
  color: var(--prada-white);
  cursor: pointer;
  z-index: var(--prada-modal-z-close);
  transition: all var(--prada-duration-fast) var(--prada-ease-out);
  -webkit-backdrop-filter: blur(var(--prada-blur-md));
          backdrop-filter: blur(var(--prada-blur-md));
}

.show-product-img-modal_closeButton__K9KJl:hover {
  background-color: rgba(255, 255, 255, 0.2);
  transform: scale(1.1);
}

.show-product-img-modal_closeButton__K9KJl:active {
  transform: scale(0.95);
}

.show-product-img-modal_closeButton__K9KJl svg {
  width: 24px;
  height: 24px;
}

/* ========================================
   圖片計數器
   ======================================== */

.show-product-img-modal_imageCounter__W9VlO {
  position: fixed;
  top: var(--prada-space-5);
  left: var(--prada-space-5);
  padding: var(--prada-space-2) var(--prada-space-4);
  background-color: rgba(0, 0, 0, 0.6);
  border-radius: var(--prada-radius-full);
  color: var(--prada-white);
  font-size: var(--prada-text-sm);
  font-family: var(--prada-font-mono);
  font-weight: var(--prada-font-medium);
  z-index: var(--prada-modal-z-header);
  -webkit-backdrop-filter: blur(var(--prada-blur-md));
          backdrop-filter: blur(var(--prada-blur-md));
  border: 1px solid rgba(255, 255, 255, 0.1);
}

/* ========================================
   主圖片區域
   ======================================== */

.show-product-img-modal_mainImageContainer__96QgP {
  flex: 1 1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: var(--prada-space-20) var(--prada-space-12);
  overflow: hidden;
  cursor: grab;
}

.show-product-img-modal_mainImageContainer__96QgP:active {
  cursor: grabbing;
}

.show-product-img-modal_mainImage__h98r7 {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  -webkit-user-select: none;
          user-select: none;
  opacity: 0;
  transition: opacity var(--prada-duration-normal) var(--prada-ease-out);
}

.show-product-img-modal_mainImage__h98r7.show-product-img-modal_loaded__V1liP {
  opacity: 1;
}

/* ========================================
   載入狀態
   ======================================== */

.show-product-img-modal_loadingSpinner__\+XEIO {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--prada-space-3);
  z-index: 1;
}

.show-product-img-modal_spinner__hyFFC {
  width: 48px;
  height: 48px;
  border: 3px solid rgba(255, 255, 255, 0.2);
  border-top-color: var(--prada-primary);
  border-radius: 50%;
  animation: show-product-img-modal_spin__pcWJH var(--prada-duration-slower) linear infinite;
}

@keyframes show-product-img-modal_spin__pcWJH {
  to {
    transform: rotate(360deg);
  }
}

.show-product-img-modal_loadingText__p3AY- {
  font-size: var(--prada-text-sm);
  color: rgba(255, 255, 255, 0.7);
  font-weight: var(--prada-font-medium);
}

/* ========================================
   導航按鈕
   ======================================== */

.show-product-img-modal_navButton__a-NZf {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(255, 255, 255, 0.1);
  border: none;
  border-radius: 50%;
  color: var(--prada-white);
  cursor: pointer;
  z-index: 10;
  transition: all var(--prada-duration-fast) var(--prada-ease-out);
  -webkit-backdrop-filter: blur(var(--prada-blur-md));
          backdrop-filter: blur(var(--prada-blur-md));
}

.show-product-img-modal_navButton__a-NZf:hover {
  background-color: rgba(255, 255, 255, 0.2);
  transform: translateY(-50%) scale(1.1);
}

.show-product-img-modal_navButton__a-NZf:active {
  transform: translateY(-50%) scale(0.95);
}

.show-product-img-modal_navButtonPrev__CRXA- {
  left: var(--prada-space-5);
}

.show-product-img-modal_navButtonNext__n\+dnf {
  right: var(--prada-space-5);
}

.show-product-img-modal_navButton__a-NZf svg {
  width: 28px;
  height: 28px;
}

/* ========================================
   縮略圖導航
   ======================================== */

.show-product-img-modal_thumbnailsContainer__TYd-U {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: var(--prada-space-6);
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.8) 0%, transparent 100%);
  z-index: var(--prada-modal-z-header);
  display: flex;
  justify-content: center;
}

.show-product-img-modal_thumbnails__l\+Imz {
  display: flex;
  gap: var(--prada-space-3);
  overflow-x: auto;
  max-width: 100%;
  padding: var(--prada-space-2);
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.3) transparent;
  scroll-behavior: smooth;
}

.show-product-img-modal_thumbnails__l\+Imz::-webkit-scrollbar {
  height: 4px;
}

.show-product-img-modal_thumbnails__l\+Imz::-webkit-scrollbar-track {
  background: transparent;
}

.show-product-img-modal_thumbnails__l\+Imz::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.3);
  border-radius: var(--prada-radius-sm);
}

.show-product-img-modal_thumbnails__l\+Imz::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.5);
}

.show-product-img-modal_thumbnail__Z96P8 {
  flex: 0 0 96px;
  width: 96px;
  height: 96px;
  padding: 0;
  border: 2px solid transparent;
  border-radius: var(--prada-radius-md);
  overflow: hidden;
  cursor: pointer;
  background-color: transparent;
  opacity: 0.5;
  transition: all var(--prada-duration-fast) var(--prada-ease-out);
}

.show-product-img-modal_thumbnail__Z96P8:hover {
  opacity: 0.8;
  transform: translateY(-4px);
  border-color: rgba(255, 255, 255, 0.3);
}

.show-product-img-modal_thumbnailActive__A4gFQ {
  opacity: 1;
  border-color: var(--prada-primary);
  box-shadow: 0 0 0 1px var(--prada-primary), var(--prada-shadow-primary);
}

.show-product-img-modal_thumbnailImage__opbx5 {
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}

/* ========================================
   鍵盤提示
   ======================================== */

.show-product-img-modal_keyboardHints__8JVjW {
  position: fixed;
  bottom: 140px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: var(--prada-space-6);
  padding: var(--prada-space-3) var(--prada-space-5);
  background-color: rgba(0, 0, 0, 0.7);
  border-radius: var(--prada-radius-xl);
  -webkit-backdrop-filter: blur(var(--prada-blur-lg));
          backdrop-filter: blur(var(--prada-blur-lg));
  border: 1px solid rgba(255, 255, 255, 0.1);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--prada-duration-normal) var(--prada-ease-out);
  animation: show-product-img-modal_hint-fade-in__mkcfD var(--prada-duration-normal) var(--prada-ease-out) 1s forwards;
}

@keyframes show-product-img-modal_hint-fade-in__mkcfD {
  0% {
    opacity: 0;
    transform: translateX(-50%) translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}

.show-product-img-modal_hint__zMeNc {
  display: flex;
  align-items: center;
  gap: var(--prada-space-2);
  font-size: var(--prada-text-sm);
  color: rgba(255, 255, 255, 0.9);
}

.show-product-img-modal_key__A5jK5 {
  padding: var(--prada-space-1) var(--prada-space-3);
  background-color: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: var(--prada-radius-sm);
  font-family: var(--prada-font-mono);
  font-size: var(--prada-text-xs);
  font-weight: var(--prada-font-medium);
  color: var(--prada-white);
  min-width: 28px;
  text-align: center;
}

.show-product-img-modal_hintText__8l2Oh {
  font-size: var(--prada-text-sm);
  color: rgba(255, 255, 255, 0.8);
}

/* ========================================
   響應式設計 - 平板 (768px - 1024px)
   ======================================== */

@media (max-width: 1024px) {
  .show-product-img-modal_mainImageContainer__96QgP {
    padding: var(--prada-space-16) var(--prada-space-8);
  }

  .show-product-img-modal_navButton__a-NZf {
    width: 48px;
    height: 48px;
  }

  .show-product-img-modal_navButton__a-NZf svg {
    width: 24px;
    height: 24px;
  }

  .show-product-img-modal_thumbnail__Z96P8 {
    flex: 0 0 80px;
    width: 80px;
    height: 80px;
  }
}

/* ========================================
   響應式設計 - 手機 (< 768px)
   ======================================== */

@media (max-width: 768px) {
  .show-product-img-modal_closeButton__K9KJl {
    top: var(--prada-space-4);
    right: var(--prada-space-4);
    width: 44px;
    height: 44px;
  }

  .show-product-img-modal_closeButton__K9KJl svg {
    width: 20px;
    height: 20px;
  }

  .show-product-img-modal_imageCounter__W9VlO {
    top: var(--prada-space-4);
    left: var(--prada-space-4);
    font-size: var(--prada-text-xs);
    padding: var(--prada-space-1) var(--prada-space-3);
  }

  .show-product-img-modal_mainImageContainer__96QgP {
    padding: var(--prada-space-16) var(--prada-space-5);
  }

  .show-product-img-modal_navButton__a-NZf {
    width: 44px;
    height: 44px;
  }

  .show-product-img-modal_navButtonPrev__CRXA- {
    left: var(--prada-space-3);
  }

  .show-product-img-modal_navButtonNext__n\+dnf {
    right: var(--prada-space-3);
  }

  .show-product-img-modal_navButton__a-NZf svg {
    width: 22px;
    height: 22px;
  }

  .show-product-img-modal_thumbnailsContainer__TYd-U {
    padding: var(--prada-space-4);
  }

  .show-product-img-modal_thumbnails__l\+Imz {
    gap: var(--prada-space-2);
  }

  .show-product-img-modal_thumbnail__Z96P8 {
    flex: 0 0 72px;
    width: 72px;
    height: 72px;
  }

  .show-product-img-modal_keyboardHints__8JVjW {
    display: none;
  }
}

/* ========================================
   響應式設計 - 小型手機 (< 480px)
   ======================================== */

@media (max-width: 480px) {
  .show-product-img-modal_closeButton__K9KJl {
    top: var(--prada-space-3);
    right: var(--prada-space-3);
    width: 40px;
    height: 40px;
  }

  .show-product-img-modal_closeButton__K9KJl svg {
    width: 18px;
    height: 18px;
  }

  .show-product-img-modal_imageCounter__W9VlO {
    top: var(--prada-space-3);
    left: var(--prada-space-3);
  }

  .show-product-img-modal_mainImageContainer__96QgP {
    padding: var(--prada-space-12) var(--prada-space-4);
  }

  /* 手機上隱藏導航按鈕，使用滑動手勢 */
  .show-product-img-modal_navButton__a-NZf {
    display: none;
  }

  .show-product-img-modal_thumbnailsContainer__TYd-U {
    padding: var(--prada-space-3);
  }

  .show-product-img-modal_thumbnail__Z96P8 {
    flex: 0 0 64px;
    width: 64px;
    height: 64px;
  }
}

/* ========================================
   觸控裝置優化
   ======================================== */

@media (hover: none) and (pointer: coarse) {
  .show-product-img-modal_mainImageContainer__96QgP {
    touch-action: none; /* 禁用瀏覽器預設手勢，交由自訂 swipe 邏輯處理 */
  }

  /* 觸控裝置上不需要 hover 效果 */
  .show-product-img-modal_thumbnail__Z96P8:hover {
    opacity: 0.5;
    transform: none;
    border-color: transparent;
  }

  .show-product-img-modal_thumbnailActive__A4gFQ:hover {
    opacity: 1;
    border-color: var(--prada-primary);
  }
}

/* ========================================
   無障礙 - 減少動畫偏好
   ======================================== */

@media (prefers-reduced-motion: reduce) {
  .show-product-img-modal_mainImage__h98r7,
  .show-product-img-modal_navButton__a-NZf,
  .show-product-img-modal_thumbnail__Z96P8,
  .show-product-img-modal_keyboardHints__8JVjW,
  .show-product-img-modal_closeButton__K9KJl {
    transition: none;
    animation: none;
  }

  .show-product-img-modal_spinner__hyFFC {
    animation-duration: var(--prada-duration-slow);
  }
}

/* ========================================
   無障礙 - 高對比度模式
   ======================================== */

@media (prefers-contrast: high) {
  .show-product-img-modal_closeButton__K9KJl,
  .show-product-img-modal_navButton__a-NZf,
  .show-product-img-modal_thumbnail__Z96P8 {
    border: 2px solid var(--prada-white);
  }

  .show-product-img-modal_thumbnailActive__A4gFQ {
    border-width: 3px;
  }

  .show-product-img-modal_key__A5jK5 {
    border-width: 2px;
  }
}

/* ========================================
   縮放功能樣式
   ======================================== */

.show-product-img-modal_zoomIndicator__TRfWM {
  position: fixed;
  top: var(--prada-space-5);
  left: 50%;
  transform: translateX(-50%);
  padding: var(--prada-space-2) var(--prada-space-4);
  background-color: rgba(0, 0, 0, 0.7);
  border-radius: var(--prada-radius-full);
  color: var(--prada-white);
  font-size: var(--prada-text-base);
  font-family: var(--prada-font-mono);
  font-weight: var(--prada-font-bold);
  z-index: var(--prada-modal-z-header);
  -webkit-backdrop-filter: blur(var(--prada-blur-md));
          backdrop-filter: blur(var(--prada-blur-md));
  border: 1px solid rgba(255, 255, 255, 0.2);
  pointer-events: none;
  animation: show-product-img-modal_zoomIndicatorFade__YUr7m 1s ease-out forwards;
}

@keyframes show-product-img-modal_zoomIndicatorFade__YUr7m {
  0% {
    opacity: 1;
    transform: translateX(-50%) scale(1);
  }
  70% {
    opacity: 1;
    transform: translateX(-50%) scale(1);
  }
  100% {
    opacity: 0;
    transform: translateX(-50%) scale(0.9);
  }
}

.show-product-img-modal_mainImageContainer__96QgP.show-product-img-modal_zoomed__4bnKU {
  touch-action: none;
  cursor: move;
}

.show-product-img-modal_mainImage__h98r7.show-product-img-modal_zoomedImage__b1w\+f {
  will-change: transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

/* 觸控裝置縮放優化 */
@media (hover: none) and (pointer: coarse) {
  .show-product-img-modal_mainImageContainer__96QgP {
    touch-action: none;
  }

  .show-product-img-modal_mainImageContainer__96QgP.show-product-img-modal_zoomed__4bnKU {
    touch-action: none;
  }

  /* 縮放時的觸控提示 */
  .show-product-img-modal_zoomIndicator__TRfWM {
    font-size: var(--prada-text-lg);
    padding: var(--prada-space-3) var(--prada-space-5);
  }
}

/* 響應式縮放指示器 */
@media (max-width: 768px) {
  .show-product-img-modal_zoomIndicator__TRfWM {
    top: var(--prada-space-4);
    font-size: var(--prada-text-sm);
    padding: var(--prada-space-2) var(--prada-space-3);
  }
}

@media (max-width: 480px) {
  .show-product-img-modal_zoomIndicator__TRfWM {
    top: var(--prada-space-3);
  }
}

/* ========================================
   列印樣式
   ======================================== */

@media print {
  .show-product-img-modal_productImageModal__Em7eR {
    display: none;
  }
}

/**
 * 組合優惠詳情 Modal 樣式
 * Prada 風格 - 簡潔、優雅、高級
 */

.ComboDetailModal_backdrop__I7Kr8 {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.75);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 20px;
  animation: ComboDetailModal_fadeIn__R\+\+0h 0.3s ease;
}

@keyframes ComboDetailModal_fadeIn__R\+\+0h {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.ComboDetailModal_modal__T3SCp {
  background: #ffffff;
  border: 1px solid #e5e5e5;
  max-width: 600px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-family: var(--prada-font-family, 'Helvetica Neue', Arial, sans-serif);
  animation: ComboDetailModal_slideUp__9bZho 0.3s ease;
}

@keyframes ComboDetailModal_slideUp__9bZho {
  from {
    transform: translateY(20px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

/* 標題區 */
.ComboDetailModal_header__MJoUS {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding: 32px;
  border-bottom: 1px solid #f0f0f0;
}

.ComboDetailModal_title__QDCKK {
  margin: 0 0 8px 0;
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 1px;
  color: #000000;
  text-transform: uppercase;
}

.ComboDetailModal_description__oAL3m {
  margin: 0;
  font-size: 14px;
  color: #666666;
  letter-spacing: 0.3px;
  line-height: 1.6;
}

.ComboDetailModal_closeBtn__d5xP3 {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 1px solid #e0e0e0;
  color: #666666;
  cursor: pointer;
  transition: all 0.3s ease;
  border-radius: 2px;
}

.ComboDetailModal_closeBtn__d5xP3:hover {
  background: #f5f5f5;
  border-color: #000000;
  color: #000000;
}

/* 優惠有效期 */
.ComboDetailModal_validity__Xxxkc {
  padding: 24px 32px;
  background: #fafafa;
  border-bottom: 1px solid #f0f0f0;
}

.ComboDetailModal_validityLabel__TN6SV {
  font-size: 12px;
  color: #999999;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.ComboDetailModal_validityDates__z6y4L {
  font-size: 16px;
  color: #000000;
  font-weight: 500;
  letter-spacing: 0.3px;
}

/* 適用商品類型 */
.ComboDetailModal_applicableTypes__ZjABv {
  padding: 24px 32px;
  border-bottom: 1px solid #f0f0f0;
}

.ComboDetailModal_sectionTitle__wslBE {
  font-size: 14px;
  font-weight: 500;
  color: #000000;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.ComboDetailModal_typesList__fez92 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ComboDetailModal_typeTag__tTJFO {
  display: inline-block;
  padding: 6px 12px;
  background: #f5f5f5;
  border: 1px solid #e0e0e0;
  font-size: 13px;
  color: #333333;
  letter-spacing: 0.3px;
  border-radius: 2px;
}

/* 優惠階梯 */
.ComboDetailModal_tiersSection__Jv3k\+ {
  padding: 24px 32px;
  border-bottom: 1px solid #f0f0f0;
}

.ComboDetailModal_tiersList__QiBg3 {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ComboDetailModal_tierCard__6E5BC {
  padding: 20px;
  background: #fafafa;
  border: 1px solid #e0e0e0;
  border-radius: 2px;
  transition: all 0.3s ease;
}

.ComboDetailModal_tierCard__6E5BC:hover {
  background: #f5f5f5;
  border-color: #cccccc;
}

.ComboDetailModal_tierCard__6E5BC.ComboDetailModal_recommended__R5F2b {
  background: #000000;
  border-color: #000000;
  color: #ffffff;
}

.ComboDetailModal_tierHeader__fS5hC {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.ComboDetailModal_tierQuantity__PVOFp {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.3px;
}

.ComboDetailModal_tierCard__6E5BC.ComboDetailModal_recommended__R5F2b .ComboDetailModal_tierQuantity__PVOFp {
  color: #ffffff;
}

.ComboDetailModal_recommendedBadge__XWCKW {
  padding: 4px 12px;
  background: #ffffff;
  color: #000000;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  border-radius: 2px;
}

.ComboDetailModal_tierLabel__HETmn {
  font-size: 14px;
  color: #666666;
  letter-spacing: 0.3px;
  margin-bottom: 12px;
  line-height: 1.5;
}

.ComboDetailModal_tierCard__6E5BC.ComboDetailModal_recommended__R5F2b .ComboDetailModal_tierLabel__HETmn {
  color: #cccccc;
}

.ComboDetailModal_tierPrice__w4Vj8 {
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.ComboDetailModal_priceLabel__DDvVG {
  font-size: 12px;
  color: #999999;
  letter-spacing: 0.3px;
}

.ComboDetailModal_tierCard__6E5BC.ComboDetailModal_recommended__R5F2b .ComboDetailModal_priceLabel__DDvVG {
  color: #999999;
}

.ComboDetailModal_priceValue__3vfxd {
  font-size: 18px;
  font-weight: 500;
  color: #000000;
  letter-spacing: 0.3px;
}

.ComboDetailModal_tierCard__6E5BC.ComboDetailModal_recommended__R5F2b .ComboDetailModal_priceValue__3vfxd {
  color: #ffffff;
}

/* 注意事項 */
.ComboDetailModal_notes__LAL9T {
  padding: 24px 32px;
  border-bottom: 1px solid #f0f0f0;
}

.ComboDetailModal_notesList__AwgqB {
  margin: 0;
  padding-left: 20px;
  font-size: 13px;
  color: #666666;
  letter-spacing: 0.3px;
  line-height: 1.8;
}

.ComboDetailModal_notesList__AwgqB li {
  margin-bottom: 8px;
}

.ComboDetailModal_notesList__AwgqB li:last-child {
  margin-bottom: 0;
}

/* 底部按鈕 */
.ComboDetailModal_footer__XbdSF {
  padding: 24px 32px;
}

.ComboDetailModal_confirmBtn__K1As8 {
  width: 100%;
  padding: 12px 24px;
  background: #000000;
  color: #ffffff;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
  border: none;
  border-radius: 2px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-family: inherit;
}

.ComboDetailModal_confirmBtn__K1As8:hover {
  background: #333333;
}

.ComboDetailModal_confirmBtn__K1As8:active {
  transform: translateY(1px);
}

/* 響應式設計 */
@media (max-width: 768px) {
  .ComboDetailModal_backdrop__I7Kr8 {
    padding: 0;
    align-items: flex-end;
  }

  .ComboDetailModal_modal__T3SCp {
    max-width: 100%;
    max-height: 95vh;
    border-radius: 16px 16px 0 0;
  }

  .ComboDetailModal_header__MJoUS,
  .ComboDetailModal_validity__Xxxkc,
  .ComboDetailModal_applicableTypes__ZjABv,
  .ComboDetailModal_tiersSection__Jv3k\+,
  .ComboDetailModal_notes__LAL9T,
  .ComboDetailModal_footer__XbdSF {
    padding: 20px 24px;
  }

  .ComboDetailModal_title__QDCKK {
    font-size: 18px;
  }

  .ComboDetailModal_description__oAL3m {
    font-size: 13px;
  }

  .ComboDetailModal_tierCard__6E5BC {
    padding: 16px;
  }

  .ComboDetailModal_tierQuantity__PVOFp {
    font-size: 15px;
  }

  .ComboDetailModal_tierLabel__HETmn {
    font-size: 13px;
  }

  .ComboDetailModal_priceValue__3vfxd {
    font-size: 16px;
  }
}

@media (max-width: 480px) {
  .ComboDetailModal_header__MJoUS,
  .ComboDetailModal_validity__Xxxkc,
  .ComboDetailModal_applicableTypes__ZjABv,
  .ComboDetailModal_tiersSection__Jv3k\+,
  .ComboDetailModal_notes__LAL9T,
  .ComboDetailModal_footer__XbdSF {
    padding: 16px 20px;
  }

  .ComboDetailModal_title__QDCKK {
    font-size: 16px;
  }

  .ComboDetailModal_description__oAL3m {
    font-size: 12px;
  }

  .ComboDetailModal_sectionTitle__wslBE {
    font-size: 13px;
  }

  .ComboDetailModal_tierCard__6E5BC {
    padding: 12px;
  }

  .ComboDetailModal_notesList__AwgqB {
    font-size: 12px;
  }

  .ComboDetailModal_confirmBtn__K1As8 {
    font-size: 13px;
  }
}

/* 滾動條樣式 */
.ComboDetailModal_modal__T3SCp::-webkit-scrollbar {
  width: 6px;
}

.ComboDetailModal_modal__T3SCp::-webkit-scrollbar-track {
  background: #f5f5f5;
}

.ComboDetailModal_modal__T3SCp::-webkit-scrollbar-thumb {
  background: #cccccc;
  border-radius: 3px;
}

.ComboDetailModal_modal__T3SCp::-webkit-scrollbar-thumb:hover {
  background: #999999;
}

/* ===================================
   Prada 風格組合包選擇器樣式
   =================================== */

/* Prada 色彩系統 */
:root {
  --prada-black: #000000;
  --prada-white: #FFFFFF;
  --prada-gray-light: #F5F5F5;
  --prada-gray-medium: #E0E0E0;
  --prada-gray-dark: var(--color-gray-500);
  --prada-selected-border: #000000;
  --prada-hover-shadow: rgba(0, 0, 0, 0.1);
}

/* 主容器 */
.bundle-selector-container {
  padding: 20px 0;
  font-family: 'Helvetica Neue', 'Arial', sans-serif;
}

/* ===================================
   選擇進度提示（Prada 風格）
   =================================== */
.selection-status {
  background: #F5F5F5;
  background: var(--prada-gray-light);
  border: 1px solid #E0E0E0;
  border: 1px solid var(--prada-gray-medium);
  border-radius: 0;
  padding: 16px 20px;
  margin-bottom: 24px;
  font-size: 14px;
  letter-spacing: 0.5px;
}

.selection-status .badge {
  background: #000000;
  background: var(--prada-black);
  color: #FFFFFF;
  color: var(--prada-white);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.5px;
  padding: 4px 10px;
  border-radius: 0;
}

/* ===================================
   組合價格顯示（Prada 風格）
   =================================== */
.bundle-price-info {
  text-align: center;
  padding: 20px;
  background: #FFFFFF;
  background: var(--prada-white);
  border: 1px solid #E0E0E0;
  border: 1px solid var(--prada-gray-medium);
  border-radius: 0;
  margin-bottom: 24px;
  letter-spacing: 0.5px;
}

.bundle-price-info .h5 {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--color-gray-500);
  color: var(--prada-gray-dark);
  margin: 0;
}

.bundle-price-info .h4 {
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.5px;
  color: #000000;
  color: var(--prada-black);
  margin: 4px 0 0 0;
}

/* ===================================
   群組容器
   =================================== */
.bundle-group {
  margin-bottom: 40px;
}

/* 群組標題（Prada 風格） */
.group-title {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #000000;
  color: var(--prada-black);
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid #E0E0E0;
  border-bottom: 1px solid var(--prada-gray-medium);
  display: flex;
  align-items: center;
  gap: 10px;
}

.group-title .badge {
  background: #000000;
  background: var(--prada-black);
  color: #FFFFFF;
  color: var(--prada-white);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.5px;
  padding: 4px 8px;
  border-radius: 0;
  text-transform: uppercase;
}

/* ===================================
   商品網格佈局（垂直堆疊）
   =================================== */
.products-grid {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* ===================================
   商品按鈕（Prada 精緻小卡片）
   =================================== */
.bundle-product-button {
  /* 佈局 */
  display: flex;
  align-items: center;
  gap: 16px;

  /* 尺寸 - 一列一個，完整顯示，彈性高度 */
  min-height: 90px;
  width: 100%;

  /* 樣式 */
  padding: 14px 20px;
  background: #FFFFFF;
  background: var(--prada-white);
  border: 1px solid #E0E0E0;
  border: 1px solid var(--prada-gray-medium);
  border-radius: 0;
  cursor: pointer;

  /* 字體 */
  font-family: 'Helvetica Neue', 'Arial', sans-serif;
  text-align: left;

  /* 動畫 */
  transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  position: relative;
  overflow: visible;
}

/* Hover 效果 */
.bundle-product-button:hover:not(:disabled) {
  border-color: #000000;
  border-color: var(--prada-black);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  z-index: var(--z-normal);
}

/* 選中狀態 */
.bundle-product-button.selected {
  background: #F5F5F5;
  background: var(--prada-gray-light);
  border: 2px solid #000000;
  border: 2px solid var(--prada-black);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

/* 禁用狀態 */
.bundle-product-button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* ===================================
   商品小圖片（70x70px - 更清晰尺寸）
   =================================== */
.product-image-mini {
  flex: 0 0 70px;
  width: 70px;
  height: 70px;
  border-radius: 2px;
  overflow: hidden;
  background: #F5F5F5;
  background: var(--prada-gray-light);
}

.product-image-mini img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 無圖片時的佔位樣式 */
.product-image-mini img[src*="image.png"] {
  opacity: 0.6;
  filter: grayscale(20%);
}

/* ===================================
   商品信息區（Flex: 1）
   =================================== */
.product-info-compact {
  flex: 1 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  justify-content: center;
  overflow: hidden;
}

/* 商品名稱 - 允許兩行顯示 */
.product-name-compact {
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.3px;
  color: #000000;
  color: var(--prada-black);
  line-height: 1.4;

  /* 最多兩行，超出顯示省略號 */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 選中時名稱加粗 */
.bundle-product-button.selected .product-name-compact {
  font-weight: 600;
}

/* 價格顯示 - 更清晰 */
.product-price-compact {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  letter-spacing: 0.2px;
  margin-top: 4px;
}

.price-original {
  font-size: 12px;
  color: var(--color-gray-500);
  color: var(--prada-gray-dark);
  text-decoration: line-through;
}

.price-sales {
  font-weight: 600;
  color: #000000;
  color: var(--prada-black);
  font-size: 15px;
}

.price-normal {
  font-weight: 600;
  color: #000000;
  color: var(--prada-black);
  font-size: 15px;
}

/* ===================================
   數量選擇器（清晰好點擊版）
   =================================== */
.quantity-selector-compact {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
}

.qty-btn-compact {
  width: 32px;
  height: 32px;
  border: 1px solid #E0E0E0;
  border: 1px solid var(--prada-gray-medium);
  background: #FFFFFF;
  background: var(--prada-white);
  border-radius: 0;
  font-size: 16px;
  font-weight: 600;
  color: #000000;
  color: var(--prada-black);
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  line-height: 1;
}

.qty-btn-compact:hover:not(:disabled) {
  background: #000000;
  background: var(--prada-black);
  color: #FFFFFF;
  color: var(--prada-white);
  border-color: #000000;
  border-color: var(--prada-black);
}

.qty-btn-compact:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

.qty-display-compact {
  min-width: 28px;
  text-align: center;
  font-size: 15px;
  font-weight: 600;
  color: #000000;
  color: var(--prada-black);
}

/* ===================================
   必選標記（右上角迷你徽章）
   =================================== */
.required-badge-mini {
  position: absolute;
  top: 6px;
  right: 6px;
  background: #000000;
  background: var(--prada-black);
  color: #FFFFFF;
  color: var(--prada-white);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  padding: 2px 5px;
  border-radius: 0;
  z-index: 5;
}

/* ===================================
   響應式設計
   =================================== */

/* 平板和手機版 - 調整間距 */
@media (max-width: 767px) {
  .bundle-selector-container {
    padding: 10px 0;
  }

  .products-grid {
    gap: 12px;
  }

  .bundle-product-button {
    min-height: 85px;
    padding: 12px 16px;
    gap: 12px;
  }

  /* 圖片適當縮小 */
  .product-image-mini {
    flex: 0 0 60px;
    width: 60px;
    height: 60px;
  }

  /* 商品名稱 */
  .product-name-compact {
    font-size: 14px;
  }

  /* 價格 */
  .product-price-compact {
    font-size: 13px;
  }

  .price-original {
    font-size: 11px;
  }

  .price-sales,
  .price-normal {
    font-size: 14px;
  }

  /* 數量按鈕 */
  .qty-btn-compact {
    width: 30px;
    height: 30px;
    font-size: 15px;
  }

  .qty-display-compact {
    font-size: 14px;
    min-width: 24px;
  }

  /* 群組標題 */
  .group-title {
    font-size: 14px;
    margin-bottom: 16px;
  }

  /* 選擇狀態 */
  .selection-status {
    padding: 12px 16px;
    font-size: 13px;
  }

  /* 組合價格 */
  .bundle-price-info {
    padding: 16px;
  }

  .bundle-price-info .h4 {
    font-size: 20px;
  }

  /* 必選標記 */
  .required-badge-mini {
    top: 8px;
    right: 8px;
    font-size: 9px;
    padding: 3px 5px;
  }
}

/* 極小屏幕優化 */
@media (max-width: 480px) {
  .bundle-product-button {
    min-height: 80px;
    padding: 10px 12px;
    gap: 10px;
  }

  .product-image-mini {
    flex: 0 0 55px;
    width: 55px;
    height: 55px;
  }

  .product-name-compact {
    font-size: 13px;
  }

  .product-price-compact {
    font-size: 12px;
  }

  .price-sales,
  .price-normal {
    font-size: 13px;
  }

  .qty-btn-compact {
    width: 28px;
    height: 28px;
    font-size: 14px;
  }

  .qty-display-compact {
    font-size: 13px;
    min-width: 22px;
  }
}

/* ===================================
   Alert 組件覆蓋（Prada 風格）
   =================================== */
.bundle-selector-container .alert {
  border-radius: 0;
  border-width: 1px;
  letter-spacing: 0.3px;
}

.bundle-selector-container .alert-warning {
  background: #FFF9E6;
  border-color: #E0E0E0;
  border-color: var(--prada-gray-medium);
  color: #000000;
  color: var(--prada-black);
}

/**
 * 組合優惠橫幅樣式
 * Prada 風格 - 簡潔、優雅、高級
 */

.ComboBanner_banner__I7RXV {
  background: #ffffff;
  border: none;
  border-radius: 0;
  margin: 0 0 32px 0;
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-family: var(--prada-font-family, 'Helvetica Neue', Arial, sans-serif);
  position: relative;
  overflow: hidden;
  transition: opacity 0.3s ease;
}

.ComboBanner_container__\+Dglw {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
}

.ComboBanner_content__2lDkT {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 0;
}

/* 標題區 */
.ComboBanner_titleSection__TawPE {
  flex-shrink: 0;
}

.ComboBanner_title__U\+ItP {
  margin: 0 0 4px 0;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.5px;
  color: var(--primary-color);
  text-transform: uppercase;
}

.ComboBanner_description__9Te0J {
  margin: 0;
  font-size: 13px;
  color: #666666;
  letter-spacing: 0.3px;
}

/* 階梯展示區 */
.ComboBanner_tiersSection__B2G8v {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 1 1;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.ComboBanner_tiersSection__B2G8v::-webkit-scrollbar {
  display: none;
}

.ComboBanner_tierItem__0UQDL {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: #fef9ff;
  border: none;
  border-radius: 4px;
  white-space: nowrap;
  transition: background 0.3s ease;
}

.ComboBanner_tierItem__0UQDL:hover {
  background: #fff5f8;
}

.ComboBanner_tierItem__0UQDL.ComboBanner_recommended__8C7UW {
  background: #fff5f8;
}

.ComboBanner_tierLabel__ybRud {
  font-size: 13px;
  color: #333333;
  letter-spacing: 0.3px;
  font-weight: 500;
}

.ComboBanner_tierItem__0UQDL.ComboBanner_recommended__8C7UW .ComboBanner_tierLabel__ybRud {
  color: var(--primary-color);
  font-weight: 600;
}

.ComboBanner_recommendedBadge__V1043 {
  display: inline-block;
  padding: 2px 8px;
  background: var(--primary-color);
  color: #ffffff;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  border-radius: 2px;
}

/* 多規則分隔線 */
.ComboBanner_ruleDivider__zy-2P {
  height: 1px;
  background: linear-gradient(90deg, transparent, #e0e0e0, transparent);
  margin: 8px 0;
}

/* 查看詳情按鈕 */
.ComboBanner_detailBtn__00\+qX {
  flex-shrink: 0;
  padding: 10px 24px;
  background: var(--primary-color);
  color: #ffffff;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.3s ease;
  font-family: inherit;
}

.ComboBanner_detailBtn__00\+qX:hover {
  background: #9A1A3A;
}

.ComboBanner_detailBtn__00\+qX:active {
  background: #8A1535;
}

/* 響應式設計 */
@media (max-width: 992px) {
  .ComboBanner_content__2lDkT {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    padding: 20px 0;
  }

  .ComboBanner_titleSection__TawPE {
    width: 100%;
  }

  .ComboBanner_tiersSection__B2G8v {
    width: 100%;
    padding-bottom: 8px;
  }

  .ComboBanner_detailBtn__00\+qX {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .ComboBanner_banner__I7RXV {
    margin: 0 0 24px 0;
  }

  .ComboBanner_content__2lDkT {
    padding: 16px 0;
  }

  .ComboBanner_title__U\+ItP {
    font-size: 16px;
  }

  .ComboBanner_description__9Te0J {
    font-size: 12px;
  }

  .ComboBanner_tierLabel__ybRud {
    font-size: 12px;
  }

  .ComboBanner_tierItem__0UQDL {
    padding: 6px 12px;
  }

  .ComboBanner_detailBtn__00\+qX {
    font-size: 12px;
    padding: 8px 20px;
  }
}

@media (max-width: 480px) {
  .ComboBanner_title__U\+ItP {
    font-size: 14px;
  }

  .ComboBanner_description__9Te0J {
    font-size: 11px;
  }

  .ComboBanner_tierLabel__ybRud {
    font-size: 11px;
  }

  .ComboBanner_tierItem__0UQDL {
    padding: 6px 10px;
  }

  .ComboBanner_recommendedBadge__V1043 {
    font-size: 9px;
    padding: 2px 6px;
  }
}

/**
 * 穿戴甲規格選擇器 - Prada 高級風格
 * 極簡、優雅、細緻的設計語言
 */

.prada-variant-selector {
  width: 100%;
  padding: 16px 0;
  font-family: 'Helvetica Neue', 'Arial', sans-serif;
  letter-spacing: 0.02em;
}

/* === 規格組 === */
.variant-group {
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid #e8e8e8;
}

.variant-group:last-of-type {
  border-bottom: none;
}

/* === 規格標題區 === */
.variant-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.variant-label {
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: #1a1a1a;
}

.variant-selected-value {
  font-size: 13px;
  font-weight: 400;
  color: #666;
  letter-spacing: 0.05em;
}

/* === 規格選項容器 === */
.variant-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* === 規格按鈕 - Prada 風格 === */
.prada-variant-btn {
  position: relative;
  min-width: 56px;
  padding: 7px 14px;
  background: transparent;
  border: 1px solid #1a1a1a;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
  overflow: hidden;
}

.prada-variant-btn .btn-label {
  position: relative;
  z-index: 1;
  font-size: 11px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #1a1a1a;
  transition: color 0.2s ease;
}

/* Hover 狀態 */
.prada-variant-btn:hover:not(.unavailable):not(.selected) {
  background: #f5f5f5;
}

/* 選中狀態 */
.prada-variant-btn.selected {
  background: #1a1a1a;
  border-color: #1a1a1a;
}

.prada-variant-btn.selected .btn-label {
  color: #fff;
}

/* 選中指示器 - 底部細線 */
.selected-indicator {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: #fff;
  animation: slideIn 0.3s ease forwards;
}

@keyframes slideIn {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}

/* 不可用狀態 */
.prada-variant-btn.unavailable {
  border-color: #d9d9d9;
  cursor: not-allowed;
  opacity: 0.4;
}

.prada-variant-btn.unavailable .btn-label {
  color: #999;
}

.prada-variant-btn.unavailable::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background: #bbb;
  transform: rotate(-10deg);
}

/* === 庫存資訊區 === */
.variant-info {
  margin-top: 20px;
  padding: 16px 20px;
  background: #fafafa;
  border-left: 2px solid #1a1a1a;
}

.stock-status {
  font-size: 13px;
  letter-spacing: 0.03em;
}

.in-stock {
  color: #2d5a27;
  font-weight: 400;
}

.stock-qty {
  margin-left: 6px;
  color: #888;
  font-size: 12px;
}

.out-of-stock {
  color: #8b0000;
  font-weight: 400;
}

/* === 數量選擇區 === */
.quantity-section {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #e8e8e8;
}

.quantity-label {
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: #1a1a1a;
  min-width: 48px;
}

.quantity-control {
  display: flex;
  align-items: center;
  border: 1px solid #1a1a1a;
}

.qty-btn {
  width: 34px;
  height: 34px;
  background: transparent;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease;
}

.qty-btn:hover:not(:disabled) {
  background: #f5f5f5;
}

.qty-btn:disabled {
  cursor: not-allowed;
  opacity: 0.3;
}

.qty-icon {
  font-size: 16px;
  font-weight: 300;
  color: #1a1a1a;
  line-height: 1;
}

.qty-input {
  width: 44px;
  height: 34px;
  border: none;
  border-left: 1px solid #e8e8e8;
  border-right: 1px solid #e8e8e8;
  text-align: center;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #1a1a1a;
  background: transparent;
}

.qty-input:focus {
  outline: none;
}

/* === 選擇提示 === */
.selection-hint {
  margin-top: 20px;
  padding: 14px 20px;
  background: #f9f9f9;
  border-left: 2px solid #c4a35a;
  font-size: 13px;
  color: #666;
  letter-spacing: 0.03em;
}

/* === 響應式設計 === */
@media (max-width: 767px) {
  .prada-variant-selector {
    padding: 14px 0;
  }

  .variant-group {
    margin-bottom: 14px;
    padding-bottom: 12px;
  }

  .variant-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  .prada-variant-btn {
    min-width: 50px;
    padding: 6px 12px;
  }

  .prada-variant-btn .btn-label {
    font-size: 11px;
  }

  .quantity-section {
    flex-direction: row;
    align-items: center;
    gap: 12px;
  }

  .qty-btn {
    width: 32px;
    height: 32px;
  }

  .qty-input {
    width: 40px;
    height: 32px;
  }
}

@media (max-width: 575px) {
  .variant-options {
    gap: 6px;
  }

  .prada-variant-btn {
    min-width: 48px;
    padding: 6px 10px;
  }

  .prada-variant-btn .btn-label {
    font-size: 10px;
    letter-spacing: 0.07em;
  }
}

/* === 深色模式支援 (可選) === */
@media (prefers-color-scheme: dark) {
  /* 保持亮色設計以符合 Prada 風格 */
}

/**
 * 組合優惠階梯卡片樣式
 * Prada 風格 - 簡潔、優雅、高級
 */

.ComboTierCard_container__oBr-r {
  background: #ffffff;
  border: 1px solid #e5e5e5;
  border-radius: 2px;
  padding: 24px;
  margin: 24px 0;
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-family: var(--prada-font-family, 'Helvetica Neue', Arial, sans-serif);
}

/* 標題區 */
.ComboTierCard_header__v07UC {
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid #f0f0f0;
}

.ComboTierCard_title__NBbUN {
  margin: 0 0 4px 0;
  font-size: 16px;
  font-weight: 500;
  color: #000000;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.ComboTierCard_subtitle__30xwU {
  margin: 0;
  font-size: 13px;
  color: #666666;
  letter-spacing: 0.3px;
}

/* 階梯列表 */
.ComboTierCard_tiersList__meWoV {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 16px;
}

.ComboTierCard_tierItem__NYDwz {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 16px;
  background: #fafafa;
  border: 1px solid #e0e0e0;
  border-radius: 2px;
  transition: all 0.3s ease;
}

.ComboTierCard_tierItem__NYDwz:hover {
  background: #f5f5f5;
  border-color: #cccccc;
}

.ComboTierCard_tierItem__NYDwz.ComboTierCard_recommended__6Ow2w {
  background: #ffffff;
  border: 2px solid var(--primary-color);
  border-color: var(--primary-color);
  position: relative;
  box-shadow: 0 2px 8px rgba(190, 31, 72, 0.1);
}

.ComboTierCard_tierItem__NYDwz.ComboTierCard_recommended__6Ow2w:hover {
  background: #fef9ff;
  border-color: var(--primary-color);
  box-shadow: 0 4px 12px rgba(190, 31, 72, 0.15);
}

.ComboTierCard_tierItem__NYDwz.ComboTierCard_recommended__6Ow2w::before {
  content: '';
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--primary-color), transparent);
  opacity: 0.6;
  border-radius: 2px 2px 0 0;
}

/* 階梯資訊 */
.ComboTierCard_tierInfo__J-Jf1 {
  flex: 1 1;
}

.ComboTierCard_tierHeader__vdGua {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.ComboTierCard_tierQuantity__DwbcZ {
  font-size: 15px;
  font-weight: 500;
  color: #000000;
  letter-spacing: 0.3px;
}

.ComboTierCard_tierItem__NYDwz.ComboTierCard_recommended__6Ow2w .ComboTierCard_tierQuantity__DwbcZ {
  color: var(--primary-color);
  font-weight: 600;
}

.ComboTierCard_recommendedBadge__-GPGL {
  display: inline-block;
  padding: 2px 8px;
  background: var(--primary-color);
  color: #ffffff;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  border-radius: 2px;
}

.ComboTierCard_tierPrice__QHc26 {
  font-size: 18px;
  font-weight: 500;
  color: #000000;
  letter-spacing: 0.3px;
  margin-bottom: 4px;
}

.ComboTierCard_tierItem__NYDwz.ComboTierCard_recommended__6Ow2w .ComboTierCard_tierPrice__QHc26 {
  color: #000000;
  font-weight: 600;
}

.ComboTierCard_tierSavings__aS4iq {
  font-size: 13px;
  color: #2d7a2d;
  letter-spacing: 0.3px;
  margin-bottom: 4px;
}

.ComboTierCard_tierItem__NYDwz.ComboTierCard_recommended__6Ow2w .ComboTierCard_tierSavings__aS4iq {
  color: #2d7a2d;
  font-weight: 600;
}

.ComboTierCard_tierLabel__mH8-2 {
  font-size: 12px;
  color: #999999;
  letter-spacing: 0.3px;
  line-height: 1.4;
}

.ComboTierCard_tierItem__NYDwz.ComboTierCard_recommended__6Ow2w .ComboTierCard_tierLabel__mH8-2 {
  color: #666666;
}

/* 快速購買按鈕 */
.ComboTierCard_quickBuyBtn__IlSM8 {
  flex-shrink: 0;
  padding: 10px 20px;
  background: transparent;
  color: var(--primary-color);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  border: 1px solid var(--primary-color);
  border-radius: 2px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-family: inherit;
  white-space: nowrap;
}

.ComboTierCard_quickBuyBtn__IlSM8:hover {
  background: var(--primary-color);
  color: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(190, 31, 72, 0.2);
}

.ComboTierCard_quickBuyBtn__IlSM8:active {
  transform: translateY(0);
}

.ComboTierCard_tierItem__NYDwz.ComboTierCard_recommended__6Ow2w .ComboTierCard_quickBuyBtn__IlSM8 {
  background: var(--primary-color);
  color: #ffffff;
  border: 2px solid var(--primary-color);
}

.ComboTierCard_tierItem__NYDwz.ComboTierCard_recommended__6Ow2w .ComboTierCard_quickBuyBtn__IlSM8:hover {
  background: #9A1A3A;
  border-color: #9A1A3A;
}

/* 多規則分隔線 */
.ComboTierCard_ruleDivider__i9zxH {
  height: 1px;
  background: linear-gradient(90deg, transparent, #e0e0e0, transparent);
  margin: 20px 0;
}

/* 說明文字 */
.ComboTierCard_note__Th4XT {
  font-size: 12px;
  color: #999999;
  text-align: center;
  letter-spacing: 0.3px;
  padding-top: 12px;
  border-top: 1px solid #f0f0f0;
}

/* 響應式設計 */
@media (max-width: 768px) {
  .ComboTierCard_container__oBr-r {
    padding: 20px 16px;
  }

  .ComboTierCard_title__NBbUN {
    font-size: 15px;
  }

  .ComboTierCard_subtitle__30xwU {
    font-size: 12px;
  }

  .ComboTierCard_tierItem__NYDwz {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }

  .ComboTierCard_quickBuyBtn__IlSM8 {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .ComboTierCard_container__oBr-r {
    padding: 16px 12px;
  }

  .ComboTierCard_title__NBbUN {
    font-size: 14px;
  }

  .ComboTierCard_tierItem__NYDwz {
    padding: 12px;
  }

  .ComboTierCard_tierQuantity__DwbcZ {
    font-size: 14px;
  }

  .ComboTierCard_tierPrice__QHc26 {
    font-size: 16px;
  }

  .ComboTierCard_tierSavings__aS4iq {
    font-size: 12px;
  }

  .ComboTierCard_tierLabel__mH8-2 {
    font-size: 11px;
  }

  .ComboTierCard_quickBuyBtn__IlSM8 {
    font-size: 12px;
    padding: 8px 16px;
  }

  .ComboTierCard_note__Th4XT {
    font-size: 11px;
  }
}

