.event-carousel-section{
    width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    margin-bottom:46px;
    padding-top:8px;
    overflow:hidden;
}

.event-carousel-viewport{
    position:relative;
    isolation:isolate;
    width:100vw;
    margin:0 auto;
    overflow:hidden;
    padding:0;
}

.event-carousel-viewport::before,
.event-carousel-viewport::after{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    width:74px;
    z-index:3;
    pointer-events:none;
}

.event-carousel-viewport::before{
    left:0;
    background:linear-gradient(90deg,rgba(0,0,0,.16) 0%,rgba(0,0,0,.06) 42%,rgba(0,0,0,0) 100%);
}

.event-carousel-viewport::after{
    right:0;
    background:linear-gradient(270deg,rgba(0,0,0,.16) 0%,rgba(0,0,0,.06) 42%,rgba(0,0,0,0) 100%);
}

.event-carousel-track{
    display:flex;
    gap:24px;
    align-items:stretch;
    transition:transform .32s ease;
    will-change:transform;
    touch-action:pan-y;
}

.event-banner-page{
    flex:0 0 1160px;
    contain:layout paint;
    width:1160px;
    display:grid;
    gap:24px;
    align-items:stretch;
    position:relative;
    transform:translateZ(0);
    backface-visibility:hidden;
}

.event-page-triple_full{
    grid-template-columns:repeat(3, 1fr);
}

.event-page-single_large{
    grid-template-columns:1fr;
}

.event-banner-page.is-side{
    opacity:.96;
}

.event-banner-page.is-active{
    opacity:1;
}

.event-banner-page::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    border-radius:18px;
    background:rgba(0,0,0,.36);
    opacity:1;
    pointer-events:none;
}

.event-carousel-track.is-moving .event-banner-page::after{
    transition:none !important;
}

.event-banner-page.is-active::after{
    opacity:0;
}

.event-banner-card{
    display:block;
    width:100%;
    border-radius:18px;
    overflow:hidden;
    background:#f3f6fb;
    box-shadow:0 14px 34px rgba(15,35,70,.10);
    transition:transform .25s ease, box-shadow .25s ease;
    transform:translateZ(0);
    backface-visibility:hidden;
}

.event-page-triple_full .event-banner-card{
    height:425px;
}

.event-page-single_large .event-banner-card{
    height:425px;
}

.event-banner-card img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transform:translateZ(0);
    backface-visibility:hidden;
}

.event-banner-card:hover{
    transform:translateY(-3px);
    box-shadow:0 18px 42px rgba(15,35,70,.15);
}

.event-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:5;
    width:42px;
    height:42px;
    border:1px solid #e0e7f4;
    border-radius:50%;
    background:#fff;
    color:#00183a;
    font-size:30px;
    line-height:38px;
    font-weight:400;
    cursor:pointer;
    box-shadow:0 10px 26px rgba(15,35,70,.12);
    opacity:0;
    visibility:hidden;
    transition:opacity .2s ease, visibility .2s ease, transform .2s ease;
}

.event-arrow:disabled{
    opacity:.28;
    cursor:default;
}

.event-prev{
    left:calc(50% - 555px);
}

.event-next{
    right:calc(50% - 555px);
}

.event-carousel-viewport:hover .event-arrow{
    opacity:1;
    visibility:visible;
}

@media (hover:none), (pointer:coarse){
    .event-arrow{
        opacity:1;
        visibility:visible;
    }
}

.event-carousel-control{
    width:min(760px, calc(100vw - 120px));
    margin:24px auto 0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
}

.event-progress{
    position:relative;
    flex:1;
    height:3px;
    background:#d9dce2;
    border-radius:999px;
    overflow:hidden;
}

.event-progress span{
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:0;
    background:#171717;
    border-radius:999px;
    transition:width .32s ease;
}

.event-count{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:#6b7280;
    font-size:13px;
    font-weight:900;
    white-space:nowrap;
}

.event-count span:first-child{ color:#315df6; }
.event-count em{ font-style:normal; color:#c7ccd6; }

.event-pause,
.event-plus{
    border:0;
    background:transparent;
    color:#3d4654;
    font-size:16px;
    font-weight:900;
    line-height:1;
    cursor:pointer;
    padding:0;
}
.event-nav{
    border:0;
    background:transparent;
    color:#3d4654;
    font-size:14px;
    font-weight:900;
    line-height:1;
    cursor:pointer;
    padding:0;
}

.event-plus{ font-size:22px; }

@media (max-width: 768px){
    .event-carousel-section{
        width:1160px !important;
        margin-left:0 !important;
        margin-right:0 !important;
    }

    .event-carousel-viewport{
        width:1160px !important;
    }

    .event-prev{
        left:calc(50% - 555px) !important;
    }

    .event-next{
        right:calc(50% - 555px) !important;
    }
}

/* 추천 테마별 PC 상단 간격 축소 */
.theme-pc-section{
    margin-top:40px !important;
    padding-top:0 !important;
}

/* 추천 테마별 PC 설명 제거 후 헤더 간격 정리 */
.theme-pc-head{
    margin-bottom:16px !important;
}
.theme-pc-head p{
    display:none !important;
}
