/* Keep Vue templates hidden until mounting, while reserving their space. */
#VueBody [v-cloak] {
    visibility: hidden;
}

/* Render the first slide before JavaScript or offscreen images finish loading. */
#banner.homeStyle .swiper-slide:first-child .maxImg,
#banner.homeStyle .swiper-slide:first-child .maxImg img {
    opacity: 1;
    transform: none;
    transition: none;
    pointer-events: auto;
}
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

/* 預留首頁 API 資料（各 5 筆）的高度，避免載入後把下方區塊往下推（CLS） */
@media only screen and (max-width: 1000px) {
    .twoNews .main_board_item.main_board_item_style2 {
        min-height: 580px;
    }
    .twoNews .main_board_item.homeNewsList {
        min-height: 326px;
    }
}
@media only screen and (min-width: 1001px) {
    .twoNews .main_board_item.main_board_item_style2,
    .twoNews .main_board_item.homeNewsList {
        min-height: 396px;
    }
}

/* .bannerSwiper 為 overflow:visible，Swiper(defer) 初始化前第二張投影片會排在右側，
   把手機版面撐到 2 倍寬，初始化後縮回時 fixed 的 #cookie/header 整塊位移（CLS）。
   clip 只裁切水平溢出，不產生捲動容器、不影響垂直方向。 */
#banner.homeStyle {
    overflow-x: clip;
}
