body{
    background:#020305;
}

.screening-page{
    background:#020305;
    min-height:calc(100vh - 120px);
    padding:0px;
    color:#fff;
}

/* 추후 위아래 스와이프 영역 */
.screening-stage-y{
    max-width:760px;   /* 기존보다 확실히 줄임 */
    margin:0 auto;
}

/* 추후 좌우 스와이프 영역 */
.screening-stage-x{
    width:100%;
}

.screening-section{
    margin-bottom:0px;
}

.screening-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:16px;
    margin-bottom:14px;
    padding-bottom:10px;
    border-bottom:1.5px solid rgba(255,255,255,.3);
}

.screening-head-title{
    margin:0;
    font-size:30px;
    font-weight:800;
    line-height:1.2;
    color:#fff;
}

.screening-head-sub{
    margin:4px 0 0;
    font-size:18px;
    color:rgba(255,255,255,.55);
}

.live-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#c71c1c;
    color:#fff;
    font-size:15px;
    font-weight:700;
    padding:7px 14px;
    border-radius:6px;
    white-space:nowrap;
}

.live-badge::before{
    content:"";
    width:10px;
    height:10px;
    border-radius:50%;
    background:#d8d8d8;
    display:block;
}

.screening-card{
    display:flex;
    width:100%;
    min-height:340px; /* 기존보다 작게 */
    background:#000;
    border:1px solid rgba(160,20,20,.75);
    border-radius:10px;
    overflow:hidden;
    box-shadow:none;
}

.screening-poster{
    width:34%;
    min-width:310px;
    background:
        radial-gradient(circle at 50% 20%, rgba(34,64,120,.22), transparent 45%),
        linear-gradient(180deg, #0d1d3c 0%, #031126 50%, #000 100%);
    position:relative;
}

/* .screening-poster::after{
    content:"亂";
    position:absolute;
    left:21px;
    bottom:15px;
    font-size:77px;
    line-height:1;
    color:#e32626;
    font-family:serif;
    text-shadow:0 0 10px rgba(227,38,38,.25);
} */

.screening-body{
    flex:1;
    padding:41px 33px 27px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    background:#000;
}

.movie-title{
    margin:0 0 8px;
    font-size:41px;
    font-weight:900;
    line-height:1.15;
    letter-spacing:-0.03em;
    color:#fff;
}

.movie-meta{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-bottom:24px;
}

.movie-chip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:33px;
    padding:0 12px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:6px;
    color:rgba(255,255,255,.8);
    font-size:16px;
    line-height:1;
}

.movie-desc{
    border-left:2px solid #b91919;
    padding-left:15px;
    margin-bottom:27px;
}

.movie-desc strong{
    display:block;
    margin-bottom:6px;
    font-size:18px;
    font-weight:700;
    color:#d9d9d9;
}

.movie-desc p{
    margin:0;
    font-size:18px;
    line-height:1.55;
    color:rgba(255,255,255,.82);
    word-break:keep-all;
}

.enter-btn{
    width:100%;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    background:#f2f2f2;
    color:#08101b !important;
    text-decoration:none !important;
    border-radius:6px;
    font-size:12px;
    font-weight:800;
    transition:.15s ease;
}

.enter-btn:hover{
    background:#fff;
}

.play-tri{
    width:0;
    height:0;
    border-top:7px solid transparent;
    border-bottom:7px solid transparent;
    border-left:12px solid #08101b;
}

.enter-note{
    margin-top:12px;
    text-align:center;
    color:rgba(255,255,255,.34);
    font-size:13px;
}

/* 추후 목록이 여러 개면 아래로 이어짐 */
.screening-list-y{
    display:flex;
    flex-direction:column;
    gap:6px;
}

/* 추후 타입별 가로 스와이프용 */
.screening-list-x{
    display:flex;
    gap:16px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x proximity;
    padding-bottom:4px;
}

.screening-list-x > .screening-card-wrap{
    flex:0 0 100%;
    scroll-snap-align:start;
}

.screening-list-x::-webkit-scrollbar{
    height:6px;
}

.screening-list-x::-webkit-scrollbar-thumb{
    background:rgba(255,255,255,.12);
    border-radius:999px;
}

@media (max-width: 768px){
    .screening-stage-y{
        max-width:100%;
        padding:0 14px;
    }

    .screening-card{
        flex-direction:column;
        min-height:auto;
    }

    .screening-poster{
        width:100%;
        min-width:100%;
        height:180px;
    }

    .screening-body{
        padding:20px 16px 16px;
    }

    .movie-title{
        font-size:22px;
    }
}
.screening-type-slider{
    width:100%;
}

.screening-type-slide{
    padding:0 8px;
    box-sizing:border-box;
}

.screening-vertical-list{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.screening-card-wrap{
    width:100%;
}

.live-badge.is-video{
    background:#1d4ed8;
}

.screening-type-slider .slick-list{
    overflow:hidden;
}

.screening-type-slider .slick-track{
    display:flex !important;
    align-items:flex-start;
}

.screening-type-slide{
    height:auto !important;
}

@media (max-width: 768px){
    .screening-type-slide{
        padding:0;
    }

    .screening-vertical-list{
        gap:14px;
    }
}

/* 슬라이더 기준점 */
.screening-type-slider,
.js-type-slider,
.screening-list-x,
.js-screening-slider{
    position: relative;
}

/* slick 기본 버튼 껍데기 제거 */
.screening-type-slider .slick-prev,
.screening-type-slider .slick-next,
.js-type-slider .slick-prev,
.js-type-slider .slick-next,
.screening-list-x .slick-prev,
.screening-list-x .slick-next,
.js-screening-slider .slick-prev,
.js-screening-slider .slick-next{
    width: 32px;
    height: 32px;
    z-index: 30;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    font-size: 0;
    line-height: 0;
    outline: none !important;
}

/* 카드 바깥으로 이동 */
.screening-type-slider .slick-prev,
.js-type-slider .slick-prev,
.screening-list-x .slick-prev,
.js-screening-slider .slick-prev{
    left: -48px !important;
}

.screening-type-slider .slick-next,
.js-type-slider .slick-next,
.screening-list-x .slick-next,
.js-screening-slider .slick-next{
    right: -48px !important;
}

/* 기본 아이콘 제거 */
.screening-type-slider .slick-prev:before,
.screening-type-slider .slick-next:before,
.js-type-slider .slick-prev:before,
.js-type-slider .slick-next:before,
.screening-list-x .slick-prev:before,
.screening-list-x .slick-next:before,
.js-screening-slider .slick-prev:before,
.js-screening-slider .slick-next:before{
    font-family: inherit !important;
    font-size: 46px !important;
    line-height: 1 !important;
    color: #fff !important;
    opacity: 1 !important;
}

/* 단순 화살표 문자 */
.screening-type-slider .slick-prev:before,
.js-type-slider .slick-prev:before,
.screening-list-x .slick-prev:before,
.js-screening-slider .slick-prev:before{
    content: "<" !important;
}

.screening-type-slider .slick-next:before,
.js-type-slider .slick-next:before,
.screening-list-x .slick-next:before,
.js-screening-slider .slick-next:before{
    content: ">" !important;
}

/* hover에도 버튼 배경 안 보이게 */
.screening-type-slider .slick-prev:hover,
.screening-type-slider .slick-next:hover,
.js-type-slider .slick-prev:hover,
.js-type-slider .slick-next:hover,
.screening-list-x .slick-prev:hover,
.screening-list-x .slick-next:hover,
.js-screening-slider .slick-prev:hover,
.js-screening-slider .slick-next:hover,
.screening-type-slider .slick-prev:focus,
.screening-type-slider .slick-next:focus,
.js-type-slider .slick-prev:focus,
.js-type-slider .slick-next:focus,
.screening-list-x .slick-prev:focus,
.screening-list-x .slick-next:focus,
.js-screening-slider .slick-prev:focus,
.js-screening-slider .slick-next:focus{
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
}

/* 모바일에서는 너무 밖으로 나가면 잘릴 수 있으니 조금 안쪽 */
@media (max-width: 768px){
    .screening-type-slider .slick-prev,
    .js-type-slider .slick-prev,
    .screening-list-x .slick-prev,
    .js-screening-slider .slick-prev{
        left: -24px !important;
    }

    .screening-type-slider .slick-next,
    .js-type-slider .slick-next,
    .screening-list-x .slick-next,
    .js-screening-slider .slick-next{
        right: -24px !important;
    }

    .screening-type-slider .slick-prev:before,
    .screening-type-slider .slick-next:before,
    .js-type-slider .slick-prev:before,
    .js-type-slider .slick-next:before,
    .screening-list-x .slick-prev:before,
    .screening-list-x .slick-next:before,
    .js-screening-slider .slick-prev:before,
    .js-screening-slider .slick-next:before{
        font-size: 34px !important;
    }
}

.slick-prev,
.slick-next{
    background: transparent !important;
    border: none !important;
}

.screening-bottom-guide{
    margin-top:0px;
    padding:20px 22px;
    border:1px solid rgba(255,255,255,.78);
    background:#000;
    color:#fff;
}

.screening-bottom-guide-title{
    margin:0 0 12px;
    font-size:15px;
    font-weight:800;
    color:#fff;
}

.screening-bottom-guide-text{
    margin:0;
    font-size:13px;
    line-height:1.65;
    color:rgba(255,255,255,.92);
    white-space:pre-line;
    word-break:keep-all;
}

.screening-bottom-guide-actions{
    margin-top:18px;
    display:flex;
    justify-content:flex-start;
}

.screening-bottom-faq-btn{
    min-width:190px;
    height:52px;
    padding:0 20px;
    border-radius:10px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(180deg, #1b6f98 0%, #155a7c 100%);
    border:1px solid rgba(120, 220, 255, .28);
    box-shadow:0 6px 18px rgba(0,0,0,.25);
    color:#fff !important;
    font-size:16px;
    font-weight:800;
    text-decoration:none !important;
    transition:.18s ease;
}

.screening-bottom-faq-btn:hover{
    background:linear-gradient(180deg, #2285b7 0%, #1b6f98 100%);
    color:#fff !important;
    transform:translateY(-1px);
}

.screening-bottom-faq-btn .faq-icon{
    margin-left:8px;
    font-size:15px;
    opacity:.9;
}

@media (max-width: 768px){
    .screening-bottom-guide{
        margin-top:0px;
        padding:16px 14px;
    }

    .screening-bottom-guide-title{
        font-size:14px;
    }

    .screening-bottom-guide-text{
        font-size:12px;
        line-height:1.6;
    }

    .screening-bottom-faq-btn{
        width:100%;
        min-width:100%;
        height:48px;
        font-size:15px;
    }
}