/* 出國旅平險比較頁（shortcode [bobe_travel_compare]）。外觀：旅遊險頁設計稿（2026-10，白卡＋品牌紫 CTA＋膠囊條件列） */
.tc{--page:#F5F5F7;--card:#fff;--bd:#E7E7EC;--div:#E1DDFB;--fg:#04002C;--sub:#57546C;--mute:#78748D;--faint:#8E8AA3;--cta:#4737FF;--ctaH:#2A1EB8;--hv:#E4E2F0;--price:#FF4713;--acc:#3A2CE0;--accBg:#F0EEFF;--accBd:#A8A3FF;--seg:#F6F6FE;--ctl:#C6C3D4;--up:oklch(0.56 0.12 195);--ftc:oklch(0.52 0.14 30);--camp:#C2410C;--dash:#B2AEC4;--sh:0 14px 30px -10px rgba(20,18,46,.6);
  max-width:1000px;margin:0 auto;padding:32px 0 80px; /* 左右不留白：版心本身已有邊距，避免手機雙重留白 */box-sizing:border-box;background:transparent;color:var(--fg);
  font-family:Montserrat,'Noto Sans TC',-apple-system,'Microsoft JhengHei',sans-serif;word-break:normal;-webkit-font-smoothing:antialiased}
.tc *{box-sizing:border-box}
.tc button,.tc a,.tc select,.tc summary{all:unset;box-sizing:border-box;cursor:pointer}
.tc h1,.tc h2,.tc h3,.tc p{margin:0;padding:0;border:0;background:none;letter-spacing:normal;text-transform:none}

/* 條件列：白色圓角卡；捲動時固定在畫面頂端、變成滿版白條 */
.tc .tc-bar-w{position:relative;z-index:20;margin:8px 0 0;padding:18px 20px;background:#fff;border-radius:16px;box-shadow:0 1px 2px rgba(20,18,46,.06),0 10px 24px -14px rgba(20,18,46,.22);display:flex;flex-direction:column;gap:12px}
.tc .tc-bar-w.tc-fixed{position:fixed;left:0;right:0;margin:0;padding:10px 0;border-radius:0;border-bottom:1px solid var(--div);box-shadow:var(--sh)}
.tc .tc-bar-w.tc-fixed>*{margin-left:var(--tc-l);width:var(--tc-w)}
.tc .tc-bar{display:flex;flex-direction:column;gap:8px}
.tc .tc-row{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:none}
.tc .tc-row::-webkit-scrollbar{display:none}
.tc .tc-row-cond{display:none} /* 桌機：條件直接攤開（.tc-pop），不用摘要鈕 */
.tc .tc-pinlbl{flex:none;width:40px;font:700 12.5px Montserrat,'Noto Sans TC',sans-serif;color:var(--sub)}
.tc .tc-chip{flex:none;height:36px;padding:0 14px;display:inline-flex;align-items:center;gap:5px;border-radius:999px;border:1px solid transparent;background:var(--seg);white-space:nowrap;font:700 13.5px Montserrat,'Noto Sans TC',sans-serif;color:var(--sub)}
.tc .tc-chip:hover{color:var(--fg);background:var(--hv)} /* 滑過一律加深灰紫（設計稿 v4） */
.tc .tc-chip .tc-pin{opacity:.45}
.tc .tc-chip[aria-checked="true"],.tc .tc-chip[aria-pressed="true"]{background:var(--accBg);border-color:var(--accBd);color:var(--acc)}
.tc .tc-chip[aria-checked="true"] .tc-pin{opacity:1}
.tc .tc-chip[aria-checked="true"]:hover,.tc .tc-chip[aria-pressed="true"]:hover{color:var(--acc);background:#E2DEFF;border-color:#6F66F0}

/* 條件欄位：桌機一排膠囊（目的地｜天數｜保額或年齡｜排序｜看方案） */
.tc .tc-pop{display:flex;flex-wrap:wrap;align-items:center;gap:8px} /* 放不下時排序與看方案換到第二列（設計稿 2026-11-02） */
@media (min-width:641px){.tc .tc-pop[hidden]{display:flex!important}} /* 桌機一直攤開（面板開關只在手機有作用；主題的 bootstrap 對 [hidden] 用 !important） */
.tc .tc-two{display:contents}
.tc .tc-f{position:relative;flex:1 1 140px;min-width:0;height:44px;padding:0 20px;border-radius:999px;background:var(--seg);display:flex;flex-direction:column;justify-content:center;cursor:pointer}
.tc .tc-f:hover{background:var(--hv)}
.tc .tc-f[hidden]{display:none}
.tc .tc-sel{display:flex;align-items:center;gap:8px;min-width:0}
.tc .tc-fi{flex:none;color:var(--mute)} /* 欄位圖示取代小標（設計稿 2026-10-21 晚） */
.tc .tc-sel select{display:none} /* 狀態來源；畫面上用 compare.js 產生的 .tc-dd＋.tc-ddlist */
.tc .tc-m{display:flex}
/* 桌機的排序：不是條件，用透明小字跟條件膠囊區分（設計稿 v4 2026-10-22） */
@media (min-width:641px){
  .tc .tc-f.tc-m{flex:none;padding:0 10px;background:transparent}
  .tc .tc-f.tc-m:hover{background:#F0EFF6}
  .tc .tc-f.tc-m .tc-dd{font:500 14px/1.4 Montserrat,'Noto Sans TC',sans-serif;color:var(--sub,#57546C)}
  .tc .tc-f-region{flex-grow:1.5} /* 目的地字最長（歐洲（需申根證明））：比天數／年齡／保額寬（使用者 2026-10-23） */
}
@media (min-width:641px) and (max-width:850px){
  .tc .tc-f:not(.tc-m){flex-basis:calc(25% - 6px)} /* 條件佔滿第一列，排序和看方案一起換列（不讓看方案單獨掉下去） */
}
.tc .tc-go{flex:none;margin-left:auto;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--cta);color:#fff}
.tc .tc-go:hover{background:var(--ctaH)}
.tc .tc-done{display:none;height:48px;align-items:center;justify-content:center;border-radius:999px;background:var(--fg);color:#fff;font:700 15px Montserrat,'Noto Sans TC',sans-serif;transition:background .15s}
.tc .tc-done:hover{background:#1C1850}
/* 條件的自製下拉（compare.js 產生，設計稿 2026-10-21）：桌機在膠囊格下方 8px，手機在欄位下方 6px */
.tc .tc-f:has(.tc-dd[aria-expanded="true"]){background:var(--accBg)}
.tc .tc-dd{display:flex;align-items:center;min-width:0;font:700 15px/1.4 Montserrat,'Noto Sans TC',sans-serif;color:var(--fg)}
.tc .tc-dd-t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tc .tc-dd-chev{flex:none;margin-left:auto;width:10px;height:10px;color:var(--mute);transition:transform .15s}
.tc .tc-sel:has(.tc-dd[aria-expanded="true"]) .tc-dd-chev{transform:rotate(180deg)}
.tc .tc-ddlist{display:none}
.tc .tc-ddlist:not([hidden]){display:flex;position:absolute;z-index:7;top:calc(100% + 8px);left:0;width:max(100%,200px);max-height:320px;overflow-y:auto;box-sizing:border-box;padding:6px;background:#fff;border:1px solid var(--div);border-radius:12px;box-shadow:var(--sh);flex-direction:column;gap:2px;cursor:default}
.tc .tc-ddopt{min-height:44px;padding:0 12px;display:flex;align-items:center;gap:10px;border-radius:8px;text-align:left;font:700 15px Montserrat,'Noto Sans TC',sans-serif;color:var(--fg)}
.tc .tc-ddopt:hover{background:var(--hv)}
.tc .tc-ddopt[aria-selected="true"]{background:var(--accBg)}
.tc .tc-ddopt .tc-opt-chk{margin-left:auto}
.tc .tc-ddfoot{order:99;padding:8px 12px 6px;font:500 13px/1.6 Montserrat,'Noto Sans TC',sans-serif;color:#57546C;text-wrap:pretty}
.tc a.tc-ddfoot{text-decoration:underline;text-underline-offset:3px}
.tc a.tc-ddfoot:hover{color:var(--fg)}
.tc .tc-ddopt[aria-selected="true"] .tc-opt-chk{opacity:1}
/* 手機條件列（設計稿 v3）：一排＝條件｜釘選下拉，條件與排序在彈出面板 */
.tc .tc-vdiv,.tc .tc-pinbtn,.tc .tc-pinpop{display:none}
.tc .tc-cond{height:44px;padding:0 16px;border-radius:10px;font-size:14px;color:var(--fg)}
.tc .tc-cond svg{flex:none;width:18px;height:18px}
.tc .tc-cond[aria-expanded="true"],.tc .tc-pinbtn[aria-expanded="true"]{background:var(--accBg)}
.tc .tc-pinbtn{position:relative;width:44px;height:44px;padding:0;border-radius:10px;justify-content:center;color:var(--mute)} /* 釘選鈕：只放圖釘＋右上角個數（設計稿 釘選按鈕提案 1b，使用者 2026-10-30） */
.tc .tc-pinbtn.tc-on{color:var(--fg)}
.tc .tc-pinbtn .tc-pin{width:20px;height:20px;opacity:1}
.tc .tc-pinsum{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;border:2px solid #fff;background:var(--hv);color:#5A5670;display:flex;align-items:center;justify-content:center;font:800 11px/1 Montserrat,sans-serif}
.tc .tc-pinbtn.tc-on .tc-pinsum{background:var(--cta);color:#fff}
.tc .tc-pinpop{position:absolute;z-index:6;top:calc(100% + 6px);right:10px;width:min(300px,calc(100% - 20px));padding:8px;background:#fff;border:1px solid var(--div);border-radius:12px;box-shadow:var(--sh);flex-direction:column;gap:2px}
.tc .tc-pinpop-t{padding:6px 8px 4px;font:700 12px Montserrat,'Noto Sans TC',sans-serif;color:var(--mute)}
.tc .tc-pinopt{min-height:44px;padding:0 8px;display:flex;align-items:center;gap:10px;border-radius:8px;text-align:left;font:700 14px Montserrat,'Noto Sans TC',sans-serif;color:var(--fg)}
.tc .tc-pinopt:hover{background:var(--hv)}
.tc .tc-pinopt[aria-checked="true"]{background:var(--accBg)}
.tc .tc-box{flex:none;width:18px;height:18px;border-radius:5px;border:1.5px solid var(--ctl);background:#fff;display:inline-flex;align-items:center;justify-content:center}
.tc .tc-box svg{opacity:0}
.tc .tc-box svg path{stroke:var(--acc)}
.tc .tc-pinopt[aria-checked="true"] .tc-box{border-color:var(--accBd);background:var(--accBg)}
.tc .tc-pinopt[aria-checked="true"] .tc-box svg{opacity:1}
.tc .tc-pinpop .tc-done{display:flex;margin-top:6px}
@media (max-width:640px){
  .tc .tc-bar-w{flex-direction:row;padding:10px} /* 按鈕 44px：外圍留白相應縮小，整條高度維持 64px（固定時 61px） */
  .tc .tc-bar-w.tc-fixed{padding:8px 0}
  .tc .tc-bar-w.tc-fixed .tc-bar{flex:none} /* 固定時寬度照 --tc-w，不撐滿到螢幕右緣（釘選角標才不會被切） */
  .tc .tc-bar{flex:1;min-width:0;flex-direction:row;align-items:center}
  .tc .tc-row,.tc .tc-row-cond{display:contents}
  .tc .tc-pinlbl,.tc .tc-sort,.tc .tc-chip[data-pin]{display:none}
  .tc .tc-cond{flex:1 1 auto;min-width:0;background:var(--seg)} /* 摘要放目的地・年齡・天數・保額，太長結尾截斷；釘選鈕只放圖示＋個數（使用者 2026-10-23） */
  .tc .tc-cond-lbl{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .tc .tc-pinbtn{display:flex;flex:none;background:var(--seg)}
  .tc .tc-pinpop:not([hidden]){display:flex}
  .tc .tc-bar-w.tc-fixed .tc-pinpop{right:calc(100% - var(--tc-l) - var(--tc-w));left:auto;width:min(300px,calc(var(--tc-w) - 24px))}
  /* 條件面板：彈出式 */
  .tc .tc-pop{position:absolute;z-index:6;top:calc(100% + 6px);left:10px;width:min(360px,calc(100% - 20px));padding:14px;background:#fff;border:1px solid var(--div);border-radius:12px;box-shadow:var(--sh);flex-direction:column;align-items:stretch;gap:12px}
  .tc .tc-bar-w.tc-fixed .tc-pop{left:calc(var(--tc-l) + 12px);width:min(360px,calc(var(--tc-w) - 24px))}
  .tc .tc-bar-w.tc-fixed .tc-pop,.tc .tc-bar-w.tc-fixed .tc-pinpop{margin-left:0}
  .tc .tc-pop[hidden]{display:none}
  .tc .tc-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  .tc .tc-two .tc-f-age:has(~ .tc-f:not([hidden])){grid-column:1/-1;order:-1} /* 年齡＋保額都有：年齡獨占一列在上，天數｜保額並排 */
  .tc .tc-f{flex:none;height:auto;padding:0;border-radius:0;background:none;gap:6px}
  .tc .tc-f:hover,.tc .tc-f:has(.tc-dd[aria-expanded="true"]){background:none}
  .tc .tc-sel{height:48px;padding:0 16px 0 18px;border-radius:999px;background:var(--seg)}
  .tc .tc-sel:hover{background:var(--hv)}
  .tc .tc-sel:has(.tc-dd[aria-expanded="true"]){background:var(--accBg)}
  .tc .tc-dd{height:100%;line-height:1}
  .tc .tc-dd-chev{width:12px;height:12px}
  .tc .tc-ddlist:not([hidden]){top:calc(100% + 6px);right:0;width:auto;max-height:280px}
  .tc .tc-f-days .tc-ddlist:not([hidden]){right:auto;width:max(100%,160px);max-height:240px}
  .tc .tc-f-3 .tc-ddlist:not([hidden]){left:auto;right:0;width:max(100%,180px)}
  .tc .tc-go{display:none}
  .tc .tc-done{display:flex}
  .tc .tc-pop .tc-done{margin-top:4px}
}
/* 地區加乘提示：目的地欄位標籤旁的圖示，滑過／點一下顯示 */
.tc .tc-upi{flex:none;display:inline-flex;margin-left:-2px;color:var(--up);cursor:help;outline:none}
.tc .tc-upi[hidden]{display:none!important}
/* 醫療額度提示：目的地文字旁的圖示，滑過（手機點一下）在欄位下方展開，寬度同欄位 */
.tc .tc-upi-tip{display:none;position:absolute;z-index:30;left:0;right:0;top:calc(100% + 8px);padding:12px 16px;border-radius:12px;background:#1B1934;color:#fff;font:500 14px/1.6 Montserrat,'Noto Sans TC',sans-serif;text-wrap:pretty;pointer-events:none;box-shadow:0 12px 32px rgba(4,0,44,.2)}
.tc .tc-f:has(.tc-upi:hover) .tc-upi-tip,.tc .tc-f:has(.tc-upi:focus) .tc-upi-tip,.tc .tc-f:has(.tc-upi.tc-on) .tc-upi-tip{display:block}

/* 卡片 */
.tc .tc-list{margin-top:28px;display:flex;flex-direction:column;gap:20px}
.tc .tc-card{position:relative;background:var(--card);border:1px solid var(--bd);border-radius:12px;box-shadow:0 6px 16px rgba(8,22,43,.06);padding:20px 20px 56px;display:flex;flex-direction:row;gap:16px;align-items:stretch}
.tc .tc-card[hidden]{display:none}
/* 延伸條（設計稿 2026-10-27）：同卡其他可選方案，接在卡片下方；卡片下緣改直角，框線顏色跟卡片（警示色帶時一起變色） */
.tc .tc-card.tc-has-strip{border-bottom-left-radius:0;border-bottom-right-radius:0}
.tc .tc-strip{position:absolute;top:100%;left:-1px;right:-1px;display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;padding:10px 20px;border:1px solid;border-color:inherit;border-top:none;border-radius:0 0 12px 12px;background:#F4F3FA;box-shadow:0 6px 16px rgba(8,22,43,.06)}
.tc .tc-strip[hidden]{display:none}
/* 其他方案膠囊（設計稿 2026-11-06 S2 保費淡化，兩個險種共用）：小標獨立一行，方案名紫、保費灰 */
.tc .tc-strip-l{flex:0 0 auto;margin-right:2px;white-space:nowrap;font:600 11.5px/1.4 Montserrat,'Noto Sans TC',sans-serif;letter-spacing:.06em;color:#8E8AA3}
.tc .tc-strip-o{display:contents}
@media (max-width:640px){.tc .tc-strip-l{flex:0 0 100%;margin:0 0 -2px}} /* 手機小標獨占一行；桌機／平板與膠囊同列（2026-11-06）*/
.tc .tc-so{display:inline-flex;align-items:baseline;gap:8px;height:34px;padding:0 12px;box-sizing:border-box;border:1px solid #E1DDFB;border-radius:999px;background:#fff;cursor:pointer;white-space:nowrap;transition:border-color .15s}
.tc .tc-so:hover{border-color:#6F66F0}
.tc .tc-so-n{font:700 13.5px/32px Montserrat,'Noto Sans TC',sans-serif;color:#2A1EB8}
.tc .tc-so-p{font:500 13px/32px Montserrat,sans-serif;color:#57546C}
.tc .tc-stub{flex:none;width:170px;margin-bottom:-36px;display:flex;flex-direction:column;gap:8px;padding:4px 4px 0}
.tc .tc-logo{flex:none;align-self:flex-start;width:108px;height:48px;margin-bottom:4px;padding:6px;border-radius:10px;background:#fff;border:1px solid var(--bd);display:flex;align-items:center;justify-content:center;overflow:hidden}
.tc .tc-logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;margin:0;border:0;box-shadow:none}
.tc .tc-logo.tc-has-wide{width:150px;height:50px;padding:0} /* 橫式 logo 是統一規格 3:1、已含留白 */
.tc .tc-logo.tc-has-wide .tc-logo-sq{display:none}
.tc .tc-names{display:flex;flex-direction:column;gap:8px}
.tc .tc-names>.tc-amt{margin-top:-4px} /* 單一方案：方案名與保額間距同下拉鈕（4px） */
.tc .tc-co{align-self:flex-start;display:inline-flex;align-items:center;gap:3px;font:700 14px/1.4 Montserrat,'Noto Sans TC',sans-serif;color:var(--sub)}
.tc .tc-co:hover{color:var(--acc);text-decoration:underline;text-underline-offset:2px}
.tc .tc-co-row .tc-co{max-width:100%;min-width:0}
.tc .tc-co-t{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} /* 加了「非網投」標籤後公司名不換行，太長才省略（設計稿 v4） */
.tc .tc-co svg{flex:none}
.tc .tc-co-row{align-self:flex-start;max-width:100%;min-width:0;display:flex;align-items:center;gap:6px}
.tc .tc-cta-w{position:relative;display:flex;flex-direction:column;border-radius:12px} /* CTA 改方一點（設計稿 2026-10-27：按鈕 10px、外框 12px） */
.tc .tc-cta-w:has(.tc-nw:not([hidden])){background:#FFEDE3}
.tc .tc-nw{position:relative;display:flex;justify-content:center;align-items:center;gap:3px;padding:4px 0 5px;color:#B23A00;font:700 11px/1.2 'Noto Sans TC',sans-serif;cursor:help;user-select:none;outline:none}
.tc .tc-nw svg{flex:none}
.tc .tc-nw:hover,.tc .tc-nw:focus-visible,.tc .tc-nw.tc-on{text-decoration:underline}
.tc .tc-nw[hidden]{display:none!important}
.tc .tc-nw-tip{display:none;position:absolute;z-index:6;top:calc(100% + 6px);left:0;width:260px;text-decoration:none;padding:12px 14px;border-radius:12px;background:#1B1934;color:#fff;font:500 13.5px/1.65 'Noto Sans TC',sans-serif;text-wrap:pretty;pointer-events:none;box-shadow:0 12px 32px rgba(4,0,44,.2)}
.tc .tc-nw:hover .tc-nw-tip,.tc .tc-nw:focus-visible .tc-nw-tip,.tc .tc-nw.tc-on .tc-nw-tip{display:block}
.tc .tc-buy{margin-top:auto;display:flex;flex-direction:column;gap:8px}
.tc .tc-price{padding-top:8px;display:flex;align-items:baseline;gap:6px;white-space:nowrap}
.tc .tc-per{font:500 14px Montserrat,'Noto Sans TC',sans-serif;color:var(--price)} /* 保費橘色（設計稿 v4） */
.tc .tc-cur{margin-right:-5px;font:700 14px Montserrat,sans-serif;color:var(--price)} /* $ 緊貼金額（抵掉 .tc-price 的 gap，留 1px） */
.tc .tc-num{font:700 22px/1 Montserrat,sans-serif;letter-spacing:-.5px;color:var(--price)}
.tc .tc-cta{display:block;text-align:center;padding:10px 0;border-radius:10px;font:700 14px Montserrat,'Noto Sans TC',sans-serif;color:#fff;background:var(--cta);transition:background .15s}
.tc .tc-cta:hover{background:var(--ctaH);color:#fff}
.tc .tc-card.tc-paused .tc-cta{pointer-events:none;opacity:.35}
.tc .tc-card.tc-na .tc-per,.tc .tc-card.tc-na .tc-cur,.tc .tc-card.tc-na .tc-num{color:var(--faint)}
/* 加入比較入口（設計稿 2026-11）：桌機在投保鈕旁、手機在 logo 下；已加入＝淡紫底紫框 */
.tc .tc-cta-row{display:flex;align-items:flex-start;gap:8px}
.tc .tc-cta-row .tc-cta-w{flex:1;min-width:0}
.tc .tc-add{flex:none;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #D9D6E6;border-radius:10px;background:#fff;color:var(--sub);transition:border-color .15s,color .15s}
.tc .tc-add:hover{border-color:#6F66F0;color:var(--acc)}
.tc .tc-add:focus-visible{box-shadow:0 0 0 2px var(--accBd)}
.tc .tc-add[aria-pressed="true"]{background:var(--accBg);border-color:var(--accBd);color:var(--acc)}
.tc .tc-add.tc-pend{background:#FFF4E5;border-color:#F5C27A}
.tc .tc-add[hidden],.tc .tc-add-on,.tc .tc-add-l{display:none}
.tc .tc-add-off,.tc .tc-add[aria-pressed="true"] .tc-add-on{display:inline-flex;align-items:center;gap:4px}
.tc .tc-add[aria-pressed="true"] .tc-add-off{display:none}
/* 分隔線（設計稿：細實線、無缺口） */
.tc .tc-perf{flex:none;position:relative;width:0;margin:-20px 0 -56px;border-left:1px solid var(--bd)}
.tc .tc-perf i{display:none}
/* 保障區塊 */
.tc .tc-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:8px}
.tc .tc-blocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:10px}
.tc .tc-blk{min-width:0;padding:0 12px}
.tc .tc-blk+.tc-blk{border-left:1px solid var(--div)}
.tc .tc-blk.tc-x{display:none}
.tc .tc-bh{margin:0 0 6px;padding:2px 0 7px;border-bottom:2px solid var(--c2);display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px;white-space:nowrap;font:700 14px/1.2 Montserrat,'Noto Sans TC',sans-serif;color:var(--c1)}
.tc .tc-blk.tc-pinned .tc-bh{border-bottom-color:var(--c1)}
.tc .tc-bn{flex:none;margin:-2px -5px;padding:2px 5px;border-radius:4px}
.tc .tc-blk.tc-pinned .tc-bn{background:color-mix(in oklch,var(--c1) 12%,#fff)} /* 釘選的分組：名稱加淡底色，取代圖釘圖示（設計稿 2026-10-21 晚） */
.tc .tc-notes{margin-left:auto;display:inline-flex;gap:6px}
.tc .tc-ftn{font:500 11.5px Montserrat,'Noto Sans TC',sans-serif;color:var(--ftc)}
.tc .tc-upn{font:500 11.5px Montserrat,'Noto Sans TC',sans-serif;color:var(--up)}
.tc .tc-qn{font:500 11.5px Montserrat,'Noto Sans TC',sans-serif;color:var(--up)}
.tc .tc-upn:empty{display:none}
.tc .tc-r{display:flex;align-items:baseline;gap:2px;padding:3px 0}
.tc .tc-k{position:relative;min-width:0;margin:0 -4px;padding:0 4px;border-radius:5px;font:500 14px/1.4 Montserrat,'Noto Sans TC',sans-serif;color:var(--sub);outline:none}
.tc .tc-k[data-tip]{cursor:pointer;text-decoration:underline dotted var(--dash);text-underline-offset:4px}
.tc .tc-k[data-tip]:not(.tc-k-on):hover{background:var(--hv)}
.tc .tc-k[data-tip]:focus-visible{box-shadow:0 0 0 2px var(--accBd)}
.tc .tc-k.tc-k-on{background:var(--accBg)}
.tc .tc-k small{font-size:12px;color:var(--mute)}
.tc .tc-tb{display:none} /* 說明文字留在 HTML 給 SEO；畫面上用 .tc-tipbox 顯示 */
.tc .tc-ft{font:700 13px/1 Montserrat,sans-serif;color:var(--ftc)}
.tc .tc-qs{font:700 13px/1 Montserrat,sans-serif;color:var(--up)}
.tc .tc-v{flex:none;margin-left:auto;padding-left:8px;position:relative;font:700 15px/1.4 Montserrat,'Noto Sans TC',sans-serif;color:#1B1934;white-space:nowrap}
.tc .tc-up{position:absolute;left:100%;top:0;margin-left:2px;font:700 15px/21px Montserrat,'Noto Sans TC',sans-serif;font-style:normal;color:var(--up)}
.tc .tc-none{padding:6px 0;font:700 15px/1.3 Montserrat,sans-serif;color:var(--dash)}
/* 活動、看全部 */
.tc .tc-camp{position:absolute;z-index:2;left:240px;right:110px;bottom:16px}
.tc .tc-camp summary{max-width:100%;height:24px;display:inline-flex;align-items:center;gap:4px;color:var(--camp);white-space:nowrap;overflow:hidden;font:700 12.5px/1 Montserrat,'Noto Sans TC',sans-serif}
.tc .tc-camp summary:hover{text-decoration:underline}
.tc .tc-camp summary::-webkit-details-marker{display:none}
.tc .tc-camp-pop{position:absolute;top:calc(100% + 4px);left:0;width:min(340px,calc(100vw - 32px));padding:14px;background:#fff;border:1px solid var(--div);border-radius:12px;box-shadow:var(--sh);display:flex;flex-direction:column;gap:8px}
.tc .tc-camp-pop strong{font:700 14px/1.4 Montserrat,'Noto Sans TC',sans-serif;color:var(--camp)}
.tc .tc-camp-pop span{font:500 13px/1.7 Montserrat,'Noto Sans TC',sans-serif;color:var(--sub)}
.tc .tc-camp-pop a{align-self:flex-start;font:700 13px Montserrat,'Noto Sans TC',sans-serif;color:var(--camp)}
/* 卡片頂部色帶（設計稿 2026-10-23）：大活動（漸層，點了開活動說明）／暫停受理（強，紅）／注意（弱，黃）；一張卡只有一條，卡片上留白 20→60px */
.tc .tc-card:has(.tc-tier:not([hidden]) .tc-band){padding-top:60px}
.tc .tc-card:has(.tc-tier:not([hidden]) .tc-band-pause){border-color:oklch(0.88 0.06 25)}
.tc .tc-card:has(.tc-tier:not([hidden]) .tc-band-note){border-color:oklch(0.88 0.06 75)}
.tc .tc-band{position:absolute;z-index:3;top:0;left:0;right:0;min-height:40px;box-sizing:border-box;padding:9px 20px;border-radius:11px 11px 0 0;display:flex;align-items:center;gap:8px;font:700 14px/1.35 Montserrat,'Noto Sans TC',sans-serif}
.tc .tc-band svg{flex:none;width:16px;height:16px}
.tc .tc-band-t{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tc .tc-band-more{flex:none;font-size:13px}
/* 跑馬燈（compare.js marquee：文字放不下才加 tc-marq）；兩份文字間隔 48px，捲一份＋間隔＝回到原點；滑過／按住暫停 */
.tc .tc-band-t.tc-marq{text-overflow:clip}
.tc .tc-mq{display:inline-flex;gap:48px;animation:tc-mq var(--mqd,12s) linear 1s infinite}
.tc .tc-band:hover .tc-mq,.tc .tc-band:active .tc-mq{animation-play-state:paused}
@keyframes tc-mq{to{transform:translateX(calc(-50% - 24px))}}
@media (prefers-reduced-motion:reduce){.tc .tc-mq{display:inline;animation:none}.tc .tc-mq>span+span{display:none}.tc .tc-band-t.tc-marq{text-overflow:ellipsis}}
.tc .tc-band-pause{background:oklch(0.965 0.02 25);border-bottom:1px solid oklch(0.88 0.06 25);color:oklch(0.50 0.16 25)}
.tc .tc-band-note{background:oklch(0.97 0.035 85);border-bottom:1px solid oklch(0.88 0.06 75);color:oklch(0.45 0.10 60)}
.tc .tc-band-note .tc-band-more{color:inherit;text-decoration:underline;text-underline-offset:3px}
.tc .tc-camp.tc-camp-band{position:static}
.tc .tc-camp-band summary.tc-band{display:flex;max-width:none;height:40px;padding:0 20px;background:linear-gradient(110deg,#4737FF 0%,#8B5CF6 55%,#D946EF 100%);color:#fff;cursor:pointer;user-select:none;font:700 14px/1.2 Montserrat,'Noto Sans TC',sans-serif}
.tc .tc-camp-band summary.tc-band svg{color:#FFE27A}
.tc .tc-camp-band .tc-band-more{color:#FFE27A}
.tc .tc-camp-band summary:hover{text-decoration:none}
.tc .tc-camp-band summary:hover .tc-band-more{text-decoration:underline}
.tc .tc-camp-band .tc-camp-pop{z-index:4;top:44px;left:20px;width:min(340px,calc(100% - 40px))} /* 寬度對卡片算，手機不超出螢幕 */
.tc .tc-more{position:absolute;z-index:3;right:14px;bottom:16px;max-width:calc(100% - 28px);min-height:24px;padding:0 6px;border-radius:6px;background:#fff;display:inline-flex;justify-content:flex-end;align-items:center;gap:3px;text-align:right;font:600 12px/1 Montserrat,'Noto Sans TC',sans-serif;color:#5A5670} /* 看更多（設計稿 2026-10-30）：收合時列出被收起來的組名 */
.tc .tc-more[hidden]{display:none}
.tc .tc-more>span{min-width:0;line-height:1.5;text-wrap:pretty}
.tc .tc-more svg{flex:none}
.tc .tc-more-g{font-weight:700;white-space:nowrap}
.tc .tc-more:hover{text-decoration:underline}
.tc .tc-more svg{transition:transform .15s}
.tc .tc-more[aria-expanded="true"] svg{transform:rotate(180deg)}
.tc .tc-empty{margin-top:12px;padding:32px 20px;border:1px solid var(--div);border-radius:12px;text-align:center;font:400 14px/1.8 Montserrat,'Noto Sans TC',sans-serif;color:var(--sub)}
.tc .tc-empty[hidden]{display:none}
/* 平板與手機（清單寬不到 860）：卡頭橫排在上、保障在下（設計稿 2026-11-02） */
@media (max-width:891px){
  .tc .tc-card{flex-direction:column;gap:16px}
  .tc .tc-stub{width:auto;margin:0;padding:0;display:flex;flex-direction:row;align-items:center;gap:12px}
  .tc .tc-logo,.tc .tc-logo.tc-has-wide{width:44px;height:44px;margin:0;padding:5px;border-radius:10px;align-self:center}
  .tc .tc-logo.tc-has-wide .tc-logo-sq{display:block}
  .tc .tc-logo .tc-logo-w{display:none}
  .tc .tc-names{flex:1;min-width:0;gap:6px}
  .tc .tc-names>.tc-amt{margin-top:-2px}
  .tc .tc-co{font-size:13px}
  .tc .tc-co-row{gap:4px}
  .tc .tc-nw{padding:3px 0 4px;font-size:10.5px;white-space:nowrap}
  .tc .tc-nw svg{width:10px;height:10px}
  .tc .tc-nw-tip{left:auto;right:0;width:240px;font-size:13px;white-space:normal}
  .tc .tc-buy{margin:0;flex:none;align-items:flex-end;gap:6px}
  .tc .tc-price{padding:0;gap:4px}
  .tc .tc-per{font-size:13px}
  .tc .tc-cur{margin-right:-3px;font-size:13px}
  .tc .tc-num{font-size:20px}
  .tc .tc-cta{padding:10px 16px;white-space:nowrap;line-height:1}
  /* 卡片頂部三欄（設計稿 旅遊險-加入比較 2026-11）：logo／公司、方案、保額、保費／去投保、比較、須紙本簽名。只限列表上的卡片，比較表欄頭有自己的版面 */
  .tc .tc-card>.tc-stub{display:grid;grid-template-columns:36px minmax(0,1fr) clamp(92px,34%,108px);grid-template-rows:auto 1fr;gap:4px 10px;align-items:start}
  .tc .tc-card>.tc-stub>.tc-logo{grid-row:1/3;align-self:start;width:36px;height:36px;padding:4px;border-radius:8px}
  .tc .tc-card>.tc-stub>.tc-names{grid-column:2;grid-row:1;gap:4px}
  .tc .tc-card>.tc-stub .tc-co{font-size:12.5px}
  .tc .tc-card>.tc-stub .tc-pn{font-size:15px}
  .tc .tc-card>.tc-stub .tc-amt{font-size:12.5px}
  .tc .tc-card>.tc-stub>.tc-buy{display:contents}
  .tc .tc-card>.tc-stub .tc-price{grid-column:2;grid-row:2;align-self:end;padding-top:2px;flex-wrap:wrap;gap:2px 4px;white-space:normal} /* 窄螢幕「N天無法試算」與金額可分兩行，各自不斷行（設計稿 2026-11-06） */
  .tc .tc-card>.tc-stub .tc-per,.tc .tc-card>.tc-stub .tc-num{white-space:nowrap}
  .tc .tc-card>.tc-stub .tc-per{font-size:12.5px}
  .tc .tc-card>.tc-stub .tc-cur{font-size:14px}
  .tc .tc-card>.tc-stub .tc-num{font-size:22px}
  .tc .tc-card>.tc-stub .tc-cta-row{grid-column:3;grid-row:1/3;flex-direction:column;align-items:stretch;gap:6px}
  .tc .tc-card>.tc-stub .tc-cta-w{display:contents}
  .tc .tc-card>.tc-stub .tc-cta{order:1;height:40px;padding:0;display:flex;align-items:center;justify-content:center}
  .tc .tc-card>.tc-stub .tc-add{order:2;width:100%;height:36px;font:700 13px/1 Montserrat,'Noto Sans TC',sans-serif;white-space:nowrap}
  .tc .tc-card>.tc-stub .tc-add svg{width:13px;height:13px}
  .tc .tc-card>.tc-stub .tc-add-l{display:inline}
  .tc .tc-card>.tc-stub .tc-add-off svg{display:none} /* 手機寫「加入比較」不放＋（設計稿 2026-11-06）；已加入保留 ✓ */
  .tc .tc-card>.tc-stub .tc-nw{order:3;height:28px;padding:0;gap:4px;border-radius:999px;background:#FFEDE3;font-size:12px}
  .tc .tc-card>.tc-stub .tc-nw svg{width:12px;height:12px}
  .tc .tc-perf{width:auto;height:0;margin:0 -20px;border-left:0;border-top:1px solid var(--bd)}
}
@media (min-width:641px) and (max-width:891px){
  .tc .tc-camp{left:20px}
}
/* 手機 */
@media (max-width:640px){
  .tc .tc-blocks{gap:28px 10px}
  .tc .tc-blk{padding:0 10px 0 0}
  .tc .tc-blk+.tc-blk{border-left:0}
  /* 小活動：手機放保障區塊上方、淡橘底標籤（設計稿 旅遊險-比較頁 2026-10-30）；大活動色帶不動 */
  .tc .tc-tier{display:flex;flex-direction:column}
  .tc .tc-camp:not(.tc-camp-band){order:-1;position:relative;left:auto;right:auto;bottom:auto;margin-bottom:12px}
  .tc .tc-camp:not(.tc-camp-band) summary{min-height:30px;height:auto;margin-left:-5px;padding:6px 10px 6px 5px;border-radius:6px;background:#FFF3EA}
  .tc .tc-camp:not(.tc-camp-band) .tc-camp-pop{top:calc(100% + 6px);width:min(340px,100%)}
}

/* 一家公司一張卡：方案下拉切換（名稱一行、保額一行） */
.tc .tc-tier[hidden],.tc .tc-opt[hidden]{display:none}
.tc .tc-tiersel{position:relative}
.tc .tc-tier-btn{display:flex;flex-direction:column;gap:4px;color:var(--fg);text-align:left}
.tc .tc-tier-btn:hover{text-decoration:underline;text-underline-offset:4px}
.tc .tc-pn{display:block;font:700 17px/1.3 Montserrat,'Noto Sans TC',sans-serif;color:var(--fg)}
.tc .tc-caret{display:inline-flex;vertical-align:middle;margin-left:4px;width:18px;height:18px;align-items:center;justify-content:center;border-radius:5px;background:var(--accBg);color:var(--fg)}
.tc .tc-caret svg{transition:transform .15s}
.tc .tc-tier-btn[aria-expanded="true"] .tc-caret svg{transform:rotate(180deg)}
.tc .tc-amt{margin-top:0;font:500 13px/1.4 Montserrat,'Noto Sans TC',sans-serif;color:var(--mute)}
.tc .tc-tier-pop{position:absolute;z-index:6;top:calc(100% + 6px);left:0;width:280px;padding:6px;background:#fff;border:1px solid var(--div);border-radius:12px;box-shadow:var(--sh);display:flex;flex-direction:column;gap:2px}
.tc .tc-tier-pop[hidden]{display:none}
.tc .tc-opt{min-height:48px;padding:6px 10px;display:flex;align-items:center;gap:10px;border-radius:8px;text-align:left}
.tc .tc-opt:hover{background:var(--hv)}
.tc .tc-opt[aria-selected="true"]{background:var(--accBg)}
.tc .tc-opt-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.tc .tc-opt-name{font:700 14px/1.35 Montserrat,'Noto Sans TC',sans-serif;color:var(--fg)}
.tc .tc-opt-sum{font:500 12px/1.35 Montserrat,'Noto Sans TC',sans-serif;color:var(--mute)}
/* 方案不屬於選的保額檔（已達最高保額／已是最低保額，設計稿 v4） */
.tc .tc-lvchip{display:inline-block;margin-left:6px;padding:2px 6px;border-radius:4px;background:#FFE9D2;color:#9A3F00;font:700 11.5px/1.3 'Noto Sans TC',sans-serif;vertical-align:1px;white-space:nowrap}
.tc .tc-opt .tc-lvchip{padding:1px 5px;font-size:11px}
.tc .tc-lvchip[hidden]{display:none}
.tc .tc-opt-price{flex:none;font:700 14px/1 Montserrat,'Noto Sans TC',sans-serif;color:var(--fg);white-space:nowrap}
.tc .tc-opt-chk{flex:none;color:var(--acc);opacity:0}
.tc .tc-opt[aria-selected="true"] .tc-opt-chk{opacity:1}
@media (max-width:891px){
  .tc .tc-pn{font-size:15px}
  .tc .tc-amt{font-size:12.5px}
}
@media (max-width:640px){
  .tc .tc-tier-pop{width:min(300px,calc(100vw - 40px))}
}
.tc .tc-single .tc-caret{display:none}
.tc .tc-single .tc-tier-btn{pointer-events:none}
/* 排序選單（chip 外觀的原生 select）、編輯者提示 */
.tc .tc-sort{position:relative;padding-right:26px}
.tc .tc-sort select{appearance:none;-webkit-appearance:none;border:0;background:transparent;font:inherit;color:inherit;cursor:pointer;padding:0}
.tc .tc-warn{margin:8px 0;padding:8px 12px;border-radius:8px;background:#FEF3C7;color:#92400E;font:500 13px/1.6 'Noto Sans TC',sans-serif}

/* 名詞解釋說明框（掛在 body 下，不在 .tc 裡） */
.tc-tipbox{position:fixed;z-index:1001;display:flex;flex-direction:column;background:#fff;border:1px solid #E1DDFB;border-radius:12px;box-shadow:0 14px 30px -10px rgba(20,18,46,.6);font-family:Montserrat,'Noto Sans TC',-apple-system,'Microsoft JhengHei',sans-serif;-webkit-font-smoothing:antialiased}
.tc-tipbox[hidden],.tc-tipbg[hidden]{display:none}
.tc-tipbody{min-height:0;overflow-y:auto;padding:22px}
.tc-tipbody p{margin:0;font:500 14.5px/1.6 Montserrat,'Noto Sans TC',sans-serif;color:#3D3A52;white-space:normal}
.tc-tipbody p+p{margin-top:4px}
.tc-tipbody p:not(.tc-tipnote)+.tc-tipnote{margin-top:12px} /* 主文和 ※ 備註之間留段距 */
.tc-tipbody b{font-weight:700}
.tc-tipbody .tc-tipq{margin-top:16px;padding-top:14px;border-top:1px solid #D9D9E3;font-weight:700;color:oklch(0.50 0.11 248)} /* 併進來的傳染病檢疫：分隔線＋小標（同卡上 .tc-qs 的藍；使用者 2026-10-23 要更明顯的分隔） */
.tc-tipfoot{flex:none;padding:12px 22px 14px;border-top:1px solid #E1DDFB;font:500 12.5px/1.6 Montserrat,'Noto Sans TC',sans-serif;color:#57546C}
.tc-tipbox.tc-sheet{left:0!important;right:0;bottom:0!important;top:auto!important;width:auto!important;max-height:78vh!important;border:0;border-radius:18px 18px 0 0;box-shadow:0 -8px 28px rgba(4,0,44,.14)}
.tc-tiphead{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 0 22px} /* 手機：標題＋關閉鈕取代把手（設計稿 2026-11-02） */
.tc-tiptitle{min-width:0;font:700 16px/1.5 Montserrat,'Noto Sans TC',sans-serif;color:#04002C;text-wrap:pretty}
.tc-tipx{flex:none;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#57546C}
.tc-tipx:hover{background:#F0EFF6}
.tc-tipbox.tc-sheet .tc-tipbody{padding:16px 22px 24px}
.tc-tipbox.tc-sheet .tc-tipfoot{padding-bottom:calc(14px + env(safe-area-inset-bottom))}
.tc-tipbg{position:fixed;inset:0;z-index:1000;background:rgba(4,0,44,.32)}
html.tc-sheet-open{overflow:hidden}

/* 區段標題（設計稿 2026-10-28）：紫色英文小標＋大標，旅遊險頁「旅遊險方案 共 N 款」、保障項目頁「有〇〇的旅遊險」共用 */
.tc-sect{margin-top:56px;padding-left:4px;display:flex;flex-direction:column;gap:4px}
.tc-sect-k{font:700 12px/1.5 Montserrat,'Noto Sans TC',sans-serif;letter-spacing:.12em;color:#4737FF}
.tc-sect-r{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.tc-sect .tc-sect-h{margin:0;padding:0;font:900 26px/1.3 Montserrat,'Noto Sans TC',sans-serif;color:#04002C;letter-spacing:normal}
.tc .tc-intro .tc-sect{margin-top:0}
.tc .tc-intro>.tp-intro+.tc-head .tc-sect,.tc .tc-intro>.tc-head:first-child .tc-sect{margin-top:56px} /* 第一組：intro 之後 */
.tc+.tc .tc-intro>.tc-head:first-child .tc-sect{margin-top:0} /* 其他組：區塊間距由 .tc+.tc 負責 */
.tc .tc-intro .tc-sect+.tp-blk-d{margin-top:10px;padding-left:4px} /* 說明跟標題一樣內縮 4px */
.tc .tc-intro:has(.tc-sect)~.tc-list{margin-top:16px}

/* 已選清單（固定在畫面底部，高於條件列 z-index:20） */
.tc.tc-tray,.tc.tc-cv{max-width:none;margin:0;padding:0;font-family:Montserrat,'Noto Sans TC',sans-serif}
.tc.tc-tray{position:fixed;left:0;right:0;bottom:0;z-index:30;padding-bottom:env(safe-area-inset-bottom);background:#1B1740;color:#fff;box-shadow:0 -10px 30px -12px rgba(4,0,44,.45)}
.tc.tc-tray[hidden],.tc.tc-cv[hidden]{display:none}
.tc .tc-tray-in{max-width:1000px;margin:0 auto;padding:10px 16px;display:flex;flex-direction:column;gap:8px}
.tc .tc-tray-row{display:flex;align-items:center;gap:12px}
.tc .tc-tray-lbl{flex:none;font:700 14px Montserrat,'Noto Sans TC',sans-serif;white-space:nowrap}
.tc .tc-tray-chips{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.tc .tc-tray-chip{flex:none;max-width:100%;height:34px;padding:0 4px 0 12px;display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;border-radius:999px;background:rgba(255,255,255,.1);white-space:nowrap;font:700 13.5px Montserrat,'Noto Sans TC',sans-serif}
.tc .tc-tray-chip.tc-off{border-color:oklch(0.70 0.12 25)}
.tc .tc-tray-chip.tc-off b{opacity:.5}
.tc .tc-tray-co{font-weight:500;color:#B9B5D6}
.tc .tc-tray-na{font-size:12px;color:oklch(0.78 0.12 25)}
.tc .tc-tray-hint{font:500 13px Montserrat,'Noto Sans TC',sans-serif;color:#B9B5D6;white-space:nowrap}
.tc .tc-tray-rm{flex:none;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#B9B5D6}
.tc .tc-tray-rm:hover{background:rgba(255,255,255,.14);color:#fff}
.tc .tc-tray-clear{flex:none;padding:8px 2px;font:700 13.5px Montserrat,'Noto Sans TC',sans-serif;color:#D9D6EE;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
.tc .tc-tray-clear:hover{color:#fff}
.tc .tc-tray-go{flex:none;height:40px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:#5B4DFF;color:#fff;white-space:nowrap;font:700 14.5px Montserrat,'Noto Sans TC',sans-serif}
.tc .tc-tray-go:hover{filter:brightness(.92)}
.tc .tc-tray-go:disabled{background:#4A4670;cursor:not-allowed;filter:none}
.tc .tc-tray-alert{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:10px;background:#FFF4E5;color:#8A4B00;font:700 13.5px/1.5 Montserrat,'Noto Sans TC',sans-serif}
.tc .tc-tray-alert span{flex:1;min-width:0}
.tc .tc-tray-alert button{flex:none;padding:0 4px;text-decoration:underline;text-underline-offset:3px}
.tc .tc-tray-sum{flex:1;min-width:0;min-height:44px;display:flex;align-items:center;gap:10px}
.tc .tc-tray-sum>svg{flex:none;color:#D9D6EE}
.tc .tc-tray-sum[aria-expanded="true"]>svg{transform:rotate(180deg)}
.tc .tc-tray-logos{flex:none;display:flex;padding-right:8px}
.tc .tc-tray-logos img{width:32px;height:32px;margin:0 -8px 0 0;padding:3px;box-sizing:border-box;border-radius:50%;background:#fff;object-fit:contain}
.tc .tc-tray-txt{min-width:0;display:flex;flex-direction:column;font:500 12px/1.3 Montserrat,'Noto Sans TC',sans-serif;color:#B9B5D6}
.tc .tc-tray-txt b{font:700 14px/1.3 Montserrat,'Noto Sans TC',sans-serif;color:#fff}
.tc .tc-tray-list{display:flex;flex-direction:column;gap:6px;max-height:60vh;overflow-y:auto}
.tc .tc-tray-it{min-height:56px;padding:6px 4px 6px 8px;display:flex;align-items:center;gap:10px;border-radius:10px;background:#fff}
.tc .tc-tray-it img{flex:none;width:36px;height:36px;margin:0;padding:4px;box-sizing:border-box;border:1px solid var(--bd);border-radius:8px;object-fit:contain}
.tc .tc-tray-it .tc-tray-txt{flex:1;color:var(--sub)}
.tc .tc-tray-it .tc-tray-txt b{color:var(--fg)}
.tc .tc-tray-it .tc-tray-rm{width:44px;height:44px;color:var(--faint)}
.tc .tc-tray-it .tc-tray-rm:hover{background:#F0EFF6;color:var(--fg)}
.tc .tc-tray-it.tc-off img,.tc .tc-tray-it.tc-off b{opacity:.5}
.tc .tc-tray-it.tc-off .tc-tray-txt>span{color:oklch(0.48 0.16 25)}
.tc .tc-tray-list .tc-tray-clear{align-self:flex-start}
@media (max-width:640px){
  .tc .tc-tray-in{padding:10px 12px}
  .tc .tc-tray-go{height:44px;padding:0 20px;font-size:15px}
}

/* 比較表：全螢幕圖層；列的內容是卡片的 .tc-r，這裡只改成名稱在上、金額在下 */
html.tc-cv-open{overflow:hidden}
html.tc-cv-open #wpadminbar{display:none} /* 登入時管理列的 z-index 更高，會蓋住返回鈕 */
.tc.tc-cv{--cv-px:16px;--cv-w:148px;position:fixed;inset:0;z-index:1000;overflow:auto;overscroll-behavior:contain;background:var(--page)}
.tc .tc-cv-in{max-width:max(1000px,calc(var(--n)*var(--cv-w) + (var(--n) - 1)*8px + 2*var(--cv-px)));min-width:calc(var(--n)*var(--cv-w) + (var(--n) - 1)*8px + 2*var(--cv-px));margin:0 auto;padding:0 var(--cv-px)}
.tc .tc-cv-head{position:sticky;top:0;z-index:4;width:max-content;min-width:100%;padding:12px 0;background:#E9E7F7;border-bottom:1px solid #DCD9F0}
.tc .tc-cv-top{position:sticky;left:var(--cv-px);max-width:calc(100vw - 2*var(--cv-px));margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.tc .tc-cv-back{flex:none;height:40px;min-width:40px;padding:0 8px 0 4px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;white-space:nowrap;font:700 14px Montserrat,'Noto Sans TC',sans-serif;color:var(--fg)}
.tc .tc-cv-back svg{transform:rotate(90deg)}
.tc .tc-cv-back:hover{background:#DCD9F0}
.tc .tc-cv-cond{flex:0 1 auto;min-width:0;height:36px;padding:0 6px 0 14px;display:inline-flex;align-items:center;gap:8px;border:1px solid #DCD9F0;border-radius:999px;background:#fff}
.tc .tc-cv-cond:hover{border-color:var(--accBd)}
.tc .tc-cv-cond span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 13.5px/1 Montserrat,'Noto Sans TC',sans-serif;color:#3D3A52}
.tc .tc-cv-cond b{flex:none;height:26px;padding:0 10px;display:inline-flex;align-items:center;border-radius:999px;background:var(--accBg);font:700 12.5px/1 Montserrat,'Noto Sans TC',sans-serif;color:var(--acc);white-space:nowrap}
.tc .tc-cv-grid{display:grid;grid-template-columns:repeat(var(--n),minmax(var(--cv-w),1fr));column-gap:8px}
.tc .tc-cv-cols{grid-template-rows:auto auto;row-gap:0}
.tc .tc-cv-col{position:relative;width:0;min-width:100%;padding:14px;background:#fff;border:1px solid var(--bd);border-radius:12px;display:grid;grid-row:span 2;grid-template-rows:subgrid} /* 各家的保費、投保鈕對齊同一高度；width:0＋min-width:100%：手機放大文字時公司名不撐寬表頭，欄寬才跟下方對齊 */
.tc .tc-cv-col.tc-off{border-color:oklch(0.85 0.06 25)}
.tc .tc-cv-x{position:absolute;z-index:1;top:2px;right:2px;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:var(--faint)}
.tc .tc-cv-x:hover{background:#F0EFF6;color:var(--fg)}
.tc .tc-cv-col .tc-stub{position:relative;width:auto;min-width:0;margin:0;padding:0;display:grid;grid-row:span 2;grid-template-rows:subgrid;align-items:stretch;gap:8px}
.tc .tc-cv-col .tc-logo,.tc .tc-cv-col .tc-logo.tc-has-wide{position:absolute;top:0;left:0;width:18px;height:18px;margin:0;padding:0;border:0;border-radius:4px;background:none}
.tc .tc-cv-col .tc-logo-w{display:none}
.tc .tc-cv-col .tc-logo .tc-logo-sq,.tc .tc-cv-col .tc-logo.tc-has-wide .tc-logo-sq{display:block}
.tc .tc-cv-col .tc-names{flex:none;gap:2px}
.tc .tc-cv-col .tc-co-row{padding:0 24px 4px 24px}
.tc .tc-cv-col .tc-co{font-size:12.5px}
.tc .tc-cv-col .tc-co svg{display:none}
.tc .tc-cv-col .tc-co-t{white-space:normal}
.tc .tc-cv-col .tc-names>.tc-amt{margin-top:0}
.tc .tc-cv-col .tc-buy{margin:0;align-items:stretch;gap:8px}
.tc .tc-cv-col .tc-price{padding:0;gap:6px;flex-wrap:wrap}
.tc .tc-cv-col .tc-per{font-size:12.5px;font-weight:700;color:var(--sub)}
.tc .tc-cv-col .tc-cur{font-size:13px;margin-right:-5px}
.tc .tc-cv-col .tc-num{font-size:20px}
.tc .tc-cv-col .tc-cta{padding:11px 0;white-space:nowrap;line-height:1}
.tc .tc-cv-col.tc-paused .tc-cta{pointer-events:none;opacity:.35}
.tc .tc-cv-col.tc-off .tc-price,.tc .tc-cv-col.tc-off .tc-cta-row{display:none}
.tc .tc-cv-col.tc-off .tc-names{opacity:.5}
.tc .tc-cv-col .tc-tier-pop{width:min(280px,calc(100vw - 32px))}
.tc .tc-cv-col:nth-child(n+2):last-of-type .tc-tier-pop,.tc .tc-cv-col:last-of-type .tc-nw-tip{left:auto;right:0}
.tc .tc-cv-msg{min-height:36px;padding:6px 10px;border-radius:10px;background:oklch(0.965 0.02 25);display:flex;align-items:center;justify-content:center;text-align:center;color:oklch(0.48 0.16 25);font:700 12.5px/1.4 Montserrat,'Noto Sans TC',sans-serif;text-wrap:pretty}
.tc .tc-cv-slot{grid-row:span 2;min-width:0;padding:12px;border:1.5px dashed var(--ctl);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;color:var(--sub);font:700 13.5px/1.5 Montserrat,'Noto Sans TC',sans-serif}
.tc .tc-cv-slot span{font:400 24px/1 Montserrat,sans-serif}
.tc .tc-cv-slot:hover{border-color:#6F66F0;color:var(--acc)}
.tc.tc-cv-compact .tc-cv-col .tc-amt{display:none}
.tc.tc-cv-compact .tc-cv-col{padding:10px 14px}
.tc .tc-cv-sec{margin-top:16px;background:#fff;border:1px solid var(--bd);border-radius:12px;overflow:clip}
.tc .tc-cv-sh{position:sticky;left:var(--cv-px);width:100%;min-height:48px;padding:12px 16px 9px;display:flex;align-items:center;gap:8px;border-bottom:2px solid var(--c1);font:700 15px/1.3 Montserrat,'Noto Sans TC',sans-serif;color:var(--c1)}
.tc .tc-cv-sh.tc-shut{border-bottom:0}
.tc .tc-cv-sh.tc-shut svg{transform:rotate(-90deg)}
.tc .tc-cv-row{padding:12px 0}
.tc .tc-cv-row+.tc-cv-row{border-top:1px solid #F0EFF6}
.tc .tc-cv-cell{min-width:0;padding:0 14px}
.tc .tc-cv-cell.tc-off{opacity:.45}
.tc .tc-cv-cell .tc-r{display:block;padding:0}
.tc .tc-cv-cell .tc-k{font-size:13px;line-height:1.6;margin:0 -3px;padding:0 3px}
.tc .tc-cv-cell .tc-v{display:block;width:fit-content;margin:2px 0 0;padding:0}
.tc .tc-cv-notes{display:flex;flex-wrap:wrap;gap:0 8px;margin-top:2px}
.tc .tc-cv-cell .tc-none{display:block;padding:0;font:700 15px/1.45 Montserrat,sans-serif;color:var(--ctl)}
.tc .tc-cv-foot{margin:20px 0 24px;position:sticky;left:var(--cv-px);max-width:calc(100vw - 2*var(--cv-px));font:500 12px/1.6 Montserrat,'Noto Sans TC',sans-serif;color:var(--faint);text-align:center}
.tc .tc-cv-foot b{color:var(--dash)}
@media (max-width:640px){
  .tc.tc-cv{--cv-px:12px}
  .tc .tc-cv-back{padding:0}
  .tc .tc-cv-back span{display:none}
  .tc .tc-cv-col{padding:10px}
  .tc .tc-cv-col .tc-pn{font-size:15px}
  .tc .tc-cv-cell{padding:0 10px}
  .tc .tc-cv-col .tc-num{font-size:18px}
  .tc.tc-cv-compact .tc-cv-col{padding:8px 10px}
  .tc.tc-cv-compact .tc-cv-col .tc-buy{display:none}
  .tc.tc-cv-compact .tc-cv-col .tc-cv-msg{display:none}
}
