/* =========================================
   全站字體
========================================= */
body {
  font-family:
    "PingFang TC",
    "Noto Sans TC",
    "Microsoft JhengHei",
    sans-serif !important;
}

/* =========================================
   Header 主選單字體
========================================= */
.ct-header [data-items="primary"] .menu > li > a,
.ct-header [data-items="primary"] > ul > li > a {
  font-family: "Noto Sans TC", "Noto Sans", system-ui, sans-serif !important;
  font-size: 18px;
  line-height: 1.15;
  padding-top: 12px;
  padding-bottom: 12px;
}

/* =========================================
   Hero 遮罩與文字
========================================= */
.ct-hero-section [class*="overlay"],
.ct-hero-section .ct-media-container:before,
.ct-hero-section .ct-image-container:before {
  opacity: 0.6 !important;
  background-color: #000 !important;
}

.ct-hero-section,
.ct-hero-section * {
  color: #fff !important;
}

.ct-hero-section h1,
.ct-hero-section h2,
.ct-hero-section p {
  font-weight: 800 !important;
  text-shadow: 0 3px 14px rgba(0, 0, 0, 0.85) !important;
}

/* =========================================
   產品資訊 Mega Menu（menu-item-1793）
   保留最後一版風格 + 第二層 20px / 第三層 18px
========================================= */
:root {
  --gold-1: rgba(191, 161, 94, 0.7);
  --gold-2: rgba(214, 188, 130, 0.55);
  --panel-bg: rgba(255, 255, 255, 0.88);
  --panel-border: rgba(255, 255, 255, 0.42);
  --text-strong: #111;
  --text: #222;
  --text-sub: rgba(17, 17, 17, 0.86);
}

.ct-header .menu > li#menu-item-1793 {
  position: relative;
}

.ct-header .menu > li#menu-item-1793 > .sub-menu {
  position: fixed !important;
  top: 111px !important;
  left: 50% !important;
  transform: translateX(-50%) translateY(8px) !important;
  width: min(1400px, calc(100vw - 80px)) !important;
  max-width: none !important;
  padding: 36px 52px !important;
  background: var(--panel-bg) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid var(--panel-border);
  border-radius: 18px;
  box-shadow: 0 18px 55px rgba(0, 0, 0, 0.16);
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  column-gap: 40px !important;
  row-gap: 20px !important;
  align-items: start !important;
  align-content: start !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  z-index: 99999 !important;
  overflow: hidden;
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s linear 0.18s !important;
}

.ct-header .menu > li#menu-item-1793:hover > .sub-menu,
.ct-header .menu > li#menu-item-1793:focus-within > .sub-menu {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateX(-50%) translateY(0) !important;
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s !important;
}

.ct-header .menu > li#menu-item-1793 > .sub-menu > li {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  min-width: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: initial !important;
}

/* 第二層分類標題 */
.ct-header .menu > li#menu-item-1793 > .sub-menu > li > a,
.ct-header .menu > li#menu-item-1793 > .sub-menu > li > a.ct-menu-link {
  position: relative !important;
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  width: fit-content !important;
  min-width: 0 !important;
  max-width: calc(100% - 36px) !important;
  height: 64px !important;
  padding: 0 0 18px 0 !important;
  margin: 0 auto 16px auto !important;
  box-sizing: border-box !important;
  color: var(--text-strong) !important;
  font-size: 20px !important;
  font-weight: 580 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  z-index: 1 !important;
}

/* 第二層標題底線 */
.ct-header .menu > li#menu-item-1793 > .sub-menu > li > a::after,
.ct-header .menu > li#menu-item-1793 > .sub-menu > li > a.ct-menu-link::after {
  content: "";
  position: absolute;
  left: 50% !important;
  bottom: 0;
  transform: translateX(-50%) !important;
  width: 120px !important;
  max-width: calc(100vw - 40px) !important;
  height: 1px;
  background: linear-gradient(to right, var(--gold-1), var(--gold-2));
  opacity: 0.78 !important;
  transition: width 240ms ease, opacity 240ms ease, filter 240ms ease;
}

/* 第二層 hover */
.ct-header .menu > li#menu-item-1793 > .sub-menu > li:hover > a::after,
.ct-header .menu > li#menu-item-1793 > .sub-menu > li:hover > a.ct-menu-link::after {
  width: 140px !important;
  max-width: calc(100vw - 40px) !important;
  opacity: 0.92 !important;
  filter: brightness(1.04) !important;
}

.ct-header .menu > li#menu-item-1793 > .sub-menu > li > .ct-toggle-dropdown-desktop,
.ct-header .menu > li#menu-item-1793 > .sub-menu > li > button.ct-toggle-dropdown-desktop {
  position: absolute !important;
  right: 10px !important;
  top: 32px !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  z-index: 2 !important;
}

.ct-header .menu > li#menu-item-1793 > .sub-menu > li > .sub-menu {
  position: static !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  transform: none !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  width: 100% !important;
  text-align: left !important;
}

.ct-header .menu > li#menu-item-1793 > .sub-menu > li > .sub-menu > li {
  margin: 0 0 10px 0 !important;
  padding: 0 !important;
  width: 100% !important;
  text-align: left !important;
}

/* 第三層子選單 */
.ct-header .menu > li#menu-item-1793 > .sub-menu > li > .sub-menu > li > a {
  display: block !important;
  width: 100% !important;
  color: rgba(17, 17, 17, 0.8) !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.005em !important;
  text-decoration: none !important;
  transition: color 180ms ease, transform 180ms ease !important;
  text-align: left !important;
  white-space: nowrap !important;
}

.ct-header .menu > li#menu-item-1793 > .sub-menu > li > .sub-menu > li > a:hover {
  color: #111 !important;
  transform: translateX(2px) !important;
}

.ct-header .menu > li#menu-item-1793 > .sub-menu > li:nth-child(4) {
  min-width: 220px !important;
}

@media (max-width: 1100px) {
  .ct-header .menu > li#menu-item-1793 > .sub-menu {
    grid-template-columns: repeat(3, 1fr) !important;
    padding: 40px !important;
  }

  .ct-header .menu > li#menu-item-1793 > .sub-menu > li > a,
  .ct-header .menu > li#menu-item-1793 > .sub-menu > li > a.ct-menu-link {
    font-size: 18px !important;
  }

  .ct-header .menu > li#menu-item-1793 > .sub-menu > li > .sub-menu > li > a {
    font-size: 16px !important;
    line-height: 1.45 !important;
  }
}

@media (max-width: 700px) {
  .ct-header .menu > li#menu-item-1793 > .sub-menu {
    grid-template-columns: repeat(2, 1fr) !important;
    padding: 30px !important;
  }
}

@media (max-width: 520px) {
  .ct-header .menu > li#menu-item-1793 > .sub-menu > li {
    min-width: 100% !important;
  }
}

/* =========================================
   一般商品：顏色圓點
========================================= */
.spec-color {
  position: relative;
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-right: 10px;
  border-radius: 50%;
  border: 1px solid rgba(0, 0, 0, 0.18);
  vertical-align: middle;
  font-size: 0;
  line-height: 0;
  background: #ddd;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.spec-color:last-child {
  margin-right: 0;
}

.spec-color[data-value="透明白"] { background: #fff; border-color: rgba(0, 0, 0, 0.25); }
.spec-color[data-value="透明紅"] { background: #d0483c; }
.spec-color[data-value="透明黃"] { background: #fede5a; }
.spec-color[data-value="透明藍"] { background: #3083ff; }
.spec-color[data-value="透明綠"] { background: #009960; }
.spec-color[data-value="白"] { background: #fff; border-color: rgba(0, 0, 0, 0.25); }
.spec-color[data-value="紅"] { background: #d0483c; }
.spec-color[data-value="黃"] { background: #fede5a; }
.spec-color[data-value="藍"] { background: #3083ff; }
.spec-color[data-value="綠"] { background: #009960; }
.spec-color[data-value="黑"] { background: #222; }
.spec-color[data-value="透明"] { background: linear-gradient(135deg, #fff, #e9e9e9); border-color: rgba(0, 0, 0, 0.25); }
.spec-color[data-value="粉紅"] { background: #edb0b7; }
.spec-color[data-value="粉藍"] { background: #b4c9e4; }
.spec-color[data-value="粉綠"] { background: #88c6b9; }
.spec-color[data-value="果凍藍"] { background: #2092db; }
.spec-color[data-value="果凍紫"] { background: #aa7fc6; }
.spec-color[data-value="果凍綠"] { background: #48b0bb; }
.spec-color[data-value="果凍白"] { background: #d3d2d0; border-color: rgba(0, 0, 0, 0.22); }
.spec-color[data-value="乾燥玫瑰粉"] { background: #e26e71; }
.spec-color[data-value="檸檬黃"] { background: #fef133; }
.spec-color[data-value="藍紫色"] { background: #7062ba; }
.spec-color[data-value="藍綠色"] { background: #48b1ac; }
.spec-color[data-value="明墨"] { background: #53483d; }
.spec-color[data-value="灰"] { background: #b1b8be; border-color: rgba(0,0,0,.18); }
.spec-color[data-value="銀色"] { background: #86898e; border-color: rgba(0,0,0,.18); }
.spec-color[data-value="棕色"] { background: #987d59; }
.spec-color[data-value="橘"] { background: #e4781e; }
.spec-color:hover,
.e310-dot:hover,
.cs-color-dot:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.16);
}

/* =========================================
   全站顏色圓點 tooltip 樣式統一
========================================= */
.spec-color,
.e310-dot,
.cs-color-dot {
  position: relative !important;
}

.spec-color::after,
.e310-dot::after,
.cs-color-dot::after {
  position: absolute !important;
  left: 50% !important;
  top: -8px !important;
  transform: translate(-50%, -100%) !important;
  padding: 6px 10px !important;
  border-radius: 8px !important;
  background: rgba(55, 55, 55, 0.96) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 0.15s ease, transform 0.15s ease !important;
  z-index: 999 !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18) !important;
}

.spec-color::after {
  content: attr(data-value) !important;
}

.e310-dot::after {
  content: attr(data-name) !important;
}

.cs-color-dot::after {
  content: attr(title) !important;
}

.spec-color::before,
.e310-dot::before,
.cs-color-dot::before {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: -8px !important;
  transform: translateX(-50%) !important;
  border: 6px solid transparent !important;
  border-top-color: rgba(55, 55, 55, 0.96) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 0.15s ease !important;
  z-index: 999 !important;
}

.spec-color:hover::after,
.e310-dot:hover::after,
.cs-color-dot:hover::after {
  opacity: 1 !important;
  transform: translate(-50%, -112%) !important;
}

.spec-color:hover::before,
.e310-dot:hover::before,
.cs-color-dot:hover::before {
  opacity: 1 !important;
}

/* =========================================
   全站商品顏色順序：紅 黃 藍 綠 黑
========================================= */
.woocommerce table.shop_attributes td .spec-color,
.woocommerce-tabs .shop_attributes td .spec-color {
  order: 0 !important;
  flex: 0 0 auto !important;
}

.woocommerce table.shop_attributes td p:has(.spec-color),
.woocommerce table.shop_attributes td > div:has(.spec-color),
.woocommerce table.shop_attributes td .value:has(.spec-color),
.woocommerce-tabs .shop_attributes td p:has(.spec-color),
.woocommerce-tabs .shop_attributes td > div:has(.spec-color),
.woocommerce-tabs .shop_attributes td .value:has(.spec-color) {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 !important;
}

.woocommerce table.shop_attributes td p:has(.spec-color) .spec-color,
.woocommerce table.shop_attributes td > div:has(.spec-color) .spec-color,
.woocommerce table.shop_attributes td .value:has(.spec-color) .spec-color,
.woocommerce-tabs .shop_attributes td p:has(.spec-color) .spec-color,
.woocommerce-tabs .shop_attributes td > div:has(.spec-color) .spec-color,
.woocommerce-tabs .shop_attributes td .value:has(.spec-color) .spec-color {
  display: inline-block !important;
}

.woocommerce table.shop_attributes td .spec-color:nth-of-type(1),
.woocommerce-tabs .shop_attributes td .spec-color:nth-of-type(1) {
  order: 1 !important;
}

.woocommerce table.shop_attributes td .spec-color:nth-of-type(2),
.woocommerce-tabs .shop_attributes td .spec-color:nth-of-type(2) {
  order: 4 !important;
}

.woocommerce table.shop_attributes td .spec-color:nth-of-type(3),
.woocommerce-tabs .shop_attributes td .spec-color:nth-of-type(3) {
  order: 3 !important;
}

.woocommerce table.shop_attributes td .spec-color:nth-of-type(4),
.woocommerce-tabs .shop_attributes td .spec-color:nth-of-type(4) {
  order: 2 !important;
}

.woocommerce table.shop_attributes td .spec-color:nth-of-type(5),
.woocommerce-tabs .shop_attributes td .spec-color:nth-of-type(5) {
  order: 5 !important;
}

/* =========================================
   商品頁字體統一優化
========================================= */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-size: 20px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
}

.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .woocommerce-product-details__short-description p,
.woocommerce div.product .woocommerce-product-details__short-description li,
.woocommerce div.product .woocommerce-product-details__short-description ul {
  font-size: 18px !important;
  line-height: 1.8 !important;
}

.woocommerce div.product .woocommerce-product-details__short-description ul {
  padding-left: 1.4em !important;
  margin-bottom: 1em !important;
}

.woocommerce div.product .woocommerce-product-details__short-description li {
  margin-bottom: 0.35em !important;
}

.woocommerce div.product .product_meta,
.woocommerce div.product .product_meta .sku_wrapper,
.woocommerce div.product .product_meta .posted_in,
.woocommerce div.product .product_meta .tagged_as,
.woocommerce div.product .product_meta .brand,
.woocommerce div.product .product_meta span,
.woocommerce div.product .product_meta a {
  font-size: 18px !important;
  line-height: 1.9 !important;
}

/* =========================================
   商品頁表格統一樣式
========================================= */
.woocommerce div.product table.shop_attributes,
.woocommerce div.product .woocommerce-Tabs-panel table,
.woocommerce div.product .custom-spec-table table {
  width: 100% !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid #dcdcdc !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: #fff !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
}

.woocommerce div.product table.shop_attributes th,
.woocommerce div.product table.shop_attributes td,
.woocommerce div.product .woocommerce-Tabs-panel table th,
.woocommerce div.product .woocommerce-Tabs-panel table td,
.woocommerce div.product .custom-spec-table table th,
.woocommerce div.product .custom-spec-table table td {
  padding: 16px 18px !important;
  border-right: 1px solid #e5e5e5 !important;
  border-bottom: 1px solid #e5e5e5 !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
  color: #222 !important;
  vertical-align: middle !important;
  text-align: center !important;
  background: #fff !important;
}

.woocommerce div.product table.shop_attributes th,
.woocommerce div.product .woocommerce-Tabs-panel table th,
.woocommerce div.product .custom-spec-table table th {
  font-weight: 600 !important;
  white-space: nowrap !important;
  width: 140px !important;
}

.woocommerce div.product table.shop_attributes td,
.woocommerce div.product .woocommerce-Tabs-panel table td,
.woocommerce div.product .custom-spec-table table td {
  white-space: normal !important;
}

.woocommerce div.product table.shop_attributes tr > *:last-child,
.woocommerce div.product .woocommerce-Tabs-panel table tr > *:last-child,
.woocommerce div.product .custom-spec-table table tr > *:last-child {
  border-right: none !important;
}

.woocommerce div.product table.shop_attributes tr:last-child > *,
.woocommerce div.product .woocommerce-Tabs-panel table tr:last-child > *,
.woocommerce div.product .custom-spec-table table tr:last-child > * {
  border-bottom: none !important;
}

.woocommerce div.product table.shop_attributes td *,
.woocommerce div.product table.shop_attributes th *,
.woocommerce div.product .woocommerce-Tabs-panel table td *,
.woocommerce div.product .woocommerce-Tabs-panel table th *,
.woocommerce div.product .custom-spec-table table td *,
.woocommerce div.product .custom-spec-table table th * {
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
}

.woocommerce div.product table.shop_attributes td small,
.woocommerce div.product .woocommerce-Tabs-panel table td small,
.woocommerce div.product .custom-spec-table table td small,
.woocommerce div.product table.shop_attributes td span,
.woocommerce div.product .woocommerce-Tabs-panel table td span,
.woocommerce div.product .custom-spec-table table td span,
.woocommerce div.product table.shop_attributes td div,
.woocommerce div.product .woocommerce-Tabs-panel table td div,
.woocommerce div.product .custom-spec-table table td div,
.woocommerce div.product table.shop_attributes td p,
.woocommerce div.product .woocommerce-Tabs-panel table td p,
.woocommerce div.product .custom-spec-table table td p,
.woocommerce div.product table.shop_attributes li,
.woocommerce div.product .woocommerce-Tabs-panel table li,
.woocommerce div.product .custom-spec-table table li {
  font-size: 17px !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}

.woocommerce div.product .woocommerce-Tabs-panel .spec-color-wrap,
.woocommerce div.product .woocommerce-Tabs-panel .color-dots,
.woocommerce div.product .woocommerce-Tabs-panel .spec-color-group {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

@media (max-width: 768px) {
  .woocommerce div.product table.shop_attributes,
  .woocommerce div.product .woocommerce-Tabs-panel table,
  .woocommerce div.product .custom-spec-table table {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }

  .woocommerce div.product table.shop_attributes th,
  .woocommerce div.product table.shop_attributes td,
  .woocommerce div.product .woocommerce-Tabs-panel table th,
  .woocommerce div.product .woocommerce-Tabs-panel table td,
  .woocommerce div.product .custom-spec-table table th,
  .woocommerce div.product .custom-spec-table table td {
    padding: 10px 8px !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
  }

  .woocommerce div.product table.shop_attributes th,
  .woocommerce div.product .woocommerce-Tabs-panel table th,
  .woocommerce div.product .custom-spec-table table th {
    width: 90px !important;
  }

  .woocommerce div.product table.shop_attributes td small,
  .woocommerce div.product .woocommerce-Tabs-panel table td small,
  .woocommerce div.product .custom-spec-table table td small,
  .woocommerce div.product table.shop_attributes td span,
  .woocommerce div.product .woocommerce-Tabs-panel table td span,
  .woocommerce div.product .custom-spec-table table td span,
  .woocommerce div.product table.shop_attributes td div,
  .woocommerce div.product .woocommerce-Tabs-panel table td div,
  .woocommerce div.product .custom-spec-table table td div,
  .woocommerce div.product table.shop_attributes td p,
  .woocommerce div.product .woocommerce-Tabs-panel table td p,
  .woocommerce div.product .custom-spec-table table td p,
  .woocommerce div.product table.shop_attributes li,
  .woocommerce div.product .woocommerce-Tabs-panel table li,
  .woocommerce div.product .custom-spec-table table li {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }
}

/* =========================================
   E310 四欄主表
========================================= */
.e310-attr-4col {
  width: 100%;
  table-layout: fixed;
}

.e310-attr-4col th,
.e310-attr-4col td {
  vertical-align: middle !important;
}

.e310-attr-4col .e310-col-td,
.e310-attr-4col .e310-span3-td,
.e310-attr-4col .e310-span4-td,
.e310-attr-4col td {
  text-align: center !important;
}

.e310-price {
  display: inline-block;
}

.e310-pack {
  text-align: center !important;
  line-height: 1.8;
}

.e310-single-color {
  display: flex;
  justify-content: center;
  align-items: center;
}

.e310-colors {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  flex-wrap: nowrap !important;
}

.e310-dot {
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  border-radius: 50% !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(0, 0, 0, 0.18) !important;
  margin: 0 !important;
  padding: 0 !important;
  vertical-align: middle !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.e310-dot[data-name="透明白"] {
  border-color: rgba(0, 0, 0, 0.28) !important;
}

.e310-attr-4col td.e310-col-td > .e310-pack {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  gap: 0 !important;
  text-align: center !important;
  padding: 0 !important;
}

.e310-attr-4col td.e310-col-td > .e310-pack > div {
  width: 100% !important;
  text-align: center !important;
}

/* =========================================
   一般商品：規格標籤
========================================= */
.spec-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 8px 8px 0;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(17, 17, 17, 0.06);
  border: 1px solid rgba(17, 17, 17, 0.1);
  color: #222;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}

.spec-chip:hover {
  transform: translateY(-2px);
  background: rgba(17, 17, 17, 0.09);
  border-color: rgba(17, 17, 17, 0.16);
}

/* =========================================
   CH110 五欄主表
========================================= */
.ch110-attr-5col {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}

.ch110-attr-5col th,
.ch110-attr-5col td {
  vertical-align: middle !important;
  box-sizing: border-box;
}

.ch110-attr-5col th {
  width: 90px !important;
  min-width: 90px !important;
  padding: 0 8px !important;
  text-align: center !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  line-height: 1.25 !important;
  font-weight: 400 !important;
  font-size: 14px !important;
}

.ch110-attr-5col tr:nth-child(4) > th {
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

.ch110-attr-5col td.ch110-col-td {
  padding: 0 !important;
  text-align: center !important;
  vertical-align: middle !important;
}

.ch110-attr-5col tr:nth-child(1) td.ch110-col-td,
.ch110-attr-5col tr:nth-child(2) td.ch110-col-td,
.ch110-attr-5col tr:nth-child(3) td.ch110-col-td {
  height: 72px !important;
}

.ch110-attr-5col tr:nth-child(4) td.ch110-col-td {
  height: 84px !important;
}

.ch110-attr-5col td.ch110-col-td > .ch110-model,
.ch110-attr-5col td.ch110-col-td > .ch110-spec,
.ch110-attr-5col td.ch110-col-td > .ch110-price {
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  font-weight: 400 !important;
}

.ch110-attr-5col td.ch110-col-td > .ch110-spec {
  flex-direction: column !important;
  line-height: 1.45 !important;
}

.ch110-attr-5col tr:nth-child(4) td.ch110-col-td {
  text-align: center !important;
  vertical-align: middle !important;
}

.ch110-attr-5col tr:nth-child(4) td.ch110-col-td > .ch110-pack {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  text-align: left !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
  box-sizing: border-box !important;
  padding-left: 18px !important;
}

.ch110-attr-5col .ch110-span5-td {
  padding: 14px 16px !important;
  text-align: center !important;
  vertical-align: middle !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  box-sizing: border-box;
}

.ch110-model {
  font-size: 16px !important;
}

.ch110-spec,
.ch110-price {
  font-size: 15px !important;
}

.ch110-pack,
.ch110-attr-5col .ch110-span5-td,
.ch110-attr-5col th {
  font-size: 14px !important;
}

/* =========================================
   EF412 系列 - 詳細資訊三欄表格（改成接近 CH110 風格）
========================================= */
.cs-compare-spec-table {
  width: 100%;
  margin: 20px 0;
  border: 1px solid #dcdcdc;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  font-size: 15px;
  line-height: 1.6;
}

.cs-compare-header,
.cs-compare-row {
  display: grid;
  grid-template-columns: 120px 1fr 1fr;
}

.cs-compare-header {
  background: #fff;
  font-weight: 400;
  text-align: center;
}

.cs-compare-header > div,
.cs-compare-row > div {
  padding: 14px 16px;
  border-right: 1px solid #dcdcdc;
  border-bottom: 1px solid #dcdcdc;
  box-sizing: border-box;
  color: #222;
  font-size: 15px;
  line-height: 1.6;
  min-height: 54px;
}

.cs-compare-header > div {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 400;
}

.cs-compare-row > div {
  display: flex;
  align-items: center;
}

.cs-compare-row > div:first-child {
  justify-content: center;
  text-align: center;
  font-weight: 400;
  white-space: nowrap;
  background: #fff;
}

.cs-compare-row:not(.cs-merge-row) > div:not(:first-child) {
  justify-content: center;
  text-align: center;
}

.cs-merge-row {
  grid-template-columns: 120px 1fr;
}

.cs-merge-cell {
  justify-content: center;
  text-align: center;
}

.cs-compare-header > div:last-child,
.cs-compare-row > div:last-child {
  border-right: none;
}

.cs-compare-row:last-child > div {
  border-bottom: none;
}

.cs-color-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
}

.cs-color-dot {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: inline-block;
  border: 1px solid rgba(0, 0, 0, 0.12);
  box-sizing: border-box;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
  cursor: pointer;
}

.cs-color-dot:hover {
  border-color: rgba(0, 0, 0, 0.22);
}

.cs-pink { background: #f3b6c6; }
.cs-blue { background: #9fc8f2; }
.cs-green { background: #b8d9b0; }

@media (max-width: 768px) {
  .cs-compare-spec-table {
    font-size: 13px;
    line-height: 1.5;
  }

  .cs-compare-header,
  .cs-compare-row,
  .cs-merge-row {
    grid-template-columns: 1fr;
  }

  .cs-compare-header > div,
  .cs-compare-row > div,
  .cs-merge-row > div {
    border-right: none;
    padding: 10px 8px;
    font-size: 13px;
    line-height: 1.5;
    min-height: auto;
    justify-content: center;
    text-align: center;
  }

  .cs-compare-row > div:first-child,
  .cs-merge-row > div:first-child {
    background: #fff;
  }
}

/* =========================================
   商品列表：隱藏加入購物車按鈕
========================================= */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart,
.ct-product-card .button,
.ct-product-card .add_to_cart_button {
  display: none !important;
}

/* =========================================
   首頁 8 張圖：圓角 + 輕微浮起
========================================= */
.home-8cards .elementor-widget-image,
.home-8cards .elementor-widget-image .elementor-widget-container,
.home-8cards .elementor-widget-image a {
  display: block !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  cursor: pointer;
}

.home-8cards .elementor-widget-image img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 20px !important;
}

.home-8cards .elementor-widget-image:hover,
.home-8cards .elementor-widget-image:hover .elementor-widget-container {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.1) !important;
}

/* =========================================
   單一商品頁：隱藏相關文章
========================================= */
.single-product .jp-relatedposts {
  display: none !important;
}

/* =========================================
   RWD：CH110
========================================= */
@media (max-width: 1024px) {
  .ch110-model {
    font-size: 15px !important;
  }

  .ch110-spec,
  .ch110-price,
  .ch110-pack,
  .ch110-attr-5col .ch110-span5-td,
  .ch110-attr-5col th {
    font-size: 14px !important;
  }
}

@media (max-width: 767px) {
  .ch110-attr-5col th {
    width: 72px !important;
    min-width: 72px !important;
    padding: 0 6px !important;
    font-size: 12px !important;
  }

  .ch110-attr-5col tr:nth-child(1) td.ch110-col-td,
  .ch110-attr-5col tr:nth-child(2) td.ch110-col-td,
  .ch110-attr-5col tr:nth-child(3) td.ch110-col-td {
    height: 60px !important;
  }

  .ch110-attr-5col tr:nth-child(4) td.ch110-col-td {
    height: 72px !important;
  }

  .ch110-attr-5col td.ch110-col-td > .ch110-model,
  .ch110-attr-5col td.ch110-col-td > .ch110-spec,
  .ch110-attr-5col td.ch110-col-td > .ch110-price,
  .ch110-attr-5col td.ch110-col-td > .ch110-pack {
    padding: 0 12% !important;
  }

  .ch110-model {
    font-size: 13px !important;
  }

  .ch110-spec,
  .ch110-price,
  .ch110-pack,
  .ch110-attr-5col .ch110-span5-td {
    font-size: 12px !important;
  }
}

/* =========================================
   商品頁內建表格：顏色列最終版
   只顯示圓點、不顯示文字、維持置中、加間距
========================================= */
.woocommerce div.product table.shop_attributes td:has(.spec-color),
.woocommerce-tabs .shop_attributes td:has(.spec-color) {
  text-align: center !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

.woocommerce div.product table.shop_attributes td:has(.spec-color) > p,
.woocommerce div.product table.shop_attributes td:has(.spec-color) > span:not(.spec-color),
.woocommerce div.product table.shop_attributes td:has(.spec-color) > div:not(:has(.spec-color)),
.woocommerce-tabs .shop_attributes td:has(.spec-color) > p,
.woocommerce-tabs .shop_attributes td:has(.spec-color) > span:not(.spec-color),
.woocommerce-tabs .shop_attributes td:has(.spec-color) > div:not(:has(.spec-color)) {
  display: none !important;
}

.woocommerce div.product table.shop_attributes td:has(.spec-color) .spec-color,
.woocommerce-tabs .shop_attributes td:has(.spec-color) .spec-color {
  display: inline-block !important;
  font-size: 0 !important;
  line-height: 0 !important;
  vertical-align: middle !important;
  margin: 0 4px !important;
}
/* =========================================
   修正桌機版產品下拉選單底部項目被裁切
   適用：螢幕高度較小 / 瀏覽器縮放較大時
========================================= */

@media (min-width: 1000px) {
  header .sub-menu,
  header [class*="mega-menu"],
  .ct-header .sub-menu,
  .ct-header [class*="mega-menu"] {
    max-height: calc(100vh - 140px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }
}
/* =========================================
   讓桌機版「產品資訊」主選單不可點擊
   只保留下拉選單功能，不跳轉到 Shop / 商品頁
========================================= */

@media (min-width: 1000px) {
  .mega-products > a {
    pointer-events: none !important;
    cursor: default !important;
  }
}
/* 全站隱藏 WooCommerce / Blocksy 商品折扣標籤，例如 17% OFF、Sale */
.woocommerce span.onsale,
.woocommerce .onsale,
.product .onsale,
.products .onsale,
.wc-block-grid__product-onsale,
.wp-block-woocommerce-product-sale-badge,
.ct-woo-badge,
.ct-sale-badge,
.ct-product-sale-badge {
  display: none !important;
}
/* 隱藏商店頁與商品分類列表中的商品價格 */
body.woocommerce-shop ul.products li.product .price,
body.tax-product_cat ul.products li.product .price,
body.tax-product_tag ul.products li.product .price {
    display: none !important;
}

/* 相容 WooCommerce 區塊式商品列表 */
body.woocommerce-shop .wc-block-grid__product-price,
body.tax-product_cat .wc-block-grid__product-price,
body.tax-product_tag .wc-block-grid__product-price,
body.woocommerce-shop .wc-block-components-product-price,
body.tax-product_cat .wc-block-components-product-price,
body.tax-product_tag .wc-block-components-product-price {
    display: none !important;
}