/* 新的小圖輪播 */
@import url("smoothproducts_v202602.css");


/* =============================================================== */
/*  麵包屑
/* =============================================================== */
.breadcrumb {
  border: none;
  background: none;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #e4e4e4;
  margin-top: 1.25rem;
}

.breadcrumb a {
  color: #000;
}

.breadcrumb a:hover {
  color: #008888;
}

.breadcrumb-item.active {
  color: #008888;
}



/* =============================================================== */
/*  產品主要區塊
/* =============================================================== */
.uppercase {
  text-transform: uppercase;
}

.product-container {
  display: flex;
  margin: 0 auto;
  gap: 2.5rem;
  margin-bottom: 1.25rem;
}

/* 左側圖片區 */
.product-gallery {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 1rem;
}

.main-image a {
  aspect-ratio: 1 / 1;
  overflow: hidden;

}

.main-image .sp-large a img {
  width: 100%;
  height: 100%;
  /* padding: 10% 5%; */
  object-fit: contain;
  object-position: center;
  /* 這是預設值，但需配合寬高 100% 使用 */
}


/* 右側資訊區 */
.product-info {
  flex: 1.2;
  gap: 1rem;
  display: flex;
  flex-direction: column;
}

.product-title h3 {
  font-weight: 900;
  margin-bottom: 0;
}


.product-title {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  font-size: 1.75rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #e4e4e4;
}

.product-features ul {
  list-style: disc;
  padding-left: 1.25rem;
  line-height: 1.8;
  color: #333;
}

.product-features a {
  color: #008888;
  border-bottom: 1px solid #008888;
}

.product-features a:hover {
  color: #3e3e3e;
  border-bottom: 1px solid #3e3e3e;
}

.product-info .text-title {
  color: #000;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #e4e4e4;
}

.color-details {
  border: none;
}

.swatches,
.product-caption .btn {
  margin: 0.5em 0;
  margin-right: 4px;
}

.swatches li {
  border: 2px solid #FFFFFF;
  display: inline-block;
  margin: 2px 1px;
  vertical-align: top;
  list-style: none;
}

.swatches .selected,
.swatches li:hover {
  border: 2px solid #B2B2B2;
}

.swatches a {
  background-position: center center;
  background-repeat: no-repeat;
  border: 2px solid #FFFFFF;
  box-shadow: 1px 1px 2px #C5C5C5;
  display: block;
  height: 33px;
  text-align: center;
  transition: all 0.25s ease 0s;
  width: 33px;
}

.swatches a img {
  height: 29px;
  width: 29px;
}

.color-details .text-title {
  display: flex;
  flex-direction: row;
  gap: 0.25rem;
  align-items: baseline;
}

.text-title>span {
  font-weight: 400;
}


/* =============================================================== */
/*  Tab導覽列
/* =============================================================== */

.product-tab {
  background: #000;
  display: flex;
  width: 100%;
}

.product-tab ul {
  display: flex;
  justify-content: center;
  gap: 3rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

/* =============================================================== */
/*  區塊間距
/* =============================================================== */

.product-img-block {
  margin-top: 6.5rem;
}

/* =============================================================== */
/*  形象影片
/* =============================================================== */
.hero-video {
  position: relative;
  aspect-ratio: 21 / 7;
  height: 100%;
  overflow: hidden;
}

.product-hero-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  background: #000;
}

.video {
  position: relative;
  /* aspect-ratio: 1 / 1; */
  height: 100%;
  width: 100%;
  overflow: hidden;
  object-fit: cover
}

/* 半透明黑色遮罩 */
.product-video-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* 黑色背景，0.5 代表 50% 透明度，可自行調整 (0.0 - 1.0) */
  background-color: rgba(0, 0, 0, 0.5);
  /* 使用 Flexbox 將內容置中 */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  /* 確保遮罩層在影片上方 */
  z-index: 10;
}

/* 文字樣式 */
.product-video-overlay-logo {
  max-width: 560px;
}

.sm-logo {
  max-width: 380px;
}

/* 響應式設計：在小螢幕上縮小文字 */
@media (max-width: 760.5px) {
  .product-video-overlay-logo {
    max-width: 22rem;
  }
}

/* =============================================================== */
/*  產品特色
/* =============================================================== */
.feature-section {
  display: flex;
  flex-direction: column;
  gap: 6.2rem;
  margin-top: 67px;
}

.reverse {
  flex-direction: row-reverse;
}

.col-reverse {
  flex-direction: column-reverse;
}

.feature-block {
  display: flex;
  max-height: 750px;
  /* aspect-ratio: 31 / 15; */

}


.feature-media {
  overflow: hidden;
  min-width: 0;
}

.feature-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}


.feature-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 7.4%;
  gap: 2.25rem;
}

.feature-content,
.feature-media {
  flex: 1 1 50%;
  /* 這行是關鍵，強制兩者佔用相同寬度 */
  min-width: 0;
  /* 防止內容撐開導致比例失調 */
}

.feature-list {
  list-style: disc;
  padding-left: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: calc(24px - (1.875rem - 1rem));


}


.feature-list li {
  line-height: 1.875rem;
}


.feature-list.list-col {
  align-items: center;
}


.feature-title {
  font-size: 3.15rem;
  margin-bottom: 0;
}

.download-block {
  padding-top: 5%;
  padding-left: 5rem;
  gap: 3.625rem;
  overflow: hidden;
}

.download-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.25rem;
}

.download-media {
  display: flex;
  align-items: flex-end;
  gap: 5rem;
  margin-top: auto;
}

.download-pic {
  width: 85%;
  margin-left: auto;
}

.btn-download {
  height: 100%;
  display: inline-flex;
  align-items: center;
  background-color: #000000;
  /* 純黑背景 */
  border: none;
  border-radius: 50px;
  /* 高圓角外觀 */
  cursor: pointer;
  box-shadow: 0 4px 1rem rgba(0, 0, 0, 0.3);
  /* 下方陰影 */
  transition: transform 0.2s, box-shadow 0.2s;
  margin-bottom: 3.25rem;
  gap: 0.625rem;
  padding: 0;
}

/* 文字區域 */
.btn-text {
  color: #00ffdd;
  /* 你的品牌標誌青色 */
  font-family: Arial, sans-serif;
  font-weight: bold;
  font-size: 0.75rem;
  letter-spacing: 1px;
  padding-right: 0.5rem;
  padding-left: 0.875rem;
  /* 文字間距 */
  border-right: 1px solid #00ffdd;
  /* 中間的垂直分割線 */
}

/* 箭頭區域 */
.btn-icon {
  color: #00ffdd;
  font-size: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-right: 0.5rem;
}

/* 懸停效果 (Hover) */
.btn-download:hover {
  transform: translateY(-2px);
  /* 輕微浮起 */
  box-shadow: 0 0.375rem 1.25rem rgba(0, 0, 0, 0.4);
}

.btn-download:active {
  transform: translateY(0);
}


/* =============================================================== */
/*  產品特色卡片區
/* =============================================================== */


/* 基礎區塊佈局 */
.feature-card-block {
  display: flex;
  gap: 2.25rem;
  width: 100%;
}

/* 基礎卡片邏輯 */
.feature-card,
.feature-card-block-lg {
  /* --- 預設間距變數 (第一組 756x871 的數據) --- */
  --pt: 73px;
  --pb: 73px;
  --gap: 2.25rem;

  display: flex;
  flex-direction: column;
  width: 100%;
  /* 確保自適應 */
}

/* 內容區域：自動計算間距 */
.feature-card-content {
  display: flex;
  flex-direction: column;
  align-items: center;

  /* 運用 clamp: 在小螢幕時最小縮到 2rem，大螢幕時最大不超過變數設定的值 */
  padding-top: clamp(2rem, 8vw, var(--pt));
  padding-bottom: clamp(2rem, 8vw, var(--pb));
  gap: var(--gap);

  /* 讓內容區彈性撐開，確保多個卡片併排時底部對齊 */
  flex: 1;
}

/* 媒體查詢控制顯示 */
.feature-card-block-lg {
  display: none;
}

@media (max-width: 1024px) {
  .feature-card-block {
    display: none;
  }

  .feature-card-block-lg {
    display: flex;
    margin-bottom: 2rem;
    /* 手機版卡片間距 */
  }
}

/* 其他原始樣式保留 */
.feature-card-block .feature-media {
  flex: none;
}

.feature-card-block-lg .feature-list.list-col {
  align-items: flex-start;
}

.feature-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.feature-icon {
  margin-top: 28.3%;
  margin-bottom: 20.2%;
}

/* =============================================================== */
/*  情境圖輪播
/* =============================================================== */

.product-img-block {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.product-img-block .feature-card-block {
  gap: 0;
}

.product-img-block .swiper-button-next,
.product-img-block .swiper-button-prev {
  --swiper-navigation-size: 32px;
}


.product-img-uniform-swiper img {
  width: auto;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
}

.product-img-uniform-swiper .swiper-slide {
  width: auto;
}

.product-img-uniform-swiper .feature-media {
  height: 750px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.product-img-swiper .feature-media {
  max-height: 750px;
}

/* =============================================================== */
/*  產品規格
/* =============================================================== */
.product-detailed {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 6.5rem;
}

/* 容器 */
.spec-container {
  /* 設定分為兩欄 */
  column-count: 2;
  /* 欄與欄之間的間距 */
  column-gap: 1.875rem;
  width: 100%;
}

/* 項目 */
.spec-items {
  /* 關鍵：防止區塊被拆分到兩欄 */
  break-inside: avoid;
  /* margin-bottom: 1.25rem; */
  display: inline-block;
  /* 增加穩定性 */
  width: 100%;
}

/* 黑色標題列 */
.spec-header {
  background-color: #1a1a1a;
  width: 100%;
  color: #ffffff;
  margin: 0;
  padding: 0.5rem 1rem;
  font-size: 1.2rem;
  font-weight: 500;
}

/* 內容區塊 */
.spec-body {
  padding: 1.75rem 1rem;
  font-size: 17.5px;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;

}

/* 核心：功能型行列佈局 */
.spec-row {
  display: grid;
  grid-template-columns: 200px 1fr;
  /* 固定標籤寬度，剩餘給內容 */
  padding: 0;
  /* border-bottom: 1px solid #f0f0f0; */
}

.spec-row:last-child {
  border-bottom: none;
}

/* 標籤文字樣式 */
.spec-label {
  color: #333;
  font-weight: bold;
  display: flex;
  align-items: flex-start;
}

/* 內容文字樣式 */
.spec-value {
  color: #555;
  /* line-height: 1.6; */
}

.spec-value.items {
  display: flex;
  flex-direction: column;
  justify-content: start;
  gap: 1.25rem;
}

/* =============================================================== */
/*  相關產品
/* =============================================================== */
.product-other>div {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 2.8rem;
  padding-bottom: 2.8rem;
}

.product-other .card {
  cursor: pointer;
  display: flex;
  align-items: center;
  padding: 1rem;
}

.product-other .card-body {
  margin-bottom: 1rem;
  gap: 0.5rem;
}

.product-other .card-section:not(.swiper) .card {
  flex: 1 1 25%;
}

.product-other .swiper-slide {
  height: auto;
}

.product-other .card-title {
  text-transform: uppercase;

}

.card-section {
  width: 100%;
}

.card-section a {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
}



.related-products-wrapper:not(.swiper) {
  display: flex;
  flex-wrap: nowrap;
  gap: 1.5rem;
}



/* =============================================================== */
/*  區塊標題/文字
/* =============================================================== */
.lg-title,
.sm-title {
  font-weight: 500;
  margin-bottom: 2.5rem;
}

.sm-title {
  font-size: 1.87rem;
}

.feature-list {
  list-style: none;
  /* 隱藏預設黑點 */
  padding: 0;
}

.feature-list li {
  display: flex;
  align-items: flex-start;

}

.feature-list-item {
  display: flex;
  line-height: 1.875rem !important;
}

.feature-list-item strong {
  margin-right: 9px;
}

.feature-list li::before,
.feature-list p::before {
  content: "•";
  font-size: 0.625rem;
  /* 縮小黑點 */
  margin-right: 0.5rem;
  margin-bottom: auto;
}

.feature-list li::before {
  /* margin-top: 0.2rem; */
}

.feature-list-item::before {
  margin-top: 0;
}



.card-section .card-text {
  gap: 0.5rem;
}

/* =============================================================== */
/*  產品情境圖
/* =============================================================== */


.product-img-block-mobile {
  display: none;
}

@media (max-width: 767.98px) {
  .product-img-block-desktop {
    display: none;
  }

  .product-img-block-mobile {
    display: flex;
  }

  .product-img-block-mobile {
    --mobile-uniform-image-height: clamp(220px, 62vw, 360px);
  }

  .product-img-block-mobile .feature-media>img {
    width: 100%;
    height: var(--mobile-uniform-image-height);
    object-fit: cover;
    display: block;
  }

  .product-img-block-mobile .mobile-double-image {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }

  .product-img-block-mobile .mobile-double-image img {
    width: 100%;
    height: var(--mobile-uniform-image-height);
    object-fit: cover;
    display: block;
  }
}

/* =============================================================== */
/*  RWD
/* =============================================================== */
@media (max-width: 1400px) {
  .feature-content {
    padding: 2% 7.4%;
  }

  .feature-media img {
    object-fit: cover;
  }

}

@media (max-width: 1199.98px) {
  .text-nowrap {
    white-space: normal !important;
  }

  .product-container {
    gap: 1.5rem;
  }

  .product-title {
    font-size: 1.5rem;
  }

  .product-tab ul {
    gap: 2rem;
  }

  .sp-thumbs {
    grid-template-columns: repeat(auto-fit, minmax(14%, 1fr));
  }

  .feature-section {
    gap: 4rem;
  }

  .feature-block {
    max-height: none;
    aspect-ratio: auto;
  }


  .feature-card-block {
    display: flex;
  }

  .feature-card-block-lg {
    display: none;
  }

  .feature-card-block h2 {
    font-size: 1.375rem;
  }

  .feature-card-content {
    gap: 1.5rem;
    padding-top: 9%;
    padding-bottom: 9%;
  }

  .spec-row {
    grid-template-columns: 160px 1fr;
  }

  .related-products-wrapper:not(.swiper) {
    gap: 0;
  }

  .product-other .card-section:not(.swiper) .card {
    flex: 0 0 50%;
  }
}

@media (max-width: 991.98px) {

  .product-info {
    display: flex;
    flex-direction: column;
    /* 確保手機上是垂直排列 */
  }

  /* 調整順序 */
  .product-title {
    order: 1;
  }

  .color-selector {
    order: 2;
    /* 讓顏色選擇器排在第二 */
  }

  .product-features {
    font-size: 14px;
    order: 3;
    /* 讓產品特色排在第三 */
  }

  .product-caption {
    order: 4;
  }

  .mobile-container-xl {
    width: 100%;
    max-width: 131.25rem;
    /* 對齊 container-xl */
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--bs-gutter-x, 0.75rem);
    padding-right: var(--bs-gutter-x, 0.75rem);
  }

  .product-container {
    flex-direction: column;
  }

  .product-gallery,
  .product-info {
    width: 100%;
  }

  .product-tab ul {
    justify-content: center;
    gap: 1.5rem;
    padding: 0.875rem 1rem;
    overflow-x: auto;
    flex-wrap: nowrap;
  }

  .product-tab ul li {
    flex: 0 0 auto;
  }

  .hero-video {
    aspect-ratio: 16 / 9;
  }

  .feature-section,
  .product-img-block {
    margin-top: 2.5rem;
  }

  .feature-block,
  .reverse {
    flex-direction: column;
  }

  .feature-list.list-col {
    align-items: flex-start;
  }

  .feature-content,
  .feature-media {
    flex: 0 1 auto;
    width: 100%;
  }

  .feature-media img {
    object-fit: cover;
  }

  .product-img-uniform-swiper .swiper-slide {
    /* width: 100%; */
  }

  .product-img-uniform-swiper .feature-media {
    height: 320px;
  }

  .product-img-uniform-swiper img {
    width: auto;
    height: 100%;
    max-width: 100%;
    object-fit: contain;
  }

  .full-img {
    object-fit: cover !important;
  }

  .feature-content {
    padding: 6%;
    gap: 1.5rem;
    aspect-ratio: auto;
  }

  /* .feature-list li,
  .feature-list-item {
    word-break: break-all;
  } */

  .video {
    aspect-ratio: 1 / 1;
  }

  .download-block {
    padding: 0;
    gap: 0;
  }

  .download-block p {
    font-size: 1rem;
    line-height: 1.875rem !important;
  }

  .download-media {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
    padding-left: 1.875rem;
  }

  .btn-download {
    margin-bottom: 0;
  }

  .feature-card-block {
    display: none;
    flex-direction: row;
  }

  .feature-card-block-lg {
    display: block;
  }


  .feature-card {
    width: 50%;
  }

  .feature-card-content {
    align-items: flex-start;
    padding: 8% 6%;
  }

  .feature-icon {
    margin-top: 10%;
    margin-bottom: 0;
  }

  .spec-container {
    column-count: 1;
  }

  .product-detailed {
    margin-top: 2.5rem;
  }

  .card-section {
    width: 100%;
  }

  h2 {
    font-size: 2.5rem;
    /* word-break: keep-all; */
  }

  .download-pic {
    width: 100%;
  }
}

@media (max-width: 767.98px) {

  .product-tab,
  .text-title,
  .breadcrumb {
    font-size: 14px;
  }

  .product-title {
    font-size: 1.375rem;
  }

  .feature-section {
    gap: 2.5rem;
  }

  .feature-content,
  .download-content {
    padding: 2.5rem 1.875rem;
    gap: 1rem;

  }

  .feature-title {
    font-size: 1.65rem;
  }

  .feature-list {
    gap: 0.875rem;
  }

  .feature-list li {
    align-items: center;
    line-height: 1.5;
    font-size: 1.2rem;
    /* word-break: break-word; */
  }

  .feature-list-item {
    display: flex;
    /* flex-direction: column; */
    line-height: 1.6;
    font-size: 1.2rem;

  }

  .spec-value .feature-list-item {
    flex-direction: column;
  }



  .spec-body {
    padding: 1.25rem 0.75rem;
    gap: 1rem;
  }

  .spec-header,
  .spec-label,
  .spec-value {
    font-size: 1rem;
  }

  .spec-row {
    word-break: keep-all;
    grid-template-columns: 0.3fr 1fr;
    column-gap: 1rem;
    border-bottom: 1px solid #e4e4e4;
    padding-bottom: 1rem;
  }

  .spec-value.items {
    gap: 0.6rem;
  }

  .sm-title {
    font-size: 1.45rem;
    margin-bottom: 2rem;
  }

  .lg-title,
  .sm-title {
    font-weight: 550;
  }

  .product-other .card-section:not(.swiper) .card {
    flex: 0 0 50%;
  }

  .product-img-block .swiper-button-next,
  .product-img-block .swiper-button-prev {
    --swiper-navigation-size: 1.5rem;
  }
}

@media (max-width: 575.98px) {
  .breadcrumb {
    margin-top: 0.75rem;
  }

  .product-tab ul {
    gap: 1.25rem;
    padding: 0.75rem 1rem;
  }

  .main-image a {
    aspect-ratio: 1 / 1;
  }

  .download-media>div,
  .download-media>div img {
    width: 100%;
  }

  h2 {
    font-size: 1.5rem;
  }

  .feature-list li::before {
    margin-bottom: 0;
  }

  p.feature-list-item{
    align-items: flex-start;
  }
  .feature-list-item,
  .feature-list li {
    align-items: flex-start;
    line-height: 1.5;
    font-size: 1rem;
    align-items: flex-start;
    /* word-break: keep-all; */
    /* overflow-wrap: anywhere; */
  }

  .spec-row{
    grid-template-columns:0.5fr 1fr;
    word-break:normal;
  }
}