/* ====================================================================
   十二星座月運勢 /horoscope*(2026-10-29)
   疊在 zodiac-library.css 上面:顏色一律用它的 --zl-* 變數(夜空 html.theme-astro / 宣紙兩種都自動跟著換)。
   這支只放月運勢自己的元件:星座卡、日期清單、逆行、小趣味、往期、樞紐頁焦點區。
   靜態檔(免 build),頁面用 filemtime 當 ?v=。手機 390 寬為主,左右留白沿用 container-wide。
   ==================================================================== */

/* ---- 十二星座本月卡片 ---- */
.hs-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }   /* 2026-10-29:手機也兩欄,十二張不用滑很久 */
.hs-card { display: flex; flex-direction: column; gap: .5rem; padding: .95rem 1rem; border-radius: 1rem; border: 1px solid var(--zl-line); background: var(--zl-panel);
  color: var(--zl-ink); text-decoration: none; min-width: 0; transition: border-color .2s, transform .2s, box-shadow .2s; }
.hs-card-head { display: flex; align-items: center; gap: .7rem; }
.hs-card-head .zl-glyph { width: 2rem; height: 2rem; color: var(--zl-el); }
.hs-card-head strong { display: block; font-size: 1rem; letter-spacing: .04em; }
.hs-card-head small { display: block; font-size: .75rem; color: var(--zl-ink-3); }
.hs-card-line { font-size: .9rem; line-height: 1.75; color: var(--zl-ink-2); }
.hs-card-more { display: inline-flex; align-items: center; gap: .25rem; margin-top: auto; font-size: .8125rem; color: var(--zl-gold); }
.hs-card-more svg, .hs-card-more i { width: .9rem; height: .9rem; }
a.hs-card:hover { border-color: var(--zl-gold); transform: translateY(-2px); box-shadow: 0 14px 26px -18px color-mix(in srgb, var(--zl-el) 70%, transparent); }
.hs-card.is-off { opacity: .6; }
@media (max-width: 639.98px) {
  .hs-card { padding: .8rem .75rem; gap: .4rem; }
  .hs-card-head { gap: .5rem; }
  .hs-card-head .zl-glyph { width: 1.6rem; height: 1.6rem; flex-shrink: 0; }
  .hs-card-head strong { font-size: .95rem; }
  .hs-card-head small { font-size: .7rem; }
  .hs-card-line { font-size: .82rem; line-height: 1.65; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
  .hs-card-more { font-size: .78rem; }
}
@media (min-width: 1024px) { .hs-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; } }

/* ---- 天象表補充 ---- */
.hs-sky .zl-table th small, .hs-sky .zl-table td small { display: block; margin-top: .1rem; font-size: .75rem; font-weight: 400; color: var(--zl-ink-3); }
.hs-sky .zl-table th { white-space: nowrap; }
.hs-sky .zl-table td { white-space: normal; }
.hs-sky tr.is-eclipse td { color: var(--zl-ink); font-weight: 600; }
.hs-more { margin-top: .9rem; }
.hs-more > summary { cursor: pointer; font-size: .875rem; color: var(--zl-gold); }
.hs-retro { list-style: none; margin: .9rem 0 0; padding: 0; display: grid; gap: .4rem; }
.hs-retro li { display: flex; flex-wrap: wrap; gap: .2rem .7rem; font-size: .875rem; line-height: 1.6; color: var(--zl-ink-2); padding: .55rem .85rem; border-radius: .75rem; border: 1px dashed var(--zl-line-2); }
.hs-retro strong { color: var(--zl-ink); }

/* ---- 本月關鍵日期 ---- */
.hs-dates { list-style: none; margin: 1rem 0 0; padding: 0; border-left: 2px solid var(--zl-line-2); }
.hs-dates li { position: relative; display: grid; gap: .15rem; padding: 0 0 .95rem 1.1rem; }
.hs-dates li::before { content: ""; position: absolute; left: -6px; top: .45rem; width: 10px; height: 10px; border-radius: 9999px; background: var(--zl-el); box-shadow: 0 0 0 3px color-mix(in srgb, var(--zl-el) 22%, transparent); }
.hs-dates time { font-size: .8125rem; letter-spacing: .08em; color: var(--zl-gold); }
.hs-dates span { font-size: 15.5px; line-height: 1.85; color: var(--zl-ink-2); }
@media (min-width: 640px) { .hs-dates li { grid-template-columns: 8.5rem minmax(0, 1fr); gap: 1rem; } .hs-dates time { padding-top: .2rem; } }

/* ---- 本月小趣味(幸運色等,標明只是好玩) ---- */
.hs-lucky { margin-top: 1rem; padding: .8rem 1rem; border-radius: 1rem; border: 1px dashed var(--zl-line-2); }
.hs-lucky-label { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; margin: 0 0 .5rem; font-size: .75rem; letter-spacing: .16em; color: var(--zl-gold); }
.hs-lucky-label span { letter-spacing: .04em; color: var(--zl-ink-3); }
.hs-lucky dl { margin: 0; display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; }
.hs-lucky dl > div { display: flex; gap: .45rem; font-size: .875rem; }
.hs-lucky dt { color: var(--zl-ink-3); }
.hs-lucky dd { margin: 0; color: var(--zl-ink); }

/* ---- 樞紐頁 ---- */
.hs-banner { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .5rem; margin: 0 auto 1.25rem; max-width: 46rem; padding: .7rem 1rem; border-radius: .9rem;
  border: 1px solid var(--zl-line-2); background: var(--zl-panel-2); font-size: .9rem; color: var(--zl-ink-2); }
.hs-banner svg, .hs-banner i { width: 1rem; height: 1rem; color: var(--zl-gold); }
.hs-banner a { color: var(--zl-gold); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.hs-feature { max-width: 46rem; margin: 0 auto; padding: 1.2rem 1.15rem 1.3rem; border-radius: 1.1rem; border: 1px solid var(--zl-line-2); background: var(--zl-panel-2); text-align: left; }
.hs-feature-k { margin: 0 0 .35rem; font-size: .75rem; letter-spacing: .2em; color: var(--zl-gold); }
.hs-feature h2 { margin: 0 0 .7rem; font-size: clamp(1.3rem, 5vw, 1.75rem); line-height: 1.35; color: var(--zl-ink); }
.hs-feature p { margin: 0 0 .75rem; font-size: 16px; line-height: 1.9; color: var(--zl-ink-2); }
.hs-feature .btn-ghost { margin-top: .35rem; display: inline-flex; align-items: center; gap: .35rem; }
@media (min-width: 768px) { .hs-feature { padding: 1.5rem 1.75rem 1.6rem; } }
.hs-archive { list-style: none; margin: .5rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.hs-archive a { display: inline-block; font-size: .875rem; padding: .3rem .85rem; border-radius: 9999px; border: 1px solid var(--zl-line-2); color: var(--zl-ink); text-decoration: none; }
.hs-archive a:hover { border-color: var(--zl-gold); color: var(--zl-gold); }

/* ---- 其他 ---- */
.hs-rising-note { margin: 2rem 0 0; padding: .85rem 1rem; border-radius: .9rem; background: var(--zl-gold-soft); font-size: .9rem; line-height: 1.8; color: var(--zl-ink-2); }
.hs-links { display: flex; flex-wrap: wrap; gap: .45rem; margin: 1rem 0 0; }
.hs-links a { font-size: .8125rem; padding: .25rem .8rem; border-radius: 9999px; border: 1px solid var(--zl-line-2); color: var(--zl-ink-2); text-decoration: none; }
.hs-links a:hover { border-color: var(--zl-gold); color: var(--zl-gold); }
.hs-foot-note { margin-top: 2rem; }
.hs .zl-pn > span:empty { flex: 1; }

/* 寬螢幕:月份總覽 / 樞紐的焦點區與卡片跟 zl-index 同寬 */
@media (min-width: 1280px) {
  .hs .hs-feature, .hs .hs-banner { margin-left: max(17rem, calc(50% - 16.5rem)); margin-right: auto; max-width: 48rem; }
}

/* H1 比十二星座大全長(「牡羊座 11 月運勢（2026）：」),手機上字級略小,前半句才不會在中間斷開 */
.hs .zl-hero h1 { font-size: clamp(1.4rem, 5.5vw, 2.2rem); }
.hs-preview { border-style: dashed; border-color: var(--zl-accent); }


/* ---- 樞紐頁 /horoscope(2026-10-29 老闆:焦點區沒置中、要重新設計)---- */
/* 樞紐頁沒有左側目錄,整頁置中:焦點卡跟十二星座卡片同寬,下面的文章欄置中 */
.hs-hub .hs-feature { max-width: none; display: grid; gap: 1.1rem; padding: 1.35rem 1.2rem 1.4rem;
  background: linear-gradient(140deg, color-mix(in srgb, var(--zl-panel-2) 92%, var(--zl-gold) 8%) 0%, var(--zl-panel-2) 55%);
  box-shadow: 0 1px 0 rgba(255,255,255,.04) inset, 0 24px 48px -32px rgba(0,0,0,.6); }
.hs-hub .hs-feature-k { display: flex; align-items: center; gap: .6rem; }
.hs-hub .hs-feature-tag { padding: .1rem .55rem; border-radius: 9999px; font-size: .7rem; letter-spacing: .08em; color: var(--zl-gold);
  border: 1px solid color-mix(in srgb, var(--zl-gold) 55%, transparent); }
.hs-hub .hs-feature-main p:last-of-type { margin-bottom: 0; }
.hs-hub .hs-feature-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.1rem; margin-top: 1.1rem; }
.hs-hub .hs-feature-actions .btn-ink-gold { display: inline-flex; align-items: center; gap: .4rem; margin: 0; }
.hs-hub .hs-feature-prev { font-size: .875rem; color: var(--zl-ink-3); text-decoration: underline; text-underline-offset: 3px; }
.hs-hub .hs-feature-prev:hover { color: var(--zl-gold); }
.hs-feature-days { padding: 1rem 1.05rem; border-radius: .9rem; border: 1px solid var(--zl-line); background: color-mix(in srgb, var(--zl-panel) 80%, transparent); }
.hs-feature-days-h { margin: 0 0 .55rem; font-size: .75rem; letter-spacing: .2em; color: var(--zl-gold); }
.hs-feature-days ol { list-style: none; margin: 0; padding: 0; display: grid; }
.hs-feature-days li { display: grid; grid-template-columns: 7.2rem minmax(0, 1fr); gap: .6rem; padding: .55rem 0; border-top: 1px solid var(--zl-line); font-size: .875rem; line-height: 1.55; }
.hs-feature-days li:first-child { border-top: 0; padding-top: 0; }
.hs-feature-days time { font-weight: 600; color: var(--zl-ink); white-space: nowrap; }
.hs-feature-days li span { color: var(--zl-ink-2); }
.hs-feature-days li.is-eclipse time { color: var(--zl-gold); }
.hs-feature-days-more { display: inline-block; margin-top: .55rem; font-size: .8125rem; color: var(--zl-gold); text-decoration: none; }
/* 手機:日期在上、天象在下,只列前 3 個(完整的在下面天象表) */
@media (max-width: 639.98px) {
  .hs-feature-days { padding: .85rem .95rem; }
  .hs-feature-days li { grid-template-columns: minmax(0, 1fr); gap: .1rem; padding: .5rem 0; }
  .hs-feature-days time { font-size: .8125rem; color: var(--zl-gold); }
  .hs-feature-days li:nth-child(n+4) { display: none; }
}
@media (min-width: 900px) {
  .hs-hub .hs-feature { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 2rem; align-items: center; padding: 2rem 2.25rem; }
}
/* 寬螢幕:蓋掉長文頁替左側目錄留位的偏移,樞紐頁全部對中線 */
@media (min-width: 1280px) {
  .hs-hub .hs-feature, .hs-hub .zl-index .zl-article-hub, .hs-hub .zl-article-hub { margin-left: auto; margin-right: auto; }
}
