@charset "UTF-8";
/*button{*/
/*    width: 120px;*/
/*}*/
html, body {
  overflow-x: hidden; /* 禁止水平滾動 */
  width: 100%; /* 確保寬度不超出視窗 */
  touch-action: pan-y; /* 僅允許垂直觸控滾動 */
  font-weight: 200;
}

/* 手機關閉「連點兩下放大」。
   touch-action 不是繼承屬性，只寫在 html/body 上對子元素無效，所以要用 * 全域套用。
   manipulation：保留單指捲動與雙指縮放（無障礙），只關掉 double-tap zoom。
   權重 0，Swiper 等元件自己的 touch-action 仍會覆蓋這裡。 */
* {
  touch-action: manipulation;
}

.form-control::placeholder {
  color: #999999;
  opacity: 0.5;
}

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

p {
  font-weight: 200;
}

.PS_form .form-control:disabled {
  background-color: #F5F5F5;
  border: unset;
}

.sysAlert {
  margin: 10px;
  position: fixed;
  bottom: 0;
  z-index: 999999;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  pointer-events: none;
  /* 手機版避免蓋住右下角浮動購物車（cart-fab 佔底部 80px） */
}
.sysAlert > * {
  pointer-events: auto;
}
@media (max-width: 768px) {
  .sysAlert {
    bottom: 96px;
  }
}

.swiper-pagination-bullet-active {
  background-color: #7E4980;
}

.card-header {
  background-color: unset;
  margin: 1rem 5px;
  border: unset;
}

.card-header h5 {
  display: flex;
  align-items: center;
  justify-content: start;
}

a {
  cursor: pointer;
  text-decoration: none;
}

.no-select {
  user-select: none;
}

#luxy {
  min-height: 95vh;
  position: relative;
}

.luxy-el {
  /*position: absolute;*/
  will-change: transform;
}

.section100VH {
  position: relative;
  height: 100vh;
  min-height: 600px;
}

.logo {
  background-image: url(../images/logo.svg);
  max-width: 145px;
  width: 15.625vw;
  aspect-ratio: 145/75;
  background-size: cover;
}

.logo.white {
  background-image: url(../images/logo-w.svg);
}

/* 將分頁按鈕改為圓形 */
.pagination .page-item .page-link {
  border-radius: 50%;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  padding: 0;
  margin: 0 5px;
}

/* 確保活躍狀態的按鈕樣式一致 */
.pagination .page-item.active .page-link {
  border-radius: 50%;
}

/* 調整禁用狀態的按鈕 */
.pagination .page-item.disabled .page-link {
  border-radius: 50%;
}

/* 響應式調整：小螢幕時縮小按鈕 */
@media (max-width: 576px) {
  .pagination .page-item .page-link {
    width: 32px;
    height: 32px;
    line-height: 32px;
  }
}
.newsSwiperBox {
  position: relative;
  padding-bottom: 50px;
}
.newsSwiperBox .swiper-button-prev {
  background-color: #F6AB00;
  height: 80px;
  width: 80px;
  border-radius: 50%;
  top: 45%;
  left: -100px;
}
.newsSwiperBox .swiper-button-next {
  background-color: #F6AB00;
  height: 80px;
  width: 80px;
  border-radius: 50%;
  top: 45%;
  right: -100px;
}
.newsSwiperBox .swiper-button-prev::after {
  content: "";
  background-image: url(../images/arrow_left.svg);
  background-repeat: no-repeat;
  background-position: center;
  height: 100%;
  width: 100%;
  display: block;
}
.newsSwiperBox .swiper-button-next::after {
  content: "";
  background-image: url(../images/arrow_right.svg);
  background-repeat: no-repeat;
  background-position: center;
  height: 100%;
  width: 100%;
  display: block;
}

.PS_news_card {
  padding-top: 40px;
  max-width: 550px;
  margin: auto;
}
.PS_news_card img.cover {
  border-radius: 50px;
  object-fit: cover;
  width: 100%;
  aspect-ratio: 1;
}
.PS_news_card .content {
  margin-top: 15px;
}
.PS_news_card h5 {
  line-height: 2rem;
  display: -webkit-box;
  -webkit-line-clamp: 2; /* 限制顯示兩行 */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.PS_more_btn {
  display: flex;
  align-items: center;
  margin: auto;
  margin-top: 60px;
  cursor: pointer;
}

a:focus, a:active {
  outline: none !important;
  box-shadow: none !important;
}

.PS_more_btn::after {
  content: "";
  background-image: url(../images/arrow_btn.svg?v0021);
  background-size: auto;
  background-position-x: center;
  width: 20px;
  height: 20px;
  margin-left: 5px;
  display: inline-block;
  transition: transform 0.3s ease;
}

.PS_more_btn:hover::after {
  transform: translateX(5px);
}

.PS_more_btn.white::after {
  background-image: url(../images/arrow_btn_w.svg?v0021);
}

.PS_more_btn.white:hover::after {
  transform: translateX(5px);
}

.PS_badge {
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #6f42c1;
  position: absolute;
  width: 5.1041666667vw;
  min-width: 60px;
  height: 5.1041666667vw;
  min-height: 60px;
  font-size: 0.8rem;
  font-weight: bold;
  line-height: 1; /* 確保文字垂直居中 */
  z-index: 10; /* 確保在圖片之上 */
  /* 微調位置使其部分疊加 */
  top: -32px;
  right: 17px;
}

.PS_badge.orange {
  background-color: #F08500;
}

.PS_badge.purple {
  background-color: #7E4980;
}

#productSection .swiper {
  height: 600px;
}

#productSection .swiper-slide {
  position: relative;
  display: flex;
  align-items: center;
}

#productSection .swiper-slide img.hero-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
}

#productSection .swiper-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.25) 45%, rgba(0, 0, 0, 0) 70%);
}

#productSection .swiper-slide.hero-dark::before {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.65) 0%, rgba(255, 255, 255, 0.3) 45%, rgba(255, 255, 255, 0) 70%);
}

#productSection .swiper-slide.hero-no-text::before {
  background: transparent;
}

#productSection .swiper-slide .container {
  display: flex;
  align-items: center;
  position: relative;
  z-index: 2;
}

#productSection .swiper-slide .hero-content {
  max-width: 300px;
  position: absolute;
  z-index: 2;
}

#productSection .swiper-slide.hero-light .hero-content {
  color: #fff;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
}

#productSection .swiper-slide.hero-light .hero-content h2,
#productSection .swiper-slide.hero-light .hero-content p {
  color: #fff;
}

#productSection .swiper-slide.hero-dark .hero-content {
  color: #1a1a1a;
  text-shadow: 0 1px 3px rgba(255, 255, 255, 0.7);
}

#productSection .swiper-slide.hero-dark .hero-content h2,
#productSection .swiper-slide.hero-dark .hero-content p {
  color: #1a1a1a;
}

#productSection .swiper-slide .hero-content p {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
  line-height: 1.8rem;
}

#memberOrderDetail .progress-tracker {
  position: relative;
  padding-top: 20px;
  padding-bottom: 20px;
}
#memberOrderDetail .progress-step {
  flex: 1;
  position: relative;
  z-index: 1;
}
#memberOrderDetail .progress-dot {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  margin: 0 auto 5px;
  display: block;
}
#memberOrderDetail .progress-dot.completed {
  background-color: #6f42c1; /* 紫色，與圖片一致 */
}
#memberOrderDetail .progress-dot.pending {
  border: 2px solid #dee2e6; /* 灰色邊框 */
  background-color: transparent;
}
#memberOrderDetail .progress-label {
  font-size: 14px;
  color: #333;
}
#memberOrderDetail .progress-time {
  font-size: 12px;
  color: #666;
}
#memberOrderDetail .progress-lines {
  top: 10px;
  height: 4px;
  z-index: 0;
}
#memberOrderDetail .progress-connector {
  flex: 1;
  height: 4px;
}
#memberOrderDetail .progress-connector.completed {
  background-color: #6f42c1; /* 紫色線條 */
}
#memberOrderDetail .progress-connector.pending {
  background-color: #dee2e6; /* 灰色線條 */
}

.PS_section {
  padding-top: 160px;
  background-color: #fff;
}

.PS_section_title {
  letter-spacing: 0.5rem;
  text-align: center;
  margin-bottom: 100px;
  font-weight: 800;
}
.PS_section_title h1 {
  font-weight: 800;
}
.PS_section_title p {
  font-weight: bold;
}

@media (max-width: 767.98px) {
  #productSection .swiper {
    height: 300px;
  }
  .PS_section_title {
    letter-spacing: 0.2rem;
    text-align: center;
    margin-bottom: 60px;
    margin-top: 30px;
    font-weight: 800;
  }
  .PS_section_title h1 {
    font-size: 26px;
    font-weight: 800;
  }
  .PS_section_title p {
    font-weight: bold;
  }
}
.PS_product_cards {
  /* PC 版本：懸停效果 */
  /* 手機版本：維持現有樣式 */
  /* 移除 input number 的上下箭頭 (可選) */
}
.PS_product_cards .product-card {
  position: relative;
  /*max-width: 500px; !* 限制卡片最大寬度 *!*/
  border-radius: 1rem; /* 更圓的邊角 */
  overflow: visible; /* 允許 NEWS 標籤超出邊界 */
  margin-bottom: 60px;
}
.PS_product_cards .product-card .cover {
  position: relative;
}
.PS_product_cards .product-card .cover img {
  border-radius: 1.5rem;
  aspect-ratio: 449/321;
  object-fit: cover;
}
.PS_product_cards .news-badge {
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #6f42c1;
  position: absolute;
  width: 60px;
  height: 60px;
  font-size: 0.8rem;
  font-weight: bold;
  line-height: 1; /* 確保文字垂直居中 */
  z-index: 10; /* 確保在圖片之上 */
  /* 微調位置使其部分疊加 */
  top: -32px;
  right: 17px;
}
.PS_product_cards .quantity-cart-section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  /*background-color: #f8f9fa; !* 淺灰色背景 *!*/
  margin-top: 5px;
  transition: opacity 0.3s ease; /* 平滑過渡效果 */
}
.PS_product_cards .quantity-cart-section .pill {
  border-radius: 50rem; /* 膠囊形狀 */
  background-color: #f8f9fa;
  width: 100%;
  margin-right: 20px;
}
.PS_product_cards .quantity-alert {
  border-radius: 30px;
  color: #ff0000;
  font-size: 0.875rem;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.7411764706);
  padding: 5px 10px;
}
@media (min-width: 768px) {
  .PS_product_cards .product-card {
    position: relative;
  }
  .PS_product_cards .quantity-cart-section.quantity-cart-overlay {
    position: absolute;
    bottom: 10px; /* 距離圖片底部 10px */
    left: 10px;
    right: 10px;
    opacity: 0; /* 預設隱藏 */
    z-index: 20; /* 確保在圖片上方 */
    /*background-color: rgba(248, 249, 250, 0.9); !* 略透明的背景 *!*/
  }
  .PS_product_cards .product-card:hover .quantity-cart-section.quantity-cart-overlay {
    opacity: 1; /* 滑鼠懸停時顯示 */
  }
}
@media (max-width: 767.98px) {
  .PS_product_cards .quantity-cart-section.quantity-cart-overlay {
    position: relative; /* 維持原有的相對定位 */
    opacity: 1; /* 始終顯示 */
    margin-top: 5px;
  }
  .PS_product_cards .quantity-alert {
    text-align: start;
  }
}
.PS_product_cards .quantity-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.PS_product_cards .quantity-controls .btn {
  color: #6c757d; /* 次要文字顏色 */
  font-size: 1.5rem; /* 放大加減符號 */
  padding: 0 0.5rem; /* 調整按鈕內距 */
}
.PS_product_cards .quantity-controls .quantity-display {
  font-weight: bold;
  font-size: 1.1rem;
  min-width: 30px; /* 給數字一個最小寬度 */
  text-align: center;
}
.PS_product_cards .add-to-cart-btn {
  font-size: 0.9rem;
  white-space: nowrap;
}
.PS_product_cards .product-tag {
  color: black;
  font-size: 0.8rem;
  padding: 0.3em 0.6em;
  height: 20px;
}
.PS_product_cards .original-price {
  font-size: 0.9rem;
}
.PS_product_cards .current-price {
  font-size: 1.75rem; /* 放大目前價格 */
  font-weight: 400;
}
.PS_product_cards input[type=number]::-webkit-inner-spin-button,
.PS_product_cards input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.PS_product_cards input[type=number] {
  -moz-appearance: textfield; /* Firefox */
}

#contactSection .PS_map {
  height: 400px;
  width: 100%;
  border-radius: 30px;
}
#contactSection .PS_lineQrcode {
  max-width: 75px;
  width: 100%;
}
#contactSection .PS_ig {
  max-width: 75px;
  width: 100%;
}

#instagramSection {
  /* 交錯上下排列：圖片已被 <a> 包住，margin 需作用在 a 內的 img（放在 a 上會被 flex stretch 吸收） */
}
#instagramSection .instagramMarquee {
  width: 100%;
  overflow: hidden;
}
#instagramSection .instagramMarqueeInner {
  display: flex;
}
#instagramSection .instagramMarqueeInner img {
  margin-right: 20px;
  width: auto;
  height: auto;
  max-width: 260px;
  object-fit: cover;
  border-radius: 1.5rem; /* 保留你的圓角效果 */
}
#instagramSection .instagramMarqueeInner a:nth-child(even) img {
  margin-bottom: 40px;
}
#instagramSection .instagramMarqueeInner a:nth-child(odd) img {
  margin-top: 40px;
}

@media (max-width: 767.98px) {
  .logo {
    max-width: 145px;
    aspect-ratio: 145/75;
    background-size: cover;
  }
  #instagramSection .instagramMarqueeInner img {
    max-width: 160px;
    border-radius: 1.5rem; /* 保留你的圓角效果 */
  }
}
@media (max-width: 767.98px) {
  .PS_section {
    padding-top: 80px;
  }
  .PS_news_card {
    max-width: 90%;
  }
  .PS_more_btn {
    margin-top: 10px;
  }
  .PS_product_cards .product-card {
    max-width: 90%;
    margin: auto;
    margin-bottom: 60px;
  }
}
/* IG 詳情頁圖片高度限制（直式 IG 圖會過高），保持比例並置中 */
#newsDetailSection .ig-detail-img {
  max-height: 600px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  display: block;
  margin-left: 0;
  margin-right: auto;
}

@media (max-width: 767.98px) {
  #newsDetailSection .ig-detail-img {
    max-height: 70vh;
  }
}

/*# sourceMappingURL=style.css.map */
