/* Swiper */
.swiper-container {
    width: 100%;
    height: 100%;
}
.swiper-slide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

/* Animations */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Subpage body offset under absolute header
 * - renewal layout: #baseBody itself is .base-main
 * - main page (.main-hero) keeps its own spacing in pages/main.css
 * - use #baseWrap (id) so legacy pages that strip .renewal-2026 still get offset
 */
#baseWrap #baseBody.base-main:not(:has(.main-hero)) {
    padding-top: 164px;
}

@media (max-width: 1024px) {
    #baseWrap #baseBody.base-main:not(:has(.main-hero)) {
        padding-top: 80px;
    }
}

/* Legacy sub pages (body-wrap): full width, 2026 header offset only */
#baseWrap #baseBody.base-main:has(.body-wrap) {
    max-width: none;
    padding-top: 164px;
}

@media (max-width: 1024px) {
    #baseWrap #baseBody.base-main:has(.body-wrap) {
        padding-top: 80px;
    }
}

/* TODO: pages/campaign.css 본사 테섭에 캠페인 반영 후 삭제 */
#baseWrap #baseBody.base-main:has(.campaign-sub),
#baseWrap #baseBody.base-main:has(.subpage-new),
#baseWrap #baseBody.base-main:has([class*="campaign-"]) {
    max-width: none;
}
