/* ============ HOMEPAGE ============ */

/* ticker */
.ticker-band{background:var(--bg-ticker);border-bottom:1px solid #ece7d8}
.ticker-inner{display:flex;align-items:center;gap:14px;height:42px;overflow:hidden}
.ticker-flag{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;background:var(--navy);color:var(--gold-light);font-size:12.5px;font-weight:var(--fw-bold);letter-spacing:.08em;padding:5px 11px;border-radius:3px}
.ticker-flag .dot{width:7px;height:7px;border-radius:50%;background:var(--amber);display:inline-block}
/* 上下輪播：軌道只露出一則的高度，整條清單靠 translateY 上移 */
.ticker-track{flex:1;min-width:0;height:28px;overflow:hidden}
.ticker-list{list-style:none;margin:0;padding:0;transition:transform .45s cubic-bezier(.4,0,.2,1)}
.ticker-it{height:28px;display:flex;align-items:center;font-size:13.5px;font-weight:var(--fw-medium)}
.ticker-it a{display:block;max-width:100%;color:#404a58;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ticker-it a:hover{color:var(--navy-3)}
.ticker-nav{flex-shrink:0;display:flex;gap:5px}
.ticker-btn{width:23px;height:23px;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid #e4dfd0;border-radius:4px;background:#fff;color:#6b7482;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.ticker-btn:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.ticker-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.ticker-btn svg{width:12px;height:12px}
@media (prefers-reduced-motion:reduce){.ticker-list{transition:none}}

/* hero */
.hero-band{background:#fff}
.hero{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start;padding-top:28px;padding-bottom:28px}   /* 上下留白等寬 */
.hero-main{flex:1 1 560px;min-width:300px}
/* 首頁 hero 輪播 */
.hero-slider{position:relative;overflow:hidden;border-radius:9px}
.hero-track{display:flex;transition:transform .5s ease}
.hero-slide{flex:0 0 100%}
.hero-slide.hero-fig{border-radius:0}
.hero-dots{position:absolute;right:16px;bottom:16px;display:flex;align-items:center;gap:7px;z-index:3;--hero-dur:5s}   /* --hero-dur 需與 main.js 的自動輪播秒數一致 */
.hero-dot{position:relative;overflow:hidden;width:9px;height:9px;padding:0;border:none;border-radius:50%;background:rgba(255,255,255,.55);cursor:pointer;transition:width .25s,background .25s;box-shadow:0 1px 3px rgba(0,0,0,.4)}
.hero-dot:hover{background:rgba(255,255,255,.85)}
.hero-dot.is-active{width:34px;border-radius:5px;background:rgba(255,255,255,.3)}   /* 底槽壓暗一點，白色進度條才明顯 */
/* 目前這張的圓點拉長成進度條，由左往右填滿；填滿的同時切換下一張 */
.hero-dot.is-active::after{content:"";position:absolute;left:0;top:0;bottom:0;width:0;border-radius:inherit;background:#fff}
.hero-dot.is-filling::after{animation:heroDotFill var(--hero-dur,5s) linear forwards}
.hero-slider.is-paused .hero-dot::after{animation-play-state:paused}   /* 滑鼠移入暫停時，進度條也跟著停 */
@keyframes heroDotFill{from{width:0}to{width:100%}}
@media (prefers-reduced-motion:reduce){.hero-dot.is-filling::after{animation:none;width:100%}}
/* 左右箭頭：圓點小不好點，改用大面積按鈕切換（z-index 蓋過整張圖的連結） */
.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;display:flex;align-items:center;justify-content:center;width:40px;height:58px;padding:0;border:none;border-radius:6px;background:rgba(6,22,42,.4);color:#fff;cursor:pointer;transition:background .2s}
.hero-arrow:hover{background:rgba(6,22,42,.78)}
.hero-arrow:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.hero-arrow svg{width:22px;height:22px}
.hero-prev{left:10px}
.hero-next{right:10px}
.hero-fig{position:relative;display:block;width:100%;aspect-ratio:16/9;border-radius:9px;overflow:hidden;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 52%,var(--navy-3) 100%)}
.hero-fig img{width:100%;height:100%;object-fit:cover}
.hero-fig .hero-deco{position:absolute;right:-10px;bottom:-50px;font-family:var(--font-serif);font-weight:900;font-size:230px;color:rgba(227,194,92,.1);line-height:1}
.hero-cat{position:absolute;top:16px;left:16px;background:var(--gold);color:var(--navy);font-size:12.5px;font-weight:var(--fw-bold);padding:5px 12px;border-radius:3px;letter-spacing:var(--tracking-wide);line-height:1.4;z-index:2}
/* 分類標籤配色（取自 logo 多彩）*/
[data-cat="city-focus"]{--cat-c:#1f4e89;--cat-t:#fff}
[data-cat="business-district"]{--cat-c:#e07b39;--cat-t:#fff}
[data-cat="real-estate"]{--cat-c:#efb02c;--cat-t:#0b2a4e}
[data-cat="travel"]{--cat-c:#4a9d5b;--cat-t:#fff}
[data-cat="health"]{--cat-c:#2f9fb0;--cat-t:#fff}
[data-cat="public-good"]{--cat-c:#d8443a;--cat-t:#fff}
.hero-cat[data-cat],.cat[data-cat]{background:var(--cat-c)!important;color:var(--cat-t)!important}
.cat-text[data-cat]{color:var(--cat-c)!important}
.hero-overlay{position:absolute;left:0;right:0;bottom:0;padding:26px 28px;background:linear-gradient(0deg,rgba(6,22,42,.94) 0%,rgba(6,22,42,.4) 45%,rgba(6,22,42,0) 75%)}
.hero-overlay h1{margin:0;font-weight:var(--fw-extrabold);font-size:var(--fs-hero);line-height:var(--line-tight);letter-spacing:var(--tracking-tight);color:#fff}
.hero-meta{display:flex;align-items:center;gap:12px;font-size:12.5px;color:rgba(255,255,255,.65)}
.hero-meta .sep{opacity:.4}
.hero-side{flex:1 1 300px;min-width:260px;display:flex;flex-direction:column;gap:18px}
.hero-item{display:flex;gap:14px;border-bottom:1px solid var(--line-2);padding-bottom:18px}
.hero-side .hero-item:last-child{border-bottom:none;padding-bottom:0}
.hero-item-fig{width:118px;height:84px;flex-shrink:0;border-radius:6px;overflow:hidden;background:#eef1f5;display:block}
.hero-item-fig img{width:100%;height:100%;object-fit:cover}
.hero-item-fig .ph{display:block;width:100%;height:100%;background:linear-gradient(135deg,#eef1f5,#e4e9f0)}
.hero-item-body .cat-text{font-size:11.5px;font-weight:var(--fw-bold);color:var(--gold-dark);letter-spacing:var(--tracking-wide)}
.hero-item-body h3{margin:4px 0 6px;font-weight:var(--fw-bold);font-size:17px;line-height:var(--line-title);color:var(--text)}
.hero-item-body .time{font-size:var(--fs-meta);color:var(--muted)}
/* 右側最新／熱門分頁 */
.hero-tabbox{gap:0}
/* 最新／熱門分頁：未選＝淡色底圖(bar_bg*_hover)＋深藍字；選中＝深藍底圖(bar_bg*)＋白字；斜邊互扣 */
.hero-tabbar{display:inline-flex;align-items:center;align-self:flex-start;width:fit-content;margin-bottom:14px;gap:0}
.hero-tab{appearance:none;border:none;cursor:pointer;position:relative;z-index:1;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  height:44px;min-width:110px;padding:0 20px;
  background:transparent no-repeat center/100% 100%;
  font-size:15.5px;font-weight:var(--fw-bold);letter-spacing:.01em;color:var(--navy);
  transition:color .15s}
.hero-tab .tab-ico{width:17px;height:17px;flex:0 0 auto}
.hero-tab .tab-ico-flame{color:#f2942e}      /* 火焰恆為橘 */
.hero-tab .tab-ico-users{color:currentColor}  /* 群眾 icon 隨文字：未選深藍、選中白 */
/* 未選（淡色底圖）：左＝最新（圓角在左）、右＝熱門（圓角在右，往左疊 16px 斜邊互扣） */
.hero-tab[data-hero-tab="latest"]{background-image:url(../images/brand/bar_bg1_hover.png);padding-left:24px}
.hero-tab[data-hero-tab="hot"]{background-image:url(../images/brand/bar_bg2_hover.png);padding-right:24px;margin-left:-16px}
/* 選中：換深藍底圖、白字、疊到上層讓斜邊蓋住未選 */
.hero-tab[data-hero-tab="latest"].is-active{background-image:url(../images/brand/bar_bg1.png)}
.hero-tab[data-hero-tab="hot"].is-active{background-image:url(../images/brand/bar_bg2.png)}
.hero-tab.is-active{color:#fff;z-index:2}
/* hover：只有「未選」分頁變字色（選中的不變）；底圖都不換 */
.hero-tab:not(.is-active):hover{color:var(--gold-dark)}
/* 選中分頁：底部金色底線（貼齊下緣、較長；未選／hover 皆不加） */
.hero-tab.is-active::after{content:"";position:absolute;left:20px;right:20px;bottom:5px;height:2.5px;border-radius:2px;background:var(--gold-light)}
.hero-panel{display:none;flex-direction:column;gap:12px}
.hero-panel.is-active{display:flex}
.hero-panel .hero-item:last-child{border-bottom:none;padding-bottom:0}
/* 壓縮：讓 4 則完整塞進大圖高度 */
.hero-panel .hero-item{gap:12px;padding-bottom:12px}
.hero-panel .hero-item-fig{width:104px;height:70px}
.hero-panel .hero-item-body h3{margin:0;font-size:var(--fs-sub);line-height:1.45;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hero-panel .hero-item-body .time{font-size:11.5px}

/* content band (gray) */
.content-band{background:#fff;border-top:1px solid var(--line)}
.content-band .layout-2col{padding-top:34px;padding-bottom:48px}
.content-main{min-width:0}
.cat-block{margin-bottom:38px}
.block-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px}
.more-link{font-size:13px;color:#5b6573;font-weight:500;flex-shrink:0}
.more-link:hover{color:var(--navy)}

/* ── 分類區塊版型（各區不同樣式）── */
.sec-fl .thumb-ph,.sec-lc .thumb-ph,.sec-ov .thumb-ph,.sec-feed .thumb-ph,.sec-ev .thumb-ph{display:block;background:linear-gradient(135deg,#eef1f5,#e4e9f0)}

/* 各版型的文章標題：滑鼠移入變 --navy-3（比內文色亮一階的藍），並淡入切換 */
.fl-lead-body h3,.fl-it-body .t,.feed-t,.ev-t,.rank-text,.pn-title,.vc-title,.vsec-it-title,.vmodal-it-title{transition:color .15s}

/* 1) 左大右列 / 左列右大 */
.sec-fl .fl-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:start}
.sec-fl.is-reverse .fl-grid{grid-template-columns:.95fr 1.05fr}
.sec-fl.is-reverse .fl-lead{order:2}
.sec-fl.is-reverse .fl-list{order:1}
.fl-lead{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 1px 3px rgba(11,42,78,.07);transition:box-shadow .18s,transform .18s}
.fl-lead:hover{box-shadow:0 12px 28px rgba(11,42,78,.14);transform:translateY(-3px)}
.fl-fig{position:relative;display:block}
.fl-fig img,.fl-fig .thumb-ph{width:100%;aspect-ratio:16/9;object-fit:cover}
.fl-fig .cat{position:absolute;top:12px;left:12px;background:rgba(11,42,78,.92);color:#fff;font-size:var(--fs-badge);font-weight:var(--fw-bold);letter-spacing:var(--tracking-wide);line-height:1.4;padding:4px 11px;border-radius:3px}
.fl-lead-body{display:block;padding:16px 18px 18px}
.fl-lead-body h3{font-weight:var(--fw-extrabold);font-size:var(--fs-lead);line-height:var(--line-heading);letter-spacing:var(--tracking-heading);margin:0 0 9px;color:var(--text)}
.fl-lead:hover .fl-lead-body h3{color:var(--navy-3)}
.fl-lead-body .meta{font-size:12.5px;color:var(--muted-2)}
.fl-list{list-style:none;margin:0;padding:0}
.fl-list li{border-bottom:1px solid var(--line-2)}
.fl-list li:last-child{border-bottom:none}
.fl-list a{display:flex;gap:13px;align-items:center;padding:12px 0}
.fl-list li:first-child a{padding-top:2px}
.fl-thumb{width:98px;height:66px;flex-shrink:0;border-radius:6px;overflow:hidden;background:var(--bg-soft)}
.fl-thumb img,.fl-thumb .thumb-ph{width:100%;height:100%;object-fit:cover}
.fl-it-body{min-width:0;display:flex;flex-direction:column;gap:5px}
.fl-it-body .t{font-weight:var(--fw-bold);font-size:15.5px;line-height:var(--line-title);color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fl-list a:hover .t{color:var(--navy-3)}
.fl-it-body .m{font-size:var(--fs-meta);color:var(--muted-2)}
/* city-focus 底部小篇：左右下方各一，沿用 .fl-thumb/.fl-it-body 小篇樣式 */
.sec-fl .fl-bottom{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;margin-top:18px}
.sec-fl.is-reverse .fl-bottom{grid-template-columns:.95fr 1.05fr}
.sec-fl .fl-b-item{display:flex;gap:13px;align-items:center}
.sec-fl .fl-b-item:hover .t{color:var(--navy-3)}
/* 右下方那則補上分隔線，延續右欄清單分隔（左下方不加，對齊大圖卡下方） */
.sec-fl .fl-bottom .fl-b-item:last-child{position:relative}
.sec-fl .fl-bottom .fl-b-item:last-child::before{content:"";position:absolute;left:0;right:0;top:-9px;height:1px;background:var(--line-2)}
/* real-estate（is-match）：右側大圖高度對齊左側 6 則小篇欄 */
.sec-fl.is-match .fl-grid{align-items:stretch}
.sec-fl.is-match .fl-lead{display:flex;flex-direction:column}
.sec-fl.is-match .fl-lead-body{flex:0 0 auto}
.sec-fl.is-match .fl-fig{flex:1 1 auto;min-height:220px}
.sec-fl.is-match .fl-fig img,.sec-fl.is-match .fl-fig .thumb-ph{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover}

/* 2) 上寬幅 + 下三卡 */
.sec-lc .lc-lead{position:relative;display:block;border-radius:10px;overflow:hidden;margin-bottom:18px}
.sec-lc .lc-fig img,.sec-lc .lc-fig .thumb-ph{width:100%;aspect-ratio:21/9;object-fit:cover;display:block}
.sec-lc .lc-grad{position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,22,42,.92) 0%,rgba(6,22,42,.2) 52%,transparent 78%)}
.sec-lc .lc-lead .cat{position:absolute;top:14px;left:14px;background:var(--gold);color:var(--navy);font-size:var(--fs-badge);font-weight:var(--fw-bold);line-height:1.4;padding:4px 11px;border-radius:3px;z-index:2}
.sec-lc .lc-cap{position:absolute;left:0;right:0;bottom:0;padding:20px 24px;z-index:2}
.sec-lc .lc-cap h3{font-weight:var(--fw-extrabold);font-size:25px;line-height:var(--line-heading);letter-spacing:var(--tracking-heading);color:#fff;margin:0}
/* 白字壓在圖上，改不了顏色 → 用底線表示可點（同 .ov-t） */
.sec-lc .lc-lead:hover .lc-cap h3{text-decoration:underline;text-underline-offset:4px}
.sec-lc .lc-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}

/* 3) 圖卡橫排（標題覆蓋圖上） */
.sec-ov .ov-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ov-card{position:relative;display:block;border-radius:10px;overflow:hidden;aspect-ratio:3/4}
.ov-card img,.ov-card .thumb-ph{width:100%;height:100%;object-fit:cover}
.ov-card .ov-grad{position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,22,42,.94) 6%,rgba(6,22,42,.25) 48%,transparent 72%)}
.ov-card .cat{position:absolute;top:11px;left:11px;background:var(--gold);color:var(--navy);font-size:11.5px;font-weight:var(--fw-bold);line-height:1.4;padding:3px 9px;border-radius:3px;z-index:2}
/* 定位交給外層 .ov-title，截行交給內層 .ov-t：
   絕對定位元素直接下 -webkit-line-clamp，Chrome 會畫出省略號卻不裁掉超出的行（第 4 行會露出來被卡片切一半） */
.ov-title{position:absolute;left:0;right:0;bottom:0;padding:14px 14px 16px;z-index:2}
.ov-t{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-weight:var(--fw-bold);font-size:var(--fs-sub);line-height:var(--line-title);color:#fff}
.ov-card:hover .ov-t{text-decoration:underline;text-underline-offset:3px}

/* 4) 條列 feed */
.sec-feed .feed-list{list-style:none;margin:0;padding:0}
.sec-feed .feed-list li{border-bottom:1px solid var(--line-2)}
.sec-feed .feed-list li:last-child{border-bottom:none}
.sec-feed .feed-list a{display:flex;gap:16px;padding:15px 0;align-items:center}
.feed-thumb{width:130px;height:84px;flex-shrink:0;border-radius:7px;overflow:hidden;background:var(--bg-soft)}
.feed-thumb img,.feed-thumb .thumb-ph{width:100%;height:100%;object-fit:cover}
.feed-body{min-width:0;display:flex;flex-direction:column;gap:6px}
.feed-t{font-weight:var(--fw-bold);font-size:17px;line-height:var(--line-title);color:var(--text)}
.sec-feed .feed-list a:hover .feed-t{color:var(--navy-3)}
.feed-m{font-size:var(--fs-meta);color:var(--muted-2)}

/* 5) 活動卡（日期/地點徽章） */
.sec-ev .ev-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ev-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 1px 3px rgba(11,42,78,.07);transition:box-shadow .18s,transform .18s}
.ev-card:hover{box-shadow:0 12px 28px rgba(11,42,78,.14);transform:translateY(-4px)}
.ev-fig img,.ev-fig .thumb-ph{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.ev-body{padding:13px 15px 16px;display:flex;flex-direction:column;gap:9px;flex:1}
.ev-date{align-self:flex-start;display:inline-flex;align-items:baseline;gap:5px;background:var(--navy);border-radius:6px;padding:5px 11px}
.ev-date b{font-weight:var(--fw-extrabold);font-size:16px;color:#fff;letter-spacing:var(--tracking-wide)}
.ev-date i{font-style:normal;font-size:11px;color:var(--gold-light)}
.ev-t{font-weight:var(--fw-bold);font-size:var(--fs-sub);line-height:var(--line-title);color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ev-card:hover .ev-t{color:var(--navy-3)}
.ev-loc{margin-top:auto;display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--muted)}
.ev-loc svg{width:13px;height:13px;color:var(--gold-dark);flex-shrink:0}

/* RWD：分類區塊版型 */
@media(max-width:767px){
  .sec-fl .fl-grid,.sec-fl.is-reverse .fl-grid{grid-template-columns:1fr;gap:16px}
  .sec-fl.is-reverse .fl-lead{order:0}.sec-fl.is-reverse .fl-list{order:0}
  .sec-fl .fl-bottom{grid-template-columns:1fr;gap:0}
  .sec-fl .fl-bottom .fl-b-item{padding:12px 0;border-bottom:1px solid var(--line-2)}
  .sec-fl .fl-bottom .fl-b-item:last-child{border-bottom:none}
  /* 單欄堆疊時取消大圖撐高，改回一般 16:9 */
  .sec-fl.is-match .fl-grid{align-items:start}
  .sec-fl.is-match .fl-lead{display:block}
  .sec-fl.is-match .fl-fig{min-height:0}
  .sec-fl.is-match .fl-fig img,.sec-fl.is-match .fl-fig .thumb-ph{position:static;aspect-ratio:16/9;height:auto}
  .sec-lc .lc-row{grid-template-columns:1fr 1fr}
  .sec-lc .lc-cap h3{font-size:19px}
  .sec-lc .lc-cap p{display:none}
  .sec-ov .ov-row{grid-template-columns:repeat(2,1fr)}
  .sec-ev .ev-row{grid-template-columns:1fr 1fr}
  .feed-thumb{width:104px;height:70px}
  .feed-t{font-size:16px}
}
@media(max-width:479px){
  .sec-lc .lc-row,.sec-ev .ev-row,.sec-ov .ov-row{grid-template-columns:1fr}
}

/* city index — full-width band（標頭沿用分類區塊樣式；各區縣市分兩欄、上下緊湊） */
/* 快速選擇縣市：content-main 最上方；滑鼠移到地區 → 下拉該區縣市 */
.content-main>.quickcity{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px 16px;margin-bottom:18px;box-shadow:0 1px 3px rgba(11,42,78,.07)}
.quickcity-title{font-weight:var(--fw-extrabold);font-size:16px;color:var(--navy);flex-shrink:0;position:relative;padding-left:13px}
.quickcity-title::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:15px;background:var(--gold);border-radius:2px}
.qc-menu{list-style:none;margin:0;padding:0;display:flex;gap:6px;flex-wrap:wrap}
.qc-region{position:relative}
.qc-region-name{display:inline-flex;align-items:center;gap:5px;cursor:pointer;border:1px solid var(--line);background:var(--bg-soft);color:var(--navy);font-size:var(--text-sm);font-weight:var(--fw-semibold);padding:7px 14px;border-radius:20px;outline:none;transition:background .15s,border-color .15s,color .15s}
.qc-region:hover .qc-region-name,.qc-region-name:focus{background:var(--navy);border-color:var(--navy);color:#fff}
.qc-caret{font-style:normal;font-size:14px;line-height:1;opacity:.9}
.qc-drop{position:absolute;left:0;top:calc(100% + 7px);z-index:30;min-width:186px;display:none;grid-template-columns:1fr 1fr;gap:2px 6px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 28px rgba(11,42,78,.16);padding:10px}
.qc-drop::before{content:"";position:absolute;left:0;right:0;top:-7px;height:7px}
.qc-region:hover .qc-drop,.qc-region:focus-within .qc-drop{display:grid}
.qc-region:nth-last-child(-n+2) .qc-drop{left:auto;right:0}
.qc-drop a{font-size:13.5px;color:var(--body);padding:6px 10px;border-radius:6px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.qc-drop a::before{content:"\203A";color:var(--gold-dark);font-weight:700}   /* › U+203A：用 escape 避免 charset 不一致時亂碼成 â€º */
.qc-drop a:hover{background:var(--bg-soft);color:var(--navy)}
@media(max-width:600px){.content-main>.quickcity{gap:8px 10px;padding:11px 13px}.qc-region-name{padding:6px 12px;font-size:13.5px}.qc-drop{min-width:150px}}

/* sidebar */
.sidebar{display:flex;flex-direction:column;gap:24px}
/* 桌機：側欄隨頁面捲動時固定在視窗內（內容夠長才有作用；平板以下不套用） */
@media(min-width:1024px){.sidebar{position:sticky;top:72px;align-self:start}}
.sidebar .box{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 1px 3px rgba(11,42,78,.06)}
.sidebar .tagbox,.sidebar .box:not(.rank-box):not(.newsletter):not(.ad-box){padding:20px 18px}   /* 廣告不留內距，圖片直接貼齊側欄上緣與左右 */
.sidebar .box>.section-title{font-size:20px;margin-bottom:13px}   /* 框內標題與下方內容拉開，別擠在一起 */

/* ranking */
.rank-box{padding:0;border-radius:12px;box-shadow:0 6px 22px rgba(11,42,78,.10)}
/* 標頭：金色柔光 + 深藍漸層 + 底部金色光暈線（呼應導覽列），左側放立體金色獎盃。 */
.rank-head{position:relative;overflow:hidden;display:flex;align-items:center;gap:10px;padding:15px 18px;
  background:radial-gradient(130% 190% at 15% -45%, rgba(246,188,78,.30), transparent 56%),linear-gradient(180deg,var(--navy-2),var(--navy))}
.rank-head::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--gold) 28%,var(--gold-light) 50%,var(--gold) 72%,transparent);
  box-shadow:0 0 8px rgba(232,162,28,.55)}
.rank-trophy{width:26px;height:26px;flex-shrink:0;filter:drop-shadow(0 2px 3px rgba(232,162,28,.5))}
.rank-title{font-weight:var(--fw-extrabold);font-size:17px;color:#fff;letter-spacing:var(--tracking-wide)}
.rank-tag{font-size:11px;color:var(--gold-light);letter-spacing:.15em;font-weight:var(--fw-bold)}
.rank-list{padding:8px 16px 12px}
.rank-item{display:flex;gap:11px;align-items:center;padding:10px 0;border-bottom:1px solid #f0f2f5}
.rank-item:last-child{border-bottom:none}
/* 名次徽章：金(1)銀(2)銅(3)、其餘灰，皆帶漸層與微立體。 */
.rank-no{flex-shrink:0;width:30px;height:30px;border-radius:7px;display:flex;align-items:center;justify-content:center;
  font-weight:var(--fw-extrabold);font-size:14px;color:#fff;
  background:linear-gradient(160deg,#aeb8c6,#7f8b9c);box-shadow:0 2px 5px rgba(11,42,78,.20),inset 0 1px 0 rgba(255,255,255,.35)}
.rank-no-1{background:linear-gradient(160deg,#f8cf76,#df940e);box-shadow:0 2px 8px rgba(223,148,14,.45),inset 0 1px 0 rgba(255,255,255,.55)}
.rank-no-2{background:linear-gradient(160deg,#dde3ea,#9aa6b7);color:#3c4a63;text-shadow:0 1px 0 rgba(255,255,255,.4)}
.rank-no-3{background:linear-gradient(160deg,#e7b884,#bd7a3c)}
/* 封面縮圖：正方圓角，無圖時顯示深藍底占位；hover 微放大。 */
.rank-thumb{flex-shrink:0;width:54px;height:54px;border-radius:8px;overflow:hidden;
  background:linear-gradient(135deg,var(--navy-2),var(--navy));box-shadow:0 1px 4px rgba(11,42,78,.18)}
.rank-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.rank-item:hover .rank-thumb img{transform:scale(1.06)}
.rank-text{font-size:var(--fs-mini);line-height:1.5;color:#1f2c40;font-weight:var(--fw-semibold);
  display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rank-item:hover .rank-text{color:var(--navy-3)}

/* 側欄「最新文章」：縮圖＋標題＋日期分類 */
.side-latest .sl-item{display:flex;gap:11px;align-items:flex-start;padding:11px 0;border-bottom:1px solid #f0f2f5}
.side-latest .sl-item:first-child{padding-top:2px}
.side-latest .sl-item:last-child{border-bottom:none;padding-bottom:0}
.sl-thumb{flex-shrink:0;width:78px;height:56px;border-radius:6px;overflow:hidden;background:linear-gradient(135deg,var(--navy-2),var(--navy))}
.sl-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.sl-item:hover .sl-thumb img{transform:scale(1.06)}
.sl-body{min-width:0;display:flex;flex-direction:column;gap:4px}
.sl-t{font-weight:var(--fw-bold);font-size:14px;line-height:1.5;color:var(--text);transition:color .15s;
  display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sl-item:hover .sl-t{color:var(--navy-3)}
.sl-m{font-size:11.5px;color:var(--muted-2)}
/* 側欄「熱門文章」：沿用首頁熱門排行的名次徽章（金銀銅），尺寸縮小一號 */
.side-hot{list-style:none;margin:0;padding:0}
.side-hot li{border-bottom:1px solid #f0f2f5}
.side-hot li:last-child{border-bottom:none}
.side-hot a{display:flex;gap:10px;align-items:center;padding:10px 0}
.side-hot li:first-child a{padding-top:2px}
.side-hot li:last-child a{padding-bottom:0}
.side-hot .rank-no{width:26px;height:26px;border-radius:6px;font-size:13px}
.sh-t{font-size:var(--fs-mini);line-height:1.5;font-weight:var(--fw-semibold);color:#1f2c40;transition:color .15s;
  display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.side-hot a:hover .sh-t{color:var(--navy-3)}

/* newsletter */
.newsletter{background:var(--navy)!important;border:none!important;padding:26px 24px;position:relative;overflow:hidden}
.newsletter::after{content:"\5831";position:absolute;right:-30px;top:-30px;   /* 報 U+5831：escape 避免亂碼 */font-family:var(--font-serif);font-weight:900;font-size:150px;color:rgba(227,194,92,.07);line-height:1}
.nl-eyebrow{display:inline-block;font-size:11px;letter-spacing:.2em;color:var(--gold-light);font-weight:var(--fw-bold);margin-bottom:10px;position:relative}
.newsletter h3{margin:0 0 8px;font-weight:var(--fw-extrabold);font-size:21px;color:#fff;position:relative}
.newsletter p{margin:0 0 18px;font-size:13px;line-height:var(--line-relaxed);color:rgba(255,255,255,.72);position:relative}
.nl-form{display:flex;flex-direction:column;gap:10px;position:relative}
.nl-form input{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.07);border-radius:7px;padding:12px 14px;font-size:14px;color:#fff;outline:none;width:100%}
.nl-form input::placeholder{color:rgba(255,255,255,.5)}
.nl-form input:focus{border-color:var(--gold-light)}
.nl-form button{background:var(--gold);color:var(--navy);border:none;border-radius:7px;padding:12px;font-size:14.5px;font-weight:var(--fw-bold);cursor:pointer;transition:background .15s}
.nl-form button:hover{background:var(--gold-light)}
.nl-note{display:block;font-size:11px;color:rgba(255,255,255,.5);text-align:center;margin-top:10px;position:relative}

/* tag box */
.tagbox .section-title{font-size:16px;margin-bottom:14px}
.tagbox .section-title::before{height:.88em}
.tag-cloud{display:flex;flex-wrap:wrap;gap:9px}

/* ad slot */
.ad-slot{background:var(--bg-soft);border:1px dashed var(--line);min-height:90px;display:flex;align-items:center;justify-content:center;color:var(--muted)}
/* 左右 auto：橫幅型（.wrap.ad-box，max-width 1280）在滿版首頁/頁尾仍水平置中；
   側欄型（.box.ad-box）為滿欄寬，auto 等同 0，不受影響 */
.ad-box{margin:18px auto}
/* 側欄內的廣告框改由側欄的 flex gap 統一間距（清掉自身 margin，否則會與 gap 相加，區塊間距忽大忽小、愈往下愈大） */
/* 廣告不加外框，只留圖片本身（右上角仍有「廣告」標示可與編輯內容區隔） */
.sidebar .ad-box{margin:0;border:none;box-shadow:none;background:none}
.ad-unit-wrap{position:relative;display:block}
.ad-unit{display:block;line-height:0}
.ad-unit img{max-width:100%;height:auto;display:block;margin:0 auto;border-radius:6px}
/* 廣告標示（媒體公信力：與編輯內容區隔）；右上角小字半透明 */
.ad-label{position:absolute;top:0;right:0;z-index:2;font-size:10px;line-height:1.5;padding:1px 6px;background:rgba(15,23,42,.6);color:#fff;border-radius:0 6px 0 6px;letter-spacing:2px;pointer-events:none}

/* participate CTA — navy ⇄ gold 對照雙卡（與頁尾版權區的深藍區隔） */
.cta-band{background:var(--bg-soft);border-top:1px solid var(--line)}
.cta-band>.wrap{padding-top:25px;padding-bottom:20px}
.cta-eyebrow{display:block;text-align:center;font-size:12px;letter-spacing:.22em;font-weight:var(--fw-bold);color:var(--navy);margin-bottom:22px}
.cta-eyebrow::before,.cta-eyebrow::after{content:"";display:inline-block;width:30px;height:1px;background:var(--gold);vertical-align:middle;margin:0 14px 4px}
.cta-duo{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.duo-card{position:relative;overflow:hidden;display:flex;align-items:center;gap:18px;padding:20px 28px 20px 23%;border-radius:10px;color:inherit;transition:transform .18s,box-shadow .18s}
.duo-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(11,42,78,.2)}
.duo-card:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.duo-ico{display:none}   /* icon 已烙印在底圖 bg_ad1/bg_ad2 上，隱藏 HTML 圖示避免重複 */
.duo-ico svg{width:24px;height:24px}
.duo-body{display:flex;flex-direction:column;gap:3px;min-width:0}
.duo-title{font-weight:var(--fw-extrabold);font-size:21px;line-height:1.3;letter-spacing:var(--tracking-heading)}
.duo-desc{font-size:13px;line-height:1.5}
.duo-go{flex-shrink:0;margin-left:auto;display:inline-flex;align-items:center;gap:8px;font-size:var(--text-sm);font-weight:var(--fw-bold);padding:9px 18px;border-radius:999px;transition:gap .18s,background .15s}
.duo-card:hover .duo-go{gap:13px}
.duo-go i{font-style:normal}
.duo-navy{background:var(--ink) url('../images/brand/bg_ad1.jpg') left center/cover no-repeat}
.duo-navy .duo-ico{background:rgba(227,194,92,.16);color:var(--gold-light)}
.duo-navy .duo-title{color:#fff}
.duo-navy .duo-desc{color:rgba(255,255,255,.78)}
.duo-navy .duo-go{background:var(--gold);color:var(--navy)}
.duo-navy:hover .duo-go{background:var(--gold-light)}
.duo-gold{background:var(--gold) url('../images/brand/bg_ad2.jpg') left center/cover no-repeat}
.duo-gold .duo-ico{background:rgba(6,22,42,.1);color:var(--navy)}
.duo-gold .duo-title{color:var(--ink)}
.duo-gold .duo-desc{color:rgba(6,22,42,.82)}
.duo-gold .duo-go{background:var(--navy);color:#fff}
.duo-gold:hover .duo-go{background:var(--navy-2)}
@media(prefers-reduced-motion:reduce){.duo-card,.duo-go{transition:none}.duo-card:hover{transform:none}}

/* ============ INNER PAGES ============ */
.article-body{font-size:var(--fs-body);line-height:var(--line-body);letter-spacing:.015em;color:#26303f;overflow-wrap:break-word}
.article-body p{margin:0 0 1.15em}
/* 匯入內文自適應：圖片/影片/表格縮到欄寬內，避免固定寬度撐爆版面 */
/* 匯入內容任何固定寬度元素（含 wp-caption 等帶 inline width 的容器）都不外溢；max-width 會凌駕 inline width */
.article-body *{max-width:100%}
.article-body img{max-width:100%;height:auto}
.article-body figure{max-width:100%;margin:1.2em 0}
.article-body iframe,.article-body video,.article-body embed,.article-body object{max-width:100%}
.article-body .wp-block-embed__wrapper{position:relative;width:100%;aspect-ratio:16/9}
.article-body .wp-block-embed__wrapper iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.article-body table{max-width:100%;border-collapse:collapse}
.article-body pre{max-width:100%;overflow-x:auto}
/* 內文可讀寬度：中文約 42 字／行（圖片、影片、表格不受限，仍可滿欄）*/
.article-body p,.article-body li,.article-body blockquote{max-width:var(--measure)}
/* 內文小標：跟隨正文字級等比放大，不另外寫死 px */
.article-body h2{font-size:1.35em;line-height:var(--line-heading);margin:1.8em 0 .6em}
.article-body h3{font-size:1.16em;line-height:var(--line-heading);margin:1.5em 0 .5em}
/* 圖說：灰字、與圖片保留間距 */
.article-body figcaption,figure figcaption,.article-head figcaption{
  margin-top:9px;font-size:13.5px;line-height:1.6;color:var(--muted);letter-spacing:var(--tracking-normal)}
/* 分類頁／影音頁的欄目簡介 */
.cat-desc{margin:8px 0 18px;font-size:15px;line-height:var(--line-relaxed);color:var(--body);max-width:var(--measure)}

/* 文章上一篇／下一篇：兩張等寬卡片、標題截 2 行，避免長標題糊在一起 */
.prev-next{display:flex;gap:14px;margin:26px 0;padding-top:20px;border-top:1px solid var(--line)}
.prev-next .pn-item{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:6px;padding:12px 15px;background:#fff;border:1px solid var(--line);border-radius:9px;color:var(--text);transition:border-color .15s,box-shadow .15s}
.prev-next .pn-item:hover{border-color:var(--navy);box-shadow:0 5px 14px rgba(11,42,78,.1)}
.prev-next .pn-next{text-align:right}
.prev-next .pn-dir{font-size:var(--fs-meta);font-weight:var(--fw-bold);color:var(--gold-dark);letter-spacing:.03em}
.prev-next .pn-title{font-weight:var(--fw-bold);font-size:15px;line-height:var(--line-title);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.prev-next .pn-item:hover .pn-title{color:var(--navy-3)}
@media(max-width:600px){.prev-next{flex-direction:column;gap:10px}.prev-next .pn-next{text-align:left}}
.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--muted);margin:0 0 16px}
.breadcrumb a{color:var(--muted)}
.breadcrumb a:hover{color:var(--navy)}
.breadcrumb .bc-sep{color:#c3ccd6}
.breadcrumb .bc-current{color:var(--text);font-weight:600;max-width:32ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:767px){.breadcrumb .bc-current{max-width:18ch}}
.article-preview-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;padding:11px 14px;
  border:1px solid #e2b64c;background:#fff8df;color:#563f08;font-size:13px}
.article-preview-bar div{display:flex;align-items:baseline;gap:10px;min-width:0}
.article-preview-bar strong{font-size:14px;color:#312300}
.article-preview-bar a{flex:0 0 auto;padding:6px 10px;border:1px solid #c99a2b;background:#fff;color:#5f4300;font-weight:700}
@media(max-width:767px){
  .article-preview-bar{align-items:flex-start;margin-bottom:14px;padding:10px 12px}
  .article-preview-bar div{display:block}
  .article-preview-bar span{display:block;margin-top:2px}
}
.article-head h1{font-size:var(--fs-page-title);font-weight:var(--fw-extrabold);line-height:var(--line-heading);letter-spacing:var(--tracking-heading);margin:.2em 0}
.article-meta{color:var(--muted);font-size:var(--text-sm);font-weight:var(--fw-medium);display:flex;gap:14px;flex-wrap:wrap}
/* 分享 icon */
.share{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:22px 0}
.share>span{color:var(--muted);font-size:14px}
.share a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);color:var(--navy);transition:background .15s,color .15s,border-color .15s}
.share a:hover{color:#fff}
.share a[data-share="facebook"]:hover{background:#1877F2;border-color:#1877F2}
.share a[data-share="line"]:hover{background:#06C755;border-color:#06C755}
.share a[data-share="threads"]:hover{background:#000;border-color:#000}
.share a[data-share="copy"]:hover{background:var(--navy);border-color:var(--navy)}
.share a.is-copied,.share a.is-copied:hover{background:#1e8e5a;border-color:#1e8e5a;color:#fff}

/* ===== 搜尋表單＋工具列（排序／時間） ===== */
.search-form{margin:14px 0 6px}
.sf-row{display:flex;gap:12px;max-width:720px}
.sf-row input{flex:1;padding:12px 16px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:15px}
.sf-row input:focus{outline:none;border-color:var(--navy)}
.btn-search{background:var(--navy);color:#fff;border:none;border-radius:24px;padding:0 30px;font-weight:var(--fw-bold);font-size:15px;cursor:pointer;white-space:nowrap}
.btn-search:hover{background:var(--navy-2)}
.sf-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-top:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.sf-count{color:var(--body);font-size:14px}
.sf-kw{color:var(--muted);font-size:13px;margin-top:5px}
.sf-kw-hl{color:var(--amber);font-weight:700}
.sf-controls{display:flex;gap:16px;align-items:center}
.sf-controls label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}
.sf-controls select{padding:7px 12px;border:1px solid var(--line);border-radius:6px;font:inherit;font-size:13px;background:#fff;color:var(--text);cursor:pointer}
.sf-controls select:focus{outline:none;border-color:var(--navy)}
.search-hint{color:var(--muted)}
@media(max-width:560px){.sf-toolbar{align-items:stretch}.sf-controls{gap:10px}.btn-search{padding:0 20px}}

/* ===== 搜尋結果清單（左圖右文＋摘要一小段） ===== */
.result-list{display:flex;flex-direction:column}
.result-item{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}
.result-item:first-child{padding-top:8px}
.ri-fig{position:relative;flex:0 0 210px;aspect-ratio:16/10;border-radius:8px;overflow:hidden;background:var(--bg-soft);display:block}
.ri-fig img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.ri-fig:hover img{transform:scale(1.06)}
.ri-ph{display:block;width:100%;height:100%;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-3) 100%)}
.ri-fig .cat{position:absolute;left:8px;top:8px;background:rgba(11,42,78,.92);color:#fff;font-size:12px;font-weight:var(--fw-bold);padding:2px 9px;border-radius:3px}
.ri-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:8px}
.ri-title{font-size:19px;line-height:var(--line-title);margin:0}
.ri-title a{color:var(--text);transition:color .15s}
.ri-title a:hover{color:var(--navy-3);text-decoration:underline}
.result-item:hover .ri-title a{color:var(--navy-3)}
.ri-meta{color:var(--muted);font-size:13px;display:flex;gap:8px;align-items:center;margin-top:auto}
.ri-meta .dot{color:#c3ccd6}
@media(max-width:560px){
  .ri-fig{flex-basis:130px;border-radius:6px}
  .ri-title{font-size:16px}
  .result-item{gap:12px;padding:16px 0}
}
.form-field{margin-bottom:14px}
.form-field label{display:block;font-weight:600;margin-bottom:4px}
.form-field input,.form-field textarea,.form-field select{width:100%;padding:10px;border:1px solid var(--line);border-radius:6px;font:inherit}
.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:none;border-color:var(--navy)}
.field-error{color:#a12626;font-size:13px}

/* ===== 關於我們 ===== */
.about-page{max-width:none}
.about-hero{position:relative;margin:0 0 46px;min-height:360px}
.about-hero-text{position:relative;z-index:2;width:50%;max-width:600px;padding:0 44px 6px 0}
.about-hero .section-title{margin-bottom:18px}
.about-slogan{font-family:var(--font-serif);font-weight:900;font-size:33px;color:var(--navy);margin:0 0 10px;letter-spacing:2px;line-height:1.25}
.about-subslogan{font-size:var(--text-lg);font-weight:var(--fw-bold);color:var(--gold-dark);margin:0 0 22px;letter-spacing:1px}
.about-hero-text p:not(.about-slogan):not(.about-subslogan){font-size:15.5px;line-height:1.95;color:var(--body);margin:0 0 15px}
.about-hero-text p:last-child{margin-bottom:0}
.about-hero-media{position:absolute;top:0;bottom:0;left:47%;right:calc(50% - 50vw);overflow:hidden;background:#fff}   /* 圖片載入前的底色；深藍會先閃一塊藍 */
.about-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.about-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:6px}
.about-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px;box-shadow:0 2px 8px rgba(11,42,78,.05)}
.about-card-head{display:flex;align-items:center;gap:16px;margin-bottom:14px}
.about-card-ico{flex-shrink:0;width:60px;height:60px;border-radius:50%;background:linear-gradient(150deg,var(--navy-3),var(--navy));color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 14px rgba(11,42,78,.22)}
.about-card-ico svg{width:28px;height:28px}
.about-card h3{font-weight:var(--fw-extrabold);font-size:20px;color:var(--navy);margin:0}
.about-card p{margin:0;font-size:14.5px;line-height:1.85;color:var(--body)}
@media(max-width:900px){
  .about-hero{min-height:0}
  .about-hero-text{width:100%;max-width:none;padding:0}
  .about-hero-media{position:relative;top:auto;bottom:auto;left:auto;right:auto;height:240px;margin-top:22px}
  .about-cards{grid-template-columns:1fr}
}
@media(max-width:767px){.about-slogan{font-size:27px}}

/* ===== 靜態內容頁（隱私權、使用條款、更正申訴等）===== */
.static-page{max-width:none;margin:0 auto;padding-bottom:20px}
.static-page .section-title{margin-bottom:4px}
.static-body{font-size:16px;line-height:var(--line-body);color:var(--body);margin-top:16px}
.static-body .doc-updated{font-size:13px;color:var(--muted);margin:0 0 1.4em}
.static-body .lead{font-size:16.5px;color:var(--text);margin:0 0 1.4em}
.static-body h2{font-size:19px;font-weight:var(--fw-extrabold);color:var(--navy);margin:1.9em 0 .55em;padding-left:13px;position:relative}
.static-body h2:first-child{margin-top:.2em}
.static-body h2::before{content:"";position:absolute;left:0;top:.2em;bottom:.2em;width:4px;border-radius:2px;background:var(--gold)}
.static-body h3{font-size:15.5px;font-weight:var(--fw-bold);color:var(--text);margin:1.4em 0 .4em}
.static-body p{margin:0 0 1.05em}
.static-body ul,.static-body ol{margin:0 0 1.15em;padding-left:1.35em}
.static-body li{margin:.35em 0}
.static-body li::marker{color:var(--gold-dark)}
.static-body a{color:var(--navy);text-decoration:underline;text-underline-offset:2px}
.static-body a:hover{color:var(--gold-dark)}
.static-body strong{color:var(--text);font-weight:700}
.static-body hr{border:none;border-top:1px solid var(--line);margin:2em 0}
.static-body table{width:100%;border-collapse:collapse;margin:0 0 1.2em;font-size:15px}
.static-body th,.static-body td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}
.static-body th{background:var(--bg-soft);font-weight:700;color:var(--text);white-space:nowrap}
@media(max-width:767px){.static-body{font-size:15.5px}.static-body h2{font-size:18px}}

/* ===== 地方記者申請 (local-reporter-apply) ===== */
.site-main:has(.ra-page){max-width:none;background:var(--bg-soft)}
.site-main:has(.ra-page)>.flash{max-width:var(--maxw);margin-left:auto;margin-right:auto}
.ra-page{max-width:var(--maxw);margin:0 auto;padding:6px 0 34px}

/* 頁首 */
.ra-head{padding:4px 2px 20px}
.ra-sub{margin:10px 0 0;font-size:13.5px;line-height:var(--line-relaxed);color:var(--body)}
.ra-sub-ico{width:15px;height:15px;color:var(--amber);vertical-align:-2px;margin-right:5px}

/* 區塊卡片 */
.ra-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px 26px;margin-bottom:18px;box-shadow:0 1px 2px rgba(11,42,78,.05)}
.ra-card-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--line-2)}
.ra-num{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center}
.ra-card-title{font-size:19px;font-weight:var(--fw-extrabold);color:var(--navy);margin:0}
.ra-card-desc{font-size:12.5px;color:var(--muted);font-weight:400}

/* 官方聯絡資訊（表單上方，資料有填才顯示） */
.contact-info{padding:20px 26px}
.ci-list{display:flex;flex-wrap:wrap;gap:16px 32px}
.ci-item{display:flex;align-items:flex-start;gap:11px;min-width:200px}
.ci-item svg{width:20px;height:20px;flex-shrink:0;color:var(--amber);margin-top:2px}
.ci-item .ci-label{display:block;font-size:12px;color:var(--muted);margin-bottom:2px}
.ci-item a,.ci-item .ci-val{color:var(--navy);font-size:14.5px;font-weight:600;text-decoration:none;line-height:1.5}
.ci-item a:hover{color:var(--amber)}
@media(max-width:640px){.contact-info{padding:16px}.ci-list{flex-direction:column;gap:14px}}

/* 欄位 */
.ra-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
.ra-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.ra-field.full{grid-column:1 / -1}
.ra-field label{font-size:13.5px;font-weight:var(--fw-semibold);color:var(--text)}
.ra-field label em{color:#d0442f;font-style:normal;margin-left:1px}
.ra-field label .ra-hint{color:var(--muted);font-weight:400;font-size:12px;margin-left:4px}
.ra-field input,.ra-field select,.ra-field textarea{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:9px;font:inherit;font-size:14px;color:var(--text);background:var(--bg-soft);transition:border-color .15s,background .15s,box-shadow .15s}
.ra-field input::placeholder,.ra-field textarea::placeholder{color:var(--muted-2)}
.ra-field input:focus,.ra-field select:focus,.ra-field textarea:focus{outline:none;border-color:var(--navy);background:#fff;box-shadow:0 0 0 3px rgba(11,42,78,.09)}
.ra-field textarea{resize:vertical;min-height:96px;line-height:1.6}
.ra-field select{appearance:none;-webkit-appearance:none;padding-right:38px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238893a2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center}
.ra-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.ra-captcha-wrap{margin-top:20px}
.ra-captcha-field{max-width:640px}
.ra-captcha-control{display:grid;grid-template-columns:max-content minmax(240px,1fr);align-items:center;gap:12px}
.ra-captcha-row{display:flex;align-items:center;gap:10px;min-height:56px}
.ra-captcha-img{width:160px;height:56px;border:1px solid var(--line);border-radius:8px;background:#fff;display:block;flex-shrink:0}
.ra-captcha-refresh{width:42px;height:42px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy);font-size:20px;line-height:1;cursor:pointer;transition:background .15s,border-color .15s}
.ra-captcha-refresh:hover{background:var(--bg-soft);border-color:var(--navy-3)}
.ra-captcha-math{display:flex;align-items:center;justify-content:center;width:160px;height:48px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);font-weight:700}
.ra-turnstile-box{min-height:65px;display:flex;align-items:center}
.ra-turnstile-box .cf-turnstile{max-width:100%;overflow:hidden}

/* 帶圖示的輸入框 + 字數統計 */
.ra-ig{position:relative}
.ra-ig>svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--muted-2);pointer-events:none}
.ra-ig.area>svg{top:16px;transform:none}
.ra-ig>input,.ra-ig>select,.ra-ig>textarea{padding-left:38px}
.ra-ig.area>textarea{padding-bottom:26px}
.ra-ig:focus-within>svg{color:var(--navy)}
.ra-count{position:absolute;right:14px;bottom:11px;font-size:12px;color:var(--muted-2);pointer-events:none}

/* 區塊標題（主題／揭露題目） */
.ra-block-label{display:block;font-size:13.5px;font-weight:600;color:var(--text);margin:0 0 12px}
.ra-block-label em{color:#d0442f;font-style:normal}
.ra-block-label small{color:var(--muted);font-weight:400;margin-left:2px}

/* 擅長主題卡片 */
.ra-topics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:20px}
.ra-topic{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:15px 6px;border:1px solid var(--line);border-radius:12px;background:var(--bg-soft);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s,color .15s;font-size:12.5px;font-weight:600;color:var(--body)}
.ra-topic input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.ra-topic svg{width:22px;height:22px;color:var(--navy-3);transition:color .15s}
.ra-topic:hover{border-color:var(--navy-3);background:#fff}
.ra-topic:has(input:checked){border-color:var(--navy);background:#eef3f9;color:var(--navy);box-shadow:0 0 0 1px var(--navy) inset}
.ra-topic:has(input:checked) svg{color:var(--navy)}
.ra-topic:has(input:focus-visible){box-shadow:0 0 0 3px rgba(11,42,78,.18)}

/* 是／否 選擇卡片 */
.ra-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ra-choice{position:relative;display:flex;align-items:center;gap:12px;padding:15px 18px;border:1px solid var(--line);border-radius:12px;background:var(--bg-soft);cursor:pointer;transition:border-color .15s,background .15s}
.ra-choice input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.ra-dot{flex-shrink:0;width:19px;height:19px;border-radius:50%;border:2px solid var(--muted);position:relative;transition:border-color .15s}
.ra-choice-body{flex:1 1 auto;min-width:0}
.ra-choice-t{display:block;font-size:15px;font-weight:var(--fw-bold);color:var(--text);line-height:1.2}
.ra-choice-d{display:block;font-size:12px;color:var(--muted);margin-top:3px}
.ra-choice>svg{width:26px;height:26px;color:var(--muted-2);flex-shrink:0}
.ra-choice:hover{border-color:var(--navy-3)}
.ra-choice:has(input:checked){border-color:var(--navy);background:#eef3f9}
.ra-choice:has(input:checked) .ra-dot{border-color:var(--navy)}
.ra-choice:has(input:checked) .ra-dot::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--navy)}
.ra-choice:has(input:checked) .ra-choice-t{color:var(--navy)}
.ra-choice:has(input:checked)>svg{color:var(--navy)}
.ra-choice:has(input:focus-visible){box-shadow:0 0 0 3px rgba(11,42,78,.16)}

/* 同意項目 */
.ra-agrees{display:flex;flex-direction:column;gap:12px}
.ra-agree{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:11px;background:var(--bg-soft);cursor:pointer;transition:border-color .15s,background .15s}
.ra-agree:hover{border-color:var(--navy-3);background:#fff}
.ra-agree input{width:18px;height:18px;flex-shrink:0;accent-color:var(--navy);cursor:pointer}
.ra-agree-t{flex:1;font-size:13.5px;color:var(--text)}
.ra-agree-t em{color:#d0442f;font-style:normal}
.ra-agree>svg{width:19px;height:19px;color:var(--muted-2);flex-shrink:0}
.ra-agree:has(input:checked){border-color:var(--navy);background:#eef3f9}
.ra-agree:has(input:checked)>svg{color:var(--navy)}

/* 送出 */
.ra-submit{display:flex;justify-content:flex-end;margin-top:22px}
.ra-submit.center{justify-content:center}
.ra-btn{display:inline-flex;align-items:center;gap:9px;background:var(--navy);color:#fff;border:none;border-radius:11px;padding:13px 30px;font:inherit;font-size:15px;font-weight:var(--fw-bold);cursor:pointer;transition:background .15s,transform .1s;box-shadow:0 8px 18px rgba(11,42,78,.22)}
.ra-btn:hover{background:var(--navy-2)}
.ra-btn:active{transform:translateY(1px)}
.ra-btn svg{width:18px;height:18px}

/* 隱私附註 */
.ra-note{display:flex;align-items:center;justify-content:center;gap:8px;margin:20px 0 0;font-size:12.5px;color:var(--muted)}
.ra-note svg{width:16px;height:16px;color:#4f9d74;flex-shrink:0}

@media(max-width:640px){
  .ra-card{padding:20px 16px;border-radius:14px}
  .ra-grid{grid-template-columns:minmax(0,1fr)}
  .ra-captcha-control{grid-template-columns:minmax(0,1fr)}
  .ra-topics{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ra-choices{grid-template-columns:minmax(0,1fr)}
  .ra-card-desc{flex-basis:100%}
}
@media(max-width:380px){.ra-topics{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media(max-width:767px){
  .hero-overlay{padding:18px 18px}
  /* 手機：主圖只有 16:9 的高度，標題最多 2 行，避免文字爬到圖片亮部看不清楚 */
  .hero-overlay h1{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .hero-arrow{width:34px;height:48px}
  .hero-prev{left:6px}
  .hero-next{right:6px}
  .city-title{font-size:22px}
  .cta-duo{grid-template-columns:1fr;gap:14px}
  .duo-card{padding:14px 18px 14px 76px;gap:14px}
  .duo-ico{width:40px;height:40px}
  .duo-ico svg{width:21px;height:21px}
  .duo-title{font-size:19px}
  .duo-go{padding:8px 14px;font-size:13px}
  /* 正文手機字級由 typography.css 的 --fs-body token 控制 */
}

/* ── 影音 ── */
.video-embed{position:relative;width:100%;aspect-ratio:16/9;margin:0 0 1.2rem;background:#000;border-radius:6px;overflow:hidden}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
@media(max-width:1023px){.video-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.video-grid{grid-template-columns:1fr}}
.video-card .card-fig{position:relative;display:block}
.video-card .play-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(22,38,74,.82);color:#fff;font-size:18px;pointer-events:none}

/* ---------- 影音卡片 .vc（首頁輪播 + /videos 格線共用；淺底） ---------- */
.vc{display:block;color:inherit}
.vc:hover{text-decoration:none}
.vc-fig{position:relative;display:block;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#eef1f5;box-shadow:0 6px 18px rgba(11,42,78,.12)}
.vc-fig img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.vc:hover .vc-fig img{transform:scale(1.05)}
.vc-ph{display:block;width:100%;height:100%;background:linear-gradient(135deg,#e4e9f0,#eef1f5)}
/* 紅色圓形播放鈕（參考 ustv 影音樣式） */
.vc-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#e2231a;color:#fff;font-size:18px;padding-left:3px;box-shadow:0 6px 18px rgba(0,0,0,.3);transition:transform .18s,background .18s}
.vc:hover .vc-play{transform:translate(-50%,-50%) scale(1.08);background:#c81a12}
.vc-badge{position:absolute;top:10px;left:10px;z-index:2;font-size:11px;font-weight:var(--fw-bold);padding:2px 9px;border-radius:5px;background:var(--gold);color:#16264a;letter-spacing:.04em}
.vc-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:11px;font-weight:var(--fw-bold);font-size:15px;line-height:var(--line-title);color:var(--text)}
.vc:hover .vc-title{color:var(--navy-3)}

/* ---------- 首頁影音專區：左大播放器（自動播放）＋右播放清單 ---------- */
.vsec-band{background:var(--bg-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.vsec-band>.wrap{padding-top:26px;padding-bottom:30px}
.vsec-head{align-items:flex-end}
.vsec-heading{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.vsec-title-h{gap:11px}
.vsec-ico{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;border-radius:5px;background:linear-gradient(135deg,var(--navy-3),var(--navy));color:#fff;flex-shrink:0;box-shadow:0 2px 6px rgba(11,42,78,.25)}
.vsec-ico svg{width:12px;height:12px;margin-left:1px}
.vsec-sub{font-size:13.5px;color:var(--muted)}
.vsec-nav{display:flex;align-items:center;gap:10px}
.vsec-arrow{width:36px;height:36px;flex-shrink:0;border:1px solid var(--line);background:#fff;border-radius:50%;cursor:pointer;font-size:20px;line-height:1;color:var(--navy);display:inline-flex;align-items:center;justify-content:center;padding:0 0 3px;transition:background .15s,border-color .15s,color .15s}
.vsec-arrow:hover{background:var(--navy);border-color:var(--navy);color:#fff}

.vsec{display:grid;grid-template-columns:1fr 400px;gap:24px;margin-top:16px;align-items:stretch}
/* 左：大播放器 */
.vsec-main{min-width:0}
.vsec-player{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000;box-shadow:0 6px 20px rgba(6,22,42,.18)}
.vsec-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.vsec-player .thumb-ph{position:absolute;inset:0;background:linear-gradient(135deg,var(--navy),var(--navy-3))}
.vsec-badge{position:absolute;top:14px;left:14px;z-index:2;background:var(--navy);color:#fff;font-size:12.5px;font-weight:var(--fw-bold);padding:5px 12px;border-radius:4px;letter-spacing:.05em;pointer-events:none;box-shadow:0 2px 8px rgba(6,22,42,.35)}
.vsec-caption{padding:14px 2px 0}
.vsec-caption h3{font-weight:var(--fw-extrabold);font-size:20px;line-height:var(--line-heading);color:var(--text);margin:0 0 6px}
.vsec-meta{font-size:12.5px;color:var(--muted)}
/* 右：播放清單 */
.vsec-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;justify-content:space-between;gap:12px}
.vsec-item{width:100%;display:flex;align-items:center;gap:13px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:10px;cursor:pointer;text-align:left;font:inherit;transition:box-shadow .15s,border-color .15s,transform .15s}
.vsec-item:hover{border-color:var(--navy);box-shadow:0 6px 16px rgba(11,42,78,.12);transform:translateY(-1px)}
.vsec-item.is-active{border-color:var(--gold);box-shadow:0 0 0 2px rgba(232,162,28,.35)}
.vsec-thumb{position:relative;flex-shrink:0;width:148px;height:84px;border-radius:7px;overflow:hidden;background:#eef1f5}
.vsec-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.vsec-thumb .thumb-ph{display:block;width:100%;height:100%;background:linear-gradient(135deg,#eef1f5,#e4e9f0)}
.vsec-no{position:absolute;top:0;left:0;z-index:2;min-width:22px;height:22px;padding:0 6px;background:var(--navy);color:#fff;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;border-radius:7px 0 7px 0}
.vsec-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;background:rgba(11,42,78,.82);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;padding-left:2px;transition:background .15s}
.vsec-item:hover .vsec-play{background:var(--gold);color:var(--navy)}
.vsec-it-body{min-width:0;display:flex;flex-direction:column;gap:7px}
.vsec-it-title{font-weight:var(--fw-bold);font-size:14.5px;line-height:1.5;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vsec-item:hover .vsec-it-title{color:var(--navy-3)}
.vsec-it-time{font-size:var(--fs-meta);color:var(--muted)}

@media(max-width:1023px){
  .vsec{grid-template-columns:1fr;gap:20px}
  .vsec-list{flex-direction:row;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:2px}
  .vsec-list::-webkit-scrollbar{display:none}
  .vsec-list li{flex:0 0 300px}
}
@media(max-width:600px){
  .vsec-list li{flex-basis:86%}
  .vsec-caption h3{font-size:18px}
}
/* 下方：原本的影片卡列（4 張） */
.vrow{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}
@media(max-width:1023px){.vrow{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.vrow{grid-template-columns:1fr 1fr;gap:14px}}

/* ---------- 影音彈出播放視窗 vmodal（點下方影片卡開啟；右側可上下選其他影音） ---------- */
.vmodal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px}
.vmodal[hidden]{display:none}   /* 覆蓋 .vmodal 的 display:flex（作者規則 > UA hidden，必須用此條蓋回） */
.vmodal-lock{overflow:hidden}   /* 開啟時鎖住背景捲動（加在 <html> 上） */
.vmodal-backdrop{position:absolute;inset:0;background:rgba(6,14,28,.74)}
.vmodal-dialog{position:relative;z-index:1;width:min(1200px,100%);max-height:calc(100vh - 48px);
  display:grid;grid-template-columns:1fr 340px;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.5)}
.vmodal-x{position:absolute;top:10px;right:12px;z-index:5;width:38px;height:38px;border:0;border-radius:50%;
  background:rgba(0,0,0,.55);color:#fff;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.vmodal-x:hover{background:rgba(0,0,0,.82)}
.vmodal-main{min-width:0;background:#0a0f1a;display:flex;flex-direction:column}
.vmodal-player{position:relative;aspect-ratio:16/9;background:#000}
.vmodal-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.vmodal-title{font-weight:var(--fw-extrabold);font-size:18px;line-height:var(--line-title);color:#fff;margin:0;padding:14px 18px 8px}
/* 播放器下方動作列：左＝前往 YouTube 連結，右＝分享／LINE */
.vmodal-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 18px 15px;flex-wrap:wrap}
.vmodal-goto{color:#cdd7e6;font-size:13.5px;font-weight:var(--fw-bold)}
.vmodal-goto:hover{color:#fff;text-decoration:underline}
.vmodal-share{display:flex;gap:8px}
.vmodal-sh{border:0;border-radius:6px;padding:8px 18px;font:inherit;font-size:13px;font-weight:700;color:#fff;cursor:pointer;line-height:1;transition:background .15s}
.vmodal-sh-fb{background:#1877F2}
.vmodal-sh-fb:hover{background:#1467d6}
.vmodal-sh-line{background:#06C755}
.vmodal-sh-line:hover{background:#05b34c}
/* 標題列＋清單皆 absolute → 右欄本身不貢獻高度，grid 列高改由「左側播放器」決定
   （對話框＝左邊影片大小、左側不再留黑邊）；清單在剩餘高度內自行上下捲動。 */
.vmodal-side{position:relative;min-height:0;background:var(--bg-soft);border-left:1px solid var(--line)}
.vmodal-side-head{position:absolute;top:0;left:0;right:0;z-index:1;height:46px;box-sizing:border-box;
  display:flex;align-items:center;padding:0 16px;font-weight:var(--fw-bold);font-size:15px;color:var(--navy);
  background:var(--bg-soft);border-bottom:2px solid var(--gold);letter-spacing:.03em}
.vmodal-list{position:absolute;top:46px;left:0;right:0;bottom:0;overflow-y:auto;margin:0;padding:8px;
  list-style:none;display:flex;flex-direction:column;gap:8px}
.vmodal-it{width:100%;display:flex;gap:11px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:9px;cursor:pointer;text-align:left;font:inherit;transition:border-color .15s,box-shadow .15s}
.vmodal-it:hover{border-color:var(--navy);box-shadow:0 5px 14px rgba(11,42,78,.12)}
.vmodal-it.is-active{border-color:var(--gold);box-shadow:0 0 0 2px rgba(232,162,28,.35);background:#fffdf6}
.vmodal-it-fig{position:relative;flex-shrink:0;width:118px;aspect-ratio:16/9;border-radius:6px;overflow:hidden;background:#eef1f5}
.vmodal-it-fig img{width:100%;height:100%;object-fit:cover;display:block}
.vmodal-it-fig .thumb-ph{display:block;width:100%;height:100%;background:linear-gradient(135deg,#eef1f5,#e4e9f0)}
.vmodal-it-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:26px;height:26px;border-radius:50%;background:rgba(226,35,26,.92);color:#fff;display:flex;align-items:center;justify-content:center;font-size:9px;padding-left:2px}
.vmodal-it.is-active .vmodal-it-play{background:var(--gold);color:var(--navy)}
.vmodal-it-body{min-width:0;display:flex;flex-direction:column;gap:5px;padding-top:2px}
.vmodal-it-title{font-weight:var(--fw-bold);font-size:13.5px;line-height:1.5;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vmodal-it:hover .vmodal-it-title{color:var(--navy-3)}
.vmodal-it-date{font-size:11.5px;color:var(--muted)}
@media(max-width:860px){
  .vmodal{padding:0}
  .vmodal-dialog{grid-template-columns:1fr;grid-template-rows:auto 1fr;width:100%;height:100vh;max-height:100vh;border-radius:0}
}

/* 回到頂部浮動鈕（右下角；捲動後才出現） */
.to-top{position:fixed;right:22px;bottom:22px;z-index:60;width:46px;height:46px;border:none;border-radius:50%;background:var(--navy);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(11,42,78,.28);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s,visibility .2s,transform .2s,background .15s}
.to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.to-top:hover{background:var(--gold-dark,#be7d0e)}
.to-top svg{display:block}
@media(max-width:600px){.to-top{right:14px;bottom:14px;width:42px;height:42px}}

/* ── 合作廠商（外部 RSS 匯入）─────────────────────────────
   刻意不沿用六大分類的三欄卡片牆（.card-list）。
   那套是本站原生新聞的視覺語言；這裡改成橫向清單，讀起來像「彙整索引」，
   讀者一眼分得出哪些是本站採訪、哪些是合作站台提供。
   固定圖框也讓缺圖的項目（實測 40 篇中 3 篇無圖）不會造成高低不齊。 */
.pn-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
/* 合作廠商列表頁：標題與清單之間的間距。.section-title 與 .pn-list 的 margin 都是 0，
   六大分類頁是靠中間 .cat-desc 的 margin 撐開的，本頁沒填簡介時就會整個貼在一起。
   間距刻意放在清單上而非標題上，且與 .cat-desc 的 margin-bottom 同為 18px——
   相鄰兄弟的 margin 會合併，所以有沒有填簡介，標題到清單的距離都一樣。
   限定 .pn-page 是因為搜尋頁也用 .pn-list，那邊已自訂為較緊的 6px。 */
.pn-page>.pn-list{margin-top:18px}
/* 內頁的「相關文章」：上方緊接著來源揭露區塊、下方緊接著清單，兩邊都要拉開。
   同樣把間距放在清單上（理由見上一段），標題到清單的距離與列表頁一致。 */
.pn-related{margin-top:38px}
.pn-related>.pn-list{margin-top:18px}
.pn-item{display:flex;gap:18px;align-items:stretch;padding:16px 4px;border-bottom:1px solid var(--line);transition:background .15s}
.pn-item:hover{background:var(--bg-soft)}
.pn-fig{flex:0 0 160px;width:160px;aspect-ratio:16/10;border-radius:6px;overflow:hidden;background:var(--bg-soft);display:block}
.pn-fig img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}
.pn-item:hover .pn-fig img{transform:scale(1.04)}
.pn-fig-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#c3cad4;background:linear-gradient(135deg,#eef1f5,#e4e9f0)}
.pn-fig-ph svg{width:30px;height:30px}
/* 垂直置中：桌機標題多半只有一行，靠上對齊會在下方留一大片空白（圖框比文字高） */
.pn-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:8px}
.pn-meta{display:flex;align-items:center;flex-wrap:wrap;gap:9px;font-size:12.5px;color:var(--muted-2)}
/* 徽章用金色系，與分類徽章（.cat 深藍）在視覺上明確區隔 */
.pn-badge{display:inline-block;font-size:11.5px;font-weight:var(--fw-bold);letter-spacing:.03em;color:var(--gold-dark);background:#fdf6e6;border:1px solid #f0dcae;border-radius:3px;padding:3px 8px;line-height:1.3}
.pn-src{color:var(--body);font-weight:var(--fw-medium)}
.pn-src::after{content:"｜";color:var(--muted-2);font-weight:400;margin-left:4px}
.pn-title{margin:0;font-size:var(--fs-card);font-weight:var(--fw-bold);line-height:var(--line-title);letter-spacing:var(--tracking-normal);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pn-title a{color:var(--text)}
.pn-title a:hover{color:var(--navy-3)}

@media(max-width:600px){
  .pn-item{gap:13px;padding:14px 2px}
  .pn-fig{flex-basis:112px;width:112px;border-radius:5px}
  .pn-meta{font-size:11.5px;gap:7px}
  .pn-title{font-size:16px}
}

/* 內頁：來源揭露區塊 */
.partner-source-box{margin-top:26px;padding:16px 18px;background:var(--bg-soft);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:6px;font-size:14.5px;color:var(--body)}
.partner-source-box p{margin:0 0 6px}
.partner-source-box p:last-child{margin-bottom:0}
.partner-source-box a{font-weight:var(--fw-medium)}
/* 來源揭露區塊的連結列：前往原文／來源首頁靠左，「返回合作廠商」靠右。
   返回鍵原本掛在整頁最下方（相關文章之後），讀者看完內文要再捲一大段才找得到。 */
.partner-source-box .pn-src-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}
.partner-source-box .pn-back{margin-left:auto}
@media(max-width:560px){.partner-source-box .pn-back{margin-left:0}}

/* 搜尋頁的合作廠商區塊：與本站結果之間拉開距離並加分隔線，
   讓讀者一眼看出「以下不是本站報導」。清單本體沿用上方的 .pn-* 樣式。 */
.search-partner{margin-top:36px;padding-top:26px;border-top:2px solid var(--line)}
.search-partner .section-title{margin-bottom:6px}
.search-partner-more{margin:14px 0 0;font-size:14px;color:var(--muted)}
.search-partner-more a{font-weight:var(--fw-medium)}
