/* 常見問題：題目卡＋答案；答案內的重點卡、提示框類別由 data/faq.json 帶入（舊官網排版轉新站類別） */
.faq-list{display:grid;gap:clamp(20px,2vw,36px)}
.faq-card{gap:clamp(20px,1.8vw,32px);padding:clamp(20px,2.5vw,48px)}
.faq-question{display:flex;align-items:flex-start;gap:clamp(12px,1.4vw,24px);font-size:clamp(21px,1.5vw,32px);line-height:1.5}
.faq-question .num3d{flex:0 0 48px;width:48px;height:48px;font-size:24px}
.faq-card>.faq-answer:last-child{margin-top:0}
.faq-answer{--ok:#15803d;--ok-bg:#effaf3;--warn-ink:#92400e;--warn-bg:#fff7e8;min-width:0;font-size:clamp(17px,.9vw,21px);line-height:1.9;color:var(--ink-2);overflow-wrap:anywhere}
.faq-answer div{min-width:0}
.faq-answer>*+*{margin-top:18px}
.faq-answer strong{color:var(--brand-d);font-weight:800}
.faq-answer ul,.faq-answer ol{padding-left:1.5em;margin-block:18px;list-style:disc}
.faq-answer ol{list-style:decimal}
.faq-answer li+li{margin-top:8px}
.faq-answer a[href]{display:inline-block;margin:0 2px;padding:2px 12px;border:1px solid var(--line);border-bottom:3px solid var(--brand);border-radius:10px;background:linear-gradient(var(--white),var(--tint));box-shadow:var(--depth-1);color:var(--brand-d);font-weight:700;line-height:1.6;text-decoration:none}

/* 表格：外框一層、格線同色 */
.faq-answer div:has(>table){max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid var(--brand);border-radius:var(--r-sm);background:var(--white)}
.faq-answer table{width:100%;min-width:480px;border:0;border-collapse:collapse;border-spacing:0;font-size:inherit;line-height:1.7}
.faq-answer th,.faq-answer td{padding:14px 18px;border:0;border-right:1px solid var(--brand);border-bottom:1px solid var(--brand);vertical-align:middle}
.faq-answer th{text-align:center;background:var(--tint);color:var(--brand-d);font-weight:800}
.faq-answer tr>:last-child{border-right:0}
.faq-answer tbody tr:last-child>*{border-bottom:0}
.faq-answer tbody tr:nth-child(even){background:var(--tint-2)}

/* 提示框：重點結論／資訊／建議／注意／補充，左側色條區分 */
.faq-lead,.faq-info,.faq-good,.faq-warn,.faq-note{padding:16px 22px;border-left:5px solid var(--brand);border-radius:var(--r-sm);background:var(--tint)}
.faq-lead{border-left-color:var(--brand-d);background:linear-gradient(90deg,var(--tint),var(--tint-2));font-size:1.05em}
.faq-good{border-left-color:var(--ok);background:var(--ok-bg)}
.faq-good strong{color:var(--ok)}
.faq-warn{border-left-color:var(--amber-d);background:var(--warn-bg)}
.faq-warn strong{color:var(--warn-ink)}
.faq-note{border-left-color:var(--sky);background:var(--tint-2)}
.faq-note+.faq-note{margin-top:12px}

/* 重點卡：張數不固定，最後一列置中；同列等高 */
.faq-points{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:18px}
.faq-point{display:flex;flex-direction:column;gap:8px;flex:0 1 calc((100% - 36px)/3);min-width:min(100%,240px);padding:22px;border:1px solid var(--line);border-top:4px solid var(--brand);border-radius:var(--r-md);background:linear-gradient(160deg,var(--white),var(--tint-2));box-shadow:var(--depth-1)}
.faq-points:has(>.faq-point:nth-child(2):last-child)>.faq-point{flex-basis:calc((100% - 18px)/2)}
.faq-point--good{border-top-color:var(--ok)}
.faq-point--warn{border-top-color:var(--amber-d)}
.faq-point:has(>.faq-num){align-items:center;text-align:center}
.faq-h{color:var(--brand-d);font-weight:800;line-height:1.5}
.faq-point--good>.faq-h{color:var(--ok)}
.faq-point--warn>.faq-h{color:var(--warn-ink)}
.faq-tag{display:inline-block;padding:2px 14px;border-radius:999px;background:var(--tint);color:var(--brand-d);font-size:max(16px,.9em);font-weight:700}
.faq-num{color:var(--brand);font-size:clamp(32px,2.4vw,48px);font-weight:800;line-height:1.2;white-space:nowrap}
.faq-point--good>.faq-num{color:var(--ok)}
.faq-label{color:var(--brand-d);font-weight:700}
.faq-desc{color:var(--ink-3);font-size:max(16px,.94em);line-height:1.7}

@media(max-width:600px){
  .faq-question{flex-direction:column;gap:14px}
  /* 手機：表格改成一列一張卡，第一格當卡片標題，其餘每格「欄名｜內容」 */
  .faq-answer div:has(>table){overflow:visible;border:0;border-radius:0;background:none}
  .faq-answer table{min-width:0}
  .faq-answer table,.faq-answer tbody,.faq-answer tr,.faq-answer td{display:block}
  .faq-answer thead{display:none}
  .faq-answer tbody tr{overflow:hidden;border:1px solid var(--brand);border-radius:var(--r-sm);background:var(--white)}
  .faq-answer tbody tr+tr{margin-top:12px}
  .faq-answer tbody tr:nth-child(even){background:var(--white)}
  .faq-answer td{display:grid;grid-template-columns:minmax(5.5em,38%) minmax(0,1fr);gap:12px;padding:10px 14px;border-right:0;border-bottom:1px solid var(--line)}
  .faq-answer td::before{content:attr(data-label);color:var(--brand-d);font-weight:700}
  .faq-answer td:first-child{display:block;background:var(--tint);color:var(--brand-d);font-weight:800}
  .faq-answer td:first-child::before{content:none}
  .faq-answer tbody tr>td:last-child{border-bottom:0}
  .faq-lead,.faq-info,.faq-good,.faq-warn,.faq-note{padding:14px 16px}
  .faq-point,.faq-points:has(>.faq-point:nth-child(2):last-child)>.faq-point{flex-basis:100%;padding:18px}
}
