/* 僅首頁限時公告使用，不影響既有行程視窗與跑馬燈。 */
html.ha-lock{overflow:hidden}
.home-announcement{border:0;padding:0;margin:auto;width:min(620px,calc(100% - 32px));max-width:620px;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow:auto;overscroll-behavior:contain;background:#fff;color:#163E73;box-shadow:0 28px 90px rgba(6,16,31,.3);border-radius:12px;font-family:"Inter","Noto Serif TC",sans-serif}
.home-announcement::backdrop{background:rgba(6,16,31,.65);backdrop-filter:blur(3px)}
.home-announcement .ha-top{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px 10px 24px;background:#fff;border-bottom:1px solid #E8EEF5;font-size:13px;letter-spacing:.08em}
.home-announcement .ha-close{flex-shrink:0;width:44px;height:44px;border:0;border-radius:50%;background:#EEF4FB;color:#1A4A8E;font:inherit;font-size:18px;cursor:pointer}
.home-announcement .ha-close:hover{background:#E1EBF7}
.home-announcement .ha-content{padding:28px 32px 32px}
.home-announcement .ha-gallery{margin:0 0 26px;padding:0;border-radius:4px}
.home-announcement .ha-image{display:block;width:100%;height:auto;margin:0;border-radius:4px}
.home-announcement .ha-image-link{display:block;width:100%;border-radius:4px;cursor:zoom-in}
.home-announcement .ha-image-hint{margin:8px 0 0;text-align:right;font-size:13px;color:#52657C}
.home-announcement .ha-image[hidden],.home-announcement .ha-image-link[hidden],.home-announcement .ha-gallery[hidden],.home-announcement .ha-gallery-controls[hidden]{display:none}
.home-announcement .ha-stage{touch-action:pan-y pinch-zoom}
.home-announcement .ha-multiple .ha-stage{width:100%;aspect-ratio:4/3;max-height:48vh;max-height:48dvh;background:#F6F9FC;border-radius:4px;overflow:hidden}
.home-announcement .ha-multiple .ha-image{height:100%;object-fit:contain}
.home-announcement .ha-multiple .ha-image-link{height:100%}
.home-announcement .ha-gallery-controls{display:flex;align-items:center;justify-content:center;gap:8px;padding-top:10px;font-size:14px;font-variant-numeric:tabular-nums}
.home-announcement .ha-gallery-controls button{min-width:44px;min-height:44px;padding:6px 12px;border:1px solid #D5E1EF;border-radius:4px;background:#fff;color:#1A4A8E;font:inherit;cursor:pointer}
.home-announcement .ha-gallery-controls button:hover{background:#EEF4FB}
.home-announcement .ha-gallery-controls .ha-prev,.home-announcement .ha-gallery-controls .ha-next{font-size:26px;line-height:1}
.home-announcement .ha-count{min-width:48px;text-align:center}
.home-announcement .ha-play{margin-left:auto}
.home-announcement .ha-eyebrow{margin:0 0 8px;color:#8A6828;font-size:11px;letter-spacing:.24em;font-weight:600}
.home-announcement h2{margin:0 0 16px;font-family:"Noto Serif TC",serif;font-size:clamp(22px,4vw,28px);font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.home-announcement .ha-description{margin:0;color:#414C5C;font-size:16px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}
.home-announcement :focus-visible{outline:3px solid #C9A961;outline-offset:3px}
@media(max-width:600px){
  .home-announcement{width:calc(100% - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}
  .home-announcement .ha-top{padding-left:20px}
  .home-announcement .ha-content{padding:22px 20px 24px}
  .home-announcement .ha-gallery{margin-bottom:20px}
}
