/* Production integration: original forms, routes, payment and member logic stay native. */
.mmt-production {
  --font-noto-sans-tc: var(--font-ui);
  --font-noto-serif-tc: var(--font-ui);
  --font-cormorant: var(--font-ui);
  --font-mono: ui-monospace, SFMono-Regular, monospace;
  --love-sans: var(--font-ui);
  --love-serif: var(--font-ui);
  background: #fff;
  color: #1d1d1f;
}
.mmt-production .site-nav { z-index: 100; }
.mmt-production .site-nav a[aria-current="page"] { color: #0066cc; }
.mmt-production .production-tool { padding-top: 0 !important; }
.mmt-production .production-tool > .site-nav { position: sticky; }
.production-tool > main > div > nav,
.production-tool .lv-nav { display: none; }
.mmt-production .v3 { overflow: clip; }
.mmt-production .v3 main { min-height: 65vh; }
.mmt-production .v3-longread { padding-bottom: 90px; }
.mmt-production .v3-longread .lr-body { max-width: 780px !important; }
.mmt-production .lr-body table { display: block; overflow-x: auto; }
.mmt-production .site-footer a { color: inherit; }
.mmt-production .site-footer a:hover { color: #0066cc; }
.mmt-production .cs {
  --cs-ink: #1d1d1f; --cs-gold: #0066cc; --cs-paper: #f5f5f7;
  --cs-card: #fff; --cs-line: #dedee3;
}
.mmt-production :is(.cs-hero, .bg-hero) { padding-top: 85px; padding-bottom: 60px; }
.mmt-production :is(.cs-hero h1, .bg-hero h1) {
  font-family: var(--font-ui); font-size: clamp(38px, 5vw, 64px);
  font-weight: 650; letter-spacing: -.05em; line-height: 1.3;
}
.mmt-production :is(.cs-plan,.cs-checkout,.bg-hero-card,.bg-product-card,.bg-checkout-card) {
  border: 1px solid #e3e3e8; border-radius: 26px; background: white;
  box-shadow: 0 10px 35px #142f4608;
}
.mmt-production .cs-plan { padding: 36px; }
.mmt-production .cs-plan.is-active { border: 2px solid #0071e3; }
.mmt-production :is(.cs-btn,.cs-btn-solid,.bg-pay-button) {
  border-radius: 999px; font-family: var(--font-ui); letter-spacing: 0;
}
.mmt-production :is(.cs-btn-solid,.bg-pay-button) { background: #0071e3; color: #fff; border-color: #0071e3; }
.mmt-production .cs-checkout-section { background: #f5f5f7; }
.mmt-production .brand-growth {
  --bg-blue:#0071e3; --bg-blue-dark:#102e43; --bg-blue-pale:#f5f5f7;
  --bg-ink:#1d1d1f; --bg-muted:#6e6e73; --bg-paper:#fff; --bg-line:#dedee3;
  --bg-shadow:0 12px 40px #142f460c;
}
.mmt-production .bg-hero::before,.mmt-production .bg-hero::after { display: none; }
.mmt-production .bg-hero { background: #f5f5f7; }
.mmt-production :is(.bg-kicker,.cs-kicker) { font-family:var(--font-ui); letter-spacing:.08em; font-size:13px; }
.mmt-production .mmt-sponsor-dock__link {
  background: #fff; color: #1d1d1f; border:1px solid #dedee3; border-radius:18px;
}
.mmt-production .mmt-sponsor-dock__heart { color:#0066cc; }
.mmt-production .mmt-sponsor-dock__link small { color:#6e6e73; }
.mmt-production .mmt-sponsor-dock { filter:drop-shadow(0 6px 18px #00000012); }
.legacy-redesign { --fz:17px; --bdc:#dbe5ee; }
.legacy-redesign .topbar { z-index:90; }
.legacy-redesign .tabbar { z-index:80; }
/* 2026-09-10 修正：redesign.css 給 .tool-page .topbar/.tabbar 下了 top:64px/56px（假設它們是 sticky），
   但工作台頂欄是 position:relative，top 只會把整條往下位移、蓋住底下第一列（手機分頁換行後最明顯）。這裡把位移歸零。 */
body.legacy-redesign .topbar, body.legacy-redesign .tabbar { top:auto !important; }
/* 成員資料庫：桌機讓工作台吃滿視窗寬，整張表一次看完不用橫向拖（redesign.css 把 .wrap 鎖在 1180px） */
@media (min-width: 1100px) {
  body.legacy-redesign #pane-db { max-width: min(calc(100vw - 48px), 1900px) !important; }
}
/* 功能列收合（三條線）：改版後頂欄是白底，改用深色字與站內藍 */
/* 舊的官網選單漢堡鈕：抽屜 .topbar2 改版時已拆掉，按了沒反應、只剩一個空框，藏起來 */
body.legacy-redesign .topbar > .mburger { display:none !important; }
body.legacy-redesign .tbtabs-bar { border-top-color:#e5e5e9; }
body.legacy-redesign .tbtabs-hint { color:#6e6e73; }
body.legacy-redesign .tbtabs-chip { border-color:#d0d5db; background:#fff; color:#1d1d1f; }
body.legacy-redesign .tbtabs-chip:hover { background:#eaf3ff; border-color:#0071e3; color:#0071e3; }
body.legacy-redesign .tbtabs-chip.on { background:#0071e3; color:#fff; border-color:#0071e3; }
body.legacy-redesign .tbtabs-toggle { color:#0071e3; border-color:#0071e3; background:#eaf3ff; }
body.legacy-redesign .tbtabs-toggle:hover { background:#d9e9ff; }
body.legacy-redesign .topbar.tabs-open .tbtabs-toggle { background:#0071e3; color:#fff; border-color:#0071e3; }
/* 固定導覽列實高 66px（手機 68px），body 原本只留 64px，頂欄上緣會被吃掉 2～4px */
body.legacy-redesign { padding-top:66px !important; }
@media (max-width: 760px) { body.legacy-redesign { padding-top:68px !important; } }
.legacy-redesign #pane-calc { padding-top:52px; }
.legacy-redesign .shdr { text-align:center; justify-content:center; margin:0 auto 36px !important; }
.legacy-redesign .shdr > div > div:last-child { margin-left:auto; margin-right:auto; }
.legacy-redesign .birthday-input-card { max-width:800px; margin:0 auto 30px !important; border:0 !important; border-radius:28px !important; padding:36px !important; box-shadow:0 12px 45px #142f4610 !important; }
.legacy-redesign #lead-member-entry { max-width:800px; margin:0 auto 25px !important; background:#fff !important; border-color:#e3e3e8 !important; border-radius:20px !important; }
.legacy-redesign #lead-member-entry button { background:#0071e3 !important; color:#fff !important; border:0 !important; border-radius:999px !important; }
.legacy-redesign :is(.btn,.gbtn) { border-radius:999px; letter-spacing:0; }
.legacy-redesign :is(.bpri,.gbtn) { background:#0071e3; color:white; border-color:#0071e3; }
.legacy-redesign .gc { background:#fff; border-radius:28px; border:1px solid #e3e3e8; box-shadow:0 12px 45px #00000015; }
.legacy-redesign .gtitle { letter-spacing:-.04em; }
.legacy-redesign :is(.ginp,.glbl,.gdesc,.gnote) { font-family:var(--font-ui); }
.legacy-redesign .lang-switch { font-family:var(--font-ui); }
.legacy-redesign .site-footer { clear:both; }
@media(max-width:760px) {
  .mmt-production .production-tool { padding-top:0 !important; }
  .mmt-production :is(.cs-hero,.bg-hero) { padding-top:48px; padding-bottom:35px; }
  .mmt-production .cs-plan { padding:26px; }
  .legacy-redesign #pane-calc { padding-top:30px; }
  .legacy-redesign .birthday-input-card { padding:24px 19px !important; }
  .legacy-redesign .shdr [data-i18n="head.lede"] { font-size:17px !important; }
  .legacy-redesign .shdr [data-i18n="head.sub"] { font-size:14px !important; }
  .mmt-production .mmt-sponsor-dock { right:12px; bottom:12px; }
}
@media print {
  .mmt-production .site-nav,.mmt-production .site-footer { display:none !important; }
  .mmt-production .production-tool,.legacy-redesign { padding-top:0 !important; }
}

/* 成員資料表（工作台）手機邊界修正 2026-09-10：卡片圓角不壓欄位、生日欄收窄、提示可左右滑、右緣漸層當捲動線索 */
@media (max-width: 480px) {
  .legacy-redesign .twrap { position: relative; border-radius: 12px; overflow: hidden; }
  .legacy-redesign .twrap::before { content: "左右滑動可看更多欄位，姓名欄會固定在左側；按住 ⋮⋮ 拖曳可改順序"; display: block; font-size: 14px; line-height: 1.5; color: #515159; padding: 8px 12px; background: #f5f5f7; border-bottom: 1px solid #e3e3e8; }
  .legacy-redesign .twrap::after { content: ""; position: absolute; top: 0; right: 0; bottom: 0; width: 26px; pointer-events: none; background: linear-gradient(to left, rgba(255,255,255,.92), rgba(255,255,255,0)); }
  .legacy-redesign .tscroll { overscroll-behavior-x: contain; scrollbar-width: thin; padding-bottom: 2px; }
  .legacy-redesign #member-table thead th { font-size: 16px; padding: 8px 6px; }
  .legacy-redesign #member-table th.col-birth { min-width: 0 !important; width: 140px; max-width: 140px; }
  /* 鎖死：iOS Safari 的 date input 會照內文撐寬、無視 width，外層裁切 + 關原生外觀，絕不超出欄位 */
  .legacy-redesign #member-table td.col-birth { max-width: 140px; overflow: hidden; }
  .legacy-redesign #member-table td.col-birth > div { width: 128px; max-width: 100%; margin: 0 auto; overflow: hidden; border-radius: 6px; }
  .legacy-redesign #member-table td.col-birth { padding: 4px 6px !important; }
  .legacy-redesign #member-table td.col-birth .birth-input { -webkit-appearance: none !important; appearance: none !important; display: block; font-size: 16px !important; line-height: 1.3; padding: 6px 0 !important; margin: 0; min-width: 0 !important; width: 100% !important; max-width: 100% !important; -webkit-min-logical-width: 0; box-sizing: border-box; overflow: hidden; text-align: center; border-radius: 6px; background: #fff; }
  .legacy-redesign #member-table td.col-birth .birth-input::-webkit-date-and-time-value { display: block; text-align: center; min-height: 1.3em; }
  .legacy-redesign #member-table td.col-birth .birth-input::-webkit-calendar-picker-indicator { padding: 0; margin: 0; }
  .legacy-redesign #member-table td.col-birth button { width: 100%; max-width: 100%; box-sizing: border-box; font-size: 15px !important; padding: 6px 4px !important; min-height: 36px; }
  .legacy-redesign #member-table td.col-birth .btn { font-size: 15px !important; padding: 6px 8px !important; min-height: 36px; }
  .legacy-redesign #member-table .tbl-row-drag { display: inline-flex; width: 44px; height: 44px; }
  .legacy-redesign #member-table .tbl-row-drag-cell { width: 52px; padding: 0 4px !important; }
  .legacy-redesign #member-table td.td-name .cname { font-size: 17px; min-width: 56px; }
  /* 表格上方工具列（欄位／進階條件）在 320~480 不得撐破卡片 */
  .legacy-redesign #pane-db .tbl-tool-row { flex-wrap: wrap !important; max-width: 100%; min-width: 0; }
  .legacy-redesign #pane-db .tbl-field-menu { max-width: 100% !important; min-width: 0; overflow-x: auto; box-sizing: border-box; }
  .legacy-redesign #pane-db .tbl-col-chip { max-width: 100%; box-sizing: border-box; }
  .legacy-redesign #pane-db .tbl-cond-panel, .legacy-redesign #pane-db #tbl-cond-list { max-width: 100%; min-width: 0; overflow-wrap: anywhere; }
  .legacy-redesign #pane-db .tbl-cond-panel .btn { white-space: normal !important; max-width: 100%; text-align: left; line-height: 1.4; }
}

/* 四大能量速判表：手機底部黏性「加 LINE」列會蓋住頁尾與贊助小工具，整頁底部留出等高空間 */
@media (max-width: 639px) {
  /* 贊助小工具與頁尾在 root layout，位於 .production-tool 之外，所以留白加在 body */
  body:has(.sx-mobile-line) { padding-bottom: 84px; }
}
