/* 首頁主輪播：統一圖片比例，避免不同尺寸的照片造成留白。 */
.home .img-carousel .slick-banner .slick-list,
.home .img-carousel .slick-banner:not(.slick-initialized) {
    aspect-ratio: 16 / 9;
    width: 100%;
}

.home .img-carousel .slick-banner .slick-track,
.home .img-carousel .slick-banner .slick-slide,
.home .img-carousel .slick-banner:not(.slick-initialized) > div {
    height: 100%;
}

.home .img-carousel .slick-banner .slick-slide,
.home .img-carousel .slick-banner:not(.slick-initialized) > div {
    position: relative;
    overflow: hidden;
}

.home .img-carousel .slick-banner .slick-slide > img,
.home .img-carousel .slick-banner:not(.slick-initialized) > div > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.home .img-carousel .slick-banner:not(.slick-initialized) {
    overflow: hidden;
}

.home .img-carousel .slick-banner:not(.slick-initialized) > div:not(:first-child) {
    display: none;
}

@media (min-width: 769px) {
    .home .img-carousel .slick-banner .slick-dots {
        top: 50%;
        margin: 0;
        transform: translateY(-50%);
    }
}

@media (min-width: 769px) and (max-width: 1024px) {
    .home .img-carousel .slick-banner .slick-dots li {
        margin: 4px 0;
    }
}

.home .img-carousel .slick-banner .slick-dots button:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
    border-radius: 50%;
    box-shadow: 0 0 0 4px #20585c;
}

/* 活動花絮：統一照片比例，讓標題、日期與各張 slide 底部對齊。 */
.home .photos .event-slide .photos-box .img-hover > img {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center;
}
