/* =========================================================
   HC Site Kit — 和成天下檳榔專賣 設計系統
   Mobile-first・簡單直接・好讀好點
   ========================================================= */

:root {
  --hc-ink: #1a2b25;
  --hc-text: #4b5854;
  --hc-muted: #7c8a85;
  --hc-accent: #0c8a5a;
  --hc-accent-dark: #067a4c;
  --hc-emerald: #0d9f6e;
  --hc-hot: #f59e0b;
  --hc-price: #e0262c;
  --hc-gold: #c3973a;
  --hc-bg: #ffffff;
  --hc-bg-alt: #f7faf8;
  --hc-card: #ffffff;
  --hc-line: #e8ecec;
  --hc-green: #06c755;
  --hc-radius: 14px;
  --hc-shadow: 0 10px 30px rgba(15, 40, 30, 0.09);
  --hc-serif: "Noto Serif TC", serif;
  --hc-sans: -apple-system, "PingFang TC", "Microsoft JhengHei", "Heiti TC", "Noto Sans TC", sans-serif;
}

html { scroll-behavior: smooth; }

body {
  font-family: var(--hc-sans);
  color: var(--hc-text);
  background: var(--hc-bg);
  font-size: 15px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 { font-family: var(--hc-sans); color: var(--hc-ink); }

a { text-decoration: none; }

img { max-width: 100%; height: auto; }

::selection { background: rgba(14, 90, 94, 0.16); }

:focus-visible { outline: 2px solid var(--hc-accent); outline-offset: 2px; }

/* ---------- 佈局 ---------- */
.hc-container { max-width: 1280px; margin: 0 auto; padding: 0 16px; }

.hc-section { padding: 36px 0; }
.hc-section--tight { padding: 26px 0; }
.hc-section--alt { background: var(--hc-bg-alt); }

@media (min-width: 768px) {
  .hc-section { padding: 56px 0; }
  .hc-section--tight { padding: 36px 0; }
}

.hc-eyebrow {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--hc-accent);
  margin: 0 0 10px;
}

.hc-h2 {
  font-size: clamp(22px, 4vw, 30px);
  font-weight: 800;
  line-height: 1.35;
  margin: 0 0 10px;
}
/* 參考站樣式：標題下綠色短槓 */
.hc-sec-head > .hc-h2::after,
.hc-sec-head > h1::after,
.hc-sec-head > h2::after {
  content: "";
  display: block;
  width: 44px;
  height: 3px;
  border-radius: 3px;
  background: var(--hc-accent);
  margin-top: 10px;
}
.hc-sec-head .hc-sub, .hc-sec-desc {
  color: var(--hc-muted);
  font-size: 14.5px;
  margin: 12px 0 0;
  max-width: 76em;
}
.hc-sub { color: var(--hc-muted); margin: 0 0 24px; max-width: 42em; }
.hc-sec-hr { border: none; border-top: 1px solid var(--hc-line); margin: 16px 0 22px; }

.hc-center { text-align: center; }
.hc-center .hc-sub { margin-left: auto; margin-right: auto; }

/* ---------- 按鈕 ---------- */
.hc-btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wc-block-components-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 26px;
  border-radius: 999px;
  background: var(--hc-accent);
  color: #fff !important;
  font-weight: 700;
  font-size: 15px;
  line-height: 1.3;
  border: none;
  cursor: pointer;
  transition: transform 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.hc-btn:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.wc-block-components-button:hover {
  background: var(--hc-accent-dark);
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(142, 27, 33, 0.25);
}

.hc-btn--ghost {
  background: transparent;
  color: var(--hc-ink) !important;
  border: 1.5px solid var(--hc-ink);
}
.hc-btn--ghost:hover { background: var(--hc-ink); color: #fff !important; box-shadow: none; }

.hc-btn--light { background: #fff; color: var(--hc-ink) !important; }
.hc-btn--light:hover { background: #f4ede1; color: var(--hc-ink) !important; }

.hc-btn-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }

/* ---------- 頂部公告 ---------- */
.hc-topbar {
  background: var(--hc-accent-dark);
  color: #eafff4;
  font-size: 12px;
  letter-spacing: 0.03em;
  padding: 6px 16px;
  text-align: center;
}
.hc-topbar p { margin: 0; color: inherit; }

/* ---------- 表頭（對齊 ccrs：白底・左 logo・右選單＋LINE） ---------- */
.hc-header {
  position: sticky;
  top: 0;
  z-index: 900;
  background: #fff;
  border-bottom: 1px solid #f0f0f0;
  box-shadow: 0 1px 4px rgba(20, 40, 30, 0.05);
}

.hc-header__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 16px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.hc-logo {
  font-family: var(--hc-sans);
  font-size: 22px;
  font-weight: 900;
  color: var(--hc-ink) !important;
  line-height: 1.15;
  white-space: nowrap;
}
.hc-logo small { display: block; font-size: 10.5px; font-weight: 500; color: var(--hc-muted); letter-spacing: 0.06em; }

.hc-nav { display: none; }

@media (min-width: 960px) {
  .hc-nav { display: flex; justify-content: flex-end; margin-left: auto; }
  .hc-nav ul { display: flex; gap: 26px; list-style: none; margin: 0; padding: 0; }
  .hc-nav ul li { list-style: none; }
  .hc-nav a { font-size: 15px; font-weight: 500; color: #374151; padding: 6px 0; transition: color .15s ease; }
  .hc-nav a:hover { color: var(--hc-accent); }
}

/* header 右側群組 */
.hc-header__right { display: flex; align-items: center; gap: 10px; margin-left: auto; }
@media (min-width: 960px) { .hc-header__right { margin-left: 24px; } }

.hc-header__line {
  display: none;
  align-items: center;
  gap: 7px;
  background: var(--hc-emerald);
  color: #fff !important;
  font-size: 13px;
  font-weight: 700;
  padding: 9px 16px;
  border-radius: 999px;
  box-shadow: 0 3px 10px rgba(13, 159, 110, 0.35);
  transition: transform .15s ease, background .15s ease;
  white-space: nowrap;
}
.hc-header__line svg { width: 17px; height: 17px; }
.hc-header__line:hover { background: var(--hc-accent-dark); transform: translateY(-1px); }

.hc-header__line-mini {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: var(--hc-emerald);
  color: #fff !important;
  flex: 0 0 auto;
}
.hc-header__line-mini svg { width: 21px; height: 21px; }

.hc-menu-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: #ecfdf5;
  color: #065f46;
  border: 1px solid #d1fae5;
  font-size: 13.5px;
  font-weight: 700;
  font-family: var(--hc-sans);
  padding: 8px 12px;
  border-radius: 10px;
  cursor: pointer;
  box-shadow: 0 1px 3px rgba(20, 40, 30, 0.06);
}
.hc-menu-btn svg { width: 16px; height: 16px; }
.hc-menu-btn svg:last-child { width: 12px; height: 12px; transition: transform .25s ease; }
.hc-menu-btn.open svg:last-child { transform: rotate(180deg); }

@media (min-width: 960px) {
  .hc-header__line { display: inline-flex; }
  .hc-header__line-mini, .hc-menu-btn { display: none; }
}

/* 行動下拉選單 */
.hc-mnav { display: none; background: #fff; border-top: 1px solid #f1f5f3; box-shadow: 0 14px 24px rgba(15, 40, 30, 0.10); padding: 10px 14px 14px; }
.hc-mnav.open { display: block; }
.hc-mnav a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 14.5px;
  font-weight: 500;
  color: #374151 !important;
}
.hc-mnav a:hover, .hc-mnav a:active { background: #f4f8f6; }
.hc-mnav__cur { background: #ecfdf5; color: #065f46 !important; font-weight: 700; }
.hc-mnav__line { background: var(--hc-emerald); color: #fff !important; font-weight: 700; justify-content: center; gap: 8px; margin-top: 8px; }
.hc-mnav__line svg { width: 19px; height: 19px; }

@media (min-width: 960px) { .hc-mnav { display: none !important; } }

.hc-cart-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--hc-card);
  border: 1px solid var(--hc-line);
  color: var(--hc-ink);
  flex: 0 0 auto;
}
.hc-cart-btn svg { width: 20px; height: 20px; }
.hc-cart-count {
  position: absolute;
  top: -5px;
  right: -5px;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border-radius: 999px;
  background: var(--hc-accent);
  color: #fff;
  font-size: 10.5px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 分類快速列 */
.hc-catbar {
  border-top: 1px solid var(--hc-line);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.hc-catbar::-webkit-scrollbar { display: none; }
.hc-catbar__inner {
  display: flex;
  gap: 8px;
  max-width: 1160px;
  margin: 0 auto;
  padding: 9px 20px;
  width: max-content;
}
.hc-chip {
  display: inline-block;
  padding: 7px 15px;
  border-radius: 999px;
  background: var(--hc-card);
  border: 1px solid var(--hc-line);
  font-size: 13px;
  font-weight: 500;
  color: var(--hc-text) !important;
  white-space: nowrap;
}
.hc-chip:hover, .hc-chip.is-active { border-color: var(--hc-accent); color: var(--hc-accent) !important; }

@media (min-width: 960px) {
  .hc-catbar { border-top: none; }
  .hc-catbar__inner { padding-bottom: 12px; }
}

/* ---------- Hero ---------- */
.hc-hero .hc-container {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  align-items: center;
  padding-top: 40px;
  padding-bottom: 8px;
}
.hc-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
  color: var(--hc-accent);
  letter-spacing: 0.12em;
  margin: 0 0 14px;
}
.hc-hero h1 {
  font-size: clamp(30px, 7vw, 54px);
  font-weight: 900;
  line-height: 1.28;
  margin: 0 0 18px;
}
.hc-hero__lead { font-size: 16.5px; color: var(--hc-muted); margin: 0; max-width: 34em; }
.hc-hero__img img {
  border-radius: 20px;
  box-shadow: var(--hc-shadow);
  aspect-ratio: 4 / 3;
  object-fit: cover;
  width: 100%;
}
.hc-hero__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 22px;
  padding: 0;
  list-style: none;
}
.hc-hero__badges li {
  background: var(--hc-card);
  border: 1px solid var(--hc-line);
  border-radius: 999px;
  padding: 6px 14px;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--hc-text);
}

@media (min-width: 900px) {
  .hc-hero .hc-container {
    grid-template-columns: 1.02fr 0.98fr;
    gap: 56px;
    padding-top: 72px;
    padding-bottom: 24px;
  }
  .hc-hero__img img { aspect-ratio: 5 / 4; }
}

/* ---------- 信任列 ---------- */
.hc-trust {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
@media (min-width: 768px) {
  .hc-trust { grid-template-columns: repeat(4, 1fr); gap: 16px; }
}
.hc-trust__item {
  background: var(--hc-card);
  border: 1px solid var(--hc-line);
  border-radius: var(--hc-radius);
  padding: 16px 14px;
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.hc-trust__item svg { width: 26px; height: 26px; color: var(--hc-accent); flex: 0 0 auto; }
.hc-trust__item strong { display: block; font-size: 14px; color: var(--hc-ink); line-height: 1.4; }
.hc-trust__item span { font-size: 12px; color: var(--hc-muted); line-height: 1.5; }

/* ---------- 分類卡 ---------- */
.hc-cats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
@media (min-width: 768px) {
  .hc-cats { grid-template-columns: repeat(4, 1fr); gap: 20px; }
}
.hc-cat {
  position: relative;
  display: block;
  border-radius: var(--hc-radius);
  overflow: hidden;
  aspect-ratio: 1 / 1;
  background: var(--hc-card);
  border: 1px solid var(--hc-line);
}
.hc-cat img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.35s ease; }
.hc-cat:hover img { transform: scale(1.05); }
.hc-cat__label {
  position: absolute;
  inset: auto 0 0 0;
  padding: 26px 14px 12px;
  background: linear-gradient(transparent, rgba(20, 15, 10, 0.72));
  color: #fff;
  font-family: var(--hc-serif);
  font-weight: 700;
  font-size: 15.5px;
}

/* ---------- WooCommerce 商品網格（對齊 ccrs：2/3/4 欄・卡片上下對齊） ---------- */
.woocommerce ul.products,
.wc-block-grid ul.products {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
}
@media (min-width: 768px) {
  .woocommerce ul.products,
  .wc-block-grid ul.products { grid-template-columns: repeat(3, 1fr) !important; gap: 20px !important; }
}
@media (min-width: 1100px) {
  .woocommerce ul.products,
  .home .woocommerce ul.products { grid-template-columns: repeat(4, 1fr) !important; }
}

.woocommerce ul.products li.product {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  background: #fff;
  border: 1px solid #f0f0f0;
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding-bottom: 0 !important;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
  position: relative;
}
.woocommerce ul.products li.product:hover {
  box-shadow: 0 12px 26px rgba(15, 40, 30, 0.12);
  transform: translateY(-3px);
}
.woocommerce ul.products li.product a img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  background: #fff;
  padding: 14px;
  margin: 0 !important;
  border-radius: 0 !important;
}
/* 熱賣標（參考站：左上橘色小標） */
.woocommerce ul.products li.product::before {
  content: "熱賣";
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 3;
  background: var(--hc-hot);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .05em;
  padding: 3px 10px;
  border-radius: 6px;
  box-shadow: 0 2px 6px rgba(245, 158, 11, 0.4);
}
/* 品牌小標（由插件輸出 .hc-pcat） */
.woocommerce ul.products li.product .hc-pcat {
  display: inline-block;
  align-self: flex-start;
  background: #e7f6ef;
  color: #0b7a4e;
  font-size: 12px;
  font-weight: 700;
  border-radius: 6px;
  padding: 3px 10px;
  margin: 2px 14px 0;
}
/* 星級 */
.woocommerce ul.products li.product .hc-starline {
  padding: 6px 14px 0;
  font-size: 12px;
  color: #9ca3af;
  letter-spacing: 1px;
}
.woocommerce ul.products li.product .hc-starline b { color: #f59e0b; font-weight: 400; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--hc-sans);
  font-size: 15px !important;
  font-weight: 700;
  color: var(--hc-ink);
  padding: 8px 14px 2px;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 3.1em;
}
.woocommerce ul.products li.product .price {
  color: var(--hc-price) !important;
  font-weight: 800;
  font-size: 17px !important;
  padding: 6px 14px 12px;
  margin: 0 !important;
}
.woocommerce ul.products li.product .price del { color: var(--hc-muted); font-weight: 400; font-size: 13px; }
.woocommerce ul.products li.product .button {
  margin: auto 14px 16px !important;
  width: auto !important;
  padding: 11px 18px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-align: center;
  justify-content: center;
  background: var(--hc-accent-dark) !important;
}
.woocommerce ul.products li.product .button:hover { background: #05603b !important; }

/* 商品分類頁 */
.woocommerce-products-header { display: none; }

.hc-shop-hero {
  background: linear-gradient(135deg, #0d3d2c, #10553a 55%, #14805a);
  color: #fff;
  border-radius: 16px;
  padding: 30px 24px;
  margin-bottom: 26px;
}
.hc-shop-hero .hc-eyebrow { color: #f3d9a4; }
.hc-shop-hero .hc-h2 { color: #fff; }
.hc-shop-hero__lead { color: rgba(255, 255, 255, 0.88); font-size: 15px; margin: 0; max-width: 40em; }

.woocommerce .woocommerce-result-count { color: var(--hc-muted); font-size: 13.5px; }
.woocommerce .woocommerce-ordering select {
  padding: 9px 14px;
  border: 1px solid var(--hc-line);
  border-radius: 10px;
  background: var(--hc-card);
  font-size: 14px;
  color: var(--hc-text);
}

/* ---------- 分頁導覽 ---------- */
.woocommerce nav.woocommerce-pagination ul { border: none; display: flex; gap: 6px; justify-content: center; }
.woocommerce nav.woocommerce-pagination ul li { border: none; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  min-width: 40px;
  border-radius: 10px !important;
  border: 1px solid var(--hc-line) !important;
  background: var(--hc-card) !important;
  color: var(--hc-text) !important;
  font-weight: 600;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--hc-accent) !important;
  border-color: var(--hc-accent) !important;
  color: #fff !important;
}

/* ---------- 單一商品頁 ---------- */
.woocommerce div.product {
  display: grid;
  grid-template-columns: 1fr;
  gap: 26px;
  margin: 24px 0 48px;
}
@media (min-width: 900px) {
  .woocommerce div.product { grid-template-columns: 1.05fr 0.95fr; gap: 44px; }
}
.woocommerce div.product div.images { width: 100% !important; float: none !important; margin: 0 !important; }
.woocommerce div.product div.images img { border-radius: 20px; }
.woocommerce div.product div.images .flex-control-thumbs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-top: 12px;
}
.woocommerce div.product div.images .flex-control-thumbs li { width: 100%; float: none; }
.woocommerce div.product div.images .flex-control-thumbs img { border-radius: 10px; opacity: 0.75; }
.woocommerce div.product div.images .flex-control-thumbs img.flex-active { opacity: 1; outline: 2px solid var(--hc-accent); }

.woocommerce div.product div.summary { width: 100% !important; float: none !important; margin: 0 !important; }
.woocommerce div.product .product_title {
  font-size: clamp(24px, 4.5vw, 34px);
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: 10px;
}
.woocommerce div.product p.price {
  color: var(--hc-price) !important;
  font-size: 26px !important;
  font-weight: 800;
  margin: 12px 0 18px !important;
}
.woocommerce div.product p.price del { font-size: 0.7em; color: var(--hc-muted); }
.woocommerce div.product div.woocommerce-product-details__short-description {
  color: var(--hc-text);
  font-size: 15px;
  border-top: 1px solid var(--hc-line);
  padding-top: 16px;
}
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 20px 0; }
.woocommerce div.product form.cart div.quantity { margin: 0 !important; }
.woocommerce .quantity .qty {
  padding: 11px 8px;
  border: 1px solid var(--hc-line);
  border-radius: 10px;
  width: 72px;
  font-size: 15px;
  text-align: center;
}
.woocommerce div.product form.cart .button { padding: 13px 30px !important; font-size: 15.5px !important; }

.woocommerce div.product .product_meta { font-size: 13px; color: var(--hc-muted); border-top: 1px solid var(--hc-line); padding-top: 14px; }

.woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0 !important; margin: 0 !important; border-bottom: 1px solid var(--hc-line) !important; display: flex; gap: 4px; flex-wrap: wrap; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  padding: 12px 18px !important;
  font-weight: 700 !important;
  color: var(--hc-muted) !important;
  border-bottom: 2px solid transparent !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--hc-ink) !important; border-bottom-color: var(--hc-accent) !important; }
.woocommerce div.product .woocommerce-tabs .panel { padding: 22px 0 0 !important; color: var(--hc-text); }

.woocommerce .related.products, .woocommerce .up-sells.upsells.products { grid-column: 1 / -1; }
.woocommerce .related.products > h2, .woocommerce .upsells > h2 { font-size: 22px; }

/* ---------- 警語 ---------- */
.hc-warning {
  background: #fdf3e0;
  border: 1px solid #efd9a8;
  color: #7a5b12;
  border-radius: 12px;
  padding: 10px 14px;
  font-size: 12.5px;
  line-height: 1.6;
  margin: 12px 0;
}
.hc-warning strong { color: #8a5a0f; }

/* ---------- 購物車 / 結帳 ---------- */
.woocommerce-page .woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  border-radius: 12px;
  border-top-color: var(--hc-accent);
  background: var(--hc-card);
  color: var(--hc-text);
  font-size: 14px;
}

.woocommerce table.shop_table {
  border: 1px solid var(--hc-line) !important;
  border-radius: 14px;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  background: var(--hc-card);
}
.woocommerce table.shop_table th { background: #f1f4f3; font-size: 13px; }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { padding: 12px 14px !important; }
.woocommerce table.shop_table img { border-radius: 10px; width: 56px; }

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
  border: 1px solid var(--hc-line) !important;
  border-radius: 10px !important;
  padding: 11px 13px !important;
  font-size: 15px !important;
  height: auto !important;
  background: var(--hc-card) !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 1.5 !important; padding: 0 !important; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 100% !important; }

h2.woocommerce-order-details__title, .woocommerce-billing-fields h3, .woocommerce-additional-fields h3 {
  font-size: 19px;
}

/* ---------- FAQ ---------- */
.hc-faq { max-width: 820px; margin: 0 auto; display: grid; gap: 10px; }
.hc-faq__item {
  background: var(--hc-card);
  border: 1px solid var(--hc-line);
  border-radius: 14px;
  padding: 0 18px;
}
.hc-faq__item[open] { border-color: rgba(14, 90, 94, 0.45); }
.hc-faq__item summary {
  list-style: none;
  cursor: pointer;
  font-weight: 700;
  color: var(--hc-ink);
  font-size: 15.5px;
  padding: 16px 30px 16px 0;
  position: relative;
}
.hc-faq__item summary::-webkit-details-marker { display: none; }
.hc-faq__item summary::after {
  content: "+";
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--hc-accent);
  font-size: 20px;
  font-weight: 500;
}
.hc-faq__item[open] summary::after { content: "−"; }
.hc-faq__a { padding: 0 0 18px; color: var(--hc-muted); font-size: 14.5px; }

/* ---------- CTA / 品牌區 ---------- */
.hc-cta {
  background: linear-gradient(135deg, #0d3d2c, #10553a 60%, #14805a);
  border-radius: 18px;
  color: #fff;
  text-align: center;
  padding: 40px 24px;
}
.hc-cta h2 { color: #fff; font-size: clamp(22px, 4vw, 30px); margin: 0 0 10px; }
.hc-cta p { color: rgba(255, 255, 255, 0.9); margin: 0 0 22px; }

/* ---------- LINE 浮動按鈕（參考站：白膠囊 + 綠圓鈕） ---------- */
.hc-line-fab {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 950;
  display: flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  color: #1f2937 !important;
  border: 1px solid #eef2f0;
  border-radius: 999px;
  padding: 10px 18px 10px 14px;
  font-size: 13.5px;
  font-weight: 700;
  box-shadow: 0 6px 20px rgba(15, 40, 30, 0.16);
}
.hc-line-fab svg { width: 22px; height: 22px; color: var(--hc-green); }
.hc-line-fab:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(15, 40, 30, 0.22); }
@media (min-width: 768px) {
  .hc-line-fab { right: 22px; bottom: 22px; }
}

/* ---------- 行動版底部導覽（v1.4 已移除輸出，樣式保留以防外掛） ---------- */
.hc-bottombar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 940;
  display: flex;
  background: rgba(255, 255, 255, 0.97);
  backdrop-filter: blur(10px);
  border-top: 1px solid var(--hc-line);
  padding: 6px 4px calc(6px + env(safe-area-inset-bottom));
}
.hc-bottombar a {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  font-size: 10.5px;
  color: var(--hc-text) !important;
  padding: 4px 0;
}
.hc-bottombar svg { width: 21px; height: 21px; }
.hc-bottombar a:hover { color: var(--hc-accent) !important; }
@media (min-width: 768px) {
  .hc-bottombar { display: none; }
}
@media (max-width: 767px) {
  body { padding-bottom: 60px; }
}

/* ---------- 頁尾 ---------- */
.hc-footer {
  background: #17130e;
  color: #b3aa9c;
  margin-top: 56px;
  padding: 52px 0 0;
  font-size: 14px;
}
.hc-footer__grid {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 20px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
}
@media (min-width: 768px) {
  .hc-footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 40px; }
}
.hc-footer h3, .hc-footer h4 { color: #fff; font-size: 15px; margin: 0 0 14px; font-family: var(--hc-sans); font-weight: 700; }
.hc-footer p { margin: 0 0 10px; line-height: 1.8; }
.hc-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.hc-footer a { color: #b3aa9c !important; }
.hc-footer a:hover { color: #fff !important; }
.hc-footer__brand { font-family: var(--hc-serif); font-size: 20px; font-weight: 900; color: #fff !important; display: inline-block; margin-bottom: 10px; }
.hc-footer__badge {
  display: inline-block;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  padding: 4px 12px;
  font-size: 12px;
  color: #d8cfc0 !important;
  margin: 0 6px 6px 0;
}
.hc-footer__warn {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  margin-top: 40px;
  padding: 18px 20px;
  text-align: center;
  font-size: 12px;
  color: #8d8477;
  line-height: 1.8;
}
.hc-footer__copy {
  max-width: 1160px;
  margin: 0 auto;
  padding: 14px 20px 26px;
  text-align: center;
  font-size: 12.5px;
  color: #8d8477;
}

/* ---------- 通用工具 ---------- */
.hc-img-round img { border-radius: 20px; box-shadow: var(--hc-shadow); }
.hc-list-check { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.hc-list-check li { padding-left: 26px; position: relative; }
.hc-list-check li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--hc-accent);
  font-weight: 700;
}

.wp-block-image img { border-radius: 12px; }

/* 隱藏主題預設多餘區塊 */
.home .entry-title, .home .page-title { display: none; }


/* ===== 頁面區塊（Site Editor 附加樣式） ===== */
.hc-sec-head { max-width: 720px; margin-bottom: 28px; }
.hc-grid-3 { display: grid; grid-template-columns: 1fr; gap: 14px; }
@media (min-width: 768px) { .hc-grid-3 { grid-template-columns: repeat(3, 1fr); gap: 22px; } }
.hc-card { background: #fff; border: 1px solid var(--hc-line); border-radius: 16px; padding: 22px 20px; }
.hc-card h3 { margin: 6px 0 8px; font-size: 18px; }
.hc-card p { margin: 0; color: #6f685e; font-size: 14.5px; }
.hc-card__no { font-family: var(--hc-sans); font-size: 13px; font-weight: 700; color: var(--hc-accent); letter-spacing: .1em; }
.hc-two { display: grid; grid-template-columns: 1fr; gap: 26px; align-items: center; }
@media (min-width: 900px) { .hc-two { grid-template-columns: 1fr 1fr; gap: 52px; } }
.hc-two__img img { border-radius: 20px; box-shadow: 0 10px 30px rgba(33,29,24,.08); width: 100%; }
.hc-two__text .hc-list-check { margin: 18px 0 0; }
.hc-review { background: #fff; border: 1px solid var(--hc-line); border-radius: 16px; padding: 22px; margin: 0; }
.hc-review blockquote { margin: 10px 0 12px; padding: 0; border: none; font-size: 14.5px; color: #45403a; line-height: 1.8; font-style: normal; }
.hc-review figcaption { font-size: 13px; color: #8b8478; }
.hc-stars { color: #c9a227; letter-spacing: 2px; font-size: 14px; }
.hc-prose { max-width: 800px; }
.hc-prose h1 { font-size: clamp(26px, 4.6vw, 38px); line-height: 1.35; margin: 6px 0 20px; }
.hc-prose h2 { font-size: 20px; margin: 34px 0 10px; }
.hc-prose p, .hc-prose li { font-size: 15.5px; line-height: 1.9; color: #45403a; }
.hc-prose ul { padding-left: 20px; }
.hc-prose li { margin-bottom: 8px; }
.hc-contact { display: grid; grid-template-columns: 1fr; gap: 18px; }
@media (min-width: 768px) { .hc-contact { grid-template-columns: 1.2fr .8fr; gap: 32px; align-items: start; } }
.hc-contact__card { background: #fff; border: 1px solid var(--hc-line); border-radius: 18px; padding: 26px 22px; }
.hc-contact__card h3 { margin: 0 0 10px; font-size: 19px; }
.hc-contact__card p { margin: 0 0 12px; font-size: 14.5px; }
.hc-contact__id { background: #fdf3e0; border: 1px dashed #e2c88f; border-radius: 10px; padding: 10px 12px; font-weight: 700; color: #7a5b12 !important; }
.hc-contact__qr { text-align: center; }
.hc-contact__qr img { max-width: 260px; border-radius: 16px; border: 1px solid var(--hc-line); background: #fff; padding: 12px; }
.hc-contact__qr p { font-size: 13px; color: #8b8478; }
/* 首頁商品網格與標題對齊 */
.hc-section--alt .woocommerce ul.products { margin-top: -16px !important; }
.hc-btn-row a.hc-btn--ghost { border-color: #211d18; }
.hc-cta .hc-btn-row .hc-btn--ghost { border-color: #fff !important; color: #fff !important; }
.hc-cta .hc-btn-row .hc-btn--ghost:hover { background: #fff !important; color: var(--hc-accent) !important; }

/* ===== Woo 區塊模板：商品網格（商店頁 / 分類頁） ===== */
ul.wc-block-product-template {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
@media (min-width: 768px) {
  ul.wc-block-product-template { grid-template-columns: repeat(3, 1fr) !important; gap: 24px !important; }
}
ul.wc-block-product-template > li.wc-block-product {
  background: #fff;
  border: 1px solid #f0f0f0;
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  margin: 0 !important;
  position: relative;
  transition: box-shadow .2s ease, transform .2s ease;
}
ul.wc-block-product-template > li.wc-block-product:hover { box-shadow: 0 12px 26px rgba(15, 40, 30, 0.12); transform: translateY(-3px); }
ul.wc-block-product-template > li.wc-block-product::before {
  content: "熱賣";
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 3;
  background: var(--hc-hot);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 6px;
}
li.wc-block-product .wc-block-components-product-image { margin: 0 !important; }
li.wc-block-product .wc-block-components-product-image img { border-radius: 0 !important; width: 100%; aspect-ratio: 1/1; object-fit: contain; background: #fff; padding: 14px; }
li.wc-block-product .wp-block-post-title {
  font-family: var(--hc-sans) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  padding: 12px 14px 0 !important;
  margin: 0 !important;
  text-align: left !important;
}
li.wc-block-product .wp-block-post-title a { color: var(--hc-ink) !important; }
li.wc-block-product .hc-warning--loop { margin: 6px 14px 8px; font-size: 11px; padding: 4px 8px; }
li.wc-block-product .wp-block-woocommerce-product-price { margin: 0 !important; padding: 0 14px 10px; }
li.wc-block-product .wc-block-components-product-price {
  color: var(--hc-price) !important;
  font-weight: 800 !important;
  font-size: 17px !important;
  text-align: left !important;
  justify-content: flex-start !important;
}
li.wc-block-product .wp-block-woocommerce-product-button { margin: auto 14px 16px !important; }
li.wc-block-product .wp-block-button__link,
li.wc-block-product .wp-element-button {
  width: 100%;
  background: var(--hc-accent-dark) !important;
  color: #fff !important;
  border-radius: 8px !important;
  padding: 11px 16px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-align: center;
  justify-content: center;
}
li.wc-block-product .wp-block-button__link:hover { background: #05603b !important; }
li.wc-block-product .added_to_cart { font-size: 12px; padding: 0 14px 12px; color: var(--hc-muted); }

/* ===== Woo 區塊模板：單一商品 ===== */
.wp-block-woocommerce-product-image-gallery img { border-radius: 20px !important; }
.wp-block-woocommerce-product-image-gallery .flex-control-thumbs li { margin: 0 !important; }
.wp-block-woocommerce-product-image-gallery .flex-control-thumbs img { border-radius: 10px !important; }
.wp-block-woocommerce-product-title, .wp-block-post-title.product_title {
  font-family: var(--hc-serif) !important;
  font-size: clamp(24px, 4.5vw, 32px) !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}
.wp-block-woocommerce-product-price .wc-block-components-product-price,
.wp-block-woocommerce-product-price .price {
  color: var(--hc-price) !important;
  font-size: 26px !important;
  font-weight: 800 !important;
}
.wp-block-woocommerce-product-price .price del { font-size: .7em; color: var(--hc-muted); }
.wp-block-add-to-cart-form form.cart { display: flex !important; flex-wrap: wrap; gap: 12px; align-items: center; }
.wp-block-add-to-cart-form .quantity .qty {
  padding: 11px 8px; border: 1px solid var(--hc-line); border-radius: 10px;
  width: 76px; text-align: center; font-size: 15px;
}
.wp-block-add-to-cart-form .single_add_to_cart_button,
.wp-block-add-to-cart-form .wp-element-button {
  background: var(--hc-accent) !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 13px 30px !important;
  font-size: 15.5px !important;
  font-weight: 700 !important;
}
.wp-block-add-to-cart-form .single_add_to_cart_button:hover { background: var(--hc-accent-dark) !important; }
.wp-block-woocommerce-product-details .woocommerce-tabs ul.tabs { border-bottom: 1px solid var(--hc-line); }
.wp-block-woocommerce-product-details .woocommerce-tabs ul.tabs li a { color: var(--hc-muted); font-weight: 700; }
.wp-block-woocommerce-product-details .woocommerce-tabs ul.tabs li.active a { color: var(--hc-ink); }
.wp-block-woocommerce-product-details h2 { font-size: 22px; }
.wp-block-woocommerce-related-products h2, .wp-block-woocommerce-product-reviews h2 { font-size: 22px; }

/* 商店頁工具列 */
.wc-block-product-results-count, .woocommerce-result-count { color: var(--hc-muted); font-size: 13.5px; }
.wc-block-catalog-sorting select { padding: 9px 14px; border: 1px solid var(--hc-line); border-radius: 10px; background: #fff; font-size: 14px; }

/* ===== 視覺修正（v1.1.5） ===== */
.home .wp-block-post-title { display: none !important; }
.hc-hero h1 { font-size: clamp(28px, 5.2vw, 46px); }
.hc-trust__item { display: grid; grid-template-columns: 26px 1fr; gap: 4px 8px; align-items: start; }
.hc-trust__item svg { grid-row: 1 / span 2; grid-column: 1; }
.hc-trust__item strong { grid-column: 2; }
.hc-trust__item span { grid-column: 2; }

/* ===== 手機版購物車表格修正（v1.1.7） ===== */
@media (max-width: 767px) {
  .woocommerce-page table.shop_table,
  .woocommerce table.shop_table { table-layout: auto; width: 100%; }
  .woocommerce-page table.shop_table tr,
  .woocommerce table.shop_table tr { display: block; border-bottom: 1px solid var(--hc-line); }
  .woocommerce-page table.shop_table th { display: none; }
  .woocommerce-page table.shop_table td,
  .woocommerce table.shop_table td {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    text-align: right !important;
    overflow-wrap: anywhere;
  }
  .woocommerce-page table.shop_table td::before,
  .woocommerce table.shop_table td::before { flex: 0 0 auto; font-weight: 600; color: var(--hc-muted); }
  .woocommerce-page table.shop_table td .qty { max-width: 88px; }
  .woocommerce table.shop_table img { width: 52px; }
}
.woocommerce .coupon { display: flex; gap: 8px; flex-wrap: wrap; }
.woocommerce .coupon .input-text { flex: 1 1 140px; min-width: 0; }
.woocommerce .cart_totals, .woocommerce-page .cart_totals { width: 100% !important; float: none !important; }
.woocommerce .wc-proceed-to-checkout a.checkout-button { width: 100%; text-align: center; }

/* ===== 購物車表格改為區塊式排版，杜絕水平溢出（v1.1.8） ===== */
@media (max-width: 767px) {
  .woocommerce-page table.shop_table,
  .woocommerce table.shop_table,
  .woocommerce-page table.shop_table thead,
  .woocommerce-page table.shop_table tbody,
  .woocommerce-page table.shop_table tfoot,
  .woocommerce table.shop_table thead,
  .woocommerce table.shop_table tbody,
  .woocommerce table.shop_table tfoot,
  .woocommerce-page table.shop_table tr,
  .woocommerce table.shop_table tr { display: block; width: 100%; }
  .woocommerce-page table.shop_table td,
  .woocommerce table.shop_table td { width: auto; }
  .woocommerce-page .woocommerce-cart-form table.shop_table td.product-thumbnail { display: flex; }
  .woocommerce .coupon { display: block; }
  .woocommerce .coupon label { display: none; }
  .woocommerce .coupon .input-text { width: 100% !important; margin-bottom: 8px; }
  .woocommerce .coupon button { width: 100% !important; margin: 0; }
  .woocommerce table.shop_table td.actions { padding: 12px 0 !important; }
  .woocommerce table.shop_table td.actions .button { width: 100%; }
  .woocommerce-page .cart_totals .shop_table td { display: flex !important; }
}

/* 響應式表格空標籤清理（v1.1.9） */
.woocommerce table.shop_table td[data-title=""]::before,
.woocommerce-page table.shop_table td[data-title=""]::before { content: none !important; }
.woocommerce table.shop_table td.product-remove { text-align: left !important; }


/* =========================================================
   v1.4.0 — 對齊 ccrs.org.tw：深色品牌區・深綠保障區・橫幅
   ========================================================= */

/* 主視覺橫幅：容器內圓角卡（參考站 banner 樣式） */
.hc-section--flush { padding: 12px 0 8px; }
.home .entry-content > *:first-child { margin-top: 0 !important; }
.hc-banner { width: 100%; height: auto; display: block; border-radius: 14px; object-fit: cover; }
@media (min-width: 768px) {
  .hc-section--flush { padding: 16px 0 10px; }
  .hc-banner { border-radius: 16px; aspect-ratio: 2.6 / 1; }
}

/* 品牌專區（深色，參考站「熱門大陸檳榔品牌」） */
.hc-section--dark {
  background: linear-gradient(150deg, #10231c, #143526 55%, #0f2a20);
  color: #e7efe9;
  border-radius: 18px;
  margin: 8px 0;
  padding: 40px 0;
}
.hc-section--dark .hc-eyebrow { color: #7dd3ae; }
.hc-section--dark .hc-h2, .hc-section--dark h2 { color: #fff; }
.hc-section--dark .hc-sec-head .hc-sub, .hc-section--dark .hc-sec-desc { color: #b8c9be; }
.hc-section--dark .hc-sec-head > .hc-h2::after,
.hc-section--dark .hc-sec-head > h2::after { background: #34d399; }
.hc-brands { display: grid; grid-template-columns: 1fr; gap: 14px; }
@media (min-width: 640px) { .hc-brands { grid-template-columns: repeat(2, 1fr); gap: 16px; } }
@media (min-width: 1024px) { .hc-brands { grid-template-columns: repeat(4, 1fr); gap: 20px; } }
.hc-brand {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  padding: 22px 20px 18px;
  transition: background .2s ease, transform .2s ease;
}
.hc-brand:hover { background: rgba(255, 255, 255, 0.10); transform: translateY(-3px); }
.hc-brand h3 { margin: 10px 0 8px; font-size: 19px; color: #fff; }
.hc-brand p { margin: 0 0 16px; font-size: 14px; color: #aebfb4; line-height: 1.8; }
.hc-brand__tag {
  display: inline-block;
  background: rgba(52, 211, 153, 0.16);
  color: #6ee7b7;
  border-radius: 999px;
  padding: 3px 12px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .05em;
}
.hc-brand__more {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid rgba(255, 255, 255, 0.10);
  padding-top: 12px;
  font-size: 12.5px;
  color: #6ee7b7;
}
.hc-brand__more svg { width: 14px; height: 14px; }

/* 引言 */
.hc-quote { margin: 0 0 22px; padding: 14px 20px; border-left: 4px solid var(--hc-emerald); background: #f2faf6; border-radius: 0 12px 12px 0; font-size: 14.5px; line-height: 1.9; color: var(--hc-text); }

/* 對比專區 */
.hc-compare { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 900px) { .hc-compare { grid-template-columns: 1fr 1fr; gap: 24px; } }
.hc-compare__col { background: #fff; border: 1px solid var(--hc-line); border-radius: 14px; padding: 24px 22px; }
.hc-compare__col h3 { margin: 10px 0 14px; font-size: 19px; }
.hc-compare__col ul { padding-left: 20px; margin: 0; }
.hc-compare__col li { font-size: 14.5px; line-height: 1.85; color: var(--hc-text); margin-bottom: 8px; }
.hc-compare__note { margin: 14px 0 0; font-size: 13.5px; font-weight: 700; color: var(--hc-accent); }

/* 四欄卡片 */
.hc-grid-4 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
@media (min-width: 1024px) { .hc-grid-4 { grid-template-columns: repeat(4, 1fr); gap: 20px; } }
.hc-center { text-align: center; }
.hc-card p { font-size: 14px; }

/* 首頁標題層級 */
.hc-sec-head h1 { font-size: clamp(24px, 4.4vw, 36px); line-height: 1.4; margin: 6px 0 14px; font-weight: 800; }

/* 解除 TT5 constrained 佈局對自訂區塊的 645px 限制（v1.2.2 / v1.4.3 / v1.4.4） */
.entry-content > .hc-section,
.entry-content .hc-section,
.entry-content .wp-block-shortcode,
.entry-content .woocommerce,
.entry-content ul.products,
.entry-content nav.woocommerce-pagination,
.wp-block-html { max-width: 100% !important; width: 100%; }
.hc-section > .hc-container { max-width: 1280px; }

/* 清除 Woo clearfix 偽元素在 grid 佔位的問題（v1.2.3） */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.wc-block-grid ul.products::before,
.wc-block-grid ul.products::after { display: none !important; content: none !important; }

/* 深綠保障區（參考站「台灣檳榔專門店」） */
.hc-section--emerald {
  background: linear-gradient(160deg, #0d3d2c, #10553a 60%, #0c4530);
  color: #e2efe7;
  border-radius: 18px;
  margin: 10px 0;
  padding: 44px 0;
}
.hc-section--emerald .hc-eyebrow { color: #6ee7b7; }
.hc-section--emerald .hc-h2, .hc-section--emerald h2 { color: #fff; }
.hc-section--emerald .hc-sec-head .hc-sub, .hc-section--emerald .hc-sec-desc { color: #b5cec0; }
.hc-section--emerald .hc-sec-head > .hc-h2::after,
.hc-section--emerald .hc-sec-head > h2::after { background: #34d399; }
.hc-em-grid { display: grid; grid-template-columns: 1fr; gap: 24px; align-items: center; }
@media (min-width: 900px) { .hc-em-grid { grid-template-columns: 1.05fr 0.95fr; gap: 44px; } }
.hc-em-grid__img img { width: 100%; border-radius: 14px; display: block; box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35); }
.hc-em-grid__text p { color: #c4d8cc; font-size: 14.5px; line-height: 1.9; }
.hc-section--emerald .hc-card {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.13);
  color: #c9dcd1;
}
.hc-section--emerald .hc-card h3 { color: #fff; }
.hc-section--emerald .hc-card p { color: #a9c4b5; }
.hc-section--emerald .hc-card__no { color: #6ee7b7; }

/* 頁尾調整為參考站深色 */
.hc-footer { background: #10201a; margin-top: 40px; }

/* =========================================================
   v1.5.0 — 完全對齊 ccrs.org.tw（Tailwind 版式）
   ========================================================= */

/* 全站底色：參考站 gray-50 */
body { background: #f9fafb !important; }

/* 移除行動版底部導覽預留空間（v1.4 已無 bottombar） */
@media (max-width: 767px) { body { padding-bottom: 0 !important; } }

/* 容器：max-w-7xl + px-4/sm:px-6/lg:px-8 */
.hc-container { max-width: 1280px; padding: 0 16px; }
@media (min-width: 640px) { .hc-container { padding: 0 24px; } }
@media (min-width: 1024px) { .hc-container { padding: 0 32px; } }

/* 區塊節奏：參考站 py-8 */
.hc-section { padding: 32px 0; }
.hc-section--tight { padding: 20px 0; }

/* 商品短碼外層：對齊容器寬 */
.entry-content > .woocommerce,
.entry-content > div.woocommerce {
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 16px;
  padding-right: 16px;
  box-sizing: border-box;
}
@media (min-width: 640px) { .entry-content > div.woocommerce { padding-left: 24px; padding-right: 24px; } }
@media (min-width: 1024px) { .entry-content > div.woocommerce { padding-left: 32px; padding-right: 32px; } }

/* ---------- 區塊標題：h2 + 琥珀短槓 + 灰描述 + border-b ---------- */
.hc-sec-head {
  max-width: 100% !important;
  margin: 0 0 32px !important;
  border-bottom: 1px solid #e5e7eb;
  padding-bottom: 12px;
}
.hc-sec-head h2, .hc-sec-head .hc-h2 {
  font-size: 20px;
  font-weight: 600;
  color: #111827;
  letter-spacing: -0.01em;
  margin: 0;
  line-height: 1.3;
}
@media (min-width: 640px) { .hc-sec-head h2, .hc-sec-head .hc-h2 { font-size: 24px; } }
.hc-sec-head h2::after, .hc-sec-head .hc-h2::after {
  content: "";
  display: block;
  width: 48px;
  height: 4px;
  border-radius: 9999px;
  background: #f59e0b;
  margin-top: 8px;
}
.hc-sec-head h1::after { content: none !important; }
.hc-sec-head a { color: inherit; }
.hc-sec-head a:hover h2 { color: #047857; }
.hc-sec-desc { font-size: 15px; color: #4b5563; margin: 6px 0 0 !important; line-height: 1.85; max-width: 100% !important; }
@media (min-width: 768px) { .hc-sec-desc { font-size: 16.5px; } }
.hc-sec-hr { display: none !important; }

/* ---------- 主視覺輪播（參考站 banner-slider） ---------- */
.hc-section--flush { padding: 16px 0 8px; }
.hc-slider { position: relative; overflow: hidden; border-radius: 14px; }
@media (min-width: 768px) { .hc-slider { border-radius: 18px; } .hc-section--flush { padding: 20px 0 12px; } }
.hc-slider__track { display: flex; transition: transform .55s cubic-bezier(.4,0,.2,1); }
.hc-slider__item { flex: 0 0 100%; min-width: 0; }
.hc-slider__item img {
  width: 100%; display: block; margin: 0;
  aspect-ratio: 2.2 / 1; object-fit: cover; object-position: center;
  border-radius: 0 !important;
}
@media (min-width: 768px) { .hc-slider__item img { aspect-ratio: 2.35 / 1; } }
.hc-slider__btn {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 34px; height: 34px; border-radius: 50%; border: none;
  background: rgba(255, 255, 255, .88); color: #374151;
  font-size: 19px; line-height: 1; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .18); z-index: 5;
  transition: background .2s ease;
}
.hc-slider__btn:hover { background: #fff; }
.hc-slider__prev { left: 10px; }
.hc-slider__next { right: 10px; }
.hc-slider__dots { position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%); display: flex; gap: 6px; z-index: 5; }
.hc-slider__dots button {
  width: 8px; height: 8px; border-radius: 9999px; border: none; padding: 0;
  background: rgba(255, 255, 255, .6); cursor: pointer; transition: all .3s ease;
}
.hc-slider__dots button.on { width: 24px; background: #10b981; }

/* ---------- 商品卡（對齊參考站 product-card） ---------- */
.woocommerce ul.products { gap: 14px !important; }
@media (min-width: 768px) { .woocommerce ul.products { gap: 24px !important; } }

.woocommerce ul.products li.product {
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 16px !important;
  padding: 14px !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .05);
  justify-content: space-between;
}
@media (min-width: 768px) { .woocommerce ul.products li.product { padding: 20px !important; } }
.woocommerce ul.products li.product:hover {
  box-shadow: 0 12px 28px rgba(16, 24, 40, .12) !important;
  transform: translateY(-2px);
}
/* 圖框：深色底 rounded-xl，手機 4:5、桌面 1:1，object-cover */
.woocommerce ul.products li.product a img {
  aspect-ratio: 4 / 5;
  object-fit: cover;
  background: #0f172a;
  border-radius: 12px !important;
  padding: 0 !important;
  margin: 0 0 12px !important;
  transition: transform .3s ease;
}
@media (min-width: 1024px) { .woocommerce ul.products li.product a img { aspect-ratio: 1 / 1; margin-bottom: 16px !important; } }
.woocommerce ul.products li.product:hover a img { transform: scale(1.04); }
/* 熱賣標：參考站 top-4 left-4 琥珀 */
.woocommerce ul.products li.product::before {
  top: 10px; left: 10px;
  background: #f59e0b;
  font-size: 11px; font-weight: 500; letter-spacing: 0;
  padding: 2px 10px; border-radius: 5px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .18);
}
@media (min-width: 768px) { .woocommerce ul.products li.product::before { top: 14px; left: 14px; } }
/* 品牌小標：emerald-50 底 + 描邊 */
.woocommerce ul.products li.product .hc-pcat {
  background: #ecfdf5;
  color: #047857;
  border: 1px solid #a7f3d0;
  font-size: 11px; font-weight: 600;
  border-radius: 4px;
  padding: 2px 8px;
  margin: 0 0 6px;
}
/* 標題：font-medium、灰 800、兩行截斷 */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #1f2937 !important;
  line-height: 1.4 !important;
  padding: 0 !important;
  margin: 0 0 6px !important;
  min-height: 2.8em;
}
@media (min-width: 640px) { .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 15px !important; } }
/* 星級：灰 400 */
.woocommerce ul.products li.product .hc-starline {
  padding: 0 !important;
  margin: 0 0 12px !important;
  font-size: 11px;
  color: #9ca3af;
  letter-spacing: .5px;
}
/* 價格：red-600 粗體 */
.woocommerce ul.products li.product .price {
  color: #dc2626 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  padding: 0 !important;
  margin: 0 0 12px !important;
}
@media (min-width: 640px) { .woocommerce ul.products li.product .price { font-size: 17px !important; } }
/* 按鈕：emerald-700 滿版 rounded-xl */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .hc-view-btn {
  display: block !important;
  margin: auto 0 0 !important;
  width: 100% !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  background: #047857 !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-align: center !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .08);
}
@media (min-width: 640px) { .woocommerce ul.products li.product .button { font-size: 14px !important; padding: 11px 12px !important; } }
.woocommerce ul.products li.product .button:hover { background: #065f46 !important; }
.woocommerce ul.products li.product .added_to_cart { display: none !important; }

/* ---------- 品牌專區（參考站深色漸層卡） ---------- */
.hc-section--dark {
  background: linear-gradient(135deg, #0f172a, #1e293b 55%, #064e3b) !important;
  border: 1px solid rgba(51, 65, 85, .6);
  border-radius: 24px !important;
  padding: 28px 22px !important;
  margin: 0 !important;
}
@media (min-width: 640px) { .hc-section--dark { padding: 40px 40px !important; } }
.hc-section--dark .hc-sec-head { border-bottom-color: #334155; margin-bottom: 28px !important; }
.hc-section--dark .hc-sec-head h2 { color: #fff; font-weight: 700; }
.hc-section--dark .hc-sec-desc { color: #cbd5e1; }
.hc-brand {
  background: rgba(255, 255, 255, .05) !important;
  border: 1px solid rgba(255, 255, 255, .1) !important;
  border-radius: 16px !important;
  padding: 20px !important;
  display: flex;
  flex-direction: column;
}
.hc-brand:hover { border-color: rgba(16, 185, 129, .5) !important; background: rgba(255,255,255,.07) !important; transform: none !important; }
.hc-brand__tag { border-radius: 6px !important; padding: 4px 10px !important; font-size: 12px !important; font-weight: 700 !important; }
.hc-brand--em .hc-brand__tag { background: #10b981 !important; color: #020617 !important; }
.hc-brand--am .hc-brand__tag { background: #f59e0b !important; color: #020617 !important; }
.hc-brand--te .hc-brand__tag { background: #14b8a6 !important; color: #020617 !important; }
.hc-brand--or .hc-brand__tag { background: #f97316 !important; color: #020617 !important; }
.hc-brand h3 { font-size: 17px !important; font-weight: 700 !important; color: #fff !important; margin: 12px 0 8px !important; }
.hc-brand p { font-size: 12.5px !important; color: #cbd5e1 !important; line-height: 1.8 !important; margin: 0 0 16px !important; }
.hc-brand__more { margin-top: auto; font-size: 11px !important; }
.hc-brand--em .hc-brand__more { color: #34d399 !important; }
.hc-brand--am .hc-brand__more { color: #fbbf24 !important; }
.hc-brand--te .hc-brand__more { color: #2dd4bf !important; }
.hc-brand--or .hc-brand__more { color: #fb923c !important; }

/* ---------- 白色圓角大卡（工藝 / 對比共用外框） ---------- */
.hc-panel {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 24px;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .05);
  padding: 24px 18px;
}
@media (min-width: 640px) { .hc-panel { padding: 40px; } }

/* 工藝特色：左圖右文 */
.hc-craft { display: grid; grid-template-columns: 1fr; gap: 28px; align-items: center; }
@media (min-width: 1024px) { .hc-craft { grid-template-columns: 5fr 7fr; gap: 32px; } }
.hc-craft__img {
  border-radius: 16px; overflow: hidden; background: #0f172a;
  border: 1px solid #f3f4f6; box-shadow: 0 20px 40px rgba(16, 24, 40, .15);
  aspect-ratio: 4 / 3;
}
.hc-craft__img img { width: 100%; height: 100%; object-fit: cover; display: block; margin: 0; border-radius: 0 !important; }
.hc-pill {
  display: inline-block;
  font-size: 12px; font-weight: 600; letter-spacing: .06em;
  color: #047857; background: #ecfdf5;
  border: 1px solid #a7f3d0; border-radius: 9999px;
  padding: 4px 12px;
}
.hc-craft h2 { font-size: 20px; font-weight: 700; color: #111827; margin: 12px 0 12px; letter-spacing: -0.01em; }
@media (min-width: 640px) { .hc-craft h2 { font-size: 26px; } }
.hc-quote {
  margin: 12px 0 !important;
  padding: 12px 14px !important;
  background: #f9fafb !important;
  border-left: 4px solid #10b981 !important;
  border-radius: 0 8px 8px 0 !important;
  font-size: 12px !important;
  font-style: italic;
  color: #4b5563 !important;
  line-height: 1.8 !important;
}
.hc-craft > div > p { font-size: 13.5px; color: #4b5563; line-height: 1.9; }
.hc-checks { margin-top: 20px; display: grid; gap: 12px; }
.hc-checks__item { display: flex; align-items: flex-start; gap: 12px; }
.hc-checks__ico {
  flex: 0 0 auto; width: 24px; height: 24px; margin-top: 2px;
  border-radius: 50%; background: #d1fae5; color: #047857;
  display: flex; align-items: center; justify-content: center;
}
.hc-checks__ico svg { width: 13px; height: 13px; }
.hc-checks__item p { margin: 0; font-size: 12.5px; color: #374151; line-height: 1.75; }
.hc-checks__item strong { color: #111827; }

/* 對比：綠 / 琥珀 雙卡 */
.hc-compare { gap: 20px !important; }
.hc-compare__col { border-radius: 16px !important; padding: 24px 20px !important; border: 1px solid !important; display: flex; flex-direction: column; }
.hc-compare__col--em { background: linear-gradient(135deg, #ecfdf5, rgba(240, 253, 250, .4)) !important; border-color: rgba(209, 250, 229, .8) !important; }
.hc-compare__col--am { background: linear-gradient(135deg, #fffbeb, rgba(255, 247, 237, .4)) !important; border-color: rgba(254, 243, 199, .8) !important; }
.hc-compare__top { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.hc-compare__ico {
  flex: 0 0 auto; width: 46px; height: 46px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  color: #fff; box-shadow: 0 4px 10px rgba(16, 24, 40, .18);
}
.hc-compare__ico svg { width: 22px; height: 22px; }
.hc-compare__col--em .hc-compare__ico { background: #059669; }
.hc-compare__col--am .hc-compare__ico { background: #d97706; }
.hc-compare__tag { display: inline-block; font-size: 11px; font-weight: 600; letter-spacing: .05em; border-radius: 6px; padding: 3px 10px; }
.hc-compare__col--em .hc-compare__tag { color: #059669; background: #d1fae5; }
.hc-compare__col--am .hc-compare__tag { color: #d97706; background: #fef3c7; }
.hc-compare__col h3 { font-size: 16px !important; font-weight: 700 !important; color: #111827 !important; margin: 4px 0 0 !important; }
.hc-compare__col ul { list-style: none !important; padding: 0 !important; margin: 16px 0 0 !important; display: grid; gap: 12px; }
.hc-compare__col li { display: flex; align-items: flex-start; gap: 10px; font-size: 13px !important; line-height: 1.75 !important; color: #374151 !important; margin: 0 !important; }
.hc-compare__col li svg { flex: 0 0 auto; width: 16px; height: 16px; margin-top: 4px; }
.hc-compare__col--em li svg { color: #059669; }
.hc-compare__col--am li svg { color: #d97706; }
.hc-compare__col li strong { color: #111827; }
.hc-compare__col ul { margin-bottom: 24px !important; }
.hc-compare__foot {
  margin-top: auto; padding-top: 14px;
  border-top: 1px solid;
  display: flex; align-items: center; justify-content: space-between;
  font-size: 11.5px; font-weight: 500;
}
.hc-compare__col--em .hc-compare__foot { border-color: rgba(167, 243, 208, .6); color: #065f46; }
.hc-compare__col--am .hc-compare__foot { border-color: rgba(253, 230, 138, .6); color: #92400e; }

/* ---------- 台灣檳榔專門店（深綠漸層大卡） ---------- */
.hc-section--emerald {
  background: linear-gradient(135deg, #064e3b, #134e4a 55%, #0f172a) !important;
  border-radius: 24px !important;
  padding: 28px 22px !important;
  margin: 0 !important;
  box-shadow: 0 20px 45px rgba(6, 40, 30, .35);
}
@media (min-width: 640px) { .hc-section--emerald { padding: 40px !important; } }
.hc-em-grid { grid-template-columns: 1fr !important; gap: 26px !important; }
@media (min-width: 1024px) { .hc-em-grid { grid-template-columns: 7fr 5fr !important; gap: 32px !important; } }
.hc-pill--dark { color: #34d399; background: rgba(2, 44, 34, .8); border-color: rgba(4, 120, 87, .5); letter-spacing: .12em; }
.hc-em-grid__text h2 { color: #fff !important; font-size: 24px; font-weight: 700; margin: 12px 0 14px; letter-spacing: -0.01em; }
@media (min-width: 640px) { .hc-em-grid__text h2 { font-size: 32px; } }
.hc-em-grid__text p { color: #d1d5db !important; font-size: 13.5px !important; line-height: 1.9 !important; }
.hc-em-grid__img { position: relative; border-radius: 16px; overflow: hidden; background: #0f172a; border: 1px solid rgba(255, 255, 255, .1); box-shadow: 0 24px 50px rgba(0, 0, 0, .4); aspect-ratio: 4 / 3; }
.hc-em-grid__img img { width: 100%; height: 100%; object-fit: cover; display: block; margin: 0; border-radius: 0 !important; box-shadow: none !important; }
.hc-em-grid__chip {
  position: absolute; left: 14px; bottom: 14px;
  font-size: 11px; font-weight: 500; color: #6ee7b7;
  background: rgba(2, 6, 23, .8); border: 1px solid rgba(16, 185, 129, .3);
  border-radius: 6px; padding: 5px 12px;
}
.hc-em-cards { display: grid; grid-template-columns: 1fr; gap: 14px; margin-top: 28px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .1); }
@media (min-width: 640px) { .hc-em-cards { grid-template-columns: repeat(2, 1fr); gap: 18px; } }
@media (min-width: 1024px) { .hc-em-cards { grid-template-columns: repeat(4, 1fr); gap: 20px; } }
.hc-em-card {
  display: flex; align-items: flex-start; gap: 14px;
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 16px; padding: 18px;
}
.hc-em-card__ico {
  flex: 0 0 auto; width: 40px; height: 40px; border-radius: 12px;
  background: #10b981; color: #fff;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 10px rgba(0, 0, 0, .25);
}
.hc-em-card__ico svg { width: 20px; height: 20px; }
.hc-em-card h3 { margin: 0 0 4px !important; font-size: 15px !important; font-weight: 700 !important; color: #fff !important; }
.hc-em-card p { margin: 0 !important; font-size: 11.5px !important; color: #d1d5db !important; line-height: 1.6 !important; }

/* ---------- 浮動客服（參考站：白膠囊 + 綠圓鈕） ---------- */
.hc-fabs { position: fixed; right: 14px; bottom: 20px; z-index: 950; display: flex; align-items: center; gap: 10px; }
@media (min-width: 768px) { .hc-fabs { right: 24px; bottom: 36px; gap: 14px; } }
.hc-fab-pill {
  display: flex; align-items: center; gap: 8px;
  background: #fff; color: #1f2937 !important;
  border: 1px solid #e5e7eb; border-radius: 9999px;
  padding: 11px 16px; font-size: 12.5px; font-weight: 500;
  box-shadow: 0 12px 28px rgba(16, 24, 40, .18);
  transition: transform .2s ease;
}
.hc-fab-pill:hover { transform: translateY(-2px); background: #f9fafb; }
.hc-fab-pill svg { width: 16px; height: 16px; color: #059669; }
.hc-fab-line {
  width: 48px; height: 48px; border-radius: 50%;
  background: #10b981; color: #fff !important;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 14px 32px rgba(16, 185, 129, .45);
  transition: transform .2s ease;
}
.hc-fab-line:hover { transform: scale(1.08); background: #059669; }
.hc-fab-line svg { width: 23px; height: 23px; }
@media (min-width: 640px) { .hc-fab-line { width: 56px; height: 56px; } .hc-fab-line svg { width: 26px; height: 26px; } }

/* ---------- 頁尾（參考站 slate-900） ---------- */
.hc-footer { background: #0f172a !important; color: #9ca3af; margin-top: 16px !important; border-top: 1px solid #1e293b; }
.hc-footer__grid { grid-template-columns: 1fr; gap: 28px; }
@media (min-width: 768px) { .hc-footer__grid { grid-template-columns: 2fr 1fr 1fr 1fr !important; gap: 32px !important; } }
.hc-footer h3, .hc-footer h4 { color: #fff !important; font-size: 13.5px !important; font-weight: 600 !important; margin: 0 0 12px !important; }
.hc-footer__brand { font-family: var(--hc-sans) !important; font-size: 16px !important; font-weight: 700 !important; color: #fff !important; }
.hc-footer p { font-size: 12px; color: #9ca3af; line-height: 1.9; }
.hc-footer ul { gap: 8px; }
.hc-footer ul a { font-size: 12px; color: #9ca3af !important; }
.hc-footer ul a:hover { color: #34d399 !important; }
.hc-footer__warn { border-top: 1px solid #1e293b; color: #6b7280; }
.hc-footer__copy { border-top: 1px solid #1e293b; color: #6b7280; margin-top: 0; }

/* ---------- 表頭細修（h-16 / 字色） ---------- */
.hc-header__inner { height: 64px; }
.hc-nav a { color: #374151 !important; }
.hc-nav a:hover { color: #047857 !important; }
.hc-header__line { background: #10b981; border-radius: 10px; }
.hc-header__line:hover { background: #059669; }

/* 移除首頁多餘 eyebrow（產品區塊不用，其餘區塊改用 .hc-pill） */
.home .hc-sec-head .hc-eyebrow { display: none; }

/* =========================================================
   v1.5.2 — 商店頁（Woo 區塊模板）卡片對齊參考站
   ========================================================= */
ul.wc-block-product-template { gap: 14px !important; }
@media (min-width: 768px) { ul.wc-block-product-template { gap: 24px !important; } }
@media (min-width: 1100px) { ul.wc-block-product-template { grid-template-columns: repeat(4, 1fr) !important; } }

ul.wc-block-product-template > li.wc-block-product {
  border: 1px solid #e5e7eb !important;
  border-radius: 16px !important;
  padding: 14px !important;
  background: #fff;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .05);
  justify-content: space-between;
}
@media (min-width: 768px) { ul.wc-block-product-template > li.wc-block-product { padding: 20px !important; } }
ul.wc-block-product-template > li.wc-block-product:hover { box-shadow: 0 12px 28px rgba(16, 24, 40, .12) !important; transform: translateY(-2px); }
ul.wc-block-product-template > li.wc-block-product::before {
  top: 10px; left: 10px;
  background: #f59e0b; font-size: 11px; font-weight: 500; letter-spacing: 0;
  padding: 2px 10px; border-radius: 5px; box-shadow: 0 1px 3px rgba(0,0,0,.18);
}
@media (min-width: 768px) { ul.wc-block-product-template > li.wc-block-product::before { top: 14px; left: 14px; } }
li.wc-block-product .wc-block-components-product-image img {
  aspect-ratio: 4 / 5; object-fit: cover; background: #0f172a;
  border-radius: 12px !important; padding: 0 !important; margin: 0 0 12px !important;
}
@media (min-width: 1024px) { li.wc-block-product .wc-block-components-product-image img { aspect-ratio: 1 / 1; margin-bottom: 16px !important; } }
li.wc-block-product .wp-block-post-title {
  font-size: 13px !important; font-weight: 500 !important; color: #1f2937 !important;
  padding: 0 !important; margin: 0 0 6px !important; line-height: 1.4 !important;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  min-height: 2.8em;
}
@media (min-width: 640px) { li.wc-block-product .wp-block-post-title { font-size: 15px !important; } }
li.wc-block-product .wp-block-post-title a { color: #1f2937 !important; }
li.wc-block-product .wp-block-woocommerce-product-price { padding: 0 !important; margin: 0 0 12px !important; }
li.wc-block-product .wc-block-components-product-price { color: #dc2626 !important; font-size: 15px !important; font-weight: 700 !important; }
li.wc-block-product .wp-block-woocommerce-product-button { margin: auto 0 0 !important; }
li.wc-block-product .wp-block-button__link,
li.wc-block-product .wp-element-button {
  display: block !important; width: 100% !important;
  padding: 10px 12px !important; border-radius: 12px !important;
  background: #047857 !important; color: #fff !important;
  font-size: 12px !important; font-weight: 500 !important; text-align: center !important;
}
@media (min-width: 640px) { li.wc-block-product .wp-block-button__link { font-size: 14px !important; padding: 11px 12px !important; } }
li.wc-block-product .wp-block-button__link:hover { background: #065f46 !important; }

/* ---------- v1.5.3 首頁頂部留白 + 輪播加大 ---------- */
/* TT5 主題在頁首疊了 main 70px margin + 內層 group 70px padding + entry-content 19px margin，
   共約 159px 空白，把輪播推離導航；首頁全部去掉，只保留輪播區塊自己的上距 */
body.home main.wp-block-group { margin-top: 0 !important; }
body.home main.wp-block-group > .wp-block-group.has-global-padding { padding-top: 0 !important; }
body.home .entry-content { margin-top: 0 !important; }
.hc-section--flush { padding-top: 14px !important; }
@media (min-width: 768px) {
  .hc-section--flush { padding: 22px 0 14px !important; }
  /* 輪播容器加寬（1280→1360，側距 32→24），橫幅更大更貼近參考站 */
  .hc-section--flush > .hc-container { max-width: 1360px !important; padding-left: 24px !important; padding-right: 24px !important; }
  .hc-slider__item img { aspect-ratio: 2.25 / 1; }
}

/* ---------- v1.5.4 手機版輪播加寬 ---------- */
/* 掙脫 TT5 全域 root padding（約 30px×2），讓輪播貼近參考站滿版大圖 */
@media (max-width: 767px) {
  .hc-section--flush {
    margin-left: calc(-1 * var(--wp--style--root--padding-left, 30px)) !important;
    margin-right: calc(-1 * var(--wp--style--root--padding-right, 30px)) !important;
    padding-top: 12px !important;
  }
  .hc-section--flush > .hc-container { padding-left: 10px !important; padding-right: 10px !important; }
  /* 手機按原圖比例顯示（2.25:1），完整保留構圖不裁切文字 */
  .hc-slider__item img { aspect-ratio: 2.25 / 1; }
}

/* ---------- v1.5.5 手機輪播真正滿版 ---------- */
/* .hc-section 的 max-width:100% 上限會壓住負邊距擴展，放寬到 100vw */
@media (max-width: 767px) {
  /* width:100% 才是真正的限制，改回 auto 讓負邊距把區塊撐到滿版 */
  .entry-content .hc-section--flush, .hc-section--flush { width: auto !important; max-width: none !important; }
}

/* ---------- v1.5.8 修復商品卡按鈕/卡片溢出重疊 ---------- */
/* 卡片與按鈕是 content-box：width:100% 不含 padding，按鈕總寬變成 100%+24px 溢出卡片，
   卡片本身也比網格格線寬出 2×padding，造成相鄰卡片按鈕互相重疊。統一改 border-box */
.woocommerce ul.products li.product,
.woocommerce ul.products li.product *,
ul.wc-block-product-template > li.wc-block-product,
ul.wc-block-product-template > li.wc-block-product * { box-sizing: border-box !important; }

/* ---------- v1.6 文章專欄 / 單篇文章 ---------- */
/* 文章列表 */
.hc-blog__grid { display: grid; grid-template-columns: 1fr; gap: 18px; }
@media (min-width: 640px) { .hc-blog__grid { grid-template-columns: repeat(2, 1fr); gap: 22px; } }
@media (min-width: 1024px) { .hc-blog__grid { grid-template-columns: repeat(3, 1fr); gap: 26px; } }
.hc-blog__card {
  display: flex; flex-direction: column; background: #fff; border: 1px solid #e8e6e1;
  border-radius: 16px; overflow: hidden; transition: box-shadow .2s ease, transform .2s ease;
}
.hc-blog__card:hover { box-shadow: 0 10px 28px rgba(15, 23, 42, .1); transform: translateY(-2px); }
.hc-blog__thumb { display: block; background: #0f172a; aspect-ratio: 16 / 10; overflow: hidden; }
.hc-blog__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hc-blog__body { padding: 16px 18px 18px; display: flex; flex-direction: column; flex: 1; }
.hc-blog__cat {
  align-self: flex-start; background: #ecfdf5; color: #047857; font-size: 12px; font-weight: 600;
  padding: 3px 10px; border-radius: 999px; margin-bottom: 10px;
}
.hc-blog__title { font-size: 16px; line-height: 1.5; margin: 0 0 8px; font-weight: 700; }
.hc-blog__title a { color: #111827; }
.hc-blog__title a:hover { color: #047857; }
.hc-blog__desc { font-size: 13.5px; line-height: 1.75; color: #6b7280; margin: 0 0 14px; flex: 1; }
.hc-blog__more { font-size: 13.5px; font-weight: 600; color: #047857; }
.hc-blog__pager { display: flex; justify-content: center; gap: 8px; margin-top: 34px; flex-wrap: wrap; }
.hc-blog__page a, .hc-blog__page span {
  display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px;
  padding: 0 12px; border: 1px solid #e5e7eb; border-radius: 10px; font-size: 14px; color: #374151;
}
.hc-blog__page span.current { background: #047857; border-color: #047857; color: #fff; }

/* 單篇文章 */
.single-post .entry-content, .single-post .wp-block-post-content { max-width: 100% !important; }
.hc-article { padding: 18px 0 40px; }
.hc-article__meta { font-size: 13px; color: #8a8f98; margin: 0 0 14px; letter-spacing: .02em; }
.hc-article__hero { width: auto; max-width: 100%; max-height: 420px; height: auto; border-radius: 16px; display: block; margin: 0 auto 26px; background: #f6f7f6; }
@media (min-width: 640px) { .hc-article__hero { max-width: 420px; } }
.hc-article__lead { font-size: 16.5px !important; color: #374151 !important; line-height: 1.9 !important; }
.hc-toc { background: #f8faf9; border: 1px solid #e5e9e6; border-radius: 14px; padding: 16px 20px; margin: 24px 0; }
.hc-toc strong { display: block; font-size: 14px; color: #047857; margin-bottom: 8px; }
.hc-toc ul { margin: 0 !important; padding-left: 18px !important; }
.hc-toc li { font-size: 14px !important; line-height: 1.8 !important; margin-bottom: 4px !important; }
.hc-toc a { color: #374151; }
.hc-prose h2 { font-size: 21px !important; font-weight: 800; color: #111827; margin: 36px 0 12px !important; }
.hc-prose h3 { font-size: 17px !important; font-weight: 700; color: #1f2937; margin: 24px 0 8px !important; }
.hc-prose p, .hc-prose li { font-size: 15.5px; line-height: 1.95; color: #3f3f46; }
.hc-prose table { width: 100%; border-collapse: collapse; font-size: 14px; margin: 16px 0 8px; }
.hc-prose th, .hc-prose td { border: 1px solid #e5e7eb; padding: 10px 12px; text-align: left; vertical-align: top; }
.hc-prose th { background: #f3f6f4; font-weight: 700; color: #111827; }
.hc-cta-box {
  background: linear-gradient(135deg, #f0fdf4, #ecfdf5); border: 1px solid #cfeadd;
  border-radius: 16px; padding: 20px 22px; margin: 30px 0;
}
.hc-cta-box strong { display: block; font-size: 16px; color: #065f46; margin-bottom: 6px; }
.hc-cta-box p { font-size: 14px !important; margin: 0 0 14px !important; color: #4b5563 !important; }
.hc-cta-box .hc-cta-row { display: flex; gap: 10px; flex-wrap: wrap; }
.hc-related { display: grid; grid-template-columns: 1fr; gap: 12px; margin: 28px 0 0; }
@media (min-width: 768px) { .hc-related { grid-template-columns: repeat(3, 1fr); } }
.hc-related a {
  display: block; background: #fff; border: 1px solid #e8e6e1; border-radius: 12px;
  padding: 14px 16px; font-size: 14px; font-weight: 600; color: #1f2937; line-height: 1.6;
}
.hc-related a:hover { border-color: #047857; color: #047857; }
.hc-faq__item { border: 1px solid #e8e6e1; border-radius: 12px; padding: 14px 18px; margin-bottom: 10px; background: #fff; }
.hc-faq__item summary { font-size: 15px; font-weight: 700; color: #111827; cursor: pointer; }
.hc-faq__a { font-size: 14.5px; line-height: 1.9; color: #4b5563; padding-top: 10px; }

/* ---------- v1.6.2 單篇文章版面 ---------- */
/* 掙脫 TT5 constrained 645px，文章標題與內文改為 880px 閱讀寬 */
.single-post .is-layout-flow > *,
.single-post .is-layout-constrained > * { max-width: 100% !important; }
.single-post .wp-block-post-title {
  max-width: 880px !important; margin-left: auto !important; margin-right: auto !important;
  font-size: clamp(26px, 4vw, 38px) !important; line-height: 1.4 !important; font-weight: 800 !important;
}
.single-post .wp-block-post-terms, .single-post .wp-block-post-date,
.single-post .wp-block-post-author, .single-post .entry-meta { display: none !important; }
.single-post .hc-container { max-width: 880px !important; }

/* ---------- v1.6.4 商品詳情頁版面 ---------- */
/* 1) 掙脫 TT5 constrained 682px：詳情頁容器加寬置中，摘要列不再擠成豎排標題 */
.single-product main.wp-block-group {
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
}
.single-product .is-layout-constrained > * { max-width: 100% !important; }
/* 圖庫欄 46% / 摘要欄 54%（flex-basis 512px 固定值改百分比） */
.single-product .wp-block-columns.alignwide { gap: 48px !important; }
@media (min-width: 782px) {
  .single-product .wp-block-columns.alignwide > .wp-block-column:first-child { flex: 0 1 46% !important; }
  .single-product .wp-block-columns.alignwide > .wp-block-column:last-child { flex: 1 1 0 !important; }
}
/* 2) 相關商品卡片收縮為 42px 的修復：grid item 必須拉伸到列寬 */
ul.wc-block-product-template { justify-items: stretch !important; }
ul.wc-block-product-template > li.wc-block-product { width: 100% !important; min-width: 0 !important; }
/* 3) 摘要區價格/按鈕/數量排版 */
.single-product .wp-block-woocommerce-product-price .wc-block-components-product-price { font-size: 24px !important; color: #dc2626 !important; font-weight: 700 !important; }
.single-product .single_add_to_cart_button {
  display: inline-block !important; width: auto !important; min-width: 220px !important;
  background: #047857 !important; color: #fff !important; border-radius: 12px !important;
  padding: 14px 34px !important; font-size: 16px !important; font-weight: 600 !important;
  border: none !important; cursor: pointer;
}
.single-product .single_add_to_cart_button:hover { background: #05603b !important; }
.single-product .quantity input[type=number] {
  height: 48px !important; width: 96px !important; border: 1px solid #d1d5db !important;
  border-radius: 10px !important; padding: 0 8px !important; font-size: 15px !important;
}
/* 4) 分頁（商品描述/評價）底線樣式 */
.single-product .woocommerce-tabs ul.wc-tabs {
  display: flex; gap: 4px; border-bottom: 2px solid #e5e7eb; padding: 0; margin: 0 0 22px !important; list-style: none !important;
}
.single-product .woocommerce-tabs ul.wc-tabs li { margin: 0 !important; padding: 0 !important; background: none !important; }
.single-product .woocommerce-tabs ul.wc-tabs li a {
  display: inline-block; padding: 12px 20px !important; font-size: 15px; font-weight: 600;
  color: #6b7280 !important; border: none !important; background: none !important;
  border-bottom: 2px solid transparent !important; margin-bottom: -2px !important;
}
.single-product .woocommerce-tabs ul.wc-tabs li.active a,
.single-product .woocommerce-tabs ul.wc-tabs li.is-active a { color: #047857 !important; border-bottom-color: #047857 !important; }
.single-product .woocommerce-tabs .woocommerce-Tabs-panel { font-size: 15px; line-height: 1.9; color: #3f3f46; }
.single-product .woocommerce-tabs .woocommerce-Tabs-panel h2 { font-size: 0 !important; margin: 0 !important; }

/* ---------- v1.6.5 詳情頁父級 grid 壓縮修復 ---------- */
/* main 的父級 .wp-block-group.woocommerce 是 grid，會把 main 收縮成內容寬，改回 block 讓寬度規則生效 */
.single-product .wp-block-group.woocommerce { display: block !important; }
/* 商品標題 */
.single-product h1.wp-block-post-title {
  font-size: clamp(24px, 3vw, 34px) !important; line-height: 1.45 !important;
  font-weight: 800 !important; color: #111827 !important; margin: 18px 0 12px !important;
}

/* ---------- v1.6.6 FAQ 分組樣式 ---------- */
.hc-faq-group { margin-bottom: 26px; }
.hc-faq-group h2 { font-size: 20px !important; font-weight: 800; color: #065f46; margin: 0 0 12px !important; padding-left: 12px; border-left: 4px solid #10b981; }
