﻿@charset "utf-8";
/* =====================================================
   Zambala RWD Layout CSS
   桌機版（>1024px）：視覺與原版相同
   平板（≤1024px）：漢堡抽屜 + 精簡 header
   手機（≤768px）：單欄 + 主選單進抽屜
   ===================================================== */

/* ---------- 整體外框 ---------- */
.page-wrap {
  max-width: 960px;
  margin: 0 auto;
}

/* ---------- Header ---------- */
.site-header-inner {
  width: 940px;
  margin-left: auto;
  display: flex;
  height: 120px;
}

.header-left {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.header-logo {
  height: 60px;
  display: flex;
  align-items: center;
}

.header-topmenu {
  height: 60px;
  display: flex;
  align-items: center;
}

.header-right {
  width: 300px;
  display: flex;
  flex-direction: column;
  text-align: center;
}

.header-language {
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.header-login {
  height: 35px;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.header-search {
  height: 55px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

/* 桌機 header 登入列：已登入時避免英文標籤擠壓換行 */
@media (min-width: 1025px) {
  .header-language {
    position: relative;
  }
  .header-right:has(.login_edit) {
    width: auto;
    min-width: 300px;
    max-width: 420px;
    flex-shrink: 0;
  }
  .header-login:has(.login_edit) {
    justify-content: flex-end;
    overflow: visible;
  }
  .header-login:has(.login_edit) > table {
    flex-shrink: 0;
    width: auto;
    margin-left: auto;
  }
  .header-login:has(.login_edit) > table > tbody > tr > td,
  .header-login:has(.login_edit) table table > tbody > tr > td {
    white-space: nowrap;
  }
  .header-login:has(.login_edit) a.login_edit:not(:has(img)) {
    display: inline-block;
    max-width: 6em;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
  }
  .header-login:has(.login_edit) td[width="15"],
  .header-login:has(.login_edit) td[width="20"] {
    width: 8px !important;
  }
  .header-login:has(.login_edit) td[width="2"] {
    width: 3px !important;
  }
  .header-login:has(.login_edit) td[width="6"] {
    width: 4px !important;
  }
}

/* 漢堡按鈕：桌機隱藏 */
.hamburger-btn {
  display: none;
  background: none;
  border: none;
  font-size: 26px;
  cursor: pointer;
  padding: 4px 10px;
  color: #5b0c11;
  line-height: 1;
}

/* ---------- Banner ---------- */
.site-banner {
  text-align: right;
  max-width: 100%;
  overflow: hidden;
}
.site-banner img {
  max-width: 100%;
  height: auto;
  display: block;
  margin-left: auto;
}

/* ---------- 主選單列 ---------- */
.site-mainnav-wrap {
  width: 960px;
  min-height: 45px;
  display: flex;
  align-items: center;
}

.site-mainnav {
  flex: 1;
  overflow: hidden;
}

/* ---------- 主體兩欄 ---------- */
.site-body {
  display: flex;
  align-items: stretch;
  width: 960px;
}

/* ---------- 側欄 ---------- */
.sidebar {
  width: 230px;
  flex-shrink: 0;
  align-self: stretch;
  display: flex;
  flex-direction: column;
}

.sidebar-title-row {
  display: flex;
  height: 60px;
  align-items: flex-end;
  flex-shrink: 0;
}

.sidebar-strip-spacer {
  width: 20px;
  flex-shrink: 0;
}

.sidebar-title-text {
  flex: 1;
  text-align: right;
  padding-right: 18px;
  padding-bottom: 2px;
  font-size: 15px;
  background-color: #FFFFFF;
}

.sidebar-content-row {
  display: flex;
  flex-shrink: 0;
}

.sidebar-strip {
  width: 20px;
  flex-shrink: 0;
}

.sidebar-content {
  flex: 1;
}

.sidebar-lower {
  display: flex;
  flex: 1;
  align-items: stretch;
  min-height: 0;
}

.sidebar-lower-content {
  flex: 1;
  padding-left: 15px;
  min-height: 100%;
}

.sidebar-spacer {
  height: 30px;
}

/* ---------- 主內容區 ---------- */
.main-content {
  flex: 1;
  min-width: 0;
  text-align: right;
}

.main-inner {
  width: 655px;
  display: inline-block;
  text-align: left;
  vertical-align: top;
}

/* ---------- 熱門產品（清除浮動） ---------- */
.product_index_a {
  overflow: hidden;
}

/* ---------- 最新產品 Flex ---------- */
.new-products-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.new-product-item {
  width: 310px;
  box-sizing: border-box;
}
/* 桌機：圖片在 235px 區塊內垂直置中 */
.new-product-item table {
  width: 100%;
  border-collapse: collapse;
}
.new-product-item td[width="310"] {
  height: 235px;
  padding: 8px;
  box-sizing: border-box;
  text-align: center;
  vertical-align: middle;
}
.new-product-item td[width="310"] a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 219px;
}
.new-product-item td[width="310"] img {
  display: block;
  max-width: 100%;
  max-height: 219px;
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: center;
  margin: 0 auto;
}

/* ---------- 首頁產品區塊（桌機維持原樣，手機由 @media 強化） ---------- */
.product-section-block {
  margin-bottom: 20px;
}
.product-section-head {
  width: 270px;
  max-width: 100%;
}
.product-section-head .main_title_a {
  height: 25px;
  line-height: 25px;
}
.product-section-foot {
  text-align: center;
  padding: 10px 0 5px;
}
.product-section-foot .index_more_product {
  display: inline-block;
}


/* ---------- FAQ 列表 ---------- */
.faq-list {
  max-width: 630px;
}
.faq-item {
  margin-bottom: 4px;
}
.faq-question {
  display: flex;
  align-items: center;
  min-height: 28px;
  padding: 3px 0;
  gap: 8px;
}
.faq-icon {
  flex-shrink: 0;
}
.faq-divider {
  height: 1px;
  background: #F0F0F0;
  margin: 2px 0;
}
.faq-answer {
  /* padding: 6px 0 6px 38px; */
}

/* ---------- FAQ 平板／手機 ---------- */
@media (max-width: 1024px) {
  .main-inner > div[style*="width:270px"] {
    width: 100% !important;
    max-width: 100%;
  }
  .faq-list {
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin-top: 4px;
    box-sizing: border-box;
  }
  .faq-item {
    margin-bottom: 14px;
    background: #fff;
    border: 1px solid #e7e2d1;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(58, 39, 9, 0.06);
  }
  .faq-item:last-child {
    margin-bottom: 0;
  }
  .faq-question {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    min-height: 0;
    padding: 14px 14px 12px;
  }
  .faq-icon {
    flex-shrink: 0;
    width: 22px;
    height: auto;
    margin-top: 2px;
  }
  .faq-question a {
    flex: 1;
    min-width: 0;
    font-size: 14px;
    line-height: 1.55;
    text-decoration: none;
    word-break: break-word;
  }
  .faq-question a font,
  .faq-question a strong {
    color: #8b1a1a !important;
    font-size: inherit;
    line-height: inherit;
  }
  .faq-divider {
    display: none;
  }
  .faq-answer {
    padding: 12px 14px 16px 46px;
    font-size: 13px;
    line-height: 1.7;
    color: #444;
    border-top: 1px solid #f0ebe3;
    background: #faf8f5;
  }
  .faq_main {
    font-size: 13px;
    line-height: 1.7;
    color: #444;
  }
  .faq_main img {
    max-width: 100%;
    height: auto;
  }
  .faq_main table {
    max-width: 100%;
  }
}
@media (max-width: 768px) {
  .main-inner .main_title_b {
    font-size: 14px;
    /* padding-bottom: 12px; */
  }
  .faq-item {
    margin-bottom: 12px;
    border-radius: 8px;
  }
  .faq-question {
    padding: 12px 12px 10px;
    gap: 8px;
  }
  .faq-question a {
    font-size: 13px;
  }
  .faq-answer {
    padding: 10px 12px 14px 42px;
  }
}

/* ---------- 聯絡表單 ---------- */
.contact-form-wrap {
  max-width: 630px;
}
.contact-info {
  margin-bottom: 14px;
  line-height: 1.8;
}
.contact-form-row {
  display: flex;
  align-items: flex-start;
  margin-bottom: 8px;
}
.contact-form-label {
  width: 120px;
  flex-shrink: 0;
  text-align: right;
  padding-right: 8px;
  padding-top: 4px;
  line-height: 1.5;
}
.contact-form-field {
  flex: 1;
  min-width: 0;
}
.contact-time-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.contact-time-other {
  white-space: nowrap;
}
.contact-form-btns {
  display: flex;
  gap: 8px;
}
.contact_text_a,
.contact_text_b,
.contact_text_c {
  max-width: 100%;
  box-sizing: border-box;
}

/* 聯絡表單 RWD：平板/手機對齊會員註冊 input 樣式 */
@media (max-width: 1024px) {
  .main-inner > form {
    padding-left: 12px;
    padding-right: 12px;
    box-sizing: border-box;
  }
  .contact-form-wrap {
    width: 100%;
    max-width: 100%;
    background: linear-gradient(180deg, #faf8f5 0%, #f3efe9 100%);
    border: 1px solid #e8e2d9;
    border-radius: 10px;
    padding: 14px 16px;
    box-sizing: border-box;
  }
  .contact-form-wrap .contact_text_d,
  .contact-form-wrap .contact_text_e {
    padding-left: 0;
  }
  .contact-info {
    word-break: break-word;
    font-size: 13px;
    line-height: 1.7;
    margin-bottom: 12px;
  }
  .contact-form-row {
    flex-direction: column;
    gap: 4px;
    margin-bottom: 14px;
  }
  .contact-form-label {
    width: 100%;
    text-align: left;
    padding-right: 0;
    padding-top: 0;
    margin-bottom: 2px;
    font-size: 13px;
    font-weight: 600;
    color: #333;
    line-height: 1.45;
  }
  .contact-form-field {
    width: 100%;
    min-width: 0;
  }
  .contact-form-wrap .contact_text_a,
  .contact-form-wrap .contact_text_b,
  .contact-form-wrap .contact_text_c,
  .contact-form-wrap .login_text_c,
  .contact-form-wrap select.formmain_b,
  .contact-form-wrap .formmain_b {
    width: 100% !important;
    max-width: 100% !important;
    height: 40px;
    line-height: 38px;
    margin-left: 0 !important;
    margin-bottom: 4px;
    padding: 0 12px;
    font-size: 15px;
    color: #333;
    text-align: left;
    background: #fff !important;
    border-radius: 0;
    border: 1px solid #c9c4bc !important;
    box-sizing: border-box;
    display: block;
    -webkit-appearance: none;
    appearance: none;
  }
  .contact-form-wrap textarea.contact_text_c {
    height: auto;
    min-height: 120px;
    line-height: 1.5;
    padding: 10px 12px;
    resize: vertical;
  }
  .contact-form-wrap .captcha,
  .contact-form-wrap .captcha_m {
    max-width: 100%;
    height: auto;
    margin-left: 0 !important;
    border-radius: 0;
    vertical-align: top;
    display: block;
  }
  .contact-time-wrap {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .contact-time-other {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
    white-space: normal;
  }
  .contact-time-other .contact_text_b {
    width: 100% !important;
    flex: none;
  }
  .contact-form-btns {
    flex-wrap: wrap;
    justify-content: flex-start;
    padding-top: 4px;
    gap: 8px;
  }
}

/* ---------- Footer ---------- */
.site-footer-wrap {
  width: 960px;
  margin: 0 auto;
  text-align: center;
  padding: 10px 0;
  box-sizing: border-box;
}
.site-footer-contact {
  display: inline;
}
.footer-contact-item {
  display: inline;
}
.footer-contact-sep {
  display: inline;
}

/* =====================================================
   行動版漢堡抽屜（基礎樣式）
   桌機：display:none；平板/手機由 @media 啟用
   ===================================================== */

.mobile-menu {
  display: none;
  position: fixed;
  top: 0;
  right: -320px;
  left: auto;
  width: 300px;
  max-width: 100%;
  height: 100%;
  background: #f3E0B2;
  overflow: hidden;
  z-index: 2000;
  transition: right 0.28s ease;
  box-shadow: -3px 0 18px rgba(58, 39, 9, 0.18);
}
.mobile-menu.open {
  right: 0;
  left: auto;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.mobile-menu-inner {
  padding: 0 0 20px;
  overflow-x: hidden;
  max-width: 100%;
  box-sizing: border-box;
}

/* 抽屜開啟時鎖住背後頁面捲動，避免雙捲軸 */
html.mobile-menu-open,
body.mobile-menu-open {
  overflow: hidden !important;
  height: 100%;
  max-width: 100%;
}

.mobile-overlay {
  display: none;
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(58, 39, 9, 0.35);
  z-index: 1999;
}
.mobile-overlay.open { display: block; }

@media (min-width: 1025px) {
  .mobile-overlay,
  .mobile-overlay.open {
    display: none !important;
  }
  html.mobile-menu-open,
  body.mobile-menu-open {
    overflow: visible !important;
    height: auto !important;
  }
}

.mobile-menu-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
  background: #faf5eb;
  border-bottom: 1px solid rgba(212, 131, 5, 0.22);
  position: sticky;
  top: 0;
  z-index: 1;
}
.mobile-menu-logo {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  padding-right: 10px;
}
.mobile-menu-logo a {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}
.mobile-menu-logo img {
  display: block;
  max-height: 48px;
  width: auto;
  height: auto;
}
.mobile-menu-close {
  background: transparent;
  border: 1px solid rgba(139, 90, 43, 0.45);
  color: #8B5A2B;
  font-size: 15px;
  width: 30px;
  height: 30px;
  cursor: pointer;
  border-radius: 4px;
  flex-shrink: 0;
  line-height: 1;
  transition: background 0.15s ease;
}
.mobile-menu-close:hover {
  background: rgba(212, 131, 5, 0.12);
}

.mobile-section {
  margin: 0 0 6px;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  overflow-x: hidden;
  overflow-y: visible;
  box-shadow: none;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.mobile-section:last-child {
  margin-bottom: 12px;
}
.mobile-section-title {
  display: block;
  width: 100%;
  box-sizing: border-box;
  color: #fff;
  background: #D48305;
  font-size: 13px;
  font-weight: bold;
  letter-spacing: 0.3px;
  margin: 0;
  padding: 10px 14px;
  border-radius: 0;
  line-height: 1.4;
  white-space: normal;
  word-break: break-word;
}
.mobile-section-body {
  padding: 10px 10px 12px;
  box-sizing: border-box;
  width: 100%;
}
/* 非列表區塊保留左右留白 */
.mobile-section-search .mobile-search-form,
.mobile-language .language_box,
.mobile-topmenu .mobile-section-body > table,
.mobile-social .mobile-section-body > .mainmenu-social-table {
  /* margin-left: 14px; */
  /* margin-right: 14px; */
  width: calc(100% - 28px);
  box-sizing: border-box;
}
.mobile-section-body > *:last-child {
  margin-bottom: 0;
}
.mobile-link {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
  color: #3a2709;
  text-decoration: none;
  padding: 9px 14px 9px 11px;
  font-size: 14px;
  line-height: 1.45;
  background: transparent;
  border-radius: 0;
  margin: 0;
  border: none;
  border-left: 3px solid #D48305;
  transition: background 0.15s ease, color 0.15s ease;
}
.mobile-link + .mobile-link {
  margin-top: 0;
}
.mobile-link:last-child { margin-bottom: 0; }
.mobile-link:hover,
.mobile-link:active,
.mobile-link:focus-visible {
  background: rgba(255, 255, 255, 0.35) !important;
  color: #5b0c11 !important;
  text-decoration: none !important;
}

/* 主選單連結：預設隱藏；手機（≤768px）顯示於「網站選單」區塊頂部 */
.mobile-mainnav-links { display: none; }
.mobile-about-nav {
  margin-bottom: 10px;
}

/* ---- 抽屜搜尋 ---- */
.mobile-search-form {
  display: flex;
  flex-wrap: nowrap;
  gap: 6px;
  align-items: center;
  width: 100%;
  margin: 0;
}
.mobile-search-input {
  flex: 1 1 auto;
  min-width: 0;
  height: 36px;
  padding: 0 10px;
  margin: 0;
  border: 1px solid rgba(212, 131, 5, 0.35);
  border-radius: 4px;
  font-size: 14px;
  line-height: normal;
  outline: none;
  background: #fff;
  color: #333;
  box-sizing: border-box;
  vertical-align: middle;
  -webkit-appearance: none;
  appearance: none;
}
.mobile-search-input::placeholder {
  color: #999;
}
.mobile-search-btn {
  flex: 0 0 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #D48305;
  border: none;
  color: #fff;
  width: 36px;
  height: 36px;
  padding: 0;
  margin: 0;
  border-radius: 4px;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  box-sizing: border-box;
  transition: background 0.15s ease;
}
.mobile-search-btn:hover {
  background: #b86d04;
}

/* ---- 抽屜內 language_box（覆寫 forum 的 absolute / float） ---- */
.mobile-language {
  overflow: hidden;
}
.mobile-language > .mobile-section-body {
  padding-top: 10px;
}
.mobile-language .language_box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  padding: 12px 14px;
  position: static !important;
  width: 100% !important;
  height: auto !important;
  line-height: normal !important;
  margin: 0px !important;
  top: auto !important;
  left: auto !important;
  box-sizing: border-box;
  text-align: center;
  background: rgba(255, 255, 255, 0.55);
  border: 1px solid rgba(212, 131, 5, 0.28);
  border-radius: 8px;
}
.mobile-language .language_info1:first-of-type {
  display: none !important;
}
.mobile-language .language_info1,
.mobile-language .language_info2,
.mobile-language .language_info3,
.mobile-language .language_info4,
.mobile-language .language_info5,
.mobile-language .language_info6 {
  float: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-top: 0 !important;
}
.mobile-language .language_info1 + .language_info1,
.mobile-language .language_info2 {
  display: inline-block;
  margin: 0 10px !important;
}
.mobile-language .language_info1 a,
.mobile-language .language_info2 a {
  color: #333 !important;
  font-size: 13px;
  display: inline-block;
  padding: 2px 0;
}
.mobile-language .mobile-member-card {
  width: 100%;
  margin-bottom: 10px;
  padding: 10px 14px;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.55);
  border: 1px solid rgba(212, 131, 5, 0.28);
  border-radius: 8px;
}
.mobile-language .mobile-member-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 6px 8px;
  width: 100%;
  margin: 0;
  padding: 0;
  border-bottom: none;
  box-sizing: border-box;
}
.mobile-language .mobile-member-label {
  font-size: 13px;
  font-weight: normal;
  color: #333;
  white-space: nowrap;
}
.mobile-language .mobile-member-login {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 4px 14px;
  background: #fff;
  border: 1px solid #c9a06a;
  border-radius: 16px;
  text-decoration: none !important;
  font-size: 12px;
  font-weight: bold;
  color: #8B5A2B;
  line-height: 1.3;
  box-sizing: border-box;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.mobile-language .mobile-member-login:hover {
  background: rgba(212, 131, 5, 0.1);
  border-color: #b8924f;
}
.mobile-language .mobile-member-login img {
  display: none !important;
}
.mobile-language .mobile-member-login::after {
  content: attr(title);
}
.mobile-language .mobile-member-gear img {
  display: block;
  max-height: 22px;
  width: auto;
}
.mobile-language .mobile-member-name {
  font-size: 13px;
  font-weight: bold;
}
.mobile-language .mobile-member-extra {
  font-size: 12px;
  line-height: 1.35;
}
.mobile-language .mobile-member-extra a {
  font-size: 12px;
}
.mobile-language .login_out-btn {
  font-size: 12px !important;
}
.mobile-language .language_info3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 4px 6px;
  margin-top: 0;
  padding-top: 0;
  width: 100%;
  box-sizing: border-box;
  border-top: none;
}
/* 與桌機 float:right 視覺一致：🇹🇼 台灣店 / 🇺🇸 USA Gallery */
.mobile-language .language_info3 > .language_info4:nth-child(1) { order: 5; }
.mobile-language .language_info3 > .language_info5:nth-child(2) { order: 4; }
.mobile-language .language_info3 > .language_info6 { order: 3; }
.mobile-language .language_info3 > .language_info4:nth-child(4) { order: 2; }
.mobile-language .language_info3 > .language_info5:nth-child(5) { order: 1; }
.mobile-language .mobile-member-bar + .language_box .language_info3,
.mobile-language .language_info3 {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}
.mobile-language .language_info4 {
  display: inline-block;
}
.mobile-language .language_info4 a {
  color: #8B5A2B !important;
  font-size: 13px;
  font-weight: bold;
  text-decoration: none;
}
.mobile-language .language_info4 a:hover {
  color: #A0652B !important;
  text-decoration: underline;
}
.mobile-language .language_info5 {
  display: inline-flex;
  align-items: center;
}
.mobile-language .language_info5 img {
  display: inline !important;
  vertical-align: middle;
  max-width: 18px;
}
.mobile-language .language_info6 {
  color: #c9a06a;
  display: inline-block;
  margin: 0 2px;
}
.mobile-language .language_change_Slash {
  color: #c9a06a !important;
}

/* ---- 抽屜內社群分享 ---- */
.mobile-social .mainmenu-social-table {
  width: 100% !important;
  border-collapse: collapse;
}
.mobile-social .mainmenu-social-table tr {
  display: flex !important;
  flex-wrap: nowrap;
  gap: 2px;
  align-items: center;
  justify-content: flex-start;
}
.mobile-social .mainmenu-social-table td {
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  vertical-align: middle;
  padding: 0 !important;
  flex: 0 0 auto;
}
.mobile-social .mainmenu-social-table td[width="5"],
.mobile-social .mainmenu-social-table td[width="25"] {
  display: none !important;
}
/* 追蹤清單、Email 等圖片連結；FA 社群鈕 (.mainnav-social-btn) 沿用 css_main 漸層 */
.mobile-social .mainmenu-social-table td a:not(.mainnav-social-btn) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px;
  background: transparent;
  border-radius: 0;
  border: none;
  transition: opacity 0.15s ease;
}
.mobile-social .mainmenu-social-table td a:not(.mainnav-social-btn):hover {
  opacity: 0.75;
}
.mobile-social .mainmenu-social-table td a.mainnav-social-btn:hover {
  opacity: 1;
  filter: brightness(1.08);
}
.mobile-social .mainmenu-social-table td a img {
  max-height: 22px;
  width: auto;
  display: block;
}
.mobile-social .mainnav-social-group {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-wrap: nowrap;
}
.mobile-social .mainnav-social-btn {
  min-width: 22px;
  height: 22px;
  padding: 0 5px;
  border: 1px solid rgba(0, 0, 0, 0.35);
  border-radius: 3px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 1px rgba(0, 0, 0, 0.15);
}
.mobile-social .mainmenu-social-table td {
  position: relative;
  overflow: visible;
}
.mobile-social .pro_send_list {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  margin: 0 !important;
  width: min(300px, calc(100vw - 32px));
  max-width: calc(100vw - 32px);
  box-sizing: border-box;
  z-index: 2100;
}

/* ---- 抽屜內 topmenu ---- */
.mobile-topmenu table {
  width: 100% !important;
  border-collapse: collapse;
}
.mobile-topmenu tr {
  display: flex !important;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-start;
  align-items: center;
}
.mobile-topmenu td {
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  vertical-align: middle;
  padding: 0;
}
.mobile-topmenu tr:nth-child(2) { display: none !important; }
.mobile-topmenu td[width="20"] { display: none !important; }
.mobile-topmenu td a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  background: transparent;
  border-radius: 0;
  border: none;
  transition: opacity 0.15s ease;
}
.mobile-topmenu td a:hover {
  opacity: 0.75;
}
.mobile-topmenu td a img {
  max-height: 55px;
  width: auto;
  opacity: 1;
}

/* ---- 抽屜內 menuleft ---- */
.mobile-menuleft > table,
.mobile-menuleft table,
.mobile-menuleft tbody,
.mobile-menuleft tr {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}
.mobile-menuleft td {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  line-height: 1.4 !important;
  box-sizing: border-box;
}
.mobile-menuleft .menuleft_a > table {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 10px;
  box-sizing: border-box;
}
.mobile-menuleft td.menuleft_c {
  line-height: 1.45 !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0;
  transition: background 0.15s ease;
}
.mobile-menuleft td.menuleft_c:hover,
.mobile-menuleft td.menuleft_c:active,
.mobile-menuleft td.menuleft_c:focus-within {
  background: rgba(255, 255, 255, 0.35) !important;
}
.mobile-menuleft a.menuleft {
  color: #5b0c11 !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
  padding: 8px 14px 8px 36px;
  font-size: 13px;
  font-weight: bold;
  text-decoration: none !important;
  background: transparent;
  border-radius: 0;
  margin: 0;
  position: relative;
  white-space: normal;
  word-break: break-word;
  transition: background 0.15s ease, color 0.15s ease;
}
.mobile-menuleft a.menuleft::before {
  content: "▸";
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #D48305;
  font-size: 12px;
  font-weight: bold;
  line-height: 1;
}
.mobile-menuleft a.menuleft:hover,
.mobile-menuleft a.menuleft:active,
.mobile-menuleft a.menuleft:focus-visible {
  color: #D48305 !important;
  background: rgba(255, 255, 255, 0.35) !important;
  text-decoration: none !important;
}
.mobile-menuleft a.menuleft2 {
  color: #555 !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
  padding: 7px 14px 7px 46px;
  font-size: 13px;
  text-decoration: none !important;
  position: relative;
  line-height: 1.45;
  background: transparent !important;
  transition: color 0.15s ease;
}
.mobile-menuleft a.menuleft2::before {
  content: "›";
  position: absolute;
  left: 32px;
  top: 50%;
  transform: translateY(-50%);
  color: #D48305;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
}
.mobile-menuleft td.menuleft_c:hover a.menuleft2,
.mobile-menuleft td.menuleft_c:active a.menuleft2,
.mobile-menuleft td.menuleft_c:focus-within a.menuleft2 {
  color: #3a2709 !important;
  text-decoration: none !important;
}
.mobile-menuleft > table > tr + tr > .menuleft_a {
  border-top: 1px solid rgba(212, 131, 5, 0.1);
  padding-top: 10px;
  margin-top: 2px;
}
.mobile-menuleft .menuleft_a {
  background: transparent !important;
  color: #3a2709 !important;
  line-height: 1.4 !important;
  height: auto !important;
  border-bottom: none;
  padding: 0 0 6px;
  margin: 0 0 6px;
}
.mobile-menuleft .menuleft_a:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.mobile-menuleft img[src*="menu_arrow"],
.mobile-menuleft .menuleft_c img {
  display: none !important;
}
.mobile-menuleft table[style*="display: none"],
.mobile-menuleft table[style*="display:none"] {
  display: block !important;
}
.mobile-menuleft table table {
  margin: 0 0 4px;
  width: 100% !important;
}

/* ---- 抽屜內 menuabout ---- */
.mobile-about table,
.mobile-about tbody,
.mobile-about tr {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}
.mobile-about td {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  padding: 0;
  box-sizing: border-box;
}
.mobile-about td[width="20"] { display: none !important; }
.mobile-about td[height="5"],
.mobile-about td[height="10"] { display: none !important; }
.mobile-about td[height="20"] {
  height: auto !important;
  min-height: 0 !important;
  display: block !important;
}
.mobile-about > .mobile-section-body > table,
.mobile-about table table {
  width: 100% !important;
  margin: 0 0 10px;
  box-sizing: border-box;
}
.mobile-about table[width="195"],
.mobile-about td[width="195"] {
  width: 100% !important;
  max-width: 100% !important;
}
.mobile-about a.aboutleft {
  color: #5b0c11 !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
  padding: 8px 14px 8px 36px;
  font-size: 13px;
  font-weight: bold;
  text-decoration: none !important;
  position: relative;
  line-height: 1.45;
  background: transparent !important;
  white-space: normal;
  word-break: break-word;
  transition: background 0.15s ease, color 0.15s ease;
}
.mobile-about a.aboutleft::before {
  content: "▸";
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #D48305;
  font-size: 12px;
  font-weight: bold;
  line-height: 1;
}
.mobile-about a.aboutleft:hover,
.mobile-about a.aboutleft:active,
.mobile-about a.aboutleft:focus-visible {
  color: #D48305 !important;
  background: rgba(255, 255, 255, 0.35) !important;
  text-decoration: none !important;
}
.mobile-about a.aboutleft_more {
  color: #F7513D !important;
  font-size: 12px;
  font-weight: bold;
  display: inline-block;
  padding: 4px 14px 4px 30px;
  margin-top: 0;
}
.mobile-about .main_title_b {
  color: #5b0c11 !important;
  background: rgba(212, 131, 5, 0.12) !important;
  font-size: 12px;
  font-weight: bold;
  padding: 7px 14px !important;
  display: block;
  width: 100%;
  box-sizing: border-box;
  border-radius: 0;
  margin: 0 0 4px;
  line-height: 1.4;
  height: auto !important;
  white-space: normal;
  word-break: break-word;
}
.mobile-about .official-channels {
  max-width: 100%;
  margin-top: 6px;
  padding: 10px 12px;
}
.mobile-about .official-channel {
  min-height: 48px;
  padding: 5px 3px 3px;
}
.mobile-about .official-channel-tag {
  font-size: 8px;
}
.mobile-about .official-channel i {
  font-size: 18px;
}

/* =====================================================
   平板（≤1024px）
   ===================================================== */
@media (max-width: 1024px) {

  html {
    max-width: 100%;
    overflow-x: hidden;
  }

  body {
    max-width: 100%;
    overflow-x: hidden;
    overflow-y: auto; /* 覆寫 css_main 的 overflow-y:scroll，避免常駐捲軸 */
  }

  .page-wrap {
    max-width: 100%;
    overflow-x: hidden;
  }

  /* Banner RWD：取消 940px 固定寬高，文字滿版留 padding */
  .site-banner {
    width: 100%;
    max-width: 100%;
    text-align: left;
    box-sizing: border-box;
  }
  .site-banner > table,
  .site-banner > table > tbody,
  .site-banner > table > tbody > tr,
  .site-banner > table > tbody > tr > td[background] {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    box-sizing: border-box;
  }
  .site-banner > table > tbody > tr > td[background] {
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    min-height: 110px;
  }
  .site-banner table {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    table-layout: fixed;
  }
  .site-banner > table > tbody > tr > td[background] > table {
    display: block;
    width: 100% !important;
    min-height: 110px;
  }
  .site-banner > table > tbody > tr > td[background] > table > tbody {
    display: block;
    width: 100%;
  }
  /* 隱藏上下裝飾列與左右空白欄，只留文字列 */
  .site-banner > table > tbody > tr > td[background] > table > tbody > tr:nth-child(1),
  .site-banner > table > tbody > tr > td[background] > table > tbody > tr:nth-child(3),
  .site-banner td[width="10"][height="10"] {
    display: none !important;
  }
  .site-banner > table > tbody > tr > td[background] > table > tbody > tr:nth-child(2) {
    display: block;
    width: 100%;
  }
  .site-banner > table > tbody > tr > td[background] > table > tbody > tr:nth-child(2) > td {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }
  .site-banner > table > tbody > tr > td[background] > table > tbody > tr:nth-child(2) > td:first-child,
  .site-banner > table > tbody > tr > td[background] > table > tbody > tr:nth-child(2) > td:last-child {
    display: none !important;
  }
  .site-banner table[width="670"],
  .site-banner table[width="670"] tbody,
  .site-banner table[width="670"] tr,
  .site-banner table[width="670"] td {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .site-banner .banner_a {
    display: block;
    width: 100% !important;
    box-sizing: border-box;
    padding: 18px 16px !important;
    line-height: 1.5 !important;
    text-align: left;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }

  /* 啟用抽屜 + 漢堡按鈕（關閉時不捲動，避免與 body 雙捲軸） */
  .mobile-menu {
    display: block;
    overflow: hidden;
    pointer-events: none;
  }
  .mobile-menu.open {
    overflow-x: hidden;
    overflow-y: auto;
    pointer-events: auto;
  }
  .hamburger-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    padding: 4px 10px;
  }

  /* Header 重構為單行 */
  .site-header-inner {
    width: 100%;
    height: auto;
    min-height: 65px;
    margin-left: 0;
    padding: 6px 12px;
    box-sizing: border-box;
    align-items: center;
    flex-wrap: nowrap;
  }
  .header-left {
    flex-direction: row;
    align-items: center;
    flex: 1;
  }
  .header-logo { height: auto; }
  .header-topmenu { display: none; }

  .header-right {
    flex-direction: row;
    width: auto;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
    text-align: left;
  }
  .header-language { display: none; }
  .header-login {
    height: auto;
    background-image: none !important;
    justify-content: flex-end;
    padding: 0;
  }
  /* Header：只留圖示，隱藏「會員」「購物車」文字 */
  .header-login .login_a { display: none !important; }
  .header-login td[width="15"],
  .header-login td[width="20"] { display: none !important; }
  .header-login > table > tbody > tr > td:last-child table > tbody > tr > td:nth-child(2) {
    display: none !important;
  }
  /* 已登入：會員姓名／登出改在抽屜顯示，header 隱藏以免擠壓 LOGO */
  .header-login > table > tbody > tr > td:first-child:has(.login_edit),
  .header-login > table > tbody > tr > td:first-child:has(.login_out-btn) {
    display: none !important;
  }
  /* 未登入：Sign in 改在漢堡抽屜，header 隱藏 */
  .header-login > table > tbody > tr > td:first-child:has(a[href*="member_login.php"]) {
    display: none !important;
  }
  .header-login > table > tbody > tr {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .header-login > table > tbody > tr > td {
    display: block;
    width: auto !important;
  }
  .header-login img {
    max-height: 28px;
    width: auto;
  }
  .header-search { display: none; }

  /* 主選單：橫向捲動（平板保留右側社群 icon） */
  .site-mainnav-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    min-height: 40px;
    padding: 4px 12px;
    box-sizing: border-box;
  }
  .site-mainnav {
    display: block;
    overflow: visible;
    white-space: nowrap;
    flex: none;
    width: 100%;
    min-width: 0;
  }
  .site-mainnav > table {
    width: 100% !important;
    min-width: 520px;
  }
  .site-mainnav > table > tbody > tr > td:first-child {
    padding-right: 12px;
  }
  .site-mainnav > table > tbody > tr > td:last-child {
    width: 1%;
    padding-left: 24px;
    text-align: right;
    white-space: nowrap;
  }
  .site-mainnav > table > tbody > tr > td:last-child > table {
    margin-left: auto;
  }
  .site-mainnav > table > tbody > tr > td:last-child > table > tbody > tr {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
  }
  .site-mainnav > table > tbody > tr > td:last-child > table > tbody > tr > td {
    width: auto !important;
    padding: 0;
    flex: 0 0 auto;
  }
  .site-mainnav > table > tbody > tr > td:last-child > table > tbody > tr > td[width="5"],
  .site-mainnav > table > tbody > tr > td:last-child > table > tbody > tr > td[width="25"] {
    display: none;
  }
  .site-mainnav > table > tbody > tr > td:last-child > table > tbody > tr > td a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .site-mainnav > table > tbody > tr > td:last-child > table > tbody > tr > td a img {
    display: block;
    max-height: 22px;
    width: auto;
  }
  .site-mainnav .mainnav-social-group {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex-wrap: nowrap;
  }
  .site-mainnav .mainnav-social-btn {
    min-width: 22px;
    height: 22px;
  }

  /* 側欄隱藏（內容已進抽屜） */
  .sidebar { display: none; }

  /* 主體：置中對齊 */
  .site-body { width: 100%; }
  .site-footer-wrap {
    width: 100%;
    max-width: 100%;
    padding: 6px 10px 8px;
    box-sizing: border-box;
  }
  .site-footer-wrap > div[style] {
    height: 4px !important;
    overflow: hidden;
    line-height: 0;
  }
  .site-footer-wrap .site-footer-table,
  .site-footer-wrap table {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto;
  }
  .site-footer-wrap .site-footer-table > tbody,
  .site-footer-wrap .site-footer-table > tbody > tr,
  .site-footer-wrap .site-footer-table > tbody > tr > td {
    display: block;
    width: 100% !important;
    height: auto !important;
    box-sizing: border-box;
  }
  .site-footer-wrap .site-footer-cell,
  .site-footer-wrap .footer_main_a {
    padding: 4px 2px 6px;
    line-height: 1.5;
    word-break: break-word;
    overflow-wrap: anywhere;
  }
  .site-footer-contact {
    display: inline;
    margin: 2px 0 0;
  }
  .footer-contact-item {
    display: inline;
  }
  .main-content {
    width: 100%;
    text-align: center;
  }
  .main-inner {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0 0 24px;
    box-sizing: border-box;
    display: block;
    text-align: left;
  }
  .main-inner > div:not(.product-section-block) {
    padding-left: 12px;
    padding-right: 12px;
    box-sizing: border-box;
  }
  /* 產品區塊卡片（平板）：滿版寬度 */
  .product-section-block {
    width: 100%;
    max-width: 100%;
    margin: 0 0 20px;
    background: #fff;
    border-radius: 0;
    overflow: hidden;
    border-top: 1px solid rgba(212, 131, 5, 0.25);
    border-bottom: 1px solid rgba(212, 131, 5, 0.25);
    border-left: none;
    border-right: none;
    box-shadow: 0 2px 10px rgba(58, 39, 9, 0.07);
    box-sizing: border-box;
  }
  .product-section-head {
    width: fit-content;
    max-width: 100%;
    padding: 14px 14px 0;
    box-sizing: border-box;
  }
  .product-section-head .main_title_a {
    padding: 0;
    font-size: 12px;
    height: auto !important;
    line-height: 1.4;
  }
  .product-section-head .main_title_b {
    display: inline-block !important;
    width: auto !important;
    max-width: 100%;
    box-sizing: border-box;
    padding: 2px 5px !important;
    margin: 6px 0 0;
    font-size: 12px;
    line-height: 1.4;
    border-radius: 0;
  }
  .product-section-block .hot-products-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    padding: 12px;
    margin: 0;
    overflow: hidden;
    box-sizing: border-box;
  }
  .product-section-foot {
    padding: 12px 14px 16px;
    text-align: center;
    border-top: 1px solid rgba(212, 131, 5, 0.12);
    background: #faf6ee;
  }

  /* 熱門產品：flex 置中，圖片不溢出 */
  .hot-products-grid .index_hot_imgbox,
  .hot-products-grid .index_hot_imgbox_action {
    float: none !important;
    flex: 0 0 126px;
    width: 126px !important;
    height: 126px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 8px;
    box-sizing: border-box;
    background: #f9f5eb;
    border: 1px solid rgba(212, 131, 5, 0.18);
    border-radius: 8px;
    overflow: hidden;
    min-width: 0;
    min-height: 0;
  }
  .hot-products-grid .index_hot_imgbox1 {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
  }
  .hot-products-grid .index_hot_imgbox1 a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    overflow: hidden;
    line-height: 0;
  }
  .hot-products-grid .index_hot_imgbox1 img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain;
    object-position: center;
  }

  /* 最新商品 2 欄：grid，奇數最後一項靠左 */
  .product-section-block .new-products-grid,
  .product-page-content .new-products-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-items: stretch;
    align-items: stretch;
    gap: 8px;
    width: 100%;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
    padding: 12px;
    box-sizing: border-box;
  }
  .new-product-item {
    width: 100% !important;
    max-width: none;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    background: #f9f5eb;
    border: 1px solid rgba(212, 131, 5, 0.18);
    border-radius: 8px;
    overflow: hidden;
  }
  /* 雙欄時最後一個落單，靠左對齊 */
  .new-product-item:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    width: calc(50% - 4px) !important;
    max-width: calc(50% - 4px);
    justify-self: start;
  }
  .new-product-item:only-child {
    grid-column: 1 / -1;
    width: calc(50% - 4px) !important;
    max-width: calc(50% - 4px);
    justify-self: start;
  }
  .new-product-item table,
  .new-product-item tbody {
    display: flex;
    flex-direction: column;
    flex: 1;
    width: 100% !important;
    height: 100% !important;
    min-height: 0;
    margin: 0 auto;
    box-sizing: border-box;
  }
  .new-product-item tr {
    display: flex;
    flex-direction: column;
    width: 100% !important;
  }
  .new-product-item tr:last-child {
    flex: 1;
  }
  .new-product-item .product_index_b {
    width: 100% !important;
    height: auto !important;
    min-height: 0;
    padding: 12px 10px 8px !important;
    text-align: center !important;
    line-height: 1.5;
    border-bottom: 1px solid rgba(212, 131, 5, 0.1);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .new-product-item .index_product {
    display: inline-block;
    text-align: center;
    max-width: 100%;
    word-wrap: break-word;
    word-break: break-word;
  }
  .new-product-item td[width="310"] {
    flex: 1;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 200px;
    height: auto !important;
    width: 100% !important;
    padding: 12px !important;
    text-align: center;
    box-sizing: border-box;
  }
  .new-product-item td[width="310"] a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 180px;
  }
  .new-product-item td[width="310"] img {
    display: block;
    max-width: 100%;
    max-height: 220px;
    width: auto !important;
    height: auto !important;
    margin: 0 auto;
    object-fit: contain;
    object-position: center;
    border-radius: 4px;
  }
  .new-product-item .product_price_all {
    display: block;
    margin-top: 4px;
    color: #D48305;
    font-size: 13px;
    text-align: center;
  }
  #more_product {
    width: 100%;
    max-width: 680px;
    margin: 0 auto;
    text-align: center;
    box-sizing: border-box;
  }
  #more_product table.product_index_a {
    width: 100% !important;
    margin: 0 auto;
  }
  #more_product .product_index_b {
    width: 100% !important;
    height: auto !important;
    text-align: center !important;
  }
  #more_product td[width="310"] {
    text-align: center;
  }
  #more_product td[width="310"] img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
    object-fit: contain;
  }
}

/* =====================================================
   手機（≤768px）
   ===================================================== */
@media (max-width: 768px) {

  .site-banner > table > tbody > tr > td[background],
  .site-banner > table > tbody > tr > td[background] > table {
    min-height: 90px;
  }
  .site-banner .banner_a {
    padding: 14px 12px !important;
    font-size: 13px;
    line-height: 1.45 !important;
  }

  /* 主選單整列隱藏（連結進抽屜） */
  .site-mainnav-wrap { display: none; }

  /* 抽屜內主選單連結（僅手機，平板仍靠 site-mainnav-wrap） */
  .mobile-about .mobile-mainnav-links { display: block; }

  /* Header */
  .site-header-inner { flex-wrap: nowrap; width: 100%; }

  /* 主體 */
  .site-body { flex-direction: column; width: 100%; }
  .sidebar { display: none; }
  .main-content { width: 100%; text-align: left; }
  .main-inner { width: 100%; display: block; }

  /* 主內容區塊留白（產品區塊滿版，其餘內容留邊距） */
  .main-inner {
    padding: 0 0 24px;
    box-sizing: border-box;
  }
  .main-inner > div:not(.product-section-block) {
    padding-left: 12px;
    padding-right: 12px;
    box-sizing: border-box;
  }

  /* 產品區塊卡片：滿版寬度 */
  .product-section-block {
    width: 100%;
    max-width: 100%;
    margin: 0 0 20px;
    background: #fff;
    border-radius: 0;
    overflow: hidden;
    border-top: 1px solid rgba(212, 131, 5, 0.25);
    border-bottom: 1px solid rgba(212, 131, 5, 0.25);
    border-left: none;
    border-right: none;
    box-shadow: 0 2px 10px rgba(58, 39, 9, 0.07);
    box-sizing: border-box;
  }
  .product-section-head {
    width: fit-content;
    max-width: 100%;
    padding: 14px 14px 0;
    box-sizing: border-box;
  }
  .product-section-head .main_title_a {
    padding: 0;
    font-size: 12px;
    height: auto !important;
    line-height: 1.4;
  }
  .product-section-head .main_title_b {
    display: inline-block !important;
    width: auto !important;
    max-width: 100%;
    box-sizing: border-box;
    padding: 2px 5px !important;
    margin: 6px 0 0;
    font-size: 12px;
    line-height: 1.4;
    border-radius: 0;
  }
  .product-section-block .hot-products-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    padding: 12px;
    margin: 0;
    overflow: hidden;
    box-sizing: border-box;
  }
  .product-section-block .new-products-grid,
  .product-page-content .new-products-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-items: stretch;
    align-items: stretch;
    gap: 8px;
    padding: 10px;
    margin: 0 auto;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
  }
  .product-section-foot {
    padding: 12px 14px 16px;
    text-align: center;
    border-top: 1px solid rgba(212, 131, 5, 0.12);
    background: #faf6ee;
  }
  .product-section-foot .index_more_product {
    display: inline-block;
    margin-top: 8px;
  }
  .product-section-foot .index_more_product img {
    max-width: 130px;
    height: auto;
  }

  /* 熱門產品 2 欄格狀（固定正方格，圖片不溢出） */
  .hot-products-grid .index_hot_imgbox,
  .hot-products-grid .index_hot_imgbox_action {
    float: none !important;
    flex: 0 0 calc((100% - 10px) / 2);
    width: calc((100% - 10px) / 2) !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
    padding: 8px;
    box-sizing: border-box;
    background: #f9f5eb;
    border: 1px solid rgba(212, 131, 5, 0.18);
    border-radius: 8px;
    overflow: hidden;
    min-width: 0;
    min-height: 0;
  }
  .hot-products-grid .index_hot_imgbox1 {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
  }
  .hot-products-grid .index_hot_imgbox1 a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    overflow: hidden;
    line-height: 0;
  }
  .hot-products-grid .index_hot_imgbox1 img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain;
    object-position: center;
  }

  /* 最新產品：手機 2 欄 */
  .new-product-item {
    width: 100% !important;
    max-width: none;
    justify-self: stretch;
    background: #f9f5eb;
    border: 1px solid rgba(212, 131, 5, 0.18);
    border-radius: 8px;
    overflow: hidden;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
  }
  .new-product-item:last-child:nth-child(odd),
  .new-product-item:only-child {
    grid-column: 1 / -1;
    width: calc(50% - 4px) !important;
    max-width: calc(50% - 4px);
    justify-self: start;
  }
  .new-product-item .product_index_b {
    text-align: center !important;
    align-items: center;
    padding: 8px 6px 6px !important;
    font-size: 12px;
    line-height: 1.4;
  }
  .new-product-item .index_product {
    text-align: center;
    font-size: 12px;
    line-height: 1.35;
  }
  .new-product-item .product_price_all {
    text-align: center;
    font-size: 11px;
  }
  .new-product-item td[width="310"] {
    min-height: 120px;
    padding: 8px !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .new-product-item td[width="310"] a {
    min-height: 100px;
    align-items: center;
    justify-content: center;
  }
  .new-product-item td[width="310"] img {
    max-height: 140px;
    margin: 0 auto;
    object-fit: contain;
    object-position: center;
  }
  /* AJAX 載入更多（舊 table 結構）也置中 */
  #more_product {
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
    text-align: center;
    box-sizing: border-box;
  }
  #more_product table.product_index_a {
    width: 100% !important;
    margin: 0 auto;
  }
  #more_product .product_index_b {
    width: 100% !important;
    height: auto !important;
    text-align: center !important;
  }
  #more_product td[width="310"] {
    text-align: center;
  }
  #more_product td[width="310"] img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
    object-fit: contain;
  }

  /* 全站圖片 RWD */
  img { max-width: 100%; height: auto; }

  /* 表單欄位 */
  input[type="text"],
  input[type="password"],
  input[type="email"],
  textarea,
  select {
    max-width: 100%;
    box-sizing: border-box;
  }

  /* Footer */
  .site-footer-wrap {
    width: 100%;
    max-width: 100%;
    padding: 4px 8px 6px;
  }
  .site-footer-wrap > div[style] {
    height: 15px !important;
  }
  .site-footer-wrap .site-footer-cell,
  .site-footer-wrap .footer_main_a {
    padding: 2px 0 4px;
    font-size: 10px;
    line-height: 1.5;
  }
  .site-footer-contact {
    display: block;
    margin: 2px 0;
  }
  .footer-contact-sep {
    display: none !important;
  }
  .footer-contact-item {
    display: block;
    margin: 0 0 1px;
  }
  .footer-contact-item:last-child {
    margin-bottom: 0;
  }
  .site-footer-address {
    display: block;
    margin: 2px 0;
  }

  /* 側欄 title row */
  .sidebar-title-row { height: auto; min-height: 40px; }

  /* 產品目錄展開箭頭（手機版隱藏，避免跑版） */
  img[src*="menu_arrow_no"] { display: none !important; }
}

/* ===== 行事曆頁（桌機維持原 table 外觀，RWD 僅平板/手機）===== */

/* 桌機：行事曆導覽 + 月曆格線維持 630px 置中（與原版一致） */
.cal-page-content {
  max-width: 630px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
.cal-page-content > table[align="center"],
.cal-page-content .table_Box {
  width: 630px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
/* 月曆外框與格線同寬 630px；視窗較窄時外框 max-width:100% 並出現橫向捲軸 */
.cal-page-content .cal-grid-wrap,
.cal-grid-wrap {
  display: block;
  width: 630px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}
@media (min-width: 1025px) {
  .cal-grid-wrap > table {
    width: 630px !important;
    min-width: 630px !important;
    max-width: none !important;
    margin: 0;
    border-collapse: separate;
  }
}
/* 外層 table 不可被 630px 月曆撐開，否則捲軸不會出現 */
.cal-page-content table.cal-month-shell {
  table-layout: fixed;
  width: 630px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.cal-page-content table.cal-month-shell td.cal-month-body {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  padding: 0;
  box-sizing: border-box;
}
.cal-page-content table.cal-month-shell .table_Box {
  width: 100% !important;
  max-width: 100%;
  box-sizing: border-box;
}

@media (max-width: 1024px) {
  .cal-page-content {
    min-width: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  .cal-page-content > table[align="center"]:not(.cal-month-shell),
  .cal-page-content .table_Box:not(.cal-month-shell .table_Box) {
    width: 100%;
    max-width: 100%;
  }
  .cal-page-content table.cal-month-shell {
    width: 100%;
    max-width: 630px;
  }
  .cal-page-content .cal-list-wrap,
  .cal-page-content table.calendar_listch,
  .cal-page-content table#table1,
  .cal-page-content table.cal-list-back,
  .cal-page-content table[width="630"]:not(.cal-month-shell) {
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
  }
  .cal-page-content table.cal-list-back img {
    max-width: 100%;
    height: auto;
  }
  /* 行事曆列表分頁 */
  .cal-page-content .cal-list-pager {
    width: 100%;
    max-width: 100%;
    margin-top: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    text-align: center;
    box-sizing: border-box;
  }
  .cal-page-content .cal-list-pager > div {
    display: inline-block;
    min-width: min-content;
  }
  .cal-page-content .cal-list-pager table {
    width: auto;
    margin: 0 auto;
    border-collapse: separate;
    border-spacing: 4px;
  }
  .cal-page-content .cal-list-pager table td {
    padding: 2px 6px;
    white-space: nowrap;
    vertical-align: middle;
  }
  .cal-page-content .cal-grid-wrap,
  .cal-grid-wrap {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    border: 1px solid #E7E2D1;
    border-top: none;
  }
  .cal-page-content .cal-grid-wrap > table,
  .cal-grid-wrap > table {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed;
    margin: 0;
    border-collapse: separate;
  }
  .cal-page-content .cal-grid-wrap > table td {
    word-break: break-word;
    overflow-wrap: break-word;
    font-size: 11px;
    line-height: 1.35;
  }
  /* 年/週視圖：外層巢狀 table 不撐破可視區 */
  .main-inner > .cal-page-content {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding-left: 4px !important;
    padding-right: 4px !important;
    overflow-x: hidden;
    box-sizing: border-box;
  }
  .cal-page-content .cal-year-shell,
  .cal-page-content .cal-week-shell,
  .cal-page-content > table[align="center"]:not(.cal-month-shell) {
    display: block;
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
  }
  .cal-page-content .cal-year-shell > tbody,
  .cal-page-content .cal-week-shell > tbody,
  .cal-page-content > table[align="center"]:not(.cal-month-shell) > tbody,
  .cal-page-content .cal-year-shell > tbody > tr,
  .cal-page-content .cal-week-shell > tbody > tr,
  .cal-page-content > table[align="center"]:not(.cal-month-shell) > tbody > tr,
  .cal-page-content .cal-year-shell > tbody > tr > td,
  .cal-page-content .cal-week-shell > tbody > tr > td,
  .cal-page-content > table[align="center"]:not(.cal-month-shell) > tbody > tr > td {
    display: block;
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
  }
  .cal-page-content .table_Box {
    width: 100% !important;
    max-width: 100%;
    table-layout: fixed;
    box-sizing: border-box;
  }
  .cal-page-content .table_Box > tbody > tr > td {
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
  }
  .cal-page-content .table_Bigtitle_Right table[width="180"] {
    width: auto !important;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .cal-page-content .table_Bigtitle_Right table[width="180"] td {
    width: auto !important;
    padding: 2px 6px;
    font-size: 12px;
    white-space: nowrap;
  }
  .cal-page-content .cal-list-wrap {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 768px) {
  .main-inner > table[width="270"],
  .main-inner > table[width="655"] {
    width: 100% !important;
    max-width: 100%;
  }
  .cal-page-content .cal-list-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .cal-page-content table.calendar_listch,
  .cal-page-content table#table1 {
    width: 100% !important;
    max-width: 100%;
    table-layout: fixed;
  }
  .cal-page-content table.calendar_listch > tbody > tr:first-child,
  .cal-page-content table#table1 > tbody > tr:first-child {
    display: none;
  }
  .cal-page-content table.calendar_listch > tbody > tr,
  .cal-page-content table#table1 > tbody > tr {
    display: block;
    padding: 10px 8px;
    border-bottom: 1px solid #e0e0e0;
    box-sizing: border-box;
  }
  .cal-page-content table.calendar_listch > tbody > tr::after,
  .cal-page-content table#table1 > tbody > tr::after {
    content: "";
    display: table;
    clear: both;
  }
  .cal-page-content table.calendar_listch > tbody > tr > td,
  .cal-page-content table#table1 > tbody > tr > td {
    display: block;
    width: auto !important;
    height: auto !important;
    text-align: left !important;
    border: none;
    padding: 2px 0;
    box-sizing: border-box;
    word-break: break-word;
  }
  .cal-page-content table.calendar_listch > tbody > tr > td:first-child,
  .cal-page-content table#table1 > tbody > tr > td:first-child {
    float: left;
    width: 28px !important;
    font-size: 11px;
    color: #888;
    padding-right: 8px;
  }
  .cal-page-content table.calendar_listch > tbody > tr > td:nth-child(2),
  .cal-page-content table#table1 > tbody > tr > td:nth-child(2) {
    overflow: hidden;
    margin-left: 28px;
  }
  .cal-page-content table.calendar_listch > tbody > tr > td:nth-child(3),
  .cal-page-content table#table1 > tbody > tr > td:nth-child(3) {
    margin-left: 28px;
    font-size: 11px;
    color: #666;
    padding-top: 4px;
    white-space: normal;
  }
  .cal-page-content .cal-list-pager {
    padding: 12px 8px;
  }
  .cal-page-content table.cal-list-back,
  .cal-page-content table.cal-list-back[width="630"] {
    width: 100% !important;
    max-width: 100%;
  }
  .cal-page-content table.cal-list-back td {
    text-align: center !important;
  }
  .cal-page-content .cal-grid-wrap > table td {
    font-size: 10px;
    padding: 2px 1px;
  }
  .cal-page-content .cal-grid-wrap > table td[height="70"] {
    height: auto !important;
    min-height: 44px;
    vertical-align: top;
  }
  .cal-page-content .table_Bigtitle_Right table[width="180"] {
    width: 100% !important;
  }
  .cal-page-content .table_Bigtitle_Right table[width="180"] tr {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2px 4px;
  }
  .cal-page-content .table_Bigtitle_Right table[width="180"] td {
    flex: 1 1 auto;
    min-width: 3.5em;
    text-align: center !important;
    white-space: normal;
  }
}

/* ===== 行事曆內容頁 calendar_view ===== */
.cal-view-wrap {
  width: 100%;
  max-width: 630px;
  margin: 0 auto;
  min-width: 0;
  box-sizing: border-box;
}
.cal-view-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  min-height: 25px;
}
.cal-view-title {
  flex: 1 1 auto;
  min-width: 0;
  line-height: 1.4;
}
.cal-view-date {
  flex: 0 0 auto;
  white-space: nowrap;
  text-align: right;
}
.cal-view-divider {
  margin: 0;
  border: none;
  border-top: 2px solid #CCCCCC;
}
.cal-view-body-wrap {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
}
.cal-view-wrap .cal-view-body.calendar_main {
  width: 100%;
  max-width: 100%;
  min-height: 200px;
  box-sizing: border-box;
}
.cal-view-meta {
  width: 100%;
}
.cal-view-meta-row {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  min-height: 25px;
  padding: 2px 0;
  box-sizing: border-box;
}
.cal-view-meta-label {
  flex: 0 0 120px;
  text-align: right;
  line-height: 1.5;
}
.cal-view-meta-value {
  flex: 1 1 auto;
  min-width: 0;
  line-height: 1.5;
  word-break: break-word;
}
.cal-view-back {
  padding: 12px 0 4px;
  text-align: center;
}
.cal-view-back img {
  max-width: 100%;
  height: auto;
}

@media (max-width: 768px) {
  .cal-view-wrap {
    max-width: 100%;
  }
  .cal-view-header {
    flex-direction: column;
    gap: 4px;
  }
  .cal-view-date {
    text-align: left;
    white-space: normal;
  }
  .cal-view-meta-row {
    flex-direction: column;
    gap: 2px;
  }
  .cal-view-meta-label {
    flex: none;
    width: 100%;
    text-align: left;
  }
}

/* ===== 產品列表頁 product.php（桌機維持 655px 雙欄，RWD 僅平板/手機）===== */

.product-page-content {
  max-width: 655px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
.product-page-content .product-page-shell {
  width: 655px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 1024px) {
  .product-page-content,
  .product-page-content .product-page-shell {
    width: 100%;
    max-width: 100%;
  }

  .product-page-head > tbody > tr {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 10px;
  }
  .product-page-head > tbody > tr > td {
    display: block;
    width: auto !important;
    flex: 1 1 220px;
    box-sizing: border-box;
  }
  .product-page-head > tbody > tr > td[align="right"] {
    flex: 1 1 100%;
    text-align: left !important;
  }
  .product-sort-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .product-sort-wrap table {
    margin-left: auto;
    margin-right: 0;
  }

  .product-page-content .product-list-pager {
    width: 100%;
    max-width: 100%;
    margin-top: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    text-align: center;
    box-sizing: border-box;
  }
  .product-page-content .product-list-pager > div {
    display: inline-block;
    min-width: min-content;
  }
  .product-page-content .product-list-pager table {
    width: auto;
    margin: 0 auto;
    border-collapse: separate;
    border-spacing: 4px;
  }
  .product-page-content .product-list-pager table td {
    padding: 2px 6px;
    white-space: nowrap;
    vertical-align: middle;
  }
}

@media (max-width: 768px) {
  .product-page-content .product-subtitle {
    width: 100% !important;
    max-width: 100%;
  }
  .product-page-content .product-list-pager {
    padding: 12px 8px;
  }
}

/* ===== Product View (product_view.php) — 桌機維持原 655px 雙欄 ===== */
.product-view-page-content {
  max-width: 655px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
.product-view-wrap {
  width: 100%;
  max-width: 655px;
  margin: 0 auto;
}

@media (max-width: 1024px) {
  .product-view-page-content,
  .product-view-wrap {
    width: 100%;
    max-width: 100%;
  }

  .product-view-shell,
  .product-view-shell > tbody,
  .product-view-shell > tbody > tr {
    display: block;
    width: 100%;
  }
  .product-view-shell > tbody > tr > td {
    display: block;
    width: 100% !important;
    box-sizing: border-box;
  }
  .product-view-gap {
    display: none !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
  }

  /* 圖片區：維持桌機 310px 寬（含輪播），整塊置中；不覆寫 jcarousel 內部尺寸 */
  .product-view-gallery {
    padding: 16px 0 12px;
    text-align: center;
    box-sizing: border-box;
  }
  .product-view-gallery .product_index_a {
    width: 310px !important;
    max-width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .product-view-gallery td[width="310"] {
    height: auto !important;
  }
  .product-view-gallery #product_b img,
  .product-view-gallery img.jqzoom {
    max-width: 100%;
    height: auto;
  }

  /* 產品資訊：置中卡片式排版（緊湊行距） */
  .product-view-info {
    padding: 10px 12px 12px;
    margin: 0 10px 10px;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
    text-align: center;
    font-size: 13px;
    line-height: 1.35;
  }
  .product-view-info-inner {
    width: 100% !important;
    max-width: 300px;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .product-view-info table[width="303"] {
    width: 100% !important;
    max-width: 100%;
    margin: 0 auto;
    border-collapse: collapse;
  }
  .product-view-info-inner > tbody > tr > td[width="10"] {
    display: none !important;
  }
  /* 上方已有頁面標題，卡片內標題列隱藏避免重複留白 */
  .product-view-info table[width="303"] > tbody > tr:has(.product_view_b) {
    display: none;
  }
  /* 壓縮 303 主表內留白列（不影響庫存提醒區） */
  .product-view-info table[width="303"] td[height="5"],
  .product-view-info table[width="303"] td[height="10"]:not(:has(hr)),
  .product-view-info table[width="303"] td[height="20"] {
    height: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    font-size: 0 !important;
    overflow: hidden;
    border: 0 !important;
  }
  .product-view-info .product-view-desc {
    height: auto !important;
    font-size: 13px;
    line-height: 1.45;
    padding: 4px 0 6px;
    text-align: center !important;
  }
  .product-view-info .product_view_c {
    font-size: 13px;
    line-height: 1.35;
    color: #666;
  }
  .product-view-info td[align="right"]:not([width]) {
    text-align: center !important;
    font-size: 12px;
    color: #888;
    padding: 0 0 2px;
    line-height: 1.3;
  }
  .product-view-info table[width="303"] > tbody > tr > td:has(hr.product_view_d) {
    height: auto !important;
    padding: 2px 0 !important;
    line-height: normal !important;
    font-size: inherit !important;
    overflow: visible;
  }
  .product-view-info hr.product_view_d {
    max-width: 220px;
    margin: 2px auto;
  }
  .product-view-info td[width="50"] {
    display: none !important;
  }
  /* 零售價格：整列 table 置中 */
  .product-view-info table[width="303"] > tbody > tr > td > table:has(.product_view_g) {
    width: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .product-view-info table[width="303"] table:has(.product_view_g) tr {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: center;
    gap: 0 4px;
    padding: 0;
    width: 100%;
  }
  .product-view-info table[width="303"] table:has(.product_view_g) td {
    width: auto !important;
    padding: 0 !important;
    text-align: center !important;
  }
  .product-view-info table[width="303"] table td[width="25"] {
    width: auto !important;
    padding: 0 !important;
  }
  .product-view-info .product_view_g {
    font-size: 19px;
    line-height: 1.15;
    padding-left: 0 !important;
    padding-right: 0;
    text-align: center;
  }
  .product-view-info #table2 {
    margin: 4px auto;
  }
  .product-view-info > table > tbody > tr > td {
    text-align: center !important;
  }
  /* 購物車區：數量、加入購物車、直接購買各自一行 */
  .product-view-info table[width="303"] > tbody > tr > td[align="center"] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding-top: 2px;
  }
  .product-view-info td[align="center"] > div:first-child form table td[height="5"] {
    display: none;
  }
  .product-view-info td[align="center"] form[name="product_card"] {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    gap: 6px;
  }
  .product-view-info div[style*="width:310px"] {
    display: flex;
    justify-content: center;
    width: 100% !important;
    max-width: 100%;
    float: none !important;
    margin: 0 auto;
    text-align: center;
  }
  .product-view-info div[style*="width:310px"] table {
    width: auto !important;
    margin: 0 auto !important;
    float: none !important;
  }
  .product-view-info div[style*="width:310px"] table tr {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0 6px;
    padding: 0;
    width: 100%;
  }
  .product-view-info div[style*="width:310px"] td.product_view_c {
    text-align: center !important;
  }
  .product-view-info .product_text_a {
    width: 38px;
    height: 26px;
    line-height: 24px;
    font-size: 14px;
  }
  .product-view-info td[align="center"] .product_view_h,
  .product-view-info td[align="center"] .product_view_i {
    float: none !important;
    display: block;
    width: 100%;
    max-width: 260px;
    margin: 0 auto;
    padding-left: 0 !important;
    text-align: center;
    clear: both;
  }
  .product-view-info td[align="center"] .product_view_h input[type="image"],
  .product-view-info td[align="center"] .product_view_i img,
  .product-view-info td[align="center"] .product_view_i a {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
  }
  /* 庫存提醒：維持桌機 table 結構，僅手機微調字級 */
  .product-view-info .product-view-stock-notice {
    width: 100% !important;
    max-width: 300px;
    margin: 6px auto 0;
    box-sizing: border-box;
  }
  .product-view-info .product-view-stock-notice table {
    margin: 0 auto;
  }
  .product-view-info .product-view-stock-notice tr {
    display: table-row !important;
  }
  .product-view-info .product-view-stock-notice td {
    display: table-cell !important;
    vertical-align: middle !important;
    height: auto !important;
    line-height: 1.35 !important;
    overflow: visible !important;
  }
  .product-view-info .product-view-stock-notice td[height="27"] {
    height: auto !important;
    line-height: normal !important;
    font-size: inherit !important;
  }
  .product-view-info .product-view-stock-notice td[width="5"] {
    width: 5px !important;
    font-size: inherit !important;
    line-height: normal !important;
    overflow: visible !important;
  }
  .product-view-info .product-view-stock-notice td[style*="font-size:16px"] {
    font-size: 13px !important;
    line-height: 1.35 !important;
    text-align: left;
  }
  .product-view-info .product-view-stock-notice img {
    display: block;
    max-height: 22px;
    width: auto;
  }
  .product-view-info iframe {
    max-width: 100%;
  }
  .product-view-info #table2 {
    display: block;
    width: 100% !important;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .product-view-page-content .product_main_a,
  .product-view-body {
    width: 100% !important;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
  }
  .product-view-body img,
  .product-view-body table {
    max-width: 100%;
    height: auto;
  }

  .product-view-auth-grid {
    width: 100% !important;
    max-width: 100%;
  }
  .product-view-auth-grid > tbody {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 8px;
  }
  .product-view-auth-grid > tbody > tr {
    display: contents;
  }
  .product-view-auth-grid > tbody > tr > td {
    display: block;
    width: auto !important;
    flex: 0 0 auto;
  }

  .product-view-wrap table[width="625"] {
    width: 100% !important;
    max-width: 100%;
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .product-view-back img {
    max-width: 100%;
    height: auto;
  }
}

@media (max-width: 1024px) {
  .product-view-page-title {
    width: 100%;
  }
  .product-view-page-title .main_title_b {
    display: block;
    width: 100%;
    box-sizing: border-box;
    height: auto !important;
    line-height: 1.4;
    padding-top: 6px;
    padding-bottom: 6px;
  }
}

@media (max-width: 768px) {
  .product-view-breadcrumb {
    font-size: 12px;
    line-height: 1.5;
    word-break: break-word;
    padding: 0 8px 8px;
    text-align: center;
  }
  .product-view-gallery .product_index_a {
    width: min(310px, calc(100vw - 24px)) !important;
  }
  .product-view-info {
    margin: 0 8px 8px;
    padding: 8px 10px 10px;
  }
  .product-view-info .product_view_g {
    font-size: 18px;
  }
  .product-view-auth-grid > tbody {
    justify-content: center;
  }
}

/* ===== 會員登入 member_login.php — 桌機維持 655px 雙欄表單 ===== */
.member-login-page-content {
  max-width: 655px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
.member-login-signup-label {
  display: none;
}

@media (max-width: 1024px) {
  .member-login-page-content {
    width: 100%;
    max-width: 100%;
    padding: 0 12px;
    box-sizing: border-box;
  }

  .member-login-page-title {
    width: 100%;
    padding: 0 12px;
    box-sizing: border-box;
  }
  /* 維持桌機一致：兩段標題同一行 */
  .member-login-page-title tbody,
  .member-login-page-title tr,
  .member-login-page-title td {
    display: inline;
    height: auto !important;
  }
  .member-login-page-title .main_title_a,
  .member-login-page-title .main_title_b {
    display: inline;
    width: auto;
    box-sizing: border-box;
    height: auto !important;
    line-height: 1.4;
    padding-top: 0;
    padding-bottom: 4px;
  }

  .member-login-wrap,
  .member-login-shell,
  .member-login-shell > tbody,
  .member-login-shell > tbody > tr {
    display: block;
    width: 100% !important;
  }
  .member-login-shell > tbody > tr > td {
    display: block;
    width: 100% !important;
    height: auto !important;
    box-sizing: border-box;
  }
  .member-login-spacer-row,
  .member-login-spacer-row td {
    display: none !important;
    height: 0 !important;
    padding: 0 !important;
  }

  .member-login-intro {
    background: linear-gradient(180deg, #faf8f5 0%, #f3efe9 100%);
    border: 1px solid #e8e2d9;
    border-radius: 10px;
    padding: 12px 14px;
    font-size: 13px;
    line-height: 1.55;
    color: #444;
    text-align: center;
    margin-bottom: 10px;
  }

  .member-login-form-area {
    height: auto !important;
    padding: 0;
  }

  .member-login-columns,
  .member-login-columns > tbody,
  .member-login-columns > tbody > tr {
    display: block;
    width: 100% !important;
  }

  .member-login-form-col {
    display: block;
    width: 100% !important;
    max-width: 100%;
    margin: 0;
    height: auto !important;
    padding: 18px 16px 16px;
    background: #fff;
    border: 1px solid #e5e0d8;
    border-radius: 12px;
    box-shadow: 0 4px 18px rgba(60, 40, 20, 0.08);
    box-sizing: border-box;
  }

  .member-login-divider {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  .member-login-signup-col {
    display: block;
    width: 100% !important;
    max-width: 100%;
    margin: 12px 0 0;
    padding: 16px 14px 14px !important;
    background: #faf8f5;
    border: 1px dashed #d8d0c4;
    border-radius: 12px;
    text-align: center;
    box-sizing: border-box;
  }
  .member-login-signup-label {
    display: block;
    margin: 0 0 10px;
    font-size: 15px;
    font-weight: bold;
    color: #5b0c11;
    letter-spacing: 0.02em;
  }
  .member-login-signup-col img {
    max-width: min(240px, 100%);
    height: auto;
    display: inline-block;
  }

  .member-login-fields,
  .member-login-fields > tbody {
    display: block;
    width: 100% !important;
  }
  .member-login-fields > tbody > tr {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    margin-bottom: 10px;
    width: 100%;
  }
  .member-login-fields > tbody > tr.member-login-fields-gap {
    display: none !important;
    margin: 0 !important;
  }
  .member-login-fields > tbody > tr.member-login-captcha-row {
    margin-bottom: 2px;
    gap: 0;
  }
  .member-login-fields > tbody > tr.member-login-captcha-row > td:first-child {
    display: none;
  }
  .member-login-fields > tbody > tr.member-login-captcha-row > td:last-child {
    flex: 0 0 auto !important;
    width: 100%;
    padding: 0;
    line-height: 0;
  }
  .member-login-fields > tbody > tr.member-login-captcha-row + tr {
    margin-bottom: 10px;
  }
  .member-login-fields > tbody > tr > td[colspan="2"] {
    display: block;
    width: 100% !important;
    padding: 0;
    margin-top: 2px;
  }
  .member-login-fields .login_c {
    flex: 0 0 auto;
    width: 100%;
    text-align: left;
    font-size: 13px;
    font-weight: 600;
    color: #333;
    margin-bottom: 2px;
  }
  .member-login-fields > tbody > tr > td:last-child:not([colspan]) {
    flex: 0 0 auto;
    width: 100%;
    min-width: 0;
  }
  .member-login-fields .login_text_a,
  .member-login-fields .login_text_b {
    width: 100% !important;
    max-width: 100% !important;
    height: 40px;
    line-height: 38px;
    margin-left: 0 !important;
    padding: 0 12px;
    font-size: 15px;
    border-radius: 8px;
    border-color: #c9c4bc;
    box-sizing: border-box;
  }
  .member-login-fields .captcha,
  .member-login-fields .captcha_m {
    max-width: 100%;
    height: auto;
    margin-left: 0 !important;
    border-radius: 6px;
    vertical-align: top;
    display: block;
  }

  .member-login-actions,
  .member-login-actions > tbody,
  .member-login-actions > tbody > tr {
    display: block;
    width: 100% !important;
  }
  .member-login-actions > tbody > tr {
    display: flex;
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 10px;
  }
  .member-login-actions td {
    display: block;
    width: 100% !important;
    text-align: center !important;
    padding: 0;
  }
  .member-login-actions .login_forget {
    display: inline-block;
    padding: 4px 0 0;
    font-size: 14px;
  }
  .member-login-actions input.login_bottom_a_ch,
  .member-login-actions input.login_bottom_a_en,
  .member-login-actions input.login_bottom_b_ch,
  .member-login-actions input.login_bottom_b_en {
    margin: 0 auto;
    display: inline-block;
  }
}

@media (max-width: 768px) {
  .member-login-page-content {
    padding: 0 10px;
  }
  .member-login-intro {
    font-size: 12px;
    padding: 11px 12px;
    border-radius: 8px;
    margin-bottom: 8px;
  }
  .member-login-form-col {
    padding: 16px 14px 14px;
    border-radius: 10px;
  }
  .member-login-signup-col {
    margin-top: 10px;
    padding: 14px 12px 12px !important;
  }
  .member-login-fields > tbody > tr {
    margin-bottom: 9px;
    gap: 3px;
  }
  .member-login-fields > tbody > tr.member-login-captcha-row + tr {
    margin-bottom: 9px;
  }
}

/* ===== 加入會員 member_registration.php — 桌機維持原表單 ===== */
.member-reg-phone-grid,
.member-reg-phone-ext {
  display: contents;
}
.member-reg-phone-dash {
  margin: 0 2px;
}
.member-reg-phone-note {
  display: block;
  margin: 0;
}

/* 結帳頁電話：桌機單行（國碼-區碼-號碼 分機），說明另起一行 */
@media (min-width: 1025px) {
  .checkout-form-wrap.checkout-fields .checkout-phone-field .member-reg-phone-grid,
  .checkout-form-wrap.checkout-fields .checkout-phone-field .member-reg-phone-ext,
  .checkout-region-wrap.checkout-fields .checkout-phone-field .member-reg-phone-grid,
  .checkout-region-wrap.checkout-fields .checkout-phone-field .member-reg-phone-ext {
    display: inline;
    vertical-align: middle;
  }
  .checkout-form-wrap.checkout-fields .checkout-phone-field .member-reg-phone-dash,
  .checkout-region-wrap.checkout-fields .checkout-phone-field .member-reg-phone-dash {
    display: inline;
    margin: 0 2px;
    vertical-align: middle;
  }
  .checkout-form-wrap.checkout-fields .checkout-phone-field .member-reg-phone-ext-label,
  .checkout-region-wrap.checkout-fields .checkout-phone-field .member-reg-phone-ext-label {
    display: inline;
    margin: 0 2px 0 6px;
    vertical-align: middle;
    font-size: inherit;
    color: inherit;
  }
  .checkout-form-wrap.checkout-fields .checkout-phone-field .member-reg-phone-part.joinus_text_c,
  .checkout-region-wrap.checkout-fields .checkout-phone-field .member-reg-phone-part.joinus_text_c,
  .checkout-form-wrap.checkout-fields .checkout-phone-field .member-reg-phone-ext-input.joinus_text_c,
  .checkout-region-wrap.checkout-fields .checkout-phone-field .member-reg-phone-ext-input.joinus_text_c {
    width: 2.5em;
    max-width: 48px;
    vertical-align: middle;
  }
  .checkout-form-wrap.checkout-fields .checkout-phone-field .member-reg-phone-main.joinus_text_a,
  .checkout-region-wrap.checkout-fields .checkout-phone-field .member-reg-phone-main.joinus_text_a {
    width: 120px;
    vertical-align: middle;
  }
  .checkout-form-wrap.checkout-fields .checkout-phone-field .member-reg-phone-note,
  .checkout-region-wrap.checkout-fields .checkout-phone-field .member-reg-phone-note {
    display: block;
    margin: 4px 0 0;
    padding: 0;
    clear: left;
    font-size: 12px;
    line-height: 1.5;
    white-space: normal;
  }

  /* 會員註冊/修改：桌機單行（國碼-區碼-號碼 分機），說明另起一行 */
  .member-reg-fields .member-reg-phone-field .member-reg-phone-grid,
  .member-reg-fields .member-reg-phone-field .member-reg-phone-ext {
    display: inline;
    vertical-align: middle;
  }
  .member-reg-fields .member-reg-phone-field .member-reg-phone-dash {
    display: inline;
    margin: 0 2px;
    vertical-align: middle;
  }
  .member-reg-fields .member-reg-phone-field .member-reg-phone-ext-label {
    display: inline;
    margin: 0 2px 0 6px;
    vertical-align: middle;
    font-size: inherit;
    color: inherit;
  }
  .member-reg-fields .member-reg-phone-field .member-reg-phone-part.joinus_text_c,
  .member-reg-fields .member-reg-phone-field .member-reg-phone-ext-input.joinus_text_c {
    width: 2.5em;
    max-width: 48px;
    height: 23px;
    line-height: 19px;
    margin-left: 2px;
    padding-left: 4px;
    padding-right: 4px;
    text-align: center;
    vertical-align: middle;
    display: inline-block;
    box-sizing: border-box;
  }
  .member-reg-fields .member-reg-phone-field .member-reg-phone-main.joinus_text_a {
    width: 160px;
    height: 23px;
    line-height: 19px;
    margin-left: 2px;
    padding-left: 4px;
    vertical-align: middle;
    display: inline-block;
    box-sizing: border-box;
  }
  .member-reg-fields .member-reg-phone-field .member-reg-phone-note {
    display: block;
    margin: 4px 0 0;
    padding: 0;
    clear: left;
    font-size: 12px;
    line-height: 1.5;
    white-space: normal;
  }
}

@media (max-width: 1024px) {
  .member-reg-wrap,
  .member-reg-shell,
  .member-reg-shell > tbody,
  .member-reg-shell > tbody > tr {
    display: block;
    width: 100% !important;
  }
  .member-reg-shell > tbody > tr > td {
    display: block;
    width: 100% !important;
    height: auto !important;
    box-sizing: border-box;
  }

  .member-reg-intro {
    background: linear-gradient(180deg, #faf8f5 0%, #f3efe9 100%);
    border: 1px solid #e8e2d9;
    border-radius: 10px;
    padding: 12px 14px;
    margin-bottom: 10px;
    font-size: 13px;
    line-height: 1.55;
    color: #444;
  }
  .member-reg-intro ol {
    margin: 0;
    padding-left: 1.2em;
  }
  .member-reg-intro li {
    margin-bottom: 4px;
  }
  .member-reg-intro li:last-child {
    margin-bottom: 0;
  }

  .member-reg-form-area {
    height: auto !important;
    padding: 0;
  }

  .member-reg-fields,
  .member-reg-fields > tbody {
    display: block;
    width: 100% !important;
  }
  .member-reg-fields {
    max-width: 100%;
    margin: 0;
    padding: 18px 16px 16px;
    background: #fff;
    border: 1px solid #e5e0d8;
    border-radius: 12px;
    box-shadow: 0 4px 18px rgba(60, 40, 20, 0.08);
    box-sizing: border-box;
  }

  .member-reg-wholesale-intro {
    border-radius: 8px !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
    margin-bottom: 4px;
  }

  .member-reg-fields > tbody > tr {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    margin-bottom: 10px;
    width: 100%;
  }
  .member-reg-fields > tbody > tr.member-reg-fields-gap {
    display: none !important;
    margin: 0 !important;
  }
  .member-reg-fields > tbody > tr.member-reg-captcha-row {
    margin-bottom: 2px;
    gap: 0;
  }
  .member-reg-fields > tbody > tr.member-reg-captcha-row > td:first-child {
    display: none;
  }
  .member-reg-fields > tbody > tr.member-reg-captcha-row > td:last-child {
    flex: 0 0 auto !important;
    width: 100%;
    padding: 0;
    line-height: 0;
  }
  .member-reg-fields > tbody > tr.member-reg-captcha-row + tr {
    margin-bottom: 10px;
  }
  .member-reg-fields > tbody > tr > td[colspan="2"] {
    display: block;
    width: 100% !important;
    padding: 0;
    margin-top: 2px;
  }
  .member-reg-fields > tbody > tr > td:first-child:not([colspan]) {
    width: 100%;
    text-align: left;
    font-size: 13px;
    font-weight: 600;
    color: #333;
    white-space: normal;
    padding-top: 0;
  }
  .member-reg-fields > tbody > tr > td:last-child:not([colspan]) {
    flex: 0 0 auto;
    width: 100%;
    min-width: 0;
    font-size: 12px;
    line-height: 1.5;
    color: #666;
  }

  .member-reg-fields .joinus_text_a,
  .member-reg-fields .joinus_text_b,
  .member-reg-fields .joinus_text_c,
  .member-reg-fields .joinus_text_d,
  .member-reg-fields .joinus_text_f,
  .member-reg-fields .login_text_c,
  .member-reg-fields .joinus_select_a,
  .member-reg-fields #countries_zones select {
    width: 100% !important;
    max-width: 100% !important;
    height: 40px;
    line-height: 38px;
    margin-left: 0 !important;
    margin-bottom: 4px;
    padding: 0 12px;
    font-size: 15px;
    color: #333;
    text-align: left;
    background: #fff;
    border-radius: 0;
    border: 1px solid #c9c4bc !important;
    box-sizing: border-box;
    display: block;
    -webkit-appearance: none;
    appearance: none;
  }
  .member-reg-fields .captcha,
  .member-reg-fields .captcha_m {
    max-width: 100%;
    height: auto;
    margin-left: 0 !important;
    border-radius: 0;
    vertical-align: top;
    display: block;
  }

  .member-reg-phone-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 12px minmax(0, 1fr) 12px minmax(0, 1.6fr);
    gap: 6px 0;
    align-items: center;
    margin-bottom: 8px;
  }
  .member-reg-phone-dash {
    text-align: center;
    color: #888;
    font-size: 14px;
    line-height: 1;
    margin: 0;
  }
  .member-reg-phone-field .member-reg-phone-part,
  .member-reg-phone-field .member-reg-phone-main,
  .member-reg-phone-field .member-reg-phone-ext-input {
    width: 100% !important;
    max-width: 100% !important;
    height: 40px;
    line-height: 38px;
    margin: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 10px;
    font-size: 15px;
    text-align: left;
    border: 1px solid #c9c4bc !important;
    border-radius: 0;
    box-sizing: border-box;
    display: block;
    background: #fff;
  }
  .member-reg-phone-ext {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
  }
  .member-reg-phone-ext-label {
    flex: 0 0 auto;
    font-size: 13px;
    color: #333;
    white-space: nowrap;
  }
  .member-reg-phone-ext-input {
    flex: 0 0 88px;
    width: 88px !important;
    max-width: 88px !important;
  }
  .member-reg-phone-note {
    display: block;
    margin: 0;
    font-size: 12px;
    line-height: 1.5;
    color: #666;
  }

  .member-reg-birthday-field {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
  }
  .member-reg-birthday-field .joinus_select_a {
    flex: 1 1 88px;
    width: auto !important;
    max-width: calc(33.33% - 6px);
    margin-bottom: 0;
    border: 1px solid #c9c4bc !important;
    border-radius: 0;
    height: 40px;
    line-height: 38px;
  }

  .member-reg-actions,
  .member-reg-actions > tbody,
  .member-reg-actions > tbody > tr,
  .member-reg-actions td {
    display: block;
    width: 100% !important;
    text-align: center !important;
  }
  .member-reg-actions input.login_bottom_b_ch,
  .member-reg-actions input.login_bottom_b_en,
  .member-reg-actions input.registration_a_ch,
  .member-reg-actions input.registration_a_en,
  .member-reg-actions input.content_a_ch,
  .member-reg-actions input.content_a_en {
    margin: 0 4px;
    display: inline-block;
  }

  .member-reg-fields > tbody > tr.member-edit-password-row > td,
  .member-reg-fields > tbody > tr.member-edit-wholesale-row > td {
    background-color: inherit;
  }
  .member-reg-fields > tbody > tr.member-edit-password-row > td[bgcolor="#FFCCCC"] {
    background-color: #FFCCCC !important;
  }
  .member-reg-fields > tbody > tr.member-edit-wholesale-row > td[bgcolor="#F3F3BE"] {
    background-color: #F3F3BE !important;
  }
}

@media (max-width: 768px) {
  .member-reg-intro {
    font-size: 12px;
    padding: 11px 12px;
    border-radius: 8px;
    margin-bottom: 8px;
  }
  .member-reg-fields {
    padding: 16px 14px 14px;
    border-radius: 10px;
  }
  .member-reg-fields > tbody > tr {
    margin-bottom: 9px;
    gap: 3px;
  }
  .member-reg-fields > tbody > tr.member-reg-captcha-row + tr {
    margin-bottom: 9px;
  }
  .member-reg-fields .joinus_text_a,
  .member-reg-fields .joinus_text_b,
  .member-reg-fields .joinus_text_c,
  .member-reg-fields .joinus_text_d,
  .member-reg-fields .joinus_text_f,
  .member-reg-fields .login_text_c,
  .member-reg-fields .joinus_select_a,
  .member-reg-fields #countries_zones select,
  .member-reg-phone-field .member-reg-phone-part,
  .member-reg-phone-field .member-reg-phone-main,
  .member-reg-phone-field .member-reg-phone-ext-input,
  .member-reg-birthday-field .joinus_select_a {
    height: 32px;
    line-height: 30px;
    font-size: 14px;
    padding: 0 8px;
    border-radius: 0;
    border: 1px solid #c9c4bc !important;
  }
  .member-reg-birthday-field .joinus_select_a {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .member-reg-phone-grid {
    grid-template-columns: minmax(0, 1fr) 10px minmax(0, 1fr) 10px minmax(0, 1.5fr);
    gap: 4px 0;
    margin-bottom: 6px;
  }
  .member-reg-phone-ext {
    margin-bottom: 6px;
  }
  .member-reg-phone-ext-input {
    flex: 0 0 72px;
    width: 72px !important;
    max-width: 72px !important;
  }

  .member-reg-actions input.content_a_ch,
  .member-reg-actions input.content_a_en {
    max-width: 100%;
  }
}

/* ===== 會員修改 member_edit.php — 複用 member-reg / member-login-page RWD ===== */

/* ===== 追蹤清單 member_trace_list.php — 桌機維持原 630px 列表 ===== */
.member-trace-page-content {
  max-width: 655px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
.member-trace-page-title {
  width: 270px;
  max-width: 100%;
}

@media (max-width: 1024px) {
  .member-trace-page-content {
    width: 100%;
    max-width: 100%;
    padding: 0 12px;
    box-sizing: border-box;
  }

  .member-trace-page-title {
    width: 100%;
  }
  .member-trace-page-title .main_title_b {
    display: block;
    width: 100%;
    height: auto !important;
    line-height: 1.4;
    box-sizing: border-box;
  }

  .member-trace-wrap,
  .member-trace-shell,
  .member-trace-shell > tbody,
  .member-trace-shell > tbody > tr {
    display: block;
    width: 100% !important;
  }
  .member-trace-shell > tbody > tr > td {
    display: block;
    width: 100% !important;
    height: auto !important;
    box-sizing: border-box;
  }

  .member-trace-list-area {
    height: auto !important;
    padding: 0;
  }

  .member-trace-table,
  .member-trace-table > tbody {
    display: block;
    width: 100% !important;
  }
  .member-trace-spacer-row {
    display: none !important;
  }

  .member-trace-item {
    display: block;
    width: 100% !important;
  }
  .member-trace-item > td {
    display: block;
    width: 100% !important;
    height: auto !important;
    box-sizing: border-box;
    white-space: normal !important;
  }
  .member-trace-body-spacer {
    display: none !important;
  }

  .member-trace-title-table,
  .member-trace-title-table > tbody,
  .member-trace-title-table > tbody > tr {
    display: block;
    width: 100% !important;
  }
  .member-trace-title-table > tbody > tr > td {
    display: block;
    width: 100% !important;
    height: auto !important;
    text-align: left !important;
    padding: 8px 10px;
    box-sizing: border-box;
  }
  .member-trace-title-spacer {
    display: none !important;
  }
  .member-trace-title-name {
    font-size: 15px;
    line-height: 1.45;
  }
  .member-trace-title-id {
    font-size: 12px;
    padding-top: 0 !important;
    border-top: 1px solid #ddd;
  }

  .member-trace-body-table,
  .member-trace-body-table > tbody,
  .member-trace-body-table > tbody > tr {
    display: block;
    width: 100% !important;
  }
  .member-trace-body-table > tbody > tr > td {
    display: block;
    width: 100% !important;
    height: auto !important;
    box-sizing: border-box;
  }
  .member-trace-body-gap {
    display: none !important;
  }

  .member-trace-item-img {
    text-align: center;
    padding: 10px 0 8px;
  }
  .member-trace-item-img img {
    max-width: 90px;
    height: auto;
  }

  .member-trace-item-main,
  .member-trace-item-main > tbody,
  .member-trace-item-main > tbody > tr,
  .member-trace-item-main > tbody > tr > td {
    display: block;
    width: 100% !important;
    height: auto !important;
  }

  .member-trace-desc-table,
  .member-trace-desc-table > tbody,
  .member-trace-desc-table > tbody > tr {
    display: block;
    width: 100% !important;
  }
  .member-trace-desc-table > tbody > tr > td {
    display: block;
    width: 100% !important;
    height: auto !important;
    box-sizing: border-box;
  }
  .member-trace-item-desc {
    font-size: 13px;
    line-height: 1.55;
    padding: 0 0 8px;
  }
  .member-trace-item-del {
    text-align: right;
    padding: 0 0 8px;
  }
  .member-trace-item-del img {
    width: 18px;
    height: 18px;
  }

  .member-trace-footer-table,
  .member-trace-footer-table > tbody,
  .member-trace-footer-table > tbody > tr {
    display: block;
    width: 100% !important;
  }
  .member-trace-footer-table > tbody > tr > td {
    display: block;
    width: 100% !important;
    height: auto !important;
    text-align: left !important;
    box-sizing: border-box;
    padding: 4px 0;
  }
  .member-trace-item-cart {
    text-align: left !important;
    padding-top: 8px !important;
  }
  .member-trace-item-cart img {
    max-width: 120px;
    height: auto;
  }

  .member-trace-list-area .nodate_text {
    text-align: center;
    padding: 24px 12px;
  }
}

@media (max-width: 768px) {
  .member-trace-page-content {
    padding: 0 8px;
  }
  .member-trace-title-name {
    font-size: 14px;
  }
  .member-trace-item-desc {
    font-size: 12px;
  }
  .member-trace-item-cart img {
    max-width: 100%;
  }
}

/* ===== 歷史訂單 order_history.php — 桌機維持原 630px 表單／列表 ===== */
.order-history-page-content {
  max-width: 630px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
.order-history-page-title {
  width: 270px;
  max-width: 100%;
}

@media (max-width: 1024px) {
  .order-history-page-content {
    width: 100%;
    max-width: 100%;
    padding: 0 12px;
    box-sizing: border-box;
  }

  .order-history-page-title {
    width: fit-content;
    max-width: 100%;
  }
  .order-history-page-title .main_title_b {
    display: inline-block !important;
    width: auto !important;
    max-width: 100%;
    box-sizing: border-box;
    height: auto !important;
    line-height: 1.4;
    padding-top: 2px;
    padding-bottom: 2px;
  }

  .order-history-wrap,
  .order-history-shell,
  .order-history-shell > tbody,
  .order-history-shell > tbody > tr {
    display: block;
    width: 100% !important;
  }
  .order-history-shell > tbody > tr > td {
    display: block;
    width: 100% !important;
    height: auto !important;
    box-sizing: border-box;
  }

  .order-history-intro {
    background: linear-gradient(180deg, #faf8f5 0%, #f3efe9 100%);
    border: 1px solid #e8e2d9;
    border-radius: 10px;
    padding: 12px 14px;
    margin-bottom: 10px;
    font-size: 13px;
    line-height: 1.55;
    color: #444;
  }
  .order-history-intro ol {
    margin: 0;
    padding-left: 1.2em;
  }
  .order-history-intro li {
    margin-bottom: 4px;
  }
  .order-history-intro li:last-child {
    margin-bottom: 0;
  }

  .order-history-form-area,
  .order-history-list-area {
    height: auto !important;
    padding: 0;
  }

  .order-history-fields,
  .order-history-fields > tbody {
    display: block;
    width: 100% !important;
  }
  .order-history-fields {
    max-width: 100%;
    margin: 0;
    padding: 18px 16px 16px;
    background: #fff;
    border: 1px solid #e5e0d8;
    border-radius: 12px;
    box-shadow: 0 4px 18px rgba(60, 40, 20, 0.08);
    box-sizing: border-box;
  }

  .order-history-fields > tbody > tr {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
    margin-bottom: 12px;
  }
  .order-history-fields > tbody > tr.order-history-fields-gap {
    display: none;
  }
  .order-history-fields > tbody > tr.order-history-captcha-row > td:first-child {
    display: none;
  }
  .order-history-fields > tbody > tr.order-history-captcha-row > td:last-child {
    width: 100%;
    text-align: left;
  }
  .order-history-fields > tbody > tr > td[colspan="2"] {
    display: block;
    width: 100% !important;
    padding: 0;
  }
  .order-history-fields > tbody > tr > td:first-child:not([colspan]) {
    width: 100% !important;
    text-align: left !important;
    height: auto !important;
    padding: 0;
    font-size: 13px;
    line-height: 1.4;
  }
  .order-history-fields > tbody > tr > td:last-child:not([colspan]) {
    width: 100% !important;
    padding: 0;
  }
  .order-history-fields .orderstory_a,
  .order-history-fields .orderstory_b {
    width: 100% !important;
    max-width: 100%;
    height: 32px;
    line-height: 32px;
    box-sizing: border-box;
    margin-left: 0;
    border-radius: 0;
  }
  .order-history-fields .captcha,
  .order-history-fields .captcha_m {
    max-width: 100%;
    height: auto;
  }

  .order-history-actions,
  .order-history-actions > tbody,
  .order-history-actions > tbody > tr {
    display: block;
    width: 100% !important;
  }
  .order-history-actions td {
    display: block;
    width: 100% !important;
    text-align: center !important;
    padding-top: 4px;
  }

  .order-history-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    background: #fff;
    border: 1px solid #e5e0d8;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(58, 39, 9, 0.06);
    box-sizing: border-box;
  }
  .order-history-table-wrap table#table1 {
    width: 100%;
    min-width: 520px;
    margin: 0;
    border: none !important;
  }
  .order-history-table-wrap table#table1 td {
    font-size: 12px;
    padding: 8px 6px;
    white-space: nowrap;
  }

  .order-history-nodata {
    padding: 24px 12px;
    text-align: center;
  }
  .order-history-nodata table {
    width: 100% !important;
    margin: 0 auto;
  }
  .order-history-nodata table table {
    margin: 0 auto;
  }
  .order-history-nodata .nodate_text {
    font-size: 14px;
  }
}

@media (max-width: 768px) {
  .order-history-page-content {
    padding: 0 10px;
  }
  .order-history-fields {
    padding: 16px 14px 14px;
  }
  .order-history-fields .orderstory_a,
  .order-history-fields .orderstory_b {
    height: 32px;
    line-height: 32px;
  }
  .order-history-table-wrap table#table1 {
    min-width: 480px;
  }
  .order-history-table-wrap table#table1 td {
    font-size: 11px;
    padding: 7px 4px;
  }
}

/* ===== 歷史訂單明細 order_history_view.php — 桌機維持原 630px ===== */
.order-history-view-page-content {
  max-width: 630px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
.order-history-view-page-title {
  width: 270px;
  max-width: 100%;
}

/* 訂單產品列表 — 合計列（桌機／RWD 共用，不受欄位隱藏影響） */
.order-history-view-products-wrap table#table2 tr.order-history-view-summary-row .ohv-summary-cell {
  padding: 0;
  border-top: 1px solid #e8e2d9;
  vertical-align: middle;
}
.order-history-view-products-wrap table#table2 tr.order-history-view-summary-row .ohv-summary-inner {
  display: grid;
  grid-template-columns: 1fr minmax(120px, 42%);
  gap: 8px 12px;
  align-items: center;
  width: 100%;
  min-height: 30px;
  padding: 8px 6px;
  box-sizing: border-box;
}
.order-history-view-products-wrap table#table2 tr.order-history-view-summary-row .ohv-summary-label {
  text-align: right;
  white-space: normal;
  word-break: break-word;
}
.order-history-view-products-wrap table#table2 tr.order-history-view-summary-row .ohv-summary-value {
  text-align: center;
  white-space: normal;
  word-break: break-word;
}
.order-history-view-products-wrap table#table2 tr.order-history-view-summary-total .ohv-summary-inner {
  padding-top: 10px;
  padding-bottom: 10px;
}
.order-history-view-products-wrap table#table2 tr.order-history-view-summary-total .ohv-summary-label,
.order-history-view-products-wrap table#table2 tr.order-history-view-summary-total .ohv-summary-value {
  font-weight: bold;
}

@media (max-width: 1024px) {
  .order-history-view-page-content {
    width: 100%;
    max-width: 100%;
    padding: 0 12px;
    box-sizing: border-box;
  }

  .order-history-view-page-title {
    width: fit-content;
    max-width: 100%;
  }
  .order-history-view-page-title .main_title_b {
    display: inline-block !important;
    width: auto !important;
    max-width: 100%;
    box-sizing: border-box;
    height: auto !important;
    line-height: 1.4;
    padding-top: 2px;
    padding-bottom: 2px;
  }

  .order-history-view-wrap,
  .order-history-view-shell,
  .order-history-view-shell > tbody,
  .order-history-view-shell > tbody > tr,
  .order-history-view-box,
  .order-history-view-box > tbody,
  .order-history-view-box > tbody > tr {
    display: block;
    width: 100% !important;
  }
  .order-history-view-shell > tbody > tr > td,
  .order-history-view-box > tbody > tr > td {
    display: block;
    width: 100% !important;
    height: auto !important;
    box-sizing: border-box;
  }

  .order-history-view-section-title {
    font-size: 14px;
    font-weight: bold;
    color: #333;
    padding: 8px 0 6px;
    height: auto !important;
  }
  .order-history-view-section-title table {
    width: auto;
  }
  .order-history-view-spacer {
    display: none !important;
    height: 0 !important;
    padding: 0 !important;
  }

  .order-history-view-detail-wrap {
    width: 100%;
    max-width: 100%;
    background: #fff;
    border: 1px solid #e5e0d8;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(58, 39, 9, 0.06);
    box-sizing: border-box;
    overflow: hidden;
  }
  .order-history-view-detail-wrap table#table1,
  .order-history-view-detail-wrap table#table1 > tbody {
    display: block;
    width: 100% !important;
    border: none !important;
  }
  .order-history-view-detail-wrap table#table1 > tbody > tr {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    border-bottom: 1px solid #ece7df;
  }
  .order-history-view-detail-wrap table#table1 > tbody > tr:last-child {
    border-bottom: none;
  }
  .order-history-view-detail-wrap table#table1 > tbody > tr > td[colspan="2"][bgcolor] {
    display: block;
    width: 100% !important;
    height: 2px !important;
    min-height: 2px;
    padding: 0 !important;
    line-height: 0;
    font-size: 0;
    border: none;
  }
  .order-history-view-detail-wrap table#table1 > tbody > tr > td.table_from_Title {
    width: 100% !important;
    text-align: left !important;
    height: auto !important;
    padding: 10px 12px 2px !important;
    font-size: 12px;
    color: #666;
    background: transparent !important;
  }
  .order-history-view-detail-wrap table#table1 > tbody > tr > td:not(.table_from_Title) {
    width: 100% !important;
    height: auto !important;
    padding: 0 12px 10px !important;
    font-size: 13px;
    line-height: 1.5;
    word-break: break-word;
    background: transparent !important;
  }
  .order-history-view-detail-wrap table#table1 table,
  .order-history-view-detail-wrap table#table1 table > tbody {
    display: block;
    width: 100% !important;
  }
  .order-history-view-detail-wrap table#table1 table > tbody > tr {
    display: flex;
    flex-direction: column;
    border-bottom: 1px dashed #e8e2d9;
  }
  .order-history-view-detail-wrap table#table1 table > tbody > tr:last-child {
    border-bottom: none;
  }
  .order-history-view-detail-wrap table#table1 table td.table_from_Title {
    width: 100% !important;
    text-align: left !important;
    padding: 8px 0 2px !important;
    font-size: 12px;
    color: #666;
    white-space: normal !important;
  }
  .order-history-view-detail-wrap table#table1 table td:not(.table_from_Title) {
    width: 100% !important;
    padding: 0 0 8px !important;
    font-size: 13px;
    white-space: normal !important;
    word-break: break-word;
  }
  .order-history-view-detail-wrap table#table1 .table_Box {
    border: 1px solid #e5e0d8;
    border-radius: 8px;
    margin-top: 4px;
    overflow: hidden;
  }
  .order-history-view-detail-wrap table#table1 .table_Box > tbody > tr > td {
    padding: 10px 12px !important;
  }

  .order-history-view-products-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: visible;
    background: #fff;
    border: 1px solid #e5e0d8;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(58, 39, 9, 0.06);
    box-sizing: border-box;
  }
  /* 方案 C：隱藏次要欄，表格全寬、不橫向捲動 */
  .order-history-view-products-wrap table#table2 {
    width: 100%;
    min-width: 0;
    margin: 0;
    border: none !important;
    table-layout: fixed;
  }
  .order-history-view-products-wrap table#table2 .ohv-col-promo,
  .order-history-view-products-wrap table#table2 .ohv-col-wholesale {
    display: none;
  }
  .order-history-view-products-wrap table#table2 td {
    font-size: 12px;
    padding: 7px 4px;
    white-space: normal !important;
    word-break: break-word;
    overflow-wrap: anywhere;
    vertical-align: middle;
  }
  .order-history-view-products-wrap table#table2 .ohv-col-id {
    width: 16%;
    text-align: center !important;
  }
  .order-history-view-products-wrap table#table2 .ohv-col-name {
    width: 34%;
    text-align: left !important;
  }
  .order-history-view-products-wrap table#table2 .ohv-col-unit {
    width: 18%;
  }
  .order-history-view-products-wrap table#table2 .ohv-col-qty {
    width: 10%;
    text-align: center !important;
  }
  .order-history-view-products-wrap table#table2 .ohv-col-total {
    width: 22%;
  }

  .order-history-view-back {
    padding: 16px 0 8px !important;
    height: auto !important;
    text-align: center !important;
  }
  .order-history-view-back img {
    max-width: 100%;
    height: auto;
  }
}

@media (max-width: 768px) {
  .order-history-view-page-content {
    padding: 0 10px;
  }
  .order-history-view-detail-wrap table#table1 > tbody > tr > td.table_from_Title {
    font-size: 11px;
    padding: 9px 10px 2px !important;
  }
  .order-history-view-detail-wrap table#table1 > tbody > tr > td:not(.table_from_Title) {
    font-size: 12px;
    padding: 0 10px 9px !important;
  }
  /* 手機再隱藏編號、單價，保留名稱／數量／小計 */
  .order-history-view-products-wrap table#table2 .ohv-col-id,
  .order-history-view-products-wrap table#table2 .ohv-col-unit {
    display: none;
  }
  .order-history-view-products-wrap table#table2 .ohv-col-name {
    width: 52%;
  }
  .order-history-view-products-wrap table#table2 .ohv-col-qty {
    width: 14%;
  }
  .order-history-view-products-wrap table#table2 .ohv-col-total {
    width: 34%;
  }
  .order-history-view-products-wrap table#table2 td {
    font-size: 11px;
    padding: 6px 3px;
  }
  .order-history-view-products-wrap table#table2 tr.order-history-view-summary-row .ohv-summary-inner {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 8px 4px;
  }
  .order-history-view-products-wrap table#table2 tr.order-history-view-summary-row .ohv-summary-label,
  .order-history-view-products-wrap table#table2 tr.order-history-view-summary-row .ohv-summary-value {
    text-align: right;
    font-size: 11px;
    line-height: 1.4;
  }
}

/* ===== Cart / Checkout product list (retail) ===== */
.cart-page-content,
.checkout-page-content {
  max-width: 630px;
  margin-left: auto;
  margin-right: auto;
}
.cart-page-title,
.checkout-page-title,
.pay-end-page-title {
  width: 270px;
  max-width: 100%;
}

/* ===== main_title 取消固定 height，改 padding + 垂直置中 ===== */
.main-inner > div[style*="width:270"] .main_title_a[style*="height"],
.main-inner > div[style*="width:270px"] .main_title_a[style*="height"],
.main-inner > div[style*="width:270"] .main_title_b,
.main-inner > div[style*="width:270px"] .main_title_b,
table[class*="-page-title"] td.main_title_b {
  height: auto !important;
  box-sizing: border-box;
  line-height: 1.4;
}
.main-inner > div[style*="width:270"] .main_title_a[style*="height"],
.main-inner > div[style*="width:270px"] .main_title_a[style*="height"] {
  display: block;
  padding-top: 0 !important;
  padding-bottom: 4px !important;
}

/* ===== 內頁標題 main_title_b — 平板／手機（搜尋／購物車等多頁共用）===== */
@media (max-width: 1024px) {
  .main-inner > div[style*="width:270"] .main_title_b,
  .main-inner > div[style*="width:270px"] .main_title_b,
  table[class*="-page-title"] td.main_title_b {
    display: inline-flex;
    align-items: center;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }

  .main-inner > table[class*="-page-title"],
  table[class*="-page-title"] {
    width: auto !important;
    max-width: calc(100% - 24px);
    margin: 0 12px 4px;
    box-sizing: border-box;
  }
  table[class*="-page-title"]:not(.member-login-page-title):not(.member-forget-page-title) .main_title_b,
  .main-inner > div[style*="width:270"] .main_title_b,
  .main-inner > div[style*="width:270px"] .main_title_b {
    display: inline-flex !important;
    width: auto !important;
    min-width: 7em;
    height: auto !important;
    padding: 8px 20px !important;
    margin: 0 0 12px;
    font-size: 14px !important;
    line-height: 1.45 !important;
    box-sizing: border-box;
    align-items: center;
    vertical-align: middle;
    text-align: center;
  }
}

/* 桌機：內頁標題色條維持 270px 全寬 */
@media (min-width: 1025px) {
  .main-inner table[class*="-page-title"],
  table[class*="-page-title"] {
    width: 270px;
    max-width: 100%;
    table-layout: fixed;
  }
  table[class*="-page-title"] .main_title_b,
  .main-inner > div[style*="width:270"] .main_title_b,
  .main-inner > div[style*="width:270px"] .main_title_b,
  .product-section-head .main_title_b,
  .product-page-head table .main_title_b {
    display: flex !important;
    align-items: center;
    width: 100% !important;
    box-sizing: border-box;
    height: auto !important;
    padding: 5px 5px !important;
    text-align: left;
  }
  table.member-login-page-title,
  table.member-forget-page-title {
    display: table !important;
    width: 270px;
    max-width: 100%;
    table-layout: fixed;
  }
  table.member-login-page-title > tbody,
  table.member-forget-page-title > tbody {
    display: table-row-group !important;
  }
  table.member-login-page-title > tbody > tr,
  table.member-forget-page-title > tbody > tr {
    display: table-row !important;
  }
  table.member-login-page-title > tbody > tr > td,
  table.member-forget-page-title > tbody > tr > td {
    display: table-cell !important;
    width: 100%;
  }
  table.member-login-page-title .main_title_a,
  table.member-forget-page-title .main_title_a {
    display: block;
    width: 100%;
    height: auto !important;
    padding-bottom: 4px;
  }
  .main-inner > div[style*="width:270"] .main_title_a,
  .main-inner > div[style*="width:270px"] .main_title_a {
    height: auto !important;
    padding-bottom: 4px;
  }
}

/* ===== information.php 內容區 RWD ===== */
.main-inner .infor_main {
  word-break: break-word;
  overflow-wrap: break-word;
}
.main-inner .infor_main a,
.main-inner a.information_map_link {
  overflow-wrap: anywhere;
  word-break: break-all;
}
.main-inner .information_map_a {
  word-break: break-word;
  overflow-wrap: break-word;
}
@media (max-width: 1024px) {
  .main-inner .infor_main {
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
    font-size: 14px;
    line-height: 1.65;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .main-inner .infor_main img {
    max-width: 100% !important;
    height: auto !important;
  }
  .main-inner .infor_main table {
    max-width: 100%;
    width: 100% !important;
    table-layout: fixed;
  }
  .main-inner .infor_main td,
  .main-inner .infor_main th {
    word-break: break-word;
    overflow-wrap: anywhere;
  }
  .main-inner .information_map_a,
  .main-inner .information_map_a ul {
    max-width: 100%;
    padding-left: 1.2em;
    box-sizing: border-box;
  }
}
@media (max-width: 768px) {
  .main-inner .infor_main {
    font-size: 13px;
  }
}

.cart-list-wrap,
.checkout-cart-wrap,
.checkout-page-wrap,
.pay-end-wrap {
  width: 630px;
  max-width: 100%;
}
.cart-list-wrap > tbody > tr > td,
.checkout-cart-wrap > tbody > tr > td,
.checkout-page-wrap > tbody > tr > td,
.pay-end-wrap > tbody > tr > td {
  width: 100%;
}
.cart-list-table tr.cart-list-head .cart-col-info-head {
  text-align: center;
}
.cart-list-wrap tr.cart-summary-row .cart-summary-cell,
.checkout-cart-wrap tr.cart-summary-row .cart-summary-cell {
  padding: 0;
  border-top: 1px solid #e8e2d9;
  vertical-align: middle;
}
.cart-list-wrap tr.cart-summary-row .cart-summary-inner,
.checkout-cart-wrap tr.cart-summary-row .cart-summary-inner {
  display: grid;
  grid-template-columns: 1fr minmax(120px, 42%);
  gap: 8px 12px;
  align-items: center;
  padding: 10px 8px;
}
.cart-list-wrap tr.cart-summary-row .cart-summary-label,
.checkout-cart-wrap tr.cart-summary-row .cart-summary-label {
  text-align: right;
  white-space: normal;
  word-break: break-word;
}
.cart-list-wrap tr.cart-summary-row .cart-summary-value,
.checkout-cart-wrap tr.cart-summary-row .cart-summary-value {
  text-align: center;
  white-space: normal;
  word-break: break-word;
}
.cart-summary-inner-checkout {
  display: block !important;
  text-align: right;
  padding: 10px 8px;
  box-sizing: border-box;
}
.cart-summary-inner-checkout > table {
  width: auto;
  max-width: 100%;
  margin-left: auto;
  margin-bottom: 6px;
  border-collapse: collapse;
}
.cart-summary-inner-checkout > table:last-child {
  margin-bottom: 0;
}
.cart-summary-inner-checkout > table tr {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: baseline;
  gap: 4px 10px;
}
.cart-summary-inner-checkout > table td {
  width: auto !important;
  padding: 0;
  white-space: normal;
  word-break: break-word;
}
.cart-summary-inner-checkout > table td[width="50"] {
  display: none;
}
.cart-promo-mobile-row {
  display: none;
}
.cart-promo-mobile-link a {
  font-size: 12px;
  color: #8b4513;
  text-decoration: underline;
}
.cart-mobile-field-label {
  display: none;
}

/* 購物車／結帳清單：平板／手機欄位對齊（colgroup + 表頭六欄一致） */
@media (max-width: 1024px) {
  .cart-page-content .cart-list-table.cart-rwd-cols,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols {
    table-layout: fixed;
    width: 100% !important;
    border-collapse: collapse;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols col.cart-col-total,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols col.cart-col-total {
    width: 0;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols col.cart-col-img,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols col.cart-col-img {
    width: 64px;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols col.cart-col-unit,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols col.cart-col-unit {
    width: 76px;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols col.cart-col-qty,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols col.cart-col-qty {
    width: 44px;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols col.cart-col-delete {
    width: 32px;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols .cart-col-total,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .cart-col-total {
    visibility: collapse;
    padding: 0 !important;
    border: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols tr.cart-list-head td,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols tr.cart-list-head td {
    padding: 6px 2px;
    font-size: 12px;
    font-weight: bold;
    text-align: center !important;
    vertical-align: middle;
    white-space: nowrap;
    line-height: 1.2;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols tr.cart-list-head .cart-col-info,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols tr.cart-list-head .cart-col-info {
    white-space: normal;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols tr.cart-item-row > td,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols tr.cart-item-row > td {
    padding: 4px 2px;
    font-size: 12px;
    line-height: 1.25;
    vertical-align: middle;
    height: auto !important;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols .cart-col-img,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .cart-col-img {
    width: 64px;
    text-align: center !important;
    padding: 2px;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols .cart-col-img img,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .cart-col-img img {
    display: block;
    max-width: 56px;
    max-height: 56px;
    width: auto;
    height: auto;
    margin: 0 auto;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols .cart-col-info,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .cart-col-info {
    width: auto;
    min-width: 0;
    text-align: left !important;
    padding-left: 4px;
    padding-right: 4px;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols .cart-col-unit,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .cart-col-unit {
    width: 76px;
    text-align: center !important;
    padding: 2px;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols .cart-col-qty,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .cart-col-qty {
    width: 44px;
    text-align: center !important;
    padding: 2px;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols .cart-col-delete {
    width: 32px;
    text-align: center !important;
    padding: 2px;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols .cart-col-info > table,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .cart-col-info > table {
    width: 100% !important;
    height: auto !important;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols .cart-col-info > table td[width="5"],
  .cart-page-content .cart-list-table.cart-rwd-cols .cart-col-info > table td:first-child:empty,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .cart-col-info > table td[width="5"],
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .cart-col-info > table td:first-child:empty {
    display: none;
    width: 0 !important;
    padding: 0;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols .cart-col-info .product_card_b,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .cart-col-info .product_card_b {
    width: auto;
    max-width: 100%;
    line-height: 1.25;
    margin: 0;
    font-size: 12px;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols .cart-col-info .product_card_d,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .cart-col-info .product_card_d {
    line-height: 1.2;
    padding-left: 0;
    font-size: 11px;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols .cart-col-info td[height="25"],
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .cart-col-info td[height="25"] {
    height: auto !important;
  }
  /* 平板／手機：單價欄只留主價，促銷階梯改由品名下方連結 */
  .cart-page-content .cart-list-table.cart-rwd-cols .cart-col-unit > a[id^="tip_promotions_"],
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .cart-col-unit > a[id^="tip_promotions_"] {
    display: none !important;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols .cart-col-unit table,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .cart-col-unit table {
    margin: 0 auto;
    width: auto !important;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols .cart-col-unit td,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .cart-col-unit td {
    padding: 0 1px;
    line-height: 1.2;
    font-size: 11px;
    white-space: nowrap;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols .cart-col-qty form,
  .cart-page-content .cart-list-table.cart-rwd-cols .cart-col-qty form table,
  .cart-page-content .cart-list-table.cart-rwd-cols .cart-col-qty form table tbody,
  .cart-page-content .cart-list-table.cart-rwd-cols .cart-col-qty form table tr,
  .cart-page-content .cart-list-table.cart-rwd-cols .cart-col-qty form table td,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .cart-col-qty table,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .cart-col-qty table tbody,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .cart-col-qty table tr,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .cart-col-qty table td {
    display: block;
    width: auto !important;
    height: auto !important;
    margin: 0 auto;
    padding: 0;
    text-align: center;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols .cart-col-qty td[height="45"],
  .cart-page-content .cart-list-table.cart-rwd-cols .cart-col-qty td[height="22"],
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .cart-col-qty td[height="45"],
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .cart-col-qty td[height="22"] {
    height: auto !important;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols .product_card_c,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .product_card_c {
    width: 36px !important;
    max-width: 36px;
    height: 22px;
    line-height: 20px;
    padding: 0;
    margin: 0 auto;
    box-sizing: border-box;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols .cart-col-delete img {
    width: 14px;
    height: 14px;
    vertical-align: middle;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols .cart-promo-mobile-row,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .cart-promo-mobile-row {
    display: table-row;
  }
}

@media (max-width: 768px) {
  .cart-page-content .cart-list-table.cart-rwd-cols col.cart-col-img,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols col.cart-col-img {
    width: 0;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols col.cart-col-unit,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols col.cart-col-unit {
    width: 68px;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols col.cart-col-qty,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols col.cart-col-qty {
    width: 40px;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols col.cart-col-delete {
    width: 28px;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols .cart-col-img,
  .cart-page-content .cart-list-table.cart-rwd-cols .cart-col-head-img,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .cart-col-img,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .cart-col-head-img {
    visibility: collapse;
    padding: 0 !important;
    border: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols tr.cart-list-head td,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols tr.cart-list-head td {
    font-size: 11px;
    padding: 5px 1px;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols tr.cart-item-row > td,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols tr.cart-item-row > td {
    font-size: 11px;
    padding: 3px 1px;
    line-height: 1.2;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols .cart-col-unit,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .cart-col-unit {
    width: 68px;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols .cart-col-qty,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .cart-col-qty {
    width: 40px;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols .cart-col-delete {
    width: 28px;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols .cart-col-info .product_card_b,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .cart-col-info .product_card_b {
    font-size: 11px;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols .cart-col-info .product_card_d,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .cart-col-info .product_card_d {
    font-size: 10px;
  }
  .cart-page-content .cart-list-table.cart-rwd-cols .product_card_c,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .product_card_c {
    width: 32px !important;
    max-width: 32px;
    height: 20px;
    line-height: 18px;
    font-size: 11px;
  }
}

@media (max-width: 1024px) {
  .cart-page-content,
  .checkout-page-content,
  .pay-end-page-content,
  .search-page-content,
  .product-know-page-content {
    width: 100%;
    max-width: 100%;
    padding: 0 12px;
    box-sizing: border-box;
  }
  .cart-page-title,
  .checkout-page-title,
  .pay-end-page-title,
  .search-page-title,
  .search-advanced-page-title,
  .product-know-page-title,
  .product-know-view-page-title {
    width: fit-content;
    max-width: 100%;
  }
  .cart-list-wrap,
  .checkout-cart-wrap,
  .checkout-page-wrap,
  .pay-end-wrap {
    width: 100% !important;
    max-width: 100%;
  }
  .cart-list-wrap > table.cart-list-table,
  .checkout-cart-wrap > table.checkout-cart-table,
  .pay-end-wrap > table {
    width: 100% !important;
    max-width: 100%;
  }
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .cart-col-unit > table,
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .cart-col-qty > table {
    width: auto !important;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .checkout-page-content .checkout-cart-table.cart-rwd-cols .cart-col-info > table {
    width: 100% !important;
    max-width: 100%;
  }
  .cart-list-table,
  .checkout-cart-table {
    width: 100% !important;
    min-width: 0;
    table-layout: fixed;
  }
  .cart-list-table td,
  .checkout-cart-table td {
    font-size: 12px;
    padding: 5px 4px;
    line-height: 1.3;
    white-space: normal !important;
    word-break: break-word;
    vertical-align: middle;
  }
  .cart-discount-row .cart-discount-table,
  .cart-discount-row .cart-discount-table > tbody,
  .cart-discount-row .cart-discount-table > tbody > tr {
    display: block;
    width: 100%;
  }
  .cart-discount-row .cart-discount-table > tbody > tr > td {
    display: block;
    width: 100%;
    padding: 2px 0;
  }
  .cart-discount-row .joinus_text_b {
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
  }
  .cart-actions-row .cart-actions-table,
  .cart-actions-row .cart-actions-table > tbody,
  .cart-actions-row .cart-actions-table > tbody > tr {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    width: 100%;
  }
  .cart-actions-row .cart-actions-table > tbody > tr > td {
    display: block;
    width: 100%;
    text-align: center;
    padding: 0;
  }
  .cart-actions-row .cart-actions-table img {
    max-width: 100%;
    height: auto;
  }
  .checkout-page-wrap .checkout_title {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 8px 10px !important;
    font-size: 13px;
    line-height: 1.4;
  }
  .checkout-form-wrap.checkout-fields,
  .checkout-region-wrap.checkout-fields {
    display: block;
    width: 100% !important;
    max-width: 100%;
    margin: 0;
    padding: 18px 16px 16px;
    background: #fff;
    border: 1px solid #e5e0d8;
    border-radius: 12px;
    box-sizing: border-box;
  }
  .checkout-form-wrap.checkout-fields > tbody,
  .checkout-region-wrap.checkout-fields > tbody {
    display: block;
    width: 100% !important;
  }
  .checkout-form-wrap.checkout-fields > tbody > tr,
  .checkout-region-wrap.checkout-fields > tbody > tr {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    margin-bottom: 10px;
  }
  .checkout-form-wrap.checkout-fields > tbody > tr > td:first-child,
  .checkout-region-wrap.checkout-fields > tbody > tr > td:first-child {
    width: 100%;
    text-align: left;
    font-size: 13px;
    font-weight: 600;
    color: #333;
    height: auto !important;
    padding: 0;
  }
  .checkout-form-wrap.checkout-fields > tbody > tr > td:last-child,
  .checkout-region-wrap.checkout-fields > tbody > tr > td:last-child {
    width: 100%;
    min-width: 0;
    font-size: 12px;
    line-height: 1.5;
    padding: 0;
  }
  .checkout-form-wrap.checkout-fields .joinus_text_a,
  .checkout-form-wrap.checkout-fields .joinus_text_b,
  .checkout-form-wrap.checkout-fields .joinus_text_c,
  .checkout-form-wrap.checkout-fields .joinus_text_d,
  .checkout-form-wrap.checkout-fields .joinus_text_f,
  .checkout-form-wrap.checkout-fields .joinus_text_g,
  .checkout-form-wrap.checkout-fields .joinus_select_a,
  .checkout-form-wrap.checkout-fields .login_text_c,
  .checkout-form-wrap.checkout-fields .joinus_textarea_a,
  .checkout-region-wrap.checkout-fields .joinus_text_a,
  .checkout-region-wrap.checkout-fields .joinus_text_b,
  .checkout-region-wrap.checkout-fields .joinus_text_c,
  .checkout-region-wrap.checkout-fields .joinus_text_d,
  .checkout-region-wrap.checkout-fields .joinus_text_f,
  .checkout-region-wrap.checkout-fields .joinus_text_g,
  .checkout-region-wrap.checkout-fields .joinus_select_a {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    padding: 0 12px;
    font-size: 15px;
    color: #333;
    text-align: left;
    background: #fff !important;
    border-radius: 0;
    border: 1px solid #c9c4bc !important;
    box-sizing: border-box;
    display: block;
    -webkit-appearance: none;
    appearance: none;
  }
  .checkout-form-wrap.checkout-fields .joinus_text_c,
  .checkout-region-wrap.checkout-fields .joinus_text_c {
    text-align: center;
  }
  .checkout-form-wrap.checkout-fields .joinus_textarea_a {
    height: 80px;
    min-height: 80px;
    padding: 8px 12px;
    line-height: 1.5;
    resize: vertical;
  }
  /* 電話欄位：國碼／區碼／號碼橫向排列，限制最大寬度 */
  .checkout-form-wrap.checkout-fields .checkout-phone-field .member-reg-phone-grid,
  .checkout-region-wrap.checkout-fields .checkout-phone-field .member-reg-phone-grid,
  .w6-page-wrap .checkout-region-wrap.checkout-fields .checkout-phone-field .member-reg-phone-grid {
    display: grid;
    grid-template-columns: 72px 12px 72px 12px minmax(0, 1fr);
    gap: 8px 0;
    align-items: center;
    width: 100%;
    max-width: 400px;
    margin-bottom: 10px;
  }
  .checkout-form-wrap.checkout-fields .checkout-phone-field .member-reg-phone-dash,
  .checkout-region-wrap.checkout-fields .checkout-phone-field .member-reg-phone-dash,
  .w6-page-wrap .checkout-region-wrap.checkout-fields .checkout-phone-field .member-reg-phone-dash {
    text-align: center;
    color: #888;
    font-size: 14px;
    line-height: 1;
    margin: 0;
  }
  .checkout-form-wrap.checkout-fields .checkout-phone-field .member-reg-phone-part,
  .checkout-form-wrap.checkout-fields .checkout-phone-field .member-reg-phone-main,
  .checkout-form-wrap.checkout-fields .checkout-phone-field .member-reg-phone-ext-input,
  .checkout-region-wrap.checkout-fields .checkout-phone-field .member-reg-phone-part,
  .checkout-region-wrap.checkout-fields .checkout-phone-field .member-reg-phone-main,
  .checkout-region-wrap.checkout-fields .checkout-phone-field .member-reg-phone-ext-input,
  .w6-page-wrap .checkout-region-wrap.checkout-fields .checkout-phone-field .member-reg-phone-part,
  .w6-page-wrap .checkout-region-wrap.checkout-fields .checkout-phone-field .member-reg-phone-main,
  .w6-page-wrap .checkout-region-wrap.checkout-fields .checkout-phone-field .member-reg-phone-ext-input {
    width: 100% !important;
    max-width: 100% !important;
    height: 38px;
    line-height: 36px;
    margin: 0 !important;
    padding: 0 10px;
    font-size: 14px;
    text-align: center;
    box-sizing: border-box;
    display: block;
  }
  .checkout-form-wrap.checkout-fields .checkout-phone-field .member-reg-phone-main,
  .checkout-region-wrap.checkout-fields .checkout-phone-field .member-reg-phone-main,
  .w6-page-wrap .checkout-region-wrap.checkout-fields .checkout-phone-field .member-reg-phone-main {
    text-align: left;
  }
  .checkout-form-wrap.checkout-fields .checkout-phone-field .member-reg-phone-ext,
  .checkout-region-wrap.checkout-fields .checkout-phone-field .member-reg-phone-ext,
  .w6-page-wrap .checkout-region-wrap.checkout-fields .checkout-phone-field .member-reg-phone-ext {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    max-width: 400px;
    margin-bottom: 8px;
  }
  .checkout-form-wrap.checkout-fields .checkout-phone-field .member-reg-phone-ext-label,
  .checkout-region-wrap.checkout-fields .checkout-phone-field .member-reg-phone-ext-label,
  .w6-page-wrap .checkout-region-wrap.checkout-fields .checkout-phone-field .member-reg-phone-ext-label {
    flex: 0 0 auto;
    font-size: 13px;
    color: #333;
    white-space: nowrap;
  }
  .checkout-form-wrap.checkout-fields .checkout-phone-field .member-reg-phone-ext-input,
  .checkout-region-wrap.checkout-fields .checkout-phone-field .member-reg-phone-ext-input,
  .w6-page-wrap .checkout-region-wrap.checkout-fields .checkout-phone-field .member-reg-phone-ext-input {
    flex: 0 0 88px;
    width: 88px !important;
    max-width: 88px !important;
    text-align: left;
  }
  .checkout-form-wrap.checkout-fields .checkout-phone-field .member-reg-phone-note,
  .checkout-region-wrap.checkout-fields .checkout-phone-field .member-reg-phone-note,
  .w6-page-wrap .checkout-region-wrap.checkout-fields .checkout-phone-field .member-reg-phone-note {
    display: block;
    margin: 0;
    font-size: 12px;
    line-height: 1.55;
    color: #666;
    max-width: 400px;
  }
  .checkout-region-wrap #countries_zones,
  .checkout-region-wrap #freight_action,
  .checkout-region-wrap #exchange_action,
  .checkout-region-wrap #checktotal_show {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
  }
  .checkout-region-wrap #countries_zones table,
  .checkout-region-wrap #freight_action table,
  .checkout-region-wrap #exchange_action table,
  .checkout-region-wrap #checktotal_show table {
    width: 100% !important;
    max-width: 100%;
  }
  .checkout-captcha-row > tbody,
  .checkout-captcha-row > tbody > tr {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }
  .checkout-captcha-row > tbody > tr > td {
    display: block;
    width: 100%;
    text-align: left !important;
    padding: 4px 0;
  }
  .checkout-captcha-row .login_text_c {
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
  }
  .checkout-page-wrap > tbody > tr > td.checkout-actions-row {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0px;
    height: auto !important;
    padding: 12px 0 20px;
    box-sizing: border-box;
  }
  .checkout-actions-row input[type="button"],
  .checkout-actions-row input[type="submit"] {
    width: 119px !important;
    min-width: 119px;
    max-width: 119px !important;
    height: 30px !important;
    margin: 0 !important;
    flex: 0 0 auto;
    display: block;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }
  .pay-end-detail-wrap {
    width: 100%;
    max-width: 100%;
    background: #fff;
    border: 1px solid #e5e0d8;
    border-radius: 12px;
    overflow: hidden;
    box-sizing: border-box;
  }
  .pay-end-detail-wrap table#table1,
  .pay-end-detail-wrap table#table1 > tbody {
    display: block;
    width: 100% !important;
    border: none !important;
  }
  .pay-end-detail-wrap table#table1 > tbody > tr {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    border-bottom: 1px solid #e8e2d9;
  }
  .pay-end-detail-wrap table#table1 > tbody > tr:last-child {
    border-bottom: none;
  }
  .pay-end-detail-wrap table#table1 > tbody > tr > td.pay-end-label,
  .pay-end-detail-wrap table#table1 > tbody > tr > td[align="right"][bgcolor="#CCCCCC"] {
    width: 100% !important;
    text-align: left !important;
    height: auto !important;
    padding: 10px 12px 2px !important;
    font-size: 12px;
    font-weight: 600;
    background-color: #f5f2ed !important;
  }
  .pay-end-detail-wrap table#table1 > tbody > tr > td.pay-end-value,
  .pay-end-detail-wrap table#table1 > tbody > tr > td:not(.pay-end-label):not([colspan="2"]) {
    width: 100% !important;
    height: auto !important;
    padding: 0 12px 10px !important;
    font-size: 13px;
    line-height: 1.5;
    white-space: normal !important;
    word-break: break-word;
  }
  .pay-end-detail-wrap table#table1 > tbody > tr > td[colspan="2"] {
    display: block;
    width: 100% !important;
    padding: 12px !important;
    white-space: normal !important;
    word-break: break-word;
  }
  .pay-end-detail-wrap table.CompleteTransaction_end_c,
  .pay-end-detail-wrap table.CompleteTransaction_end_c > tbody {
    display: block;
    width: 100% !important;
  }
  .pay-end-detail-wrap table.CompleteTransaction_end_c > tbody > tr {
    display: flex;
    flex-direction: column;
    border-bottom: 1px dashed #e8e2d9;
  }
  .pay-end-detail-wrap table.CompleteTransaction_end_c > tbody > tr > td {
    width: 100% !important;
    white-space: normal !important;
    word-break: break-word;
    padding: 6px 0 !important;
  }
  .pay-end-actions img {
    max-width: 100%;
    height: auto;
  }
}

@media (max-width: 768px) {
  .cart-page-content,
  .checkout-page-content,
  .pay-end-page-content,
  .search-page-content {
    padding: 0 10px;
  }
  .checkout-cart-wrap tr.cart-summary-row .cart-summary-inner {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 8px 4px;
  }
  .checkout-cart-wrap tr.cart-summary-row .cart-summary-label,
  .checkout-cart-wrap tr.cart-summary-row .cart-summary-value {
    text-align: right;
    font-size: 11px;
  }
  .cart-page-content .cart-list-wrap tr.cart-summary-row .cart-summary-inner {
    grid-template-columns: 1fr minmax(90px, 42%);
    gap: 6px 8px;
    padding: 8px 6px;
  }
  .checkout-form-wrap.checkout-fields,
  .checkout-region-wrap.checkout-fields {
    padding: 16px 14px 14px;
    border-radius: 10px;
  }
  .cart-summary-inner-checkout {
    padding: 8px 4px;
  }
  .cart-summary-inner-checkout > table tr {
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
  }
  .cart-summary-inner-checkout .product_card_text_f {
    font-size: 14px;
    line-height: 1.35;
  }
  .cart-summary-inner-checkout .product_card_text_f font[size="-1"] {
    font-size: 12px;
  }
  .checkout-page-wrap > tbody > tr > td.checkout-actions-row {
    padding: 12px 0 28px;
  }
}

/* ===== 搜尋頁 search.php（桌機維持原 630px 列表，RWD 僅平板/手機）===== */

.search-page-content {
  max-width: 655px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
.search-page-content .search-page-shell {
  width: 630px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 1024px) {
  .search-page-content,
  .search-page-content .search-page-shell {
    width: 100%;
    max-width: 100%;
  }

  .search-page-title {
    margin-left: 12px;
    margin-right: 12px;
  }

  .search-page-toolbar > td {
    text-align: left !important;
    padding: 10px 12px !important;
    margin-bottom: 10px;
    background: #faf8f5;
    border: 1px solid #e8e2d9;
    border-radius: 8px;
    box-sizing: border-box;
  }
  .search-sort-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .search-sort-wrap table {
    margin-left: 0;
    margin-right: auto;
  }
  .search-sort-wrap td {
    font-size: 13px;
    white-space: nowrap;
  }

  .search-keyword-row td {
    padding: 10px 12px !important;
    margin-bottom: 12px;
    word-break: break-word;
    background: #fff;
    border-left: 3px solid #d48305;
    border-radius: 0 6px 6px 0;
    box-shadow: 0 1px 4px rgba(58, 39, 9, 0.06);
    box-sizing: border-box;
  }
  .search-keyword-row font {
    font-size: 15px !important;
    line-height: 1.45;
  }

  .search-result-list > tbody > tr.search-result-head > td,
  .search-result-list > tbody > tr.search-result-body > td {
    display: block;
    width: 100% !important;
    height: auto !important;
    white-space: normal !important;
    box-sizing: border-box;
  }
  .search-result-gap,
  .search-result-thumb-gap,
  .search-result-title-spacer {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden;
  }

  .search-result-list > tbody > tr.search-result-head > td {
    padding: 0 !important;
    background: transparent !important;
  }
  .search-result-head .search-result-title-table {
    border: 1px solid #e8e2d9 !important;
    border-bottom: none !important;
    border-radius: 10px 10px 0 0;
    margin-top: 12px;
    overflow: hidden;
    background: #faf8f5 !important;
  }
  .search-result-head .search-result-title-table[style*="border-top"] {
    border-top: none !important;
  }
  .search-result-body > td.search-result-main {
    border: 1px solid #e8e2d9;
    border-top: 1px solid #f0ebe3;
    border-radius: 0 0 10px 10px;
    padding: 12px 14px 14px !important;
    margin-bottom: 14px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(58, 39, 9, 0.06);
  }

  .search-result-title-table,
  .search-result-title-table > tbody,
  .search-result-title-table > tbody > tr {
    display: block;
    width: 100%;
  }
  .search-result-title-table > tbody > tr {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    padding: 8px 10px;
  }
  .search-result-title-table td {
    width: 100% !important;
    text-align: left !important;
    white-space: normal !important;
  }
  .search-result-number {
    font-size: 12px;
    color: #666;
  }

  .search-result-row,
  .search-result-row > tbody,
  .search-result-row > tbody > tr {
    display: block;
    width: 100%;
  }
  .search-result-row > tbody > tr {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .search-result-thumb {
    width: 100% !important;
    text-align: center;
    padding: 4px 0;
  }
  .search-result-thumb img {
    max-width: 120px;
    width: auto;
    height: auto;
  }
  .search-result-text,
  .search-result-text > table,
  .search-result-text > table > tbody,
  .search-result-text > table > tbody > tr {
    display: block;
    width: 100%;
    height: auto !important;
  }
  .search-result-desc {
    height: auto !important;
    font-size: 13px;
    line-height: 1.5;
    padding: 0 0 8px;
  }

  .search-result-footer > tbody > tr {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 12px;
  }
  .search-result-footer > tbody > tr > td {
    width: auto !important;
    padding: 0;
  }
  .search-result-price-wrap {
    flex: 1 1 180px;
    min-width: 0;
  }
  .search-result-price,
  .search-result-price-wholesale {
    display: inline-table !important;
    width: auto !important;
    max-width: 100%;
  }
  .search-result-price > tbody,
  .search-result-price-wholesale > tbody {
    display: table-row-group !important;
    width: auto !important;
  }
  .search-result-price > tbody > tr,
  .search-result-price-wholesale > tbody > tr {
    display: table-row !important;
    width: auto !important;
  }
  .search-result-price td,
  .search-result-price-wholesale td {
    display: table-cell !important;
    width: auto !important;
    padding: 0 4px 0 0 !important;
    white-space: nowrap;
    vertical-align: baseline;
  }
  .search-result-price td[width="25"],
  .search-result-price-wholesale td[width="25"] {
    width: auto !important;
    padding: 0 2px !important;
  }
  .search-result-price-wholesale {
    margin-top: 6px;
  }
  .search-result-cart {
    flex: 0 0 auto;
    margin-left: auto;
    text-align: right;
  }
  .search-result-cart img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
  }
}

@media (max-width: 768px) {
  .search-page-content .search_ch_content_b {
    padding-left: 0;
  }
  .search-page-content .search_ch_content_c {
    padding-right: 0;
  }
  .search-result-title-table > tbody > tr {
    padding: 8px 8px;
  }
  .search-result-thumb img {
    max-width: 100px;
  }
  .search-result-footer > tbody > tr {
    flex-direction: column;
    align-items: stretch;
  }
  .search-result-cart {
    margin-left: 0;
    text-align: center;
  }
}

/* ===== 進階搜尋 search_advanced.php（表單 + 結果列表）===== */

.search-advanced-page-content .search-advanced-form-table {
  width: 630px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 1024px) {
  .search-advanced-page-content .search-advanced-form,
  .search-advanced-page-content .search-advanced-results,
  .search-advanced-page-content .search-advanced-form-table,
  .search-advanced-page-content .search-page-shell {
    width: 100%;
    max-width: 100%;
  }

  .search-advanced-page-content .search-advanced-form-table,
  .search-advanced-page-content .search-advanced-form-table > tbody {
    display: block;
    width: 100% !important;
    box-sizing: border-box;
  }
  .search-advanced-page-content .search-advanced-form-row,
  .search-advanced-page-content .search-advanced-form-spacer,
  .search-advanced-page-content .search-advanced-form-actions-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    width: 100%;
  }
  .search-advanced-page-content .search-advanced-form-row > td,
  .search-advanced-page-content .search-advanced-form-actions-row > td {
    display: block;
    width: 100% !important;
    height: auto !important;
    text-align: left !important;
    padding: 6px 10px;
    box-sizing: border-box;
    background-color: transparent !important;
  }
  .search-advanced-page-content .search-advanced-form-label {
    font-size: 13px;
    font-weight: 600;
    color: #333;
    padding-bottom: 2px !important;
  }
  .search-advanced-page-content .search-advanced-form-field {
    min-width: 0;
  }
  .search-advanced-page-content .search-advanced-form-field .form_Select,
  .search-advanced-page-content .search-advanced-form-field .contact_text_a,
  .search-advanced-page-content .search-advanced-form-field .search_text_a {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 12px;
    font-size: 15px;
    color: #333;
    text-align: left;
    background: #fff !important;
    border-radius: 0;
    border: 1px solid #c9c4bc !important;
    box-sizing: border-box;
    display: block;
    -webkit-appearance: none;
    appearance: none;
  }
  .search-advanced-page-content .search-advanced-form-field .form_Select {
    height: 34px;
    line-height: 34px;
  }
  .search-advanced-page-content .search-advanced-form-field .contact_text_a {
    height: 34px;
    line-height: 34px;
  }
  .search-advanced-page-content .search-advanced-price-range {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 8px;
    font-size: 13px;
    line-height: 1.4;
  }
  .search-advanced-page-content .search-advanced-price-range .search_text_a {
    width: 88px !important;
    max-width: 40% !important;
    display: inline-block;
    text-align: center;
    height: 32px;
    line-height: 32px;
    padding: 0 8px;
  }
  .search-advanced-page-content .search-advanced-form-spacer {
    display: none !important;
  }
  .search-advanced-page-content .search-advanced-form-actions {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 10px 16px !important;
  }
  .search-advanced-page-content .search-advanced-form-actions input[type="button"],
  .search-advanced-page-content .search-advanced-form-actions input[type="submit"] {
    width: 80px !important;
    min-width: 80px;
    max-width: 80px !important;
    height: 22px !important;
    margin: 0 !important;
    flex: 0 0 auto;
    display: inline-block;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }
  .search-advanced-page-content .search-advanced-results {
    margin-top: 16px;
  }
}

@media (max-width: 768px) {
  .search-advanced-page-content .search-advanced-form-row > td,
  .search-advanced-page-content .search-advanced-form-actions-row > td {
    padding: 6px 8px;
  }
  .search-advanced-page-content .search-advanced-price-range .search_text_a {
    width: 72px !important;
    max-width: 42% !important;
  }
}

/* ===== 產品知識庫列表 product_know_list.php ===== */

.product-know-page-content {
  max-width: 655px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
.product-know-page-title {
  width: 270px;
  max-width: 100%;
}
.product-know-list-wrap,
.product-know-list-shell {
  width: 630px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 1024px) {
  .product-know-page-content {
    width: 100%;
    max-width: 100%;
  }
  .product-know-page-title {
    width: auto;
    max-width: calc(100% - 24px);
    margin: 0 12px;
  }
  .product-know-page-title .main_title_b {
    display: inline-block !important;
    width: auto !important;
    min-width: 7em;
    height: auto !important;
    padding: 8px 20px !important;
    line-height: 1.45;
    box-sizing: border-box;
  }

  .product-know-list-wrap,
  .product-know-list-shell,
  .product-know-list-shell > tbody,
  .product-know-list-shell > tbody > tr {
    display: block;
    width: 100% !important;
  }
  .product-know-list-shell > tbody > tr > td {
    display: block;
    width: 100% !important;
    height: auto !important;
    padding: 0;
    box-sizing: border-box;
  }
  .product-know-list-area {
    min-height: 0 !important;
  }
  .product-know-list-table,
  .product-know-list-table > tbody {
    display: block;
    width: 100% !important;
  }

  .product-know-item-head,
  .product-know-item-body {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }
  .product-know-item-head > td,
  .product-know-item-body > td {
    display: block;
    width: 100% !important;
    height: auto !important;
    text-align: left !important;
    box-sizing: border-box;
    border: none;
  }
  .product-know-item-head {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 8px 4px;
  }
  .product-know-item-head > td {
    width: auto !important;
    padding: 0;
  }
  .product-know-icon {
    flex: 0 0 auto;
    padding-top: 2px !important;
  }
  .product-know-icon img {
    width: 24px;
    height: auto;
    vertical-align: top;
  }
  .product-know-title {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 15px;
    line-height: 1.4;
    word-break: break-word;
  }
  .product-know-icon-gap {
    display: none !important;
  }
  .product-know-item-body > td.product-know-content {
    padding: 0 8px 8px 42px;
    font-size: 13px;
    line-height: 1.55;
    color: #666;
    word-break: break-word;
  }
  .product-know-item-divider {
    display: block;
    width: 100%;
  }
  .product-know-item-divider > td {
    display: block;
    width: 100% !important;
    height: auto !important;
    padding: 0 8px 10px;
    box-sizing: border-box;
  }
  .product-know-item-divider hr {
    margin: 0;
    border: none;
    border-top: 1px solid #ddd;
    height: 0;
  }
  .product-know-list-pager {
    padding: 16px 8px 8px;
    text-align: center;
  }
  .product-know-list-pager table {
    margin: 0 auto;
  }
}

@media (max-width: 768px) {
  .product-know-item-head {
    padding: 10px 6px 4px;
  }
  .product-know-item-body > td.product-know-content {
    padding: 0 6px 8px 38px;
    font-size: 12px;
  }
  .product-know-icon img {
    width: 22px;
  }
}

/* ===== 產品知識庫內容頁 product_know.php ===== */

.product-know-view-page-content {
  max-width: 655px;
  margin-left: auto;
  margin-right: auto;
}
.product-know-view-page-title {
  width: 270px;
  max-width: 100%;
}
.product-know-view-page-content .product-know-body {
  max-width: 630px;
  margin: 0 auto;
  line-height: 1.6;
  word-break: break-word;
}
.product-know-related-wrap {
  max-width: 630px;
  margin: 0 auto;
}

@media (max-width: 1024px) {
  .product-know-view-page-content {
    width: 100%;
    max-width: 100%;
  }
  .product-know-view-page-title {
    width: 100%;
  }
  .product-know-view-page-title .main_title_b {
    display: block;
    width: 100%;
    height: auto !important;
    line-height: 1.4;
    word-break: break-word;
    box-sizing: border-box;
  }

  .product-know-view-page-content .product-know-body,
  .product-know-view-page-content .product-know-body.infor_main {
    width: 100%;
    max-width: 100%;
    font-size: 14px;
    line-height: 1.65;
    overflow-x: auto;
  }
  .product-know-view-page-content .product-know-body img,
  .product-know-view-page-content .infor_main img {
    max-width: 100% !important;
    height: auto !important;
  }
  .product-know-view-page-content .product-know-body table,
  .product-know-view-page-content .infor_main table {
    max-width: 100%;
  }

  .product-know-map-section {
    margin-top: 16px;
  }
  .product-know-map-wrap {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  .product-know-map-form-table,
  .product-know-map-form-table > tbody {
    display: block;
    width: 100% !important;
  }
  .product-know-map-form-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    margin-bottom: 10px;
  }
  .product-know-map-form-row > td {
    display: block;
    width: 100% !important;
    height: auto !important;
    text-align: left !important;
    padding: 0;
    box-sizing: border-box;
  }
  .product-know-map-form-label {
    font-size: 13px;
    font-weight: 600;
    color: #333;
  }
  .product-know-map-form-field .contact_text_a {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    padding: 0 12px;
    font-size: 15px;
    background: #fff !important;
    border: 1px solid #c9c4bc !important;
  }
  .product-know-map-form-actions td:first-child {
    display: none !important;
  }
  .product-know-map-form-spacer {
    display: none !important;
  }
  .product-know-map-options {
    font-size: 13px;
    line-height: 1.55;
    margin: 10px 0;
    word-break: break-word;
  }
  .product-know-map-canvas-row > td,
  .product-know-map-canvas-cell {
    display: block;
    width: 100% !important;
    padding: 0 !important;
  }
  .product-know-map-canvas-cell::after {
    content: "";
    display: table;
    clear: both;
  }
  .product-know-map-canvas,
  .product-know-map-panel,
  #map_canvas,
  #map_canvas_list {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 280px !important;
    margin-bottom: 12px;
    box-sizing: border-box;
  }

  .product-know-related-section {
    margin-top: 20px;
  }
  .product-know-related-title {
    width: 100% !important;
    max-width: 100%;
    margin-bottom: 8px;
  }
  .product-know-related-title .main_title_b {
    display: block;
    width: 100%;
    height: auto !important;
    line-height: 1.4;
  }
  .product-know-related-wrap {
    width: 100%;
    max-width: 100%;
  }
  .product-know-related-grid,
  .product-know-related-grid > tbody {
    display: block;
    width: 100% !important;
  }
  .product-know-related-row.product-know-related-gap {
    display: none !important;
  }
  .product-know-related-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
    margin-bottom: 8px;
  }
  .product-know-related-spacer {
    display: none !important;
  }
  .product-know-related-item {
    width: 100% !important;
    max-width: none;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    background: #f9f5eb;
    border: 1px solid rgba(212, 131, 5, 0.18);
    border-radius: 8px;
    overflow: hidden;
  }
  .product-know-related-item:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    width: calc(50% - 4px) !important;
    max-width: calc(50% - 4px);
    justify-self: center;
  }
  .product-know-related-item:only-child {
    grid-column: 1 / -1;
    width: calc(50% - 4px) !important;
    max-width: calc(50% - 4px);
    justify-self: center;
  }
  .product-know-related-row td.product-know-related-item:only-of-type {
    grid-column: 1 / -1;
    width: calc(50% - 4px) !important;
    max-width: calc(50% - 4px);
    justify-self: center;
  }
  .product-know-related-item table,
  .product-know-related-item tbody {
    display: flex;
    flex-direction: column;
    flex: 1;
    width: 100% !important;
    height: 100% !important;
    margin: 0 auto;
    box-sizing: border-box;
  }
  .product-know-related-item tr {
    display: flex;
    flex-direction: column;
    width: 100% !important;
  }
  .product-know-related-item tr:last-child {
    flex: 1;
  }
  .product-know-related-item .product_index_b {
    width: 100% !important;
    height: auto !important;
    min-height: 0;
    padding: 12px 10px 8px !important;
    text-align: center !important;
    line-height: 1.5;
    box-sizing: border-box;
  }
  .product-know-related-item td[width="310"] {
    width: 100% !important;
    height: auto !important;
    min-height: 120px;
    padding: 8px !important;
    text-align: center !important;
    box-sizing: border-box;
  }
  .product-know-related-item td[width="310"] img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    max-height: 180px;
    width: auto;
    height: auto;
    object-fit: contain;
  }
}

@media (max-width: 768px) {
  .product-know-view-page-content .product-know-body,
  .product-know-view-page-content .product-know-body.infor_main {
    font-size: 13px;
  }
  .product-know-map-canvas,
  .product-know-map-panel,
  #map_canvas,
  #map_canvas_list {
    height: 220px !important;
  }
  .product-know-related-row {
    grid-template-columns: 1fr;
  }
  .product-know-related-item:last-child:nth-child(odd),
  .product-know-related-item:only-child,
  .product-know-related-row td.product-know-related-item:only-of-type {
    width: 100% !important;
    max-width: 100%;
    justify-self: stretch;
  }
  .product-know-related-item td[width="310"] img {
    max-height: 160px;
  }
}

/* ===== 忘記密碼 member_forget.php — 桌機維持原 640px 表單 ===== */
.member-forget-page-content {
  max-width: 655px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
.member-forget-page-title {
  width: 270px;
  max-width: 100%;
}
.member-forget-page-title .main_title_a,
.member-forget-page-title .main_title_b {
  box-sizing: border-box;
}

@media (min-width: 1025px) {
  .member-forget-page-title .main_title_a,
  .member-forget-page-title .main_title_b {
    display: block;
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width: 1024px) {
  .member-forget-page-content {
    width: 100%;
    max-width: 100%;
    padding: 0 12px;
    box-sizing: border-box;
  }
  .member-forget-page-title {
    width: 100%;
  }
  .member-forget-page-title .main_title_a,
  .member-forget-page-title .main_title_b {
    display: block;
    width: 100%;
    height: auto !important;
    line-height: 1.4;
    box-sizing: border-box;
  }
  .member-forget-page-title .main_title_b {
    padding-top: 4px;
    padding-bottom: 4px;
  }

  .member-forget-wrap,
  .member-forget-shell,
  .member-forget-shell > tbody,
  .member-forget-shell > tbody > tr,
  .member-forget-form-shell,
  .member-forget-form-shell > tbody,
  .member-forget-form-shell > tbody > tr {
    display: block;
    width: 100% !important;
  }
  .member-forget-shell > tbody > tr > td,
  .member-forget-form-shell > tbody > tr > td {
    display: block;
    width: 100% !important;
    height: auto !important;
    box-sizing: border-box;
  }

  .member-forget-intro {
    background: linear-gradient(180deg, #faf8f5 0%, #f3efe9 100%);
    border: 1px solid #e8e2d9;
    border-radius: 10px;
    padding: 12px 14px;
    font-size: 13px;
    line-height: 1.55;
    color: #444;
    margin-bottom: 10px;
  }
  .member-forget-intro ol {
    margin: 0;
    padding-left: 1.25em;
    text-align: left;
  }
  .member-forget-intro li {
    margin-bottom: 6px;
  }
  .member-forget-intro li:last-child {
    margin-bottom: 0;
  }

  .member-forget-form-area {
    height: auto !important;
    padding: 0;
  }
  .member-forget-form-col {
    display: block;
    width: 100% !important;
    max-width: 100%;
    margin: 0;
    height: auto !important;
    padding: 18px 16px 16px;
    background: #fff;
    border: 1px solid #e5e0d8;
    border-radius: 12px;
    box-shadow: 0 4px 18px rgba(60, 40, 20, 0.08);
    box-sizing: border-box;
  }

  .member-forget-fields,
  .member-forget-fields > tbody {
    display: block;
    width: 100% !important;
  }
  .member-forget-fields > tbody > tr {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    margin-bottom: 10px;
    width: 100%;
  }
  .member-forget-fields > tbody > tr.member-forget-fields-gap {
    display: none !important;
    margin: 0 !important;
  }
  .member-forget-fields > tbody > tr.member-forget-captcha-row {
    margin-bottom: 2px;
    gap: 0;
  }
  .member-forget-fields > tbody > tr.member-forget-captcha-row > td:first-child {
    display: none;
  }
  .member-forget-fields > tbody > tr.member-forget-captcha-row > td:last-child {
    flex: 0 0 auto !important;
    width: 100%;
    padding: 0;
    line-height: 0;
  }
  .member-forget-fields > tbody > tr.member-forget-captcha-row + tr {
    margin-bottom: 10px;
  }
  .member-forget-fields > tbody > tr > td[colspan="2"] {
    display: block;
    width: 100% !important;
    padding: 0;
    margin-top: 2px;
  }
  .member-forget-fields .login_c {
    flex: 0 0 auto;
    width: 100%;
    text-align: left;
    font-size: 13px;
    font-weight: 600;
    color: #333;
    margin-bottom: 2px;
  }
  .member-forget-fields > tbody > tr > td:last-child:not([colspan]) {
    flex: 0 0 auto;
    width: 100%;
    min-width: 0;
  }
  .member-forget-fields .login_text_a,
  .member-forget-fields .forget_a {
    width: 100% !important;
    max-width: 100% !important;
    height: 40px;
    line-height: 38px;
    margin-left: 0 !important;
    padding: 0 12px;
    font-size: 15px;
    border-radius: 8px;
    border: 1px solid #c9c4bc;
    box-sizing: border-box;
    background: #fff;
  }
  .member-forget-fields .captcha,
  .member-forget-fields .captcha_m {
    max-width: 100%;
    height: auto;
    margin-left: 0 !important;
    border-radius: 6px;
    vertical-align: top;
    display: block;
  }

  .member-forget-actions,
  .member-forget-actions > tbody,
  .member-forget-actions > tbody > tr {
    display: block;
    width: 100% !important;
  }
  .member-forget-actions > tbody > tr {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
  }
  .member-forget-actions td {
    display: block;
    width: auto !important;
    padding: 0;
    text-align: center !important;
  }
  .member-forget-actions input.login_bottom_b_ch,
  .member-forget-actions input.login_bottom_b_en,
  .member-forget-actions input.content_a_ch,
  .member-forget-actions input.content_a_en {
    width: 80px !important;
    min-width: 80px;
    max-width: 80px !important;
    height: 22px !important;
    margin: 0 !important;
    flex: 0 0 auto;
    display: inline-block;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }
}

@media (max-width: 768px) {
  .member-forget-page-content {
    padding: 0 10px;
  }
  .member-forget-intro {
    font-size: 12px;
    padding: 11px 12px;
    border-radius: 8px;
  }
  .member-forget-form-col {
    padding: 16px 14px 14px;
    border-radius: 10px;
  }
  .member-forget-fields > tbody > tr {
    margin-bottom: 9px;
    gap: 3px;
  }
  .member-forget-fields .login_text_a,
  .member-forget-fields .forget_a {
    height: 38px;
    line-height: 36px;
    font-size: 14px;
  }
}
