/*
 * Consolidated stylesheet.
 * Exact duplicate rules from the historical repeated snapshots were removed.
 * Remaining rules preserve their original cascade order; see style.old.css for the full backup.
 */

/*  Legacy cascade deltas retained from earlier snapshots  */
.recommend_area {
    margin-bottom: 0px;
}
.recommend_area .product_list {
    margin-top: 0;
    max-width: 1280px;
    margin: 0 auto;
}
.main_contents .product_list .product_card .description .product_price .discount_rate {
    font-size: 32px;
    line-height: 1.625rem;
    font-weight: 700;
    color: #d41d1d;
    letter-spacing: -0.05em;
    gap:10px;
    display: flex;
}
.last_call_badges{
    display: flex;
    align-items: center;
    gap: 4px 2px;
    flex-wrap: wrap;
}
.list_contents .list_tab_container .tab_select_view .tab_view_option button{
    border: 1px solid #D0D2D9;
}
.list_contents .product_list.list_view::before{
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background-color: #EBECF0;
    margin: 10px 0 35px;
}
.list_contents .product_list.list_view > ul > li .product_card{
    display: flex;
    position: relative;
    padding: 16px 0 40px;
}
.detail_contents .detail_info .detail_info_container .detail_title{
    position: relative;
}
.detail_contents .detail_info .detail_info_container .detail_title #detailWishBtn.wish-btn{
    position: absolute;
    top: 0;
    right: 0;
    text-shadow: none;
}
.detail_contents .detail_info .detail_info_container .detail_title #detailWishBtn.wish-btn img{
    width: 28px;
    height: 28px;
    display: block;
}
.detail_contents .detail_tab_container .tab_btn button{
    width: 100%;
    border-bottom: 1px solid #1B1B1F;
    color: #5E606B;
    padding: 10px 0;
    font-weight: 600;
    font-size: clamp(14px,1vw,16px);
    line-height: clamp(18px,2vw,26px);
}
.detail_contents .detail_tab_container .tab_btn button.tab_active {
    border: 0px solid #1B1B1F;
    border-bottom: 2px solid #000000;
    color: #000000;
    font-size: 16px;
    font-weight: 700;
}
.detail_contents .side_menu  .product_area{
    padding: 12px 30px;
    box-sizing: border-box;
    margin-top: 18px;
}
.detail_b_contents .booking_header {
    background-color: #000000;
    position: fixed;
    width: 100%;
}
.detail_b_contents .booking_header ul li:first-child img {
    max-width: 101px;
}
.detail_b_contents .booking_contents h2 {
    font-size: 16px;
    line-height: 1.5rem;
    font-weight: 700;
    color: #1B1B1F;
    margin: 0px 0 24px;
    display: flex;
    align-items: center;
    gap: 16px;
    border-bottom: 1px solid #000;
    padding-bottom: 24px;
}
.detail_b_contents .booking_contents .booking_form_container > div {
    background-color: #fff;
    padding: 22px 40px 0;
    border: 1px solid #EBECF0;
    border-radius: 8px;
    box-shadow: 0 0 0 0 #0000000A;
    margin-bottom: 50px;
}
.detail_b_contents .booking_contents .booking_form_container .select_seats_box .form_box .price_box{
    flex: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18.5px 0;
}
.detail_b_contents .booking_contents .booking_form_container .select_seats_box .form_box .quantity_box .btn_plus{
    background-color: #d41d1d;
}


.detail_b_contents .select_seats_box::-webkit-scrollbar {
  width: 6px;
}

.detail_b_contents .select_seats_box::-webkit-scrollbar-track {
  background: transparent;
}

.detail_b_contents .select_seats_box::-webkit-scrollbar-thumb {
  background-color: #999;
  border-radius: 999px;
}


.detail_b_contents .booking_contents .booking_form_container .select_seats_box .form_box .quantity_box .btn_minus{
    background-color: #F5F5F7;
}
.mp_m_contents #wishTotalCountWrap{
    font-size: 14px;
    font-weight: 500;
    color: #333;
    margin-bottom: 16px;
}
.mp_m_contents .wish_card .badge-group{
    margin-top: 6px;
}
.cs_contents .cs_container .cs_title ul li:not(:last-child){
    padding-right: 24px;
    background-image: url('/images/btn_pagination.png');
    background-repeat: no-repeat;
    background-position: right 5px center;
}
.cs_contents .cs_container .cs_table thead th{
    font-size: clamp(14px,1vw,16px);
    line-height: 1.5rem;
    font-weight: 600;
    border-width: 0px 0 1px 0;
    border-color: #cdcdcd;
    border-style: solid;
    padding: 12px 14px;
    white-space: nowrap;
}
.cs_faq .search_box button{
    background-color: #000000;
    color: #fff;
    font-size: clamp(13px,1vw,16px);
    line-height: 1.25rem;
    border-radius: 2px;
    padding: 14px 10px;
    width: 75px;
    font-weight: 600;

}
.mp_contents .mp_container .mp_table button{
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    line-height: 20px;
    font-weight: 600;
    color: #1B1B1F;
    text-align: center;
    width: 84px;
    height: 26px;
    padding: 0;
    box-sizing: border-box;
    margin:0 auto;
    border-radius: 2px;
}
.mp_container .mp_form textarea,
.mp_container .mp_form .privacy_policy_textbox{
    border: 1px solid #D0D2D9;
    min-height: 330px;
    font-family: 'pretendard';
    font-size: 16px;
    line-height: 24px;
    padding: 15px;
    box-sizing: border-box;
    resize: none;
    overflow-y: auto;
}
.mp_container .mp_form .privacy_policy_textbox{
    max-height: 330px;
}
.mp_container .mp_form textarea:focus,
.mp_container .mp_form .privacy_policy_textbox:focus{
    outline: none;
}
.mp_container .mp_form textarea:focus-visible,
.mp_container .mp_form .privacy_policy_textbox:focus-visible{
    outline: 3px solid #5EA4FF;
    outline-offset: 2px;
    border-radius: 4px;
}
.mp_container .mp_form textarea::-webkit-scrollbar,
.mp_container .mp_form .privacy_policy_textbox::-webkit-scrollbar{
    width: 14px;

}
.mp_container .mp_form textarea::-webkit-scrollbar-track,
.mp_container .mp_form .privacy_policy_textbox::-webkit-scrollbar-track{
    background-color: #F4F4F4;
}
.mp_container .mp_form textarea::-webkit-scrollbar-thumb,
.mp_container .mp_form .privacy_policy_textbox::-webkit-scrollbar-thumb{
    background-color: #D6D8DC;
    border-radius: 50px;
}
.m_ep_container textarea,
.m_ep_container .privacy_policy_textbox{
    min-height: 300px !important;
}
.custom-select-box{
    border: 1px solid #EBECF0;
    padding: 8px 12px;
    cursor: pointer;
    position: relative;
    box-sizing: border-box;
    background-color: #fff;
    width: max-content;
}
@media (max-width: 1024px) {
    /* .list_contents .product_list .product_card{
        position: relative;
    }
    .list_contents .product_list .description .product_label{
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
    }
    .list_contents .product_list.list_view .description .product_label{
        left: 0;
        transform: none;
    } */
    /*.detail_contents .side_menu .calendar_area,*/
    /*.detail_contents .side_menu .product_area{*/
    /*    display: block;*/
    /*    position: absolute;*/
    /*    bottom: 64px;*/
    /*    left: -1px;*/
    /*    transform: translateY(120%);*/
    /*    background-color: #fff;*/
    /*    transition: transform 0.3s ease;*/
    /*    border-bottom: none;*/
    /*    border-radius: 14px 14px 0 0 ;*/
    /*}*/
    /* 결제(step2) 모바일: 예매자 정보/예매자 동의 카드를 참고 디자인처럼 흰 배경 + 각진 테두리로 통일 */
    /* 예매 티켓(#stickyMenu)도 같은 카드 스타일로, 제목은 새로 추가한 .m_card_header가 담당 */
    /* 참고 디자인엔 포스터 이미지가 없어 모바일에서는 숨김 */
    /* 예매자 정보: 라벨-입력창을 한 줄(라벨 왼쪽 고정폭 + 입력창)로, 참고 HTML의 .field-row/.field-input과 동일하게 */
    /* PC용 검정 헤더(로고+스텝 텍스트) 대신 참고 디자인의 심플한 모바일 헤더로 교체 */
    /* 미지정석 예매(step1) #stickyMenu가 범용 유틸리티 클래스 .posi_ab을 같이 쓰는 바람에
       위 규칙(display:none)에 걸려 모바일에서 좌석선택/쿠폰 패널 전체가 사라지던 문제.
       id 특이도로 이 요소만 다시 보이게 함 */
    /* 모바일에서는 결제수단 선택 UI 자체를 없애고 신용카드로 고정 전송(JS submit()에서 처리) */
    /* 하단 총액/결제 바: 포스터 밑까지 스크롤해야 보이던 것을 화면 하단에 고정,
       세부 내역은 접고 총액 한 줄 + 버튼만 남겨 참고 디자인과 동일한 느낌으로 정리 */
    /* 참고 디자인처럼 세부 금액표는 없애고, 버튼 하나에 "총 N원 결제하기"로 합쳐서 보여줌
       (버튼 텍스트는 recalcTotal()에서 채움) */
    /* "다음"과 "예매하기"가 같은 setPay()를 호출하는 중복 버튼이라
       하나로 통일하고(고정된 예매하기만 남김), 고정바에 가려지지 않게 여백 확보 */
    /* 좌석선택 영역도 할인정보 카드와 같은 박스 스타일로, 내부 여백/간격은 좁게 */
    /* 참고 디자인처럼 모바일에서는 포스터/날짜선택 히어로 영역을 숨김 */
    /* .detail_contents .detail_casting dl::-webkit-scrollbar{
        display: none;
    } */
}
@media (max-width: 767px) {
    .payment-wrap .payment_method_box .list-check-1{
        width: 100%;
        display: flex;
    }
    /* 로그인 */

    /* 리스트 */
    /* 디테일 */
    /* .detail_contents .side_menu > button{
        width: calc( 100% - 20px);
    } */
    /* 고객센터 */

    /* 푸터 */
    /* swiper */

    /* 모달 */
}

.ticket-header-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    font-family: 'Pretendard', 'pretendard', sans-serif;
    box-sizing: border-box;
}
.header-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
    padding: 0;
}

.page-title {
    font-size: 28px;
    font-weight: 700;
    color: #000;
    margin: 0;
    line-height: 1.3;
    letter-spacing: -0.02em;
}
.tab-item.active,
.tab-menu .tab-item.tab_active {
    color: #000;
    border-bottom: 3px solid #000;
    margin-bottom: -1px; /* 부모 border와 겹치게 처리 */
}
.tab-menu button.tab-item,
.mp_contents .mp_container .tab-menu.tab_btn button.tab-item {
    width: 50%;
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    font-family: inherit;
    font-size: 16px;
    font-weight: 700;
    color: #999;
    padding: 15px 0;
    line-height: normal;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    box-sizing: border-box;
}
.mp_contents .mp_container .tab-menu.tab_btn button.tab-item.tab_active {
    color: #000;
    border-bottom: 3px solid #000;
    margin-bottom: -1px;
    font-weight: 700;
}
.show-container {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0;
    font-family: 'Pretendard', 'pretendard', sans-serif;
    box-sizing: border-box;
}
.show-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 16px;
    margin-bottom: 28px;
    border-bottom: 1px solid #eee;
}

.total-count {
    font-size: 15px;
    font-weight: 500;
    color: #333;
}

.total-count .highlight {
    color: #d41d1d;
    font-weight: 700;
}

.filter-group {
    display: flex;
    align-items: center;
    gap: 8px;
}

.select-box select {
    padding: 7px 28px 7px 12px;
    font-size: 14px;
    font-family: inherit;
    border: 1px solid #ddd;
    border-radius: 4px;
    background-color: #fff;
    color: #333;
    min-width: 96px;
    height: 36px;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23666' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    cursor: pointer;
}

.checkbox-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 500;
    color: #333;
    cursor: pointer;
    margin-left: 8px;
    white-space: nowrap;
}

.checkbox-label input {
    width: 16px;
    height: 16px;
    accent-color: #d41d1d;
}
.show-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 36px 40px;
    margin-bottom: 60px;
}
.show-card {
    display: flex;
    position: relative;
    align-items: flex-start;
    gap: 20px;
}
.poster-area {
    position: relative;
    width: 160px;
    flex-shrink: 0;
    background-color: #f5f5f5;
    border-radius: 2px;
    overflow: hidden;
}

.wish-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    background: none;
    border: none;
    font-size: 22px;
    line-height: 1;
    color: #fff;
    cursor: pointer;
    text-shadow: 0 0 3px rgba(0,0,0,0.4);
    z-index: 1;
    padding: 0;
}

.wish-btn.active {
    color: #d41d1d;
}
.info-area {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding-top: 4px;
    min-width: 0;
}

.show-title {
    font-size: 18px;
    font-weight: 700;
    color: #111;
    margin: 0 0 8px 0;
    line-height: 1.35;
    letter-spacing: -0.02em;
}

.show-venue {
    font-size: 14px;
    font-weight: 500;
    color: #555;
    margin: 0 0 4px 0;
    line-height: 1.4;
}

.show-date {
    font-size: 13px;
    color: #999;
    margin: 0 0 12px 0;
    line-height: 1.4;
}

.show-price {
    font-size: 13px;
    color: #333;
    margin: 0 0 6px 0;
    line-height: 1.45;
}

.show-price strong {
    color: #d41d1d;
    font-weight: 700;
}

.show-price s {
    color: #999 !important;
    font-size: 12px;
    font-weight: 400;
}

.show-price .discount {
    color: #d41d1d;
    font-weight: 700;
    font-size: 13px;
}
.badge-group {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 10px;
}

.badge {
    font-size: 11px;
    font-weight: 600;
    padding: 3px 8px;
    color: #fff;
    border-radius: 3px;
    line-height: 1.4;
}

.badge-red { background-color: #d41d1d; }
.ticket-cancel-backdrop.hidden {
    display: none !important;
}
.tab_btn.recommend_rate_filter{
    display:flex;
    align-items:baseline;
    gap:4px;
    padding-bottom:14px;
    overflow:visible;
}
.sign_up .sign_up_wrap{
    max-width: 860px;
    margin: 0 auto;
    padding: 30px;
}
.sign_up .btn_container button{
    background-color: #d41d1d;
    color: #fff;
    font-size: 1.125rem;
    font-weight: 700;
    padding: 18px;
    width: 100%;
    max-width: 24.375rem;
    border-radius: 6px;
}
.sign_up .sign_up_container form .red_text{
    line-height: 1.625rem;
}
.sign_up .sign_up_container form .confirm_text{
    line-height: 1.625rem;
    color: #4267FB;
}
.sign_up .sign_up_container form .check_btn{
    width: 160px;
    border: 1px solid #d41d1d;
    padding: 14px 0;
    box-sizing: border-box;
    border-radius: 6px;
    color: #d41d1d;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
}
.on_sale_ticker_label{
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}
.on_sale_ticker_title{
    font-size: 14px;
    font-weight: 800;
    line-height: 20px;
    color: #d41d1d;
    letter-spacing: 0.02em;
}
.main_contents{
    padding: 4.75rem 0 0;
}
.download_coupon_area{
    margin: 140px auto 0;
}
.last_call_thumb {
    flex-shrink: 0;
    width: 140px;
    height: 186px;
    border-radius: 6px;
    overflow: hidden;
    background: #1B1B1F;
}
.list_contents .list_tab_container .tab_select_view .tab_view_option button{
    border: 1px solid #828282;
}
.list_contents .list_tab_container .tab_select_view .tab_view_option button.grid_view{
    padding: 12.5px 13px;
    border-radius: 0px;
    border-right: 0;
}
.list_contents .list_tab_container .tab_select_view .tab_view_option button.list_view{
    padding: 12px 11px;
    border-radius: 0px;
    border-left: 0;
}
.list_contents .product_list > ul > li{
    width: calc((100% - (24px * 3)) / 5);
}
.list_contents .product_list .product_card .thumnail{
    padding-top: 112.6%;
}
.list_contents .product_list.list_view > ul > li:not(:last-child){
    margin-bottom: 24px;
}
.list_contents .product_list.list_view > ul > li .product_card{
    display: flex;
    position: relative;
    padding:0px;
}
.list_contents .product_list.list_view > ul > li .product_card .thumnail {
    padding-top: 0;
    margin: 24px 24px 24px 0px;
    width: 115px;
    min-width: 115px;
    height: auto;
    max-height: 160px;
    margin-bottom: 0;
}
.list_view .product_price {
    display: flex;
    align-items: end;
    flex-wrap: nowrap;
    gap: 4px;
    margin-top: 8px;
    white-space: nowrap;
    position: absolute;
    right: 0px;
    top:50%;
}
.list_view .price_origin {
    flex-shrink: 1;
    margin: 0 2px 0 auto;
    color: #999;
    font-size: 13px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.4px;
    text-decoration: line-through;
    position: absolute;
    right: 0;
    top: -18px;
}
.pagination .prev,
.pagination .next{
    background-image: url('/images/btn_pagination.png');
    border: 0px solid #D0D2D9;
    background-repeat: no-repeat;
    background-position: center center;
    border-radius: 6px;
}
.detail_contents .detail_tab_container .tab_btn button {
    /* width: 100%; */
    border-bottom: 1px solid #cdcdcd;
    color: #757575;
    padding: 10px 0;
    font-weight: 600;
    font-size: clamp(14px, 1vw, 16px);
    line-height: clamp(18px, 2vw, 26px);
}
.detail_contents .detail_tab_container .tab_btn button.tab_active{
    border: 1px solid #1B1B1F;
    border-bottom: 0;
    color: #1B1B1F;
}
.detail_contents .detail_tab_container ol li > span{
    display: block;
    font-size: 1rem;
    line-height: 1.625rem;
    color: rgba(50, 50, 50, 1);
    font-weight: 600;
    margin-bottom: 6px;
}
.detail_contents .side_menu > div{
    border: 1px solid #E1E3E8;
    border-radius: 14px;
    width: 100%;
}
.detail_contents .side_menu  .product_area{
    padding: 12px 20px;
    box-sizing: border-box;
    margin-top: 18px;
}
.detail_contents .side_menu .product_area {
    padding: 12px;
    box-sizing: border-box;
    margin-top: 18px;
    background:#f8f8f8;
}
.detail_b_contents .booking_contents{
    /* padding: 50px 0; */
    display: flex;
    padding: 0px;
    min-height:630px;
}
.detail_b_contents .booking_contents h2{
    font-size: 1.625rem;
    line-height: 1.5rem;
    font-weight: 700;
    color: #1B1B1F;
    margin: 50px 0 32px;
    display: flex;
    align-items: center;
    gap: 16px;
}
.detail_b_contents .booking_contents .booking_form_container > div:not(:last-child){
    margin-bottom: 20px;
}
.detail_b_contents .booking_contents .booking_form_container > div h3 button {
    font-size: clamp(18px, 1.3vw, 20px);
    line-height: 1.5rem;
    font-weight: 700;
    padding-bottom: 22px;
    width: 100%;
    text-align: left;
    display: flex;
    justify-content: space-between;
    align-items: center;
    outline: none;
    color: #000000;
}
.detail_b_contents .booking_contents .booking_form_container .select_seats_box .form_box .price_box{
    flex: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0px 0;
}
.detail_b_contents .booking_contents .booking_form_container .select_seats_box .form_box .price_box .title{
    font-size: 16px;
    line-height: 100%;
    font-weight: 600;
}
.detail_b_contents .booking_contents .booking_form_container .select_seats_box .form_box .price_box .price{
    font-size: 16px;
    line-height: 100%;
    color: #5E606B;
}
.detail_b_contents .sticky_menu{
    /* width: 30%; */
    width: 20%;
    min-width: 366px;
    height: fit-content;
    background-color: #fff;
    padding: 25px;
    box-sizing: border-box;
    box-shadow: 0 4px 4px 0 #00000008;
    position: fixed;
    top: 233px;
    right: 0;
    z-index: 3;
    /* border-top: 2px solid #2F3037; */
}
.detail_b_contents .sticky_menu .payment_box,
.os_payment_menu2 .payment_box{
    padding: 28px 0;
}
.header_m{
    height: auto;
    display: none;
    position: relative;
    z-index: 9999;
}
.mp_m_contents .mp_m_list ul li a{
    font-size: 16px;
    line-height: 24px;
    padding: 16px 20px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.cs_contents{
    display: flex;
    gap: 50px;
}
.cs_contents .cs_nav{
    padding: 20px 23px;
    box-sizing: border-box;
    border: 1px solid #EBECF0;
    height: fit-content;
    min-width: fit-content;
}
.cs_contents .cs_nav p{
    text-align: center;
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 700;
    color: #1B1B1F;
    padding: 6px 0 14px;
    border-bottom: 1px solid #EBECF0;
}
.cs_contents .cs_nav ul li{
    padding: 6px 0;
    font-size: 1rem;
    line-height: 1.5rem;
    text-align: center;
}
.cs_contents .cs_container .cs_title h2{
    font-size: 14px;
    font-size: clamp(32px,2vw,40px);
    line-height: 3rem;
    font-weight: 700;
    color: #1B1B1F;
}
.cs_contents .cs_container .cs_title ul li:not(:last-child){
    padding-right: 24px;
    background-image: url('/images/btn_pagination2.png');
    background-repeat: no-repeat;
    background-position: right 5px center;
}
.cs_contents .cs_container .btn_wrap a{

    display: block;
    padding: 10px 14px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
}
.cs_contents .cs_container .cs_table thead th{
    font-size: clamp(14px,1vw,16px);
    line-height: 1.5rem;
    font-weight: 600;
    border-width: 2px 0 1px 0;
    border-color: #000000;
    border-style: solid;
    padding: 12px 14px;
    white-space: nowrap;
}
.cs_contents .cs_container .notice_table thead th{
    background-color: #fff;

}
.cs_faq .tab_menu ul li button{
    border: 1px solid #EBECF0;
    font-size: clamp(13px,1vw,16px);
    line-height: 1.5rem;
    font-weight: 600;
    width: 100%;
    height: 100%;
    padding: 13px 0;
}
.cs_faq .tab_menu ul li button.active{
    background-color: #d41d1d;
    color: #fff;
    border: 1px solid #d41d1d;
}
.cs_faq .tab_menu ul li:first-child button{
    border-radius: 6px 0 0 6px;

}
.cs_faq .tab_menu ul li:last-child button{
    border-radius: 0 6px 6px 0;
}
.cs_inquiry .inquiry_btn_container .red_btn{
    background-color: #d41d1d;
    color: #fff;
}
.mp_container .mp_form label{
    width: auto;
}
.mp_container .goToDelete{
    color: rgba(0, 0, 0, 1);
    font-size: 14px;
    line-height: 22px;
    margin-top: 16px;
    font-weight: 500;
}

.mp_container .goToDelete span{
  display: inline-block;
  position: relative;
}
.mp_container .goToDelete span::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 1px;
  background: #000;
  bottom: 0;
  left: 0;
}
.custom-select-box{
    border: 1px solid #EBECF0;
    padding: 8px 12px;
    cursor: pointer;
    position: relative;
    border-radius: 2px;
    box-sizing: border-box;
    background-color: #fff;
    width: max-content;
}
.custom-select-text{
    font-size: clamp(14px,0.83vw,16px);
    font-weight: 400;
    font-family: 'Pretendard';
    line-height: 24px;
    text-align: center;
    display: flex;
    align-items: center;
    gap: 8px;
    padding-right: 24px;
    background-repeat: no-repeat;
    background-position: right;
    background-image: url('/images/icon-select-down.svg');
}
.pm_radio input[type="radio"] + label .ico-radio{
    display: block;
    width: 20px;
    height: 20px;
    border: 1px solid #EBECF0;
    border-radius: 30px;
}
@media (max-width: 1440px){
    .detail_b_contents .booking_contents:not(.os_payment_contents .booking_contents) .booking_wrap{
        width: 65%;
    }
}
@media (max-width: 1279px) {
    .detail_contents .side_menu .product_area .product_box{
        flex-direction: column;
        gap: 10px;
    }
}
@media (max-width: 1024px) {
    /* .list_contents .product_list .product_card{
        position: relative;
    }
    .list_contents .product_list .description .product_label{
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
    }
    .list_contents .product_list.list_view .description .product_label{
        left: 0;
        transform: none;
    } */
    /*.detail_contents .side_menu .calendar_area,*/
    /*.detail_contents .side_menu .product_area{*/
    /*    display: block;*/
    /*    position: absolute;*/
    /*    bottom: 64px;*/
    /*    left: -1px;*/
    /*    transform: translateY(120%);*/
    /*    background-color: #fff;*/
    /*    transition: transform 0.3s ease;*/
    /*    border-bottom: none;*/
    /*    border-radius: 14px 14px 0 0 ;*/
    /*}*/
    /* 결제(step2) 모바일: 예매자 정보/예매자 동의 카드를 참고 디자인처럼 흰 배경 + 각진 테두리로 통일 */
    /* 예매 티켓(#stickyMenu)도 같은 카드 스타일로, 제목은 새로 추가한 .m_card_header가 담당 */
    /* 참고 디자인엔 포스터 이미지가 없어 모바일에서는 숨김 */
    /* 예매자 정보: 라벨-입력창을 한 줄(라벨 왼쪽 고정폭 + 입력창)로, 참고 HTML의 .field-row/.field-input과 동일하게 */
    /* PC용 검정 헤더(로고+스텝 텍스트) 대신 참고 디자인의 심플한 모바일 헤더로 교체 */
    /* 미지정석 예매(step1) #stickyMenu가 범용 유틸리티 클래스 .posi_ab을 같이 쓰는 바람에
       위 규칙(display:none)에 걸려 모바일에서 좌석선택/쿠폰 패널 전체가 사라지던 문제.
       id 특이도로 이 요소만 다시 보이게 함 */
    /* 모바일에서는 결제수단 선택 UI 자체를 없애고 신용카드로 고정 전송(JS submit()에서 처리) */
    /* 하단 총액/결제 바: 포스터 밑까지 스크롤해야 보이던 것을 화면 하단에 고정,
       세부 내역은 접고 총액 한 줄 + 버튼만 남겨 참고 디자인과 동일한 느낌으로 정리 */
    /* 참고 디자인처럼 세부 금액표는 없애고, 버튼 하나에 "총 N원 결제하기"로 합쳐서 보여줌
       (버튼 텍스트는 recalcTotal()에서 채움) */
    /* "다음"과 "예매하기"가 같은 setPay()를 호출하는 중복 버튼이라
       하나로 통일하고(고정된 예매하기만 남김), 고정바에 가려지지 않게 여백 확보 */
    /* 좌석선택 영역도 할인정보 카드와 같은 박스 스타일로, 내부 여백/간격은 좁게 */
    /* 참고 디자인처럼 모바일에서는 포스터/날짜선택 히어로 영역을 숨김 */
    /* .detail_contents .detail_casting dl::-webkit-scrollbar{
        display: none;
    } */
    .cs_contents .cs_nav{
        width: 100%;
        padding: 0;
        border: none;
    }
}
@media (max-width: 767px) {
    /* 로그인 */

    /* 리스트 */
    /* 디테일 */
    /* .detail_contents .side_menu > button{
        width: calc( 100% - 20px);
    } */
    /* 고객센터 */

    /* 푸터 */
    /* swiper */

    /* 모달 */
}
.fee-table th {
    background-color: #ffffff;
    color: #000;
    font-size: 14px;
    font-weight: 700;
    padding: 15px 10px;
    text-align: center;
    border-top: 1px solid #000;
    border-bottom: 1px solid #e0e0e0;
}
.guide-notes {
    list-style: none;
    padding-top: 15px;
    border-top: 1px solid #f0f0f0;
}

.select-box select {
    padding: 8px 30px 8px 12px;
    font-size: 14px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background-color: #fff;
    min-width: 100px;
}

.main-visual-thumb {
    position: relative;
    flex: 0 0 auto;
    width: 52px;
    height: 52px;
    box-sizing: border-box;
    padding: 0;
    overflow: hidden;
    border: 2px solid transparent;
    border-radius: 8px;
    background: #111;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.35);
    cursor: pointer;
    transform: scale(1);
    transform-origin: bottom;
    transition:
            transform 0.3s ease,
            border-color 0.3s ease,
            box-shadow 0.3s ease;
}
.main-visual-thumb.is-active {
    z-index: 2;
    border-color: #fff;
    transform: scale(1.12);
    box-shadow:
            0 8px 20px rgba(0, 0, 0, 0.45),
            0 0 0 2px rgba(255, 255, 255, 0.25);
}
.tab_btn.recommend_rate_filter{
    display:flex;
    align-items:flex-start;
    gap:2px;
    padding-bottom:14px;
    overflow:visible;
}
/*  Current canonical stylesheet (latest historical snapshot)  */
html,body{
    height: 100%;
}
html{
    scrollbar-gutter: stable;
}
body{
    font-family: 'pretendard';
}
body.no-scroll {
    overflow-y: hidden !important;
}
a{
    text-decoration: none;
    display: block;
    color: #1B1B1F ;
    cursor: pointer;
}
button{
    font-family: 'pretendard';
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    box-sizing: border-box;
    white-space: nowrap;
    cursor: pointer;
    outline: none;
}
img{
    display: block;
    width: 100%;
}
select{
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}
.custom-option.focused,
tr[tabindex="0"]:focus{
    background-color: rgba(0, 0, 0, 0.04);
    outline: none;
}
button:focus-visible,
a:focus-visible,
select:focus-visible,
div:focus-visible,
input:focus-visible,
span:focus-visible,
label:focus-visible,
.radio_check:focus-visible + .radio_check_label,
input[type="checkbox"]:focus-visible + .check_img{
    outline: 3px solid #5EA4FF;
    outline-offset: 2px;
    border-radius: 4px;
}

input[type="search"]::-webkit-search-cancel-button {
    display: none;
}
.user_agreement_wrap input[type="checkbox"]{
    display: block !important;
    opacity: 0;
    width: 0;
}
.fdCol{
    flex-direction: column;
}
.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.wrap{
    margin: 0 auto;
    max-width: 1280px;
    padding: 0 3rem;
}
.mywrap{
    margin: 0 auto;
    max-width: 1140px;
    padding: 0 3rem;
}
.bgB{
    background-color: #000;
}
.empty_message{
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100px;
}
.blue{
    color: #4267FB;
}
.red,
.red_text{
    color: #d41d1d !important;
}
.yellow{
    color: #FD6405;
}
.gray_text{
    color: #8E939E !important;
}
.gray_text2{
    color: #5E606B !important;
}
.mb14{
    margin-bottom: 14px;
}
.tac{
    text-align: center !important;
}
.bold{
    font-weight: 700;
}
.fw600{
    font-weight: 600;
}
.nowrap{
    white-space: nowrap;
}
.ellipsis{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 150px;
}
.heiAuto{
    height: auto;
}
.hei100{
    height: 100%;
}
.nodata{
    height:100%;
    min-height: 280px;
    font-size: 14px;
    line-height: 24px;
    color: #5E606B;
}

.show-grid:has(.nodata){
  grid-template-columns: repeat(1, 1fr);
}

.show-grid .nodata{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.justEnd{
    justify-content: end !important;
}
.w1100{
    width: 1100px !important;
}
.mt20{
    margin-top: 20px;
}
.mb20{
    margin-bottom: 20px !important;
}
.mb22{
    margin-bottom: 22px !important;
}
.mb30{
    margin-bottom: 30px !important;
}
.mb40{
    margin-bottom: 40px !important;
}
.min630{
    min-height: 630px;
}
.posi_ab{
    position: absolute !important;
}
.top56{
    top: 56px !important;
}
.red_btn{
    background-color: #d41d1d;
    color: #fff;
}
.red_btn:disabled,
.btn_m_next:disabled{
    background-color: #EBECF0;
    color: #5E606B;
    cursor: not-allowed;
}
.white_btn{
    border: 1px solid #D0D2D9;
}
.gray_btn{
    background-color:  #EBECF0;
    color: #5E606B;
}
/* 체크박스 */
input[type="checkbox"]{
    /*display: none;*/
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
    margin: 0;
}
/* 팝업 전용 체크박스 스타일 */
.popup-checkbox {
    display: inline-block !important;  /* 공통 CSS override */
    opacity: 1 !important;
    width: 16px !important;
    height: 16px !important;
    vertical-align: middle !important;
    margin-right: 5px !important;
    cursor: pointer !important;
    position: static !important; /* absolute 제거 */
    margin-bottom: 3px !important;
}
.check_label {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    justify-content: center;
    user-select: none;
}
.check_img{
    display: block;
    cursor: pointer;
    background-image: url('/images/noCheck.png');
    background-size: cover;
}
input[type="checkbox"]:checked + .check_img{
    background-image: url('/images/check_red.png');
}
/* 셀렉트 박스 */
.select_box .ico_arrow{
    position: absolute;
    right: 12px;
    top: 15px;
    z-index: 0;
}
.select_box .ico_arrow img{
    width: 16px;
}
.select_box select{
    width: 100%;
    font-family: 'pretendard';
    border: 1px solid #EBECF0;
    line-height: 1.5rem;
    padding: 0.6875rem 0.75rem;
    border-radius: 6px;
    outline: none;
}
.select_box select:focus + .ico_arrow img{
    transform: rotate(180deg);
}
.m_select,.m_btn,.m_contents{
    display: none;
}
/* 로그인 */
.login{
    display: flex;
    height: calc(100% - 132px );
}
.login .login_logo_container{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50%;
}
.login .login_logo_container .logo_box{
    display: flex;
    align-items: end;
}
.login .login_logo_container .logo_box h1 img{
    max-width: 170px;
}
.login .login_logo_container .logo_box > div{
    position: relative;
}
.login .login_logo_container .logo_box > img{
    max-width: 1px;
    margin: 0 1.5rem;
}
.login .login_logo_container .logo_box h2{
    font-size: 1.375rem;
    line-height: 2.1875rem;
    font-weight: 700;
    margin-bottom: 8px;
}
.login .login_logo_container .logo_box p{
    font-size: 0.875rem;
    letter-spacing: 1px;
}
.login_form_container{
    display: flex;
    align-items: center;
}
.login_form_container > div{
    display: flex;
    flex-direction: column;
    max-width: 390px;
}
.login_form_container div > span:first-of-type{
    font-size: 2rem;
    line-height: 2.1875rem;
    letter-spacing: 1px;
    font-family: 'Outfit';
    margin-bottom: 2.375rem;
}
.login_form_container div > span:last-of-type{
    font-size: 0.875rem;
    line-height: 1.5rem;
    color: #929292;
}
.login_form_container form input[type="text"],
.login_form_container form input[type="password"]{
    width: 100%;
    border-width: 0 0 1px 0;
    border-color: #DDDDDD;
    padding: 15px 35px;
    box-sizing: border-box;
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 19px 19px;
    outline: none;
    margin-bottom: 22px;
}
.login_form_container form input[type="text"]{
    background-image: url('/images/ico_id.png');
}
.login_form_container form input[type="password"]{
    background-image: url('/images/ico_password.png');
}
.login_form_container form input[type="text"]::placeholder,
.login_form_container form input[type="password"]::placeholder{
    color: #1818184D;
    font-family: 'pretendard';
    font-size: 0.875rem;
    font-weight: 500;
}
.login_form_container form button{
    width: 100%;
    background-color: #d41d1d;
    color: #fff;
    letter-spacing: 2px;
    font-size: 1rem;
    font-weight: 700;
    padding: 18px 0;
    border-radius: 6px;
    margin-bottom: 15px;
}
.login_form_container form button.gray_btn{
    background-color: #EBECF0;
    color: #000;
    margin-bottom: 20px;
}
.login_form_container form .check_img{
    width: 15px;
    height: 15px;
}
.login_form_container form label{
    font-size: 0.8125rem;
    font-weight: 500;
    color: #111111;
    margin-bottom: 22px;
}
.login_footer{
    background-color: #343434;
    height: 132px;
    display: flex;
    align-items: center;
}
.login_footer > div{
    padding: 0 10%;
}
.login_footer > div > div{
    display: flex;
    align-items: center;
    gap: 10px;
}
.login_footer p{
    font-size: 0.8125rem;
    font-weight: 500;
    color: #989899;
    line-height: 24px;
}
.login_footer p:first-child span:first-child{
    margin-right: 8px;
}
.login_footer p:first-child span:nth-child(3){
    padding-left: 8px;
}
.line{
    display: inline-block;
    width: 1px;
    height: 12px;
    background-color: #989899;
}
/*  회원가입 */
.sign_up{
    height: 100%;
}
.sign_up header{
    border-bottom: 0;
}
.sign_up header .header_nav{
    display: none;
}
.sign_up .sign_up_wrap{
    max-width: 750px;
    margin: 0 auto;
    padding: 30px;
}
.sign_up .check_label {
    font-size: 1rem;
    line-height: 1.25rem;
    justify-content: left;
    margin-top: 20px;
}
.sin_up .check_label {    justify-content: left;}
.sign_up .tp_container{
    padding-top: 100px;
}
.sign_up .tp_container h2{
    font-size: 1.625rem;
    font-weight: 700;
    line-height: 1.5rem;
    color: #1B1B1F;
    text-align: center;
    margin-bottom: 44px;
}
.sign_up .tp_container .tp_textbox{
    border: 1px solid #D0D2D9;
    max-height: 330px;
    overflow-y: scroll;
    padding: 15px;
}
.sign_up .tp_container .tp_textbox::-webkit-scrollbar{
    width: 14px;
    background-color: #F4F4F4;
}
.sign_up .tp_container .tp_textbox::-webkit-scrollbar-thumb{
    background-color: #D6D8DC;
    border-radius: 50px;
}
.sign_up .tp_container .tp_textbox p{
    font-size: 1rem;
    line-height: 1.5rem;
}
.sign_up .check_label{
    font-size: 1rem;
    line-height: 1.25rem;
    margin-top: 20px;
}
.sign_up .check_label .check_img{
    width: 20px;
    height: 20px;
}
.sign_up .check_label .red_text{
    font-weight: 600;
}
.sign_up .check_label.fw500{
    font-weight: 500;
    margin-top: 30px;
}
.sign_up .btn_container{
    display: flex;
    justify-content: center;
    margin: 40px 0;
}
.sign_up .btn_container button{
    background-color: #000000;
    color: #fff;
    font-size: 1.125rem;
    font-weight: 700;
    padding: 18px;
    width: 100%;
    max-width: 24.375rem;
    border-radius: 6px;
}
.sign_up .sign_up_container{
    padding: 100px 30px 60px;
}
.sign_up .sign_up_container h2{
    font-size: 1.625rem;
    line-height: 1.5rem;
    font-weight: 700;
    margin-bottom: 12px;
    text-align: center;
}
.sign_up .sign_up_container h2 + p{
    line-height: 1.625rem;
    color: #5E606B;
    text-align: center;
}
.sign_up .sign_up_container form{
    margin: 70px 0;
}
.sign_up .sign_up_container form > div:not(:last-child){
    margin-bottom: 40px;
}
.sign_up .sign_up_container form > div .field_title{
    font-size: 1rem;
    line-height: 1.25rem;
    font-weight: 700;
    color: #1B1B1F;
    margin-bottom: 12px;
}
.sign_up .sign_up_container form > div .red_text:first-of-type{
    margin-top: 12px;
}
.sign_up .sign_up_container form > div > div{
    display: flex;
    gap: 10px;
    position: relative;
}
.sign_up .sign_up_container form input{
    width: 100%;
    padding: 14.5px 12px;
    box-sizing: border-box;
    border: 1px solid #EBECF0;
    border-radius: 6px;
    outline: none;
}
.sign_up .sign_up_container form input::placeholder{
    font-size: 1rem;
    font-family: 'pretendard';
}
.sign_up .sign_up_container form .red_text {
    color: #f02028 !important;
    line-height: 1.625rem;
}
.sign_up .sign_up_container form .check_btn {
    width: 160px;
    border: 1px solid #000000;
    padding: 14px 0;
    box-sizing: border-box;
    border-radius: 6px;
    color: #000000;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
}
.sign_up .sign_up_comp{
    height: calc(100% - 132px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
}
.sign_up .sign_up_comp > div h2{
    font-size: clamp(28px,2vw,40px);
    line-height: 3rem;
    font-weight: 600;
    margin-bottom: 16px;
    text-align: center;
}
.sign_up .sign_up_comp > div p{
    font-size: 1rem;
    line-height: 1.5rem;
    color: #1B1B1F;
    text-align: center;
}
.sign_up .sign_up_comp > div p span{
    font-weight: 700;
}
.sign_up .sign_up_comp > div .btn_container{
    display: flex;
    gap: 12px;
}
.sign_up .sign_up_comp > div .btn_container a{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 220px;
    border: 1px solid #d41d1d;
    padding: 18px 0;
    box-sizing: border-box;
    border-radius: 6px;
    color: #d41d1d;
    font-size: 1.125rem;
    line-height: 1.25rem;
    font-weight: 700;
}
.sign_up .sign_up_comp > div .btn_container button{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 220px;
    padding: 18px 0;
    box-sizing: border-box;
    border-radius: 6px;
    background-color: #CA0033;
    color: #fff;
    font-size: 1.125rem;
    line-height: 1.25rem;
    font-weight: 700;
}
/* 헤더 */
/* 상단 ON SALE 티커 */
.on_sale_ticker{
    background-color: #000;
    color: #fff;
    overflow: hidden;
}
.on_sale_ticker_inner {
    display: flex;
    align-items: center;
    gap: 24px;
    min-height: 40px;
    padding: 8px 24px;
    box-sizing: border-box;
    max-width: 952px;
}
.on_sale_ticker_label{
    display: flex;
    align-items: center;
    gap: 5px;
    flex-shrink: 0;
}
.on_sale_ticker_dot{
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #d41d1d;
}
.on_sale_ticker_title{
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
    color: #d41d1d;
    letter-spacing: 0.02em;
}
.on_sale_ticker_track{
    flex: 1;
    overflow: hidden;
    min-width: 0;
}
.on_sale_ticker_marquee{
    display: flex;
    align-items: center;
    gap: 32px;
    width: max-content;
    animation: onSaleTickerScroll 30s linear infinite;
}
.on_sale_ticker_marquee:hover{
    animation-play-state: paused;
}
.on_sale_ticker_item{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    color: inherit;
    text-decoration: none;
}
.on_sale_ticker_item:hover .on_sale_ticker_name{
    opacity: 0.85;
}
.on_sale_ticker_name{
    font-size: 14px;
    line-height: 20px;
    color: #fff;
}
.on_sale_ticker_rate{
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
    color: #d41d1d;
}
.on_sale_ticker_arrow{
    font-size: 10px;
    line-height: 1;
}
@keyframes onSaleTickerScroll{
    0%{ transform: translateX(0); }
    100%{ transform: translateX(-50%); }
}
header{
    /* margin-bottom: 1.5rem; */
    border-bottom: 1px solid #EBECF0;
}
header .header_top{
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 5rem;
    box-sizing: border-box;
    padding: 1rem 0;
}
header .header_top h1 a img{
    max-width: 101px;
}
header .header_top .header_list_container{
    display: flex;
    align-items: center;
}
header .header_top .header_list{
    display: flex;
    align-items: center;
}
header .header_top .header_list > li{
    padding: 0 10px;
}
header .header_top .header_list > li:not(:last-child){
    background-image: url('/images/line.png');
    background-repeat: no-repeat;
    background-position: center right;
}
header .header_top .header_list > li > a,
header .header_top .header_list > li > button{
    color: #53555A;
    font-size: 0.875rem;
    line-height: 1.5rem;
    font-weight: 400;
}
header .header_top .header_list .list_mypage{
    position: relative;
}
header .header_top .header_list .list_mypage .depth_mypage{
    display: flex;
    flex-direction: column;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 32px;
    z-index: 2;
    width: 100%;
    background-color: #fff;
    padding: 0.625rem 1rem;
    border: 1px solid #EBECF0;
    border-radius: 4px;
    box-shadow: 0 2px 8px 0 #0000001A;
}
header .header_top .header_list .list_mypage .depth_mypage li:not(:last-child){
    margin-bottom: 4px;
}
header .header_top .header_list .list_mypage .depth_mypage li a{
    font-size: 0.875rem;
    color: #8E939E;
    line-height: 1.5rem;
}
header .header_top .header_list .list_mypage .depth_mypage li a::before{
    content: '• ';
}
header .header_top .header_list .list_mypage .depth_mypage li a:hover{
    color: #5E606B;
    font-weight: 500;
}
header .header_top .header_list .btn_mypage{
    display: flex;
    align-items: center;
}
header .header_top .header_list .btn_mypage img{
    max-width: 0.625rem;
    margin-left: 0.375rem;
    transition: transform 0.3s ease;
}
header .header_top .btn_my_wallet{
    background-color: #d41d1d;
    color: #fff !important;
    border-radius:  6px;
    padding: 0.1875rem 1.25rem;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.5rem;
}
header .header_nav{
    display: flex;
    justify-content: space-between;
    padding: 1.5rem 0;
}
header  .nav_list{
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 11px 0 ;
}
header  .nav_list > li,
header  .nav_list > li > button{
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5rem;
}
header  .nav_list .list_exclusive{
    position: relative;
}

.dropdown-btn{
    width:140px;
    height:42px;
    border:1px solid #000000;
    border-radius:21px;
    background:#fff;
    padding:0 15px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    cursor:pointer;
    color:#555;
    font-size:14px;
}

.dropdown-btn i{
    color:#999;
    transition:.2s;
}

.dropdown-list{
    position:absolute;
    top:48px;
    left:0;
    width:100%;
    background:#fff;
    border:1px solid #ddd;
    border-radius:12px;
    box-shadow:0 5px 15px rgba(0,0,0,.1);
    list-style:none;
    margin:0;
    padding:5px 0;
    display:none;
    z-index:9999;
}

.dropdown-list li{
    padding:10px 15px;
    cursor:pointer;
    font-size:14px;
}

.select-area.active .dropdown-btn i{
    transform:rotate(180deg);
}
.select-area{
    position:relative;
    width:140px;
    margin-left:140px;
}
.white-text{color:#fff !important;}
.dropdown-btn{
    width:140px;
    height:42px;
    border:1px solid #000;
    border-radius:21px;
    background:#fff;
    padding:0 16px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    cursor:pointer;
    color:#555;
    font-size:14px;
}

/* CSS 화살표 */
.arrow{
    width:8px;
    height:8px;
    border-right:2px solid #666;
    border-bottom:2px solid #666;
    transform:rotate(45deg);
    transition:.2s;
    margin-top:-4px;
}

.select-area.active .arrow{
    transform:rotate(225deg);
    margin-top:4px;
}

.dropdown-list{
    display:none;
    position:absolute;
    top:48px;
    left:0;
    width:100%;
    margin:0;
    padding:6px 0;
    list-style:none;
    background:#fff;
    border:1px solid #ddd;
    border-radius:10px;
    box-shadow:0 5px 15px rgba(0,0,0,.12);
    z-index:9999;
}

.select-area.active .dropdown-list{
    display:block;
}

.dropdown-list li{
    padding:10px 16px;
    cursor:pointer;
    font-size:14px;
}

.dropdown-list li:hover{
    background:#f5f5f5;
}
header  .nav_list .btn_exclusive{
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 0 6px;
}
header  .nav_list .btn_exclusive img{
    max-width: 18px;
    height: 20px;
    object-fit: contain;
    transition: transform 0.3s ease;
}
header  .nav_list .depth_exclusive{
    position: absolute;
    z-index: 2;
    top: 32px;
    background-color: #fff;
    border: 1px solid #EBECF0;
    box-shadow: 0 2px 4px #00000026;
    border-radius: 4px;
    display: flex;
    padding: 6px 14px;
    box-sizing: border-box;
}
header  .nav_list .depth_exclusive li a{
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.5rem;
    color: #8E939E;
}
header .header_nav .nav_list .depth_exclusive li:first-child{
    background-image: url('/images/line.png');
    background-repeat: no-repeat;
    background-position: center right;
    padding-right: 8px;
}
header .header_nav .nav_list .depth_exclusive li:last-child{
    padding-left: 6px;
}
header .header_nav .nav_list .depth_exclusive li a:hover{
    font-weight: 500;
    color: #1B1B1F;
}
header .header_nav .nav_search{
    display: flex;
    gap: 12px;
}
header .header_nav .nav_search .select_box .custom-select-wrapper{
    width: 140px;
    font-size: 1rem;
    line-height: 1.5rem;
}
header .header_nav .nav_search .select_box .custom-select-wrapper .custom-select-box{
    padding: 11px 12px;
    width: 100%;
}
header .header_nav .nav_search .select_box .custom-select-wrapper .custom-select-text{
    width: calc(100% - 24px);
}
header .header_nav .nav_search .search_box{
    position: relative;
}
header .header_nav .nav_search .search_box input[type="search"]{
    font-family: 'pretendard';
    font-size: 1rem;
    border: 1px solid #EBECF0;
    line-height: 1.5rem;
    padding: 0.6875rem 3rem 0.6875rem 1rem;
    border-radius: 6px;
    width: 260px;
    box-sizing: border-box;
    outline: none;
}
header .header_nav .nav_search .search_box input[type="search"]::placeholder{
    font-size: 1rem;
}
header .header_nav .nav_search .search_box button{
    position: absolute;
    right: 0;
    top: 0;
    padding: 15px;
}

/* 모바일 헤더 */
.header_m_bar{
    display: none;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
}
.header_m_bar h1{
    max-width: 101px;
}
.header_m_bar h1 a img{
    max-width: 72px;
}
.header_m_bar button{
    width: 20px;
    height: 16px;
}

#swiperTop .swiper-slide {
    transition: transform 0.5s ease, opacity 0.5s ease;
    opacity: 1;
}
#swiperTop .swiper-slide.hide {
    transform: translateY(-50px);
    opacity: 0;
}
#swiperTop .swiper-slide.show {
    transform: translateY(0);
    opacity: 1;
}
/* header .header_m{
    display: none;
}
header .header_m .header_m_bar{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
}
header .header_m .header_m_bar h1{
    max-width: 101px;
}
header .header_m .header_m_bar button{
    width: 20px;
    height: 16px;
}
header .header_m .header_m_menu{
    display: none;
    background-color: #fff;
    z-index: 999;
    width: 100%;
    flex-direction: column;
    position: fixed;
    top: 0;
    left: 0;
    padding-top: 60px;
    box-sizing: border-box;
    height: 100vh;
}
header .header_m .header_m_menu.active{
    display: block;
}
header .header_m .header_m_menu > .x_btn{
    position: absolute;
    top: 10px;
    right: 10px;
}
header .header_m .header_m_menu .header_m_top{
    border: 1px solid #E1E3E8;
    padding: 30px;
    margin-bottom: 15px;
}
header .header_m .header_m_menu .header_m_top .hi_user{
    margin-bottom: 20px;
}
header .header_m .header_m_menu .header_m_top .hi_user p{
    font-size: clamp(16px,1vw,18px);
    line-height: 22px;
    letter-spacing: 1px;
    font-weight: 500;

}
header .header_m .header_m_menu .header_m_top .hi_user p span{
    font-size: clamp(20px,1.3vw,24px);
    font-weight: 700;
}
header .header_m .header_m_menu .header_m_top .button_box{
    display: flex;
    justify-content: space-between;
}
header .header_m .header_m_menu .header_m_top .button_box button{
    border: 2px solid #E1E3E8;
    padding: 10px;
    box-sizing: border-box;
    width: 90px;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 500;
}
header .header_m .header_m_menu .header_m_top .button_box button img{
    width: 50px;
    margin: 0 auto 6px;
}
header .header_m .header_m_menu .header_m_list .m_list > li button{
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    padding: 10px 0;
    font-weight: 600;
}
header .header_m .header_m_menu .header_m_list .m_list > li button img{
    width: 10px;
    height: 7px;
    transition: transform 0.3s ease;

}
header .header_m .header_m_menu .header_m_list .m_list > li .exclusive_list{
    flex-direction: column;
}
header .header_m .header_m_menu .header_m_list .m_list > li .exclusive_list li{
    padding: 10px;
}
header .header_m .header_m_menu .popup{
    display: block;
    background-color: skyblue;
    padding: 20px;
    box-sizing: border-box;
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 3rem) !important;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
}
header .header_m .header_m_menu .popup.active{
    display: none;
}
header .header_m .header_m_menu .popup .x_btn2{
    position: absolute;
    top: 10px;
    right: 10px;
} */

/* 푸터 */

footer .footer_top > div{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18.5px 3rem;
}
footer .footer_top .footer_top_list{
    display: flex;
    align-items: center;
    gap: 1.125rem;
}
footer .footer_top .footer_top_list li a{
    color: #6E6E71;
    font-size: 0.875rem;
}
footer .footer_top .footer_sns_list{
    display: flex;
    align-items: center;
    gap: 1.25rem;
}
footer .footer_main{
    padding: 2.5rem 0;
    border-top: 1px solid #EBECF0;
}
footer .footer_main .footer_logo_container{
    display: flex;
    justify-content: space-between;
    margin-bottom: 13px;
}
footer .footer_main .footer_logo_container img{
    max-width: 190px;
    object-fit: contain;
}
footer .footer_main .footer_logo_container .select_box .custom-select-wrapper{
    width: 270px;
    font-size: 0.875rem;
    color: #6E6E71;
}
footer .footer_main .footer_logo_container .select_box .custom-select-wrapper .custom-select-box{
    padding: 14px 18px;
    line-height: 1.5rem;
    width: 270px;
}
footer .footer_main .footer_logo_container .select_box .custom-select-wrapper .custom-select-text{
    width: 100%;
    box-sizing: border-box;
}
footer .footer_main .footer_info_container{
    color: #6E6E71;
    line-height: 1.25rem;
    font-size: 0.875rem;
}
footer .footer_main .footer_info_container > p:first-of-type{
    margin-bottom: 13px;
}
footer .footer_main .footer_info_container ul{
    margin-bottom: 12px;
}
footer .footer_main .footer_info_container > p:nth-of-type(2){
    margin-bottom: 22px;
}

/* 슬라이더 */

.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after,
.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{
    display: none;
}
.swiper-button-disabled img{
    opacity: 0.3 !important;
}
#swiper1 .swiper-slide img{
    vertical-align: middle;
    max-height: 620px;
}
#swiper1 .swiper-pagination{
    background-color: #FFFFFF33;
    padding: 4px 0;
    border-radius: 15px;
    width: 75px !important;
    left: auto !important;
    right: 0 !important;
    bottom: 44px !important
}
#swiper1 .swiper-pagination-current{
    color: #fff;
    font-weight: 600;
    font-size: 0.875rem;
    line-height: 1.5rem;
}
#swiper1 .swiper-pagination-total{
    color: #FFFFFFCC;
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1.5rem;
}
#swiper1 .swiper-pagination-fraction::before {
    content: "/";
    color: #fff;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
}
#swiper1 .swiper-pagination-fraction {
    color: transparent !important;
}
#swiper1 .swiper_btn_box{
    position: relative;
    max-width: 85%;
    margin: 0 auto;
}
#swiper1 .swiper_button_contianer{
    display: flex;
    gap: 16px;
    position: absolute;
}
#swiper1 .swiper-button-next,#swiper1 .swiper-button-prev{
    left: 0 !important;
    right: auto !important;
    width: 48px !important;
    height: 48px !important;
    margin-top: 0 !important;
    top: auto !important;
    bottom: 44px;
}
#swiper1 .swiper-button-next{
    left: 64px !important;
}
.swiper_container .swiper_btn_box{
    width: 100%;
    height: 48px;
    position: absolute;
    z-index: 11;
    top: 30%;
    max-width: 1440px;
    left: 50%;
    transform: translateX(-50%);
}
.review_area .swiper_container .swiper_btn_box{
    top: 50%;
}
.swiper_container .swiper-button-next,.swiper_container .swiper-button-prev{
    width: 48px !important;
    height: 48px !important;
    background-color: #fff;
    border-radius: 30px;
}
.swiper_container .swiper-button-next{
    right: -15px;
}
.swiper_container .swiper-button-prev{
    left: -15px;
}
#detail_swiper .swiper-slide{
    margin-bottom: 22px;
    border-radius: 2px;
    border: 1px solid transparent;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    background-color: transparent;
    height: 440px;
}
#detail_swiper .swiper-slide img{
    width: 100%;
    height: 100%;
    border-radius: 2px;
    object-fit: contain;
}
#detail_swiper .swiper_btn_box{
    position: relative;
    max-width: 125px;
    height: 14px;
    margin: 0 auto;
}
#detail_swiper .swiper_btn_box .swiper-button-next,
#detail_swiper .swiper_btn_box .swiper-button-prev{
    height: 14px;
    top: 50% !important;
    margin: 0 !important;
    z-index: 99;
}
#detail_swiper .swiper_btn_box .swiper-button-next{
    transform: translateY(-50%);
}
#detail_swiper .swiper_btn_box .swiper-button-prev{
    transform: translateY(-50%) rotate(180deg);
}
#detail_swiper .swiper_btn_box img{
    max-width: 7px;
}
#detail_swiper .swiper_btn_box .swiper-pagination{
    position: static;
    color: #8E939E;
    font-size: 13px;
    display: block;
}
#detail_swiper .swiper-pagination-current{
    font-weight: 600;
    color: #1B1B1F;
}
/* 컨텐츠 */
/* 메인페이지 */
.main_contents{
    padding: 0;
}
.main_contents h2{
    color: #1B1B1F;
    font-size: clamp(32px,2vw,40px);
    font-weight: 900;
    line-height: 3rem;
    font-family: "Big Shoulders", sans-serif;
}
.main_contents .tab_btn{
    margin: 1.25rem 0 2.625rem 0;
}
.main_contents .tab_btn,
.list_contents .tab_btn{
    display: flex;
    gap: 10px;
    overflow-x: auto;
}
.main_contents .tab_btn button,
.list_contents .tab_btn button{
    padding: 0.5rem 1rem;
    font-weight: 500;
    font-size: clamp(14px,1vw,16px);
    line-height: clamp(18px,2vw,26px);
    color: #1B1B1F;
    box-sizing: border-box;
    border: 1px solid #EBECF0;
    border-radius: 0.5rem;
    background-color: #fff;
}
.main_contents .event_area .wrap,
.main_contents .recommend_area .wrap,
.main_contents .lanking_area .wrap,
.main_contents .download_coupon_area .wrap,
.main_contents .review_area .wrap{
    position: relative;
}
.main_contents .lanking_area #thisWeekendTab{
    position: relative;
}

.main_contents .more_btn{
    display: flex;
    align-items: center;
    gap: 6px;
    position: absolute;
    right: 3rem;
    top: 20px;
    font-size: 0.875rem;
    line-height: 1.5rem;
    color: #1B1B1F;
}
.main_contents .reference_date{
    position: absolute;
    right: 3rem;
    top: 64px;
    font-size: 0.875rem;
    line-height: 1.5rem;
}
.main_contents .more_btn img{
    object-fit: contain;
    width: 8px;
    height: 8px;
}
.main_contents .banner{
    position: relative;
    max-width: 1160px;
    height: 140px;
    margin: 110px auto;
}
.main_contents .banner .banner_a{
    display: flex;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.main_contents .banner .banner_a a{
    width: 50%;
}
.product_list > ul{
    display: flex;
    flex-wrap: wrap;
    /* justify-content: space-between; */
    gap: 24px;
}
.product_list > ul > li{
    width: calc((100% - (24px * 4)) / 5);
}
/* .event_area .product_list .product_card:hover{
    transform: scale(1.03);
    -webkit-transform: scale(1.03);
    -moz-transform: scale(1.03);
    -ms-transform: scale(1.03);
    -o-transform: scale(1.03);
} */
.product_list .product_card .thumnail{
    margin-bottom: 16px;
    position: relative;
    width: 100%;
    padding-top: 133.33%;
    overflow: hidden;
    border-radius: 6px;
    background-color: #1B1B1F;
}
.product_list .product_card .thumnail img{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.main_contents .product_list .product_card .description .product_title{
    margin-bottom: 8px;
    height: 52px;
    overflow: hidden;
}
.product_list .product_card .description .product_title strong{
    font-size: clamp(14px,1vw,18px);
    font-weight: 500;
    line-height: clamp(18px,2vw,26px);
    color: #1B1B1F;
    display: -webkit-box;
    -webkit-line-clamp: 2; /* 2줄까지 보여주고 말줄임 */
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.product_list .product_card .description .product_info .date{
    color: #1B1B1F;
    /* font-size: 1rem; */
    font-size: clamp(12px,1vw,16px);
    line-height: 1.5rem;
}
.product_list .product_card .description .product_info .location{
    color: #5E606B;
    /* font-size: 1rem; */
    font-size: clamp(12px,1vw,16px);
    line-height: 1.5rem;
}
.product_list .product_card .description .product_button{
    margin-top: 16px;
    padding: 0 6px;
}
.product_list .product_card .description .product_button a{
    display: block;
    background-color: #d41d1d;
    color: #fff;
    border-radius: 8px;
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.5rem;
    text-align: center;
    padding: 12px 0;
}
/* 탭 */
.tab_contents{
    display: none;
}
.tab_active,.tab_active2{
    display: block;
}
.main_contents .tab_btn button.tab_active,
.list_contents .tab_btn button.tab_active{
    background-color: #d41d1d;
    color: #fff;
    font-weight: 600;
    border: none;
}
/* 다운로드 쿠폰 */
.download_coupon_area {
    margin: 100px auto 0;
}
.download_coupon_area .recommend_area_subtitle{
    margin-bottom: 0;
}
.download_coupon_area .download_coupon_container{
    margin-top: 38px;
    position: relative;
}
.download_coupon_card{
    display: block;
    width: 100%;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    text-align: left;
}
.download_coupon_img_wrap{
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    overflow: hidden;
    border-radius: 8px;
    background-color: #F5F6F8;
}
.download_coupon_img_wrap img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.download_coupon_badge,
.download_coupon_remain{
    position: absolute;
    left: 8px;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    line-height: 18px;
    font-weight: 600;
    color: #fff;
}
.download_coupon_badge{
    top: 8px;
    background-color: rgba(27, 27, 31, 0.75);
}
.download_coupon_remain{
    bottom: 8px;
    background-color: rgba(229, 45, 55, 0.9);
}
.download_coupon_popup_list{
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.download_coupon_popup_item{
    display: flex;
    gap: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #EBECF0;
}
.download_coupon_popup_item:last-child{
    border-bottom: none;
    padding-bottom: 0;
}
.download_coupon_popup_img{
    flex-shrink: 0;
    width: 160px;
    height: 90px;
    border-radius: 8px;
    overflow: hidden;
    background-color: #F5F6F8;
}
.download_coupon_popup_img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.download_coupon_popup_info{
    flex: 1;
}
.download_coupon_popup_info h4{
    font-size: 18px;
    line-height: 26px;
    font-weight: 700;
    margin-bottom: 8px;
}
.download_coupon_popup_dc{
    font-size: 16px;
    line-height: 24px;
    font-weight: 700;
    color: #E52D37;
    margin-bottom: 6px;
}
.download_coupon_popup_usage,
.download_coupon_popup_period,
.download_coupon_popup_code{
    font-size: 14px;
    line-height: 22px;
    color: #5E606B;
    margin-bottom: 4px;
}
.download_coupon_popup_btn{
    margin-top: 12px;
    padding: 10px 20px;
    border-radius: 6px;
    font-size: 14px;
    line-height: 20px;
    font-weight: 600;
}
.download_coupon_popup_btn:disabled{
    opacity: 0.5;
    cursor: not-allowed;
}

/* 메인 추천상품 섹션 */
.recommend_area{
    margin-bottom: 90px;
}
.recommend_area h2{
    margin-bottom: 0;
}
.recommend_area_subtitle{
    margin: 8px 0 0;
    font-size: clamp(14px, 1vw, 16px);
    line-height: 1.5rem;
    color: #000;
    font-weight: 400;
}
.recommend_super_sale .recommend_area_subtitle{
    margin-bottom: 0;
}
.recommend_super_sale .tab_btn{
    margin-top: 1.25rem;
}
.recommend_area .product_list{
    margin-top: 0;
}
.recommend_area .product_list > ul{
    margin-top: 0;
}
.recommend_product_item[hidden],
.recommend_product_item.is-rate-filter-hidden{
    display: none !important;
}
.recommend_empty_message{
    margin-top: 24px;
    text-align: center;
    color: #5E606B;
    font-size: 0.875rem;
}
.product_list .product_card .thumnail .recommend_discount_badge {
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: auto;
    min-width: 0;
    max-width: calc(100% - 16px);
    height: 18px;
    padding: 0 5px;
    border-radius: 0px;
    background-color: #d41d1d;
    color: #fff;
    font-family: "Pretendard Variable", Pretendard, sans-serif;
    font-size: 10px;
    font-weight: 600;
    line-height: 18px;
    letter-spacing: -0.02em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: center;
}
.main_contents .product_list .product_card .description .product_price{
    margin-top: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
}
.main_contents .product_list .product_card .description .product_price > div{
    display: flow;
    align-items: end;

}
.fs12 {font-size:12px !important;}
.main_contents .product_list .product_card .description .product_price .discount_rate {
    font-size: 32px;
    line-height: 1.625rem;
    font-weight: 700;
    color: #d41d1d;
    letter-spacing: -4px;
    gap:10px;
    display: flex;
}
.main_contents .product_list .product_card .description .product_price .price_origin{
    font-size: clamp(12px,1vw,14px);
    line-height: 1.5rem;
    color: #8E939E;
    text-decoration: line-through;
    text-align:right;
}
.main_contents .product_list .product_card .description .product_price .price_after_disc{
    font-size: clamp(16px,1vw,20px);
    line-height: 1.625rem;
    font-weight: 700;
    color: #1B1B1F;
}
.main_contents .product_list .product_card .description .product_info{
    margin-top: 4px;
}
.main_contents .product_list .product_card .description .product_info .recommend_sub_name{
    display: block;
    font-size: clamp(12px,1vw,14px);
    line-height: 1.4rem;
    font-weight: 400;
    color: #5E606B;
}
.main_contents .product_list .product_card .description .product_price .recommend_grade,
.last_call_price_sale .recommend_grade{
    margin-right: 6px;
    font-weight: 600;
    color: #1B1B1F;
}
.last_call_price_sale {
    font-size: clamp(18px, 1.4vw, 22px);
    font-weight: 700;
    line-height: 1.5rem;
    color: #1B1B1F;
    padding-top: 6px;
}
/* MD PICK 아래 이벤트 큰 배너 */
.main_event_banner_area{
    margin: 0 auto 110px;
}
.main_event_banner_list{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}
.main_event_banner_card{
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 8px;
    background-color: #1B1B1F;
    min-height: 220px;
    color: inherit;
    text-decoration: none;
}
.main_event_banner_card img{
    width: 100%;
    height: 100%;
    min-height: 220px;
    object-fit: cover;
    display: block;
}
.main_event_banner_text{
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 20px 24px;
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.72) 100%);
    color: #fff;
}
.main_event_banner_text strong{
    display: block;
    font-size: clamp(18px,1.5vw,24px);
    line-height: 1.4;
    font-weight: 700;
    margin-bottom: 6px;
}
.main_event_banner_text p{
    font-size: clamp(13px,1vw,16px);
    line-height: 1.5;
    opacity: 0.92;
}
.main_event_banner_card--nolink{
    cursor: default;
}

/* LAST CALL 가로형 카드 */
.recommend_last_call .last_call_list{
    margin-top: 2.625rem;
}
.recommend_last_call h2{
    margin-bottom: 0;
}
.last_call_list > ul{
    display: flex;
    flex-direction: column;
    gap: 16px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.last_call_list > ul > li,
.last_call_item{
    width: 100%;
    max-width: 100%;
    flex: none;
}
.last_call_card{
    display: flex;
    gap: 20px;
    padding: 16px;
    border: 1px solid #EBECF0;
    border-radius: 8px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    transition: box-shadow 0.2s ease;
}
.last_call_card:hover{
    box-shadow: 0 4px 16px rgba(27, 27, 31, 0.08);
}
.last_call_thumb {
    flex-shrink: 0;
    width: 140px;
    height: 186px;
    border-radius: 2px;
    overflow: hidden;
    background: #1B1B1F;
}
.last_call_thumb img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.last_call_body{
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.last_call_badge{
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    border-radius: 0px;
    font-size: 12px;
    font-weight: 700;
    line-height: 18px;
}
.last_call_badge--deal{
    background: #d41d1d;
    color: #fff;
}
.last_call_badge--countdown{
    background: #1B1B1F;
    color: #fff;
    font-variant-numeric: tabular-nums;
}
.last_call_title{
    font-size: clamp(16px, 1.2vw, 18px);
    font-weight: 700;
    line-height: 1.5rem;
    color: #1B1B1F;
}
.last_call_place{
    font-size: 14px;
    line-height: 1.375rem;
    color: #1B1B1F;
}
.last_call_period{
    font-size: 13px;
    line-height: 1.25rem;
    color: #8E939E;
}
.last_call_price_row{
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.last_call_discount {
    font-size: 28px;
    font-weight: 700;
    color: #d41d1d;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.last_call_price_group{
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
}
.last_call_price_origin{
    font-size: 13px;
    line-height: 1.25rem;
    color: #8E939E;
    text-decoration: line-through;
}
.last_call_price_sale{
    font-size: clamp(18px, 1.4vw, 22px);
    font-weight: 700;
    line-height: 1.5rem;
    color: #1B1B1F;
}

.download_coupon_dc{
    margin-top: 10px;
    font-size: 14px;
    line-height: 22px;
    font-weight: 700;
    color: #d41d1d;
}

/* vote */
.list_contents .vote_card_badge{
    display: inline-block;
    margin-left: 8px;
    padding: 2px 8px;
    font-size: 12px;
    font-weight: 600;
    color: #d41d1d;
    border: 1px solid #d41d1d;
    border-radius: 999px;
    vertical-align: middle;
}
.vote_empty_msg{
    margin-top: 40px;
    text-align: center;
    color: #737680;
    font-size: 16px;
}
.vote_detail_contents{
    padding: 3rem 3rem 5rem;
}
.vote_detail_contents .vote_detail_title{
    color: #1B1B1F;
    font-size: clamp(32px,2vw,40px);
    font-weight: 700;
    line-height: 3rem;
    letter-spacing: -0.018em;
}
.vote_banner{
    margin-bottom: 24px;
    border-radius: 12px;
    overflow: hidden;
    background: #F5F6F8;
}
.vote_banner img{
    display: block;
    width: 100%;
    max-height: 320px;
    object-fit: cover;
}
.vote_period{
    margin-top: 8px;
    color: #737680;
    font-size: 15px;
}
.vote_status_notice{
    margin: 16px 0;
    padding: 12px 16px;
    background: #FFF5F5;
    border: 1px solid #FFD6D6;
    color: #B42318;
    border-radius: 8px;
    font-size: 14px;
}
.vote_content{
    margin: 24px 0;
    line-height: 1.7;
    color: #1B1B1F;
}
.vote_content img{
    max-width: 100%;
    height: auto;
}
.vote_options{
    margin: 24px 0;
}
.vote_option_item{
    margin-bottom: 12px;
    padding: 16px;
    border: 1px solid #D0D2D9;
    border-radius: 8px;
    background: #fff;
}
.vote_option_item.is_selected,
.vote_option_item.is_mine{
    border-color: #E60012;
    background: #FFF8F8;
}
.vote_option_label{
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-size: 16px;
}
.vote_option_row{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
}
.vote_option_text{
    font-size: 16px;
    font-weight: 600;
}
.vote_my_pick{
    font-style: normal;
    font-size: 12px;
    color: #E60012;
}
.vote_option_meta{
    font-size: 14px;
    color: #737680;
    white-space: nowrap;
}
.vote_option_bar_wrap{
    width: 100%;
    height: 8px;
    background: #ECEEF2;
    border-radius: 999px;
    overflow: hidden;
}
.vote_option_bar{
    height: 100%;
    background: #E60012;
    border-radius: 999px;
}
.vote_total{
    margin: 16px 0 24px;
    font-size: 15px;
    color: #1B1B1F;
}
.vote_actions{
    display: flex;
    gap: 12px;
}
/* 관람후기 */
.review_area{
    margin: 140px auto 110px ;
}
.review_area .review_container{
    display: flex;
    justify-content: space-between;
    gap: 2.75rem;
    margin-top: 38px;
}
.review_area .review_container .review_card{
    display: flex;
    gap: 16px;
    justify-content: space-between;
}
.review_area .review_container .review_card .text_area{
    /* width: 54.69%; */
}
.review_area .review_container .review_card .text_area .review_name{
    font-size: 0.875rem;
    line-height: 1.5rem;
    color: #5E606B;
}
.review_area .review_container .review_card .text_area .review_title{
    /* font-size: 1.25rem; */
    font-size: clamp(18px,1.3vw,20px);
    line-height: 1.625rem;
    font-weight: 700;
    color: #1B1B1F;
    margin-bottom: 10px;
}
.review_area .review_container .review_card .text_area p{
    font-size: 1rem;
    font-size: clamp(14px,1vw,16px);
    /* line-height: 1.5rem; */
    line-height: clamp(20px,1.3vw,24px);
    color: #1B1B1F;
    margin-bottom: 12px;
    /* max-height: 144px; */
    max-height: 115px;
    overflow-y: auto;
}
.review_area .review_container .review_card .text_area .rating_box{
    display: flex;
    align-items: center;
    gap: 8px;
}
.review_area .review_container .review_card .text_area .rating_box img{
    max-width: 16px;
}
.review_area .review_container .review_card .text_area .rating_box span{
    font-size: 0.875rem;
    line-height: 1.5rem;
    font-weight: 600;
}
.review_area .review_container .review_card .img_area{
    width: 250px;
    height: 250px;
    display: flex;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    border-radius: 6px;
}
.review_area .review_container .review_card .img_area img{
    width: 100%; /* 250px -> 20% */
    /*height: 100%;*/
}
/* 리스트 페이지 */
.list_contents{
    padding: 3.875rem 3rem 0;
}
.list_contents h2{
    color: #1B1B1F;
    font-size: clamp(32px,2vw,40px);
    font-weight: 700;
    line-height: 3rem;
    letter-spacing: -0.018em;
}
.list_contents .tab_btn{
    margin-top: 1.25rem;
}
.list_contents .tab_btn button{
    font-size: clamp(14px,1vw,16px);
}
.list_contents .list_tab_container{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    margin-top: 8px;
}
/* .list_contents .list_tab_container .tab_sort_option{
    display: flex;
    align-items: center;
} */
.list_contents .list_tab_container .tab_sort_option > ul{
    display: flex;
    align-items: center;
}
.list_contents .list_tab_container .tab_sort_option > ul li:first-child{
    padding: 0 10px 0 0;
}
.list_contents .list_tab_container .tab_sort_option > ul li:not(:first-child){
    padding: 0 10px;
}
.list_contents .list_tab_container .tab_sort_option > ul li:not(:last-child){
    background-image: url('/images/line.png');
    background-repeat: no-repeat;
    background-position: center right;
}
.list_contents .list_tab_container .tab_sort_option > ul li button{
    color: #737680;
    font-size: 1rem;
    line-height: 1.5rem;
}
.list_contents .list_tab_container .tab_sort_option > ul li button.active{
    font-weight: 600;
    color: #1B1B1F;
}
.list_contents .list_tab_container .tab_select_view{
    display: flex;
    align-items: center;
    gap: 10px;
}
.list_contents .list_tab_container .tab_select_view .select_box{
    width: 163px;
}
.list_contents .list_tab_container .tab_select_view .select_box .custom-select-box{
    width: 163px;
}
.list_contents .list_tab_container .tab_select_view .select_box .custom-select-text{
    width: calc(163px - 24px);
    box-sizing: border-box;
}
.list_contents .list_tab_container .tab_select_view .select_box select{
    padding: 0.5rem 2rem 0.5rem 0.75rem;
    font-size: 1rem;
    line-height: 1.5rem;
}
.list_contents .list_tab_container .tab_select_view .select_box .ico_arrow{
    top: 12px;
}
.list_contents .list_tab_container .tab_select_view .tab_view_option{
    display: flex;
    align-items: center;
}
.list_contents .list_tab_container .tab_select_view .tab_view_option button{
    border: 1px solid #646464;
}
.list_contents .list_tab_container .tab_select_view .tab_view_option button.grid_view{
    padding: 11px;
    border-radius: 0px;
    border-right: 0;
}
.list_contents .list_tab_container .tab_select_view .tab_view_option button.list_view{
    padding: 13px 10.5px 12px;
    border-radius: 0px;
    border-left: 0;

}
.list_contents .list_tab_container .tab_select_view .tab_view_option button.grid_view.active,
.list_contents .list_tab_container .tab_select_view .tab_view_option button.list_view.active{
    background-color: #ffedec;
    border: 1px solid #ff463c;
}
/* 그리드로 보기 */
.list_contents .product_list{
    margin-top: 42px;
}
.list_contents .product_list > ul > li{
    width: calc((100% - (32px * 3)) / 5);
}
/* .list_contents .product_list > ul > li .product_card .img_box{
    position: relative;
}
.list_contents .product_list > ul > li .product_card .img_box .product_label{
    position: absolute;
    bottom: -190px;
} */
.list_contents .product_list .product_card .thumnail{
    padding-top: 112.6%;
    height:50px
}
.list_contents .product_list .description .product_info .discount{
    font-size: clamp(14px,1vw,16px);
    margin: 2px 0 8px;
    color: #1B1B1F;
    line-height: 1.625rem;
    height: 26px;
}
.list_contents .product_list .description .product_price{
    margin-top: 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.list_contents .product_list .description .product_price > div{
    display: flex;
    align-items: center;
}
.list_contents .product_list .description .product_price .discount_rate{
    /* font-size: 1.125rem; */
    font-size: clamp(16px,1vw,18px);
    line-height: 1.625rem;
    font-weight: 700;
    color: #d41d1d;
}
.list_contents .product_list .description .product_price .price_origin{
    /* font-size: 0.875rem; */
    font-size: clamp(12px,1vw,14px);
    line-height: 1.5rem;
    color: #8E939E;
    text-decoration: line-through;
    margin-left: 4px;
}
.list_contents .product_list .description .product_price .price_after_disc{
    /* font-size: 1.5rem; */
    font-size: clamp(20px,1.3vw,24px);
    line-height: 1.625rem;
    font-weight: 700;
    white-space: nowrap;
}
.list_contents .product_list .description .product_label{
    margin-top: 14px;
}

/* 리스트로 보기 */
.list_contents .product_list.list_view::before{
    content: '';
    display: block;
    width: 100%;
    height: 0px;
    background-color: #EBECF0;
    margin: 10px 0 35px;
}
.list_contents .product_list.list_view{
    margin-top: 0;
}
.list_contents .product_list.list_view ul{
    display: block;
}
.list_contents .product_list.list_view > ul > li{
    width: 100%;

}
.list_contents .product_list.list_view > ul > li:not(:last-child){
    margin-bottom: 24px;
    border-bottom:1px solid #dcdcdc
}
.list_contents .product_list.list_view > ul > li .product_card{
    display: flex;
    position: relative;
    padding-bottom: 24px;
}
/* .list_contents .product_list.list_view > ul > li .product_card .img_box .product_label{
    left: 180px;
    bottom: 0;
} */
.list_contents .product_list.list_view > ul > li .product_card .thumnail{
    padding-top: 0;
    /* margin: 0 30PX 0 0; */
    width: 150px;
    min-width: 150px;
    height: 168px;
    max-height: 168px;
    margin-bottom: 0;
}
.list_contents .product_list.list_view > ul > li .product_card  .description{
    padding: 6px 0 0 30px;
}
.list_contents .product_list.list_view .description .product_price{
    display: block;
    margin-top: 0;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
.list_contents .product_list.list_view .description .product_price .price_after_disc{
    margin-top: 6px;
}
.list_contents .product_list .product_card{
    position: relative;
}
.list_contents .product_list .img_box .product_label{
    position: absolute;
    bottom: 0;
}
.list_contents .product_list .img_box.b42 .product_label{
    bottom: 42px;
}
.list_contents .product_list .description .product_info{
    padding-bottom: 36px;
    margin-top: 10px;
}
.list_contents .product_list.list_view .img_box .product_label{
    bottom: 52px;
    left: 180px;
}
.list_contents .product_list.list_view > ul > li .product_card .description{
    max-width: 460px;
}
.list_contents .product_list.list_view .description .product_info{
    padding-bottom: 0;
}
.list_contents .product_list .product_card .description .product_title{
    height: 52px;
}
/* 페이지네이션 */
.list_contents .pagination{
    margin: 68px 0 110px;
}
.detail_contents .pagination{
    margin-top: 36px;
}
.pagination{
    display: flex;
    justify-content: center;
}
.pagination ul{
    display: flex;
    align-items: center;
    gap: 8px;
}
.pagination a{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    color: #5E606B;
}
.pagination .prev,
.pagination .next{
    background-image: url('/images/btn_pagination2.png');
    border: 0px solid #D0D2D9;
    background-repeat: no-repeat;
    background-position: center center;
    border-radius: 6px;
}
.pagination .prev{
    transform: rotate(180deg);
}
.cs_service .pagination ul{
    gap: 6px;
}
.cs_service .pagination a{
    width: 28px;
    height: 28px;
    font-size: 15px;
    font-weight: 500;
    font-family: Pretendard, "Noto Sans KR", Arial, sans-serif;
}
.cs_service .pagination .prev,
.cs_service .pagination .next{
    background-image: url('/images/pagination_chevron.svg') !important;
    background-size: 20px 20px;
    border: 0;
}
.cs_service .pagination .prev{
    transform: none;
}
.cs_service .pagination .next{
    transform: rotate(180deg);
}
.cs_service .pagination .first,
.cs_service .pagination .last{
    background-image: url('/images/pagination_double.svg');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 20px 20px;
    border-radius: 6px;
}
.cs_service .pagination .first{
    transform: none;
}
.cs_service .pagination .last{
    transform: rotate(180deg);
}
.cs_service .pagination .page-active a{
    color: #F02028;
    font-weight: 600;
}
.pagination .page-active a{
    color: #d41d1d;
    font-weight: 600;
}
/* 디테일페이지 */
.detail_contents{
    padding: 57px 3rem 110px;
}
.detail_contents .detail_wrapper{
    display: flex;
    gap: 35px;
    justify-content: space-between;
}
.detail_contents .detail_container{
    max-width: 860px;
    flex: 1;
    /* width: 68%; */
}
.detail_contents > div .detail_info{
    display: flex;
    gap: 1.5rem;
    padding-bottom: 130px;
}
.detail_contents > div .detail_info .detail_swiper_container{
    max-width: 330px;
    flex-shrink: 0;
}
.detail_contents > div .detail_info .detail_info_container .product_label{
    margin-bottom: 16px;
}
.detail_contents > div .detail_info .detail_info_container .detail_title{
    margin-bottom: 34px;
}
.detail_contents > div .detail_info .detail_info_container .detail_title h2{
    font-weight: 700;
    font-size: clamp(18px,2vw,26px);
    line-height: 2.1875rem;
    color: #1B1B1F;
}
.detail_contents .detail_info .detail_info_container .detail_title h2 + span{
    color: #5E606B;
    font-size: 0.875rem;
    line-height: 1.625rem;
}
.detail_contents .detail_info .detail_info_container .detail_info_box > table th{
    text-align: left;
    padding: 4px 0;
    font-size: 1rem;
    line-height: 1.625rem;
    font-weight: 500;
    white-space: nowrap;
}
.detail_contents .detail_info .detail_info_container .detail_info_box > table td{
    font-size: 1rem;
    line-height: 1.625rem;
    padding-left: 2rem;
}
.detail_contents .detail_info .detail_info_container .detail_info_box > table td span{
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.625rem;
    display: flex;
    align-items: center;
    gap: 6px;
}
.detail_contents .detail_info .detail_info_container .detail_info_box > table td span img{
    max-width: 5px;
}
.detail_contents .detail_info .detail_info_container .detail_info_box > table td > div table th{
    font-size: 0.875rem;
    line-height: 1.625rem;
    color: #5E606B;
}
.detail_contents .detail_info .detail_info_container .detail_info_box > table td > div table td{
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.625rem;
    padding-left: 3.125rem;
}
.detail_contents .detail_casting > div{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.detail_contents .detail_casting > div h3{
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.625rem;
}
.detail_contents .detail_casting > div button{
    border: 1px solid #D0D2D9;
    border-radius: 6px;
    padding: 10px 16px;
    box-sizing: border-box;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.25rem;
}
.detail_contents .detail_casting dl{
    display: flex;
    flex-wrap: wrap;
    gap: 26px;
    max-height: 162px;
    overflow-y: hidden;
    margin-top: 34px;
}
.detail_contents .detail_casting dl > div{
    /* width: calc((100% - (10px * 6)) / 7); */
}
.detail_contents .detail_casting dl dt{
    width: 100px;
    height: 100px;
    overflow: hidden;
    border-radius: 10px;
    position: relative;
    margin-bottom: 10px;
}
.detail_contents .detail_casting dl dt img{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.detail_contents .detail_casting dl dd{
    text-align: center;
}
.detail_contents .detail_casting dl dd:first-of-type{
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.625rem;
}
.detail_contents .detail_casting dl dd:last-of-type{
    font-size: 1rem;
    font-size: 0.875rem;
    color: #5E606B;
    line-height: 1.625rem;
}
.detail_contents .detail_casting > button{
    display: flex;
    gap: 10px;
    justify-content: center;
    width: 100%;
    border: 1px solid #EBECF0;
    border-radius: 10px;
    padding: 16px 0;
    font-size: 1rem;
    line-height: 1.625rem;
    margin-top: 40px;
}
.detail_contents .detail_casting > button img{
    max-width: 6px;
    transform: rotate(90deg);
    object-fit: contain;
}
.detail_contents .detail_tab_container .tab_btn{
    display: flex;
}
.detail_contents .detail_tab_container .tab_btn button{
    width: 100%;
    border-bottom: 1px solid #cdcdcd;
    color: #757575;
    padding: 10px 0;
    font-weight: 600;
    font-size: clamp(14px,1vw,16px);
    line-height: clamp(18px,2vw,26px);
}
.detail_contents .detail_tab_container .tab_btn button.tab_active{
    border: 0px solid #1B1B1F;
    border-bottom: 2px solid #000;
    color: #000;
    font-weight:700 ;
}
.detail_contents .detail_tab_container > div{
    margin-top: 50px;
}
.detail_contents .detail_tab_container > div h3{
    font-size: clamp(18px,1.3vw,20px);
    line-height: clamp(18px,2vw,26px);
    font-weight: 700;
    margin: 50px 0 24px 0;
}
.detail_contents .detail_tab_container p,
.detail_contents .detail_tab_container ul li{
    font-size: clamp(14px,1vw,16px);
    line-height: clamp(18px,2vw,26px);
    color: #5E606B;
}
.detail_contents .detail_tab_container #playInfoTab .red_text{
    font-weight: 600;
}
.detail_contents .detail_tab_container #playInfoTab table th{
    width: 25%;
}
.detail_contents .detail_tab_container table{
    width: 100%;
    margin-top: 20px;
}
.detail_contents .detail_tab_container table th{
    background-color: #FAFAFA;
    color: #5E606B;
    text-align: left;
    white-space: nowrap;
}
.detail_contents .detail_tab_container table th,
.detail_contents .detail_tab_container table td{
    border: 1px solid #EBECF0;
    font-size: clamp(14px,1vw,16px);
    line-height: 1.5rem;
    padding: 12px 16px;
    vertical-align: middle;
}
.detail_contents .detail_tab_container ol > li:not(:last-of-type){
    margin-bottom: 20px;
}
.detail_contents .detail_tab_container table + ul{
    margin-top: 20px;
}
.detail_contents .product_list > ul > li{
    width: calc((100% - (26px * 3)) / 4);
}
.detail_contents .detail_container #sellerInquiryTab .textarea_container .red_text:last-of-type{
    margin-bottom: 24px;
}
.textarea{
    position: relative;
    height: 240px;
}
.textarea textarea{
    outline: none;
    font-family: 'pretendard';
    resize: none;
    border: 1px solid #D0D2D9;
    border-radius: 6px;
    width: 100%;
    height: 240px;
    padding: 16px;
    font-size: 1rem;
    line-height: 1.5rem;
    box-sizing: border-box;
}
.textarea p{
    position: absolute;
    right: 16px;
    bottom: 12px;
    font-size: 0.8125rem;
    line-height: 1.25rem;
}
.detail_contents .detail_container #sellerInquiryTab .textarea_container .btn_container{
    display: flex;
    justify-content: end;
}
.detail_contents .detail_container #sellerInquiryTab .textarea_container .btn_container button{
    background-color: #d41d1d;
    color: #fff;
    padding: 10px 16px;
    border-radius: 6px;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.25rem;
    margin-top: 16px;
}
.detail_contents .detail_container #sellerInquiryTab .inquiry_list_container{
    margin-top: 40px;
}
.detail_contents .detail_container .graybox{
    background-color: #F5F5F7;
    padding: 10px 14px;
    margin-bottom: 8px;
}
.detail_contents .detail_container .graybox > span{
    font-size: 1rem;
    line-height: 1.625rem;
}
.detail_contents .detail_container .graybox > span .red_text{
    font-weight: 700;
}
.detail_contents .detail_container #sellerInquiryTab .inquiry_list_container .inquiry_Q_box{
    padding: 20px 0;
    border-bottom: 1px solid #F1F1F2;
}
.detail_contents .detail_container #sellerInquiryTab .inquiry_list_container .inquiry_Q_box .inquiry_Q_title{
    font-size: 1rem;
    line-height: 1.625rem;
    color: #1B1B1F;
    font-weight: 600;
    margin-bottom: 4px;
}
.detail_contents .detail_container #sellerInquiryTab .inquiry_list_container .inquiry_Q_box .inquiry_Q_title + div{
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 14px;
}
.detail_contents .detail_container #sellerInquiryTab .inquiry_list_container .inquiry_Q_box .inquiry_Q_title + div span{
    font-size: 0.75rem;
    line-height: 1.125rem;
    font-weight: 500;
}
.detail_contents .detail_container #sellerInquiryTab .inquiry_list_container .inquiry_Q_box .inquiry_Q_title + div img{
    width: 1px;
}
.detail_contents .detail_container #sellerInquiryTab .inquiry_list_container .inquiry_Q_box .inquiry_Q_contents{
    color: #1B1B1F;
}
.detail_contents .detail_container #sellerInquiryTab .inquiry_list_container .inquiry_A_box{
    background-color: #FAFAFA;
    padding: 20px;
}
.detail_contents .detail_container #sellerInquiryTab .inquiry_list_container .inquiry_A_box > div{
    display: flex;
    align-items: center;
    margin-bottom: 8px;
}
.detail_contents .detail_container #sellerInquiryTab .inquiry_list_container .inquiry_A_box > div img:first-of-type{
    width: 20px;
    height: 20px;
}
.detail_contents .detail_container #sellerInquiryTab .inquiry_list_container .inquiry_A_box > div img:last-of-type{
    width: 1px;
    margin: 0 6px;
}
.detail_contents .detail_container #sellerInquiryTab .inquiry_list_container .inquiry_A_box > div .mdlabel{
    border: 1px solid #d41d1d;
    font-size: 0.75rem;
    line-height: 1.125rem;
    font-weight: 500;
    border-radius: 30px;
    color: #d41d1d;
    padding: 2px 8px;
    margin-left: 4px;
}
.detail_contents .detail_container #sellerInquiryTab .inquiry_list_container .inquiry_A_box > div span{
    font-size: 0.75rem;
    line-height: 1.125rem;
    font-weight: 500;
}
/* 관람후기 탭 */
.detail_contents .detail_container #reviewTab .review_regist_container{
    margin-bottom: 40px;
}
.detail_contents .detail_container #reviewTab .review_regist_container .img_upload_container{
    display: flex;
    gap: 14px;
    margin-top: 26px;
}
.detail_contents .detail_container #reviewTab .review_regist_container .img_upload_container .img_upload_img{
    width: 100px;
    height: 100px;
    overflow: hidden;
    border-radius: 4px;
    border: 1px solid #E1E3E8;
    box-sizing: border-box;
}
.detail_contents .detail_container #reviewTab .review_regist_container .img_upload_container .img_upload_img img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.detail_contents .detail_container #reviewTab .review_regist_container .img_upload_container .img_upload_text p{
    font-size: 0.8125rem;
    line-height: 1.5rem;
}
.detail_contents .detail_container #reviewTab .review_regist_container .img_upload_container .img_upload_text p:first-of-type{
    margin-bottom: 2px;
}
.detail_contents .detail_container #reviewTab .review_regist_container .img_upload_container .img_upload_text button{
    background-color: #F5F5F7;
    color: #5E606B;
    font-size: 0.8125rem;
    line-height: 1.5rem;
    font-weight: 500;
    border-radius: 6px;
    padding: 8px 30px;
    margin-top: 10px;
}
.detail_contents .detail_container #reviewTab .review_regist_container .star_rate_container{
    display: flex;
    justify-content: space-between;
    margin-top: 26px;
}
.detail_contents .detail_container #reviewTab .review_regist_container .star_rate_container > div{
    display: flex;
    align-items: center;
    gap: 14px;
}
.detail_contents .detail_container #reviewTab .review_regist_container .star_rate_container .star_rating{
    display: flex;
    gap: 8px;
}
.detail_contents .detail_container #reviewTab .review_regist_container .star_rate_container .star_rating .star{
    width: 26px;
    height: 26px;
    background-image: url('/images/star_rate_gray.png');
    background-repeat: no-repeat;
    cursor: pointer;
    background-size: cover;
}
.detail_contents .detail_container #reviewTab .review_regist_container .star_rate_container .star_rating .star.on{
    background-image: url('/images/star.png');
    background-repeat: no-repeat;
    background-size: cover;
}
/* .detail_contents .detail_container #reviewTab .review_regist_container .star_rate_container .star_rating img{
    width: 26px;
} */
.detail_contents .detail_container #reviewTab .review_regist_container .star_rate_container .star_rating_text{
    font-size: clamp(20px,1.3vw,22px);
    line-height: 1.75rem;
    color: #8E939E;
    white-space: nowrap;
}
.detail_contents .detail_container #reviewTab .review_regist_container .star_rate_container .star_rating_text .bold{
    color: #1B1B1F;
}
.detail_contents .detail_container #reviewTab .review_regist_container .star_rate_container button{
    background-color: #d41d1d;
    border-radius: 6px;
    color: #fff;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.25rem;
    padding: 10px 16px;
}

.detail_contents .detail_container #reviewTab .review_list_container .graybox{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.detail_contents .detail_container #reviewTab .review_list_container .graybox .sort_button{
    display: flex;
    align-items: center;
    gap: 10px;
}
.detail_contents .detail_container #reviewTab .review_list_container .graybox .sort_button button{
    font-size: 0.875rem;
    line-height: 1.25rem;
    color: #8E939E;
}
.detail_contents .detail_container #reviewTab .review_list_container .graybox .sort_button button.active{
    font-weight: 600;
    color: #1B1B1F;
}
.detail_contents .detail_container #reviewTab .review_list_container .graybox .sort_button img,
.detail_contents .detail_container #reviewTab .review_list_container .review_box .review_user_info img{
    width: 1px;
    height: 12px;
}
.detail_contents .detail_container #reviewTab .review_list_container .review_box{
    padding: 20px 0;
    border-bottom: 1px solid #F1F1F2;
}
.detail_contents .detail_container #reviewTab .review_list_container .review_box .review_user_info{
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px;
}
.detail_contents .detail_container #reviewTab .review_list_container .review_box .review_user_info .user_label{
    background-color: #F5F5F7;
    color: #1B1B1F;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.125rem;
    padding: 2px 8px;
    border: 1px solid #1B1B1F;
    border-radius: 30px;
}
.detail_contents .detail_container #reviewTab .review_list_container .review_box .review_user_info span{
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.125rem;
    color: #5E606B;
}
.detail_contents .detail_container #reviewTab .review_list_container .review_box .review_contents_box{
    display: flex;
    justify-content: space-between;
    gap: 10px;
}
.detail_contents .detail_container #reviewTab .review_list_container .review_box .review_contents_box .review_contents{
    overflow: hidden;
    height: auto;
}
.detail_contents .detail_container #reviewTab .review_list_container .review_box .review_contents_box .review_contents.expanded{
    height: 50px;
}
.detail_contents .detail_container #reviewTab .review_list_container .review_box .review_contents_box .review_contents p{
    color: #1B1B1F;
    font-size: clamp(14px,1vw,16px);
    line-height: 1.5rem;
    max-width: 595px;
}
.detail_contents .detail_container #reviewTab .review_list_container .review_box .review_contents_box .review_contents_img{
    margin-top: 10px;
}
.detail_contents .detail_container #reviewTab .review_list_container .review_box .review_contents_box .review_contents_img img{
    width: auto;
    max-width: 595px;
    object-fit: contain;
}
.detail_contents .detail_container #reviewTab .review_list_container .review_box .review_contents_box .expand_btn{
    display: flex;
    align-items: center;
    font-size: 0.8125rem;
    line-height: 1.125rem;
    margin-top: 12px;
}
.detail_contents .detail_container #reviewTab .review_list_container .review_box .review_contents_box .expand_btn.expanded img{
    transform: rotate(180deg);
}
.detail_contents .detail_container #reviewTab .review_list_container .review_box .review_contents_box .expand_btn span{
    margin-left: 2px;
}
.detail_contents .detail_container #reviewTab .review_list_container .review_box .review_contents_box .expand_btn img{
    width: 9px;
    height: 9px;
    object-fit: contain;
    margin-left: 6px;
}
.detail_contents .detail_container #reviewTab .review_list_container .review_box .review_contents_box .star_rate_box{
    display: flex;
    flex-direction: row-reverse;
    gap: 8px;
    align-items: start;
}
.detail_contents .detail_container #reviewTab .review_list_container .review_box .review_contents_box .star_rate_box .star_rate_img{
    display: flex;
    gap: 4px;
}
.detail_contents .detail_container #reviewTab .review_list_container .review_box .review_contents_box .star_rate_box .star_rate_img img{
    width: 18px;
    height: 18px;
}
.detail_contents .detail_container #reviewTab .review_list_container .review_box .review_contents_box .star_rate_box .like_box{
    display: flex;
    align-items: center;
    gap: 6px;
}

.detail_contents .detail_container #reviewTab .review_list_container .review_box .review_contents_box .star_rate_box .like_box > span{
    font-size: 0.8125rem;
    line-height: 0;
    color: #1B1B1F;
}
.detail_contents .detail_container #reviewTab .review_list_container .review_box .review_contents_box .star_rate_box .like_box > img{
    width: 1px;
    height: 12px;
}
.detail_contents .detail_container #reviewTab .review_list_container .review_box .review_contents_box .star_rate_box .like_box .like_btn{
    width: 18px;
}
.detail_contents .detail_container #reviewTab .review_list_container .review_box .review_contents_box .star_rate_box .like_box .like_btn img{
    width: 100%;
}
.detail_contents .detail_container #reviewTab .review_list_container .review_box .review_contents_box .star_rate_box .like_box .stop_btn{
    font-size: 0.8125rem;
    line-height: 1.125rem;
    color: #737680;
}
#bookingInfoTab table th{
    width: 25%;
}
.detail_contents .side_menu{
    width: 364px;
    position: sticky;
    top: 57px;
    align-self: flex-start;
    background-color: #fff;
}
.detail_contents .side_menu > div {
    border: 1px solid #cdcdcd;
    border-radius: 0px;
    width: 100%;
}
.detail_contents .side_menu  .product_area{
    padding: 12px;
    box-sizing: border-box;
    margin-top: 18px;
}
.detail_contents .side_menu  .product_area .product_box{
    display: flex;
    align-items: center;
    /* gap: 1.875rem; */
    justify-content: space-between;
    padding: 10px 0;
}
.detail_contents .side_menu  .product_area .product_box:not(:first-of-type){
    border-top: 1px solid #F1F1F2;
}
.detail_contents .side_menu .product_area .product_text{
    max-width: 210px;
    font-size: 0.875rem;
    line-height: 1.625rem;
    color: #1B1B1F;
}
.detail_contents .side_menu .product_area .product_text h3{
    font-weight: 700;

}
.detail_contents .side_menu .product_area .product_text ul{
    display: flex;
    gap: 3px;
    flex-direction: column;
}
/* .detail_contents .side_menu .product_area .product_text ul li{
    font-size: ;
} */
.detail_contents .side_menu .product_area .product_text p{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.detail_contents .side_menu .product_area .product_btn button{
    border: 1px solid #d41d1d;
    border-radius: 6px;
    font-size: 0.875rem;
    line-height: 1.25rem;
    color: #d41d1d;
    padding: 10px 17.5px;
    box-sizing: border-box;
    width: 62px;
}
.detail_contents .buy_ticket_btn{
    display: none;
    background-color: #d41d1d;
    border-radius: 6px;
    color: #fff;
    padding: 14px 0;
    width: calc(100% - 2rem);
    box-sizing: border-box;
    /*margin-top: 18px;*/
}
.detail_contents .side_menu .calendar_area{
    position: relative;
}
.detail_contents .side_menu .calendar_area .m_calendar_close_btn{
    display: none;
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #EBECF0;
    width: 50px;
    height: 8px;
    border-radius: 4px;
    border: 1px solid #dbdcdf;
}
.detail_b_contents{
    background-color: #F5F5F7;
}

.detail_b_contents .booking_contents{
    flex: 1;
}
.detail_b_contents .booking_header{
    background-color: #000000;
}
.detail_b_contents .booking_header > div{
    display: flex;
    justify-content: space-between;
    max-width: 1280px;
    padding: 16px 3rem;
}
.detail_b_contents .booking_header ul,
.detail_b_contents .booking_header ol{
    display: flex;
    align-items: center;
}
.detail_b_contents .booking_header ul li{
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5rem;
}
.detail_b_contents .booking_header li:not(.booking_name){
    color: #8E939E;
}
.detail_b_contents .booking_header .booking_name,
.detail_b_contents .booking_header li.active{
    color: #fff;
}
.detail_b_contents .booking_header .booking_name{
    position: relative;
}
.detail_b_contents .booking_header .booking_name::before{
    content: '';
    background-color: #8E939E80;
    width: 1px;
    height: 12px;
    display: inline-block;
    /* position: absolute;
    top: 50%;
    transform: translateY(-50%); */
    margin: 0 12px;
}
.detail_b_contents .booking_header ol li{
    font-size: 0.875rem;
    line-height: 1.5rem;
}
.detail_b_contents .booking_header ol li:not(:first-child)::before{
    content: '';
    color: #707070;
    display: inline-block;
    background-image: url('/images/ico_next.png');
    width: 5px;
    height: 9px;
    background-position: center;
    background-repeat: no-repeat;
    margin: 0 14px;
}
.detail_b_contents .booking_contents .booking_wrap{
    width: 75%;
    box-sizing: border-box;
}
.detail_b_contents .booking_contents{
    /* padding: 50px 0; */
    display: flex;
    padding-bottom: 0px;
}
.detail_b_contents .booking_contents h2{
    font-size: 16px;
    line-height: 1.5rem;
    font-weight: 700;
    color: #1B1B1F;
    margin: 0px 0 24px;
    display: flex;
    align-items: center;
    gap: 16px;
    padding-bottom: 16px;
}
/* .detail_b_contents .booking_contents h2::before{
    content: '';
    background-image: url('/images/ico_prev.png');
    width: 13px;
    height: 24px;
    display: inline-block;
    margin-right: 14px;
} */
.detail_b_contents .booking_contents .booking_form_container > div{
    background-color: #fff;
    padding: 22px 40px 0;
    border: 1px solid #EBECF0;
    border-radius: 8px;
    box-shadow: 0 4px 4px 0 #0000000A;
}
.detail_b_contents .booking_contents .booking_form_container > div:not(:last-child) {
    margin-bottom: 20px;
    padding: 0px;
    border: 0px;
    box-shadow: none;
}
.detail_b_contents .booking_contents .booking_form_container > div h3 button{
    font-size: clamp(18px,1.3vw,20px);
    line-height: 1.5rem;
    font-weight: 700;
    padding-bottom: 22px;
    width: 100%;
    text-align: left;
    display: flex;
    justify-content: space-between;
    align-items: center;
    outline: none;
}
.detail_b_contents .booking_contents .booking_form_container > div h3 button img{
    width: 12px;
    height: 7px;
    transition: transform 0.3s ease;
    transform: rotate(180deg);
}
.detail_b_contents .booking_contents .booking_form_container > div h3 + div{
    flex-direction: column;
    padding: 24px 0 0;
    border-top: 1px solid #EBECF0;
}
.detail_b_contents .booking_contents .booking_form_container .form_row{
    flex-wrap: wrap;
}
.detail_b_contents .booking_contents .booking_form_container .form_row,
.detail_b_contents .booking_contents .booking_form_container .form_row .label_wrap{
    display: flex;
    align-items: center ;
}
.detail_b_contents .booking_contents .booking_form_container .form_row input{
    border: 1px solid #EBECF0;
    border-radius: 6px;
    padding: 12px 10.5px;
    box-sizing: border-box;
    outline: none;
    /* width: 100%; */
    width: 420px;
}
.detail_b_contents .booking_contents .booking_form_container .form_row .custom-select-wrapper{
    /* width: 100%;
    max-width: 420px; */
}
.detail_b_contents .booking_contents .booking_form_container .form_row .custom-select-box{
    width: 420px;
    box-sizing: border-box;
}
.detail_b_contents .booking_contents .booking_form_container .form_row .custom-select-text{
    width: 100%;
    box-sizing: border-box;
}
.detail_b_contents .booking_contents .booking_form_container .form_row .red_text{
    margin-left: 14px;
    font-size: clamp(14px,1vw,16px);
    width: 165px;
}
.detail_b_contents .booking_contents .booking_form_container .form_row:not(:last-child){
    margin-bottom: 18px;
}
.detail_b_contents .booking_contents .booking_form_container .form_row button{
    padding: 10px 16px;
    border-radius: 6px;
    font-size: clamp(12px,1vw,14px);
    line-height: 1.25rem;
    font-weight: 600;
    margin-left: 10px;
}
.detail_b_contents .booking_contents .booking_form_container label:not(.white_wrap){
    white-space: nowrap;
}
.detail_b_contents .booking_contents .booking_form_container .user_info_box label{
    font-size: clamp(14px,1vw,16px);
    line-height: 100%;
    font-weight: 500;
    color: #737680;
    margin-right: 16px;
    width: 42px;
}
.detail_b_contents .booking_contents .booking_form_container .guest_info_box label{
    font-size: clamp(14px,1vw,16px);
    line-height: 100%;
    font-weight: 500;
    color: #737680;
    margin-right: 16px;
    width: 87px;
}
.detail_b_contents .booking_contents .booking_form_container .guest_info_box .user_info_wrap{
    display: flex;
}
.detail_b_contents .booking_contents .booking_form_container .guest_info_box .guest_wrap{
    display: flex;
    align-items: end;
}
.detail_b_contents .booking_contents .booking_form_container .guest_info_box .guest_wrap:not(:last-of-type){
    margin-bottom: 40px;
}
.detail_b_contents .booking_contents .booking_form_container .guest_info_box .btn_add_guest{
    border-radius: 6px;
    padding: 10px 20px;
    height: 41px;
    margin-left: 10px;
}
.detail_b_contents .booking_contents .booking_form_container .guest_info_box .guest_box{
    width: 100%;
    max-width: 530px;
}
.detail_b_contents .booking_contents .booking_form_container .user_info_box p{
    font-size: clamp(14px,1vw,16px);
    line-height: 100%;
    color: #1B1B1F;
}
.detail_b_contents .booking_contents .booking_form_container .sale_info_box .form_row label{
    font-size: clamp(14px,1vw,16px);
    line-height: 100%;
    font-weight: 500;
    color: #1B1B1F;
    margin-right: 16px;
    width: 42px;
}
.detail_b_contents .booking_contents .booking_form_container .sale_info_box .form_row .coupon{
    margin-right: 14px;
}
.detail_b_contents .booking_contents .booking_form_container .sale_info_box .form_row button{
    background-color: #FFF0F1;
    color: #d41d1d;
}
.detail_b_contents .booking_contents .booking_form_container  .payment_method_box h3 button{
    cursor: auto;
}
.detail_b_contents .booking_contents .booking_form_container .payment_method_box h3 button img{
    display: none;
}
.detail_b_contents .booking_contents .booking_form_container .payment_method_box .form_row button{
    border: 1px solid #D0D2D9;
    background-color: #fff;
    color: #1B1B1F;
}
.detail_b_contents .booking_contents .booking_form_container .payment_method_box .card_tab .form_row label{
    font-size: clamp(14px,1vw,16px);
    margin-right: 16px;
    font-weight: 500;
    width: 42px;
}
.detail_b_contents .booking_contents .booking_form_container .payment_method_box .card_tab .form_row .fs13{
    font-size: 0.8125rem;
    margin-right: 16px;
}
.detail_b_contents .booking_contents .booking_form_container .payment_method_box .tab_menu{
    display: flex;
    margin-bottom: 24px;
}
.detail_b_contents .booking_contents .booking_form_container .payment_method_box .tab_menu button{
    font-size: clamp(14px,1vw,16px);
    line-height: 100%;
    width: 100%;
    max-width: 90px;
    border-bottom: 1px solid #D9D9D9;
    padding: 7px 0;
}
.detail_b_contents .booking_contents .booking_form_container .payment_method_box .tab_menu button.active{
    font-weight: 600;
    border-bottom: 2px solid #d41d1d;
}
.detail_b_contents .booking_contents .booking_form_container .user_agreement_box ul li:not(:last-of-type){
    margin-bottom: 12px;
}
.detail_b_contents .booking_contents .booking_form_container .user_agreement_box .all_agree_check label{
    font-size: clamp(14px,1vw,16px);
    line-height: 1.5rem;
    font-weight: 500;
    margin-bottom: 16px;
}
.detail_b_contents .booking_contents .booking_form_container .user_agreement_box .drop_down_box{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}
.detail_b_contents .booking_contents .booking_form_container .user_agreement_box .drop_down_box label{
    font-size: clamp(12px,1vw,14px);
    line-height: 1.25rem;
    align-items: start;
}
.detail_b_contents .booking_contents .booking_form_container .user_agreement_box .check_img{
    width: 20px;
    height: 20px;
    min-width: 20px;
}
.detail_b_contents .booking_contents .booking_form_container .user_agreement_box .drop_down_box label .red_text{
    font-weight: 600;
    white-space: nowrap;
}
.onestop_contents .booking_contents .booking_form_container .user_agreement_box .drop_down_box button{
    flex: initial !important;
}
.detail_b_contents .booking_contents .booking_form_container .user_agreement_box .drop_down_box button{
    flex: 1;
    height: 100%;
    display: flex;
    justify-content: end;
}
.detail_b_contents .booking_contents .booking_form_container .user_agreement_box .drop_down_box button img{
    width: 20px;
    height: 20px;
    transition: transform 0.3s ease;
    -webkit-transition: transform 0.3s ease;
    -moz-transition: transform 0.3s ease;
    -ms-transition: transform 0.3s ease;
    -o-transition: transform 0.3s ease;
}
.detail_b_contents .booking_contents .booking_form_container .user_agreement_box .depth_terms{
    padding: 10px 30px;
    max-height: 300px;
    overflow-y: auto;
    background-color: #FAFAFA;
    margin-top: 12px;
}
.detail_b_contents .booking_contents .booking_form_container .user_agreement_box .depth_terms p{
    font-size: clamp(14px,1vw,16px);
    line-height: 1.5rem;
}
.detail_b_contents .booking_contents .booking_form_container .select_seats_box{
    padding: 16px 40px;
}
.detail_b_contents .booking_contents .booking_form_container .select_seats_box .form_box{
    display: flex;
    gap: 32px;
    align-items: center;
}
.detail_b_contents .booking_contents .booking_form_container .select_seats_box .form_box .price_box{
    flex: 1;
    display: flow;
    justify-content: space-between;
    align-items: center;
    padding: 18.5px 0;
}
.detail_b_contents .booking_contents .booking_form_container .select_seats_box .form_box:not(:last-child){
    border-bottom: 1px solid #F5F5F7;
}
.detail_b_contents .booking_contents .booking_form_container .select_seats_box .form_box .price_box .title {
    font-size: 14px;
    line-height: 20px;
    font-weight: 600;
    display: block;
    color: #323232;
}
.detail_b_contents .booking_contents .booking_form_container .select_seats_box .form_box .price_box .price {
    font-size: 16px;
    line-height: 100%;
    color: #000000;
    font-weight: 700;
}
.booking_form_container{border-bottom:1px solid #f0f0f0}
.detail_b_contents .booking_contents .booking_form_container .select_seats_box .form_box .quantity_box{
    display: flex;
    gap: 8px;
    align-items: center;
}
.detail_b_contents .booking_contents .booking_form_container .select_seats_box .form_box .quantity_box button{
    width: 24px;
    height: 24px;
    border-radius: 4px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.detail_b_contents .booking_contents .booking_form_container .select_seats_box .form_box .quantity_box button img{
    width: 10px;
}
.detail_b_contents .booking_contents .booking_form_container .select_seats_box .form_box .quantity_box .btn_plus{
    background-color: #f8f8f8;
}
.detail_b_contents .booking_contents .booking_form_container .select_seats_box .form_box .quantity_box .btn_minus{
    background-color: #f8f8f8;
}
.detail_b_contents .booking_contents .booking_form_container .select_seats_box .form_box .quantity_box span{
    font-size: 14px;
    font-weight: 500;
    line-height: 100%;
    width: 20px;
    text-align: center;
}
.detail_b_contents .booking_contents .booking_form .form_row .label_wrap{
    width: 100%;
}
.detail_b_contents .booking_contents .booking_form .form_row .label_wrap input{
    width: 100%;
    max-width: 420px;
}
.detail_b_contents .booking_contents .booking_form .form_row .custom-select-wrapper,
.detail_b_contents .booking_contents .booking_form .form_row .custom-select-box{
    width: 100%;
    max-width: 420px;
}

.detail_b_contents .booking_contents .booking_form .form_row{
    flex-wrap: nowrap;
}
.detail_b_contents .menu_wrapper{
    margin-top: 50px;
}
.detail_b_contents .sticky_menu{
    /* width: 30%; */
    width: 20%;
    min-width: 366px;
    height: fit-content;
    background-color: #fff;
    padding: 25px;
    box-sizing: border-box;
    position: fixed;
    top: 233px;
    right: 0;
    z-index: 3;
    bottom:0;

    height:auto;
    /* border-top: 2px solid #2F3037; */
}
.detail_b_contents .sticky_menu h4,
.os_payment_menu2 h4{
    margin-bottom: 16px;
}
.detail_b_contents .sticky_menu h4 button,
.os_payment_menu2 h4 button{
    width: 100%;
    display: flex;
    justify-content: space-between;
    cursor: auto;
}
.detail_b_contents .sticky_menu h4 button p,
.os_payment_menu2 h4 button p{
    font-size: clamp(14px,1vw,16px);
    font-weight: 700;
    line-height: 1.25rem;
}
.detail_b_contents .sticky_menu h4 button img,
.os_payment_menu2 h4 button img{
    width: 12px;
    height: 7px;
    display: none;
}
.detail_b_contents .sticky_menu table tr th,
.os_payment_menu2 table tr th{
    text-align: left;
}
.detail_b_contents .sticky_menu .title_box,
.os_payment_menu2 .title_box{
    display: flex;
    gap: 0.875rem;
    padding: 0 32px 33px 0;
    border-bottom: 1px solid #8E939E33;
}
.detail_b_contents .sticky_menu .title_box img,
.os_payment_menu2 .title_box img{
    width: 80px;
}
.detail_b_contents  .sticky_menu .title_box .title_text_box,
.os_payment_menu2 .title_box .title_text_box{
    display: flex;
    flex-direction: column;
    /*justify-content: space-between;*/
    gap: 10px;
    max-width: 212px;
}
.detail_b_contents .sticky_menu .title_box .title_text_box h3,
.os_payment_menu2 .title_box .title_text_box h3{
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.25rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
}
.detail_b_contents .sticky_menu .title_box .title_text_box > div,
.os_payment_menu2 .title_box .title_text_box > div{
    display: flex;
    flex-direction: column;
}
.detail_b_contents .sticky_menu .title_box .title_text_box span,
.os_payment_menu2 .title_box .title_text_box span{
    font-size: 0.8125rem;
    line-height: 1.125rem;
    color: #737680;
}
.color_vip{
    color: #4D56FF;
}
.color_R{
    color: #05BE9F;
}
.detail_b_contents .sticky_menu .seats_box,
.os_payment_menu2 .seats_box{
    padding-top: 26px;
}
.detail_b_contents .sticky_menu .seats_box .seats_table_wrap table{
    width: 100%;
}
.detail_b_contents .sticky_menu .seats_box .seats_table_wrap table td{
    text-align: right;
}
.detail_b_contents .sticky_menu .seats_box .seats_table_wrap,
.os_payment_menu2 .seats_box .seats_table_wrap{
    padding-bottom: 28px;
    border-bottom: 1px solid #1B1B1F;
}
.detail_b_contents .sticky_menu .seats_box table th,
.os_payment_menu2 .seats_box table th{
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
}
.detail_b_contents .sticky_menu .seats_box table th{
    padding-right: 5px;
}
.detail_b_contents .sticky_menu .seats_box table td,
.os_payment_menu2 .seats_box table td{
    padding: 2px 8px;
    font-size: 0.875rem;
    line-height: 1.25rem;
}
.detail_b_contents .sticky_menu .payment_box,
.os_payment_menu2 .payment_box{
    padding: 2px 0;
}
.detail_b_contents .sticky_menu .payment_box table,
.os_payment_menu2 .payment_box table{
    width: 100%;
}
.detail_b_contents .sticky_menu .payment_box table th,
.os_payment_menu2 .payment_box table th{
    color: #5E606B;
    font-size: 0.8125rem;
    line-height: 1.25rem;
}
.detail_b_contents .sticky_menu .payment_box table td,
.os_payment_menu2 .payment_box table td{
    text-align: right;
    font-size: 0.8125rem;
    line-height: 1.25rem;
}
.detail_b_contents .sticky_menu .payment_box table .emphasis th,
.detail_b_contents .sticky_menu .payment_box table .emphasis td,
.os_payment_menu2 .payment_box table .emphasis th,
.os_payment_menu2 .payment_box table .emphasis td{
    padding-top: 14px;
}
.detail_b_contents .sticky_menu .payment_box table .emphasis th,
.os_payment_menu2 .payment_box table .emphasis th{
    color: #1B1B1F;
    font-weight: 600;
}
.detail_b_contents .sticky_menu .payment_box table .emphasis td,
.os_payment_menu2 .payment_box table .emphasis td{
    color: #d41d1d;
    font-size: 1.375rem;
    line-height: 1.25rem;
    font-weight: 700;
}
.detail_b_contents .sticky_menu .btn_container,
.os_payment_menu2 .btn_container{
    display: flex;
    gap: 10px;
}
.detail_b_contents .sticky_menu .btn_container button,
.os_payment_menu2 .btn_container button{
    width: 100%;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.25rem;
    padding: 14px 0;
    border-radius: 6px;
}
.detail_b_contents .sticky_menu .btn_container .white_btn,
.os_payment_menu2 .btn_container .white_btn{
    border: 1px solid #D0D2D9;
    background-color: #fff;
}
.detail_b_contents .sticky_menu .btn_container .red_btn,
.os_payment_menu2 .btn_container .red_btn{
    background-color: #d41d1d;
    color: #fff;
}
.detail_b_contents .booking_contents .booking_success{
    /* width: 70%; */
    background-color: #fff;
    border: 1px solid #EBECF0;
    border-radius: 8px;
    box-shadow: 0 4px 4px 0 #0000000A;
    /* padding: 58px 96px 70px; */
    padding: 68px 40px;
}
.detail_b_contents .booking_contents .booking_success .booking_s_text{
    border-bottom: 1px solid #EBECF0;
    padding-bottom: 42px;
}
.detail_b_contents .booking_contents .booking_success p{
    color: #1B1B1F;
    font-size: clamp(20px,1.3vw,26px);
    line-height: 1.5rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 10px;
}
.detail_b_contents .booking_contents .booking_success span{
    font-size: clamp(12px,1vw,14px);
    line-height: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.detail_b_contents .booking_contents .booking_success span a{
    font-weight: 700;
    display: inline;
    margin: 0 2px;
}
.detail_b_contents .booking_contents .booking_success .booking_s_contents{
    display: flex;
    justify-content: space-between;
    gap: 50px;
    padding: 42px 0 0;
    margin: 0 auto;
}
.detail_b_contents .booking_contents .booking_success .booking_s_contents table th,
.detail_b_contents .booking_contents .booking_success .booking_s_contents table td{
    font-size: clamp(14px,1vw,16px);
    line-height: clamp(18px,2vw,26px);
    text-align: left;
}
.detail_b_contents .booking_contents .booking_success .booking_s_contents table th{
    color: #5E606B;
    width: 88px;
}
.detail_b_contents .booking_contents .booking_success .booking_s_contents table td{
    padding: 10px 6px;
}
.detail_b_contents .booking_contents .booking_success .booking_s_contents img{
    width: 106px;
    margin: 0 auto;
}
.detail_b_contents .booking_contents .booking_success .booking_s_contents .payment_s_table span{
    display: inline;
}
/* 예매완료 좌석요약: .booking_success span{display:flex} 로 줄바꿈되는 것 방지 */
#seatSummary,
#seatSummary .seat-summary-grade,
#seatSummary .seat-summary-count,
#seatSummary .seat-summary-sep{
    display: inline !important;
    width: auto !important;
    justify-content: unset !important;
    align-items: unset !important;
    font-weight: 400;
    white-space: normal;
    word-break: keep-all;
}
#seatSummary .seat-summary-grade{
    font-weight: 700;
}
#seatSummary .seat-summary-sep{
    color: #B4B4B4;
    font-weight: 400;
}
.detail_b_contents .booking_contents .booking_success .booking_s_contents .seat_location_btn{
    display: flex;
    align-items: center;
    color: #5E606B;
    gap: 8px;
    font-size: 14px;
    line-height: 20px;
    margin: 14px 0 0 96px;
}
.detail_b_contents .booking_contents .booking_success .booking_s_contents .seat_location_btn img{
    width: 7px;
}
.detail_b_contents .booking_contents .sticky_menu2,
.onestop_contents .os_menu,
.onestop_contents .os_payment_menu,
.onestop_contents .os_payment_menu2{
    background-color: #fff;
    padding: 28px 28px 0 28px;
    width: 20%;
    min-width: 350px;
    box-sizing: border-box;
}
.detail_b_contents .booking_contents .sticky_menu2{
    top: 270px;
    position: absolute;
    right: 0;
    z-index: 3;
}
.detail_b_contents .booking_contents .sticky_menu2 h3,
.onestop_contents .os_menu h3,
.onestop_contents .os_payment_menu h3{
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 700;
    padding-bottom: 12px;
    border-bottom: 1px solid #1B1B1F;
    margin-bottom: 6px;
}
.detail_b_contents .booking_contents .sticky_menu2 table th,
.onestop_contents .os_menu table th,
.onestop_contents .os_payment_menu table th{
    font-size: 0.875rem;
    line-height: 1rem;
    color: #5E606B;
    padding: 10px 50px 10px 0;
    text-align: left;
    border-bottom: 1px solid #F5F5F7;
}
.detail_b_contents .booking_contents .sticky_menu2 table td,
.onestop_contents .os_menu .os_table td:not(.os_depth_table td),
.onestop_contents .os_payment_menu table td{
    font-size: 0.875rem;
    line-height: 1rem;
    border-bottom: 1px solid #F5F5F7;
}
.detail_b_contents .booking_contents .sticky_menu2 .payment_info_box,
.onestop_contents .os_menu .payment_info_box,
.onestop_contents .os_payment_menu .payment_info_box{
    margin-top: 16px;
}
.detail_b_contents .booking_contents .sticky_menu2 .payment_info_box .btn_container,
.onestop_contents .os_menu .payment_info_box .btn_container,
.onestop_contents .os_payment_menu .payment_info_box .btn_container{
    display: flex;
    justify-content: end;
}
.detail_b_contents .booking_contents .sticky_menu2 .cancel_fee_btn,
.onestop_contents .os_menu .cancel_fee_btn,
.onestop_contents .os_payment_menu .cancel_fee_btn{
    font-size: 0.8125rem;
    line-height: 1.25rem;
    border: 1px solid #D0D2D9;
    padding: 6px 10px;
    border-radius: 6px;
    margin-top: 16px;
}
.detail_b_contents .booking_contents .sticky_menu2 > .btn_container,
.onestop_contents .os_menu .btn_container,
.onestop_contents .os_payment_menu .btn_container{
    margin-top: 16px;
}
.detail_b_contents .booking_contents .sticky_menu2 > .btn_container .red_btn,
.onestop_contents .os_menu .btn_container .red_btn,
.onestop_contents .os_payment_menu .btn_container .red_btn{
    width: 100%;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.25rem;
    padding: 14px 0;
    border-radius: 6px;
    background-color: #d41d1d;
    color: #fff;
}

/* 원스탑 */
.onestop_contents{
    position: relative;
    height: 100%;
    overflow: hidden;
    flex-direction: column;
}
.onestop_contents .booking_header > div{
    max-width: none;
    padding: 14px 24px;
}
.onestop_contents .side_menu2{
    top: 56px;
    height: calc(100% - 56px);
}
.onestop_contents .onestop_info{
    border-bottom: 1px solid #E1E3E8;
}
.onestop_contents .onestop_info{
    display: flex;
    align-items: center;
    width: 100%;
    justify-content: space-between;
    padding: 14px 24px;
    box-sizing: border-box;
}
.onestop_contents .onestop_info ul{
    display: flex;
    gap: 18px;
    align-items: center;
}
.onestop_contents .onestop_info ul li{
    display: flex;
    gap: 6px;
    align-items: center;
    color: #5E606B;
    font-size: 14px;
    line-height: 20px;
}
.onestop_contents .onestop_info ul .os_location img{
    width: 11px;
    height: 14px;
}
.onestop_contents .onestop_info ul .os_casting img{
    width: 12px;
    height: 12px;
}
.onestop_contents .onestop_info .select_box > .custom-select-wrapper{
    display: flex;
    gap: 8px;
}
.onestop_contents .onestop_info .select_box > .custom-select-wrapper > .custom-select-box{
    min-width: 180px;
}
.onestop_contents .onestop_info .select_box > .custom-select-wrapper > .custom-select-wrapper .custom-select-box{
    min-width: 100px;
}
.onestop_contents .onestop_info .select_box .custom-select-wrapper{
    min-width: 0;
}

.onestop_contents .onestop_info .select_box .custom-select-box{
    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
    padding: 4px 8px;
}
.onestop_contents .os_content_area{
    height: calc(100% - 52px);
    display: flex;
}
.onestop_contents .os_content_area .os_canvas{
    flex: 1;
    position: relative;
}
.onestop_contents .os_content_area .os_canvas canvas{
    width: 100%;
    height: 100%;
}
.onestop_contents .os_content_area .os_canvas .os_btn_container button{
    position: absolute;
}
.onestop_contents .os_content_area .os_canvas .os_btn_container button img{
    margin: 0 auto;
}
.onestop_contents .os_content_area .os_canvas .os_btn_container .btn_home{
    left: 24px;
    bottom: 24px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.onestop_contents .os_content_area .os_canvas .os_btn_container button:not(.btn_home){
    box-shadow: 0 1px 2px #00000005;
}
.onestop_contents .os_content_area .os_canvas .os_btn_container button:not(.btn_change_area,.btn_home){
    width: 40px;
    height: 40px;
    box-sizing: border-box;
    border: 1px solid #EBECF0;
    border-radius: 50px;
    background-color: #fff;
}
.onestop_contents .os_content_area .os_canvas .os_btn_container .btn_change_area{
    background-color: #fff;
    padding: 0 20px;
    height: 40px;
    border: 1px solid #EBECF0;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 500;
    line-height: 40px;
    bottom: 24px;
    right: 80px;
    display: flex;
    align-items: center;
}
.onestop_contents .os_content_area .os_canvas .os_btn_container .btn_reset{
    right: 24px;
    bottom: 24px;
}
.onestop_contents .os_content_area .os_canvas .os_btn_container .btn_reset img{
    width: 16px;
}
.onestop_contents .os_content_area .os_canvas .os_btn_container .btn_minus{
    right: 24px;
    bottom: 80px;
}
.onestop_contents .os_content_area .os_canvas .os_btn_container .btn_minus img{
    width: 14px;
}
.onestop_contents .os_content_area .os_canvas .os_btn_container .btn_plus{
    right: 24px;
    bottom: 126px;
}
.onestop_contents .os_content_area .os_canvas .os_btn_container .btn_plus img{
    width: 14px;
}
.onestop_contents .os_content_area .os_menu{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.onestop_contents .os_content_area .os_menu,
.onestop_contents .os_payment_menu, .onestop_contents .os_payment_menu2{
    height: 100%;
    border-left: 1px solid #E1E3E8;
    padding: 0;
    width: 350px;
    box-sizing: border-box;
    background-color: #fff;
}
.onestop_contents .os_payment_menu, .onestop_contents .os_payment_menu2{
    padding: 26px;
    width: 390px;
}
.onestop_contents .os_content_area .os_menu .seat_select_area{
    height: 230px;
    border-bottom: 1px solid #E1E3E8;
    /*padding: 22px;*/
    box-sizing: border-box;
}
.onestop_contents .os_content_area .os_menu .seat_select_area img{
    max-width: 280px;
    margin: 0 auto;
}
.onestop_contents .os_content_area .os_menu .seat_table_area{
    max-height: 324px;
    overflow-y: auto;
}
.onestop_contents .os_content_area .os_menu .seat_table_area::-webkit-scrollbar{
    width: 14px;
}
.onestop_contents .os_content_area .os_menu .seat_table_area::-webkit-scrollbar-thumb{
    background-color: #B3B5BD;
    border-radius: 10px;
    cursor: pointer;
}
.onestop_contents .os_content_area .os_menu .seat_table_area::-webkit-scrollbar-track{
    border-radius: 0 0 6px 0;
    background-color: #E7E8EA;
}
.onestop_contents .os_content_area table{
    width: 100%;
}
.onestop_contents .os_content_area .os_table th,
.onestop_contents .os_content_area .os_table td{
    padding: 16px 22px;
    cursor: pointer;
}
.onestop_contents .os_content_area .os_table td > div{
    display: flex;
    align-items: center;
    justify-content: end;
    gap: 18px;
}
.onestop_contents .os_content_area .os_table td{
    text-align: end;
}
.onestop_contents .os_content_area .os_table td img{
    width: 12px;
    height: 8px;
    transition: transform 0.3s ease;
}
.onestop_contents .os_content_area .os_table .drop_tr > td{
    padding: 0;
}
.onestop_contents .os_content_area .os_table .pl0{
    padding-left: 0;
    font-weight: 600;
}
.onestop_contents .os_content_area .os_table .pr0{
    padding-right: 0;
    font-weight: 600
}
.onestop_contents .os_content_area .os_depth_table td,
.onestop_contents .os_content_area .os_depth_table th{
    border: none;
    padding: 0;
}
.onestop_contents .os_content_area .os_depth_table th{
    color: #1B1B1F;
    padding: 11px 38px;
}
.onestop_contents .os_content_area .os_depth_table td{
    padding: 11px 54px;
}
.onestop_contents .os_content_area .os_menu .os_depth_table tr.active td,
.onestop_contents .os_content_area .os_menu .os_depth_table tr.active th{
    color: #d41d1d;
    font-weight: 600;
}
.onestop_contents .os_content_area .os_menu .os_select_area{
    padding-bottom: 26px;
}
.onestop_contents .os_content_area .os_menu .os_select_area .seat_select p{
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    padding: 18px 22px;
}
.onestop_contents .os_content_area .os_menu .os_select_area .os_select_list{
    padding: 10px 22px;
    font-size: 14px;
    line-height: 20px;
}
.onestop_contents .os_content_area .os_menu .os_select_area .os_select_list li{
    display: flex;
    gap: 16px;
}
.seat_VIP{
    font-weight: 700;
    font-size: 14px;
    line-height: 20px;
    color: #4D56FF !important;
}
.seat_R{
    font-weight: 700;
    font-size: 14px;
    line-height: 20px;
    color: #05BE9F !important;
}
.seat_S{
    font-weight: 700;
    font-size: 14px;
    line-height: 20px;
    color: #FF3512 !important;
}
.seat_A{
    font-weight: 700;
    font-size: 14px;
    line-height: 20px;
    color: #FFC412 !important;
}
.soldOut{
    color: #8E939E;
}
.onestop_contents .os_content_area .os_menu .seat_R + span{
    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
}
.onestop_contents .os_content_area .os_menu .os_select_area .os_select_list li .seat_R::before{
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 6px;
    height: 6px;
    border-radius: 2px;
    background-color: #05BE9F;
    margin-right: 4px ;
}
.onestop_contents .os_content_area .os_menu .os_select_area .seat_no_select{
    padding: 64px 0 18px;
}
.onestop_contents .os_content_area .os_menu .os_select_area .seat_no_select img{
    width: 24px;
    height: 23px;
    margin: 0 auto 10px;
}
.onestop_contents .os_content_area .os_menu .os_select_area .seat_no_select p{
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
    text-align: center;
}
.onestop_contents .os_content_area .os_menu .os_select_area .seat_no_select .gray_text{
    font-size: 13px;
    font-weight: 400;
    line-height: 18px;
    color: #737680 !important;
    margin-top: 4px;
}
.onestop_contents .os_content_area .os_menu .btn_container{
    padding: 0 26px;
    display: flex;
    gap: 10px;
}
.onestop_contents .os_content_area .os_menu .btn_container .white_btn{
    border: 1px solid #D0D2D9;
    width: 100%;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
    background-color: #fff;
}
.onestop_contents .os_content_area .os_menu .btn_container .disabled{
    background-color: #E1E3E8 !important;
    color: #8E939E !important;
}
.onestop_contents .tooltip{
    position: absolute;
    top: 0;
    background-color: #3A3B42;
    border-radius: 4px;
    padding: 6px 44px;
}
.onestop_contents .tooltip2{
    position: absolute;
    top: 0;
    background-color: #3A3B42;
    border-radius: 4px;
    padding: 8px 18px;
}
.onestop_contents .tooltip p,.onestop_contents .tooltip2  p{
    color: #fff;
    font-size: 13px;
    line-height: 18px;
    font-weight: 500;
}
.onestop_contents .tooltip span{
    font-size: 16px;
    line-height: 18px;
    font-weight: 600;
    margin-bottom: 2px;
    display: block;
    color: #05BE9F;
    text-align: center;
}
.onestop_contents .os_canvas_contents{
    /*padding: 24px 24px 64px;*/
    width: 100%;
    height: calc(100% - 63px);
    min-height: 300px;
    box-sizing: border-box;
    overflow: auto;
    display: flex;
    /* gap: 32px; */
    position: relative;
}
.onestop_contents::-webkit-scrollbar,
.onestop_contents .os_canvas_contents::-webkit-scrollbar,
.onestop_contents .os_payment_contents::-webkit-scrollbar{
    width: 14px;
}
.onestop_contents::-webkit-scrollbar-thumb,
.onestop_contents .os_canvas_contents::-webkit-scrollbar-thumb,
.onestop_contents .os_payment_contents::-webkit-scrollbar-thumb{
    background-color: #B3B5BD;
    border-radius: 10px;
    cursor: pointer;
}
.onestop_contents::-webkit-scrollbar-track,
.onestop_contents .os_canvas_contents::-webkit-scrollbar-track,
.onestop_contents .os_payment_contents::-webkit-scrollbar-track{
    border-radius: 0 0 6px 0;
    background-color: #E7E8EA;
}
.onestop_contents .os_canvas_contents .os_canvas_menu{
    width: 240px;
    height: max-content;
    background-color: #fff;
    border: 1px solid #E1E3E8;
    border-radius: 14px 14px 0 0;
}
.onestop_contents .os_canvas_contents .os_canvas_map{
    height: 240px;
    padding: 24px 0;
    box-sizing: border-box;
    border-bottom: 1px solid #E1E3E8;
}
.onestop_contents .os_canvas_contents .os_canvas_map img{
    max-width: 210px;
    margin: 0 auto;
}
.onestop_contents .os_canvas_contents .os_table th{
    text-align: start;
}
.onestop_contents .os_canvas_contents .os_table tr:not(:last-child,.os_depth_table tr){
    border-bottom: 1px solid #E1E3E8;
}
.onestop_contents .os_canvas_contents .os_table .os_depth_table th,
.onestop_contents .os_canvas_contents .os_table .os_depth_table td{
    font-size: 14px;
    line-height: 20px;
}
.onestop_contents .os_canvas_contents .os_table .os_depth_table th{
    padding: 11px 0 11px 38px;
}
.onestop_contents .os_canvas_contents .os_table .os_depth_table td{
    padding: 11px 38px 11px 0;
}
.onestop_contents .os_canvas_contents .os_table .os_depth_table tr:hover,
.onestop_contents .os_canvas_contents .os_table .os_depth_table tr.active th,
.onestop_contents .os_canvas_contents .os_table .os_depth_table tr.active td{
    background-color: #FAFAFA;
}
.onestop_contents .os_canvas_contents .os_table .seat_VIP::before{
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 6px;
    height: 6px;
    border-radius: 2px;
    background-color: #4D56FF;
    margin-right: 4px ;
}
.onestop_contents .os_canvas_contents .os_table .seat_R::before{
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 6px;
    height: 6px;
    border-radius: 2px;
    background-color: #05BE9F;
    margin-right: 4px ;
}
.onestop_contents .os_canvas_contents .os_table .seat_S::before{
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 6px;
    height: 6px;
    border-radius: 2px;
    background-color: #FF3512;
    margin-right: 4px ;
}
.onestop_contents .os_canvas_contents .os_table .seat_A::before{
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 6px;
    height: 6px;
    border-radius: 2px;
    background-color: #FFC412;
    margin-right: 4px ;
}
.onestop_contents .os_canvas_contents .os_canvas_seat{
    width: 100%;
    display: flex;
    top: 0;
    /* flex-wrap: wrap;
    gap: 12px; */
}
.onestop_contents .os_canvas_contents .os_canvas_seat .os_canvas_seat_map{
    /* width: calc((100% / 2) - 12px);
    height: calc(50% - 9px); */
    width: 100%;
    height: 100%;
    background-color: #fff;
    border: 1px solid #E1E3E8;
    border-radius: 14px;
    padding: 26px;
    box-sizing: border-box;
    min-height: 200px;
}
.onestop_contents .os_canvas_contents .os_canvas_seat .os_canvas_seat_map .os_canvas_stage{
    background-color: #EDECEE;
    width: 100%;
    line-height: 13px;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #5E606B;
    padding: 6px 0;
}
.onestop_contents .os_payment_contents{
    padding: 48px 80px;
    width: 100%;
    height: calc(100% - 63px);
    box-sizing: border-box;
    overflow-y: auto;
}
.onestop_contents .os_payment_contents .booking_wrap{
    width: 100%;
}
.onestop_contents .os_payment_contents .booking_contents{
    padding-bottom: 0;
}
.onestop_contents .os_payment_contents .booking_contents h2{
    margin-top: 0;
}
.onestop_contents .check_img{
    width: 20px;
    height: 20px;
}
.onestop_contents .ticket_method_box .ticket_method_wrap{
    display: flex;
    flex-direction: row !important;
    gap: 24px;
}
.onestop_contents form .user_info_box p.gray_text{
    padding-top: 20px;
    border-top: 1px solid #EBECF0;
    margin-top: 26px;
    color: #5E606B !important;
}
.onestop_contents .ticket_method_box .form_row{
    display: flex;
    gap: 24px;
}
.onestop_contents .ticket_method_box label{
    font-size: 16px;
    cursor: pointer;
}
.onestop_contents .ticket_method_box .check_label{
    gap: 8px;
}
/*.onestop_contents .zone_canvas{*/
/*    height: auto;*/
/*    min-height: 300px;*/
/*    overflow: hidden;*/
/*}*/
/*.zone_canvas .canvas-container, .zone_canvas canvas{*/
/*    object-fit: contain !important;*/
/*    height: auto !important;*/
/*}*/

/* .onestop_contents .custom_radio{
    display: flex;
    align-items: center;
    line-height: 1.25rem;

}
.onestop_contents .custom_radio span{
    margin-left: 8px;
}
.onestop_contents input[type="radio"]{
    vertical-align: middle;
    width: 20px;
    height: 20px;
    appearance: none;
    border: 1.8px solid #D0D2D9;
    border-radius: 50%;
    cursor: pointer;
    margin: 0;
}
.onestop_contents input[type="radio"]:checked{
    border: 6px solid #d41d1d;
} */
.os_payment_menu{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.os_payment_menu2 h4{
    font-weight: 700;
}
.os_payment_menu2{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.ticket_radio .radio_check_container input[type="radio"],
.onestop_contents .ticket_method_wrap input[type="radio"],
.payment-wrap .payment_method_box .list-check-1 input[type="radio"]{
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}
.ticket_radio .radio_check_container,
.onestop_contents .ticket_method_wrap .radio_check_container{
    display: flex;
    align-items: center;
}
.ticket_radio .radio_check_container .radio_check_label,
.onestop_contents .ticket_method_wrap .radio_check_container .radio_check_label{
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 0;
    cursor: pointer;
    position: relative;
}
.ticket_radio .radio_check_container .radio_check_label img,
.onestop_contents .ticket_method_wrap .radio_check_container .radio_check_label img{
    width: 20px;
    height: 20px;
}
.ticket_radio .radio_check_container .radio_check_label span,
.onestop_contents .ticket_method_wrap .radio_check_container .radio_check_label span{
    font-size: clamp(14px,1vw,16px);
}
.ticket_radio .radio_check_container .radio_check_label .unchecked,
.onestop_contents .ticket_method_wrap .radio_check_container .radio_check_label .unchecked{
    display: block;
}
.ticket_radio .radio_check_container .radio_check_label .checked,
.onestop_contents .ticket_method_wrap .radio_check_container .radio_check_label .checked{
    display: none;
}
.onestop_contents .booking_contents .booking_form_container form .payment_method_box .card_tab{
    display: flex;
    gap: 6px;
    max-width: 442px;
}
.onestop_contents .booking_contents .booking_form_container form .payment_method_box .card_tab > div,
.onestop_contents .booking_contents .booking_form_container form .payment_method_box .card_tab .custom-select-box{
    width: 100%;
}
.onestop_contents .booking_contents .booking_form_container form .payment_method_box .card_tab .custom-select-box{
    border: 1px solid #D0D2D9;
}
.payment_method_box .tab_menu button{
    width: 100%;
    max-width: 130px;
    padding: 13px 0;
    font-size: 14px;
    font-weight: 500;
    background-color: #F5F5F7;
    border-radius: 4px;
    border: 1px solid #F5F5F7;
}
.onestop_contents .booking_contents .booking_form_container form .payment_method_box .tab_menu{
    gap: 6px;
}
.onestop_contents .booking_contents .booking_form_container form .payment_method_box .tab_menu button img{
    max-width: 56px;
    margin: 0 auto;
}
.onestop_contents .booking_contents .booking_form_container form .payment_method_box .tab_menu button.active{
    background-color: #fff;
    border: 1px solid #d41d1d;
    color: #d41d1d;
    font-weight: 600;
}
.ticket_method_box .pm_radio input[type="radio"],
.payment-wrap .payment_method_box .list-check-1 input[type="radio"],
.os_m_payment_box .payment_method_box .list-check-1 input[type="radio"],
.onestop_contents .booking_contents .booking_form_container form .payment_method_box .tab_menu .pm_radio input[type="radio"]{
    display: none;
}
.payment-wrap .payment_method_box .list-check-1 label,
.os_m_payment_box .payment_method_box .list-check-1 label,
.onestop_contents .booking_contents .booking_form_container form .payment_method_box .tab_menu .pm_radio label{
    border: 1px solid #888888;
    padding: 12px 28px;
    width: 100%;
    max-width: 136px;
    border-radius: 4px;
    justify-content: center;
}

.payment-wrap .payment_method_box .pm_radio input[type="radio"] + label .ico_radio{
    display: none;
}
.ticket_radio{display: flex; gap: 24px; flex-direction: row !important;}
.payment-wrap .payment_method_box .pm_radio input[type="radio"]:checked + label{
    background-color: #d41d1d;
    border: 1px solid #d41d1d;
    color: #fff;
    font-weight: 500;
}
.ticket_method_box .pm_radio input[type="radio"]:checked + label span{
    color: #d41d1d;
    font-weight: 500;
}
.os_m_payment_box .payment_method_box .list-check-1{
    width: 100%;
}

.os_m_payment_box .payment_method_box .list-check-1 label{
    display: block;
    max-width: none;
    text-align: center;
    margin-top: 20px;
    box-sizing: border-box;
}
.payment-wrap .payment_method_box .list-check-1 label span,
.os_m_payment_box .payment_method_box .list-check-1 label span,
.onestop_contents .booking_contents .booking_form_container form .payment_method_box .tab_menu .pm_radio label span{
    display: none;
}
.os_m_payment_box .payment_method_box .list-check-1 input[type="radio"]:checked + label,
.onestop_contents .booking_contents .booking_form_container form .payment_method_box .tab_menu .pm_radio input[type="radio"]:checked + label{
    background-color: #d41d1d;
    border: 1px solid #d41d1d;
    color: #fff;
    font-weight: 600;
}
.bgG{
    background-color: #F5F5F7;
}
.bgG .seat_select,
.bgG .os_select_list,
.bgG .os_m_payment_box .payment_box{
    background-color: #fff;
}
.bgG .os_m_payment_box .payment_box{
    padding: 0 20px 20px;

}
.bgG .os_m_payment_box .payment_box h4{
    border-top: 1px solid black;
    padding-top: 20px;
    font-weight: 700;
}
.bgG .os_m_payment_box .payment_box table{
    margin-top: 10px;
}
.bgG .os_m_payment_box .payment_box table th{
    border:none !important;
    padding: 5px 50px 5px 0;
}
.bgG .os_m_payment_box .payment_box table td{
    text-align: right;
    font-size: 0.875rem;
    line-height: 1.25rem;
    color: #5E606B;
}
.os_m_payment_box .p_wrap{
    padding: 1em 1em 0;
}
.os_m_payment_box .sale_info_box,
.os_m_payment_box .payment_method_box{
    padding: 22px;
    border-radius: 6px;
    background-color: #fff;
}
.os_m_payment_box .sale_info_box h3,
.os_m_payment_box .payment_method_box h3{
    padding: 0;
    margin: 0;
    border: none;
}
.os_m_payment_box .sale_info_box h3 button,
.os_m_payment_box .payment_method_box h3 button{
    width: 100%;
    display: flex;
    justify-content: space-between;
    font-size: clamp(18px,1.3vw,20px);
    line-height: 1.5rem;
    font-weight: 700;
    align-items: center;
}
.os_m_payment_box .sale_info_box h3 button img,
.os_m_payment_box .payment_method_box h3 button img{
    width: 14px;
    height: 8px;
}
.os_m_payment_box .sale_info_box h3 + div,
.os_m_payment_box .payment_method_box h3 + div{
    display: none;
}
.os_m_payment_box .sale_info_box label{
    display: block;
    white-space: nowrap;
}
.os_m_payment_box .sale_info_box .form_row{
    display: flex;
    gap: 10px;
    align-items: center;
}
.os_m_payment_box .sale_info_box .form_row .custom-select-wrapper,
.os_m_payment_box .sale_info_box .custom-select-box{
    width: 100%;
}
.onestop_contents .booking_contents .booking_form_container form .user_agreement_box .drop_down_box button{
    font-size: 13px;
    line-height: 18px;
    color: #858588;
    text-decoration: underline;
}
/* 원스탑 모바일 */
.os_m_area{
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    overflow: auto;
}
.os_m_header{
    background-color: #fff;
    display: flex;
    justify-content: space-between;
    padding: 10px 8px;
    align-items: center;
}
.os_m_header .btn_back{
    width: 40px;
    height: 40px;
}
.os_m_header .btn_back img{
    width: 10px;
    height: 18px;
    margin: 0 auto;
}
.os_m_header h1{
    font-size: 18px;
    line-height: 26px;
    font-weight: 600;
}
.os_m_header .os_m_pagination{
    padding: 11px 8px;
    display: flex;
    align-items: center;
    gap: 2px;
}
.os_m_header .os_m_pagination span{
    color: #8E939E;
    font-size: 13px;
    line-height: 18px;
}
.os_m_header .os_m_pagination span.highlight{
    color: #1B1B1F;
    font-weight: 700;
}
.os_m_contents{
    display: flex;
    flex-direction: column;
    flex: 1;
    position: relative;
    padding-bottom: 116px;
}
.os_m_contents .canvas_area{
    background-color: #F5F5F7;
    flex: 1;
    position: relative;
}
.os_m_contents .canvas_area .canvas_container,
.os_m_contents .canvas_area .canvas_container canvas{
    width: 100%;
    height: 100%;
}
.os_m_contents .canvas_area .btn_container{
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: end;
    padding: 20px;
    box-sizing: border-box;
    position: absolute;
    bottom: 0;
}
.os_m_contents .canvas_area .btn_container .left_btn_box{
    display: flex;
    flex-direction: column;
    gap:  16px;
}
.os_m_contents .canvas_area .btn_container .left_btn_box > div{
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.os_m_contents .canvas_area .btn_container button{
    border: 1px solid #EBECF0;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 30px;
}
.os_m_contents .canvas_area .btn_container button:not(.btn_seat_info){
    width: 40px;
    height: 40px;
}
.os_m_contents .canvas_area .btn_container .btn_seat_info{
    padding: 10px 20px;
    box-sizing: border-box;
    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
}
.os_m_contents .canvas_area .btn_container .btn_reset img{
    width: 16px;
    height: 16px;
}
.os_m_contents .canvas_area .btn_container .btn_plus img,
.os_m_contents .canvas_area .btn_container .btn_minus img{
    width: 14px;
}
.os_m_contents .canvas_area .btn_container .btn_plus img{
    height: 14px;
}
.os_m_contents .btn_area{
    background-color: #fff;
    padding: 20px 20px 44px;
    position: fixed;
    bottom: 0;
    width: 100%;
    box-sizing: border-box;
}
.os_m_contents .btn_area .red_btn{
    width: 100%;
    border-radius: 8px;
    background-color: #d41d1d;
    color: #fff;
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    padding: 14px 0;
}
.os_m_contents .btn_area button.disabled{
    background-color: #E1E3E8 !important;
    color: #8E939E;
}
.os_m_contents .seat_select_container{

}
.os_m_contents .seat_select_container .seat_select_box{
    display: flex;
    padding-bottom: 18px;
}
.os_m_contents .seat_select_container .seat_select_box p{
    white-space: nowrap;
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
}
.os_m_contents .seat_select_container .seat_select_box button{
    /* width: 100%; */
    margin-left: auto           ;
}
.os_m_contents .seat_select_container .seat_select_box button img{
    width: 12px;
    margin-left: auto;
    transition: transform 0.3s ease;
}
.os_m_contents .table_container{
    margin-bottom: 20px;
    max-height: 225px;
    overflow-y: scroll;
}
.os_m_contents .table_container .seat_select_table{
    width: 100%;
}
.os_m_contents .table_container .seat_select_table th{
    width: 47px;
    text-align: left;
}
.os_m_contents .table_container .seat_select_table .seat_R::before{
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 6px;
    height: 6px;
    border-radius: 2px;
    background-color: #05BE9F;
    margin-right: 4px ;
}
.os_m_contents .table_container .seat_select_table td{
    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
    padding: 10px 0;
}
.os_m_contents .table_container .seat_select_table .btn_td{
    text-align: right;
}
.os_m_seat_contents{
    padding-bottom: 158px;
}
.os_m_modal{
    background-color: #fff;
    width: 100%;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    transform: translateY(0);
    transition: transform 0.3s ease-out;
    border-radius: 16px 16px 0 0;
    display: flex;
    flex-direction: column;
}
.os_m_modal .modal_header{
    padding: 15px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}
.os_m_modal .modal_header h2{
    font-size: 18px;
    line-height: 26px;
    font-weight: 600;
    width: 100%;
    text-align: center;
}
.os_m_modal .modal_header .x_btn{
    width: 16px;
    height: 16px;
    position: absolute;
    top: 18px;
    right: 20px;
}
.os_m_modal .modal_content{
    display: flex;
    flex-direction: column;
}
.os_m_modal .modal_content .canvas_container{
    background-color: #F5F5F7;
    height: 300px;
}
.os_m_modal .modal_content .canvas_container canvas{
    width: 100%;
    height: 100%;
}
.os_m_modal .modal_content .table_container{

}
.os_m_modal .modal_content .table_container table{
    width: 100%;
}
.os_m_modal .modal_content .table_container table tr th{
    text-align: left;
}
.os_m_modal .modal_content .table_container .seat_info_table tr th,
.os_m_modal .modal_content .table_container .seat_info_table tr td{
    border-bottom: 1px solid #F5F6F7;
    padding-top: 16px;
    padding-bottom: 16px;
}
.os_m_modal .modal_content .table_container .seat_info_table tr th{
    padding-left: 22px;
    font-size: 14px;
    line-height: 20px;
    font-weight: 700;
}
.os_m_modal .modal_content .table_container .seat_info_table tr td{
    text-align: right;
    font-size: 16px;
    line-height: 20px;
    font-weight: 600;
}
.os_m_modal .modal_content .table_container .seat_info_table  tr td:last-child{
    padding-right: 22px;
}
.modal_btn_container .red_btn{
    background-color: #d41d1d;
    color: #fff;
}
.modal_btn_container .white_btn{
    border: 1px solid #D0D2D9;
    background-color: #fff;
}
.modal_gray_box p{
    font-size: 20px;
    line-height: 24px;
    font-weight: 500;
    text-align: center;
}
.modal_gray_box{
    background-color: #FAFAFA;
    border: 1px solid #EBECF0;
    padding: 26px 0;
    margin-bottom: 26px;
}
.cancel_modal_table{
    width: 100%;
}
.cancel_modal_table th{
    font-weight: 500;
    line-height: 24px;
    font-size: 16px;
    color: #5E606B;
    background-color: #FAFAFA;
}
.cancel_modal_table th,
.cancel_modal_table td{
    border: 1px solid #EBECF0;
    padding: 12px 16px;
}
.os_m_area .os_m_payment{
    padding-top: 0 !important;
}
.os_m_area .os_payment_contents{
    height: auto;
}
.os_m_area .os_m_payment .booking_form_container form > div{
    padding: 18px;
    box-shadow: none;
}
.os_m_area .os_m_payment .booking_form_container form > div h3 + div{
    border-top: none;
    padding: 0;
    padding-bottom: 20px;
}
.os_m_area .os_m_payment .booking_form_container form > div > div{
    margin-top: 20px;
}
.os_m_area .os_m_payment .booking_form_container form > div:not(:last-child){
    margin-bottom: 8px;
}
.os_m_area .os_m_payment .booking_form_container form > div h3 button{
    font-size: 16px;
    font-weight: 600;
    /* padding-bottom: 18px; */
}
.os_m_area .os_m_payment .ticket_box .ticket_wrap{
    padding: 0;
}
.os_m_area .os_m_payment .os_payment_menu2{
    padding: 0;
}
.os_m_area .os_m_payment .os_payment_menu2 .title_box{
    padding: 0 0 21px 0;
    border-bottom: 1px solid #F5F5F7;

}
.os_m_area .os_m_payment .os_payment_menu2 .title_box .title_img_box{
    overflow: hidden;
    width: 70px;
    height: 86px;
    border-radius: 4px;
}
.os_m_area .os_m_payment .os_payment_menu2 .title_box .title_img_box img{
    width: 100%;
}
.os_m_area .os_m_payment .os_payment_menu2 .title_box .title_text_box{
    max-width: 200px;
    gap: 4px;
}
.os_m_area .os_m_payment .os_payment_menu2 .seats_box{
    padding-top: 16px;
}
.os_m_area .os_m_payment .os_payment_menu2 .seats_box .seats_table_wrap{
    padding-bottom: 16px;
    border-bottom: 1px solid #F5F5F7;
}
.os_m_area .os_m_payment .os_payment_menu2 .payment_box{
    padding: 16px 0 20px;
}
.os_m_area .os_m_payment .booking_form_container form .payment_method_box .tab_menu{
    flex-wrap: wrap;
    gap: 12px;
}
.os_m_area .os_m_payment .booking_form_container form .payment_method_box .tab_menu button{
    padding: 12px 28px !important;
    max-width: none;
    width: calc((100% / 2) - 6px);
    font-size: 14px !important;
}
.os_m_area .os_m_payment .booking_form_container form .user_agreement_box .drop_down_box label{
    font-size: 14px;
    line-height: 20px;
}
.os_m_area .os_m_payment .booking_form_container form .user_agreement_box .drop_down_box label .red_text{
    font-weight: 400;
}
.os_m_area .os_m_payment .booking_form_container .title_info_text{
    display: flex;
    flex-direction: column;
}
.os_m_area .os_m_payment .booking_form_container form .user_info_box p{
    font-size: 16px;
}
.os_m_area .os_m_payment .booking_form_container form .form_row .red_text{
    font-size: 12px;
}
.os_m_area .os_m_payment .os_payment_menu2 .seats_box table th{
    width: 47px;
    font-weight: 700;
}
.os_m_area .os_m_payment .os_payment_menu2 .seats_box table th::before{
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 6px;
    height: 6px;
    border-radius: 2px;
    margin-right: 4px ;
}
.os_m_area .os_m_payment .os_payment_menu2 .seats_box table th.color_vip::before{
    background-color: #4D56FF ;
}
.os_m_area .os_m_payment .os_payment_menu2 .seats_box table th.color_R::before{
    background-color: #05BE9F;
}
.os_m_area .os_m_payment .os_payment_menu2 .seats_box table td{
    font-weight: 500;
    padding: 1px 8px;
}
.os_m_area .os_m_payment .os_payment_menu2 .payment_box table th{
    padding: 1px 0;
    font-size: 14px;
}
.os_m_area .os_m_payment .os_payment_menu2 .payment_box table .emphasis td{
    font-size: 16px;
}
.os_m_area .os_m_payment .os_payment_menu2 .payment_box table .emphasis th,
.os_m_area .os_m_payment .os_payment_menu2 .payment_box table .emphasis td{
    padding-top: 12px;
}
.os_m_area .os_m_payment .booking_form_container form .user_info_box p.gray_text{
    font-size: 12px;
    line-height: 18px;
}
.os_m_area .os_m_payment .booking_form_container form .sale_info_box .form_row label{
    color: #737680;
    width: 34px;
}
.os_m_area .os_m_payment .total_price_box table{
    width: 100%;
}
.os_m_area .os_m_payment .total_price_box table th{
    text-align: left;
    font-size: 14px;
    line-height: 20px;
    color: #5E606B;
}
.os_m_area .os_m_payment .total_price_box table td{
    text-align: right;
    font-size: 14px;
    line-height: 20px;
}
.os_m_area .os_m_payment .total_price_box table th.bold{
    color: #1B1B1F;
}
.os_m_area .os_m_payment .total_price_box table td.bold{
    font-size: 16px;
    color: #d41d1d;
    padding-top: 15px;
}
.os_m_area .onestop_contents .os_content_area{
    padding-top: 0;
}
.os_m_area .onestop_contents .os_m_payment_s .booking_success{
    box-shadow: none;
    margin-bottom: 8px;
    padding: 18px 20px;
}
.os_m_area .onestop_contents .os_m_payment_s .booking_success p{
    text-align: left;
    margin-bottom: 0;
}
.os_m_area .onestop_contents .os_m_payment_s .booking_success span{
    justify-content: start;
    line-height: 18px;
    flex-wrap: wrap;
    white-space: normal;
    color: #1B1B1F;
}
.os_m_area .onestop_contents .os_m_payment_s .booking_success span a{
    line-height: 18px;
}
.os_m_area .onestop_contents .os_m_payment_s .booking_success .booking_s_contents{
    padding-top: 8px;
    border-top: 1px solid #F5F5F7;
    margin-top: 18px;
}
.os_m_area .onestop_contents .os_m_payment_s .booking_success .booking_s_contents table th{
    width: 56px;
}
.os_m_area .onestop_contents .os_m_payment_s .booking_success .booking_s_contents .os_m_seat_table th{
    width: 35px;
}
.os_m_area .onestop_contents .os_m_payment_s .booking_success .booking_s_contents .os_m_seat_table td{
    padding: 4px 6px;
}
.os_m_area .onestop_contents .os_m_payment_s .booking_success .booking_s_text{
    padding-bottom: 0;
    border: none;
}
.os_m_area .onestop_contents .os_m_payment_s .booking_success .booking_s_text button{
    width: 100%;
}
.os_m_area .onestop_contents .os_m_payment_s .booking_success .booking_s_text button img{
    width: 12px;
}
.os_m_area .onestop_contents .os_m_payment_s .booking_success .booking_s_text button > div{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}
.os_m_area .onestop_contents .os_m_payment_s .booking_success .booking_s_contents .seat_location_btn{
    width: 100%;
    margin: 20px 0 0;
    padding: 9px 0;
    border: 1px solid #EDEDEE;
    border-radius: 4px;
    color: #1B1B1F;
    line-height: 24px;
    font-weight: 500;
    justify-content: center;
}
.os_m_area .onestop_contents .os_m_payment_s .booking_success .booking_s_contents .seat_location_btn img{
    margin: 0;
}
.os_m_area .onestop_contents .os_m_payment_s .os_payment_menu{
    border: 1px solid  #EBECF0;
    border-radius: 8px;
    padding: 18px 20px;
}
.os_m_area .onestop_contents .os_m_payment_s .os_payment_menu table th,
.os_m_area .onestop_contents .os_m_payment_s .os_payment_menu table td{
    border-bottom: none;
}
.os_m_area .onestop_contents .os_payment_menu .cancel_fee_btn{
    width: 100%;
    margin-top: 0;
    font-size: 14px;
    line-height: 24px;
    font-weight: 500;
    padding: 9px 0;
    border: 1px solid #EDEDEE;
}
.os_m_area .onestop_contents .os_m_payment_s .os_payment_menu table th{
    padding: 10px 0;
    width: 92px;
}

.radio_check:checked + .radio_check_label .unchecked{
    display: none !important;
}
.radio_check:checked + .radio_check_label .checked{
    display: block !important;
}
.os_container form > div{
    background-color: #fff;
    border-radius: 6px;
    padding: 22px;
}
.os_container form > div h3 button{
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    font-size: clamp(18px,1.3vw,20px);
    line-height: 1.5rem;
    font-weight: 700;
    /* padding-bottom: 22px; */
}
.os_container form > div h3 button img{
    width: 14px;
    height: 8px;
}

/* 마이페이지 모바일 */
.wrap2{
    padding: 0 20px;
}
.header_m{
    height:auto;
    display: none;
}
.header_m h1{
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 18px;
    line-height: 26px;
    font-weight: 600;
    padding: 17px 20px;
}
.header_m h1 button{
    width: 14px;
}
.header_m .header_m_top,
.header_m .plz_login{
    border-bottom: 9px solid #F5F5F7;
}
.header_m .header_m_top .hi_user{
    position: relative;
}
.header_m .header_m_top .hi_user .btn_container{
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
}
.header_m .header_m_top .hi_user .btn_container button{
    color: #989899;
}
.header_m .header_m_top .hi_user .btn_container span{
    margin: 0px 6px;
}
.header_m .header_m_top .hi_user .btn_container span img{
    width: 1px;
}
.header_m .header_m_top .hi_user p{
    font-size: 20px;
    line-height: 26px;
    display: flex;
    align-items: center;
}
.header_m .header_m_top .hi_user span{
    font-weight: 700;
}
.header_m .header_m_top .hi_user a{
    margin-left: 8px;
}
.header_m .header_m_top .hi_user a img{
    width: 6px;
}
.header_m .header_m_top .button_box{
    display: flex;
    gap: 19px;
    justify-content: center;
    align-items: center;
    padding: 40px;
}
.header_m .header_m_top .button_box > div{
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.header_m .header_m_top .button_box > div span{
    font-size: 12px;
    line-height: 20px;
    display: block;
    text-align: center;
}
.header_m .header_m_top .button_box button{
    width: 74px;
    height: 74px;
    background-color: #d41d1d;
    border-radius: 26px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.header_m .header_m_top .button_box button img{
    width: 28px;
}
.header_m .plz_login{
    padding: 40px 20px;
}

.header_m .plz_login p{
    font-size: 24px;
    font-weight: 600;
    text-align: center;
}
.header_m .plz_login .btn_container{
    display: flex;
    gap: 10px;
    justify-content: center;
    margin-top: 30px;
}
.header_m .plz_login .btn_container button{
    font-weight: 600;
    padding: 10px 0;
    width: 150px;
    font-size: 16px;
    border-radius: 6px;
}
.header_m .header_m_list button{
    padding: 16px 20px;
    display: flex;
    justify-content: space-between;
    width: 100%;
    align-items: center;
    color: #d41d1d;
    font-size: 16px;
    line-height: 24px;
    font-weight: 500;
    border-bottom: 9px solid #F5F5F7;
}
.header_m .header_m_list button img{
    width: 12px;
    height: 7px;
}
.header_m .header_m_list .exclusive_list{
    display: flex;
    flex-direction: column;
}
.header_m .header_m_list .exclusive_list li{
    border-bottom: 1px solid #F5F5F7;
}
.header_m .header_m_list .exclusive_list li a{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
}
.header_m .header_m_list .exclusive_list li a img{
    width: 7px;
}
.header_m .popup{
    background-color: #3A3B42;
    border-radius: 4px;
    position: absolute;
    bottom: 12px;
    padding: 10px 0;
    width: calc(100% - 40px);
    left: 50%;
    transform: translateX(-50%);
}
.header_m .popup .popup_contents{
    position: relative;
}
.header_m .popup p{
    color: #fff;
    text-align: center;
    font-size: 14px;
    line-height: 20px;
}
.header_m .popup button{
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
}
.mp_m_contents .nodata{
    display: flex;
    align-items: center;
    justify-content: center;
}
.mp_m_contents:not(.mp_list_contents){
    padding: 1rem;
    flex: 1;
}
.mp_m_contents .mp_m_list ul li{
    border-bottom: 1px solid #F5F5F7;
}
.mp_m_contents .mp_m_list ul li a{
    font-size: 16px;
    line-height: 24px;
    padding: 16px 14px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.mp_m_contents .mp_m_list ul li .m_list_coupon,
.mp_m_contents .mp_m_list ul li .m_list_ticketbox{
    border-bottom: 9px solid #F5F5F7;
}
.mp_m_contents .mp_m_list ul li .m_list_ticket img,
.mp_m_contents .mp_m_list ul li .m_list_lpass img,
.mp_m_contents .mp_m_list ul li .m_list_coupon img{
    width: 20px;
    height: 15px;
}
.mp_m_contents .mp_m_list ul li .m_list_review img,
.mp_m_contents .mp_m_list ul li .m_list_userinfo img{
    width: 19px;
    height: 19px;
}
.mp_m_contents .mp_m_list ul li .m_list_ticketbox img{
    width: 18px;
    height: 18px;
}
.mp_m_contents .tab_box{
    position: relative;
}
.mp_m_contents .tab_box .tab_btn{
    border-bottom: 1px solid #EBEDF0;
}
.mp_m_contents .tab_box .tab_btn button{
    display: inline-block;
    color: #737680;
    font-size: 16px;
    line-height: 24px;
    padding-bottom: 10px;
}
.mp_m_contents .tab_box .tab_btn button:first-child{
    margin-right: 22px;
}
.mp_m_contents .tab_box .tab_btn button.tab_active{
    color: #1B1B1F;
    font-weight: 600;
    border-bottom: 2px solid #1B1B1F;
}
.mp_m_contents .tab_box .red_line_btn{
    color: #d41d1d;
    border: 1px solid #d41d1d;
    font-size: 14px;
    line-height: 20px;
    padding: 6px 10px;
    border-radius: 4px;
    width: 88px;
    position: absolute;
    top: -7px;
    right: 0;
}
.mp_m_contents .filter_box{
    padding: 20px 0  28px;
}
.mp_m_contents .filter_box .month_search{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.mp_m_contents .filter_box .month_search .month_text{
    font-size: 14px;
    line-height: 20px;
}
.mp_m_contents .filter_box .month_search .select_box{
    display: flex;
    gap: 6px;
}
.mp_m_contents .filter_box .custom-select-box{
    border: 1px solid #D0D2D9;
    padding: 5px 10px;
}
.mp_m_contents .filter_box .custom-select-text{
    line-height: 20px;
}
.mp_m_contents .content_card:not(:last-child){
    margin-bottom: 38px;
}
.mp_m_contents .title_box{
    display: flex;
    gap: 16px;
}
.mp_m_contents .title_box .img_box{
    position: relative;
    width: 76px;
    height: 105px;
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.mp_m_contents .title_box .table_1 th,
.mp_m_contents .title_box .table_1 td{
    padding-bottom: 2px;
}
.mp_m_contents .title_box .title_text_box p{
    font-size: 16px;
    line-height: 20px;
    font-weight: 600;
    margin-bottom: 10px;
}
.mp_m_contents .title_box .title_text_box span{
    display: block;
    font-size: 13px;
    line-height: 18px;
}

.mp_m_contents .content_card .title_box .title_text_box span:first-child{
    margin-bottom: 2px;
}
.mp_m_contents .white_btn{
    background-color: #fff;
    border: 1px solid #D0D2D9;
    border-radius: 4px;
    padding: 9.5px 0;
    width: 100%;
    margin-top: 22px;
    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
}
.mp_m_contents .white_btn2{
    background-color: #fff;
    border: 1px solid #D0D2D9;
    border-radius: 4px;
    margin-top: 12px;
    padding: 6px 10px;
    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
}
.mp_ticket_contents .title_box{
    margin-bottom: 40px;
}
.mp_m_contents table th,.mp_m_contents table td{
    font-size: 14px;
    line-height: 20px;
}
.mp_m_contents .table_1 th{
    color: #5E606B;
    text-align: left;
    padding-right: 20px;
}
.mp_m_contents .table_2,
.mp_m_contents .table_3{
    width: 100%;
}
.mp_m_contents .table_2 th{
    text-align: left;
}
.mp_m_contents .table_2 th,.mp_m_contents .table_2 td{
    padding: 10px 12px;
}
.mp_m_contents .table_3 th,.mp_m_contents .table_3 td{
    padding: 10px;
    text-align: center;
}
.mp_m_contents .table_2 th,.mp_m_contents .table_2 td,
.mp_m_contents .table_3 th,.mp_m_contents .table_3 td{
    border: 1px solid #EBECF0;
    vertical-align: middle;
}
.mp_m_contents .table_2 th,.mp_m_contents .table_3 th{
    color: #5E606B;
    background-color: #FAFAFA;
    font-weight: 500;
}
.mp_ticket_contents .table_box{
    margin-bottom: 38px;
}
.mp_ticket_contents .table_box h3{
    display: flex;
    justify-content: space-between;
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    padding-bottom: 8px;
    border-bottom: 1px solid #1B1B1FB2;
    margin-bottom: 9px;
}
.mp_ticket_contents .table_box .table_1 th,
.mp_ticket_contents .table_box .table_1 td{
    padding-top: 5px;
    padding-bottom: 5px;
}
.mp_ticket_contents .table_box .white_btn{
    margin-top: 20px;
}
.mp_ticket_contents .table_box .check_img{
    width: 20px;
    height: 20px;
}
.mp_ticket_contents .table_box .check_label{
    font-size: 14px;
    line-height: 24px;
    font-weight: 500;
}
.mp_ticket_contents .seat_info .red_text{
    margin-top: 9px;
    padding-top: 14px;
    border-top: 1px solid #EBEDF0;
    font-size: 14px;
    line-height: 18px;
    font-weight: 500;
}
.mp_ticket_contents .payment_box{
    margin-top: 9px;
    padding-top: 14px;
    border-top: 1px solid #EBEDF0;
    display: flex;
    justify-content: space-between;
    margin-bottom: 28px;
}
.mp_ticket_contents .payment_box span{
    font-size: 14px;
    line-height: 24px;
    font-weight: 600;
}
.mp_ticket_contents .payment_box .red_text{
    font-weight: 700;
    font-size: 16px;
    color: #d41d1d;
}
.mp_ticket_contents .payment_info .btn_container{
    display: flex;
    justify-content: end;
}
.mp_ticket_contents .fee_info .red_text{
    line-height: 20px;
    font-weight: 500;
    text-align: center;
    margin: 14px 0 38px;
}
.mp_ticket_contents .fee_info .fee_box{
    margin-bottom: 22px;
}
.mp_m_contents .text_box h4{
    font-size: 14px;
    line-height: 24px;
    font-weight: 600;
    margin-bottom: 8px;
}
.mp_m_contents .text_box .gray_text2{
    font-size: 13px;
    line-height: 18px;
}
.mp_ticket_contents .fee_info .table_3{
    margin-bottom: 16px;
}
.mp_m_contents .point_tab .tab_btn{
    display: flex;
    align-items: center;
    margin: 22px 0 28px;
}
.mp_m_contents .point_tab .tab_btn button{
    font-size: 16px;
    line-height: 26px;
    color: #5E606B;
    padding: 11px 20px;
    border: 1px solid #EBECF0;
    width: 100%;
}
.mp_m_contents .point_tab .tab_btn button.tab_active2{
    border: 1px solid #1B1B1F;
    color: #1B1B1F;
    font-weight: 700;
}
.mp_m_contents #m_entryTab .text_box{
    margin: 34px 0;
}
.mp_m_contents #m_entryTab .text_box h4{
    margin-bottom: 18px;
}
.mp_m_contents #m_entryTab .text_box .gray_text2:not(:last-child){
    margin-bottom: 10px;
}
.mp_m_contents #m_entryTab .table_3 .info_box span{
    display: block;
    font-size: 14px;
    line-height: 24px;
}
.mp_m_contents #m_entryTab .table_3 .info_box .title{
    font-size: 16px;
    line-height: 20px;
    font-weight: 600;
    margin-bottom: 12px;
}
.mp_m_contents #m_entryTab .table_3 .info_box .date{
    line-height: 20px;
    margin-bottom: 2px;
    color: #FF2D60;
    font-weight: 500;
}
.mp_m_contents #m_entryTab .table_3 .red_btn{
    background-color: #d41d1d;
    color: #fff;
    font-size: 13px;
    line-height: 24px;
    font-weight: 600;
    padding: 3px 9px;
    border-radius: 6px;
}
.mp_m_contents .ann_area h5{
    font-size: 20px;
    line-height: 26px;
    font-weight: 600;
    margin-bottom: 20px;
}
.mp_m_contents .ann_area .ann_text_box{
    border: 1px solid #EBECF0;
    border-radius: 4px;
    padding: 20px;
    color: #5E606B;
    min-height: 300px;
    line-height: 18px;
    overflow-y: auto;
}
.mp_cp_contents .tab_contents{
    padding-top: 28px;
}
.mp_cp_contents .coupon_card{
    border: 1px solid #E1E3E8;
    border-radius: 10px;
    padding: 30px 20px;
    margin-bottom: 20px;
}
.mp_cp_contents .coupon_card h3{
    font-size: 20px;
    line-height: 26px;
    font-weight: 600;
    margin-bottom: 20px;
}
.mp_cp_contents .coupon_card .expiration_date{
    display: inline-block;
    border: 1px solid #d41d1d;
    color: #d41d1d;
    font-size: 12px;
    line-height: 18px;
    font-weight: 600;
    padding: 2px 5px;
    border-radius: 30px;
    box-sizing: border-box;
    margin-bottom: 8px;
}
.mp_cp_contents .coupon_card p{
    font-size: 14px;
    line-height: 20px;
}
.mp_cp_contents .coupon_card .red_text{
    margin-bottom: 8px;
    line-height: 16px;
}
.mp_cp_contents .coupon_card .detail_view{
    border-top: 1px solid #E1E3E8;
    padding-top: 18px;
    margin-top: 18px;
}
.mp_cp_contents .coupon_card .detail_view ul li{
    color: #5E606B;
    font-size: 14px;
    line-height: 20px;
}
.mp_cp_contents .coupon_card .detail_view ul li:not(:last-child){
    margin-bottom: 4px;
}
.mp_cp_contents .coupon_card .detail_view ul li::before{
    content: '•';
    display: inline-block;
}
.mp_rv_contents .title_box .title_text_box span{
    line-height: 20px;
}
.mp_rv_contents .content_box{
    margin-top: 28px;
}
.mp_rv_contents .content_box .textarea,
.mp_rv_contents .content_box textarea{
    height: 350px;
}
.mp_rv_contents .img_upload_container{
    display: flex;
    gap: 14px;
    margin-top: 26px;
}
.mp_rv_contents .img_upload_container .img_upload_img{
    width: 100px;
    height: 110px;
    overflow: hidden;
    border-radius: 4px;
    border: 1px solid #E1E3E8;
    box-sizing: border-box;
    flex-shrink: 0;
}
.mp_rv_contents .img_upload_container .img_upload_img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.mp_rv_contents .img_upload_container .img_upload_text p{
    font-size: 14px;
    line-height: 20px;
    color: #737680;
}
.mp_rv_contents .img_upload_container .img_upload_text button{
    border: 1px solid #D0D2D9;
    padding: 9px 10px;
    border-radius: 6px;
    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
    margin-top: 12px;
}
.mp_rv_contents .star_rate_container{
    display: flex;
    justify-content: space-between;
    margin-top: 26px;
}
.mp_rv_contents .star_rate_container > div{
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}
.mp_rv_contents .star_rate_container .star_rating{
    display: flex;
    gap: 8px;
}
.mp_rv_contents .star_rate_container .star_rating .star{
    width: 26px;
    height: 26px;
    background-image: url('/images/star_rate_gray.png');
    background-repeat: no-repeat;
    cursor: pointer;
    background-size: cover;
}
.mp_rv_contents .star_rate_container .star_rating .star.on{
    background-image: url('/images/star.png');
    background-repeat: no-repeat;
    background-size: cover;
}
.mp_rv_contents .btn_container{
    display: flex;
    gap: 8px;
}
.mp_rv_contents .btn_container .white_btn{
    padding: 12px 0;
    margin-top: 48px;
}
.mp_rv_contents .btn_container .red_btn{
    background-color: #d41d1d;
    color: #fff;
    border-radius: 4px;
    padding: 12px 0;
    width: 100%;
    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
    box-sizing: border-box;
    margin-top: 48px;
}
.mp_rv_contents .review_card{
    padding: 22px 0;
    border-bottom: 1px solid #EBECF0;
}
.mp_rv_contents .review_card .drop_btn button{
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    line-height: 20px;
    color: #5E606B;
    align-items: center;
    width: 100%;
    margin-bottom: 10px;
}
.mp_rv_contents .review_card .drop_btn button img{
    flex-shrink: 0;
    width: 12px;
    height: 8px;
}
.mp_rv_contents .review_card .rv_title{
    font-size: 18px;
    line-height: 26px;
    font-weight: 600;
    margin-bottom: 4px;
}
.mp_rv_contents .review_card .gray_text2{
    font-size: 14px;
    line-height: 20px;
}
.mp_rv_contents .review_card .rv_contents{
    margin-top: 4px;
    font-size: 14px;
    line-height: 20px;
}
.mp_rv_contents .review_card .star_box{
    margin-top: 10px;
    display: flex;
}
.mp_rv_contents .review_card .star_box img{
    width: 20px;
    height: 20px;
}
.mp_rv_contents .review_card .btn_container{
    gap: 6px;
    justify-content: end;
}
.mp_rv_contents .review_card .btn_container button{
    font-size: 13px;
    line-height: 24px;
    padding: 3px 2px;
    width: 40px;
    border-radius: 6px;
    margin-top: 6px;
}
/* 발표 내역 어떻게 할지 고민중 수요일에 물어보고 완료해*/
.mp_m_contents #m_entryTab h5{
    font-size: 20px;
    line-height: 26px;
    font-weight: 600;
    margin-bottom: 20px;
}
.mp_m_contents #m_entryTab .ann_text_box{
    padding: 20px;
    border: 1px solid #EBECF0;
    border-radius: 4px;
    min-height: 300px;
}
.mp_m_contents #m_entryTab .ann_text_box p{
    color: #5E606B;
    font-size: 16px;
    line-height: 18px;
    margin-bottom: 10px;
}
/* 요기까지 */
.mp_tb_contents{
    padding-top: 0 !important;
}
.mp_tb_contents .red_btn{
    width: 100%;
    border-radius: 4px;
    background-color: #d41d1d;
    color: #fff;
    font-size: 18px;
    line-height: 20px;
    font-weight: 800;
    padding: 10px 0;
    margin-top: 20px;
}
.mp_tb_contents .swiper_container{
    position: relative;
}
.mp_tb_contents .swiper_container .swiper_btn_box{
    top: auto;
    bottom: 0;
    max-width: none;
}
.mp_tb_contents #ticketSwiper{
    padding-bottom: 100px;
}
.mp_tb_contents .swiper_container .swiper-button-next{
    right: 22px !important;
}
.mp_tb_contents .swiper_container .swiper-button-prev{
    left: 22px !important;
}
.mp_tb_contents .swiper_container .swiper-button-next,
.mp_tb_contents .swiper_container .swiper-button-prev{
    width: 48px !important;
    height: 48px !important;
    background-color: transparent !important;
    opacity: 1 !important;
}
.mp_tb_contents .search_box{
    display: flex;
    gap: 8px;
    margin-top: 18px;
}
.mp_tb_contents .search_box input{
    border: 1px solid #EBECF0;
    border-radius: 6px;
    padding: 11px 10px;
    width: 100%;
}
.mp_tb_contents .search_box input::placeholder{
    font-size: 14px;
    line-height: 18px;
    color: #737680;
    font-family: 'pretendard';
}
.mp_tb_contents .search_box button{
    margin: 0;
    width: 60px;
    font-size: 14px;
    line-height: 24px;
    font-weight: 600;
    padding: 8px 12px;
    border-radius: 6px;
}
.mp_tb_contents ul{
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}
.mp_tb_contents ul li{
    width: calc((100%/2) - 8px);
    position: relative;
    margin-top: 26px;

}
.mp_tb_contents ul li.used::before,
.mp_tb_contents ul li.expired::before{
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: #FFFFFF99;
    z-index: 1;
}
.mp_tb_contents ul li.used::after,
.mp_tb_contents ul li.expired::after{
    content: '';
    display: block;
    width: 50px;
    height: 50px;
    position: absolute;
    top: 20px;
    right: 20px;
    background-size: cover;
    z-index: 2;
}
.mp_tb_contents ul li.used::after{
    background-image: url("/static/images/stamp_used.png");
}
.mp_tb_contents ul li.expired::after{
    background-image: url("/static/images/stamp_expired.png");
}
.mp_tb_contents ul li.used img,
.mp_tb_contents ul li.expired img{
    filter: grayscale(100%);
}
.mp_tb_contents ul li .img_box{
    border-radius: 4px;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 200px;
    background-color: rgba(0, 0, 0, 0.6);
}
.mp_tb_contents ul li .text_box{
    margin-top: 14px;
}
.mp_tb_contents ul li .text_box span{
    font-size: 16px;
    line-height: 20px;
    font-weight: 500;
    display: block;
    text-align: center;
}
.mp_w_contents{
    background-color: #000;
    display: flex;
    justify-content: center;
    align-items: center;
}
.mp_w_contents .wallet_wrapper{
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 300px;
}
.mp_w_contents .wallet_wrapper .wallet_box{
    /*display: flex;*/
    /*align-items: center;*/
    /*flex-direction: column;*/
    background-color: #fff;
    border-radius: 6px;
    overflow: hidden;
}
.mp_w_contents .wallet_wrapper .wallet_box .wallet_img{
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    height: 320px;
}
.mp_w_contents .wallet_wrapper .wallet_box .wallet_content{
    padding: 20px 24px 26px;
    position: relative;
}
.mp_w_contents .wallet_wrapper .wallet_box .wallet_content::before,
.mp_w_contents .wallet_wrapper .wallet_box .wallet_content::after{
    content: '';
    display: block;
    background-color: #000;
    border-radius: 300px;
    width: 25px;
    height: 25px;
    position: absolute;
    top: 49px;
}
.mp_w_contents .wallet_wrapper .wallet_box .wallet_content::before{
    left: -12.5px;
}
.mp_w_contents .wallet_wrapper .wallet_box .wallet_content::after{
    right: -12.5px;
}
.mp_w_contents .wallet_wrapper .wallet_box .wallet_content .semi-title{
    display: block;
    text-align: center;
    font-size: 16px;
    line-height: 20px;
    font-weight: 600;
    padding-bottom: 20px;
    position: relative;
    text-indent: -9999px;
}
.mp_w_contents .wallet_wrapper .wallet_box .wallet_content .semi-title::after{
    content: '';
    height: 1px;
    display: block;
    width: 215px;
    background-color: #EBECF0;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);

}
.mp_w_contents .wallet_wrapper .wallet_box .wallet_content .wallet_info h2{
    font-size: 20px;
    line-height: 28px;
    font-weight: 600;
    margin: 22px 0 8px;
    text-align: center;

}
.mp_w_contents .wallet_wrapper .wallet_box .wallet_content .wallet_info span{
    font-size: 13px;
    line-height: 20px;
    font-weight: 500;
    display: block;
    text-align: center;
}
.mp_w_contents .wallet_wrapper .btn_container button{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4px;
    line-height: 20px;
    height: 40px;
    background-color: #d41d1d;
    border-radius: 4px;
    color: #fff;
    font-family: 'outfit';
    font-weight: 500;
    font-size: 16px;
    width: 100%;
}
.mp_w_contents .wallet_wrapper .btn_container button img{
    width: 20px; height: 20px;
}
.ticket_container{
    padding: 0 !important;
}
.ticket_container .ticket_box{
    padding: 26px 0 30px;
    margin: 0 auto;
    width: 330px;

}
.ticket_container .ticket_box .white_btn{
    margin-top: 465px;
}
.ticket_container .ticket_box .ticket_card{
    width: 100%;
    margin: 0 auto;
    border-radius: 6px;
    overflow: hidden;
    height: 444px;
}
.ticket_container .ticket_box .ticket_card.back{
    background-color: #fff;
}
.ticket_container .ticket_box .ticket_card.back .title{
    background-color: #d41d1d;
    font-size: 20px;
    line-height: 24px;
    font-weight: 700;
    color: #fff;
    padding: 14px;
    text-align: center;
}
.ticket_container .ticket_box .ticket_card.back .content{
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 14px 0 26px;
}
.ticket_container .ticket_box .ticket_card.back .content .qr_box{
    width: 170px;
    height: 170px;
}
.ticket_container .ticket_box .ticket_card.back .content .red_text{
    font-size: 13px;
    line-height: 20px;
    font-weight: 500;
}
.ticket_container .ticket_box .ticket_card.back .seat_box{
    background-color: #ECECED;
    padding: 32px 60px;
}
.ticket_container .ticket_box .ticket_card.back .seat_box p{
    color: #1B1B1F;
    font-size: 30px;
    line-height: 36px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 10px;
}
.ticket_container .ticket_box .ticket_card.back .seat_box span{
    display: block;
    font-size: 16px;
    line-height: 16px;
    text-align: center;
    color: #1B1B1F;
}
.ticket_container .ticket_box{
    perspective: 1100px;
}
.ticket_container .ticket_box .ticket_card_box{
    position: relative;
    transition: .4s;
    transform-style: preserve-3d;
}
.ticket_container .ticket_box .ticket_card_box .ticket_card{
    position: absolute;
    backface-visibility: hidden;
}
.ticket_container .ticket_box .ticket_card_box .ticket_card.back{
    transform: rotateY(180deg);
}
.ticket_container .ticket_box .ticket_card_box.rotate{
    transform: rotateY(180deg);
}
.ticket_container .info_box{
    /*border-top: 12px solid #F5F5F7;*/
    padding: 18px 0;
    max-width: 340px;
    margin: 0 auto;

}

.ticket_container .info_box table td:first-child{
    font-size: 14px;
    font-weight: 600;
    line-height: 16px;
    color: #1B1B1F;
    padding-right: 30px;
}
.ticket_container .info_box table td span:first-child:before{
    content: '•';
    margin-right: 6px;
}
.ticket_container .info_box table td{
    padding: 6px;
}
.ticket_container .info_box table td span{
    display: flex;
}
.ticket_container .info_box table td span:last-of-type{
    line-height: 18px;
}
.bold-line{
    background-color: #F5F5F7;
    display: block;
    height: 12px;
    width: 100%;
}
/* lpass pc */
.lp_header{
    background-color: #000000;
    padding: 22px;
    position: fixed;
    width: 100%;
    top: 0;
}
.lp_header_wrapper{
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}
.lp_friends_contents{
    height: 100%;
    overflow-y: auto;
    padding-top: 66px;
    box-sizing: border-box;
}
.lp_friends_contents .friends_main .wrap{
    width: 100%;
    height: 100%;
    position: relative;
    box-sizing: border-box;
}
.lp_friends_contents .friends_main .wrap .f_btn_container{
    max-width: 414px;
    margin: 60px auto 0;
}
.lp_friends_contents .friends_main .wrap .btn_reload{
    position: absolute;
    right: 0;
    top: 60px;
}
.lp_friends_contents .friends_main .wrap .lp_banner{
    background-color: #000;
    border-radius: 4px;
    padding: 0 40px;
    box-sizing: border-box;
    width: 100%;
    max-width: 814px;
    position: absolute;
    transform: translateX(-50%);
    bottom: 60px;
    left: 50%
}
.lp_friends_contents .friends_main .wrap .lp_banner .swiper_box{
    position: relative;
    padding: 0 54px;
}
.lp_friends_contents .friends_main .wrap .lp_banner .swiper_box .swiper_button_contianer > div{
    width: 14px;
}
.lp_friends_contents .friends_main .wrap .lp_banner a{
    max-width: 294px;
    align-items: center;
}
.lp_modal{
    width: 600px;
    background-color: #000 !important;
}
.lp_modal .modal_header{
    position: relative;
    padding: 20px 20px 2px;
    box-sizing: border-box;
}
.lp_modal .modal_header h1{
    font-size: 26px;
    line-height: 26px;
    font-weight: 600;
    text-align: center;
    color: #fff;
}
.lp_modal .modal_header .btn_back{
    position: absolute;
    left: 20px;
    bottom: 0;
    width: 32px;
    height: 32px;
}
.lp_modal .modal_header .x_btn{
    position: absolute;
    right: 20px;
    bottom: 0;
    width: 32px;
    height: 32px;
}
.lp_modal .modal_header .x_btn img{
    width: 18px;
}
.lp_modal .modal_content{
    padding: 40px 100px 50px;
    box-sizing: border-box;
    max-height: 800px;
    overflow-y: auto;
}
#selectFriendsModal{
    background-color: #000000;
}
#selectFriendsModal .text_box{
    padding: 0 0 28px;
    color: #fff;
}
#selectFriendsModal .text_box .title{
    font-size: 36px;
    line-height: 26px;
    font-weight: 700;
    display: block;
    text-align: center;
}
#selectFriendsModal .text_box p{
    font-size: 16px;
    line-height: 24px;
    text-align: center;
    margin-top: 18px;
}
#selectFriendsModal .text_box p span{
    font-weight: 600;
}
#selectFriendsModal .text_box .red_text{
    font-size: 20px;
    line-height: 24px;
    font-weight: 600;
    display: block;
    text-align: center;
    margin-top: 20px;
}
#selectFriendsModal .friends_container{
    background-color: #191919;
    padding: 30px 26px 34px;
    border-radius: 10px;
}
#selectFriendsModal .friends_container .tip{
    font-size: 12px;
    line-height: 18px;
    font-weight: 700;
    color: #fff;
    border: 1px solid #fff;
    border-radius: 50px;
    padding: 1px 4px;
    display: block;
    width: 31px;
    text-align: center;
    box-sizing: border-box;
    margin: 0 auto;
}
#selectFriendsModal .friends_container .comment{
    font-size: 16px;
    line-height: 24px;
    margin-top: 4px;
    text-align: center;
    display: block;
    color: #fff;
}
#selectFriendsModal .friends_box{
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    max-width: 268px;
    justify-content: center;
    margin: 22px auto 0;
}
#selectFriendsModal .friends_box li .img_box{
    width: 80px;
    height: 80px;
    border: 1px solid #1B1B1F;
    border-radius: 15px;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}
#selectFriendsModal .friends_box li .img_box img{
    object-fit: cover;
}
#selectFriendsModal .friends_box li .img_box.last{
    border: 1px solid #424242;
    background-color: #191919;
}
#selectFriendsModal .friends_box li .img_box.last img{
    width: 36px;
}
#selectFriendsModal .friends_container + .red_text{
    font-size: 14px;
    line-height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    margin-top: 20px;
}
#selectFriendsModal .friends_container + .red_text img{
    width: 12px;
    height: 12px;
}
#selectFriendsModal .friends_container + .red_text + .red_btn{
    background-color: #d41d1d;
    padding: 14px 0;
    width: 100%;
    border-radius: 6px;
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    color: #fff;
    margin-top: 34px;
}
#whatIsLpassModal .modal_content h2{
    font-size: 36px;
    line-height: 46px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 50px;
    color: #fff;
}
#whatIsLpassModal .modal_content h3{
    font-size: 22px;
    line-height: 26px;
    font-weight: 600;
    margin-bottom: 28px;
}
#whatIsLpassModal .modal_content p{
    font-size: 16px;
    line-height: 24px;
    color: #fff;
}
#whatIsLpassModal .modal_content p:not(:last-child){
    margin-bottom: 20px;
}
#lpDetailModal .title_box{
    display: flex;
    align-items: start;
    gap: 16px;
    margin-bottom: 36px;
}
#lpDetailModal .title_box .img_box{
    width: 120px;
    height: 144px;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    border-radius: 10px;
}
#lpDetailModal .title_box .img_box img{
    height: 144px;
    width: auto;
}
#lpDetailModal .title_box .text_box span{
    display: block;
}
#lpDetailModal .title_box .text_box .title{
    font-size: 20px;
    line-height: 26px;
    font-weight: 700;
    color: #fff;
}
#lpDetailModal .title_box .text_box .title_en{
    font-size: 16px;
    line-height: 24px;
    font-weight: 500;
    color: #fff;
}
#lpDetailModal .title_box .text_box p{
    font-size: 14px;
    line-height: 22px;
    margin-top: 10px;
    color: #E1E3E8CC;
}
#lpDetailModal .content_box .img_box{
    border-radius: 10px;
    overflow: hidden;
    height: 290px;
    display: flex;
    justify-content: center;
    align-items: center;
}
#lpDetailModal .content_box .white_btn{
    border: 1px solid #737680;
    border-radius: 4px;
    font-size: 16px;
    line-height: 24px;
    font-weight: 500;
    padding: 7px 0;
    width: 100%;
    margin: 18px 0 32px;
    color: #fff;
}
#lpDetailModal .swiper_box{
    position: relative;
    padding: 0 65px;
}
#lpDetailModal .swiper_box #lp_detail_swiper .swiper-slide{
    border-radius: 10px;
    overflow: hidden;
}
#lpDetailModal .swiper_box .swiper_btn_box .swiper-button-next,
#lpDetailModal .swiper_box .swiper_btn_box .swiper-button-prev{
    width: 14px;
}
#lpDetailModal .swiper_box .swiper_btn_box .swiper-button-next{
    right: 0 !important;
}
#lpDetailModal .swiper_box .swiper_btn_box .swiper-button-prev{
    left: 0 !important;
}
#lpDetailModal .swiper_box .swiper-slide{
    display: flex;
    justify-content: center;
    align-items: center;
}
#lpDetailModal .swiper_box .swiper-slide img{
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 10px;
    overflow: hidden;
}
#friendsListModal .friends_box{
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin: 22px auto 0;
}
#friendsListModal .friends_box li .img_box{
    width: 119px;
    height: 119px;
    border: 1px solid #1B1B1F;
    border-radius: 15px;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}
#friendsListModal .friends_box li .img_box img{
    object-fit: cover;
}
#friendsListModal .friends_box li .img_box.last{
    border: 1px solid #00000014;
    background-color: #fff;
}
.overflow{
    max-height: 524px;
    overflow-y: auto;
}
.overflow::-webkit-scrollbar{
    display: none;
}
.lp_friends_contents .friends_contents{
    background-color: #000000;
    margin: 56px auto 0;
    padding: 60px 96px 70px;
    border-radius: 50px;
    max-width: 800px;
    box-sizing: border-box;
}
.lp_friends_contents .friends_storage > div{
    /* max-width: 520px;
    margin: 0 auto; */
}
.lp_friends_contents .friends_storage .tab_btn{
    margin: 0 auto 30px;
    max-width: 320px;
}
.lp_friends_contents .friends_storage .tab_btn button{
    color: #FFFFFF;
    border: 1px solid #8A8E9A;
}
.lp_friends_contents .friends_storage .tab_btn button,
.lp_friends_contents .friends_storage .tab_btn button.active{
    background-color: #000 !important;
}

.lp_friends_contents .friends_storage .exchange_box{
    flex-direction: row;
    align-items: end;
    gap: 8px;
}
.lp_friends_contents .friends_storage .exchange_box .red_btn{
    width: 126px;
    height: 48px;
}
.lp_friends_contents .store_area .tab_btn{
    margin: 0 0 48px;
}

.lp_friends_contents .store_area > div ul{
    display: flex;
    gap: 22px;
    flex-wrap: wrap;
    max-height: 290px;
    overflow-y: auto;
}
.lp_friends_contents .store_area > div ul::-webkit-scrollbar{
    background-color: #000;
    border: 1px solid gray;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
}
.lp_friends_contents .store_area > div ul::-webkit-scrollbar-thumb{
    background-color: gray;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
}
.lp_friends_contents .store_area > div ul li{
    width: calc(33.33% - 15px);
}
.lp_friends_contents .store_area .product_list{
    flex-direction: column;
    border: none;
    padding: 1px 0 0;
}
.lp_friends_contents .store_area .product_list .img_box{
    width: auto;
    height: 188px;
}
.lp_friends_contents .store_area .btn_box{
    flex-direction: row;
}
.lp_friends_contents .store_area.btn_box span,
.lp_friends_contents .store_area .btn_box .red_btn{
    width: 90px;
}
.lp_friends_contents .store_detail_area .product_list{
    margin-top: 0 !important;
    padding-top: 0 !important;
}
.lp_friends_contents .store_detail_area .product_list .img_box{
    width: 90px;
    height: 90px;
}
.lp_friends_contents .store_detail_area .product_list .btn_box{
    margin-top: 10px;
}
.lp_friends_contents .store_detail_area > .img_box{
    height: 330px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.lp_friends_contents .store_detail_area .btn_container{
    display: flex;
    justify-content: center;
}
.lp_friends_contents .store_detail_area .red_btn{
    max-width: 320px;
    margin-top: 26px !important;
}
.lp_friends_contents .p50{
    padding: 50px 96px;
}
.lp_friends_contents .friends_contents .friends_mission2 h2{
    font-size: 30px;
    line-height: 26px;
    font-weight: 600;
    margin: 0 0 46px;
    text-align: center;
    color: #fff;
}
.lp_friends_contents .friends_contents .friends_mission2 .ui-widget.ui-widget-content{
    padding: 0 !important;
    width: 100% !important;
}
.lp_friends_contents .friends_contents .friends_mission2 .ui-datepicker .ui-datepicker-header{
    display: none;
}
.lp_friends_contents .friends_contents .friends_mission2 .ui-datepicker td span,
.lp_friends_contents .friends_contents .friends_mission2 .ui-datepicker td a{
    padding: 26px 0 40px !important;
}
.lp_friends_contents .friends_contents .friends_mission2 .ui-datepicker td a{
    background-image: url('/images/ico_belly_gray.png');
    background-repeat: no-repeat;
    background-color: #000 !important;
    background-position: bottom center;

}
.lp_friends_contents .friends_contents .friends_mission2 .ui-datepicker table{
    background-color: #000;
}
.lp_friends_contents .friends_contents .friends_mission2 .ui-datepicker .ui-state-active,
.lp_friends_contents .friends_contents .friends_mission2 .ui-datepicker .ui-state-hover{
    background-image: url('/images/ico_belly_03.png');
    color: #FE456D !important;
    border-radius: 0 !important;
    max-width: none !important;
    /* font-weight: 500 !important; */
}
.lp_friends_contents .friends_contents .friends_mission2 .ui-datepicker th{
    padding: 9px 0 !important;
    font-size: 14px !important;
    line-height: 18px !important;
    color: #FFFFFF !important;
    background-color: #191919 !important;
}
.lp_friends_contents .friends_contents .friends_mission2 .ui-datepicker-week-end:first-child{
    color: #E02D3C !important;
}
.lp_friends_contents .friends_contents .friends_mission2 .ui-datepicker-saturday a,
.lp_friends_contents .friends_contents .friends_mission2 .ui-datepicker-week-end:last-child{
    color: #5087FF !important;
}
#bookingModal{
    width: 710px;
}
#bookingModal .modal_content{
    padding: 42px 40px;
}
#bookingModal .product_box{
    display: flex;
    gap: 14px;
    align-content: start;
    margin: 20px 0 36px;
}
#bookingModal .product_box .img_box{
    width: 100px;
    height: 100px;
    overflow: hidden;
    border-radius: 10px;
    border: 1px solid #00000014;
    display: flex;
    justify-content: center;
    align-items: center;
}
#bookingModal .product_box .img_box img{
    height: 100px;
    object-fit: cover;
}
#bookingModal .product_box .text_box{
    padding: 0;
}
#bookingModal .product_box .text_box .pass_label{
    display: block;
    text-align: center;
    border: 1px solid #4267FB;
    color: #4267FB;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    line-height: 20px;
    width: fit-content;
    padding: 4px 5px;
    margin-bottom: 8px;
    min-width: 82px;
    box-sizing: border-box;
}
#bookingModal .product_box .text_box .title{
    font-size: 16px;
    line-height: 24px;
    font-weight: 700;
    color: #fff;
}
#bookingModal .product_box .text_box .description{
    font-size: 14px;
    line-height: 22px;
    color: #5E606B;
    display: block;
}
#bookingModal .form_box .form_row{
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 100%;
}
#bookingModal .form_box .form_row:not(:last-child){
    margin-bottom: 22px;
}
#bookingModal .form_box .form_row label{
    font-size: 16px;
    line-height: 24px;
    font-weight: 500;
    color: white;
}
#bookingModal .form_box .form_row input,
#bookingModal .form_box .form_row textarea{
    border: 1px solid #D0D2D9;
    border-radius: 6px;
    padding: 13.5px 12px;
    box-sizing: border-box;
    font-family: 'pretendard';
    font-size: 16px;
    outline: none;
}
#bookingModal .form_box .form_row textarea{
    resize: none;
    height: 120px;
}
#bookingModal .form_box .form_row .select_date{
    display: flex;
    gap: 8px;
}
#bookingModal .form_box .form_row .select_date .custom-select-box{
    height: 34px;
    padding: 4px 12px;
}
#bookingModal .form_box .form_row .date_picker_box{
    position: relative;
}
#bookingModal .form_box .form_row .date_picker_box input{
    padding: 4px 12px;
    width: 210px;
    height: 34px;
}
#bookingModal .btn_container{
    display: flex;
    gap: 8px;
    padding-top: 26px;
    justify-content: center;
}
#bookingModal .btn_container button{
    padding: 12px 0;
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    border-radius: 6px;
    width: 156px;
}
#bookingModal .btn_container .white_btn{
    background-color: #424242;
    color: #fff;
    border: none !important;
}
#bookingModal .custom-select-box{
    border: 1px solid #D0D2D9;
    padding: 4px 12px;
    min-width: 82px;
}
#bookingModal .custom-select-dropdown{
    border: 1px solid #424242;
    background-color: #191919;
}
#bookingModal .select_people .custom-select-box{
    width: 100%;
    padding: 11px 12px;
}
#bookingModal .custom-option:hover,
#bookingModal .custom-option.focused{
    background-color: #414141;
}
#bookingModal .form_row_wrapper{
    display: flex;
    gap: 30px;
}
#couponNumbModal{
    width: 400px;
    border-radius: 16px;
    background-color: #000;
}
#couponNumbModal .modal_header{
    padding: 20px 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#couponNumbModal .modal_header h1{
    font-size: 20px;
    line-height: 28px;
    font-weight: 700;
    letter-spacing: -0.24px;
    color: #fff;
}
#couponNumbModal .modal_content{
    padding: 24px 40px 40px;
}
#couponNumbModal .modal_content .input_box{
    display: flex;
    gap: 10px;
}
#couponNumbModal .modal_content .input_box input[type="text"],
#bookingModal input[type="text"],
#bookingModal .custom-select-box,
#bookingModal textarea{
    border: 1px solid #424242 !important;
    border-radius: 6px;
    padding: 10px 12px;
    width: 100%;
    /*outline: none;*/
    background-color: #191919;
    color: white;
}
#couponNumbModal .modal_content .input_box .gray_btn{
    font-size: 16px;
    line-height: 24px;
    font-weight: 500;
    padding: 10px 9px;
    width: 60px;
    border-radius: 6px;
    flex-shrink: 0;
    background-color: #424242;
    color: #FFFFFF;
}
#couponNumbModal .modal_content .btn_container{
    display: flex;
    gap: 8px;
    justify-content: center;
    margin-top: 32px;
}
#couponNumbModal .modal_content .btn_container button{
    font-size: 16px;
    line-height: 24px;
    font-weight: 700;
    padding: 12px 0;
    width: 120px;
    border-radius: 6px;
}
#couponNumbModal .modal_content .btn_container .gray_btn{
    background-color: #424242;
    color: #FFFFFF;
}
.black_modal{
    background-color: #000 !important;
}
.black_modal p{
    color: #fff !important;
}
.black_modal .gray_btn{
    background-color: #424242 !important;
    color: #fff !important;
}
.storage .ui-widget.ui-widget-content{
    height: auto !important;
    border: 1px solid #E1E3E859 !important;
}
/* lpass 모바일 */
.header_m2{
    padding: 19px 0;
    position: relative;
}
.header_m2 h1{
    max-width: 162px;
    margin: 0 auto;
}
.header_m2 .btn_mypage{
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
}
.lp_m_contents{
    padding: 0 20px;
}
.lp_m_contents .text_box{
    padding: 32px 0 28px;
    color: #fff;
}
.lp_m_contents .text_box .title{
    font-size: 24px;
    line-height: 26px;
    font-weight: 700;
    display: block;
    text-align: center;
}
.lp_m_contents .text_box p{
    font-size: 14px;
    line-height: 22px;
    text-align: center;
    margin-top: 18px;
}
.lp_m_contents .text_box p span{
    font-weight: 600;
}
.lp_m_contents .friends_container{
    background-color: #191919;
    padding: 30px 26px 34px;
    border-radius: 10px;
}
.lp_m_contents .friends_container .tip{
    font-size: 12px;
    line-height: 18px;
    font-weight: 700;
    color: #fff;
    border: 1px solid #fff;
    border-radius: 50px;
    padding: 1px 4px;
    display: block;
    width: 31px;
    text-align: center;
    box-sizing: border-box;
    margin: 0 auto;
}
.lp_m_contents .friends_container .comment{
    font-size: 16px;
    line-height: 24px;
    margin-top: 4px;
    text-align: center;
    display: block;
    color: #fff;
}
.lp_m_contents .friends_box{
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    max-width: 268px;
    justify-content: center;
    margin: 22px auto 0;
}
.lp_m_contents .friends_box li .img_box{
    width: 80px;
    height: 80px;
    border: 1px solid #1B1B1F;
    border-radius: 15px;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}
.lp_m_contents .friends_box li .img_box img{
    object-fit: cover;
}
.lp_m_contents .friends_box li .img_box.last{
    border: 1px solid #424242;
}
.lp_m_contents .friends_box li .img_box.last img{
    width: 36px;
}
.lp_m_contents .friends_container + .red_text{
    font-size: 14px;
    line-height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    margin-top: 20px;
}
.lp_m_contents .friends_container + .red_text img{
    width: 12px;
    height: 12px;
}
.lp_m_contents .friends_container + .red_text + .red_btn{
    background-color: #d41d1d;
    padding: 14px 0;
    width: 100%;
    border-radius: 6px;
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    color: #fff;
    margin-top: 40px;
}
#lpassInfoModal .modal_header h2{
    text-align: left;
}
#lpassInfoModal .modal_content{
    padding: 50px 20px 130px;
    box-sizing: border-box;
}
#lpassInfoModal .modal_content h3{
    font-size: 40px;
    line-height: 46px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 46px;
}
#lpassInfoModal .modal_content h4{
    font-size: 18px;
    line-height: 26px;
    font-weight: 600;
    margin-bottom: 14px;
}
#lpassInfoModal .modal_content p{
    font-size: 16px;
    line-height: 24px;
}
#lpassInfoModal .modal_content p:not(:last-of-type){
    margin-bottom: 20px;
}
.lp_m_list .friends_box{
    max-width: 330px;
    justify-content: start;
}
.lp_m_list .friends_box li .img_box{
    width: 100px;
    height: 100px;
}
.lp_m_detail_contents{
    padding: 20px;
}
.lp_m_detail_contents .title_box{
    display: flex;
    align-items: start;
    gap: 16px;
    margin-bottom: 36px;
}
.lp_m_detail_contents .title_box .img_box{
    width: 100px;
    height: 120px;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    border-radius: 10px;
}
.lp_m_detail_contents .title_box .img_box img{
    height: 120px;
    width: auto;
}
.lp_m_detail_contents .title_box .text_box span{
    display: block;
}
.lp_m_detail_contents .title_box .text_box .title{
    font-size: 18px;
    line-height: 26px;
    font-weight: 700;
    color: #fff;
}
.lp_m_detail_contents .title_box .text_box .title_en{
    font-size: 16px;
    line-height: 24px;
    font-weight: 500;
    color: #fff;
}
.lp_m_detail_contents .title_box .text_box p{
    font-size: 14px;
    line-height: 22px;
    margin-top: 10px;
    color: #E1E3E8CC;
}
.lp_m_detail_contents .content_box .img_box{
    border-radius: 10px;
    overflow: hidden;
}
.lp_m_detail_contents .content_box .white_btn{
    border: 1px solid #737680;
    border-radius: 4px;
    font-size: 16px;
    line-height: 24px;
    font-weight: 500;
    padding: 7px 0;
    width: 100%;
    margin: 18px 0 32px;
    color: #fff;
}
.lp_m_detail_contents .swiper_box{
    position: relative;
    padding: 0 36px;
}
.lp_m_detail_contents .swiper_box #lp_detail_swiper .swiper-slide{
    border-radius: 10px;
    overflow: hidden;
}
.lp_m_detail_contents .swiper_box .swiper_btn_box .swiper-button-next,
.lp_m_detail_contents .swiper_box .swiper_btn_box .swiper-button-prev{
    width: 14px;
}
.lp_m_detail_contents .swiper_box .swiper_btn_box .swiper-button-next{
    right: 0 !important;
}
.lp_m_detail_contents .swiper_box .swiper_btn_box .swiper-button-prev{
    left: 0 !important;
}
.lp_m_friends_contents{
    padding: 20px;
    box-sizing: border-box;
}
.hei100 .lp_m_friends_contents{
    height: calc(100% - 60px);
}
.friends_contents .table_1,
.lp_m_friends_contents .table_1{
    width: 100%;
}
.friends_contents .table_1 th,
.friends_contents .table_1 td,
.lp_m_friends_contents .table_1 th,
.lp_m_friends_contents .table_1 td{
    border: 1px solid #424242;
    vertical-align: middle;
}
.friends_contents .table_1 th,
.lp_m_friends_contents .table_1 th{
    color: #fff;
    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
    background-color: #2F2E2E;
    padding: 10px;
}
.friends_contents .table_1 td,
.lp_m_friends_contents .table_1 td{
    padding: 10px 8px;
    text-align: center;
    font-size: 14px;
    line-height: 24px;
    color: #fff;
    background-color: #191919;
}
.belly_bg{
    background-image: url('/images/belly_bg.jpg');
    background-size: cover;
    background-position: center;
}
.f_btn_container{
    display: flex;
    gap: 10px;
}
.f_btn_container button{
    width: 33.33%;
    background-color: #1B1B1F;
    color: #fff;
    padding: 11px 0;
    border-radius: 10px;
    font-size: 16px;
    line-height: 26px;
    font-weight: 500;
    box-sizing: border-box;
}
.f_btn_container button.active{
    background-color: #d41d1d;
}
.friends_main{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}
.friends_main .text_banner{
    background-color: #FFFFFFA6;
    border-radius: 10px;
    padding: 22px 19.5px;
    margin: 64px auto 0;
    max-width: 250px;
}
.friends_main .text_banner span{
    font-size: 18px;
    line-height: 26px;
    font-weight: 600;
    display: block;
    text-align: center;
}
.friends_main .text_banner .red_text{
    display: inline;
}
.friends_main .product_banner a{
    background-color: #000 ;
    display: flex;
    gap: 12px;
    padding: 22px 16px;
    border-radius: 4px;
    position: relative;
}
.friends_main .product_banner .img_box{
    width: 60px;
    height: 70px;
    flex-shrink: 0;
    border-radius: 4px;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}
.friends_main .product_banner .img_box img{
    height: 70px;
    width: auto;
}
.friends_main .product_banner .text_box span{
    display: block;
    max-width: 200px;
}
.friends_main .product_banner .text_box .title{
    font-size: 16px;
    line-height: 24px;
    font-weight: 700;
    color: #fff;
}
.friends_main .product_banner .text_box .description{
    font-size: 14px;
    line-height: 22px;
    color: #E1E3E8CC;
}
.friends_main .product_banner .btn_img{
    position: absolute;
    width: 8px;
    height: 15px;
    margin-top: 5px;
    right: 16px;
}
.friends_storage .tab_btn{
    display: flex;
    gap: 8px;
    padding: 0 20px;
    margin: 30px 0 20px;
}
.friends_storage .tab_btn button{
    width: 33.33%;
    color: #fff;
    padding: 5px 9px;
    font-size: 14px;
    line-height: 26px;
    border-radius: 4px;
    border: 1px solid #8A8E9A;
}
.friends_storage .tab_btn button.tab_active{
    border: 1px solid #d41d1d;
    color: #d41d1d;
    font-weight: 600;
}
.friends_storage .point_box{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    background-color: #191919;
    border-radius: 10px;
    padding: 24px 0;
    margin-bottom: 30px;
}
.friends_storage .point_box img{
    width: 30px;
    height: 30px;
}
.friends_storage .point_box .point_text{
    font-size: 16px;
    line-height: 26px;
    color: #fff;
}
.friends_storage .point_box .point_text .pink_text{
    color: #FE456D;
    font-weight: 600;
}
.friends_storage .point_box .point_label{
    background-color: #FE456D;
    border-radius: 50px;
    font-size: 18px;
    line-height: 24px;
    font-weight: 700;
    color: #fff;
    padding: 6px 18.5px;
    margin-top: 8px;
}
.friends_storage .table_box .table_1 td span,
.friends_storage .table_box .table_1 td button{
    display: block;
    width: 100%;
    text-align: center;
}
.exchange_box{
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-bottom: 30px;
}
.exchange_box > div{
    display: flex;
    align-items: end;
    gap: 20px;
}
.exchange_box .input_box{
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
}
.exchange_box .input_box input[type="text"]{
    padding: 14.5px 12px;
    box-sizing: border-box;
    border: 1px solid #424242;
    border-radius: 6px;
    width: 100%;
    outline: none;
    font-family: 'pretendard';
    font-size: 16px;
    background-color: #191919;
    color: white;
}
.exchange_box .input_box span{
    font-size: 14px;
    line-height: 24px;
    font-weight: 500;
    color: #fff;
}
.exchange_box .ico_exchange{
    width: 24px;
    height: 26px;
    padding: 11px 0;
}
.exchange_box .red_btn{
    width: 100%;
    color: #fff;
    background-color: #d41d1d;
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    padding: 12px 0;
    border-radius: 6px;
}
#exchangeTab .table_box h3{
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    margin-bottom: 16px;
}
.lp_m_booking .product_box{
    display: flex;
    gap: 14px;
    align-content: start;
    margin: 20px 0 36px;
}
.lp_m_booking .product_box .img_box{
    width: 80px;
    height: 100px;
    overflow: hidden;
    border-radius: 10px;
    border: 1px solid #00000014;
    display: flex;
    justify-content: center;
    align-items: center;
}
.lp_m_booking .product_box .img_box img{
    height: 100px;
    object-fit: cover;
}
.lp_m_booking .product_box .text_box{
    padding: 0;
}
.lp_m_booking .product_box .text_box .pass_label{
    display: block;
    text-align: center;
    border: 1px solid #4267FB;
    color: #4267FB;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    line-height: 20px;
    width: fit-content;
    padding: 4px 5px;
    margin-bottom: 8px;
    min-width: 82px;
    box-sizing: border-box;
}
.lp_m_booking .product_box .text_box .title{
    font-size: 16px;
    line-height: 24px;
    font-weight: 700;
}
.lp_m_booking .product_box .text_box .description{
    font-size: 14px;
    line-height: 22px;
    color: #E1E3E8CC;
}
.lp_m_booking .form_box .form_row{
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.lp_m_booking .form_box .form_row:not(:last-child){
    margin-bottom: 22px;
}
.lp_m_booking .form_box .form_row label{
    font-size: 16px;
    line-height: 24px;
    font-weight: 500;
    color: #fff;
}
.lp_m_booking .form_box .form_row input,
.lp_m_booking .form_box .form_row textarea{
    border: 1px solid #424242;
    border-radius: 6px;
    padding: 13.5px 12px;
    box-sizing: border-box;
    font-family: 'pretendard';
    font-size: 16px;
    outline: none;
    background-color: #191919;
    color: #fff;
}
.lp_m_booking .form_box .form_row textarea{
    resize: none;
    height: 120px;
}
.lp_m_booking .form_box .form_row .select_date{
    display: flex;
    gap: 8px;
}
.lp_m_booking .form_box .form_row .date_picker_box{
    position: relative;
}
.lp_m_booking .form_box .form_row .date_picker_box input{
    padding: 4px 12px;
    width: 131px;
    height: 34px;
}
.lp_m_booking .form_box .form_row .date_picker_box input::placeholder{
    color: #fff;
}
.lp_m_booking .btn_container{
    display: flex;
    gap: 8px;
    padding: 24px 0 32px;
}
.lp_m_booking .btn_container button{
    width: 100%;
    padding: 12px 0;
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    border-radius: 6px;
}
.bgB .lp_m_booking .btn_container .white_btn{
    background-color: #424242;
    color: #fff;
    border: none;
}
/* .bgB .custom-select-text{
    background-image: url('/images/ico_select_down_white.png');
} */
.bgB .custom-select-dropdown{
    border: 1px solid #424242 !important;
    background-color: #191919;
}
.bgB .ui-datepicker,
.bgB .ui-datepicker .ui-datepicker-header,
.bgB .ui-datepicker td span,.bgB .ui-datepicker td a{
    background-color: #000 !important;
}
.bgB .ui-datepicker th{
    border-bottom: 10px solid #000 !important;
    color: #fff !important;
    background-color: #191919 !important;
}
.bgB .ui-state-default,
.bgB .ui-datepicker .ui-datepicker-title{
    color: #fff !important;
}
.bgB .ui-datepicker .ui-state-active,.bgB .ui-state-default:hover{
    background-color: #d41d1d !important;
}
.bgB .header_m2{
    background-color: #000;
}
.lp_m_booking .custom-select-box{
    border: 1px solid #424242;
    padding: 4px 12px;
    min-width: 82px;
    background-color: #191919;
    color: #fff;
}
.lp_m_booking .custom-select-dropdown{
    border: 1px solid #D0D2D9;
}
.lp_m_booking .select_people .custom-select-box{
    width: 100%;
}
.f_booking .ui-widget.ui-widget-content{
    height: max-content;
    left: 0 !important;

    border: 1px solid #EBECF0 !important;
}
.f_booking .ui-datepicker th{
    border-bottom: 10px solid #fff;
}
.friends_store .tab_btn,
.friends_mission .tab_btn{
    display: flex;
    align-items: center;
    padding: 5.5px 0 6.5px;
    border: 1px solid #737680;
    border-radius: 10px;
    margin: 30px 0 14px;
}
.friends_store .tab_btn img,
.friends_mission .tab_btn img{
    width: 1px;
    height: 14px;
}
.friends_store .tab_btn button,
.friends_mission .tab_btn button{
    width: 100%;
    font-size: 14px;
    line-height: 26px;
    color: #E1E3E8CC;
    font-weight: 400;
}
.friends_store .tab_btn button.tab_active,
.friends_mission .tab_btn button.tab_active{
    color: #FFFFFF;
    font-weight: 600;
}
.friends_store .product_list{
    display: flex;
    gap: 12px;
    padding: 26px 0;
    border-bottom: 1px solid #424242;
}
.friends_store .product_list .img_box{
    width: 70px;
    height: 70px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    border-radius: 10px;
}
.friends_store .product_list .text_box{
    display: flex;
    flex-direction: column;
    flex: 1;
}
.friends_store .product_list .text_box .title{
    font-size: 16px;
    line-height: 24px;
    font-weight: 700;
    color: #fff;
}
.friends_store .product_list .text_box .description{
    font-size: 14px;
    line-height: 22px;
    color: #E1E3E8CC;
}
.friends_store .btn_box{
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.friends_store .btn_box span,
.friends_store .btn_box .red_btn{
    border-radius: 6px;
    padding: 4px 5px;
    font-size: 13px;
    line-height: 20px;
    font-weight: 600;
    width: 82px;
    text-align: center;
    box-sizing: border-box;
}
.friends_store .btn_box .buy_pass_label{
    border: 1px solid #4267FB;
    color: #4267FB;
}
.friends_store .btn_box .friends_pass_label{
    border: 1px solid #FE456D;
    color: #FE456D;
}
.friends_store .store_detail_area{
    position: relative;
}
.friends_store .store_detail_area .stamp{
    position: absolute;
    top: 95px;
    right: -10px;
}
.friends_store .store_detail_area .product_list{
    border-bottom: none;
    margin-top: 14px;
}
.friends_store .store_detail_area .img_box{
    border-radius: 10px;
    overflow: hidden;
}
.friends_store .store_detail_area .red_btn{
    width: 100%;
    padding: 7px 0;
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    border-radius: 4px;
    margin-top: 18px;
}
.friends_mission h2{
    font-size: 18px;
    line-height: 26px;
    font-weight: 600;
    text-align: center;
    margin: 32px 0 20px;
    color: #fff;
}
.friends_mission .calendar_area{
    padding-bottom: 36px;
    /* display: flex; */
}
.friends_mission .calendar_area .ui-datepicker{
    width: 100% !important;
}
.friends_mission .calendar_area .ui-widget.ui-widget-content{
    padding: 0 !important;
}
.friends_mission .calendar_area .ui-datepicker .ui-datepicker-header{
    display: none;
}
.friends_mission .calendar_area .ui-datepicker th{
    padding: 6px 0 0 !important;
}
.friends_mission .calendar_area .ui-datepicker tbody{
    border-top: 14px solid transparent;
}
.friends_mission .calendar_area .ui-datepicker td span, .ui-datepicker td a{
    font-weight: 400 !important;
}
.friends_mission .calendar_area .ui-datepicker .ui-state-hover{
    background-color: transparent !important;
    color: inherit !important;
}
.friends_mission .calendar_area .ui-datepicker .ui-state-active{
    color: transparent !important;
    border-radius: 0 !important;
    background-color: #000 !important;
    background-image: url('/images/ico_belly_01.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 28px;
}
.friends_mission .stamp_box{
    background-color: #191919;
    border-radius: 10px;
    padding: 22px 26px;
}
.friends_mission .stamp_box .stamp_container{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.friends_mission .stamp_box .stamp_container:not(:last-child){
    border-bottom: 1px solid #424242;
    padding-bottom: 12px;
}
.friends_mission .stamp_box .stamp_container:not(:first-child){
    padding-top: 12px;
}
.friends_mission .stamp_box .stamp_container .stamp_quantity{
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 8px;
}
.friends_mission .stamp_box .stamp_container .stamp_quantity span{
    color: #FE456D;
    font-size: 20px;
    line-height: 26px;
    font-weight: 700;
}
.friends_mission .stamp_box .stamp_container .stamp_quantity img{
    width: 40px;
    height: 40px;
}
.friends_mission .stamp_box .stamp_container .stamp_area .description{
    font-size: 13px;
    line-height: 26px;
    color: #fff;
}
.friends_mission .stamp_box .stamp_container .stamp_area .description b{
    font-weight: 700;
}
.friends_mission .stamp_box .stamp_container .point_area{
    background-color: #FE456D;
    border-radius: 30px;
    color: #fff;
    font-size: 16px;
    line-height: 26px;
    font-weight: 800;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 120px;
    height: 44px;
}
.friends_mission .stamp_box .stamp_container .point_area span{
    margin-left: 4px;
}
.friends_mission .mission_stamp_box{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 14px;
    max-width: 304px;
    margin: 30px auto 40px;
}
.friends_mission .mission_stamp_box img{
    width: 92px;
}
.friends_mission .mission_event .stamp_box{
    padding: 28px 26px;
}
.friends_mission .mission_event .stamp_box p{
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    padding-bottom: 8px;
    border-bottom: 1px solid #424242;
    margin-bottom: 12px;
    color: #fff;
}
.friends_mission .mission_event .stamp_box ul li{
    color: #fff;
    display: flex;
    align-items: start;
    gap: 9px;
    font-size: 14px;
    line-height: 22px;
}
.friends_mission .mission_event .stamp_box ul li::before{
    content: '';
    display: block;
    width: 4px;
    height: 4px;
    border-radius: 10px;
    background-color: #737680;
    margin-top: 9px;
    flex-shrink: 0;
}
.bgB .os_m_header{
    background-color: #000;
}
.bgB .os_m_header h1{
    color: #fff;
}
.bgB .os_m_header .btn_back img{
    width: auto;
    height: auto;
}
/* cs */
.cs_contents {
    display: flex;
    margin-top: 40px;
    gap: 50px;
}
.cs_contents .cs_nav{
    padding: 20px 20px;
    box-sizing: border-box;
    border: 1px solid #EBECF0;
    height: fit-content;
    min-width: 168px;
}
.cs_contents .cs_nav p{
    text-align: left;
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 700;
    color: #1B1B1F;
    padding: 6px 0 14px;
    border-bottom: 1px solid #EBECF0;
}
.cs_contents .cs_nav ul{
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-top: 8px;
    justify-content: center;
}
.cs_contents .cs_nav ul li{
    padding: 6px 0;
    font-size: 1rem;
    line-height: 1.5rem;
    text-align: left;
}
.cs_contents .cs_nav ul li a.active{
    color:  #f02028;
    font-weight: 600;
}
.cs_contents .cs_container{
    width: 100%;
}
.cs_contents .cs_container .cs_title{
    display: flex;
    justify-content: space-between;
    margin-bottom: 42px;
}
.cs_contents .cs_container .cs_title h2 {
    font-size: 22px;
    /* font-size: clamp(32px, 2vw, 40px); */
    line-height: 32px;
    font-weight: 700;
    color: #1B1B1F;
}

.cs_contents .cs_container .cs_title ul{
    display: flex;
    align-items: center;
}
.cs_contents .cs_container .cs_title ul li:not(:last-child){
    padding-right: 24px;
    background-image: url('/images/btn_pagination2.png');
    background-repeat: no-repeat;
    background-position: right 0px center;
}
.cs_contents .cs_container .cs_title ul li a{
    color: #737680;
    font-size: 1rem;
    line-height: 1.5rem;
}
.cs_contents .cs_container .cs_title ul li a.active{
    font-weight: 700;
}
.cs_contents .cs_container .btn_wrap{
    width: 100%;
    display: flex;
    justify-content: end;
}
.cs_contents .cs_container .btn_wrap a{

    display: block;
    padding: 10px 14px;
    border-radius: 0px;
    font-size: 14px;
    font-weight: 600;
}
.cs_contents .cs_container .cs_table{
    width: 100%;
}
.cs_contents .cs_container .cs_table thead th {
    font-size: 14px;
    line-height: 1.5rem;
    font-weight: 600;
    border-width: 0px 0 1px 0;
    border-color: #cdcdcd;
    border-style: solid;
    padding: 12px 14px;
    white-space: nowrap;
    background: #f8f8f8;
}
.cs_contents .cs_container .cs_table tbody td{
    padding: 20px 18px;
    border-bottom: 1px solid #EBECF0;
    text-align: center;
    line-height: 1.5rem;
    font-size: clamp(14px,1vw,16px);
}
.cs_contents .cs_container .cs_table thead.pc_view{
    display: table-header-group;
}
.cs_contents .cs_container .notice_table thead th{
    background-color: #f8f8f8;

}
.cs_contents .cs_container .notice_table tbody tr{
    cursor: pointer;
}
.cs_contents .cs_container .notice_table tbody td img{
    max-width: 14px;
    display: inline;
    margin-left: 6px;
}

.cs_contents .cs_container .notice_table .notice_drop .image img{
  display: block !important;
  width: 100%;
  max-width: none !important;
  margin-left: 0;
}

.cs_contents .cs_container .notice_table .notice-title-mobile,
.cs_contents .cs_container .notice_table .notice-arrow-mobile{
    display: none;
}
.cs_contents .cs_container .notice_table .notice_drop{
    background-color: #FAFAFA;
}
.cs_contents .cs_container .notice_table .notice_drop td{
    padding: 20px 115px;
    text-align: left;
}
.cs_contents .cs_container .pagination{
    margin: 40px 0;
}
.cs_userguide .tab_menu {
    width: 100%;
}
.cs_userguide .tab_menu ul{
    display: flex;
    width: 100%;
}
.cs_userguide .tab_menu ul li{
    border: 1px solid #EBECF0;
    box-sizing: border-box;
    width: 100%;
    /* padding: 18px 0 22px; */
}
.cs_userguide .tab_menu button{
    width: 100%;
    font-size: clamp(12px,1vw,16px);
    font-weight: 600;
    line-height: 1.5rem;
    padding: 18px 0 22px;
}
.cs_userguide .tab_menu button.active{
    border: 2px solid #1B1B1F;
}
.cs_userguide .tab_menu button img{
    width: 56px;
    margin: 0 auto 10px;
}
.cs_userguide .tab_contents{
    /* width: 100%; */
    min-height: 350px;
    padding: 20px;
}
.text-left{
    text-align: left !important;
}
.text-right{
    text-align: right !important;
}
.cs_faq .search_container{
    background-color: #F5F5F7;
    display: flex;
    gap: 12px;
    justify-content: center;
    padding: 46px 0;
    margin-bottom: 25px;
}
.cs_faq .select_box .custom-select-box{
    padding: 11px 16px;
    min-width: 120px;
}
.cs_faq .search_box{
    display: flex;
    gap: 12px;
}
.cs_faq .search_box input{
    padding: 11px 40px 11px 16px;
    box-sizing: border-box;
    border: 1px solid #EBECF0;
    border-radius: 6px;
    outline: none;
    width: 319px;
    background-image: url('/images/icon_search.png');
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 16px 16px;
}
.cs_faq .search_box button {
    background-color: #000000;
    color: #fff;
    font-size: clamp(13px, 1vw, 16px);
    line-height: 1.25rem;
    border-radius: 0px;
    padding: 14px 10px;
    width: 75px;
    font-weight: 600;
}
.cs_faq .tab_menu {
    margin-bottom: 42px;
}
.cs_faq .tab_menu ul{
    display: flex;
}
.cs_faq .tab_menu ul li{
    width: 100%;
    text-align: center;
}
.cs_faq .tab_menu ul li button{
    border: 0px solid #EBECF0;
    border-bottom:1px solid #d4d4d4;
    font-size: clamp(13px,1vw,16px);
    line-height: 1.5rem;
    font-weight: 600;
    width: 100%;
    height: 100%;
    padding: 13px 0;
}
.cs_faq .tab_menu ul li button.active {
    background-color: #ffffff;
    color: #0a0a0a;
    border: 0px solid #d41d1d;
    border-bottom: 2px solid #000000;
}
.cs_faq .tab_menu ul li:first-child button{
    border-radius: 0px;

}
.cs_faq .tab_menu ul li:last-child button{
    border-radius: 0px;
}
.cs_faq .btn_container{
    display: flex;
    justify-content: center;
}
.cs_faq .btn_container a{
    width: 164px;
    border: 1px solid #D0D2D9;
    font-size: 0.875rem;
    line-height: 1.25rem;
    padding: 14px 0;
    text-align: center;
    border-radius: 6px;
}
.cs_faq .faq_detail_container{
    border: 1px solid #EBECF0;
    padding: 46px;
}
.cs_faq .faq_detail_container p{
    text-align: center;
    font-size: 1.25rem;
    line-height: 1.5rem;
    font-weight: 700;
    margin-bottom: 45px;
}
.cs_faq  .faq_btn_container{
    margin: 40px 0;
}
.cs_inquiry .select_container{
    display: flex;
    gap: 10px;
    margin-bottom: 14px;
}
.cs_inquiry .select_container .select_box{
    width: 210px;
}
.cs_inquiry .select_container .custom-select-box{
    width: 100%;
}
.cs_inquiry .select_container .custom-select-text{
    width: calc(100% - 24px);
}
.cs_inquiry .select_container input{
    padding: 8px 12px;
    box-sizing: border-box;
    border: 1px solid #EBECF0;
    border-radius: 6px;
    outline: none;
    width: 100%;
    line-height: 1.5rem;
}
/* 1:1 문의 추가 정보: 등록/수정 폼 및 상세 공통 */
.cs_inquiry .inquiry_extra_fields{
    display: grid;
    grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 14px;
}
.cs_inquiry .inquiry_extra_field{
    min-width: 0;
}
.cs_inquiry .inquiry_extra_field input{
    width: 100%;
    min-height: 42px;
    padding: 8px 12px;
    border: 1px solid #EBECF0;
    border-radius: 2px;
    box-sizing: border-box;
    font: inherit;
    font-size: 14px;
    line-height: 24px;
}
.cs_inquiry .inquiry_extra_field .custom-select-box{
    width: 100%;
    min-height: 42px;
}
.cs_inquiry .inquiry_extra_field .custom-select-text{
    width: 100%;
    box-sizing: border-box;
    text-align: left;
}
.cs_inquiry .inquiry_extra_field input:focus-visible,
.cs_inquiry .inquiry_extra_field .custom-select-box:focus-visible{
    outline: 2px solid #737680;
    outline-offset: 2px;
}
.cs_inquiry .inquiry_extra_details{
    margin: 0;
    font-size: 14px;
    line-height: 24px;
}
.cs_inquiry .inquiry_extra_details > div{
    display: grid;
    grid-template-columns: 90px minmax(0, 1fr);
    gap: 12px;
}
.cs_inquiry .inquiry_extra_details > div + div{
    margin-top: 8px;
}
.cs_inquiry .inquiry_extra_details dt{
    font-weight: 600;
}
.cs_inquiry .inquiry_extra_details dd{
    margin: 0;
    overflow-wrap: anywhere;
}
@media (max-width: 767px){
    .cs_inquiry .inquiry_extra_fields{
        grid-template-columns: minmax(0, 1fr);
    }
}
.cs_inquiry .btn_container{
    display: flex;
    justify-content: end;
}
.cs_inquiry .btn_container button{
    background-color: #d41d1d;
    color: #fff;
    border-radius: 6px;
    padding: 14px 0;
    width: 164px;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 600;
    margin: 24px 0;
}
.cs_inquiry .editor_container{
    min-height: 350px;
    border: 1px solid #EBECF0;
}
.cs_inquiry .inquiry_read_table{
    border: 1px solid #EBECF0;
}
/* 문의 상세 추가 정보: 회색 항목명 / 값의 세 쌍 */
.cs_contents .cs_container .inquiry_read_table .inquiry_product_info_cell{
    padding: 0;
    text-align: left;
}
.cs_inquiry .inquiry_product_info{
    display: grid;
    grid-template-columns: 92px minmax(0, 2fr) 92px minmax(0, 1fr) 92px minmax(0, 1fr);
    margin: 0;
    font-size: 14px;
    line-height: 24px;
}
.cs_inquiry .inquiry_product_info dt,
.cs_inquiry .inquiry_product_info dd{
    display: flex;
    align-items: center;
    min-width: 0;
    margin: 0;
    padding: 16px 12px;
    border-right: 1px solid #EBECF0;
    overflow-wrap: anywhere;
}
.cs_inquiry .inquiry_product_info dt{
    justify-content: center;
    background-color: #F8F8F8;
    font-weight: 600;
}
.cs_inquiry .inquiry_product_info dd{
    background-color: #fff;
}
.cs_inquiry .inquiry_product_info dd:last-child{
    border-right: none;
}
@media (max-width: 767px){
    .cs_inquiry .inquiry_product_info{
        grid-template-columns: 92px minmax(0, 1fr);
    }
    .cs_inquiry .inquiry_product_info dt,
    .cs_inquiry .inquiry_product_info dd{
        padding: 12px;
    }
    .cs_inquiry .inquiry_product_info dd{
        border-right: none;
    }
    .cs_inquiry .inquiry_product_info > :not(:nth-last-child(-n+2)){
        border-bottom: 1px solid #EBECF0;
    }
}
.cs_inquiry .inquiry_read_table .inquiry_text_box{
    height: 270px;
}
.cs_inquiry .inquiry_btn_container{
    display: flex;
    justify-content: end;
    gap: 10px;
    margin: 26px 0;
}

.cs_inquiry .inquiry_btn_container button,
.cs_inquiry .inquiry_btn_container a{
    width: 96px;
    padding: 12px 0;
    font-size: clamp(14px,1vw,16px);
    line-height: 1.5rem;
    font-weight: 600;
    border-radius: 6px;
    text-align: center;
}

.cs_inquiry .inquiry_btn_container .white_btn{
    border: 1px solid #D0D2D9;
    background-color: #fff;
}
.cs_inquiry .inquiry_btn_container .red_btn{
    background-color: #f12027;
    color: #fff;
}

.cs_inquiry .inquiry_read_table .answer_box{
    background-color: #FAFAFA;
    color: #5E606B;
    height: 200px;
}
/* .cs_inquiry .cs_container .inquiry_read_table .fw600{
    width: 14%;
    text-align: left !important;
} */
.cs_contents .cs_container.cs_inquiry{
    min-width: 0;
}
.cs_inquiry .file_container{
    margin-top: 14px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.cs_inquiry .file_container .file_box{
    display: flex;
    gap: 16px;
    position: relative;
}
.cs_inquiry .file_container .file_box .file_btn{
    width: 100%;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    border: 1px solid #EBECF0;
    border-radius: 6px;
    font-size: 0.875rem;
    line-height: 1.5rem;
    font-weight: 500;
    padding: 8px 0;
}
.cs_inquiry .file_container .file_box .plus_btn,
.cs_inquiry .file_container .file_box .minus_btn{
    width: 40px;
    height: 40px;
    border: 1px solid #EBECF0;
    border-radius: 30px;
    background-repeat: no-repeat;
    background-position: center;
    flex-shrink: 0;
}
.cs_inquiry .file_container .file_box .plus_btn{
    background-image: url('/images/btn_ico_plus.png');
}
.cs_inquiry .file_container .file_box .minus_btn{
    background-image: url('/images/btn_ico_minus.png');
}
.cs_inquiry .file_container .file_box .file_list_area{
    display: none;
    width: 100%;
    min-width: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
    border: 1px solid #EBECF0;
    border-radius: 6px;
    font-size: 0.875rem;
    line-height: 1.5rem;
    font-weight: 500;
    padding: 8px 12px;
    box-sizing: border-box;
}
.cs_inquiry .file_container .file_box.has_files .file_list_area{
    display: flex;
}
.cs_inquiry .file_container .file_box.has_files .file_btn{
    display: none;
}
.cs_inquiry .file_container .file_box .file_list_area > div{
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 6px;
    max-width: 100%;
    overflow: hidden;
}
.cs_inquiry .file_container .file_box .file_list_area span{
    min-width: 0;
    white-space: nowrap;
    text-overflow: ellipsis;
    flex: 1;
    overflow: hidden;
}
.cs_inquiry .file_container .file_box .file_list_area .file_name{
    display: flex;
}
.cs_inquiry .file_container .file_box .file_list_area .file_attach_name{
    flex: 0 1 auto;
}
.cs_inquiry .file_container .file_box .file_list_area .file_attach_extension{
    flex: 0 0 auto;
}
.cs_inquiry .file_container .file_box .file_list_area button{
    width: 10px;
    height: 10px;
    text-indent: -9999px;
    background: url('/images/xBtn_black.png') no-repeat center;
    flex-shrink: 0;
}
/* 마이페이지 */
.mp_contents .cs_nav ul li{
    text-align: left;
}
.mp_contents .cs_title h2{
    margin-bottom: 0;
    font-size: 26px !important;
}
.os_m_header .coupon_register_btn{
    font-size: 13px;
    padding: 6px 10px;
    white-space: nowrap;
}
.mp_contents .mp_container .tab_btn{
    width: 100%;
    display: flex;
    align-items: center;
    margin-bottom: 12px;
}
.mp_contents .mp_container .coupon_tab_row{
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    gap: 12px;
    margin-bottom: 30px;
}
.mp_contents .mp_container .coupon_tab_row .tab_btn{
    flex: 1;
    margin-bottom: 0;
    width: auto;
    min-width: 0;
}
.mp_contents .mp_container .coupon_tab_row .coupon_register_btn{
    flex-shrink: 0;
    align-self: center;
    min-width: 96px;
    padding: 12px 20px;
    font-size: 14px;
    line-height: 20px;
    white-space: nowrap;
    position: relative;
    z-index: 2;
}
.mp_contents .mp_container .tab_btn button{
    width: 100%;
    border-bottom: 1px solid #EBECF0;
    color: #5E606B;
    font-size: 16px;
    line-height: 26px;
    padding: 12px 0;
}
.mp_contents .mp_container .tab_btn button.tab_active{
    border-bottom: 2px solid #000000;
    color: #1B1B1F;
    font-weight: 700;
}
.mp_contents .mp_container .filter_box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 24px;
    box-sizing: border-box;
    margin-bottom: 22px;
    justify-content: end;
}
.mp_contents .mp_container .filter_box > div{
    display: flex;
    gap: 14px;
    align-items: center;
}
.mp_contents .mp_container .period_search > div{
    display: flex;
}
.mp_contents .mp_container .period_search button{
    padding: 10px 13.5px;
    font-size: 14px;
    line-height: 20px;
    border: 1px solid #D0D2D9;
    width: 60px;
}
.mp_contents .mp_container .period_search button.active{
    border: 1px solid #d41d1d;
    background-color: #d41d1d;
    color: #fff;
    font-weight: 600;
}
.mp_contents .mp_container .period_search button:first-of-type{
    border-radius: 6px 0 0 6px;
}
.mp_contents .mp_container .period_search button:last-of-type{
    border-radius: 0 6px 6px 0;
}
.mp_contents .mp_container .month_search button{
    border: 0px solid #d41d1d;
    background-color: #fff;
    font-size: 14px;
    line-height: 20px;
    padding: 10px 16.5px;
    border-radius: 6px;
    color: #000000;
    font-weight: 600;
}
.mp_contents .mp_container .select_box{
    display: flex;
    gap: 8px;
}
.mp_contents .mp_container .select_box .custom-select-box{
    width: 94px;
    padding: 10px;
}

.mp_contents .mp_container .month_search .select_box .custom-select-box{
  width: 118px;
}

.mp_contents .mp_container .filter_box > div span,
.mp_contents .mp_container .select_box .custom-select-text,
.mp_contents .mp_container .select_box .custom-option{
    font-size: 14px;
    line-height: 20px;
}
.mp_contents .mp_container .mp_table th{
    background-color: #ffffff;
    vertical-align: middle;
}
.mp_contents .mp_container .mp_table td{
    padding: 19px 16px;
    vertical-align: middle;
    font-size: 14px;
    line-height: 20px;
}
.mp_contents .mp_container .mp_table td:not(.white_wrap){
    /* white-space: nowrap; */
}
.mp_contents .mp_container .mp_table td span{
    display: block;
    width: 100%;
    font-size: 14px;
    line-height: 20px;
}
.mp_contents .mp_container .mp_table .booking_td{
    display: flex;
    gap: 14px;
    max-width: 420px;
}
.mp_contents .mp_container .mp_table .booking_td_img{
    width: 70px;
    min-width: 70px;
    height: 86px;
    border-radius: 4px;
    overflow: hidden;
}
.mp_contents .mp_container .mp_table .booking_td_img img{
    object-fit: cover;
}
.mp_contents .mp_container .mp_table .booking_td_text a,
.mp_contents .mp_container .mp_table .booking_td_text span{
    text-align: left;
    font-size: 14px;
    line-height: 20px;
}
.mp_contents .mp_container .mp_table .booking_td_text a{
    font-weight: 700;
}
.mp_contents .mp_container .mp_table button{
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    line-height: 20px;
    font-weight: 600;
    color: #1B1B1F;
    text-align: center;
    width: 84px;
    height: 26px;
    padding: 0;
    box-sizing: border-box;
    border-radius: 2px;
}
.mp_contents .mp_container .mp_table .btn_container{
    display: flex;
    gap: 6px;
    justify-content: center;
    margin-top: 8px;
    min-width: 180px;
}
.mp_contents .mp_container .mp_table .white_btn{
    border: 1px solid #cdcdcd;
}
.mp_contents .mp_container .mp_table .red_btn{
    background-color: #d41d1d;
    border: #d41d1d;
    color: #fff;
}
.mp_contents .mp_container .mp_table2{
    width: 100%;
}
.mp_contents .mp_container .mp_table2 thead tr{
    background: #F8F8F8;
    border-bottom: 1px solid #cdcdcd;
}
.mp_contents .mp_container .mp_table2 th{
    color: #5E606B;
    font-size: 13px;
    line-height: 24px;
    font-weight: 500;
    background: #F8F8F8;
    padding: 12px 14px;
    border-bottom: none;
    text-align: center;
    white-space: nowrap;
}
.mp_contents .mp_container .mp_table2 td{
    padding: 12px 14px;
    border-bottom: 1px solid #EBECF0;
}
.mp_contents .mp_container .mp_table2 td{
    text-align: center;
    font-size: 14px;
    line-height: 20px;
    background:#fff;
    white-space: nowrap;
}
.mp_contents .mp_container .mp_table2 td:nth-child(4){
    color: #5E606B;
}
.mp_contents .cs_container .pagination{
    margin-top: 26px;
}
.mp_contents .mp_booking_info{
    display: flex;
    gap: 34px;
    margin-bottom: 40px;
}
.mp_contents .mp_booking_info .img_box{
    width: 200px;
    height: 240px;
    border-radius: 6px;
    overflow: hidden;
}
.mp_contents .mp_booking_info .table_box{
    flex: 1;
}
.mp_contents .mp_booking_info h3{
    font-size: 26px;
    line-height: 34px;
    font-weight: 700;
    border-bottom: 1px solid #EBECF0;
    padding-bottom: 15px;
    margin-bottom: 26px;
}

.mp_contents .mp_booking_info table th,
.mp_contents .mp_booking_info table td{
    font-size: 16px;
    line-height: 24px;
}
.mp_contents .mp_booking_info table th{
    font-weight: 600;
    text-align: left;
}
.mp_contents .mp_booking_info table td{
    padding: 4px 30px;
}
.mp_contents .mp_booking_info table td .white_btn{
    border: 1px solid #D0D2D9;
    font-size: 12px;
    line-height: 20px;
    font-weight: 500;
    padding: 4px 14px;
    box-sizing: border-box;
    border-radius: 6px;
    margin-left: 12px;
}
.mp_contents .mp_booking_table table{
    width: 100%;
}
.mp_contents .mp_booking_table table th,
.mp_contents .mp_booking_table table td{
    border: 1px solid #EBECF0;
    padding: 12px 16px;
    vertical-align: middle;
}
.mp_contents .mp_booking_table table th{
    background-color: #FAFAFA;
    color: #5E606B;
    font-size: 16px;
    line-height: 24px;
    font-weight: 500;
    text-align: left;
}
.mp_contents .mp_booking_table table td .red_text{
    display: block;
    font-size: 14px;
    line-height: 24px;
    margin-top: 4px;
}
.mp_contents .mp_d_container h3{
    font-size: 26px;
    line-height: 46px;
    font-weight: 700;
    margin-bottom: 22px;
    display: flex;
    gap: 18px;
}
.mp_contents .mp_d_container > div:not(.mp_booking_info){
    margin-bottom: 50px;
}
.mp_contents .mp_d_container .white_btn{
    border: 1px solid #D0D2D9;
    padding: 9px 10px;
    border-radius: 6px;
    box-sizing: border-box;
    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
    height: fit-content;
}
.mp_contents .mp_table_2{
    width: 100%;
}
.mp_contents .mp_table_2 th,
.mp_contents .mp_table_2 td{
    border: 1px solid #EBECF0;
    padding: 12px 16px;
    vertical-align: middle;
    text-align: center;
}
.mp_contents .mp_table_2 th{
    background-color: #FAFAFA;
    color: #5E606B;
    font-size: 16px;
    line-height: 24px;
    font-weight: 500;
}
.mp_contents .mp_table_2 td .red_text{
    display: block;
    font-size: 14px;
    line-height: 24px;
    margin-top: 4px;
}
.mp_contents .mp_seat_info .btn_container{
    display: flex;
    justify-content: center;
    margin-top: 24px;
}
.mp_contents .mp_seat_info .red_btn{
    width: 160px;
    padding: 12px 0;
    border-radius: 6px;
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    color: #fff;
    background-color: #d41d1d;
}
.mp_contents .mp_seat_info table .check_img{
    width: 20px !important;
    height: 20px;
    justify-content: center;
    margin: 0 auto;
    position: relative;
}
.mp_contents .mp_table2 .check_img{
    width: 16px !important;
    height: 16px;
    justify-content: center;
    margin: 0 auto;
    position: relative;
    border: 1.5px solid #aaa;
    border-radius: 2px;
    box-sizing: border-box;
    background-image: none !important;
}
.mp_contents .mp_table2 input[type="checkbox"]:checked + .check_img{
    background-image: none;
    background-color: #1B1B1F;
    border-color: #1B1B1F;
    border-radius: 2px;
}
.mp_contents .mp_table2 input[type="checkbox"]:checked + .check_img::after{
    content: "";
    position: absolute;
    left: 50%;
    top: 45%;
    width: 5px;
    height: 9px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: translate(-50%, -50%) rotate(45deg);
}
.payment_card_box{
    display: flex;
    width: 100%;
}
.payment_card{
    padding: 20px 20px 28px 20px;
    width: 33.33%;
    border-top: 1px solid #EBECF0;
    border-bottom: 1px solid #EBECF0;
}
.payment_card:nth-child(1){
    border-left: 1px solid #EBECF0;
}
.payment_card:last-child{
    border-left: 1px solid #EBECF0;
    border-right: 1px solid #EBECF0;
    background-color: #FAFAFA;
}
.payment_card:last-child .card_bottom span{
    font-weight: 500;
    color: #1B1B1F !important;
}
.payment_card .card_top{
    border-bottom: 1px solid #EBECF0;
    padding-bottom: 20px;
}
.payment_card .card_top span{
    display: block;
}
.payment_card .card_top .top_text{
    font-size: 16px;
    line-height: 24px;
    font-weight: 500;
    margin-bottom: 10px;
}
.payment_card .card_top .top_payment{
    font-size: 22px;
    line-height: 28px;
    font-weight: 700;
    text-align: right;
}
.payment_card .card_bottom{
    margin-top: 20px;
}
.payment_card .card_bottom > div{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.payment_card .card_bottom > div:not(:last-child){
    margin-bottom: 8px;
}
.payment_card .card_bottom dt,
.payment_card .card_bottom dd{
    color: #737680;
    font-size: 14px;
    line-height: 20px;
}
.mp_contents .mp_payment_info .gray_box{
    height: 76px;
    margin-top: 50px;
}
.mp_contents .mp_payment_info .gray_box p{
    font-size: 24px;
    line-height: 24px;
    font-weight: 600;
}
.mp_contents .mp_payment_detail .btn_container{
    margin-top: 10px;
    display: flex;
    justify-content: space-between;
}
.mp_contents .mp_cancel_info h4{
    font-size: 20px;
    line-height: 26px;
    font-weight: 600;
    margin-bottom: 16px;
}
.mp_contents .mp_cancel_info p{
    font-size: 16px;
    line-height: 24px;
}
.mp_contents .mp_cancel_info table{
    margin: 24px 0;
}
.mp_contents .mp_cancel_info ul li{
    font-size: 14px;
    line-height: 20px;
    color: #5E606B;
}
.mp_contents .mp_cancel_info .btn_container{
    margin-top: 30px;
    display: flex;
    gap: 10px;
    justify-content: center;
}
.mp_contents .mp_cancel_info .btn_container .white_btn{
    width: 160px;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 24px;
    padding: 12px 0;
}
.mp_contents .mp_cancel_info .gray_box{
    height: 120px;
    margin-bottom: 36px;
}
.mp_contents .gray_box{
    background-color: #FAFAFA;
    border: 1px solid #EBECF0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.mp_contents .mp_cancel_info .gray_box p{
    font-size: 18px;
    line-height: 24px;
    text-align: center;
    font-weight: 500;
}
.mp_contents .mp_notice h4{
    font-size: 20px;
    line-height: 20px;
    font-weight: 600;
    margin-bottom: 16px;
}
.mp_contents .mp_notice ul li{
    font-size: 14px;
    line-height: 20px;
    color: #5E606B;
}
.mp_contents .mp_notice ul li span{
    font-weight: 600;
}
.mp_contents .mp_table2 .drop_btn{
    width: 12px;
    height: 8px;
}
.mp_contents .mp_table2 .inflex{
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.mp_contents .mp_table2 .cursorP{
    cursor: pointer;
}
.mp_contents .mp_table2 .star_rate_img{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2px;
    margin: 0 auto;
    width: 136px;
}
.mp_contents .mp_table2 .star_rate_img img{
    width: 16px;
    height: 16px;
}
.mp_contents .mp_table2 .review_drop td{
    white-space: normal;
    text-align: left;
    padding: 0;
}
.mp_contents .mp_table2 .review_drop .review_panel{
    display: flex;
    align-items: flex-start;
    gap: 18px;
    background: #F8F8F8;
    border: 1px solid #EBECF0;
    border-radius: 6px;
    padding: 30px 36px;
    margin: 20px 0;
}
.mp_contents .mp_table2 .review_drop .review_tag{
    display: block;
    width: fit-content;
    flex-shrink: 0;
    font-size: 14px;
    font-weight: 400;
    color: #5E606B;
}
.mp_contents .mp_table2 .review_drop .review_body{
    font-size: 14px;
    font-weight: 400;
    color: #5E606B;
    line-height: 1.8;
    text-align: left;
    flex: none;
    max-width: 550px;
}
.mp_contents .mp_table2 .review_drop .img_box{
    width: 200px;
    height: 240px;
    flex-shrink: 0;
    margin-left: auto;
    border-radius: 6px;
    overflow: hidden;
}
.mp_contents .mp_table2 .review_drop .img_box img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.mp_contents .review_container .cs_title{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 64px;
}
.mp_contents .review_container .btn_container{
    display: flex;
    gap: 9px;
}
.mp_contents .review_container .pagination a{
    width: 28px;
    height: 28px;
    font-weight: 400;
    font-size: 13px;
    color: #5E606B;
    opacity: 0.8;
}
.mp_contents .review_container .pagination .page-active a{
    background: none;
    color: #D41D1D;
    font-weight: 500;
    font-size: 15px;
    opacity: 1;
}
.mp_contents .review_container .pagination .prev,
.mp_contents .review_container .pagination .next{
    background-image: none;
    transform: none;
    border: none;
    width: 28px;
    height: 28px;
}
.mp_contents .review_container .pagination .prev a,
.mp_contents .review_container .pagination .next a{
    width: 28px;
    height: 28px;
    border-radius: 0;
}
.mp_contents .review_container .pagination .prev a img,
.mp_contents .review_container .pagination .next a img{
    width: 18px;
    height: 18px;
    display: block;
}
.mp_contents .review_container .pagination .prev a img{
    transform: rotate(180deg);
}
.mp_contents .review_container .btn_container button{
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    line-height: 1;
    font-weight: 600;
    width: 90px;
    height: 40px;
    padding: 0;
    border-radius: 2px;
}
.mp_contents .review_container .btn_container .white_btn{
    background-color: #fff;
    border: 1px solid #D0D2D9;
}
.mp_contents .review_container .btn_container .red_btn{
    background-color: #d41d1d;
    color: white;
}
.mp_container .mp_form{
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.mp_container .mp_form input:not(input[type="checkbox"]){
    border: 1px solid rgba(235, 236, 240, 1);
    padding: 10.5px 12px;
    border-radius: 6px;
    box-sizing: border-box;
    width: 100%;
    font-size: 16px;
    line-height: 100%;
}
.mp_container .mp_form input[type="checkbox"],
.mp_container .mp_form .check_img{
    width: 20px;
    height: 20px;
}
.mp_container .mp_form input::placeholder{
    color: rgba(115, 118, 128, 1);
    font-family: 'pretendard';
    font-size: 16px;
    line-height: 100%;
}
.mp_container .mp_form textarea{
    border: 1px solid #D0D2D9;
    min-height: 330px;
    font-family: 'pretendard';
    font-size: 16px;
    line-height: 24px;
    padding: 15px;
    box-sizing: border-box;
    resize: none;
}
.mp_container .mp_form textarea:focus{
    outline: none;
}
.mp_container .mp_form textarea:focus-visible{
    outline: 3px solid #5EA4FF;
    outline-offset: 2px;
    border-radius: 4px;
}
.mp_container .mp_form textarea::-webkit-scrollbar{
    width: 14px;

}
.mp_container .mp_form textarea::-webkit-scrollbar-track{
    background-color: #F4F4F4;
}
.mp_container .mp_form textarea::-webkit-scrollbar-thumb{
    background-color: #D6D8DC;
    border-radius: 50px;
}
.mp_container .mp_form .input_box{
    display: flex;
    gap: 10px;
}
.mp_container .mp_form .input_box label{
    flex: 1;
    min-width: 0;
}
.mp_container .mp_form .input_box .white_btn{
    color: #1B1B1F;
    font-size: 16px;
    line-height: 24px;
    font-weight: 500;
    padding: 8px 18px;
    border-radius: 6px;
    border: 1px solid #D0D2D9;
}
.mp_container .mp_form :disabled{
    background-color: #F5F5F7;
    border: 1px solid #EBECF0;
    color: #8E939E;
}
.mp_container .mp_form label{
    width: auto%;
}
.mp_container .goToDelete{
    text-decoration: underline;
    color: rgba(27, 27, 31, 1);
    font-size: 14px;
    line-height: 22px;
    margin-top: 16px;
}
.ep_container .btn_container{
    margin: 120px 0 96px;
    display: flex;
    justify-content: center;
    gap: 8px;
}
.ep_container .btn_container button{
    border-radius: 6px;
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    padding: 12px 0;
}
.ep_container .btn_container .red_btn{
    background-color: #d41d1d;
    color: #fff;
    width: 120px;
}
.ep_container .btn_container .white_btn{
    width: 96px;
    color: #1B1B1F;
    border: 1px solid #D0D2D9;
}
.m_ep_container{
    padding: 16px 20px;
}
.m_ep_container textarea{
    min-height: 300px !important;
}
.m_ep_container .mp_form .white_btn{
    font-size: 16px;
    line-height: 24px;
    font-weight: 500;
    padding: 8px;
    width: 96px;
    border-radius: 6px;
    margin: 0 auto;
}
.m_ep_container .btn_container{
    display: flex;
    gap: 8px;
    margin-top: 48px;
}
.m_ep_container .btn_container button{
    padding: 12px 0;
    width: 100%;
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    border-radius: 6px;
}

.terms .terms_wrap{
    margin: 0 auto;
    max-width: 1280px;
    padding: 70px 0;
}
.terms .terms_wrap h2{
    font-size: 32px;
    text-align: center;
    font-weight: 700;
    margin-bottom: 40px;
}
.terms .terms_wrap .terms_box{
    font-size: 16px;
    line-height: 24px;
}
.m_terms_wrap{
    font-size: 16px;
    line-height: 24px;
    padding: 10px 20px 50px;
}

/*데이트 피커*/
.ui-datepicker{
    font-family: 'pretendard' !important;
    width: 360px !important;
    box-sizing: border-box;
    padding: 28px 28px 15px !important;
    border-radius: 14px;
    border: 1px solid #E1E3E8;

}
.ui-datepicker .ui-datepicker-header{
    padding-bottom: 15px !important;
}
.ui-widget.ui-widget-content{
    border: none !important;
    height: 100%;
    border-radius: 14px;
}
.ui-widget-header{
    background-color: white !important;
    border: none !important;
}
.ui-datepicker-calendar{
    margin-bottom: 0 !important
}
.ui-datepicker th{
    background-color: #E1E3E859 !important;
    font-family: 'pretendard' !important;
    font-weight: 400 !important;
    font-size: 12px;
    line-height: 18px !important;
    padding: 6px 0 !important;
    color: #737680 !important;
}
.ui-datepicker-trigger{
    width: 17px;
    height: 18px;
    position: absolute;
    top: 7px;
    right: 12px;
    cursor: pointer;
}
.ui-datepicker .ui-datepicker-next-hover,
.ui-datepicker .ui-datepicker-prev-hover{
    background-color: white !important;
    cursor: pointer;
    border: none !important;
}
.ui-datepicker-prev span{
    background-image: url("/images/btn_pagination.png") !important;
    background-position: center;
    transform: rotate(180deg);
}
.ui-datepicker-next span{
    background-image: url("/images/btn_pagination.png") !important;
    background-position: center;
}
.ui-state-default {
    background-color: white !important;
    border: none !important;
    text-align: center !important;
    color: #1B1B1F !important;
    font-weight: 600 !important;
}
.ui-datepicker td span, .ui-datepicker td a{
    padding: 11px 0 !important;
}
.ui-state-highlight{
    /*    오늘 날짜 하이라이트 */
    background-color: inherit;
    color: #454545 !important;
}
.ui-datepicker .ui-state-active,.ui-state-default:hover{
    /*    선택 된 상태 */
    background-color: #d41d1d !important;
    border-radius: 20px !important;
    border: none !important;
    max-width: 36px !important;
    margin: 0 auto !important;
    color: white !important;
}
.ui-datepicker-sunday a{
    color: #E02D3C !important;
}
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="date"]::-webkit-inner-spin-button {
    display: none;
    appearance: none;
}
.datepicker::placeholder{
    font-size: 16px !important;
}
/* 셀렉트 */
.custom-select-wrapper{
    position: relative;
    user-select: none;
}
.custom-select-box{
    border: 1px solid #EBECF0;
    padding: 8px 6px 8px 12px;
    cursor: pointer;
    position: relative;
    box-sizing: border-box;
    background-color: #fff;
    width: max-content;
}
.custom-select-text{
    font-size: clamp(14px,0.83vw,16px);
    font-weight: 400;
    font-family: 'Pretendard';
    line-height: 24px;
    text-align: center;
    display: flex;
    align-items: center;
    gap: 8px;
    padding-right: 24px;
    background-size: 18px;
    background-repeat: no-repeat;
    background-position: right;
    background-image: url('/images/icon-select-down.svg');
}
.change_color_text{
    color: #737680;
}
.change_color_text.selected {
    color: #1B1B1F;
}
.custom-select-dropdown{
    display: none;
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    width: 100%;
    border: 1px solid #EBECF0;
    border-radius: 6px;
    background-color: white;
    z-index: 100;
    box-sizing: border-box;
    max-height: 270px;
    overflow-y: auto;
    padding: 8px 0;

}
.custom-select-dropdown.open{
    display: block;
}
.custom-option{
    padding: 8px 12px;
    cursor: pointer;
    font-family: 'Pretendard';
    font-size: clamp(14px,0.83vw,16px);
    display: flex;
    gap: 10px;
    font-weight: 400;
}
.custom-option:hover{
    background-color: rgba(0, 0, 0, 0.04);
}
.custom-select-wrapper.disabled .custom-select-box{
    background-color: #F4F4F7;
    color: #8E939E;
    pointer-events: none;
    opacity: 0.8;
}
/* 모달 */
.hidden{
    display: none !important;
}
.os_m_modal.hidden{
    display: block !important;
    transform: translateY(100%);;
}
.os_m_modal{
    height: 90%;
}
.modal_overlay,.modal_overlay2{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(8px);
    z-index: 2;
}
.modal{
    z-index: 3;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    background-color: #fff;
    border-radius: 16px;
    box-sizing: border-box;
}
.alert_modal{
    width: 440px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    padding: 40px 24px 24px;
    z-index: 10001;
}
.alert_modal p{
    color: #1B1B1F;
    font-size: 1rem;
    line-height: 1.5rem;
    text-align: center;
}
.alert_modal button{
    background-color: #d41d1d;
    color: #fff;
    line-height: 1.5rem;
    font-weight: 700;
    border-radius: 6px;
    width: 160px;
    padding: 12px;
    font-size: 1rem;
}
.contents_modal{
    width: 580px;
}
.contents_modal .modal_header{
    border-bottom: 1px solid #EBECF0;
    padding: 22px 40px 20px;
    position: relative;
}
.contents_modal .modal_header h3{
    font-size: 1.375rem;
    line-height: 1.75rem;
    font-weight: 700;
    text-align: center;
}
.contents_modal .modal_header button{
    position: absolute;
    top: 17px;
    right: 17px;
}
.contents_modal .modal_header2{
    padding: 22px 40px 20px;
    position: relative;
}
.contents_modal .modal_header2 h3{
    font-size: 20px;
    line-height: 1.75rem;
    font-weight: 700;
    text-align: left;
}
.contents_modal .modal_header2 button{
    position: absolute;
    top: 17px;
    right: 17px;
}
.contents_modal .modal_contents{
    padding: 30px 40px 40px;
}
.modal_btn_container{
    width: 100%;
    display: flex;
    gap: 8px;
    /* max-width: 248px; */
    justify-content: center;
}
.modal_btn_container button{
    width: 120px;
    padding: 12px 0;
    border-radius: 6px;
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
}
.modal_btn_container .gray_btn{
    background-color: #EBECF0;
    color: #5E606B;
}
#bookingFailedAlertModal > div{
    text-align: center;
}
#bookingFailedAlertModal .red_text{
    max-width: 300px;
}
#hallInfoModal .modal_contents{
    max-height: 600px;
    overflow: auto;
}
#hallInfoModal .modal_contents::-webkit-scrollbar{
    width:8px;
    height: 4px;
}
#hallInfoModal .modal_contents::-webkit-scrollbar-thumb{
    background-color: #8E939E;
    border-radius: 10px;
}
#hallInfoModal .modal_contents::-webkit-scrollbar-track{
    border-radius: 6px;
}
#hallInfoModal ul li{
    font-size: 1rem;
    line-height: 1.5rem;
}
#hallInfoModal ul li:nth-child(1),
#hallInfoModal ul li:nth-child(3){
    font-weight: 700;
    margin-bottom: 4px;
}
#hallInfoModal ul li:nth-child(2){
    margin-bottom: 6px;
}
#hallInfoModal ul li:nth-child(4){
    margin-bottom: 10px;
}
#hallInfoModal .map_container{
    height: 280px;
    border: 1px solid black;
    margin: 32px 0;
}
#hallInfoModal h4{
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.5rem;
    margin-bottom: 4px;
}
#hallInfoModal .mb26{
    margin-bottom: 26px;
}
#hallInfoModal .mb26 h4{
    margin-top: 10px;
}
#castingScheModal .modal_contents{
    padding: 24px 40px 40px;
}
#castingScheModal .select_box{
    display: flex;
    justify-content: flex-end;
    margin-bottom: 20px;
}
#castingScheModal .custom-select-wrapper{
    width: 176px;
}
#castingScheModal .custom-select-box{
    width: 176px;
    height: 39px;
    box-sizing: border-box;
    border: 1px solid #CDCDCD;
    border-radius: 2px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 12px;
    cursor: pointer;
    background: #fff;
}
#castingScheModal .custom-select-text{
    font-size: 0.875rem;
    color: #1B1B1F;
}
#castScheduleTable{
    width: 100%;
    border-collapse: collapse;
}
#castScheduleTable thead th{
    height: 40px;
    box-sizing: border-box;
    padding: 0;
    background: #F8F8F8;
    border-bottom: 1px solid #E6E6E6;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #646464;
}
#castScheduleTable tbody td{
    height: 40px;
    box-sizing: border-box;
    padding: 0;
    text-align: center;
    font-size: 0.875rem;
    color: #323232;
    border-bottom: 1px solid #F0F0F0;
}
#castScheduleTable thead th:first-child,
#castScheduleTable tbody td:first-child{
    border-right: 1px solid #F0F0F0;
}
#reportModal ul{
    display: flex;
    flex-direction: column;
    gap: 16px;
}
#reportModal ul li .custom_radio{
    display: flex;
    align-items: center;
    line-height: 1.25rem;

}
#reportModal ul li .custom_radio span{
    margin-left: 8px;
}
#reportModal input[type="radio"]{
    vertical-align: middle;
    width: 20px;
    height: 20px;
    appearance: none;
    border: 1.8px solid #D0D2D9;
    border-radius: 50%;
    cursor: pointer;
    margin: 0;
}
#reportModal input[type="radio"]:checked{
    border: 6px solid #d41d1d;
}
#reportModal textarea{
    outline: none;
    font-family: 'pretendard';
    resize: none;
    border: 1px solid #D0D2D9;
    border-radius: 6px;
    width: 100%;
    height: 240px;
    padding: 16px;
    font-size: 1rem;
    line-height: 1.5rem;
    box-sizing: border-box;
    margin-top: 30px;
}
#reportModal .btn_container{
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 22px;
}
#reportModal .btn_container button{
    padding: 10px 17.5px;
    border-radius: 6px;
}
#reportModal .btn_container .white_btn{
    border: 1px solid #D0D2D9;
}

#reportModal .btn_container .red_btn{
    background-color: #d41d1d;
    color: #fff;
}
#castingScheModal .select_box{
    max-width: 178px;
    margin-left: auto;
    margin-bottom: 20px;
}
#castingScheModal .select_box select{
    padding: 8px 12px;
}
#castingScheModal .custom-select-box{
    width: 178px;
}
#castingScheModal table{
    border: 1px solid #EBECF0;
    width: 100%;
}
#castingScheModal table thead{
    background-color: #FAFAFA;
}
#castingScheModal table thead th{
    border: 1px solid #EBECF0;
    font-size: 0.875rem;
    line-height: 1.5rem;
    font-weight: 500;
    color: #5E606B;
    padding: 8px 10px;
}
#castingScheModal table tbody td{
    border: 1px solid #EBECF0;
    text-align: center;
    font-size: 0.875rem;
    line-height: 1.5rem;
    padding: 8px 10px;
}
#actorProfileModal .filmo_container{
    max-height: 280px;
    overflow-y: scroll;
}
#actorProfileModal .profile_container{
    display: flex;
    gap: 30px;
    margin-bottom: 30px;
}
#actorProfileModal .profile_container .img_area{
    flex: 0 0 155px;
    max-width: 155px;
}
#actorProfileModal .profile_container .table_area{
    width: 100%;
}
#actorProfileModal .profile_container .table_area table{
    width: 100%;
    border: 1px solid #EBECF0;
}
#actorProfileModal .profile_container .table_area table th{
    border: 1px solid #EBECF0;
    background-color: #FAFAFA;
    color: #5E606B;
    font-size: 0.875rem;
    line-height: 1.5rem;
    font-weight: 500;
    width: 110px;
}
#actorProfileModal .profile_container .table_area table td{
    border: 1px solid #EBECF0;
    font-size: 0.875rem;
    line-height: 1.5rem;
    padding: 8px 16px;
}
#actorProfileModal .filmo_container{
    border: 1px solid #EBECF0;
    padding: 22px;
    font-family: 'pretendard' !important;
}
#actorProfileModal .filmo_container *{
    font-family: 'pretendard' !important;
}
#actorProfileModal .filmo_container > div:not(:last-child){
    margin-bottom: 26px;
}
#actorProfileModal .filmo_container h2{
    font-family: 'pretendard' !important;
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 700;
    margin-bottom: 8px;
}
#actorProfileModal .filmo_container h4{
    font-family: 'pretendard' !important;
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 700;
    margin-bottom: 4px;
}
#actorProfileModal .filmo_container p{
    font-family: 'pretendard' !important;
    font-size: 1rem;
    line-height: 1.5rem;
}
#actorProfileModal .filmo_container ul,
#actorProfileModal .filmo_container li{
    font-family: 'pretendard' !important;
    font-size: 1rem;
    line-height: 1.5rem;
}
#actorProfileModal .filmo_container span{
    font-family: 'pretendard' !important;
}
#actorProfileModal .filmo_container strong{
    font-family: 'pretendard' !important;
}
#actorProfileModal .filmo_container mark{
    font-family: 'pretendard' !important;
}
#actorProfileModal .filmo_container .text-huge,
#actorProfileModal .filmo_container .text-small,
#actorProfileModal .filmo_container .marker-yellow,
#actorProfileModal .filmo_container .pen-green{
    font-family: 'pretendard' !important;
}
#seatInfoModal{
    height: 100%;
}
#seatSelectModal{
    padding: 0 22px 116px;
    box-sizing: border-box;
}
#seatSelectModal .seat_select_box{
    display: flex;
    padding: 16px 0;
}
#seatSelectModal .seat_select_box p{
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    white-space: nowrap;
}
#seatSelectModal .seat_select_box button{
    width: 100%;
    display: flex;
    justify-content: end;
    align-items: center;
}
#seatSelectModal .seat_select_box button img{
    width: 12px;
    height: 8px;
}
#seatSelectModal .table_container table{
    width: 100%;
}
#seatSelectModal .table_container table tr th{
    text-align: left;
}
#seatSelectModal .table_container table tr td{
    padding: 10px 0;
}
#seatSelectModal .table_container table tr td:last-child{
    text-align: right;
}
#cancleFeeModal .modal_header{
    padding: 25px 20px;
}
#cancleFeeModal .modal_header .x_btn{
    top: 25px;
}
#cancleFeeModal .modal_content{
    padding: 22px 20px;
    height: 100%;
}
#cancleFeeModal .modal_content .cancle_fee_list{
    margin-bottom: 24px;
}
#cancleFeeModal .modal_content .cancle_fee_list ul li{
    color: #737680;
    font-size: 13px;
    line-height: 18px;
}
#cancleFeeModal .modal_content .cancle_fee_list ul li::before{
    content: '•';
    display: inline-block;
}
#cancleFeeModal .modal_content .cancle_fee_list ul li:not(:last-child){
    margin-bottom: 6px;
}
#cancleFeeModal .modal_content .cancle_fee_table h3{
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    margin-bottom: 14px;
}
#cancleFeeModal .modal_content .cancle_fee_table table{
    width: 100%;
}
#cancleFeeModal .modal_content .cancle_fee_table table th{
    background-color: #FAFAFA;
    color: #5E606B;
    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
    padding: 10px 0;
}
#cancleFeeModal .modal_content .cancle_fee_table table td{
    height: 68px;
    vertical-align: middle;
    text-align: center;
    font-size: 14px;
    line-height: 24px;
}
#cancleFeeModal .modal_content .cancle_fee_table table th,
#cancleFeeModal .modal_content .cancle_fee_table table td{
    border: 1px solid #EBECF0;
}
#cancelSeatAlertModal .btn_container{
    display: flex;
    gap: 8px;
}
#cancelSeatAlertModal .btn_container button{
    width: 120px;
}
#cancelSeatAlertModal .btn_container .gray_btn{
    background-color: #EBECF0;
    color: #5E606B;
}
#cancelRequestModal,
#cancelCompleteModal{
    width: 100%;
}
#cancelRequestModal .refund_text{
    font-size: 24px;
    line-height: 24px;
    font-weight: 600;
    margin: 60px 0;
    text-align: center;
}
#cancelRequestModal .modal_btn_container,
#cancelCompleteModal .modal_btn_container,
#changeCardModal .modal_btn_container,
#purchaseConfirmModal .modal_btn_container{
    display: flex;
    gap: 8px;
    justify-content: center;
    width: 100%;
    max-width: 100% !important;
    margin-top: 40px;
}
#cancelRequestModal .modal_btn_container button,
#cancelCompleteModal .modal_btn_container button{
    padding: 12px 0;
    width: 160px !important;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    border-radius: 6px;
}
#changeCardModal .modal_btn_container button,
#purchaseConfirmModal .modal_btn_container button{
    padding: 12px 0;
    width: 120px !important;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    border-radius: 6px;
}
#changeCardModal .select_wrapper{
    display: flex;
    flex-direction: column;
    gap: 14px;
}
#changeCardModal .select_box{
    display: flex;
    align-items: center;
    gap: 12px;
}
#changeCardModal .select_box label{
    font-size: 16px;
    line-height: 32px;
    font-weight: 500;
    letter-spacing: -0.012em;
    white-space: nowrap;
}
#changeCardModal .select_box .custom-select-wrapper,
#changeCardModal .select_box .custom-select-box{
    width: 100%;
}
#purchaseConfirmModal table th{
    text-align: left;
    white-space: nowrap;
}
#purchaseConfirmModal .gray_text{
    font-size: 14px;
    line-height: 20px;
    margin-top: 16px;
}
#purchaseConfirmModal .company_info{
    height: 130px;
    border: 1px solid #EBECF0;
    margin-top: 30px;
    padding: 20px;
}
#applicableTargetModal{
    width: 433px;
}
#couponRegisterModal{
    width: 440px;
}
#couponRegisterModal .modal_header2{
    border-bottom: 1px solid #EBECF0;
}
#couponRegisterModal .modal_contents{
    padding: 30px 40px 40px;
}
#couponRegisterModal .coupon_register_form label{
    display: block;
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    color: #1B1B1F;
    margin-bottom: 8px;
}
#couponRegisterModal .coupon_register_form input[type="text"]{
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #D0D2D9;
    border-radius: 6px;
    padding: 12px 16px;
    font-size: 16px;
    line-height: 24px;
    color: #1B1B1F;
}
#couponRegisterModal .coupon_register_form input[type="text"]::placeholder{
    color: #8E939E;
}
#couponRegisterModal .coupon_register_form input[type="text"]:focus{
    outline: none;
}
#couponRegisterModal .coupon_register_form input[type="text"]:focus-visible{
    outline: 3px solid #5EA4FF;
    outline-offset: 2px;
}
#couponRegisterModal .modal_btn_container{
    margin-top: 32px;
}
#couponRegisterModal .modal_btn_container .white_btn{
    background-color: #fff;
}
#couponRegisterModal .modal_btn_container .red_btn{
    background-color: #d41d1d;
    color: #fff;
}
#applicableTargetModal .modal_contents{
    padding: 12px 42px 40px;
}
#applicableTargetModal ul li::before{
    content: '•';
    margin-right: 8px;
    display: block;
}
#applicableTargetModal ul li{
    display: flex;
    line-height: 24px;
}
.btn_m_next{
    display: none;
}
.review_modal{
    width: 580px;
    height: auto;
    box-sizing: border-box;
    border-radius: 16px;
}
.review_modal .modal_header2{
    height: 70px;
    box-sizing: border-box;
    border-bottom: 1px solid #EBECF0;
    display: flex;
    align-items: center;
}
.review_modal .modal_header2 h3{
    font-size: 22px;
}
.review_modal .title_box{
    display: flex;
    gap: 18px;
    margin-bottom: 30px;
}
.review_modal .title_box .img_box{
    width: 90px;
    height: 120px;
    overflow: hidden;
    border-radius: 2px;
    border: 1px solid rgba(0, 0, 0, 0.06);
    box-sizing: border-box;
}
.review_modal .title_box .title_text_box p{
    font-size: 18px;
    line-height: 24px;
    font-weight: 700;
    margin-bottom: 10px;
}
.review_modal .title_box .title_text_box span{
    display: block;
}
.review_modal .title_box .title_text_box .title_hall{
    font-size: 14px;
    line-height: 20px;
}
.review_modal .title_box .title_text_box .title_date{
    font-size: 13px;
    line-height: 18px;
    color: #5E606B;
}
.review_modal .title_box .title_text_box .title_rate_box{
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
}
.review_modal .title_box .title_text_box .title_rate_box > span{
    font-size: 14px;
    font-weight: 500;
    color: #1B1B1F;
}
.review_modal .title_box .title_text_box .title_rate_box .star_rating{
    display: flex;
    gap: 1px;
}
.review_modal .title_box .title_text_box .title_rate_box .star_rating .star{
    font-size: 20px;
    line-height: 1;
    color: #D0D2D9;
    cursor: pointer;
}
.review_modal .title_box .title_text_box .title_rate_box .star_rating .star.on{
    color: #FF463C;
}
.review_modal .content_box .custom-select-wrapper,
.review_modal .content_box .custom-select-box{
    width: 100%;
}
.review_modal .content_box .red_text{
    margin: 30px 0;
    text-align: center;
}
.review_modal .content_box .textarea{
    position: static;
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
    border: 1px solid #D0D2D9;
    border-radius: 6px;
    padding: 18px;
    box-sizing: border-box;
}
.review_modal .content_box .textarea textarea{
    border: none;
    border-radius: 0;
    padding: 0;
    height: auto;
    min-height: 140px;
}
.review_modal .content_box .textarea p{
    position: static;
    text-align: right;
    color: #737680;
    font-size: 13px;
}
.review_modal .content_box .textarea p .charCount{
    color: #CA0033;
    font-size: 13px;
    font-weight: 500;
}
.review_modal .modal_btn_container{
    margin-top: 32px;
}
.review_modal .modal_btn_container button{
    display: flex;
    width: 90px;
    padding: 8px 32px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 2px;
}
.review_modal .modal_btn_container .red_btn{
    background: #D41D1D;
}
.review_modal .img_upload_container{
    display: flex;
    align-items: flex-start;
    gap: 18px;
    margin-top: 26px;
}
.review_modal .img_upload_container .img_upload_img{
    width: 100px;
    height: 110px;
    overflow: hidden;
    border-radius: 4px;
    border: 1px solid #E1E3E8;
    box-sizing: border-box;
    position: relative;
    flex-shrink: 0;
}
.review_modal .img_upload_container .img_upload_img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.review_modal .img_upload_container .img_remove_btn{
    position: absolute;
    top: 6px;
    right: 6px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: rgba(0,0,0,0.5);
    color: #fff;
    font-size: 11px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    border: none;
}
.review_modal .img_upload_container .img_upload_text p{
    font-size: 14px;
    line-height: 1.45;
    color: #737680;
}
.review_modal .img_upload_container .img_upload_text p:first-of-type{
    margin-bottom: 2px;
}
.review_modal .img_upload_container .img_upload_text button{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 38px;
    border: 1px solid #D0D2D9;
    padding: 0 18px;
    box-sizing: border-box;
    border-radius: 6px;
    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
    margin-top: 12px;
}
.review_modal .star_rate_container{
    display: flex;
    justify-content: space-between;
    margin-top: 26px;
    border-bottom: 1px solid #D0D2D9;
    padding-bottom: 30px;
}
.review_modal .star_rate_container > div{
    display: flex;
    align-items: center;
    gap: 14px;
}
.review_modal .star_rate_container .star_rating{
    display: flex;
    gap: 8px;
}
.review_modal .star_rate_container .star_rating .star{
    width: 26px;
    height: 26px;
    background-image: url('/images/star_rate_gray.png');
    background-repeat: no-repeat;
    cursor: pointer;
    background-size: cover;
}
.review_modal .star_rate_container .star_rating .star.on{
    background-image: url('/images/star.png');
    background-repeat: no-repeat;
    background-size: cover;
}

.review_modal .star_rate_container .star_rating_text{
    font-size: clamp(20px,1.3vw,22px);
    line-height: 1.75rem;
    color: #8E939E;
    white-space: nowrap;
}
.review_modal .star_rate_container .star_rating_text .bold{
    color: #1B1B1F;
}
.review_modal .star_rate_container .star_rating_text + .gray_text{
    font-size: 12px;
    color: #737680 !important;
}
.m_modal{
    width: 280px;
    padding: 24px 16px 16px;
    box-sizing: border-box;
}
.m_modal .gray_btn{
    background-color: #EBECF0;
    color: #5E606B;
}
.m_modal .red_btn{
    background-color: #d41d1d;
    color: #fff;
}
.m_modal .btn_container{
    display: flex;
    gap: 8px;
    margin-top: 24px;
}
.m_modal .btn_container button{
    font-size: 16px;
    line-height: 24px;
    font-weight: 700;
    width: 100%;
    padding: 12px 0;
    border-radius: 6px;
}
.m_modal .m_modal_content{
    padding: 0 8px;
    position: relative;
}
.m_modal .x_btn{
    position: absolute;
    top: 5.5px;
    width: 13px;
    height: 13px;
    right: 0;
}
.m_modal h2{
    font-size: 16px;
    line-height: 24px;
}
.m_modal .input_box{
    display: flex;
    gap: 8px;
    margin-top: 12px;
}
.m_modal .input_box input[type="text"]{
    width: 100%;
    border: 1px solid #D0D2D9;
    padding: 10px 12px;
    border-radius: 6px;
    box-sizing: border-box;
    font-family: 'pretendard';
    font-size: 16px;
    outline: none;
}
.m_modal .input_box .gray_btn{
    border-radius: 6px;
    font-size: 16px;
    line-height: 24px;
    font-weight: 500;
    padding: 10px 9px;
    width: 60px;
    flex-shrink: 0;
    box-sizing: border-box;
}
.m_modal .modal_text{
    text-align: center;
    font-size: 16px;
    line-height: 24px;
}
#mobileHeaderModal{
    width: 101%;
    z-index: 99;
    transform: translateX(-50%) !important;
    top: 0 !important;
    border-radius: 0 !important;
}
#giftTicketModal .input_box{
    display: flex;
    align-items: center;
    gap: 6px;
}
#giftTicketModal .input_box{
    margin-bottom: 15px;
}
#giftTicketModal .input_box label{
    width: 42px;
    flex-shrink: 0;
}
#giftTicketModal input{
    width: 100%;
    border: 1px solid #D0D2D9;
    padding: 10px 12px;
    border-radius: 6px;
    box-sizing: border-box;
    font-family: 'pretendard';
    font-size: 16px;
    outline: none;
}
#giftTicketModal .red_text{
    font-size: 14px;
}
#giftTicketModal .red_text:not(:first-child){
    margin-top: 6px;
}
#giftTicketModal .red_text:last-child{
    margin-bottom: 20px;
}
.saturday{
    color: #0076DE;
}
.sunday{
    color: #E02D3C;
}
.pm_radio label{
    display: flex;
    gap: 8px;
    align-items: center;
}
.pm_radio input[type="radio"]{
    display: none;
}
.pm_radio input[type="radio"] + label .ico-radio{
    display: none;
    width: 20px;
    height: 20px;
    border: 1px solid #EBECF0;
    border-radius: 30px;
}
.pm_radio input[type="radio"]:checked + label .ico-radio{
    border: 6px solid #fff;
    box-sizing: border-box;
}
#swiper_review{width: 100%;}
#swiper_review .swiper-slide:nth-child(even){margin-right: 0 !important;}
@media (max-width: 1440px){
    .detail_b_contents .booking_contents:not(.os_payment_contents .booking_contents) .booking_wrap {
        width: 71%;
        padding-left: 5%;
        margin-top: 56px;
    }
    .swiper_container .swiper-button-next{
        right: 15px;
    }
    .swiper_container .swiper-button-prev{
        left: 15px;
    }
}
@media (max-width: 1366px){
    .onestop_contents .os_content_area .os_menu .seat_table_area{
        max-height: 265px;
    }
    .onestop_contents .os_payment_contents{
        padding: 30px;
    }
}
@media (max-width: 1279px) {
    header .header_nav .nav_list{
        gap: 24px;
    }
    header .header_nav .nav_search .search_box input[type="search"]{
        width: 230px;
    }
    .list_contents .product_list{
        margin-top: 24px;
    }
    .cs_contents .cs_container .cs_table tbody td{
        padding: 20px 10px;
    }
    .cs_contents .cs_container .notice_table thead th{
        padding: 12px 10px;
    }
    .cs_contents .cs_container .cs_title{
        margin-bottom: 24px;
    }
    .detail_contents > div .detail_info .detail_swiper_container{
        max-width: 270px;
        flex-shrink: 0;
    }
    .detail_contents .side_menu{
        width: 260px;
    }
    .ui-datepicker{
        width: 260px !important;
    }
    .ui-datepicker td span, .ui-datepicker td a{
        padding: 7px 0 !important;
    }
    .detail_contents .side_menu .product_area .product_box{
        flex-direction: column;
        padding:10px 20px;
        gap: 10px;
    }
    .detail_contents .side_menu .product_area .product_btn,
    .detail_contents .side_menu .product_area .product_btn button{
        width: 100%;
    }
    .detail_contents .detail_wrapper{
        gap: 25px;
    }
    .detail_contents > div .detail_info .detail_info_container .detail_title{
        margin-bottom: 20px;
    }
    .detail_contents .detail_info .detail_info_container .detail_info_box > table th,
    .detail_contents .detail_info .detail_info_container .detail_info_box > table td{
        font-size: clamp(14px,1vw,16px);
    }
    .detail_contents .detail_info .detail_info_container .detail_info_box > table td{
        padding-left: 1rem;
        /* white-space: pre; */
    }
    .detail_contents .detail_container #reviewTab .review_regist_container .star_rate_container .star_rating .star{
        width: 24px;
        height: 24px;
    }
    .detail_contents .detail_container #reviewTab .review_regist_container .star_rate_container > div{
        gap: 10px;
    }
    #detail_swiper .swiper-slide{
        height: 360px;
    }
    .detail_b_contents .booking_contents .booking_form_container form .form_row input,
    .detail_b_contents .booking_contents .booking_form_container form .form_row .custom-select-box{
        width: 275px;
    }
    .onestop_contents .os_payment_menu, .onestop_contents .os_payment_menu2{
        width: 350px;
    }
    .lp_friends_contents .friends_main .wrap .btn_reload{
        right: 20px;
    }
    .lp_friends_contents .friends_contents{
        margin: 25px auto 0;
        padding: 50px 96px;
    }
}
/* 태블릿 */
@media (max-width: 1024px) {
    .review_area .review_container .review_card .img_area{width:200px; height: 200px;}
    .list_contents .product_list .product_card .description .product_title{height: 40px;}
    .onestop_contents .os_content_area .os_menu .seat_select_area{
        display: none;
    }
    .hei100{
        height: auto;
    }
    .detail_contents .buy_ticket_btn{
        display: block;
        position: fixed;
        bottom: 10px;
        z-index: 2;
    }
    .header_m_bar{
        display: flex;
    }
    .login{
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 30px;
    }
    .login .login_logo_container{
        width: 100%;
    }
    .login_form_container div > span:first-of-type{
        display: none;
    }
    .sign_up .sign_up_container{
        padding: 100px 40px 60px;
    }
    header .header_pc{
        display: none;
    }
    header .header_m{
        display: block;
    }
    .m_select,.m_btn{
        display: block;
    }
    .custom-select-text {
        width: 100%;
        box-sizing: border-box;
    }

    .main_contents .product_list > ul > li{
        width: calc((100% - (24px * 2)) / 3);
    }

    .list_contents > div:first-of-type{
        position: relative;
    }
    .list_contents .list_tab_container .tab_sort_option{
        display: none;
    }
    .list_contents .tab_btn button{
        width: 100%;

    }
    .list_contents .product_list > ul > li{
        width: calc((100% - (24px * 2)) / 3);
    }
    .list_contents .product_list .m_btn{
        background-color: #d41d1d;
        color: #fff;
        width: 100%;
        border-radius: 6px;
        padding: 12px 10px;
        font-weight: 600;
        font-size: 0.875rem;
        margin-top: 10px;
    }
    /* .list_contents .product_list .product_card{
        position: relative;
    }
    .list_contents .product_list .description .product_label{
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
    }
    .list_contents .product_list.list_view .description .product_label{
        left: 0;
        transform: none;
    } */
    .list_contents .list_tab_container .tab_select_view .select_box{
        width: 100%;
        display: flex;
        justify-content: space-between;
    }
    .list_contents .list_tab_container .tab_select_view{
        justify-content: start;
        width: 100%;
    }
    .list_contents .list_tab_container .tab_select_view .tab_view_option{
        position: absolute;
        top: 5px;
        right: 0;
    }
    .product_label .labelBox{
        padding: 1px 1px;
    }
    .list_contents .tab_btn button{
        padding: 0.5rem 0rem;
    }
    .list_contents .product_list.list_view .m_btn{
        display: none;
    }
    .list_contents .product_list .img_box .product_label,
    .list_contents .product_list .img_box.b42 .product_label{
        bottom: auto;
        top: 10px;
        left: 50%;
        transform: translateX(-50%);
    }
    .list_contents .product_list.list_view .img_box .product_label{
        bottom: 52px;
        top: auto;
        left: 180px;
        transform: none;
    }
    .list_contents .product_list .description .product_info{
        padding-bottom: 0;
    }
    .detail_contents .detail_container{
        max-width: 100%;
    }
    .detail_contents .side_menu{
        width: 100%;
        padding: 20px 20px 60px;
        box-sizing: border-box;
        z-index: 2;
        right: 0;
        position: fixed;
        top: auto;
        bottom: 0;
        background-color: #fff;
        transform: translateY(120%);
        transition: transform 0.3s ease;
    }
    .detail_contents .side_menu.active{
        transform: translateY(0);
        transition: transform 0.3s ease;
    }
    .detail_contents .side_menu .product_area{
        margin-top: 10px;
        max-height: 275px;
        overflow-y: scroll;
    }
    /*.detail_contents .side_menu .calendar_area,*/
    /*.detail_contents .side_menu .product_area{*/
    /*    display: block;*/
    /*    position: absolute;*/
    /*    bottom: 64px;*/
    /*    left: -1px;*/
    /*    transform: translateY(120%);*/
    /*    background-color: #fff;*/
    /*    transition: transform 0.3s ease;*/
    /*    border-bottom: none;*/
    /*    border-radius: 14px 14px 0 0 ;*/
    /*}*/
    .detail_contents .side_menu .calendar_area .m_calendar_close_btn{
        display: block;
    }
    .detail_contents .side_menu .product_area .product_text{
        width: 100%;
        max-width: none;
    }
    .ui-datepicker td span, .ui-datepicker td a{
        padding: 11px 0 !important;
    }
    .detail_contents .side_menu > button {
        margin-top: 0;
        position: relative;
        z-index: 3;
    }
    .detail_contents .product_label .labelBox{
        padding: 1px 5px;
    }
    .ui-datepicker{
        width: 100% !important;
    }
    .detail_b_contents .sticky_menu,
    .detail_b_contents .booking_contents .sticky_menu2{
        position: static;
        width: 100%;
        margin-bottom: 20px;
    }
    .detail_b_contents .booking_contents{
        flex-direction: column-reverse;
        padding-bottom: 0;
        position: relative;
        min-height: auto;
        background-color: #F8F8F8;
    }
    .detail_b_contents .booking_contents .booking_wrap{
        width: 100% !important;
        padding-left: 0 !important;
        margin-top: 0 !important;
    }
    .detail_b_contents .booking_contents h2,
    .detail_b_contents .booking_contents .h2_text{
        display: none;
    }
    .detail_b_contents .booking_contents .booking_form_container form > div h3 + div{
        /*display: none;*/
    }
    .detail_b_contents .booking_contents .booking_form_container form > div h3 button img{
        /*transform: rotate(0deg);*/
        transform: rotate(180deg);
    }
    /* 결제(step2) 모바일: 예매자 정보/예매자 동의 카드를 참고 디자인처럼 흰 배경 + 각진 테두리로 통일 */
    .detail_b_contents .booking_contents .booking_form_container > div{
        border-radius: 2px;
        border-color: #E6E6E6;
        padding: 0;
        margin-bottom: 8px;
    }
    .detail_b_contents .booking_contents .booking_form_container > div:not(:last-child){
        margin-bottom: 8px;
    }
    .detail_b_contents .booking_contents .booking_form_container > div h3 button{
        font-size: 17px;
        padding: 20px;
    }
    .detail_b_contents .booking_contents .booking_form_container > div h3 + div{
        padding: 0 20px 30px;
        border-top: 1px solid #F0F0F0;
    }
    /* 예매 티켓(#stickyMenu)도 같은 카드 스타일로, 제목은 새로 추가한 .m_card_header가 담당 */
    #stickyMenu{
        border: 1px solid #E6E6E6;
        border-radius: 2px;
        background-color: #fff;
        padding: 0 20px 20px;
        box-sizing: border-box;
    }
    #stickyMenu .m_card_header{
        margin: 0 -20px;
        padding: 20px;
        border-bottom: 1px solid #F0F0F0;
    }
    #stickyMenu .btn_container{
        display: flex !important;
    }
    .m_bottom_pay_bar{
        display: block !important;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        background: #fff;
        padding: 20px 16px;
        box-sizing: border-box;
        z-index: 100;
        box-shadow: 0 -1px 4px rgba(0,0,0,0.06);
    }
    .detail_b_contents .booking_contents{
        padding-bottom: 88px;
    }
    #stickyMenu .m_card_header{
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    #stickyMenu .m_card_header_title{
        font-size: 17px;
        font-weight: 700;
        color: #000000;
        line-height: 24px;
    }
    #stickyMenu .m_card_chevron{
        width: 12px;
        height: 7px;
        transition: transform 0.2s ease;
    }
    #stickyMenu .m_card_header_wrap{
        margin: 0;
    }
    #stickyMenu .m_card_header{
        width: 100%;
        cursor: pointer;
    }
    #stickyMenu .ticket_card_body{
        display: none;
        flex-direction: column;
    }
    .m_bottom_pay_btn{
        width: 100%;
        height: 48px;
        background: #D41D1D;
        border: none;
        border-radius: 2px;
        color: #fff;
        font-size: 16px;
        font-weight: 600;
        line-height: 24px;
        letter-spacing: -0.2px;
        font-family: inherit;
        box-sizing: border-box;
    }
    .m_bottom_pay_btn:disabled{
        background: #EBECF0;
        color: #5E606B;
        cursor: not-allowed;
    }
    /* 참고 디자인엔 포스터 이미지가 없어 모바일에서는 숨김 */
    #stickyMenu .title_box img{
        display: none;
    }
    #stickyMenu .title_box > div:has(> img){
        display: none;
    }
    /* 예매자 정보: 라벨-입력창을 한 줄(라벨 왼쪽 고정폭 + 입력창)로, 참고 HTML의 .field-row/.field-input과 동일하게 */
    .detail_b_contents .booking_contents .booking_form_container .user_info_box .form_row{
        gap: 14px;
        flex-wrap: wrap;
    }
    .detail_b_contents .booking_contents .booking_form_container .user_info_box .form_row .label_wrap{
        flex: 1 1 100%;
        gap: 14px;
    }
    .detail_b_contents .booking_contents .booking_form_container .user_info_box .form_row > label,
    .detail_b_contents .booking_contents .booking_form_container .user_info_box .label_wrap label{
        width: 43px;
        flex-shrink: 0;
        font-size: 14px;
        font-weight: 400;
        color: #828282;
        margin-right: 0;
    }
    .detail_b_contents .booking_contents .booking_form_container .user_info_box .form_row input{
        width: auto;
        flex: 1 1 auto;
        min-width: 0;
        border: 1px solid #E6E6E6;
        border-radius: 2px;
        padding: 8px 12px;
        font-size: 16px;
    }
    .detail_b_contents .booking_contents .booking_form_container .user_info_box .form_row .red_text{
        flex: 1 1 100%;
        width: auto;
        margin-left: 0;
        padding-left: 57px;
        font-size: 12px;
        box-sizing: border-box;
    }
    .detail_b_contents .booking_contents .booking_form_container form .form_row .red_text{
        margin-left: 10px;
    }
    .detail_b_contents .booking_contents .booking_form_container form .payment_method_box h3 button{
        cursor: pointer;
    }
    .detail_b_contents .booking_contents .booking_form_container form .payment_method_box h3 button img{
        display: block;
    }
    .detail_b_contents .booking_header ol{
        display: none;
    }
    /* PC용 검정 헤더(로고+스텝 텍스트) 대신 참고 디자인의 심플한 모바일 헤더로 교체 */
    .detail_b_contents .booking_header{
        display: none;
    }
    .m_booking_header{
        display: flex !important;
        align-items: center;
        gap: 8px;
        position: sticky;
        top: 0;
        z-index: 20;
        background: #FFFFFF;
        height: 50px;
        padding: 0 16px;
        box-sizing: border-box;
    }
    .m_booking_back{
        width: 40px;
        height: 40px;
        flex: 0 0 auto;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .m_booking_back img{
        width: 32px;
        height: 32px;
    }
    .m_booking_title{
        flex: 1;
        text-align: center;
        font-size: 18px;
        font-weight: 600;
        line-height: 26px;
        color: #000000;
        margin: 0;
    }
    .m_booking_step{
        flex: 0 0 auto;
        font-size: 13px;
        font-weight: 400;
        line-height: 18px;
    }
    .m_booking_step .m_step_current{
        font-weight: 700;
        color: #000000;
    }
    .m_booking_step .m_step_total{
        font-weight: 400;
        color: #B4B4B4;
    }
    .detail_b_contents .sticky_menu .payment_box{
        padding-bottom: 0;
    }
    .detail_b_contents .sticky_menu .title_box .title_text_box{
        max-width: none;
    }
    .detail_b_contents .sticky_menu .btn_container{
        width: 100%;
        padding: 0 3rem;
        box-sizing: border-box;
        position: absolute;
        bottom: 25px;
        left: 50%;
        transform: translateX(-50%);
    }
    .detail_b_contents .sticky_menu h4 button{
        cursor: pointer;
    }
    .detail_b_contents .sticky_menu h4 button img{
        display: block;
        transition: transform 0.3s ease;
    }
    .detail_b_contents .booking_contents .booking_form_container form .form_row input,
    .detail_b_contents .booking_contents .booking_form_container form .form_row .custom-select-box{
        width: 350px;
    }
    .detail_b_contents .booking_contents .booking_success .booking_s_contents{
        padding: 20px 0 0;
        flex-direction: column-reverse;
        gap: 20px;
    }
    .detail_b_contents .booking_contents .booking_success{
        padding: 42px 28px;
    }
    .detail_contents .detail_casting dl{
        flex-wrap: nowrap;
        overflow-x: scroll;
        padding-bottom: 18px;
    }
    .detail_b_contents .booking_contents .sticky_menu2, .onestop_contents .os_menu, .onestop_contents .os_payment_menu, .onestop_contents .os_payment_menu2{
        min-width: auto;
    }
    .related_performances .product_list ul{
        flex-wrap: nowrap;
        overflow-x: scroll;
    }
    .related_performances .product_list > ul > li{
        width: auto;
    }
    .related_performances .product_list .product_card .thumnail{
        width: 150px;
    }
    .posi_ab{
        position: static !important;
        display: none;
    }
    /* 미지정석 예매(step1) #stickyMenu가 범용 유틸리티 클래스 .posi_ab을 같이 쓰는 바람에
       위 규칙(display:none)에 걸려 모바일에서 좌석선택/쿠폰 패널 전체가 사라지던 문제.
       id 특이도로 이 요소만 다시 보이게 함 */
    #stickyMenu.posi_ab{
        display: flex !important;
        flex-direction: column;
        min-height: calc(100vh - 50px);
        min-height: calc(100dvh - 50px);
        background-color: transparent !important;
        box-shadow: none !important;
        padding: 16px 16px 0 !important;
        box-sizing: border-box;
        margin-bottom: 0 !important;
    }
    /* 모바일에서는 결제수단 선택 UI 자체를 없애고 신용카드로 고정 전송(JS submit()에서 처리) */
    #stickyMenu .payment_method_box{
        display: none !important;
    }
    /* 하단 총액/결제 바: 포스터 밑까지 스크롤해야 보이던 것을 화면 하단에 고정,
       세부 내역은 접고 총액 한 줄 + 버튼만 남겨 참고 디자인과 동일한 느낌으로 정리 */
    #stickyMenu .booking_bottom_fixed{
        /* position: static !important; */
        margin: auto;
        padding: 20px 16px;
        background: #FFFFFF;
        z-index: 10000;
        box-sizing: border-box;
        flex-shrink: 0;
        width: 100%;
    }
    /* 참고 디자인처럼 세부 금액표는 없애고, 버튼 하나에 "총 N원 결제하기"로 합쳐서 보여줌
       (버튼 텍스트는 recalcTotal()에서 채움) */
    #stickyMenu .booking_bottom_fixed .payment_box{
        display: none;
    }
    #stickyMenu .booking_bottom_fixed .btn_container{
        margin-top: 0;
        position: static !important;
        bottom: auto !important;
        left: auto !important;
        transform: none !important;
        width: 100% !important;
        padding: 0 !important;
    }
    #stickyMenu .booking_bottom_fixed .btn_container .red_btn{
        width: 100%;
        height: 48px;
        padding: 12px 16px;
        border-radius: 2px;
        font-size: 16px;
        font-weight: 600;
        line-height: 24px;
        letter-spacing: -0.2px;
        white-space: nowrap;
        box-sizing: border-box;
    }
    /* "다음"과 "예매하기"가 같은 setPay()를 호출하는 중복 버튼이라
       하나로 통일하고(고정된 예매하기만 남김), 고정바에 가려지지 않게 여백 확보 */
    #stickyMenu .btn_m_next{
        display: none;
    }
    #stickyMenu .tiket_area{
        padding-bottom: 24px;
    }
    /* 좌석선택 영역도 할인정보 카드와 같은 박스 스타일로, 내부 여백/간격은 좁게 */
    #stickyMenu .select_seats_box{
        border: 1px solid #e6e6e6 !important;
        border-radius: 2px;
        background-color: #fff;
        box-sizing: border-box;
        padding: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 20px;
        margin-left: 0;
        margin-right: 0;
        overflow: hidden;
    }
    #stickyMenu .select_seats_box .form_box{
        gap: 12px !important;
        padding: 20px 22px !important;
        margin: 0 !important;
    }
    #stickyMenu .select_seats_box .price_box{
        flex-direction: column;
        align-items: flex-start !important;
        justify-content: center !important;
        gap: 2px;
        padding: 0 !important;
    }
    #stickyMenu .select_seats_box .price_box .title{
        font-size: 14px;
        font-weight: 400;
        color: #1B1B1F;
    }
    #stickyMenu .select_seats_box .price_box .price{
        font-size: 16px;
        font-weight: 700;
        color: #000000;
    }
    #stickyMenu .select_seats_box .quantity_box{
        background-color: #F8F8F8;
        border-radius: 2px;
        padding: 5px 10px;
        gap: 4px;
        width: 90px;
        height: 36px;
        box-sizing: border-box;
        justify-content: center;
    }
    #stickyMenu .select_seats_box .quantity_box .btn_minus{
        order: 0;
        background-color: transparent !important;
        width: 12px;
        height: 12px;
    }
    #stickyMenu .select_seats_box .quantity_box .qty{
        order: 1;
        width: 38px;
        text-align: center;
        font-size: 16px;
        font-weight: 600;
        line-height: 26px;
        color: #000000;
    }
    #stickyMenu .select_seats_box .quantity_box .btn_plus{
        order: 2;
        background-color: transparent !important;
        width: 12px;
        height: 12px;
    }
    #stickyMenu .select_seats_box .quantity_box.has-qty .qty{
        color: #D41D1D;
    }
    #stickyMenu .select_seats_box .form_box:not(:last-child){
        border-bottom: 1px solid #E6E6E6 !important;
    }
    #stickyMenu .sale_info_box{
        border-radius: 2px !important;
    }
    /* 참고 디자인처럼 모바일에서는 포스터/날짜선택 히어로 영역을 숨김 */
    .booking_wrap.booking_poster_wrap{
        display: none !important;
    }
    .min630{
        min-height: auto;
    }
    .detail_b_contents .booking_contents .booking_form_container .select_seats_box{
        margin-top: 50px;
    }
    .btn_m_next{
        width: 100%;
        background-color: #d41d1d;
        color: #fff;
        border-radius: 6px;
        padding: 10px 0;
        margin-top: 10px;
        font-size: 16px;
        font-weight: 600;
        display: block;
    }
    /* .detail_contents .detail_casting dl::-webkit-scrollbar{
        display: none;
    } */
    .onestop_contents{
        overflow: auto;
    }
    .onestop_contents .os_content_area{
        display: flex;
        flex-direction: column-reverse;
        height: auto;
        padding-top: 63px;
        position: relative;
    }
    .onestop_contents .os_content_area.flex-column{
        flex-direction: column;
    }
    .onestop_contents .os_payment_menu, .onestop_contents .os_payment_menu2,.onestop_contents .os_content_area .os_menu{
        width: 100%;
    }
    .os_payment_contents .booking_contents .booking_form_container form .sale_info_box .form_row{
        flex-wrap: nowrap;
    }
    .os_payment_contents .booking_contents .booking_form_container form .form_row .label_wrap{
        width: 100%;
    }
    .os_payment_contents .booking_contents .booking_form_container form .form_row .red_text{
        margin: 8px 0 0 57px;
    }
    .os_payment_contents .booking_contents .booking_form_container form .form_row button{
        margin: 10px 0 0 auto;
    }
    .os_payment_contents .booking_contents .booking_form_container form .form_row input,
    .os_payment_contents .booking_contents .booking_form_container form .form_row .custom-select-box,
    .os_payment_contents .booking_contents .booking_form_container form .form_row .custom-select-wrapper{
        width: 100%;
    }
    .onestop_contents .booking_contents .booking_form_container form .payment_method_box .card_tab{
        flex-wrap: wrap;
    }
    .onestop_contents .os_content_area .os_canvas{
        position: static;
    }
    .onestop_contents .onestop_info{
        position: absolute;
        top: 0;
    }
    .onestop_contents .os_canvas_contents .os_canvas_seat .os_canvas_seat_map{
        width: 100%;
    }

    .onestop_contents .os_canvas_contents .os_btn_container{
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 10px;
        position: absolute;
        left: 0;
        bottom: 0;
        padding: 12px 16px;
        box-sizing: border-box;
        width: 100%;
        background: linear-gradient(to top, rgba(255,255,255,0.85) 0%, transparent 100%);
    }
    .onestop_contents .os_content_area .os_canvas .os_btn_container .btn_change_area{
        margin-left: 0;
    }
    .onestop_contents .os_content_area .os_canvas .os_btn_container button{
        position: static;
    }
    .onestop_contents .os_content_area .os_canvas .os_btn_box{
        flex-direction: column;
    }
    .cs_contents{
        flex-direction: column;
        gap: 30px;
        padding-top: 40px;
    }
    .cs_contents .cs_nav {
        padding: 20px 24px;
        box-sizing: border-box;
        border: 1px solid #EBECF0;
        height: fit-content;
        min-width: 168px;
        /* min-width: fit-content; */
    }

    .cs_contents .cs_nav p{
        display: none;
    }
    .cs_contents .cs_nav ul{
        flex-direction: row;
        gap: 0px;
    }
    .cs_contents .cs_nav ul li{
        display: flex;
        align-items: center;
    }
    .cs_contents .cs_nav ul li:not(:last-of-type)::after{
        content: '';
        width: 1px;
        height: 12px;
        background-color: #454545;
        display: inline-block;
    }
    .cs_contents .cs_nav ul li a{
        padding: 10px 15px;
        width: max-content;
        font-weight: 600;
        font-size: 14px;
    }
    .cs_contents .cs_container .cs_title{
        display: none;
    }
    .cs_contents .cs_container .notice_table .notice_drop td{
        padding: 20px 50px;
    }
    .cs_faq .faq_detail_container{
        padding: 30px 15px;
    }
    .cs_inquiry .select_container .custom-select-text{
        width: 100%;
    }
    .mp_contents .mp_container .filter_box{
        flex-wrap: wrap;
        gap: 15px;
        padding: 14px 0;
    }
    .mp_contents .mp_container .mp_table2 th,
    .mp_contents .mp_container .mp_table2 td{
        font-size: 14px;
        white-space: nowrap;
    }
    .booking_table tbody td{
        padding: 20px 9px !important;
    }
    .mp_contents .review_container .btn_container button{
        font-size: 14px;
        line-height: 20px;
        padding: 8px 0;
        width: 65px;
    }
    .lp_friends_contents .friends_contents{
        margin: 25px auto 0;
        padding: 50px 50px;
    }
    .lp_friends_contents .friends_main .wrap .lp_banner{
        padding: 0 25px;
        max-width: 720px;
    }
}
/* 모바일 */
@media (max-width: 767px) {
    .payment-wrap .payment_method_box .list-check-1{
        width: 100%;
    }
    .payment-wrap .payment_method_box .list-check-1 label{
        display: block;
        max-width: none;
        text-align: center;
        margin-top: 20px;
        box-sizing: border-box;
    }
    .review_area .review_container .review_card .img_area{width:150px; height: 150px;}
    .onestop_contents .booking_contents .booking_form_container form .payment_method_box .tab_menu ul,
    .onestop_contents .booking_contents .booking_form_container form .payment_method_box .tab_menu .pm_radio{width: 100%;}
    .onestop_contents .booking_contents .booking_form_container form .payment_method_box .tab_menu .pm_radio label{
        max-width: 100%;
        box-sizing: border-box;
    }
    .onestop_contents .os_canvas_contents{
        height: auto;
        min-height: 300px;
    }

    #bookingInfoTab table th{
        width: 50%;
    }
    .main_contents .product_list > ul > li{
        width: calc((100% - (24px * 1)) / 2);
    }
    .main_contents .product_list .product_card .description .product_title{
        height: 40px;
    }
    .m_flex .label_wrap{
        display: flex;
        flex-direction: column;
        align-items: start !important;
        gap: 10px;
        width: 100%;
    }
    .m_flex .red_text{
        margin-top: 8px;
        margin-left: 0 !important;
    }
    .m_flex input,.m_flex .custom-select-wrapper,.m_flex .custom-select-box{
        width: 100% !important;
    }
    .m_flex .coupon{
        margin-bottom: 10px;
    }
    .m_flex button{
        margin-left: auto !important;
        margin-top: 8px;

    }
    .onestop_contents::-webkit-scrollbar,
    .onestop_contents .os_canvas_contents::-webkit-scrollbar,
    .onestop_contents .os_payment_contents::-webkit-scrollbar{
        width: 0;
    }
    .wrap{
        padding-right: 1rem;
        padding-left: 1rem;
    }
    .mywrap{
        max-width:1140px
    }
    .m_contents{
        display: block;
    }
    /* 로그인 */
    .login .login_logo_container .logo_box{
        flex-direction: column;
        align-items: center;
    }
    .login .login_logo_container .logo_box > img{
        display: none;
    }
    .login .login_logo_container .logo_box h2{
        text-align: center;
        margin-top: 20px;
    }
    .login_form_container{
        max-width: 300px;
    }
    .sign_up .sign_up_comp{
        padding: 1rem;
    }
    .sign_up .sign_up_container{
        padding: 50px 1rem;
    }
    .sign_up .sign_up_container form > div .red_text:first-of-type{
        margin-top: 8px;
    }
    .sign_up .sign_up_container form > div:not(:last-child){
        margin-bottom: 20px;
    }
    .sign_up .sign_up_container form {
        margin: 40px 0 0;
    }
    .sign_up .sign_up_comp > div .btn_container button,
    .sign_up .sign_up_comp > div .btn_container a{
        width: 150px;
    }
    .sign_up .sign_up_comp > div h2{
        font-size: 22px;
    }
    .sign_up .sign_up_comp > div p{
        font-size: 14px;
    }
    .sign_up .sign_up_container form .check_btn{
        padding: 5px 8px;
        width: auto;
        font-size: 13px;
    }
    .sign_up .sign_up_container form .red_text{
        font-size: 13px;
        line-height: 24px;
    }
    .sign_up .sign_up_container form input{
        font-size: 14px;
        padding: 14.5px 10px;
    }
    .sign_up .sign_up_container form input::placeholder{
        font-size: 12px;
    }
    header .header_m .header_m_bar h1{
        max-width: 70px;
    }
    .main_contents{
        padding: 2.75rem 0 0;
    }
    .main_contents .more_btn,
    .main_contents .reference_date{
        right: 1rem;
    }
    .main_contents .tab_btn button,
    .list_contents .tab_btn button{
        padding: 8px 10px;
    }
    .main_contents .banner{
        margin: 50px auto;
        height: 48px;
    }
    .recommend_area{
        margin-bottom: 60px;
    }
    .last_call_card{
        flex-direction: column;
        gap: 12px;
    }
    .last_call_thumb{
        width: 100%;
        height: auto;
        padding-top: 56%;
        position: relative;
    }
    .last_call_thumb img{
        position: absolute;
        top: 0;
        left: 0;
    }
    .main_event_banner_area{
        margin: 0 auto 60px;
    }
    .main_event_banner_list{
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .main_event_banner_card,
    .main_event_banner_card img{
        min-height: 160px;
    }
    .main_event_banner_text{
        padding: 16px;
    }
    .main_contents .product_list > ul > li{
        width: calc((100% - 15px) / 2);
    }
    .review_area .review_container .review_card{
        /*flex-direction: column-reverse;*/
    }
    .review_area .review_container .review_card .img_area img{
        margin: 0 auto;
    }

    /* 리스트 */
    .product_list > ul{
        gap: 15px;
    }
    .product_label .labelBox{
        font-size: 9px;
    }
    .list_contents{
        padding: 3.875rem 1rem 0;
    }
    .list_contents .tab_btn{
        gap: 4px;
    }
    .list_contents .tab_btn button{
        font-size: 12px;
    }
    .list_contents .product_list > ul > li{
        width: calc((100% - (15px * 1)) / 2);
    }
    .list_contents .product_list.list_view > ul > li .product_card{
        padding-top: 0;
    }
    .list_contents .product_list .description .product_price{
        margin-top: 8px;
    }
    .list_contents .product_list .description .product_info .discount{
        margin: 2px 0;
    }
    .list_contents .product_list .description .product_price .price_origin{
        margin-left: 3px;
        font-size: 10px;
    }
    .list_contents .product_list .description .product_price .price_after_disc{
        font-size: 18px;
    }
    .list_contents .product_list.list_view > ul > li .product_card .description{
        padding: 0 0 0 15px;
    }
    .list_contents .product_list.list_view .description .product_price{
        position: static;
        transform: none;
        display: flex;
        align-items: center;
        margin-top: 10px;
    }
    .list_contents .product_list.list_view .description .product_price > div:first-child{
        flex-direction: row;
        align-items: center;
    }
    .list_contents .product_list.list_view .description .product_price .price_origin{
        margin-left: 4px;
    }
    .list_contents .product_list.list_view .description .product_price .price_after_disc{
        margin: 0 0 0 4px;
    }
    .list_contents .product_list.list_view .img_box .product_label{
        left: 165px;
    }
    .list_contents .product_list .img_box .product_label,
    .list_contents .product_list .img_box.b42 .product_label{
        top: 0;
    }
    .list_contents .product_list.list_view .img_box{
        position: relative;
    }
    .list_contents .product_list.list_view .img_box .product_label{
        bottom: auto;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        gap: 3px;
    }
    /* 디테일 */
    .detail_contents{
        padding: 57px 1rem 110px;
    }
    .detail_contents > div .detail_info{
        flex-direction: column;
        align-items: center;
        position: relative;
    }
    .detail_contents > div .detail_info .detail_title.m_contents .product_label{
        margin-bottom: 10px;
    }
    .detail_contents > div .detail_info .detail_title.m_contents h2{
        font-weight: 700;
        font-size: clamp(18px,2vw,26px);
        line-height: 2.1875rem;
        color: #1B1B1F;
    }
    .detail_contents > div .detail_info .detail_title.m_contents h2 + span{
        color: #5E606B;
        font-size: 0.875rem;
        line-height: 1.625rem;
    }
    .detail_contents > div .detail_info .detail_info_container .detail_info_box table{
        width: 100%;
    }
    .detail_contents .product_list > ul > li{
        width: calc((100% - (26px * 1)) / 2);
    }
    .detail_contents .detail_container #reviewTab .review_regist_container .star_rate_container{
        flex-direction: column;
    }
    .detail_contents .detail_container #reviewTab .review_regist_container .star_rate_container button{
        margin-top: 15px;
    }
    .detail_contents .detail_container #reviewTab .review_list_container .review_box .review_contents_box{
        flex-wrap: wrap;
    }
    .detail_contents .detail_container #reviewTab .review_regist_container .img_upload_container .img_upload_img,
    .detail_contents .detail_casting dl dt{
        width: 90px;
        height: 90px;
    }
    .detail_contents .detail_container #reviewTab .review_regist_container .img_upload_container .img_upload_text p{
        font-size: 12px;
    }
    .detail_contents .detail_container #reviewTab .review_regist_container .img_upload_container{
        flex-direction: column;
    }
    .detail_contents .detail_container #reviewTab .review_regist_container .img_upload_container .img_upload_text{
        display: flex;
        flex-direction: column;
    }
    .detail_contents .detail_container #reviewTab .review_regist_container .star_rate_container > div{
        flex-wrap: wrap;
    }
    .detail_contents .detail_tab_container table th{
        white-space: wrap;
        word-break: keep-all;
        width: 39%;
    }
    .detail_contents .detail_tab_container table th, .detail_contents .detail_tab_container table td{
        padding: 10px;
    }
    /* .detail_contents .side_menu > button{
        width: calc( 100% - 20px);
    } */
    .detail_contents .detail_casting > button {
        padding: 10px 0;
    }
    .detail_b_contents .booking_header > div{
        padding: 16px 1rem;
    }
    .detail_b_contents .booking_contents.pb20{
        padding-bottom: 20px;
    }
    .detail_b_contents .booking_contents .booking_form_container form > div{
        /* padding: 22px 22px 0; */
    }
    .detail_b_contents .sticky_menu,
    .detail_b_contents .booking_contents .sticky_menu2{
        min-width: 0;
    }
    .detail_b_contents .sticky_menu .payment_box{
        padding-bottom: 0;
    }
    .detail_b_contents .sticky_menu .btn_container{
        padding: 0 1rem;
    }
    .detail_b_contents .booking_contents .booking_form_container form .form_row input,
    .detail_b_contents .booking_contents .booking_form_container form .form_row .custom-select-wrapper,
    .detail_b_contents .booking_contents .booking_form_container form .form_row .custom-select-box,
    .detail_b_contents .booking_contents .booking_form_container form .form_row, .detail_b_contents .booking_contents .booking_form_container form .form_row .label_wrap{
        width: 100%;
    }

    .detail_b_contents .booking_contents .booking_form_container form .form_row .red_text{
        margin: 8px 0 0 55px
    }
    .detail_b_contents .booking_contents .booking_form_container form .select_row,
    .detail_b_contents .booking_contents .booking_form_container form .select_row .label_wrap{
        flex-wrap: nowrap;
    }
    .detail_b_contents .booking_contents .booking_form_container form .select_row, .detail_b_contents .booking_contents .booking_form_container form .select_row .label_wrap{
        flex-wrap: wrap;
        gap: 10px;
    }
    .detail_b_contents .booking_contents .booking_form_container form .form_row button{
        margin-left: 0;
        width: 100%;
    }
    .detail_b_contents .booking_contents .booking_success span{
        flex-wrap: wrap;
    }
    .detail_b_contents .booking_contents .booking_success .booking_s_text{
        padding-bottom: 20px;
    }
    .detail_b_contents .booking_contents .booking_success .booking_s_contents table th{
        width: 70px;
    }
    .detail_b_contents .booking_contents .booking_form_container form .user_agreement_box .depth_terms{
        padding: 10px 15px;
    }
    .detail_contents .detail_casting dl{
        padding-bottom: 0;
        gap: 14px;
    }
    .detail_b_contents .booking_contents .booking_success .booking_s_contents .seat_location_btn{
        margin: 14px 0 0 78px;
    }
    .onestop_contents .os_content_area{
        padding-top: 91px;
    }
    .onestop_contents .onestop_info{
        flex-direction: column;
        align-items: start;
        gap: 4px;
    }
    .onestop_contents .onestop_info,
    .onestop_contents .os_payment_contents{
        padding: 1em;

    }
    .onestop_contents .os_payment_contents.pb83{
        padding-bottom: 83px;
    }
    .os_payment_menu2 .btn_container{
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        bottom: 0;
        padding: 15px 0;
        width: calc(100% - 32px);
    }
    .onestop_contents .booking_contents .booking_form_container form .payment_method_box .tab_menu button{
        padding: 5px;
        font-size: 12px;
    }
    .onestop_contents .os_content_area .os_menu, .onestop_contents .os_payment_menu, .onestop_contents .os_payment_menu2{
        border-left: none;
    }
    .onestop_contents form .user_info_box p.gray_text{
        margin-top: 0;
    }
    /* 고객센터 */
    .cs_contents{
        padding-top: 30px;
    }
    .cs_contents .cs_container .cs_table thead th{
        padding: 12px 10px;
    }
    .cs_contents .cs_container .faq_table tbody td{
        white-space: nowrap;
    }
    .cs_contents .cs_container .faq_table tbody td.text-left{
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 150px;
    }
    .cs_contents .cs_container .notice_table thead th{
        font-size: 13px;
    }
    .cs_contents .cs_container .notice_table tbody td{
        padding: 15px 5px;
        font-size: 12px;
        white-space: nowrap;
    }
    .cs_contents .cs_container .notice_table tbody td.w30{
        width: 30% !important;
    }
    .cs_contents .cs_container .faq_table thead th.w20{
        width: 20% !important;
    }
    .cs_contents .cs_container .notice_table .notice_drop td{
        padding: 20px;
    }
    .cs_faq .search_box button{
        padding: 12px 18px;
        width: 60px;
    }
    .cs_faq .tab_menu ul li button{
        padding: 10px;
    }
    .cs_faq .search_container{
        flex-direction: column;
        padding: 15px;
    }
    .cs_faq .select_box .custom-select-box{
        padding: 10px;
    }
    .cs_faq .search_box{
        flex: 1;
        min-width: 0;
    }
    .cs_faq .search_box input{
        flex: 1;
        min-width: 0;
        width: auto;
        padding: 10px;
    }
    .cs_userguide .tab_menu ul li{
        width: 20%;
    }
    .cs_userguide .tab_menu button{
        padding: 10px;
        box-sizing: border-box;
        font-size: 8px;
        line-height: 14px;
    }
    .cs_userguide .tab_menu button img{
        width: 30px;
        margin-bottom: 4px;
    }
    .cs_inquiry .inquiry_read_table .ellipsis{
        max-width: 150px;
    }
    .cs_inquiry .inquiry_btn_container button,
    .cs_inquiry .inquiry_btn_container a{
        padding: 10px 0;
    }
    .cs_inquiry .btn_container button{
        width: 100%;
    }
    .cs_inquiry .select_container{
        flex-direction: column;
    }
    .cs_inquiry .select_container .select_box,
    .cs_inquiry .select_container .custom-select-box{
        width: 100%;
    }

    /* 푸터 */
    footer{
        position: relative;
    }
    footer .footer_main{
        padding: 1.5rem 0 4rem;
    }
    footer .footer_top > div{
        padding: 20px 7.875rem 20px 1rem;
    }
    footer .footer_top .footer_top_list{
        gap: 6px;
    }
    footer .footer_top .footer_top_list li:first-child{
        display: none;
    }
    footer .footer_top .footer_top_list li a{
        font-size: 12px;
    }
    footer .footer_top .footer_sns_list,
    footer .footer_logo_container img{
        display: none;
    }
    footer .footer_main .footer_logo_container{
        flex-direction: column;
        margin-bottom: 0;
    }
    footer .footer_main .footer_logo_container .select_box .custom-select-wrapper{
        position: absolute;
        top: 8px;
        right: 1rem;
        width: 110px;
    }
    footer .footer_main .footer_logo_container .select_box .custom-select-wrapper .custom-select-box{
        padding: 5px 10px;
        width: 110px;
    }
    footer .footer_main .footer_logo_container .select_box .custom-select-wrapper .custom-select-text,
    footer .footer_main .footer_logo_container .select_box .custom-select-wrapper .custom-option{
        font-size: 12px;
    }
    /* swiper */
    .swiper_container .swiper-button-next{
        right: 0;
    }
    .swiper_container .swiper-button-prev{
        left: 0;

    }
    .swiper_container .swiper-button-next, .swiper_container .swiper-button-prev{
        width: 36px !important;
        height: 36px !important;
    }
    .swiper-pagination{
        display: none;
    }
    #swiper1 .swiper_btn_box{
        display: none;
    }

    /* 모달 */
    .contents_modal,.alert_modal{
        width: 330px;
        overflow: hidden;
    }
    .contents_modal .modal_contents{
        padding: 20px;
        max-height: 500px;
        overflow-y: auto;
    }
    #reportModal .btn_container button{
        width: 100%;
    }
    #castingScheModal .select_box{
        max-width: none;
    }
    #castingScheModal .custom-select-box{
        width: 100%;
    }
    .alert_modal{
        padding: 24px 16px 18px;
        width: 280px;
        gap: 24px;
    }
    .alert_modal button{
        width: 100%;
    }
}
@media (max-width: 620px){
    .detail_b_contents .booking_contents .booking_form_container .guest_info_box .guest_wrap{
        flex-direction: column;
        gap: 10px;
    }
    .detail_b_contents .booking_contents .booking_form_container .select_seats_box{
        padding: 22px 25px;
    }
    .detail_b_contents .booking_contents .booking_form > div{
        padding: 22px 25px 0;
    }
    .detail_b_contents .booking_contents .booking_form .guest_wrap .label_wrap{
        flex-direction: column;
        align-items: start;
        gap: 8px;
    }
}
@media (max-width: 375px){
    .login{
        height: 100%;
    }
}
@media (max-width: 344px){
    .ui-datepicker{
        padding: 28px 18px 15px !important  ;
    }
    .detail_contents .side_menu .product_area{
        padding: 12px 16px;

    }
    .product_label{
        gap: 3px;
    }
    .list_contents .list_tab_container .tab_select_view .select_box .custom-select-box{
        width: 150px;
    }
    .list_contents .list_tab_container .tab_select_view .select_box .custom-select-text{
        width: calc(150px - 24px);
    }
    .list_contents .product_list .description .product_price .price_after_disc{
        font-size: 16px;
    }
    .list_contents .product_list .description .product_price .discount_rate{
        font-size: 14px;
    }
    .list_contents .product_list .description .product_price .price_origin{
        font-size: 9px;
    }
    footer .footer_top .footer_top_list li a{
        font-size: 10.5px;
    }
}

/* list 반응형 css */

.header-container {
    margin: 0 auto;
}
.header-main{max-width: 1280px;margin:0 auto}
/* 1. 최상단 온세일 배너 영역 (배경 블랙) */
.icons_list{
    height: 24px;
    width: 80px;
    display: flex;
    border-left: 1px solid #b3b3b3;
    padding-left: 16px;
    gap: 16px;
}
.icons_list img{
    max-width:24px
}
.ticker-bg {
    background-color: #000;
    height:40px;
}
.ticker-bar {
    display: flex;
    align-items: center;
    color: #fff;
    font-size: 13px;
    font-weight: 500;
    padding: 0px 0;
    max-width:1300px;
    margin:0 auto;
}

/* ON SALE 타이틀 좌측 고정 */
.ticker-fixed-title {
    color: #ff3b30;
    font-weight: bold;
    flex-shrink: 0; /* 절대 찌그러지지 않도록 고정 */
    margin-right: 25px;
    position: relative;
    z-index: 10;
    background-color: #000; /* 뒤로 흐르는 글자를 자연스럽게 가려줌 */
    padding-right: 5px;
}

/* 슬라이드 박스 */
.ticker-carousel {
    overflow: hidden;
    white-space: nowrap;
    display: flex; /* 내부 wrapper 두 개를 가로로 밀착시킴 */
    width: 100%;
}

/* 무한 스크롤 핵심: 간격 벌어짐 방지 스타일 */
.ticker-wrapper {
    display: flex;
    align-items: center;
    flex-shrink: 0; /* 크기가 줄어들지 않도록 고정 */
    animation: ticker-loop 20s linear infinite;
}

.ticker-item {
    display: inline-block;
    padding-right: 40px;
    white-space: nowrap;
    font-size: 14px;
    font-weight: 500;
}
.ticker-item .highlight {
    color: #ff3b30;
    font-size: 14px;
    font-weight: 600;
}
.ticker-item .arrow {
    color: #ff3b30;
    font-size: 11px;
    margin: 0 2px;
}

/* 원본이 끝나는 순간 복사본이 빈틈없이 붙도록 -100% 이동 */
@keyframes ticker-loop {
    0% { transform: translate3d(0, 0, 0); }
    100% { transform: translate3d(-100%, 0, 0); }
}

/* 2. 중간 로고 & 검색창 & 유저 메뉴 영역 */
.header-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 0;
}

/* 로고 구역 */
.logo-area {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width:204px;
}
.logo-title {
    font-size: 28px;
    font-weight: 900;
    letter-spacing: -1px;
    color: #000;
}
.logo-sub {
    font-size: 11px;
    color: #666;
    line-height: 1.3;
    font-weight: 500;
}

.search-area {
    position: relative;
    width: 100%;
    max-width: 346px; /* 검색창 자체의 최대 크기 */
    /* margin: 0 20px;  <- 기존 마진 제거 */
}

.left-group {
    display: flex;
    align-items: center;
    gap: 10px; /* ★ 로고와 검색창 사이의 간격 (원하는 대로 조절 가능) */
    flex: 1;
    max-width: 750px; /* 너무 넓어지지 않도록 제한 */
}
.search-input {
    width: 306px;
    padding: 11px 19px;
    padding-right: 0px;
    border: 1px solid #222;
    border-radius: 25px;
    font-size: 14px;
    outline: none;
}
.search-btn {
    position: absolute;
    right: 28px;
    top: 50%;
    transform: translateY(-50%);
    background: url('../images/zoom.png') no-repeat center / contain; /* 이미지를 배경으로 삽입 */
    border: none;
    cursor: pointer;
    width: 24px;  /* 이미지 크기에 맞게 조절 가능 */
    height: 24px; /* 이미지 크기에 맞게 조절 가능 */
}
.white-textwhite-text{color:#fff !important;}
/* 유저 메뉴 구역 */
.user-menu {
    display: flex;
    font-size: 12px;
    color: #fff;
    font-family: notosans;
    margin-left:auto;
}
.user-menu a:link{color:#fff !important;
    margin-left:18px
}
.user-menu a:hover {
    color: #fff;
}
.user-menu .active {
    color: #fff;
}
/* 3. 하단 카테고리 네비게이션 영역 */
.header-nav {
    padding: 0px;
}
.nav-list {
    display: flex;
    list-style: none;
    gap: 30px;
}
.nav-item {
    font-size: 16px;
    font-weight: 500;
    color: #000;
}
.nav-item a:hover {
    color: #ff3b30;
}

/*취소상세내역 페이지 */
.mypage-section {
    max-width: 1140px;
    margin: 40px auto;
    color: #000;
}
.mypage-section a {
    text-decoration: none;
    color: inherit;
}

/* 상단 유저 요약 바 */
.user-summary-bar {
    background-color: #000;
    color: #fff;
    padding: 30px 35px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 2px;
    margin-bottom: 40px;
}
.user-welcome {
    font-size: 18px;
    font-weight: 300;
}
.user-welcome strong {
    font-size: 22px;
    font-weight: 700;
}
.user-stats {
    display: flex;
    align-items: center;
    gap: 30px;
}
.stat-item {
    display: flex;
    align-items: center;
    gap: 40px;
}
.stat-item .label {
    font-size: 14px;
    color: #bbb;
}
.stat-item .count {
    font-size: 24px;
    font-weight: 700;
}
.stat-divider {
    width: 1px;
    height: 16px;
    background-color: #444;
}

/* 하단 본문 레이아웃 */
.mypage-content-wrap {
    display: flex;
    gap: 50px;
}

/* 좌측 사이드바 */
.sidebar {
    width: 168px;
    flex-shrink: 0;
    height:224px;
    border:1px solid #f0f0f0;
    padding:20px 24px
}
.sidebar-title {
    font-size: 16px;
    font-weight: 700;
    padding-bottom: 16px;
    border-bottom: 1px solid #f0f0f0;
    margin-bottom: 15px;
}
.sidebar-menu {
    list-style: none;
}
.sidebar-menu li {
    margin-bottom: 18px;
    font-size: 15px;
    color: #666;
}
.sidebar-menu li a:hover {
    color: #000;
}
.sidebar-menu li.active a {
    color: #d41d1d;
    font-weight: 700;
}

/* 우측 콘텐츠 영역 */
.detail-content {
    flex: 1;
}

.content-title_h1 {
    font-size: 22px;
    font-weight: 700;
    padding-bottom: 30px;
    line-height:24px;
}

.content-title {
    font-size: 17px;
    font-weight: 700;
    padding-bottom: 12px;
    line-height:24px;
    border-bottom:1px solid #000;
}

/* 티켓 카드 (포스터 + 정보) */
.ticket-info-card {
    display: flex;
    gap: 30px;
    margin-bottom: 40px;
    align-items: flex-start;
}
.poster-box {
    width: 180px;
    height: 250px;
    background-color: #f5f5f5;
    border: 1px solid #e0e0e0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
.poster-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ticket-details {
    flex: 1;
}
.product-title {
    font-size: 28px;
    font-weight: 700;
    padding-bottom: 20px;
    margin-bottom: 20px;
    letter-spacing: -0.5px;
    border-bottom:1px solid #f0f0f0
}
.none{border:0px !important}
/* 포스터 우측 미니 테이블 */
.info-table {
    width: 100%;
    border-collapse: collapse;
}
.info-table th, .info-table td {
    padding: 8px 0;
    font-size: 15px;
    text-align: left;
}
.info-table th {
    width: 90px;
    color: #000;
    font-weight: 600;
}
.info-table td {
    color: #333;
}
.btn-map {
    display: inline-block;
    font-size: 11px;
    color: #F12027 !important;
    background: #FFF1F1;
    border: 1px solid #F12027;
    padding: 3px 6px;
    border-radius: 3px;
    margin-left: 8px;
    font-weight: 500;
    vertical-align: middle;
}

/* 하단 큰 예매 정보 테이블 */
.detail-table {
    width: 100%;
    border-collapse: collapse;
}
.detail-table tr {
    border-bottom: 1px solid #f0f0f0;
}
.detail-table th, .detail-table td {
    padding: 15px 10px;
    font-size: 14px;
    text-align: left;
}
.detail-table th {
    width: 140px;
    color: #666;
    font-weight: 500;
}
.detail-table td {
    color: #000;
    font-weight: 500;
}

/* --- 새롭게 추가된 좌석 정보 & 결제 정보 스타일 --- */

/* 좌석 정보 헤더 라인 */
.seat-info-container {
    margin-top: 50px;
}
.section-sub-header {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #000;
    padding-bottom: 12px;
    margin-bottom: 0;
}
.content-title-inner {
    font-size: 20px;
    font-weight: 700;
    line-height: 28px;
    color: #1b1b1f;
}
.btn-seat-map {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 84px;
    height: 24px;
    box-sizing: border-box;
    font-size: 13px;
    line-height: 18px;
    border:1px solid #D41D1D;
    border-radius:4px;
    background:rgba(255, 70, 60, 0.1);
    color:#D41D1D !important;
    padding: 2px 8px;
    margin-left: 12px;
    font-weight: 500;
    white-space: nowrap;
}
.select-all-label {
    margin-left: auto; /* 우측 끝으로 배치 */
    font-size: 13px;
    font-weight: 500;
    color: #1b1b1f;
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}

/* 좌석 테이블 스타일 */
.seat-table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
}
.seat-table th:nth-child(1), .seat-table td:nth-child(1) { width: 10.8%; vertical-align: middle;}
.seat-table th:nth-child(2), .seat-table td:nth-child(2) { width: 43.4%; vertical-align: middle;}
.seat-table th:nth-child(3), .seat-table td:nth-child(3) { width: 22.9%; vertical-align: middle;}
.seat-table th:nth-child(4), .seat-table td:nth-child(4) { width: 22.9%; vertical-align: middle;}
.seat-table th {
    background-color: #f8f8f8;
    color: #5e606b;
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
    padding: 14px 10px;
    text-align:center;
    border-bottom: 1px solid #cdcdcd;
}
.seat-table td {
    padding: 14px 10px;
    font-size: 14px;
    color: #1b1b1f;
    font-weight: 500;
    line-height: 20px;
    text-align:center;
    border-bottom: 1px solid #f0f0f0;
}
.seat-table input[type="checkbox"],
.select-all-label input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 4px;
    border: 1.5px solid #cdcdcd;
    background-color: #fff;
    cursor: pointer;
    position: relative;
    vertical-align: middle;
}
.seat-table input[type="checkbox"]:checked,
.select-all-label input[type="checkbox"]:checked {
    background-color: #000;
    border-color: #000;
}
.seat-table input[type="checkbox"]:checked::after,
.select-all-label input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 12.61px;
    height: 10.36px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 11'><path d='M1 5.5L4.8 9.3L11.7 1' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    background-repeat: no-repeat;
    background-size: contain;
}
.seat-table .price-col {
    text-align: center;
}

/* 예매 취소 버튼 구역 */
.cancel-btn-wrap {
    display: flex;
    justify-content: flex-end;
    margin-top: 20px;
    margin-bottom: 60px;
    background-color: #ffffff !important;
}
.btn-cancel-ticket {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 180px;
    height: 40px;
    box-sizing: border-box;
    background-color: #fff;
    color: #1b1b1f;
    border: 1px solid #cdcdcd;
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
    cursor: pointer;
    border-radius: 2px;
}
.btn-cancel-ticket:hover {
    background-color: #f9f9f9;
}

/* 결제 정보 3단 구조 */
.payment-info-container {
    margin-top: 20px;
}
.payment-summary-box {
    display: flex;
    /* border: 1px solid #e0e0e0; */
    /* margin-top: 20px; */
    background-color: #fff;
    border-left: 0px;
    border-bottom: 1px solid #e0e0e0;
}
.summary-col {
    flex: 1;
    padding: 30px;
    border-right: 1px solid #e0e0e0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.summary-col:last-child {
    border-right: none;
}

/* 결제 정보 항목 안의 텍스트 배치 */
.col-main {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-bottom: 3px;
}
.col-label {
    font-size: 14px;
    color: #666;
}
.col-label.text-red {
    color: #ff3b30;
}
.col-label.text-gray {
    color: #666;
}
.col-price {
    font-size: 22px;
    text-align: right;
    padding-bottom:20px;
    margin-bottom:20px;
    border-bottom:1px solid #f0f0f0
}
.font-bold {
    font-weight: 700;
}

.col-detail {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.detail-row {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: #888;
}

/* 우측 최종 블랙 칼럼 전용 스타일 */
.col-black {
    background-color: #000;
    color: #fff;
    border-right: none;
}
.col-black .col-label {
    color: #fff;
}
.col-black .detail-row {
    color: #aaa;
}

.col-gray {
    background-color: #f8f8f8;
    color: #fff;
    border-right: none;
}

.col-gray .col-price {
    color: #f12027 !important;
}

/* 우측 상단 전체선택 라벨 및 체크박스 스타일 수정 */
.select-all-label {
    margin-left: auto; /* 우측 끝으로 배치 */
    font-size: 13px;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}

/* --- 결제 상세 내역 및 취소 안내 스타일 --- */

.payment-detail-container, .cancel-guide-container {
    margin-top: 50px;
}

/* 결제 상세 내역 테이블 */
.detail-history-table {
    width: 100%;
    border-collapse: collapse;
}
.detail-history-table th {
    background-color: #f7f7f7;
    color: #666;
    font-size: 14px;
    font-weight: 500;
    padding: 15px 10px;
    text-align: center;
    border-bottom: 1px solid #e0e0e0;
}
.detail-history-table td {
    padding: 18px 10px;
    font-size: 14px;
    color: #000;
    text-align: center;
    font-weight: 500;
    border-bottom: 1px solid #f0f0f0;
}
.detail-history-table .price-col {
    text-align: right;
    padding-right: 20px;
}

/* 취소 내역 행 전용 (텍스트 컬러 반영) */
.detail-history-table .cancel-row td {
    color: #666;
}
.detail-history-table .cancel-row td.text-dark {
    color: #000;
}

/* 구매확인증, 영수증 보기 버튼 그룹 */
.receipt-btn-wrap {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 20px;
}
.btn-receipt {
    background-color: #fff;
    color: #000;
    border: 1px solid #ccc;
    padding: 10px 24px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    border-radius: 2px;
}
.btn-receipt:hover {
    background-color: #f9f9f9;
}

/* 취소 마감시간 강조 상자 */
.deadline-box {
    background-color: #f7f7f7;
    padding: 30px;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    color: #000;
    margin-top: 20px;
    border-radius: 2px;
}
.deadline-box .text-red {
    margin-left: 10px;
    font-size: 18px;
}

/* 취소 수수료 안내 서식 */
.fee-section {
    margin-top: 40px;
}
.fee-title {
    font-size: 16px;
    font-weight: 700;
    color: #000;
    margin-bottom: 15px;
}
.fee-subtitle {
    font-size: 16px;
    color: #333;
    line-height: 1.5;
    margin-bottom: 20px;
}

/* 수수료 조건 테이블 */
.fee-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 30px;
}
.fee-table th {
    background-color: #fbfbfb;
    color: #000;
    font-size: 14px;
    font-weight: 700;
    padding: 15px 10px;
    text-align: center;
    border-top: 0px solid #000;
    border-bottom: 1px solid #e0e0e0;
}
.fee-table td {
    padding: 15px 10px;
    font-size: 14px;
    color: #333;
    text-align: center;
    border-bottom: 1px solid #f0f0f0;
}
.fee-table tbody tr td:last-child {
    color: #000;
}

/* 하단 유의사항 리스트 */
.guide-notes {
    list-style: none;
    padding-top: 15px;
    border-top: 0px solid #f0f0f0;
}
.guide-notes li {
    font-size: 14px;
    color: #666;
    line-height: 1.8;
    letter-spacing: -0.3px;
}

/* 공통 컬러/폰트 유틸리티 */
.text-red {
    color: #ff3b30 !important;
}
.font-bold {
    font-weight: 700 !important;
}

/* --- 하단 버튼 그룹 스타일 (목록보기 + 첨부이미지) --- */

.page-action-container {
    margin-top: 40px;
    display: flex;
    justify-content: center; /* 왼쪽부터 나란히 배치 */
    gap: 10px;                   /* 버튼 사이의 간격 */
    margin-bottom:40px;
}

/* 1. 목록보기 버튼 (검은색 배경 + 흰색 글씨) */
.btn-list-view {
    background-color: #000;
    color: #fff;
    border: 1px solid #000;
    padding: 12px 32px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    border-radius: 2px;
    transition: background-color 0.2s ease;
    text-align: center;
}
.btn-list-view:hover {
    background-color: #333;
    border-color: #333;
}

/* 2. 첨부이미지 버튼 (흰색 배경 + 검은색 글씨) */
.btn-attachment {
    display: inline-block;
    background-color: #fff;
    color: #000;
    border: 1px solid #cdcdcd;
    padding: 12px 30px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    border-radius: 2px;
    transition: background-color 0.2s ease;
    text-align: center;
}
.btn-attachment:hover {
    background-color: #f5f5f5;
}
.status-cancel{color:#f12027 !important}
.status-cancel-td{color:#5e606b !important}

/* --- 지도 보기 모달 팝업 스타일 --- */

/* 모달 전체 배경 오버레이 */
.modal-overlay {
    display: none; /* 기본 상태는 숨김 */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6); /* 뒷배경 어둡게 */
    z-index: 9999;
    align-items: center;
    justify-content: center;
}

/* 모달 창 본체 */
.modal-content {
    background-color: #fff;
    width: 100%;
    max-width: 580px; /* 지도 창 너비 */
    border-radius: 6px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    overflow: hidden;
    animation: fadeInModal 0.25s ease-out;
}
/* 모달 헤더 전체 상자 */
.modal-header {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 22px 20px;
    border-bottom: 1px solid #f0f0f0;
    background-color: #fcfcfc;
    min-height: 55px;
}

/* 중앙에 배치될 타이틀 */
.modal-title {
    font-size: 22px;
    font-weight: 700;
    color: #000;
    text-align: center;
}

/* 우측 끝에 완전히 고정될 닫기 버튼 */
.modal-close-btn {
    position: absolute;
    right: 20px; /* 오른쪽 끝에서 20px 띄움 */
    top: 50%;
    transform: translateY(-50%); /* 세로 정중앙 정렬 */
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 닫기 버튼 이미지 크기 조절 (원하는 크기로 변경 가능) */
.modal-close-btn img {
    width: 16px;
    height: 16px;
    display: block;
    object-fit: contain;
}
.modal-close-btn:hover {
    color: #000;
}
.modal-close-btn img {
    pointer-events: none; /* 이미지 클릭이 버튼 클릭을 방해하지 않도록 방지 */
}
/* 모달 바디 영역 */
.modal-body {
    padding: 20px;
}
.location-name {
    font-size: 18px;
    font-weight: 700;
    color: #000;
    margin-bottom: 6px;
}
.location-address {
    font-size: 13px;
    color: #666;
    margin-bottom: 15px;
}

/* 지도 박스 레이아웃 */
.modal-map-area {
    width: 100%;
    height: 350px;
    background-color: #f4f4f2; /* 카카오맵 기본 감성 배경색 */
    border: 1px solid #e0e0e0;
    position: relative;
}

/* 임시 가상 지도 그래픽 스타일 (실제 지도 넣기 전 형태 잡기용) */
.dummy-map {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.map-marker {
    font-size: 32px;
    margin-bottom: 5px;
    animation: bounce 0.8s infinite alternate;
}
.map-tooltip {
    background-color: #fff;
    border: 1px solid #ccc;
    padding: 10px 15px;
    border-radius: 4px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    font-size: 12px;
    text-align: center;
}
.kakao-link {
    display: inline-block;
    color: #1e82ff;
    text-decoration: none;
    font-weight: 700;
    margin-left: 8px;
}

/* 애니메이션 효과 */
@keyframes fadeInModal {
    from { opacity: 0; transform: translateY(-20px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes bounce {
    from { transform: translateY(0); }
    to { transform: translateY(-8px); }
}
/* --- 모달 하단 대중교통 정보 스타일 --- */

.transit-info-wrap {
    margin-top: 20px;
    /* padding-top: 15px; */
    /* border-top: 1px solid #f0f0f0; */
    display: block;
}
.transit-row {
    display: block;
    margin-bottom: 12px;
    line-height: 1.5;
}

.transit-row:last-child {
    margin-bottom: 0;
}

/* 대중교통 유형별 배지 공통 스타일 */
.transit-badge {
    display: inline-block;
    padding: 3px 8px;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    border-radius: 3px;
    margin-right: 6px;
    vertical-align: middle;
}

/* 지하철 및 버스 고유 색상 매칭 */
.sub-line2 { background-color: #37b44a; } /* 2호선 초록 */
.sub-line9 { background-color: #aa9872; } /* 9호선 골드 */
.bus-blue  { background-color: #0052c2; } /* 파랑 버스 */
.bus-green { background-color: #33a23d; } /* 초록 버스 */
.bus-red   { background-color: #f00000; } /* 광역 빨강 */

/* 세부 경로 및 노선 설명 텍스트 */
.transit-desc {
    display: inline;
    font-size: 13px;
    color: #333;
    vertical-align: middle;
}

.transit-desc strong {
    color: #000;
    font-weight: 700;
}

.venue-item{
    display:flex;
    align-items:flex-start;
    gap:8px;
}

.venue-num{
    width:19px;
    height:19px;
    border-radius:50%;
    background:#f5222d;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
    font-weight:700;
    line-height:1;
    flex:0 0 19px;
    margin-top:1px;
}

.venue-info{
    line-height:1.35;
}

.venue-name{
    color:#222;
    font-size:16px;
    font-weight:700;
}

.venue-tel{
    margin-top:4px;
    color:#777;
    font-size:16px;
    font-weight:400;
    margin-bottom:30px
}

/* 기본 스타일 초기화 분량이 필요하다면 참고하세요 */
.ticket-list-container {
    width: 100%;
    max-width: 1200px; /* 전체 컨테이너 너비에 맞게 조절 */
    margin: 0 auto;
    font-family: 'Pretendard', 'Apple SD Gothic Neo', sans-serif;
}

.ticket-table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
}

.ticket-table th:nth-child(1),
.ticket-table td:nth-child(1) { width: 21.8%; }
.ticket-table th:nth-child(2),
.ticket-table td:nth-child(2) { width: 47.7%; }
.ticket-table th:nth-child(3),
.ticket-table td:nth-child(3) { width: 16.9%; }
.ticket-table th:nth-child(4),
.ticket-table td:nth-child(4) { width: 13.6%; }

/* 테이블 헤더 스타일 */
.ticket-table thead tr {
    height: 40px;
    border-top: 1px solid #1e1e1e;
    border-bottom: 1px solid #1e1e1e;
}

.ticket-table th {
    box-sizing: border-box;
    height: 40px;
    padding: 12px 14px;
    font-size: 14px;
    font-weight: 600;
    color: #1b1b1f;
    text-align: center;
    vertical-align: middle;
}

/* 테이블 바디 스타일 */
.ticket-table tbody tr {
    height: 150px;
    border-bottom: 1px solid #f0f0f0;
}

.ticket-table td {
    box-sizing: border-box;
    height: 150px;
    padding: 12px 14px;
    vertical-align: middle;
    text-align: center;
    font-size: 14px;
    color: #1b1b1f;
}

.text-center {
    text-align: center;
}

/* 예매 번호 및 날짜 */
.order-no {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 400;
    line-height: 20px;
    margin-bottom: 3px;
}
.order-date {
    display: block;
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
}

/* 상품 정보 (포스터 + 텍스트) */
.product-info {
    display: flex;
    align-items: center;
    gap: 14px;
    text-align: left;
    width: 344px;
    margin: 0 auto;
}

.ticket-table img {
    width: 70px;
    height: 93px;
    flex-shrink: 0;
    object-fit: cover;
    border-radius: 2px;
    border: 1px solid rgba(0, 0, 0, 0.06);
}

.product-detail {
    display: flex;
    flex-direction: column;
    gap: 2px;
    text-align: left;
    width: 260px;
    min-width: 0;
    overflow: hidden;
}

.product-detail .title {
    font-size: 14px;
    font-weight: 700;
    color: #000;
    line-height: 20px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.product-detail .venue {
    font-size: 14px;
    font-weight: 500;
    color: #1b1b1f;
    line-height: 20px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.product-detail .date {
    font-size: 14px;
    font-weight: 500;
    color: #5e606b;
    line-height: 20px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* 예매 정보 */
.booking-detail {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
}
.booking-detail span {
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
}

/* 상태 및 버튼 */
.status-zone {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}

.status-text {
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    color: #1b1b1f;
}

/* 버튼 공통 */
.btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 32px;
    padding: 10px;
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
    white-space: nowrap;
    border-radius: 2px;
    cursor: pointer;
    transition: all 0.2s;
    box-sizing: border-box;
}

/* 검은색 버튼 (상세보기) */
.btn-dark {
    background-color: #000;
    color: #fff;
    border: none;
}
.btn-dark:hover {
    background-color: #333;
}

/* 흰색/연회색 버튼 (상세보기) */
.btn-light {
    background-color: #fff;
    color: #1b1b1f;
    border: 1px solid #cdcdcd;
}
.btn-light:hover {
    background-color: #f5f5f5;
}

.ticket-header-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    font-family: 'Noto Sans KR', sans-serif;
    box-sizing: border-box;
}

/* 최상단 영역 구성을 위한 flex 플렉스 */
.header-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    padding: 10px 0;
}

.page-title {
    font-size: 24px;
    font-weight: 700;
    color: #000;
    margin: 0;
}

.guest-lookup-link {
    font-size: 14px;
    font-weight: 600;
    color: #666;
    text-decoration: underline;
}

/* MY TICKET 버튼 (그라데이션 및 라운드 적용) */
.btn-my-ticket {
    font-size: 14px;
    font-weight: 700;
    border-radius: 4px;
    cursor: pointer;
    border:0px
}

/* 탭 메뉴 스타일 (50%씩 차지, active 시 하단 두꺼운 선) */
.tab-menu {
    display: flex;
    width: 100%;
    border-bottom: 1px solid #ccc;
}

.tab-item {
    width: 50%;
    text-align: center;
    padding: 15px 0;
    font-size: 16px;
    font-weight: 700;
    color: #999;
    cursor: pointer;
    box-sizing: border-box;
}

.tab-item:hover {
    width: 50%;
    text-align: center;
    padding: 15px 0;
    font-size: 16px;
    font-weight: 700;
    color: #999;
    cursor: pointer;
    box-sizing: border-box;
    color: #000;
    border-bottom: 3px solid #000;
    margin-bottom: -1px; /* 부모 border와 겹치게 처리 */

}
.tab-item.active {
    color: #000;
    border-bottom: 3px solid #000;
    margin-bottom: -1px; /* 부모 border와 겹치게 처리 */
}

/* 월별 조회 필터 영역 (오른쪽 정렬) */
.filter-zone {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
    padding: 28px 0;
}
.filter-label {
    font-size: 14px;
    font-weight: 700;
    color: #000;
    margin-right: 10px;
}

/* 셀렉트 박스 스타일링 (화살표 커스텀을 위한 wrapper) */
.select-wrapper {
    position: relative;
    width: 110px;
}

.select-wrapper select {
    width: 100%;
    height: 38px;
    padding: 0 30px 0 12px;
    font-size: 14px;
    color: #666;
    border: 1px solid #ccc;
    border-radius: 4px;
    background-color: #fff;
    /* 기본 화살표 숨기기 및 커스텀 화살표 디자인 대체 가능 */
    appearance: none;
    -webkit-appearance: none;
}

/* select 우측 화살표 아이콘을 CSS 그리기 기법으로 대체 */
.select-wrapper::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    border-top: 5px solid #333;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    pointer-events: none;
}

/* 조회하기 버튼 */
.btn-search {
    background: none;
    border: none;
    font-size: 13px;
    font-weight: 700;
    color: #000;
    text-decoration: underline;
    text-underline-position: under;
    cursor: pointer;
    padding: 0 5px;
    height: 38px;
}

/* 페이지네이션 컨테이너 (중앙 정렬 및 위아래 여백) */
.pagination-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 25px;
    padding: 40px 0;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    font-family: 'Noto Sans KR', sans-serif;
    box-sizing: border-box;
}

/* 화살표 버튼 공통 스타일 */
.page-arrow {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px;
}

/* 숫자들을 감싸는 영역 */
.page-numbers {
    display: flex;
    align-items: center;
    gap: 20px;
}

/* 개별 숫자 스타일 */
.page-num {
    font-size: 16px;
    font-weight: 500;
    color: #999; /* 기본 비활성화 숫자 색상 (회색) */
    cursor: pointer;
    user-select: none;
    transition: color 0.2s ease;
}

/* 마우스 올렸을 때 효과 */
.page-num:hover {
    color: #333;
}

/* 활성화된 숫자 스타일 (빨간색 1) */
.page-num.active {
    color: #ff3b30; /* 이미지 속 강렬한 빨간색 */
    font-weight: 700;
}
.h300 {height:300px}

/* 기본 레이아웃 구성 */
.show-container {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 20px;
    font-family: 'Noto Sans KR', sans-serif;
    box-sizing: border-box;
}

/* 상단 헤더 필터 라인 */
.show-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 20px;
    margin-bottom: 30px;
}

.total-count {
    font-size: 16px;
    font-weight: 500;
    color: #333;
}

.total-count .highlight {
    color: #ff3b30;
    font-weight: 700;
}

.filter-group {
    display: flex;
    align-items: center;
    gap: 10px;
}

.select-box select {
    padding: 8px 30px 8px 12px;
    font-size: 14px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background-color: #fff;
    min-width: 100px;
    position: relative;
    opacity: 1;
    width: auto;
    height:auto;
}

.paginationList2 .pagination .prev, .pagination .next {
    background-image: url(/images/btn_pagination2.png) !important;
    border: 0px solid #D0D2D9;
    background-repeat: no-repeat;
    background-position: center center;
    border-radius: 6px;
}
.pagination .prev2 {
    transform: rotate(180deg);
    background-image: url(/images/btn_pagination2.png);
}
.checkbox-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: #333;
    cursor: pointer;
    margin-left: 10px;
}

.checkbox-label input {
    width: 16px;
    height: 16px;
}

/* 2열 카드 그리드 배치 */
.show-grid {
    display: grid;
    grid-template-columns: repeat(2, 11fr);
    gap: 40px 50px;
    margin-bottom: 60px;
}

/* 개별 상품 카드 스타일 */
.show-card {
    display: flex;
    position: relative;
    align-items: flex-start;
    gap: 25px;
}

/* 포스터 영역 및 하트 버튼 고정 */
.poster-area {
    position: relative;
    width: 180px;
    flex-shrink: 0;
}

.poster-img2 {
    width: 100%;
    height: 240px;
    object-fit: cover;
    border-radius: 2px;
    border: 1px solid #f0f0f0;
}

.wish-btn {
    position: absolute;
    top: 12px;
    right: 12px;
    background: none;
    border: none;
    font-size: 20px;
    color: #ff3b30; /* 이미지 내 활성화된 빨간 하트 기준 */
    cursor: pointer;
    text-shadow: 0 0 3px rgba(0,0,0,0.3);
}

/* 텍스트 정보 영역 */
.info-area {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 10px;
}

.show-title {
    font-size: 20px;
    font-weight: 700;
    color: #000;
    margin: 0 0 10px 0;
}

.show-venue {
    font-size: 14px;
    color: #333;
    margin: 0 0 4px 0;
}

.show-date {
    font-size: 13px;
    color: #aaa;
    margin: 0 0 15px 0;
}

.show-price {
    font-size: 13px;
    color: #333;
    margin: 0 0 15px 0;
}

.show-price strong {
    color: #ff3b30;
}

.show-price s {
    color: #333 !important;
    font-size:12px;
}

.show-price .discount {
    color: #ff3b30;
    font-weight: 700;
    font-size:13px
}

.show-price .discount-rate {
    color: #F12027;
    font-weight: 700;
    font-size: 16px;
    margin-right: 8px;
}

.show-price .original-price {
    color: #818181;
    font-weight: 400;
    font-size: 13px;
    text-decoration: line-through;
    margin-right: 6px;
}

.show-price strong.final-price {
    color: #141414;
    font-weight: 700;
    font-size: 16px;
}

/* 하단 배지 그룹 스타일 */
.badge-group {
    display: flex;
    gap: 4px;
}

.badge {
    font-size: 11px;
    font-weight: 500;
    padding: 4px 6px;
    color: #fff;
    border-radius: 2px;
}

.badge-red { background-color: #ff3b30; }
.badge-blue { background-color: #007aff; }
.badge-purple { background-color: #af52de; }

/* 첫 번째 카드 우측 보라색 Y 원형 아이콘 */
.icon-y {
    position: absolute;
    right: -10px;
    top: 50%;
    transform: translateY(-50%);
    background-color: #af52de;
    color: #fff;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

/* 하단 페이지네이션 구성 */
.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-top: 20px;
}

.arrow-btn {
    background: none;
    border: none;
    font-size: 18px;
    font-weight: 700;
    color: #000;
    cursor: pointer;
}

.page-number {
    font-size: 16px;
    color: #aaa;
    cursor: pointer;
    font-weight: 500;
}

.page-number.active {
    color: #ff3b30;
    font-weight: 700;
}

/* 다른 요소와 겹치지 않도록 전체 fixed 및 높은 z-index 부여 */
.ticket-cancel-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 99999; /* 충돌 방지를 위해 대폭 상향 */
    font-family: 'Noto Sans KR', sans-serif;
    box-sizing: border-box;
}

/* 모달 바디 창 기본 설정 */
.ticket-cancel-container {
    background-color: #fff;
    width: 100%;
    max-width: 850px;
    border-radius: 12px;
    box-shadow: 0 4px 25px rgba(0, 0, 0, 0.2);
    overflow: hidden;
    padding: 30px;
    position: relative;
    box-sizing: border-box;
}

.ticket-cancel-red-text {
    color: #ef2a2a !important;
}

/* 헤더 영역 */
.ticket-cancel-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
}

.ticket-cancel-title {
    font-size: 20px;
    font-weight: 700;
    color: #000;
    margin: 0;
}

.ticket-cancel-close-x {
    background: none;
    border: none;
    font-size: 28px;
    color: #555;
    cursor: pointer;
    line-height: 1;
}

/* 상단 안내 바 */
.ticket-cancel-summary-bar {
    background-color: #f8f9fa;
    border: 1px solid #e9ecef;
    text-align: center;
    padding: 18px 0;
    font-size: 16px;
    font-weight: 500;
    color: #000;
    margin-bottom: 25px;
}

/* 3단 대시보드 */
.ticket-cancel-amount-board {
    display: flex;
    border: 1px solid #e9ecef;
    margin-bottom: 35px;
}

.ticket-cancel-amount-col {
    flex: 1;
    padding: 20px;
    border-right: 1px solid #e9ecef;
}

.ticket-cancel-amount-col:last-child {
    border-right: none;
}

.ticket-cancel-gray-bg {
    background-color: #fbfbfb;
}

.ticket-cancel-col-header {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 20px;
    font-size: 14px;
    color: #000;
    font-weight: 500;
}

.ticket-cancel-col-header .ticket-cancel-total-price {
    font-size: 22px;
    font-weight: 700;
    text-align: right;
}

.ticket-cancel-col-body {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ticket-cancel-detail-row {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: #888;
}

/* 예정 금액 안내 */
.ticket-cancel-total-zone {
    text-align: center;
    font-size: 22px;
    font-weight: 700;
    color: #000;
    margin-bottom: 25px;
}

/* 하단 테이블 */
.ticket-cancel-table-wrapper {
    position: relative;
    margin-bottom: 35px;
    padding-top: 15px;
}

.ticket-cancel-table {
    width: 100%;
    border-collapse: collapse;
    border-top: 1px solid #e9ecef;
    border-bottom: 1px solid #e9ecef;
}

.ticket-cancel-table th {
    width: 25%;
    background-color: #f8f9fa;
    text-align: center;
    padding: 15px 10px;
    font-size: 14px;
    color: #555;
    font-weight: 400;
    border-bottom: 1px solid #e9ecef;
}

.ticket-cancel-table td {
    padding: 15px 20px;
    font-size: 14px;
    color: #000;
    border-bottom: 1px solid #e9ecef;
}

/* 동그라미 아이콘 배지 */
.ticket-cancel-circle-badge {
    position: absolute;
    top: -12px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.ticket-cancel-badge-y {
    left: 15px;
    background-color: #a352ff;
}

.ticket-cancel-badge-ha {
    left: 51%;
    background-color: #ff522a;
}

/* 푸터 하단 버튼 */
.ticket-cancel-footer {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.ticket-cancel-btn {
    width: 150px;
    height: 45px;
    font-size: 15px;
    font-weight: 500;
    border-radius: 4px;
    cursor: pointer;
    box-sizing: border-box;
}

.ticket-cancel-btn-close {
    background-color: #fff;
    border: 1px solid #ccc;
    color: #333;
}

.ticket-cancel-btn-submit {
    background-color: #ef2a2a;
    border: 1px solid #ef2a2a;
    color: #fff;
    font-weight: 700;
}

.ticket-cancel-btn-submit:hover {
    background-color: #d62020;
}

.ticket-cancel-complete-box {
    background-color: #f8f9fa;
    border: 1px solid #e9ecef;
    text-align: center;
    padding: 40px 0; /* 완료 안내 메세지가 돋보이도록 내부 여백 상하 확대 */
    font-size: 20px;   /* 폰트 크기 확대 */
    font-weight: 500;
    color: #000;
    letter-spacing: -0.5px;
}

/* 화면 전체를 덮는 딤드 배경 */
.card-switch-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 110000; /* 기존 모달들과 부딪히지 않도록 최상위 지정 */
    font-family: 'Noto Sans KR', sans-serif;
    box-sizing: border-box;
}

/* 카드 전환 작은 모달 창 (이미지 비율 반영) */
.card-switch-container {
    background-color: #fff;
    width: 100%;
    max-width: 480px; /* 작고 아담한 모달 사이즈 */
    border-radius: 20px; /* 부드러운 라운드 값 */
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    padding: 30px;
    box-sizing: border-box;
}

/* 헤더 영역 */
.card-switch-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 35px;
}

.card-switch-title {
    font-size: 20px;
    font-weight: 700;
    color: #000;
    margin: 0;
}

.card-switch-close-btn {
    background: none;
    border: none;
    font-size: 28px;
    color: #555;
    cursor: pointer;
    line-height: 1;
}

/* 본문 폼 스타일 */
.card-switch-body {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-bottom: 35px;
}

.card-switch-form-row {
    display: flex;
    align-items: center;
}

.card-switch-label {
    width: 80px;
    font-size: 15px;
    font-weight: 500;
    color: #000;
    flex-shrink: 0;
}

/* 셀렉트 박스 커스텀 디자인 */
.card-switch-select-wrapper {
    position: relative;
    flex-grow: 1;
}

.card-switch-select {
    width: 100%;
    height: 40px;
    padding: 0 35px 0 12px;
    font-size: 14px;
    color: #333;
    border: 1px solid #dcdcdc;
    border-radius: 6px;
    background-color: #fff;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    box-sizing: border-box;
}

/* 플레이스홀더 텍스트 색상 (선택 안 되었을 때 회색빛) */
.card-switch-select:invalid {
    color: #888;
}

/* 화살표 아이콘 디자인 */
.card-switch-select-wrapper::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    border-top: 6px solid #555;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    pointer-events: none;
}

/* 할부 개월 (비활성화 상태) 스타일 */
.card-switch-disabled-wrapper .card-switch-select {
    background-color: #f1f3f5;
    color: #a1a1a1;
    border-color: #e9ecef;
    cursor: not-allowed;
}

.card-switch-disabled-wrapper::after {
    border-top-color: #aaa;
}

/* 하단 버튼 제어 */
.card-switch-footer {
    display: flex;
    justify-content: center;
    gap: 12px;
}

.card-switch-btn {
    width: 120px;
    height: 42px;
    font-size: 15px;
    font-weight: 500;
    border-radius: 4px;
    cursor: pointer;
    box-sizing: border-box;
}

/* 취소 버튼 (흰색 배경) */
.card-switch-btn-cancel {
    background-color: #fff;
    border: 1px solid #ccc;
    color: #000;
}

/* 결제 버튼 (빨간색 배경) */
.card-switch-btn-submit {
    background-color: #ef2a2a;
    border: 1px solid #ef2a2a;
    color: #fff;
    font-weight: 700;
}

.card-switch-btn-submit:hover {
    background-color: #d62020;
}

/* 화면 전체를 어둡게 덮는 백드롭 */
.purchase-receipt-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 120000; /* 네이밍 충돌 및 레이어 꼬임 완전 방지 */
    font-family: 'Noto Sans KR', sans-serif;
    box-sizing: border-box;
}

/* 모달 컨테이너 (정비율 세로형 레이아웃) */
.purchase-receipt-container {
    background-color: #fff;
    width: 100%;
    max-width: 560px; /* 영수증/확인증에 적합한 본문 너비 */
    border-radius: 12px;
    box-shadow: 0 4px 25px rgba(0, 0, 0, 0.2);
    padding: 30px;
    box-sizing: border-box;
}

/* 헤더 스타일 */
.purchase-receipt-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
}

.purchase-receipt-title {
    font-size: 20px;
    font-weight: 700;
    color: #000;
    margin: 0;
}

.purchase-receipt-close-btn {
    background: none;
    border: none;
    font-size: 28px;
    color: #555;
    cursor: pointer;
    line-height: 1;
}

/* 본문 테이블 스타일링 */
.purchase-receipt-table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #eef1f4;
    margin-bottom: 20px;
}

.purchase-receipt-table th {
    width: 42%;
    background-color: #f8f9fa;
    color: #555;
    font-size: 13px;
    font-weight: 500;
    text-align: left;
    padding: 14px 15px;
    border: 1px solid #eef1f4;
    box-sizing: border-box;
}

.purchase-receipt-table td {
    color: #333;
    font-size: 14px;
    padding: 14px 15px;
    border: 1px solid #eef1f4;
    box-sizing: border-box;
    background-color: #fff;
}

.purchase-receipt-table td strong {
    color: #000;
    font-weight: 700;
}

/* 하단 영역 위주 배치 컨테이너 */
.purchase-receipt-info-wrapper {
    position: relative;
    margin-bottom: 30px;
}

/* 안내 문구 */
.purchase-receipt-notice {
    font-size: 12px;
    color: #888;
    margin: 0 0 15px 0;
    letter-spacing: -0.3px;
}

/* 회사정보 박스 (중앙 정렬 큰 텍스트 테두리 영역) */
.purchase-receipt-company-box {
    width: 100%;
    height: 140px;
    border: 1px solid #eef1f4;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    color: #000;
    font-weight: 400;
    letter-spacing: -0.5px;
}

/* 오렌지색 '하' 원형 배지 위치 선정 */
.purchase-receipt-badge-ha {
    position: absolute;
    top: -10px;
    right: 25px;
    background-color: #ff522a;
    color: #fff;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    box-shadow: 0 2px 4px rgba(0,0,0,0.15);
}

/* 푸터 버튼 스타일 */
.purchase-receipt-footer {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.purchase-receipt-btn {
    width: 120px;
    height: 42px;
    font-size: 15px;
    font-weight: 500;
    border-radius: 4px;
    cursor: pointer;
    box-sizing: border-box;
}

/* 닫기 버튼 */
.purchase-receipt-btn-close {
    background-color: #fff;
    border: 1px solid #ccc;
    color: #000;
}

/* 인쇄 버튼 */
.purchase-receipt-btn-print {
    background-color: #ef2a2a;
    border: 1px solid #ef2a2a;
    color: #fff;
    font-weight: 700;
}

.purchase-receipt-btn-print:hover {
    background-color: #d62020;
}
/* 이미지의 어두운 회색 전체 배경 재현 */
.guide-alert-page-bg {
    background-color: #3e3f42;
    padding: 60px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 80px; /* 케이스 간의 넓은 여백 */
    font-family: 'Noto Sans KR', sans-serif;
    box-sizing: border-box;
    min-height: 100vh;
}

/* 개별 가이드 섹션 */
.guide-alert-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 520px;
}

/* 상단 흰색 타이틀 텍스트 */
.guide-alert-section-title {
    color: #ffffff;
    font-size: 18px;
    font-weight: 500;
    margin: 0 0 30px 0;
    text-align: center;
    letter-spacing: -0.5px;
}

/* 중앙 흰색 알림창 본체 박스 */
.guide-alert-box {
    background-color: #ffffff;
    width: 100%;
    border-radius: 8px; /* 미세하게 라운드 처리된 모서리 */
    padding: 50px 30px 40px 30px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
    text-align: center;
    box-sizing: border-box;
}

/* 알림창 내부 텍스트 영역 */
.guide-alert-content {
    margin-bottom: 30px;
}

.guide-alert-text {
    font-size: 16px;
    font-weight: 500;
    color: #222222;
    margin: 0;
    letter-spacing: -0.5px;
}

/* 알림창 하단 푸터 버튼 트랙 */
.guide-alert-footer {
    display: flex;
    justify-content: center;
}

/* 정직한 사각형 모양의 시그니처 레드 확인 버튼 */
.guide-alert-btn {
    width: 165px;
    height: 44px;
    background-color: #f12525; /* 이미지 속 아주 선명한 빨간색 */
    border: 1px solid #f12525;
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    border-radius: 6px;
    cursor: pointer;
    box-sizing: border-box;
    transition: background-color 0.15s ease;
}

/* 버튼 호버 액션 */
.guide-alert-btn:hover {
    background-color: #d61c1c;
    border-color: #d61c1c;
}
.coupon-register {
    display: flex;
    align-items: center;
    gap: 24px;
    justify-content: end;
}

.coupon-label {
    flex-shrink: 0;
    font-size: 16px;
    font-weight: 700;
    color: #111;
    white-space: nowrap;
}

.coupon-input-group {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    justify-content: end;
    /* max-width: 530px; */
    margin-bottom:30px;
}

.coupon-input {
    width: 300px;
    height: 48px;
    padding: 0 16px;
    border: 1px solid #d5d5d5;
    background: #fff;
    font-size: 14px;
    color: #111;
    outline: none;
    box-sizing: border-box;
}

.coupon-input::placeholder {
    color: #aaa;
}

.coupon-input:focus {
    border-color: #111;
}

.coupon-btn {
    flex-shrink: 0;
    width: 78px;
    height: 48px;
    border: 0;
    background: #111;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

.coupon-btn:hover {
    background: #333;
}
.agree_area {
    display: flex;
    justify-content: start;
    align-items: center;
    width: 100%;
    text-align: left;
}
.agree_area label{
    width: auto !important;
}
.agree_area input{display:none}
.ml0{margin-left:0px !important}
.main-visual-slider {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #111;
}

.main-visual-swiper {
    width: 100%;
    height: 468px;
}

.main-visual-swiper .swiper-slide {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

/* 화면 전체 배경 */
.main-visual-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;

}

/* 배경 위에 들어가는 객체 기준 너비 */
.main-visual-inner {
    position: relative;
    z-index: 5;
    width: calc(100% - 40px);
    max-width: 1280px;
    height: 100%;
    margin: 0 auto;
}

/* 필요할 경우 왼쪽 텍스트 영역 */
.main-visual-content {
    position: absolute;
    top: 50%;
    left: 0;
    width: 380px;
    padding: 30px;
    color: #fff;
    background: rgba(0, 0, 0, 0.65);
    transform: translateY(-50%);
}

.main-visual-content h2 {
    margin: 0 0 15px;
    font-size: 30px;
    line-height: 1.35;
}

.main-visual-content p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.8);
}

/* 우측 하단 썸네일 영역 */
.main-visual-thumb-wrap {
    position: absolute;
    right: 60px;
    bottom: 30px;
    z-index: 20;
    display: flex;
    align-items: flex-end;
    gap: 10px;
}

.main-visual-thumb {
    position: relative;
    flex: 0 0 auto;
    width: 52px;
    height: 52px;
    box-sizing: border-box;
    padding: 0;
    overflow: hidden;
    border: none;
    border-radius: 8px;
    background: #111;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.35);
    cursor: pointer;
    transform: scale(1);
    transform-origin: bottom;
    transition:
            transform 0.3s ease,
            border-color 0.3s ease,
            box-shadow 0.3s ease;
}

.main-visual-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.main-visual-thumb:hover {
    transform: scale(1.12);
}

/* 선택된 썸네일 120% 확대 */
.main-visual-thumb.is-active {
    z-index: 2;
    border-color: #fff;
    transform: scale(1.15) !important;
    border: 2px solid white;
    box-shadow:
            0 8px 20px rgba(0, 0, 0, 0.45),
            0 0 0 2px rgba(255, 255, 255, 0.25);
}

.main-visual-thumb.is-active:hover {
    transform: scale(1.12);
}

/* 슬라이드 전환 시 자연스럽게 표시 */
.main-visual-swiper .swiper-slide {
    opacity: 0 !important;
    transition: opacity 0.8s ease !important;
}

.main-visual-swiper .swiper-slide-active {
    opacity: 1 !important;
}
/* 제목 + 버튼 */
.super_sale_head{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

/* 제목 */
.super_sale_title h2{
    margin:0;
}

.super_sale_title .recommend_area_subtitle{
    margin:8px 0 0;
}

/* 버튼 */
.recommend_rate_filter{
    display:flex;
    gap:2px;
    flex-shrink:0;
}

.recommend_rate_filter button{

    width:44px;
    height:46px;

    border:0;
    padding:0;

    display:flex;
    justify-content:center;
    align-items:center;

    background:#efefef;
    color:#b6b6b6;

    font-size:14px;
    font-weight:700;

    cursor:pointer;

    clip-path:polygon(
            0 0,
            100% 0,
            100% 76%,
            50% 100%,
            0 76%
    );

    transition:.2s;
}

.recommend_rate_filter button:hover{
    background:#e6e6e6;
}

.recommend_rate_filter button.tab_active{
    background:#df2027;
    color:#fff;
}
.tab_btn.recommend_rate_filter{
    display:flex;
    align-items:self-start;
    gap:4px;
    padding-bottom:14px;
    overflow:visible;
}
.tab_btn.recommend_rate_filter button {
    position: relative;
    width: 48px;
    height: 56px;
    padding: 0;
    border: 0;
    background: #f0f0f0;
    color: #b4b4b4;
    font-size: 18px;
    font-weight: 800;
    line-height: 18%;
    cursor: pointer;
    font-family: "Big Shoulders", sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    /* clip-path: polygon(0 0, 100% 0, 100% 72%, 50% 100%, 0 72%); */
    transition: .25s;
}

.tab_btn.recommend_rate_filter button:hover{
    background:#e7e7e7;
}

.tab_btn.recommend_rate_filter button.tab_active,
.tab_btn.recommend_rate_filter button[aria-pressed="true"]{
    background:#d81d24;
    color:#fff;
}

.tab_btn.recommend_rate_filter button.tab_active:hover,
.tab_btn.recommend_rate_filter button[aria-pressed="true"]:hover{
    background:#d81d24;
}
.week_save_wrap{
    width:100%;
    max-width:1280px;
    background:#eaeaea;
    margin:0 auto;
    margin-bottom: 70px;

}

.week_save_box {
    width: 100%;
    max-width: 1280px;
    height: auto;
    margin: 0 auto;
}

 .week_save_box img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
 }

/* 텍스트 */

.week_save_text{
    text-align:left;
}

.week_save_sub{

    margin:0;

    font-size:13px;
    font-weight:500;
    color:#111;
}

.week_save_title {
    margin: 6px 0 10px;
    font-size: 22px !important;
    line-height: 1 !important;
    font-weight: 900;
    color: #111;
}

.week_save_title strong{
    font-weight:900;
}

.week_save_badge{

    display:inline-block;

    padding:6px 12px;

    background:#ffdede;

    color:#f03d3d;

    font-size:10px;
    font-weight:700;
}

.week_save_badge b{
    font-weight:900;
}

/* 화살표 */
.week_save_icon {
    position: relative;
    width: 50px;
    height: 50px;
    background: linear-gradient(to bottom, #ffd6d6, #ff5151);
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 26px;
    font-weight: 900;
}
.week_save_icon::after{

    content:"";

    position:absolute;

    left:50%;
    bottom:-26px;

    transform:translateX(-50%);

    border-left:36px solid transparent;
    border-right:36px solid transparent;
    border-top:30px solid #ff5151;
}
/* 1280 영역 */
.last_call_grid{
    width:100%;
    margin-top:28px;
}

/* 카드 목록 */
.last_call_grid ul{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:20px;

    margin:0;
    padding:0;
    list-style:none;
}

/* 카드 */
.last_call_grid li{

    background:#fff;

    border:1px solid #d2d2d2;

    transition:.25s;

    overflow:hidden;
}

.last_call_grid li:hover{

    border-color:#d91f26;

    box-shadow:0 10px 28px rgba(0,0,0,.08);

    transform:translateY(-3px);
}

.series_l_section {
    width: 100%;
    padding: 48px 0 96px;
    background: #000;
}

.series_l_inner {
    width: calc(100% - 32px);
    max-width: 1280px;
    margin: 0 auto;
}

.series_l_header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 30px;
}

.series_l_heading {
    min-width: 0;
}

.series_l_logo {
    display: inline-flex;
    align-items: center;
    min-width: 210px;
    height: 44px;
    padding: 0 42px 0 14px;
    overflow: hidden;

    background: linear-gradient(
            90deg,
            #f3202d 0%,
            #b50913 62%,
            rgba(181, 9, 19, 0) 100%
    );

    transform: skewX(-14deg);
}

.series_l_logo span {
    display: block;
    color: #fff;
    font-size: 38px;
    font-weight: 900;
    font-style: italic;
    line-height: 1;
    letter-spacing: -2px;
    transform: skewX(14deg);
}

.series_l_subtitle {
    margin: 18px 0 0;
    color: #d0d0d0;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
}

.series_l_more {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;
    margin-top: 0;

    border: 3px solid #fff;
    border-radius: 50%;

    background: #f04b2e;
    color: #fff;

    font-size: 15px;
    font-weight: 800;
    text-decoration: none;
}

.series_l_divider {
    width: 100%;
    height: 1px;
    margin: 36px 0 34px;
    background: #2c2c2c;
}

.series_l_list {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}

.series_l_card {
    position: relative;
    display: block;
    height: 350px;
    overflow: hidden;
    background: #171717;
    text-decoration: none;
}

.series_l_card > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.series_l_card:hover > img {
    transform: scale(1.05);
}

.series_l_badge {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 5;

    min-width: 43px;
    height: 29px;
    padding: 0 10px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #df1f29;
    color: #fff;

    font-size: 12px;
    font-weight: 800;
    line-height: 1;
}

.series_l_badge.original {
    background: #fff;
    color: #df1f29;
}

.series_l_dim {
    position: absolute;
    inset: 0;
    z-index: 2;

    background: linear-gradient(
            to bottom,
            rgba(0, 0, 0, 0) 43%,
            rgba(0, 0, 0, 0.12) 60%,
            rgba(0, 0, 0, 0.9) 100%
    );
}

.series_l_info {
    position: absolute;
    right: 17px;
    bottom: 27px;
    left: 17px;
    z-index: 3;
}

.series_l_info strong {
    display: block;
    color: #fff;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -0.5px;
}

.series_l_info span {
    display: block;
    margin-top: 6px;
    color: #c8c8c8;
    font-size: 15px;
    line-height: 1.4;
}

/*  Recent feature overrides  */

.download_coupon_list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
}

.download_coupon_item {
    min-width: 0;
}

.download_coupon_card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: 280px;
    padding: 28px 28px 0;
    overflow: hidden;
    border: 0;
    color: #fff;
    text-align: center;
    cursor: pointer;
    background:
            linear-gradient(
                    180deg,
                    #8f05f2 0%,
                    #5f029f 38%,
                    #170021 72%,
                    #000 100%
            );
}

.download_coupon_item:nth-child(4n + 2) .download_coupon_card {
    background:
            linear-gradient(
                    180deg,
                    #70727d 0%,
                    #484952 38%,
                    #16161a 72%,
                    #000 100%
            );
}

.download_coupon_item:nth-child(4n + 3) .download_coupon_card {
    background:
            linear-gradient(
                    180deg,
                    #244ee7 0%,
                    #17369f 38%,
                    #07133f 72%,
                    #000 100%
            );
}

.download_coupon_item:nth-child(4n + 4) .download_coupon_card {
    background:
            linear-gradient(
                    180deg,
                    #e66bd3 0%,
                    #b249a2 38%,
                    #39112f 72%,
                    #000 100%
            );
}

.download_coupon_img_wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 112px;
    height: 112px;
    margin-bottom: 14px;
    overflow: hidden;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
}

.download_coupon_img_wrap img {
    display: block;
    width: 82px;
    height: 82px;
    object-fit: contain;
}

.download_coupon_dc {
    margin: 0;
    color: #fff;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -1px;
}

.download_coupon_bottom {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
    height: 51px;
    margin-top: auto;
    border-top: 1px solid rgba(255, 255, 255, 0.22);
    color: #fff;
    font-size: 15px;
    font-weight: 500;
}

.download_coupon_icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.8);
}

.download_coupon_card:hover .download_coupon_img_wrap img {
    transform: scale(1.06);
}

.download_coupon_img_wrap img {
    transition: transform 0.25s ease;
}
.footer{
    width:100%;
    background:#F8F8F8;
    color:#777;
    font-family:'Pretendard',sans-serif;
}

.footer_inner{
    max-width: calc(1280px + 32px);
    margin:0 auto;
    padding:30px 16px 60px;
    box-sizing: border-box;
}

.footer_menu{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:12px 30px;
    padding-bottom:18px;
    margin-bottom:18px;
    border-bottom:1px solid #e9e9e9;
}

.footer_menu a{
    font-size:14px;
    color:#555;
    text-decoration:none;
    transition:.2s;
}

.footer_menu a:hover{
    color:#111;
}

.footer_customer_service{
    margin-left:auto;
    font-size:14px;
    line-height:1.5;
    color:#555;
    word-break:keep-all;
}

.footer_info .footer_customer_service{
    display:none;
}

/* 모바일·태블릿·폴더블에서는 사업자 정보 아래에 고객센터를 표시한다. */
@media (max-width: 1024px){
    .footer_menu .footer_customer_service{
        display:none;
    }

    .footer_info .footer_customer_service{
        display:block;
    }
}

.footer_info{
    margin-top:20px;
}

.footer_info p{
    margin:0;
    font-size:14px;
    line-height:1.5;
    color:#7d7d7d;
}

/* iOS Safari가 주소·사업자번호를 임의의 링크로 감지해도 푸터 서식을 유지한다. */
.footer_info a[x-apple-data-detectors] {
    color: inherit !important;
    font: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    text-decoration: none !important;
}

.copyright{
    margin-top:28px;
    font-size:14px;
    color:#888;
}

.discount-ranking {
    width: 100%;

    margin: 20px 0px 100px 0px;
    color: #fff;
}

.discount-ranking-inner {
    width: 100%;
    background: #000;
    max-width: 1280px;
    min-height: 585px;
    margin: 0 auto;
    padding: 35px 59px 36px;
    box-sizing: border-box;
}

.discount-ranking-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    min-height: 109px;
    padding-bottom: 25px;
    border-bottom: 1px solid #4a4a4a;
}
@font-face {
    font-family: 'Dohyun';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_one@1.0/BMDOHYEON.woff') format('woff');
    font-weight: normal;
    font-display: swap;
}
.discount-ranking-title h2 {
    margin: 0;
    font-size: 36px;
    font-weight: 400;
    line-height: 1.15;
    letter-spacing: -1.8px;
    color:#fff;
    font-family: 'Dohyun';
}

.discount-ranking-title p {
    margin: 14px 0 0;
    color: #ffffff;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: -0.4px;
    display: flex;
    justify-content: center;
    gap: 10px;

}
.discount-ranking-title img{height: 17px;width:14px }
.discount-ranking-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 1px;
    color: #ddd;
    font-size: 18px;
    text-decoration: none;
    transition: color 0.2s ease;
}

.discount-ranking-more span {
    color: #777;
    font-size: 27px;
    font-weight: 200;
    line-height: 1;
}

.discount-ranking-more:hover {
    color: #fff;
}

.discount-ranking-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 78px;
    padding-top: 27px;
}

.discount-ranking-column {
    min-width: 0;
}

.discount-ranking-item {
    display: grid;
    grid-template-columns: 14px 52px minmax(0, 1fr) 105px;
    align-items: center;
    column-gap: 12px;
    width: 100%;
    min-height: 79px;
    color: #fff;
    text-decoration: none;
}

.discount-ranking-number {
    color: #818181;
    font-size: 20px;
    font-weight: 800;
    text-align: center;
    letter-spacing: -1px;
    font-family: 'Big Shoulders';
}

.discount-ranking-thumbnail {
    width: 52px;
    height: 53px;
    overflow: hidden;
    background: #222;
    border-radius: 2px;
    flex-shrink: 0;
}

.discount-ranking-thumbnail img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.1s;
}

.discount-ranking-name {
    min-width: 0;
    overflow: hidden;
    color: #f4f4f4;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: -0.8px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.discount-ranking-price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-self: end;
    width: 105px;
}

.discount-ranking-price strong {
    display: flex;
    align-items: center;
    color: #d41d1d;
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -1px;
}

.discount-ranking-price .discount-arrow {
    margin-right: 3px;
    font-size: 11px;
    line-height: 1;
}

.discount-ranking-price > span {
    margin-top: 6px;
    color: #b4b4b4;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.4px;
}

.discount-ranking-item:hover .discount-ranking-name {
    text-decoration: underline;
}

.discount-ranking-item:hover .discount-ranking-thumbnail img {
    transform: scale(1.07);
}
.ticket-card-section {
    width: 100%;
    padding: 10px 0;
    background: #fff;
    font-family: Pretendard, "Noto Sans KR", Arial, sans-serif;
}

.ticket-card-section * {
    box-sizing: border-box;
}

.ticket-card-wrap {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
}

.ticket-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-width: 0;
    overflow: hidden;
    color: #111;
    text-decoration: none;
}

.ticket-card-img {
    position: relative;
    width: 100%;
    flex-shrink: 0;
    aspect-ratio: 303 / 404;
    overflow: hidden;
    background: #eee;
}

.ticket-card-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.ticket-card-info {
    min-height: 190px;
    flex: 1;
    padding: 20px 18px 23px;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

.ticket-card-pink .ticket-card-info {
    background: #fce6fb;
}

.ticket-card-blue .ticket-card-info {
    background: #dce8f9;
}

.ticket-card-sky .ticket-card-info {
    background: #d6f0ff;
}

.ticket-card-gray .ticket-card-info {
    background: #fafafa;
}

.ticket-card-title {
    margin: 0;
    overflow: hidden;
    color: #080808;
    font-size: 23px;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -1.1px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.ticket-card-description {
    display: -webkit-box;
    min-height: 48px;
    margin: 13px 0 0;
    overflow: hidden;
    color: #222;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.45;
    letter-spacing: -0.6px;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.ticket-card-price {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 10px;
    margin-top: 25px;
}
.ticket-card-info > .ticket-card-price {
    margin-top: auto;
    padding-top: 25px;
}

.ticket-card-discount {
    display: flex;
    align-items: center;
    min-width: 0;
}

.ticket-card-discount strong {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    color: #e31d2b;
    font-size: 29px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -1px;
}

.ticket-card-arrow {
    margin-right: 2px;
    font-size: 11px;
}

.ticket-card-discount del {
    margin-left: 4px;
    overflow: hidden;
    color: #888;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.ticket-card-sale-price {
    flex-shrink: 0;
    color: #050505;
    font-size: 21px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.8px;
    white-space: nowrap;
}

.ticket-card:hover .ticket-card-img img {
    transform: scale(1.04);
}

.ticket-card:hover .ticket-card-title {
    text-decoration: underline;
}
.benefit_coupon_section {
    width: 100%;
    padding: 30px 0 80px;
    background: #fff;
    font-family: Pretendard, "Noto Sans KR", sans-serif;
}

.benefit_coupon_section * {
    box-sizing: border-box;
}

.benefit_coupon_wrap {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
}

.benefit_coupon_item {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
    height: 280px;
    padding: 0 28px;
    overflow: hidden;
    border: 0;
    color: #fff;
    text-align: center;
    cursor: pointer;
    appearance: none;
}

.benefit_coupon_purple {
    background:
            radial-gradient(circle at 50% 21%, rgba(173, 70, 255, 0.6) 0, rgba(173, 70, 255, 0.18) 28%, transparent 52%),
            linear-gradient(180deg, #9d00ef 0%, #4f0074 58%, #030303 100%);
}

.benefit_coupon_gray {
    background:
            radial-gradient(circle at 50% 21%, rgba(170, 170, 185, 0.55) 0, rgba(170, 170, 185, 0.15) 30%, transparent 54%),
            linear-gradient(180deg, #6c6c78 0%, #303039 58%, #030303 100%);
}

.benefit_coupon_blue {
    background:
            radial-gradient(circle at 50% 21%, rgba(62, 109, 255, 0.65) 0, rgba(62, 109, 255, 0.18) 30%, transparent 53%),
            linear-gradient(180deg, #2454df 0%, #09256f 58%, #030303 100%);
}

.benefit_coupon_pink {
    background:
            radial-gradient(circle at 50% 21%, rgba(255, 128, 229, 0.6) 0, rgba(255, 128, 229, 0.18) 30%, transparent 53%),
            linear-gradient(180deg, #e95aca 0%, #843274 58%, #030303 100%);
}

.benefit_coupon_content {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 28px;
}

.benefit_coupon_icon_box {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 112px;
    height: 112px;
    margin-bottom: 14px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
}

.benefit_coupon_icon_box img {
    display: block;
    width: 74px;
    height: 74px;
    object-fit: contain;
    transition: transform 0.25s ease;
}

.benefit_coupon_category {
    margin: 0;
    color: #f2f2f2;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: -0.5px;
}

.benefit_coupon_title {
    display: block;
    margin-top: 3px;
    color: #fff;
    font-size: 24px;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -1px;
}

.benefit_coupon_target {
    display: block;
    margin-top: 6px;
    color: rgba(255, 255, 255, 0.85);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: -0.4px;
    word-break: keep-all;
}

.benefit_coupon_bottom {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    height: 52px;
    border-top: 1px solid rgba(255, 255, 255, 0.35);
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    width: 100%;
}

.download_coupon_icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}

.benefit_coupon_item:hover .benefit_coupon_icon_box img {
    transform: translateY(-4px) scale(1.04);
}

.benefit_coupon_item:hover .benefit_coupon_bottom {
    background: rgba(255, 255, 255, 0.06);
}
.event-banner-section {
    width: 100%;
    padding: 4px;
    box-sizing: border-box;
    margin-top:100px;
}

.event-banner-wrap {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.event-banner {
    position: relative;
    display: block;
    width: 100%;
    height: 354px;
    overflow: hidden;
    background: #111;
    color: #fff;
    text-decoration: none;
}

.event-banner img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.event-banner-dim {
    position: absolute;
    inset: 0;
    background: linear-gradient(
            180deg,
            rgba(0, 0, 0, 0) 42%,
            rgba(0, 0, 0, 0.15) 58%,
            rgba(0, 0, 0, 0.85) 100%
    );
    pointer-events: none;
}

.event-banner-content {
    position: absolute;
    left: 32px;
    right: 32px;
    bottom: 25px;
    z-index: 2;
}

.event-banner-content h2 {
    margin: 0 0 8px;
    color: #fff;
    font-family: "Pretendard", sans-serif;
    font-size: 24px;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.6px;
}

.event-banner-content p {
    margin: 0;
    color: rgba(255, 255, 255, 0.95);
    font-family: "Pretendard", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: -0.35px;
}

.event-banner:hover img {
    transform: scale(1.035);
}

@media screen and (max-width: 900px) {
    .event-banner-wrap {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .event-banner {
        height: auto;
        aspect-ratio: 16 / 9;
    }
}

@media screen and (max-width: 600px) {
    .event-banner-section {
        padding: 10px 15px;
    }

    .event-banner-content {
        left: 20px;
        right: 20px;
        bottom: 18px;
    }

    .event-banner-content h2 {
        margin-bottom: 5px;
        font-size: 19px;
    }

    .event-banner-content p {
        font-size: 13px;
    }
}
.product_price{
    display:flex;
    align-items:flex-end;
    flex-wrap:wrap;
    gap:6px;
    margin-top:8px;
}

.discount_rate{
    color:#ff2d37;
    font-size:30px;
    font-weight:800;
    line-height:1;
}

.price_origin{
    margin:0;
    color:#9b9b9b;
    font-size:18px;
    text-decoration:line-through;
    line-height:1;
}

.price_after_disc{
    margin:0;
    color:#111;
    font-size:34px;
    font-weight:800;
    line-height:1;
}
.product_info {
    width: 100%;
    font-family: "Pretendard", sans-serif;
    color: #333;
}

.product_labels {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 2px;
    margin-bottom: 9px;
}

.product_label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 21px;
    padding: 0 6px;
    border: 1px solid #9d9d9d;
    background: #fff;
    color: #666;
    font-size: 11px;
    font-weight: 500;
    line-height: 1;
    box-sizing: border-box;
}

.product_label.label_red {
    border-color: #e62d35;
    background: #e62d35;
    color: #fff;
}

.product_label.label_dark {
    border-color: #555;
    background: #555;
    color: #fff;
}

.product_label.label_gray {
    border-color: #888;
    background: #888;
    color: #fff;
}

.product_label.label_light {
    border-color: #aaa;
    background: #fff;
    color: #777;
}

.product_title {
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    color: #333;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: -0.6px;
    word-break: keep-all;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.product_subtitle {
    overflow: hidden;
    margin: 3px 0 0;
    color: #555;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: -0.3px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.product_date {
    margin: 8px 0 0;
    color: #555;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: -0.25px;
}

.product_place {
    overflow: hidden;
    margin: 2px 0 0;
    color: #9a9a9a;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.4;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.product_price {
    display: flex;
    align-items: baseline;
    flex-wrap: nowrap;
    gap: 4px;
    margin-top: 8px;
    white-space: nowrap;
}

.discount_rate {
    position: relative;
    flex-shrink: 0;
    color: #ff2536;
    font-size: 20px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.8px;
}

.discount_rate::before {
    display: inline-block;
    width: 0;
    height: 0;
    margin-right: 2px;
    border-top: 6px solid #ff2536;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    vertical-align: 3px;
    content: "";
}

.main_contents .discount_rate::before {
    display: none;
    width: 0;
    height: 0;
    margin-right: 2px;
    border-top: 6px solid #ff2536;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    vertical-align: 3px;
    content: "";
}
.price_origin {
    flex-shrink: 1;
    margin: 0 2px 0 auto;
    color: #999;
    font-size: 13px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.4px;
    text-decoration: line-through;
}

.price_origin span {
    color: inherit;
}

.price_after_disc {
    flex-shrink: 0;
    margin: 0;
    color: #111;
    font-size: 20px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.8px;
}

.price_after_disc span {
    font-size: inherit;
    font-weight: inherit;
}
.h16{height:16px !important;padding-top:4px;width:18px !important;min-height: 16px}
.lticket_email_login_page,
.lticket_email_login_page * {
    box-sizing: border-box;
}

.lticket_email_login_page {
    width: 100%;
    padding: 24px 16px 42px;
    background-color: #ffffff;
    color: #111111;
    font-family:
            "Pretendard",
            -apple-system,
            BlinkMacSystemFont,
            "Segoe UI",
            Roboto,
            "Noto Sans KR",
            "Apple SD Gothic Neo",
            sans-serif;
}

.lticket_email_login_inner {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
}

.lticket_email_login_logo_area {
    width: 100%;
    margin: 0 0 27px;
    text-align: center;
}

.lticket_email_login_logo {
    display: block;
    width: 175px;
    max-width: 100%;
    height: auto;
    margin: 0 auto 7px;
    object-fit: contain;
}

.lticket_email_login_logo_text {
    margin: 0;
    padding: 0;
    color: #111111;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: -0.4px;
}

.lticket_email_login_heading_area {
    width: 100%;
    margin: 0 0 30px;
    text-align: center;
}

.lticket_email_login_heading_line {
    display: block;
    width: 32px;
    height: 1px;
    margin: 0 auto 23px;
    background-color: #111111;
}

.lticket_email_login_heading {
    width: 100%;
    margin: 0;
    padding: 0 0 28px;
    border-bottom: 2px solid #e11d25;
    color: #111111;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.45;
    letter-spacing: -0.6px;
}

.lticket_email_login_form {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
}

.lticket_email_login_input_group {
    width: 100%;
    margin: 0 0 28px;
    padding: 0;
}

.lticket_email_login_input_box {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 54px;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #dedede;
    background-color: #ffffff;
}

.lticket_email_login_input_label {
    position: absolute;
    overflow: hidden;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}

.lticket_email_login_input_icon {
    display: inline-flex;
    flex: 0 0 20px;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    margin: 0 12px 0 1px;
    color: #aab0be;
}

.lticket_email_login_input_icon svg {
    display: block;
    width: 20px;
    height: 20px;
}

.lticket_email_login_input {
    display: block;
    flex: 1;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    outline: none;
    background-color: transparent;
    box-shadow: none;
    color: #111111;
    font-family: inherit;
    font-size: 15px;
    font-weight: 400;
    line-height: 54px;
    letter-spacing: -0.3px;
    appearance: none;
    -webkit-appearance: none;
}

.lticket_email_login_input:focus {
    outline: none;
    border: 0;
    box-shadow: none;
}

.lticket_email_login_input::placeholder {
    color: #adb3c1;
    opacity: 1;
}

.lticket_email_login_input::-webkit-input-placeholder {
    color: #adb3c1;
    opacity: 1;
}

.lticket_email_login_input::-moz-placeholder {
    color: #adb3c1;
    opacity: 1;
}

.lticket_email_login_input:-ms-input-placeholder {
    color: #adb3c1;
    opacity: 1;
}

.lticket_email_login_submit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 53px;
    margin: 0;
    padding: 0 20px;
    border: 0;
    border-radius: 6px;
    outline: none;
    background-color: #df1d25;
    box-shadow: none;
    color: #ffffff;
    font-family: inherit;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    transition:
            background-color 0.2s ease,
            opacity 0.2s ease;
}

.lticket_email_login_submit:hover {
    background-color: #c91820;
}

.lticket_email_login_submit:active {
    opacity: 0.88;
}

.lticket_email_login_submit:focus-visible {
    outline: 2px solid #111111;
    outline-offset: 2px;
}

.lticket_email_login_option_area {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin: 18px 0 0;
    padding: 0;
    gap: 12px;
}

.lticket_email_login_remember {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    margin: 0;
    padding: 0;
    color: #252525;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: -0.3px;
    cursor: pointer;
    user-select: none;
}

.lticket_email_login_remember_input {
    position: absolute;
    overflow: hidden;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    opacity: 0;
    clip: rect(0, 0, 0, 0);
}

.lticket_email_login_remember_box {
    position: relative;
    display: inline-block;
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    margin: 0 7px 0 0;
    border: 1px solid #8f8f8f;
    border-radius: 4px;
    background-color: #ffffff;
}

.lticket_email_login_remember_input:checked
+ .lticket_email_login_remember_box {
    border-color: #df1d25;
    background-color: #df1d25;
}

.lticket_email_login_remember_input:checked
+ .lticket_email_login_remember_box::after {
    content: "";
    position: absolute;
    top: 1px;
    left: 4px;
    width: 5px;
    height: 9px;
    border-right: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;
    transform: rotate(45deg);
}

.lticket_email_login_remember_input:focus-visible
+ .lticket_email_login_remember_box {
    outline: 2px solid #111111;
    outline-offset: 2px;
}

.lticket_email_login_remember_text {
    display: inline-block;
    white-space: nowrap;
}

.lticket_email_login_lpoint_button {
    display: inline-flex;
    flex: 0 1 auto;
    align-items: center;
    justify-content: flex-end;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    outline: none;
    background-color: transparent;
    box-shadow: none;
    color: #202020;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.4px;
    text-align: right;
    white-space: nowrap;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

.lticket_email_login_lpoint_button:hover {
    color: #df1d25;
}

.lticket_email_login_lpoint_button:focus-visible {
    outline: 2px solid #111111;
    outline-offset: 3px;
}

.lticket_email_login_arrow {
    display: inline-block;
    flex: 0 0 9px;
    width: 9px;
    height: 9px;
    margin: 0 2px 0 9px;
    border-top: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
    transform: rotate(45deg);
}

.lticket_email_login_find_area {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 27px 0 0;
    padding: 0;
}

.lticket_email_login_find_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0 15px;
    border: 0;
    border-radius: 0;
    outline: none;
    background-color: transparent;
    box-shadow: none;
    color: #999999;
    font-family: inherit;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: -0.4px;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

.lticket_email_login_find_button:hover {
    color: #555555;
}

.lticket_email_login_find_button:focus-visible {
    outline: 2px solid #111111;
    outline-offset: 2px;
}

.lticket_email_login_find_divider {
    display: block;
    flex: 0 0 1px;
    width: 1px;
    height: 14px;
    background-color: #d2d2d2;
}

.lticket_email_login_or_area {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 42px 0 34px;
    padding: 0;
    gap: 12px;
}

.lticket_email_login_or_line {
    display: block;
    flex: 1;
    height: 1px;
    background-color: #e8e8e8;
}

.lticket_email_login_or_text {
    display: inline-block;
    flex: 0 0 auto;
    color: #aaaaaa;
    font-size: 15px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.3px;
}

.lticket_email_login_signup_area {
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: center;
}

.lticket_email_login_signup_question {
    margin: 0 0 24px;
    padding: 0;
    color: #444444;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: -0.4px;
}

.lticket_email_login_lpoint_signup {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 52px;
    margin: 0;
    padding: 0 20px;
    border: 1px solid #999999;
    border-radius: 6px;
    outline: none;
    background-color: #ffffff;
    box-shadow: none;
    color: #777777;
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.4px;
    text-align: center;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    transition:
            border-color 0.2s ease,
            color 0.2s ease,
            background-color 0.2s ease;
}

.lticket_email_login_lpoint_signup:hover {
    border-color: #555555;
    background-color: #fafafa;
    color: #333333;
}

.lticket_email_login_lpoint_signup:focus-visible {
    outline: 2px solid #111111;
    outline-offset: 2px;
}

.lticket_email_login_email_signup {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 20px auto 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    outline: none;
    background-color: transparent;
    box-shadow: none;
    color: #999999;
    font-family: inherit;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: -0.4px;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

.lticket_email_login_email_signup:hover {
    color: #555555;
}

.lticket_email_login_email_signup:focus-visible {
    outline: 2px solid #111111;
    outline-offset: 3px;
}

.lticket_email_login_email_signup_arrow {
    margin-left: 10px;
}

/* PC(>450px): 이메일 로그인 페이지 모바일 헤더/L.POINT 문구·스위치 숨김 */
@media screen and (min-width: 451px) {
    .lticket_email_login_page .mobile_menu_header {
        display: none !important;
    }

    .lticket_email_login_page .lpoint_login_title {
        display: none !important;
    }

    .lticket_email_login_page.lticket_login_type_email .lticket_email_login_lpoint_button {
        display: none !important;
    }

    .lticket_email_login_page.lticket_login_type_email .lticket_email_login_email_signup {
        display: none !important;
    }
}

@media screen and (max-width: 480px) {
    .lticket_email_login_page {
        padding: 24px 7px 40px;
    }

    .lticket_email_login_inner {
        max-width: 100%;
    }

    .lticket_email_login_option_area {
        gap: 6px;
    }

    .lticket_email_login_remember {
        font-size: 14px;
    }

    .lticket_email_login_lpoint_button {
        font-size: 14px;
    }

    .lticket_email_login_find_button {
        padding-right: 14px;
        padding-left: 14px;
        font-size: 14px;
    }
}

@media screen and (max-width: 360px) {
    .lticket_email_login_page {
        padding-right: 10px;
        padding-left: 10px;
    }

    .lticket_email_login_option_area {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }

    .lticket_email_login_lpoint_button {
        align-self: flex-end;
    }
}

.lticket_guide_section {
    width: 100%;
    padding-bottom: 100px;
    background: #fff;
    color: #111;
    font-family: Pretendard, "Noto Sans KR", Arial, sans-serif;
}

.lticket_guide_section,
.lticket_guide_section * {
    box-sizing: border-box;
}

/* ==============================
   상단 메뉴
============================== */
.lticket_guide_menu {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    width: 100%;
    min-height: 140px;
    margin: 0;
    padding: 0;
    border-top: 1px solid #e9e9e9;
    border-left: 1px solid #e9e9e9;
}

.lticket_guide_menu_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    min-width: 0;
    padding: 20px 10px;
    color: #111;
    text-decoration: none;
    border-right: 1px solid #e9e9e9;
    border-bottom: 1px solid #e9e9e9;
    transition:
            background-color 0.2s ease,
            color 0.2s ease;
}

.lticket_guide_menu_item:hover {
    background: #fafafa;
}

.lticket_guide_menu_item.active {
    position: relative;
    background: #fafafa;
    box-shadow: inset 0 0 0 2px #0095f6;
}

.lticket_guide_menu_item strong {
    display: block;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    white-space: nowrap;
}

/* 일반 아이콘 */
.lticket_guide_menu_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 60px;
}

.lticket_guide_menu_icon svg {
    width: 60px;
    height: 60px;
    fill: none;
    stroke: #111;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* L.POINT 로고 */
.lticket_guide_lpoint_logo {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border: 1px solid #ececec;
    border-radius: 4px;
    background: #fff;
}

.lticket_guide_lpoint_l {
    color: #0095f6;
    font-size: 36px;
    font-weight: 800;
    line-height: 1;
}

.lticket_guide_lpoint_dot {
    position: absolute;
    right: 13px;
    bottom: 15px;
    width: 5px;
    height: 5px;
    background: #ffb400;
    border-radius: 50%;
}

/* PASS */
.lticket_guide_pass_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    color: #fff;
    background: #fb3d55;
    border-radius: 5px;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -0.5px;
}

/* ==============================
   본문
============================== */
.lticket_guide_content {
    width: 100%;
    padding: 47px 0 0;
}

.lticket_guide_title {
    margin: 0;
    padding: 0;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.4;
}

.lticket_guide_title_line {
    width: 100%;
    height: 1px;
    margin-top: 15px;
    background: #222;
}

.lticket_guide_description {
    padding-top: 27px;
}

.lticket_guide_description p {
    margin: 0;
    color: #303030;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.7;
}

.lticket_guide_description .lticket_guide_notice {
    margin-top: 3px;
    color: #656975;
}

.lticket_guide_notice span {
    color: #656975;
}

/* ==============================
   가입 절차
============================== */
.lticket_guide_steps {
    display: flex;
    align-items: center;
    margin-top: 26px;
    padding-bottom: 8px;
}

.lticket_guide_step {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.lticket_guide_circle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 140px;
    height: 140px;
    margin-left: 12px;
    border-radius: 50%;
    background: #f7f7f7;
}

.lticket_guide_circle svg {
    width: 90px;
    height: 90px;
    fill: none;
    stroke: #111;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.lticket_guide_circle .lticket_guide_blue_stroke {
    stroke: #0095f6;
}

.lticket_guide_step_text {
    display: block;
    margin-top: 25px;
    color: #666a75;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    white-space: nowrap;
}

.lticket_guide_arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 142px;
    margin: 0 20px 40px;
}

.lticket_guide_arrow svg {
    width: 18px;
    height: 35px;
    fill: none;
    stroke: #cdd0da;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* ==============================
   반응형
============================== */
@media (max-width: 768px) {
    .lticket_guide_menu {
        grid-template-columns: repeat(3, 1fr);
    }

    .lticket_guide_menu_item {
        min-height: 125px;
    }

    .lticket_guide_content {
        padding-top: 35px;
        overflow-x: auto;
    }

    .lticket_guide_content img {
        width: 220%;
        max-width: 220%;
    }

    .lticket_guide_steps {
        align-items: center;
        justify-content: flex-start;
        overflow-x: auto;
        padding: 0 10px 15px;
    }

    .lticket_guide_step {
        flex: 0 0 auto;
        align-items: center;
    }

    .lticket_guide_circle {
        width: 120px;
        height: 120px;
        margin-left: 0;
    }

    .lticket_guide_circle svg {
        width: 78px;
        height: 78px;
    }

    .lticket_guide_step_text {
        font-size: 14px;
        text-align: center;
    }

    .lticket_guide_arrow {
        flex: 0 0 45px;
        width: 45px;
        margin: 0 10px 38px;
    }
}

@media (max-width: 480px) {
    .lticket_guide_menu {
        grid-template-columns: repeat(2, 1fr);
    }

    .lticket_guide_menu_item {
        min-height: 115px;
        gap: 10px;
    }

    .lticket_guide_menu_item strong {
        font-size: 13px;
    }

    .lticket_guide_title {
        font-size: 16px;
    }

    .lticket_guide_description p {
        font-size: 13px;
    }
}

/* 상품 리스트 카드 높이 통일 (라벨 유무/줄바꿈과 무관하게 정렬 유지) — 그리드 보기 전용, 리스트 보기(list_view)는 제외 */
.list_contents .product_list:not(.list_view) > ul > li {
    display: flex;
}

.list_contents .product_list:not(.list_view) .product_card {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.product_labels {
    min-height: 23px;
}

.product_subtitle {
    min-height: 20px;
}

.list_contents .product_list:not(.list_view) .product_card .product_title {
    margin-top: 4px;
}

.list_contents .product_list:not(.list_view) .product_card .product_price {
    margin-top: auto;
    padding-top: 8px;
}

/* 썸네일 이미지가 원본 크기 그대로 중앙에서 잘려 보이던 문제 수정 (그리드/리스트뷰 공통) */
.product_list .product_card .thumnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    top: 0;
    left: 0;
    transform: none;
}

/* 리스트뷰 썸네일 박스를 실제 업로드 이미지 비율(3:4, 750x1000)에 맞춰 여백/잘림 없이 표시 */
.list_contents .product_list.list_view > ul > li .product_card .thumnail {
    width: 150px;
    min-width: 150px;
    height: 200px;
    max-height: 200px;
}

/* 컨텐츠 사이 배너 슬롯 (그리드: 5개마다 한 줄, 리스트: 맨 아래) */
.content_banner_slot {
    display: flex;
    align-items: center;
    min-height: 96px;
    margin: 24px 0;
    padding: 0 32px;
    background: linear-gradient(90deg, #F3F1EF 0%, #EDEAE6 100%);
    border-radius: 8px;
    box-sizing: border-box;
}

/* li 자체가 5칸 그리드 폭 규칙(.product_list > ul > li)을 물려받아 좁아지는 것을 막고 한 줄 전체를 강제로 차지 */
.list_contents .product_list > ul > li.content_banner_slot {
    width: 100%;
    flex: 1 0 100%;
}

.content_banner_slot_eyebrow {
    margin: 0 0 4px;
    color: #8E939E;
    font-size: 14px;
}

.content_banner_slot_text h3 {
    margin: 0;
    color: #1B1B1F;
    font-size: 22px;
    font-weight: 700;
}

.content_banner_slot_desc {
    margin: 6px 0 0;
    color: #5E606B;
    font-size: 14px;
}

/* 기본은 숨김: 그리드뷰에서만 노출 */
.content_banner_slot_grid {
    display: none;
}

.list_contents .product_list:not(.list_view) .content_banner_slot_grid {
    display: flex;
}

/* 리스트뷰에서는 목록 맨 아래에만 노출 */
.content_banner_slot_list {
    display: none;
}

.list_contents .product_list.list_view ~ .content_banner_slot_list {
    display: flex;
}

/* 관리자에서 등록한 배너 이미지가 있을 때: 텍스트 카드 대신 이미지로 꽉 채움 */
.content_banner_slot.has_banner_image {
    padding: 0;
    background: none;
    overflow: hidden;
}

.content_banner_slot.has_banner_image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.content_banner_slot.has_banner_image .content_banner_slot_img_link {
    display: block;
    width: 100%;
    height: 100%;
}

/* 페이지네이션 이전/다음 버튼 - 이동할 데이터가 없으면 흐리게 표시 (화살표+테두리가 한 이미지라 opacity로 함께 옅어짐) */
.pagination .page-item.disabled {
    opacity: 0.25;
    pointer-events: none;
}

.pagination .page-item.disabled .page-link {
    filter: grayscale(1);
}
/* flex 컨테이너 안이어도 <li> 기본 불릿(list-item marker)은 자동으로 안 없어짐 */
.pagination .page-item {
    list-style: none;
}
/* ===== header ON SALE ticker (global) ===== */
.ticker-bar .on_sale_ticker {
    flex: 1;
    min-width: 0;
    background-color: transparent;
    overflow: hidden;
}
.ticker-bar .on_sale_ticker_inner {
    max-width: none;
    padding: 0 16px 0 0;
    min-height: 40px;
    gap: 16px;
}
.ticker-bar .user-menu {
    flex-shrink: 0;
    margin-left: auto;
    transform: translateX(2px);
}

/* 모바일 header / 마이페이지 상단 ON SALE 티커 */
.header_m .header_m_ticker,
.header_m_ticker {
    width: 100%;
}
.header_m .header_m_ticker .ticker-bar,
.header_m_ticker .ticker-bar {
    max-width: none;
    padding: 0 12px;
}
.header_m .header_m_ticker .on_sale_ticker_inner,
.header_m_ticker .on_sale_ticker_inner {
    padding: 0;
    gap: 12px;
    min-height: 36px;
}
.header_m .header_m_ticker .on_sale_ticker_title,
.header_m .header_m_ticker .on_sale_ticker_name,
.header_m .header_m_ticker .on_sale_ticker_rate,
.header_m_ticker .on_sale_ticker_title,
.header_m_ticker .on_sale_ticker_name,
.header_m_ticker .on_sale_ticker_rate {
    font-size: 12px;
    line-height: 18px;
}

/* payment coupon empty option */
.sale_info_box .custom-option.is-empty {
    color: #9A9DA5;
    cursor: default;
    pointer-events: none;
}
.header_m_inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    height:48px;
    padding:0 16px;
    background:#fff;
    border-bottom:1px solid #d9d9d9;
    box-sizing:border-box;
    /* 자식 .header_m_search_bar가 position:absolute; width:100%인데, 여기 relative가
       없으면 기준(containing block)이 이 요소가 아니라 더 상위로 올라가면서 검색창이
       화면보다 넓어져 가로 스와이프가 생긴다. */
    position:relative;
}

.header_m_logo{
    display:flex;
    align-items:center;
    padding:0;
    border:0;
    background:none;
}

.header_m_logo img{
    display:block;
    height:24px;
    width:auto;
}

.header_m_menu{
    display:flex;
    align-items:center;
    gap:16px;
}

.header_m_btn{
    display:flex;
    align-items:center;
    justify-content:center;
    width:24px;
    height:24px;
    padding:0;
    border:0;
    background:none;
}

.header_m_btn img{
    display:block;
    width:24px;
    height:24px;
}
.header_m_search_bar{
    position:absolute;
    top:100%;
    left:0;
    width:100%;
    background:#fff;
    box-sizing:border-box;
    padding:16.5px 16px;
    z-index:9998;
}
.header_m_search_dim{
    position:fixed;
    inset:0;
    background:#00000099;
    z-index:9997;
}
.header_m_search_input_wrap{
    position:relative;
    width:100%;
    height:39px;
}
.header_m_search_input{
    width:100%;
    height:39px;
    box-sizing:border-box;
    padding:0 44px 0 16px;
    border:1px solid #000;
    border-radius:19.5px;
    /* iOS Safari는 input의 font-size가 16px 미만이면 포커스 시 자동으로 화면을 확대한다.
       16px 미만으로 낮추지 말 것. */
    font-size:16px;
    color:#1B1B1F;
    outline:none;
}
.header_m_search_input::placeholder{
    color:#808080;
}
.header_m_search_btn{
    position:absolute;
    top:50%;
    right:16px;
    transform:translateY(-50%);
    width:24px;
    height:24px;
    padding:0;
    border:0;
    background:none;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
}
.header_m_search_btn img{
    width:17px;
    height:17px;
    display:block;
}
.header_m_promo_badge{
    display:flex;
    align-items:center;
    justify-content:center;
    width:67px;
    height:28px;
    padding:0;
    border:0;
    border-radius:2px;
    background:#D41D1D;
    color:#fff;
    font-size:12px;
    font-weight:700;
    white-space:nowrap;
    cursor:pointer;
}
.discount-ranking-more-wrap {
    display: none;
}
.mobile_menu{display:none}
.booking_poster_wrap {
    position: relative;
    width: 100%;
    min-height: calc(100vh - 56px);
    overflow: hidden;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #15161b;
}

/* 같은 포스터 이미지를 뒤에 크게 깔기 */
.booking_poster_wrap::before {
    content: "";
    position: absolute;
    inset: -40px;

    background-image: var(--booking-poster-bg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;

    filter: blur(28px);
    transform: scale(1.12);
    opacity: 0.34;
}

/* 어둡게 덮기 */
.booking_poster_wrap::after {
    content: "";
    position: absolute;
    inset: 0;

    background:
            linear-gradient(
                    to bottom,
                    rgba(17, 18, 24, 0.55),
                    rgba(17, 18, 24, 0.72)
            );
}

.booking_date_select {
    position: absolute;
    z-index: 3;
    top: 16px;
    right: 16px;

    display: flex;
    gap: 5px;
}

.booking_date_select select {
    height: 26px;
    padding: 0 28px 0 10px;

    border: 0;
    border-radius: 2px;
    background: #fff;

    color: #111;
    font-size: 12px;
}

.booking_poster_box {
    position: relative;
    z-index: 2;

    width: 274px;
    max-width: calc(100% - 40px);

    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.38);
}

.booking_poster_img {
    display: block;
    width: 100%;
    height: auto;
}
.booking_poster_wrap {
    position: relative;
    overflow: hidden;
    background: #15161b;
}

.booking_poster_wrap::before {
    content: "";
    position: absolute;
    inset: -40px;

    background-image: var(--booking-poster-bg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;

    filter: blur(30px);
    transform: scale(1.15);
    opacity: 0.45;
}

.booking_poster_wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(10, 11, 16, 0.58);
}

.booking_date_select,
.booking_poster_box {
    position: relative;
    z-index: 2;
}
/* .booking_wrap이 퍼센트 폭이라 .sticky_menu(고정폭 min-width:350px, position:fixed/absolute right:0)와
   화면 폭에 따라 겹칠 수 있었음 — 겹치지 않도록 최대 폭을 항상 .sticky_menu 폭만큼 남겨두게 고정.
   (1024px 이하는 .sticky_menu가 position:static/width:100%로 바뀌어 더 이상 겹치지 않으므로 제외) */
@media (min-width: 1025px){
    .detail_b_contents .booking_contents .booking_wrap{
        max-width: calc(100% - 366px) !important;
    }
}

.booking_date_select{
    position:absolute;
    top:16px;
    right:16px;
    left:16px;
    z-index:10;

    display:flex;
    gap:8px;
    justify-content:flex-end;
    flex-wrap:wrap;
    max-width:calc(100% - 32px);
}

.booking_dropdown{
    position:relative;
}

.booking_dropdown_btn{
    display:flex;
    align-items:center;
    justify-content:space-between;

    min-width:120px;
    height:34px;
    padding:0 12px;

    border:1px solid rgba(255,255,255,.15);
    border-radius:6px;

    background:rgba(0,0,0,.55);
    backdrop-filter:blur(10px);

    color:#fff;
    font-size:13px;
    font-weight:600;

    cursor:pointer;
}

.booking_dropdown:last-child .booking_dropdown_btn{
    min-width:84px;
}

.booking_dropdown_btn i{
    width:7px;
    height:7px;

    margin-left:12px;

    border-right:2px solid #fff;
    border-bottom:2px solid #fff;

    transform:rotate(45deg);
    transition:.2s;
}

.booking_dropdown.active .booking_dropdown_btn i{
    transform:rotate(-135deg);
    margin-top:5px;
}

.booking_dropdown_menu{
    position:absolute;
    top:40px;
    left:0;

    width:100%;

    margin:0;
    padding:6px 0;

    list-style:none;

    border-radius:6px;
    background:#fff;

    box-shadow:0 10px 30px rgba(0,0,0,.2);

    display:none;

    overflow:hidden;
}

.booking_dropdown.active .booking_dropdown_menu{
    display:block;
}

.booking_dropdown_menu li{
    padding:10px 12px;

    font-size:13px;
    color:#222;

    cursor:pointer;
}

.booking_dropdown_menu li:hover,
.booking_dropdown_menu li.active{
    background:#f5f5f5;
}
.booking_bottom_fixed{
    position:absolute;
    left:0;
    right:0;
    bottom:50px;
    z-index:9999;
    background:#fff;
    border-top:1px solid #e8e8e8;
    box-sizing:border-box;
}
.booking_bottom_fixed {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    z-index: 9999;
    background: #fff;
    border-top: 1px solid #e8e8e8;
    box-sizing: border-box;
    padding: 28px 20px 20px;
}

.h2_text{font-size: 28px !important;
    font-weight: 700 !important;
    border: 0 !important;
    padding: 50px 0px 30px;
}
.booking_form_container {
    border-bottom: 1px solid #f0f0f0;
    max-width: 708px;
}
.detail_b_contents .booking_contents .booking_form_container > div:not(:last-child) {
    margin-bottom: 20px;
    padding: 40px 30px;
    border: 1px solid #e6e6e6;
    box-shadow: none;
}
.detail_b_contents .booking_header{z-index:3}
.tiket_area .select_seats_box{
    border:0px !important;
    padding: 0px !important;
    border-bottom: 1px solid #f0f0f0 !important;
    border-radus:0px
}
.tiket_area {
    border:0px !important;
    padding: 0px !important;
    border-radus:0px
}
.payment-wrap .payment_method_box .list-check-1{
    width: 100%;
    display: flex;
}
.payment-wrap .payment_method_box .list-check-1 label, .os_m_payment_box .payment_method_box .list-check-1 label, .onestop_contents .booking_contents .booking_form_container form .payment_method_box .tab_menu .pm_radio label {
    border: 1px solid #888888;
    padding: 12px 28px;
    width: 90%;
    max-width: 55px;
    border-radius: 0px;
    justify-content: center;
    margin-right: 10px;
}
.payment-wrap .payment_method_box .pm_radio input[type="radio"]:checked + label {
    background-color: #ffffff;
    border: 1px solid #d41d1d;
    color: #d41d1d;
    font-weight: 500;
}
.detail_b_contents .booking_contents .booking_form_container .user_agreement_box .drop_down_box label {
    font-size: 14px;
    line-height: 1.25rem;
    align-items: start;
}
.detail_b_contents .booking_contents .booking_form_container .user_agreement_box .all_agree_check label {
    font-size: clamp(14px, 1vw, 16px);
    line-height: 1.5rem;
    font-weight: 500;
    margin-bottom: 16px;
    text-align: left;
    width: 203px;
}
.detail_b_contents .sticky_menu .seats_box .seats_table_wrap, .os_payment_menu2 .seats_box .seats_table_wrap {
    padding-bottom: 28px;
    border-bottom: 1px solid #cdcdcd;
    margin-bottom: 28px;
}
.detail_b_contents .sticky_menu .btn_container, .os_payment_menu2 .btn_container {
    display: flex;
    gap: 10px;
    margin-top: 30px;
}
.detail_b_contents .sticky_menu .btn_container button, .os_payment_menu2 .btn_container button {
    width: 100%;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.25rem;
    padding: 14px 0;
    border-radius: 0px;
}
.w206{width:206px !important}
.w110{width:110px !important;}
.detail_b_contents .booking_contents .booking_success {
    width: 648px;
    background-color: #fff;
    border: 1px solid #EBECF0;
    border-radius: 8px;
    box-shadow: 0 4px 4px 0 #0000000A;
    /* padding: 58px 96px 70px; */
    padding: 68px 40px;
}
.detail_b_contents .booking_contents .sticky_menu2 {
    top: 270px;
    position: absolute;
    right: 0;
    z-index: 3;
    min-height: 683px;
}
.detail_b_contents .booking_contents .sticky_menu2 > .btn_container .red_btn, .onestop_contents .os_menu .btn_container .red_btn, .onestop_contents .os_payment_menu .btn_container .red_btn {
    width: 100%;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.25rem;
    padding: 14px 0;
    border-radius: 0px;
    background-color: #d41d1d;
    color: #fff;
}
.lticket_find_id_page{
    width:100%;
    max-width:480px;
    margin:0 auto;
    padding:36px 20px 30px;
    background:#fff;
    box-sizing:border-box;
}

.lticket_find_id_logo_area{
    text-align:center;
}

.lticket_find_id_logo{
    width:170px;
    display:block;
    margin:0 auto 28px;
}

.lticket_find_id_logo_text{
    margin:12px 0 0;
    color:#222;
    font-size:15px;
    font-weight:500;
    line-height:1.5;
}

.lticket_find_id_title_area{
    margin: 0 auto 32px;
    text-align:center;
}

.lticket_find_id_line{
    display:block;
    width:56px;
    height:1px;
    margin:0 auto 34px;
    background:#bdbdbd;
}


.lticket_find_id_title_area{
    display: block;
    width: 100%;
    padding: 0 0 28px;
    border-bottom: 2px solid #e11d25;
    color: #111111;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.45;
    letter-spacing: -0.6px;
}


.lticket_find_id_title{
    margin:0;
    color:#000;    
    font-size: 20px;
    font-weight:700;
    line-height:1.2;
}

.lticket_find_id_form{
    width:100%;
}

.lticket_find_id_form .red_text{
  font-size: 14px;
  margin-block: 8px;
}

.lticket_find_id_input_box{
    border-bottom:1px solid #e5e5e5;
    position: relative;
}

.lticket_find_id_input{
    width:100%;
    height:58px;
    border:0;
    background:none;
    padding:0 14px;

    color:#111;
    font-size:16px;
    box-sizing:border-box;
    outline:none;
}

.lticket_find_id_input_box.cert{
  display: flex;
  gap: 12px;
  margin-top: 10px;
  border-bottom: none;
  align-items: center;
}

.lticket_find_id_input_box input{
  border-bottom: 1px solid #e5e5e5;
}

.lticket_find_id_input_box #phone_cert_btn{
  width: 100px;
  flex-shrink: 0;
  border: 1px solid #000000;
  padding: 14px 0;
  box-sizing: border-box;
  border-radius: 6px;
  color: #000000;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 700;
  height: 48px;
}

.lticket_find_id_input::placeholder{
    color:#b7b7b7;
}

.lticket_find_id_button_area{
    display:flex;
    gap:12px;
    margin-top:28px;
}

.lticket_find_id_button_area button{
    flex:1;
    height:56px;

    border-radius:6px;

    font-size:18px;
    font-weight:700;

    cursor:pointer;
}

.lticket_find_id_cancel{
    background:#fff;
    border:1px solid #222;
    color:#111;
}

.lticket_find_id_submit{
    border:0;
    background:#d81f26;
    color:#fff;
}
.lticket_find_success_page{
    width:100%;
    min-height:100vh;
    background:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:24px;
    box-sizing:border-box;
}

.lticket_find_success_inner{
    width:100%;
    max-width:480px;
    text-align:center;
}

.lticket_find_success_title{
    margin:0;

    color:#222;
    font-size:34px;
    font-weight:700;
    line-height:1.3;
}

.lticket_find_success_text{
    margin:28px 0 60px;

    color:#333;
    font-size:18px;
    font-weight:400;
    line-height:1.6;
}

.lticket_find_success_text strong{
    font-weight:700;
    color:#111;
}

.lticket_find_success_button_area{
    display:flex;
    gap:12px;
}

.lticket_find_success_button_area button{
    flex:1;
    height:56px;

    border-radius:6px;

    font-size:18px;
    font-weight:700;

    cursor:pointer;

    transition:.2s;
}

.lticket_find_success_login{
    background:#fff;
    color:#111;
    border:1px solid #222;
}

.lticket_find_success_password{
    border:none;
    background:#d91f26;
    color:#fff;
}

.lticket_find_success_login:hover{
    background:#f8f8f8;
}

.lticket_find_success_password:hover{
    background:#c8181f;
}
.lticket_password_complete_page{
    display:flex;
    align-items:center;
    justify-content:center;

    width:100%;
    min-height:100vh;

    padding:24px;
    background:#fff;
    box-sizing:border-box;
}

.lticket_password_complete_inner{
    width:100%;
    max-width:480px;
    text-align:center;
}

.lticket_password_complete_title{
    margin:0;
    color:#222;
    font-size:40px;
    font-weight:600;
    line-height:1.3;
}

.lticket_password_complete_text{
    margin:16px 0 48px;
    color:#333;
    font-size:16px;
    font-weight:400;
    line-height:1.6;
}

.lticket_password_complete_button_area{
    width:100%;
}

.lticket_password_complete_login{
    width:100%;
    height:56px;

    border:0;
    border-radius:6px;

    background:#d91f26;
    color:#fff;

    font-size:18px;
    font-weight:700;

    cursor:pointer;
    transition:.2s;
}

.lticket_password_complete_login:hover{
    background:#c8181f;
}
.h50{min-height:92px}

.sign_up .sign_up_comp > div .btn_container2 a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 220px;
    border: 1px solid #000000;
    padding: 18px 0;
    box-sizing: border-box;
    border-radius: 6px;
    color: #000000;
    font-size: 1.125rem;
    line-height: 1.25rem;
    font-weight: 700;
}
.sign_up .btn_container2 button {
    background-color: #d41d1d;
    color: #fff;
    font-size: 1.125rem;
    font-weight: 700;
    padding: 18px;
    width: 50%;
    max-width: 24.375rem;
    border-radius: 6px;
}
.sign_up .btn_container2{
gap: 10px;
margin-top: 50px;
display: flex}
.main_contents{padding:0px !important;}

/* ===== product list: price + sale ended (2026-07-30) ===== */
.list_contents .product_list .product_card .thumnail {
    position: relative;
}

.product_list .product_card .thumnail{
  background: transparent !important;
}

.list_contents .product_list:not(.list_view) .product_card .thumnail{
  display: flex;
  justify-content: center !important;
}

.list_contents .product_list .product_card .thumnail img{
  object-fit: contain !important;
  border-radius: 4px;
  width: auto !important;
}

.list_contents .product_list .product_card .thumnail .sale_ended_overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.45);
    color: #fff;
    font-size: clamp(18px, 1.4vw, 22px);
    font-weight: 700;
    letter-spacing: -0.02em;
    pointer-events: none;
    border-radius: 2px;
}
.list_contents .product_list .product_card .product_price {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    margin-top: 12px;
    width: 100%;
    white-space: nowrap;
}
.list_contents .product_list .product_card .product_price .price-left {
    display: flex;
    align-items: baseline;
    flex-shrink: 0;
}
.list_contents .product_list .product_card .product_price .price-right {
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 4px;
    margin-left: auto;
    min-width: 0;
}
.list_contents .product_list .product_card .product_price .discount_rate {
    position: relative;
    color: #d41d1d;
    font-size: clamp(16px, 1.1vw, 18px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
}
.list_contents .product_list .product_card .product_price .discount_rate .fs12 {
    display: none;
}
.list_contents .product_list .product_card .product_price .price_origin {
    position: static;
    margin: 0;
    color: #8E939E;
    font-size: clamp(12px, 0.9vw, 14px);
    font-weight: 400;
    line-height: 1.2;
    text-decoration: line-through;
    transform: none;
    top: auto;
    right: auto;
}
.list_contents .product_list .product_card .product_price .price_after_disc {
    position: static;
    margin: 0;
    color: #1B1B1F;
    font-size: clamp(16px, 1.1vw, 18px);
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}
.list_contents .product_list.list_view .product_card .product_price {
    position: static;
    transform: none;
    top: auto;
    right: auto;
    margin-top: 8px;
    display: grid;
    grid-template-columns: max-content max-content;
    justify-content: end;
    align-items: baseline;
    row-gap: 4px;
    column-gap: 6px;
    width: auto;
}
.list_contents .product_list.list_view .product_card .product_price .price-left {
    grid-row: 2;
    grid-column: 1;
}
.list_contents .product_list.list_view .product_card .product_price .price-right {
    display: contents;
}
.list_contents .product_list.list_view .product_card .product_price .price_origin {
    position: static;
    top: auto;
    right: auto;
    transform: none;
    grid-row: 1;
    grid-column: 1 / -1;
    justify-self: end;
    margin: 0;
}
.list_contents .product_list.list_view .product_card .product_price .price_after_disc {
    grid-row: 2;
    grid-column: 2;
}

/* ===== cancel confirm alert (check_ticket_detail) ===== */
#cancelSeatAlertModal.alert_modal {
    z-index: 100000;
}
#cancelSeatAlertModal .btn_container {
    display: flex;
    gap: 12px;
    justify-content: center;
    width: 100%;
}
#cancelSeatAlertModal .btn_container .gray_btn {
    background-color: #EBECF0;
    color: #1B1B1F;
}
#cancelSeatAlertModal .btn_container .red_btn {
    background-color: #fff;
    color: #d41d1d;
    border: 1px solid #d41d1d;
}

/* 취소 신청/완료 모달: 화면·내부 요소 전부 가운데 정렬 */
#cancelRequestModal.ticket-cancel-backdrop,
#cancelCompleteModal.ticket-cancel-backdrop {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    display: block !important;
    transform: none !important;
    z-index: 100001 !important;
}
#cancelRequestModal.ticket-cancel-backdrop.hidden,
#cancelCompleteModal.ticket-cancel-backdrop.hidden {
    display: none !important;
}
#cancelRequestModal .ticket-cancel-container,
#cancelCompleteModal .ticket-cancel-container {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
    width: 850px !important;
    max-width: calc(100% - 40px) !important;
    margin: 0 !important;
    flex-shrink: 0;
    text-align: center;
    box-sizing: border-box !important;
}
#cancelRequestModal .ticket-cancel-header,
#cancelCompleteModal .ticket-cancel-header {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}
#cancelRequestModal .ticket-cancel-title,
#cancelCompleteModal .ticket-cancel-title {
    width: 100%;
    text-align: center;
}
#cancelRequestModal .ticket-cancel-close-x,
#cancelCompleteModal .ticket-cancel-close-x {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
#cancelRequestModal .ticket-cancel-body,
#cancelCompleteModal .ticket-cancel-body {
    width: 100%;
    text-align: center;
}
#cancelRequestModal .ticket-cancel-summary-bar,
#cancelCompleteModal .ticket-cancel-summary-bar {
    text-align: center;
}
#cancelRequestModal .ticket-cancel-amount-board {
    width: 100%;
}
#cancelRequestModal .ticket-cancel-amount-col {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}
#cancelRequestModal .ticket-cancel-col-header {
    width: 100%;
    align-items: center;
    text-align: center;
}
#cancelRequestModal .ticket-cancel-col-header .ticket-cancel-total-price {
    text-align: center;
    width: 100%;
}
#cancelRequestModal .ticket-cancel-col-body {
    width: 100%;
    align-items: center;
}
#cancelRequestModal .ticket-cancel-detail-row {
    width: 100%;
    justify-content: center;
    gap: 10px;
}
#cancelRequestModal .ticket-cancel-total-zone {
    width: 100%;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
}
#cancelCompleteModal .ticket-cancel-complete-box {
    width: 100%;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: 36px 20px;
    margin-bottom: 24px;
    box-sizing: border-box;
}
#cancelCompleteModal .ticket-cancel-complete-msg {
    margin: 0;
    width: 100%;
    text-align: center;
}
#cancelCompleteModal .ticket-cancel-complete-summary {
    width: 100%;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #e9ecef;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    color: #000;
}
#cancelCompleteModal .ticket-cancel-complete-summary[hidden] {
    display: none !important;
}
#cancelRequestModal .ticket-cancel-footer,
#cancelCompleteModal .ticket-cancel-footer {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin: 0 auto;
    box-sizing: border-box;
}
#cancelRequestModal .ticket-cancel-btn,
#cancelCompleteModal .ticket-cancel-btn {
    flex: 0 0 150px;
    width: 150px;
    margin: 0;
}

/* main: header ������� ��ư */
.coupon_register_btn {
    height: 27px;
    padding: 0 7px;
    border: 1px solid #d71920;
    border-radius: 3px;
    background: linear-gradient(to bottom, #f3373d 0%, #d71920 100%);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    font-family: Arial, "����", sans-serif;
    line-height: 25px;
    letter-spacing: -1px;
    cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);

}
.pc_view{display:block}
.m_view{display:none}
.m_booking_header{display:none}
.m_bottom_pay_bar{display:none}
.seat_select_wrap {
    width: 100%;
    max-width: 384px;
    min-height: 728px;
    padding: 28px 22px 60px;
    box-sizing: border-box;
    background: #fff;
    font-family: Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: #191919;
}

.seat_select_title {
    margin: 0;
    padding: 0 0 14px;
    border-bottom: 1px solid #222;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
}

.seat_grade_list {
    width: 100%;
}

.seat_grade_item {
    border-bottom: 1px solid #d4d4d4;
}

.seat_grade_btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 92px;
    padding: 20px 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.seat_grade_info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
}

.seat_grade_name {
    display: block;
    margin-bottom: 8px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
}

.seat_grade_name.vip {
    color: #b39a20;
}

.seat_grade_name.r {
    color: #3766f4;
}

.seat_grade_name.s {
    color: #ff6f6f;
}

.seat_grade_name.a {
    color: #61d9b7;
}

.seat_original_price {
    color: #a3a3a3;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    text-decoration-thickness: 1px;
}

.seat_grade_summary {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    gap: 18px;
}

.seat_sale_price {
    font-size: 17px;
    font-weight: 700;
    white-space: nowrap;
}

.seat_count {
    min-width: 30px;
    font-size: 16px;
    font-weight: 700;
    text-align: right;
    white-space: nowrap;
}

.sold_out_text {
    color: #999;
}

.seat_arrow {
    width: 8px;
    height: 8px;
    margin-left: 1px;
    border-right: 1px solid #777;
    border-bottom: 1px solid #777;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
}

.seat_grade_item.active .seat_arrow {
    transform: rotate(-135deg);
}

.seat_zone_list {
    display: none;
    padding: 2px 10px 13px;
}

.seat_grade_item.active .seat_zone_list {
    display: block;
}

.seat_zone_item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 42px;
    padding: 0 17px 0 2px;
    border: 0;
    background: transparent;
    color: #222;
    font: inherit;
    font-size: 14px;
    cursor: pointer;
}

.seat_zone_item:hover {
    background: #fafafa;
}

.seat_zone_item.selected {
    color: #ec003f;
    font-weight: 700;
}

.seat_zone_item.sold_out {
    color: #999;
    cursor: default;
}

.seat_zone_item:disabled {
    opacity: 1;
}

.seat_select_wrap {
    width: 100%;
    max-width: 384px;
    min-height: 460px;
    padding: 28px 22px 60px;
    box-sizing: border-box;
    background: #fff;
    font-family: Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: #191919;
    overflow: auto;
}
.selected_seat_wrap {
    width: 100%;
    max-width: 100%;
    padding: 18px 12px 28px;
    box-sizing: border-box;
    background: #fff;
    font-family: "Pretendard", sans-serif;
}

.selected_seat_header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 30px;
    padding-bottom: 10px;
    border-bottom: 2px solid #999;
}

.selected_seat_header h3 {
    display: flex;
    align-items: center;
    gap: 4px;
    margin: 0;
    color: #111;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
}

.selected_seat_header h3 strong {
    color: #e60012;
    font-size: 14px;
    font-weight: 700;
}

.selected_seat_delete_all {
    padding: 0;
    border: 0;
    background: transparent;
    color: #888;
    font-family: inherit;
    font-size: 11px;
    font-weight: 400;
    cursor: pointer;
}

.selected_seat_list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.selected_seat_item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 83px;
    padding: 0;
    border-bottom: 1px solid #e5e5e5;
    box-sizing: border-box;
}

.selected_seat_info {
    min-width: 0;
}

.selected_seat_grade {
    display: block;
    margin-bottom: 7px;
    color: #111;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
}

.selected_seat_location {
    margin: 0;
    color: #333;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
}

.selected_seat_right {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    gap: 14px;
    margin-left: 15px;
}

.selected_seat_price {
    color: #111;
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
}

.selected_seat_delete {
    position: relative;
    width: 12px;
    height: 12px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.selected_seat_delete span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 1px;
    background: #aaa;
}

.selected_seat_delete span:first-child {
    transform: translate(-50%, -50%) rotate(45deg);
}

.selected_seat_delete span:last-child {
    transform: translate(-50%, -50%) rotate(-45deg);
}
.onestop_contents .os_content_area .os_menu .seat_table_area {
    max-height: 765px;
}
.detail_b_contents .booking_contents .sticky_menu2 h3, .onestop_contents .os_menu h3, .onestop_contents .os_payment_menu h3 {
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 700;
    padding-bottom: 0px;
    border-bottom: 1px solid #1B1B1F;
    margin-bottom: 6px;
}
.h570{height:570px !important}
.pay_box1{margin:105px 20px 0px 0px !important}
/* 결제 요약 카드: 570px는 "최소" 높이여야 한다. height 로 고정하면 좌석/금액 행이
   늘어났을 때 내용이 카드 밖으로 넘쳐서 하단 버튼이 흰 박스에 걸쳐 보인다.
   (justify-content:space-between 이라 내용이 짧을 때 버튼이 바닥에 붙는 건 그대로 유지된다) */
.os_payment_menu2.pay_box1{min-height:570px}
.scroll_y{overflow-y: scroll !important}
.onestop_contents .os_payment_contents {
    padding: 48px 80px;
    width: 100%;
    height: auto;
    box-sizing: border-box;
    overflow-y: auto;
}
.p4820{padding:28px 20px !important}
.pay_box2{margin: 115px 20px 0px 0px !important;min-height: 500px !important;}
.w130p{width:130% !important;}

/* 첨부파일의 원래 길이가 자동 레이아웃 표의 너비를 늘리지 않도록 한다. */
.cs_inquiry .inquiry_read_table #fileArea{
    contain: inline-size;
}
.cs_inquiry #fileArea .file_attach_item{
    display: flex;
    width: fit-content;
    max-width: 100%;
    min-width: 0;
    gap: 0;
    vertical-align: bottom;
    white-space: nowrap;
}
.cs_inquiry .file_attach_name{
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.cs_inquiry .file_attach_extension{
    flex-shrink: 0;
}
.cs_inquiry .file_attach_size,
.cs_inquiry .file_attach_separator{
    display: none;
}
.cs_inquiry .file_container #fileArea{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    min-width: 0;
}
.cs_inquiry .inquiry_saved_file{
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    max-width: 100%;
    padding: 4px 8px;
    box-sizing: border-box;
    border: 1px solid #ccc;
    border-radius: 6px;
    background-color: #f9f9f9;
}
.cs_inquiry .inquiry_saved_file .file_attach_item{
    border: none;
    padding: 0;
    background: transparent;
    font-size: 14px;
    color: #333;
}
.cs_inquiry .inquiry_saved_file .file_attach_remove{
    flex: 0 0 auto;
    color: #ff4d4f;
    font-weight: bold;
}

/* 1:1문의 글쓰기 PC 디자인 보정 (모바일 영향 없도록 451px 이상에서만 적용) */
@media (min-width: 451px) {
    .cs_inquiry .file_container .file_label{
        font-size: 0.875rem;
        font-weight: 700;
        margin-bottom: 10px;
    }
    .cs_inquiry .select_container input,
    .cs_inquiry .select_container .custom-select-box{
        border-color: #CDCDCD;
        border-radius: 2px;
    }
    .cs_inquiry .file_container .file_box .file_btn,
    .cs_inquiry .file_container .file_box .file_list_area{
        border-color: #CDCDCD;
        border-radius: 2px;
    }
    .cs_inquiry .file_container .file_box .file_btn{
        position: relative;
        text-align: left;
        padding-left: 12px;
        padding-right: 34px;
        color: #757575;
    }
    .cs_inquiry .file_container .file_box .file_btn::after{
        content: "";
        position: absolute;
        top: 50%;
        right: 12px;
        width: 16px;
        height: 16px;
        transform: translateY(-50%);
        background: no-repeat center/contain;
        background-image: url('/images/files.png');
    }
    .cs_inquiry .file_container .file_box .plus_btn,
    .cs_inquiry .file_container .file_box .minus_btn{
        border-color: #F0F0F0;
        box-shadow: 0 1px 3px rgba(0,0,0,0.08);
    }
    .cs_inquiry .editor_container{
        min-height: 0;
        height: auto;
        border-color: #F0F0F0;
    }
    .cs_inquiry .ck.ck-editor__editable_inline{
        min-height: 210px;
        max-height: 210px;
        overflow-y: auto;
    }
    .cs_inquiry .ck.ck-toolbar{
        border-color: #F0F0F0;
    }
    .cs_inquiry .ck.ck-editor__main > .ck-editor__editable{
        border-color: #F0F0F0;
    }
    .cs_inquiry .inquiry_btn_container button,
    .cs_inquiry .inquiry_btn_container a{
        border-radius: 2px;
    }
    .cs_inquiry .inquiry_read_table .inquiry_text_box{
        box-sizing: border-box;
    }
    .cs_inquiry .inquiry_read_status{
        display: inline-block;
        margin-left: 8px;
        padding: 4px 10px;
        font-size: 0.75rem;
        font-weight: 600;
        border-radius: 2px;
        vertical-align: middle;
    }
    .cs_inquiry .inquiry_read_status.wait{
        background-color: #FEE2E2;
        color: #DC2626;
    }
    .cs_inquiry .inquiry_read_status.complete{
        background-color: #3C3C3C;
        color: #fff;
    }
    .cs_inquiry .inquiry_read_table .answer_box{
        background-color: #F8F8F8 !important;
        height: 120px !important;
    }
    .cs_inquiry .admin_message_label{
        color: #5E606B;
        font-size: 0.8125rem;
        margin-bottom: 10px;
    }
    /* .cs_table tbody td의 좌우 18px 패딩이 #fileArea/.file_attach_label을 행 너비보다
       좁게 만들었다 - fileAttachRow의 td만 좌우 패딩을 없앤다 (다른 행/다른 .cs_table 목록엔 영향 없음). */
    .cs_inquiry .inquiry_read_table #fileAttachRow td {
        padding: 20px 0px !important;
    }
    .cs_inquiry .inquiry_read_table #fileArea{
        position: relative;
        display: block;
        width: 100%;
        box-sizing: border-box;
        border: 1px solid #F0F0F0;
        border-radius: 2px;
        padding: 8px 34px 8px 12px;
        text-align: left;
    }
    .cs_inquiry .inquiry_read_table #fileArea::after{
        content: "";
        position: absolute;
        top: 50%;
        right: 12px;
        width: 16px;
        height: 16px;
        transform: translateY(-50%);
        background: no-repeat center/contain;
        background-image: url('/images/files.png');
    }
    .cs_inquiry .inquiry_read_table #fileArea button{
        background: none;
        border: 0;
        padding: 0;
        margin-right: 8px;
        font-size: 0.875rem;
        color: #757575;
        cursor: pointer;
    }
    .cs_inquiry .file_attach_label{
        display: block;
        width: 100%;
        text-align: left;
        font-size: 0.875rem;
        font-weight: 700;
        margin-bottom: 10px;
    }
    .cs_inquiry .inquiry_read_table #fileArea .file_attach_item{
        background: none;
        border: 0;
        padding: 0;
        margin: 0;
        font-size: 0.875rem;
        color: #757575;
        cursor: pointer;
        text-decoration: underline;
    }
    .cs_inquiry .inquiry_read_table col.cate_col{
        width: 1% !important;
    }
    .cs_inquiry .inquiry_read_table td.fw600.nowrap{
        white-space: nowrap;
        padding-right: 12px;
    }
    .cs_inquiry .inquiry_read_table tr:first-child td{
        background-color: #FAFAFA;
    }
    .cs_inquiry .inquiry_read_table{
        border: none !important;
    }
    .cs_inquiry .inquiry_read_table tr:first-child td{
        border-top: 1px solid #EBECF0 !important;
    }
    .cs_inquiry .inquiry_read_table tr:is(:first-child, .inquiry_extra_row, .inquiry_content_row, .answer_box) td:first-child{
        border-left: 1px solid #EBECF0 !important;
    }
    .cs_inquiry .inquiry_read_table tr:is(:first-child, .inquiry_extra_row, .inquiry_content_row, .answer_box) td:last-child{
        border-right: 1px solid #EBECF0 !important;
    }
    .cs_inquiry .inquiry_read_table #fileAttachRow td{
        border-top: none !important;
        border-bottom: none !important;
    }
    .cs_inquiry .inquiry_btn_container .list_btn{
        width: 163px;
    }
}
.cs_inquiry .editor_container{
    position: relative;
}
.cs_inquiry .editor_char_count{
    position: absolute;
    right: 12px;
    bottom: 8px;
    font-size: 0.75rem;
    color: #757575;
    pointer-events: none;
    z-index: 2;
}
.cs_inquiry #editorCharCount{
    color: #F02028;
    font-weight: 600;
}
.cs_inquiry #editorCharCount.over_limit{
    color: #d41d1d;
    text-decoration: underline;
}
a {
    text-decoration: none !important;
    display: block;
    color: #1B1B1F;
    cursor: pointer;
}
.ui-datepicker .ui-datepicker-prev .ui-icon,
.ui-datepicker .ui-datepicker-next .ui-icon {
    background: none !important;
    width: 8px;
    height: 8px;
    margin-top: -5px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
}

.ui-datepicker .ui-datepicker-prev .ui-icon {
    transform: rotate(-135deg);
}

.ui-datepicker .ui-datepicker-next .ui-icon {
    transform: rotate(45deg);
}
.booking_btn {
    width: 100%;
    height: 48px;
    border: 0;
    border-radius: 2px;
    background: #d41d1d;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    padding: 10px;
    margin-top: 19px;
}
.payment_timer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 32px;
    padding: 0 10px;
    box-sizing: border-box;
    border: 1px solid #ffb4b4;
    border-radius: 2px;
    background: #fff5f5;
    color: #ff3b3b;
    font-size: 13px;
    margin-bottom:10px;
}

.payment_timer strong {
    font-size: 14px;
    font-weight: 700;
    color: #ff3b3b;
}
.paginationList2 .pagination .prev {
    background-image: url(/images/btn_pagination2.png) !important;
    border: 0px solid #D0D2D9;
    background-repeat: no-repeat;
    background-position: center center;
    border-radius: 6px;
}

.list_contents .product_list .product_list_empty {
    width: 100%;
    padding: 60px 16px;
    text-align: center;
    box-sizing: border-box;
}
.list_contents .product_list .product_list_empty_title {
    font-size: 1rem;
    font-weight: 700;
    color: #191919;
    margin: 0;
}
.list_contents .product_list .product_list_empty_title strong {
    color: #F02028;
    font-weight: 700;
}
.list_contents .product_list .product_list_empty_sub {
    font-size: 0.8125rem;
    font-weight: 400;
    color: #8E939E;
    margin: 8px 0 0;
}

@media (min-width: 451px) {
    .list_contents .product_list .product_list_empty {
        min-height: 60vh;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    .list_contents .product_list .product_list_empty_title {
        font-size: 1.125rem;
    }
    .list_contents .product_list .product_list_empty_sub {
        font-size: 0.9375rem;
        margin: 10px 0 0;
    }
}

.header_pc .header-main{
    position: relative !important;
}
.header_pc .search-area{
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    width: 346px !important;
    margin: 0 !important;
    transform: translate(-50%, -50%) !important;
}

/* 상품 리스트 카드 가격 위치를 상품마다 다르지 않게 하단으로 고정 (모바일 영향 없도록 데스크톱 전용) */
@media (min-width: 451px) {
    .list_contents .product_list:not(.list_view) > ul > li{
        display: flex;
    }
    .list_contents .product_list:not(.list_view) .product_card{
        display: flex;
        flex-direction: column;
        width: 100%;
    }
    .list_contents .product_list:not(.list_view) .product_card .product_info{
        display: flex;
        flex-direction: column;
        flex: 1;
    }
    .list_contents .product_list:not(.list_view) .product_card .product_price{
        margin-top: auto !important;
        padding-top: 10px;
    }
}

/* 상품 리스트 페이지네이션 이전/다음 화살표: arrow-right.svg(이동 가능), arrow-left.svg(이동 불가능)를 방향에 맞게 좌우 반전해서 사용 */
.list_contents .pagination .prev2{
    background-image: url('/images/arrow-right.svg') !important;
    background-repeat: no-repeat;
    background-position: center center;
    transform: scaleX(-1) !important;
    width: 40px !important;
    height: 40px !important;
}
.list_contents .pagination .prev2.disabled{
    background-image: url('/images/arrow-left.svg') !important;
    transform: none !important;
}
.list_contents .pagination .next{
    background-image: url('/images/arrow-right.svg') !important;
    background-repeat: no-repeat;
    background-position: center center;
    transform: none !important;
}
.list_contents .pagination .next.disabled{
    background-image: url('/images/arrow-left.svg') !important;
    transform: scaleX(-1) !important;
}
.list_contents .pagination .prev2.disabled,
.list_contents .pagination .next.disabled{
    opacity: 1 !important;
}
.list_contents .pagination .prev2.disabled .page-link,
.list_contents .pagination .next.disabled .page-link{
    filter: none !important;
}

/* 상품상세 회차 선택: 고른 회차 강조 표시, 예매하기 버튼은 회차 선택 전까지 비활성 */
.detail_contents .side_menu .product_area .product_btn button.selected,
.detail_contents .side_menu .product_area .btn_book.selected{
    background: #d41d1d !important;
    color: #fff !important;
}
.detail_contents .side_menu .booking_btn:disabled{
    background: #D0D2D9 !important;
    color: #fff !important;
    cursor: not-allowed !important;
}
/* 회차 버튼: 기본 규칙이 "선택"(2글자) 기준 width:62px 고정이라 "예매마감"(4글자)이 버튼 밖으로
   삐져나온다. 글자 수에 따라 늘어나게 하고 최소 폭만 유지한다. */
.detail_contents .side_menu .product_area .product_btn button,
.detail_contents .side_menu .product_area .btn_book{
    width: auto !important;
    min-width: 62px !important;
    padding: 10px 12px !important;
    white-space: nowrap !important;
}
/* 사이드메뉴 폭(364px) 안에서 회차 카드가 쓸 수 있는 가로는 282px뿐인데, .product_text가
   max-width:210px로 잡혀 있어 줄어들지 못한다. 버튼이 "선택"(62px)일 땐 210+62로 겨우 들어갔지만
   "예매마감"(약 82px)이 되면 폭을 넘겨 버튼이 카드 밖으로 밀려난다.
   → 텍스트 영역이 남는 만큼만 차지하도록 줄이고, 버튼은 줄어들지 않게 고정한다. */
.detail_contents .side_menu .product_area .product_box{
    gap: 10px;
}
.detail_contents .side_menu .product_area .product_text{
    flex: 1 1 auto;
    min-width: 0;   /* flex 아이템 기본값 min-width:auto라 이걸 안 주면 안 줄어든다 */
    max-width: none;
}
.detail_contents .side_menu .product_area .product_btn{
    flex: 0 0 auto;
}
@media (max-width: 1279px){
    /* 좁은 화면에서는 기존 반응형 규칙대로 버튼이 가로를 꽉 채운다 */
    .detail_contents .side_menu .product_area .product_btn button,
    .detail_contents .side_menu .product_area .btn_book{
        width: 100% !important;
    }
}
/* 마감/매진 회차는 눌리지 않으므로 빨간색(선택 가능) 대신 회색으로 구분한다. */
.detail_contents .side_menu .product_area .product_btn button:disabled,
.detail_contents .side_menu .product_area .btn_book:disabled{
    border-color: #D0D2D9 !important;
    background: #fff !important;
    color: #A0A3AC !important;
    cursor: not-allowed !important;
}

/* 상품상세 좌석 가격: 등급별 가격 리스트 */
.detail_contents .detail_info_box .seat_price_area{
    width: 100%;
}
.detail_contents .detail_info_box .seat_price_toggle{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: 0;
    padding: 0;
    font-size: 1rem;
    font-weight: 700;
    color: #1B1B1F;
    cursor: pointer;
}
.detail_contents .detail_info_box .seat_price_toggle img{
    width: 6px;
    height: auto;
    transition: transform .2s ease;
}
.detail_contents .detail_info_box .seat_price_toggle[aria-expanded="true"] img{
    transform: rotate(90deg);
}
.detail_contents .detail_info_box table.seat_price{
    display: none;
    width: 100%;
    margin-top: 14px;
    border-collapse: collapse;
}
.detail_contents .detail_info_box table.seat_price.open{
    display: table;
}
.detail_contents .detail_info_box table.seat_price tr + tr{
    border-top: 0;
}
.detail_contents .detail_info_box table.seat_price th{
    padding: 8px 8px 8px 0 !important;
    font-size: 0.9375rem;
    font-weight: 400;
    color: #5E606B;
    text-align: left;
    white-space: nowrap;
    width: 1%;
}
.detail_contents .detail_info_box table.seat_price td{
    padding: 8px 0 !important;
    font-size: 0.9375rem;
    text-align: left;
    width: 100%;
}
.detail_contents .detail_info_box table.seat_price .seat_price_value{
    display: flex;
    align-items: baseline;
    flex-wrap: nowrap;
    gap: 6px;
    white-space: nowrap;
}
.detail_contents .detail_info_box table.seat_price td strong{
    font-weight: 700;
    color: #1B1B1F;
    white-space: nowrap;
}
.detail_contents .detail_info_box table.seat_price .max_discount{
    color: #FF463C;
    font-size: 0.8125rem;
    white-space: nowrap;
}

/* 커스텀 셀렉트 - 선택 불가 옵션 (원스톱 날짜 선택의 지난 날짜 등).
   main.js initCustomSelect()가 is-disabled 옵션의 클릭/키보드 선택을 막는다. */
.custom-option.is-disabled,
.custom-option.is-disabled:hover{
    color: #BBBEC6;
    background: transparent;
    cursor: not-allowed;
}

#noticeTableBody .active .w30 img{
    transform: rotate(180deg);
}

/* 약관 서식 */
.terms-box{
  display: flex;
  justify-content: center;
}

.policy_box{
  width: 100%;
  max-width: calc(846px + 48px);
  padding: 0 24px;
  margin-block: auto;
  box-sizing: border-box;
}

.policy_box h4{
  font-weight: 600;
}

/* 라벨 박스 */
.product_label .labelBox{
    border: 1px solid blue;
    color: blue;
    font-size: 12px;
    line-height: 16px;
    font-weight: 600;
    padding: 4px 6px;
    border-radius: 0px;
    white-space: nowrap;
    background-color: #fff;
    min-width: 22px;
    text-align: center;
}

.product_label{
    display: flex;
    align-items: center;
    gap: 4px;
}

/* 상세페이지 일정 선택 */
.detail_contents .side_menu .product_area .product_box {
    border: 1px solid #e6e6e6;
    background: #ffffff;
    padding: 10px 20px !important;
}

.detail_contents .side_menu .product_area .product_box:not(:first-of-type) {
  margin-top: 12px;
}

#hallInfoModal .modal_contents::-webkit-scrollbar-thumb{
  display: none;
}

/* 예매자 토글메뉴 */
.detail_b_contents .booking_contents .booking_form_container > div h3 button{
  position: relative;
}

.detail_b_contents .booking_contents .booking_form_container > div h3 button img{
  width: 36px !important;
  height: 36px !important;
  position: absolute;
  top: -7px;
  right: -9px;
}

.payment.red_text{
  margin-top: 22px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

.user_agreement_wrap{
  margin-bottom: 24px;
}

.booker_info_box table{
  width: 100%;

  th{
    width: 88px;
    padding: 10px 0 !important;
  }
}

.payment_info_box table{
  width: 100%;

  th{
    width: 146px;
    padding: 10px 0 !important;
  }
}

.detail_b_contents .booking_contents .booking_success .booking_s_text{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.cs_table .table-arr{
  width: auto;
  padding: 15px 5px 15px 0 !important;
  text-align: right !important;
}

.active .table-arr img{
  transform: rotate(180deg);
}

/* fap */
.faq_detail_container{
  font-size: 16px;
  line-height: 26px;
  text-align: left;
}

.cs_faq .faq_detail_container h2{
  text-align: left;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 30px;
}

.cs_faq .faq_detail_container p{
  text-align: left;
  font-size: 16px;
  font-weight: 400;
  line-height: 26px;
  margin-bottom: 0;
}

.cs_faq .faq_detail_container p + h2{
  margin-top: 26px;
}

.cs_faq .faq_detail_container table{
  width: 100%;
  text-align: center;
}

.cs_faq .faq_detail_container th{
  border-bottom: 1px solid rgba(240, 240, 240, 1);
  background-color: rgba(248, 248, 248, 1);
  font-size: 14px;
  line-height: 24px;
  padding: 12px 0;
}

.cs_faq .faq_detail_container td{
  border-bottom: 1px solid rgba(240, 240, 240, 1);
  font-size: 14px;
  line-height: 24px;
  padding: 12px 0;
}

#guideTitle{
  display: none;
}


/* 결제 취소 */
.ticket-cancel-col-header {
  gap: 6px;
}
.ticket-cancel-col-header span{
  align-self: flex-start;
}
#cancelRequestModal .ticket-cancel-col-header .ticket-cancel-total-price {
  text-align: right;
  width: 100%;
}
.ticket-cancel-col-header{
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid rgba(235, 236, 240, 1);
}

.ticket-cancel-detail-row{
  display: flex;
  justify-content: space-between !important;
  width: 100%;
  color: rgba(0, 0, 0, 1);
}

.ticket-cancel-container{
  padding-top: 0px;
}

.ticket-cancel-header{
  height: 64px;
  justify-content: space-between !important;
}

.ticket-cancel-header .ticket-cancel-title{
  text-align: left !important;
}


    /* 신규 서식 */

    .policy_box * {
      text-align: left !important;
      font-size: 18px;
      line-height: 26px;
    }

    .policy_box h3 {
      display: block;
      margin-top: 24px;
      margin-bottom: 12px;
      font-weight: 700;
    }

    .policy_box > p strong {
      display: block;
    }

    .policy_box > p mark strong{
      display: inline-block;
      border-bottom: 1px solid #000;
    }

    .policy_box h3 span{
      text-align: left;
      font-size: 20px;
      font-weight: 700;
      line-height: 26px;
    }

    .policy_box > p strong{
      text-align: left;
      font-size: 18px;
      font-weight: 700;
    }

    .policy_box ul{
      margin-top: 10px;
    }

    .policy_box .table{
      width: 100%;
      border-top: 1px solid #dcdcdc;
      margin: 10px auto 5px;
    }

    .policy_box table {
      width: 100%;
    }

    .policy_box .table *{
      text-align: center !important;
      line-height: 1.5 !important;
      vertical-align: middle;
      font-size: 14px !important;
      word-break: keep-all;
    }

    .policy_box .table td:has(strong) {
      background: #f5f5f5;
    }

    .policy_box .table td{
      padding: 10px 5px;
      border-bottom: 1px solid #dcdcdc;
      font-size: 14px;
    }

    .policy_box .table td ~ td{
      border-left: 1px solid #dcdcdc;
    }

    .policy_box .table td strong{
      font-size: 15px !important;
      font-weight: 700;
    }

    .policy_box .table td p{
      font-size: 14px;
    }

    .policy_box i{
      font-size: 11px;
      transform: translateY(-2px);
      display: inline-block;
    }

    .policy_box li,
    .policy_box li strong,
    .policy_box li span{
      font-size: 16px;
      color: #000;
    }

/* 예매 약관 상세 */
.depth_terms,
.depth_terms * {
  font-size: 14px !important;
  line-height: 1.5 !important;
}

.depth_terms p:has(strong) {
  margin-bottom: 16px;
}

.depth_terms p strong {
  font-weight: 800 !important;
}

.depth_terms .table{
  margin-top: 16px;
}

.depth_terms .table td,
.depth_terms .table th{
  padding: 8px;
  border-bottom: 1px solid #dcdcdc;
}

.depth_terms .table th{
  background-color: #f5f5f5;
  font-weight: 800;
  border-top: 1px solid #dcdcdc;
}

.depth_terms .table td:has(strong) {
  background-color: #f5f5f5;
  text-align: center;
  font-weight: 800;
  padding: 0;
  vertical-align: middle;
  padding: 0 15px;
  word-break: keep-all;
  white-space: nowrap;
  letter-spacing: -0.025em;
}

.depth_terms th ~ th,
.depth_terms td ~ td{
  border-left: 1px solid #dcdcdc;
}

.depth_terms .table td *{
  font-size: 13px !important;
}

.depth_terms .table td li{
  font-weight: 800;
}

/* 예매 약관 상세 - 모바일 */
.mp_depth_terms,
.mp_depth_terms * {
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: #000;
}

.mp_depth_terms p:has(strong) {
  margin-bottom: 10px;
}


.mp_depth_terms p strong {
  font-weight: 800 !important;
}

.mp_depth_terms .table{
  margin-top: 10px;
}

.mp_depth_terms table{
  width: 100%;
}

.mp_depth_terms .table td,
.mp_depth_terms .table th{
  padding: 8px;
  border-bottom: 1px solid #dcdcdc;
}

.mp_depth_terms .table th{
  background-color: #f5f5f5;
  font-weight: 800;
  border-top: 1px solid #dcdcdc;
}

.mp_depth_terms .table td:has(strong) {
  background-color: #f5f5f5;
  text-align: center;
  font-weight: 800;
  padding: 0;
  vertical-align: middle;
  padding: 0 15px;
  word-break: keep-all;
  white-space: nowrap;
  letter-spacing: -0.025em;
}

.mp_depth_terms th ~ th,
.mp_depth_terms td ~ td{
  border-left: 1px solid #dcdcdc;
}

.mp_depth_terms .table td *{
  font-size: 13px !important;
}

.mp_depth_terms .table td li{
  font-weight: 800;
}

@media (max-width: 500px){
  .detail_contents > div .detail_info .detail_info_container .detail_title{
    display: none;
  }
}

/* 상품 상세 예매 바텀시트: 폴더블·태블릿 보정 */
@media (min-width: 451px) and (max-width: 1024px) {
  .detail_contents .side_menu,
  .detail_contents .side_menu.active {
    width: 100% !important;
    left: 0;
    right: 0;
  }

  .detail_contents .buy_ticket_btn_wrap {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10003;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
    box-sizing: border-box;
    background: #fff;
    box-shadow: 0 -1px 4px rgba(0, 0, 0, 0.06);
  }

  .detail_contents .buy_ticket_btn {
    position: static !important;
    width: 100%;
  }
}

/* 비회원 주문 퍼블리싱 */
.guest-hero-banner{
  width: 100%;
  height: 500px;
  background: #000;
  margin: 0px auto;
}

.section-guest-button-wrap{
  display: flex;
  justify-content: center;
  margin: 70px auto;
  width: 100%;
  max-width: calc(1280px + 32px);
  padding: 0 16px;
  box-sizing: border-box;

  .button-wrap a{
    width: 100%;
    max-width: 344px;
    padding: 16px 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #000;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 30px;
  }
}

.guest-notice-info{
  display: flex;
  flex-direction: column;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: -0.02em;
  line-height: 1.3;
  gap: 6px;

  &.center{
    align-items:center;
  }
}

.guest-notice-info li{
  position: relative;
  padding-left: 14px;
  color: rgba(100, 100, 100, 1);

  &::after{
    display: block;
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #000;
  }
}

.guest.list_contents{
  padding: 0 16px 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  width: 100%;
  max-width: calc(1065px + 32px);
  box-sizing: border-box;

  .list_tab_container{
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .product_card{
    display: grid !important;
    grid-template-columns: 240px 240px;
    gap: 20px;
    max-width: 500px;
  }

  .product_list > ul{
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    justify-content: space-between;
    column-gap: 65px !important;
  }

  .product_card .thumnail{
    grid-row: 1/3;
  }

  .product_list:not(.list_view) > ul > li{
    width: 100% !important;
    max-width: 500px;
  }

  .product_list{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    width: 100%;
  }

  .product_list li{
    flex-direction: column;
  }

  .product_info > *{
    text-align: left;
  }

  .button-wrap{
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 16px;
  }

  .button-wrap button{
    width: 100%;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 700;
    border-radius: 2px;
    color: rgba(212, 29, 29, 1);
    border: 1px solid rgba(212, 29, 29, 1);

    &.is-active{
      color: #fff;
      background: rgba(212, 29, 29, 1);;
    }
  }

  .button-wrap button~button{
    margin-top: 4px;
  }
}



.guest-notice{
  width: 100%;
  max-width: calc(1280px + 32px);
  padding: 0 16px;
  margin: 90px auto 160px;
  box-sizing: border-box;
}

.guest-notice h3{
  font-size: 20px;
  font-weight: 700;
  line-height: 28px;
  margin-bottom: 14px;
}


#__guestAlertModal{
  position: fixed;
  z-index: 9999;
  display: none;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  top: 0; left: 0;
  background-color: rgba(0,0,0,0.5);

  &.is-open{
    display: flex;
  }

  .__gam_box{
    display: block;
    width: 100%;
    max-width: 433px;
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
  }
}



#__guestAlertModal .__gam_box .top-area{
  width: 100%;
  height: 68px;
  box-sizing: border-box;
  padding: 0 0 0 40px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 20px;
  font-weight: 700;

  button{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 68px;
    height: 68px;
    position: relative;
    right: 15px;
    img{
      width: 24px;
      height: 24px;
    }
  }
}

#__guestAlertModal .__gam_box .bottom-area{
  padding: 12px 40px 30px;
  box-sizing: border-box;

  .guest-form{
    width: 100%;
  }

  input{
    width: 100%;
    height: 40px;
    padding: 0 12px;
    box-sizing: border-box;
    border: 1px solid rgba(230, 230, 230, 1);
    border-radius: 2px ;
    font-size: 16px;
    line-height: 40px;
  }

  input::placeholder{
    color: rgba(150, 150, 150, 1);
  }
}

#__guestAlertModal .guest-notice-info{
  gap: 0;
  font-size: 13px;
  line-height: 24px;
  padding: 0px 8px;
  box-sizing: border-box;
  color: rgba(130, 130, 130, 1);
  margin-top: 10px;
}

#__guestAlertModal .guest-notice-info li::after{
  background: rgba(130, 130, 130, 1);
}

#__guestAlertModal .err-message{
  color: rgba(255, 70, 60, 1);
  font-size: 13px;
  margin-top: 10px;
  display: none;

  &.is-open{
    display: block;
  }
}

#__guestAlertModal .__gam_btn{
  width: 100%;
  max-width: 160px;
  height: 48px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  background-color: rgba(212, 29, 29, 1);
  margin: 30px auto 0;
  border-radius: 6px;

  &.disabled{
    background-color: rgba(220, 220, 220, 1);
  }
}

/* 비회원 예약 조회 */
.guest-booking-layout{
  width: 100%;
  max-width: calc(1280px + 32px);
  padding: 0 16px;
  margin: 0 auto;
  box-sizing: border-box;

  h1{
    margin: 46px auto 16px;
    font-size: 26px;
    font-weight: 700;
    line-height: 24px;
    text-align: center;
    color: rgba(27, 27, 31, 1);
  }

  h1 > a{
    display: none;
  }

  p.guest-header-description{
    margin: 0 auto 60px;
    text-align: center;
    font-size: 16px;
    color: rgba(94, 96, 107, 1);

    &._mo{display: none;}
  }
}


  .guest-booking-layout .tab-btn{
    display: flex;
    margin: 0 auto;
    width: 100%;
    max-width: 752px;
    height: 44px;

    a{
      display: flex;
      width: 100%;
      justify-content: center;
      align-items: center;
      height: 100%;
      border-bottom: 1px solid rgba(205, 205, 205, 1);
      color: rgba(117, 117, 117, 1);
    }
    a.is-active{
      color: #000;
      font-weight: 700;
      border-bottom: 2px solid rgba(0, 0, 0, 1);
    }
  }

  .guest-booking-form{
    width: 100%;
    max-width: 600px;
    margin: 60px auto 130px;

    label{
      display: block;
    }

    label ~ label{
      margin-top: 40px;
    }

    p{
      margin-bottom: 12px;
      font-weight: 600;
    }

    input{
      width: 100%;
      height: 40px;
      padding: 0 12px;
      box-sizing: border-box;
      border: 1px solid rgba(230, 230, 230, 1);
      border-radius: 6px ;
      font-size: 16px;
      line-height: 40px;
    }

    input::placeholder{
      color: rgba(150, 150, 150, 1);
    }

    button{
      width: 100%;
      max-width: 400px;
      height: 52px;
      display: flex;
      justify-content: center;
      align-items: center;
      border-radius: 6px;
      background: rgba(212, 29, 29, 1);
      color: #fff;
      font-weight: 700;
      margin: 100px auto 0;
    }
  }

  .guest-booking-form .pw-box{
    display: flex;
    height: 40px;
    gap: 10px;

    a {
      display: flex;
      justify-content: center;
      align-items: center;
      height: 100%;
      width: 100%;
      max-width: 144px;
      border-radius: 6px;
      border: 1px solid #000;
      color: #000; 
      font-size: 14px;
      font-weight: 600;
      box-sizing: border-box;
    }
  }

/* 비회원 결과 */
.guest-result{
  width: 100%;
  max-width: calc(752px + 32px);
  margin: 0 auto;
  box-sizing: border-box;
  padding: 0 16px;

  h2{
    display: block;
    line-height: 56px;
    font-size: 17px;
    font-weight: 700;
    color: #000;
    border-bottom: 1px solid #000;
  }


  li{
    display: flex;
    line-height: 48px;
    border-bottom: 1px solid rgba(240, 240, 240, 1);
    font-size: 14px;
  }
  li span.type{
    display: block;
    width: 120px;
    color: rgba(94, 96, 107, 1);
  }
  li span.item{
    display: block;
    color: #000;
  }
}

.guest-notice.result{
  max-width: calc(752px + 32px);
  margin: 40px auto;
  h3{
    font-size: 18px;
    margin-bottom: 20px;
  }
  li{
    font-size: 14px;
  }
}

.cancle-button-wrap{
  display: flex;
  justify-content: center;
  margin-bottom: 130px;

  button{
    width: 100%;
    max-width: 150px;
    border-radius: 2px;
    border: 1px solid rgba(205, 205, 205, 1);
    line-height: 40px;
    font-size: 14px;
    font-weight: 600;
    color: #000;
    box-sizing: border-box;
  }
}

.guest-pw-btn-wrap a{
  display: none;
}

.guest-booking-layout .none-box{
  min-height: 550px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 15px;
  color: rgba(94, 96, 107, 1);
}

.footer .footer_menu a:first-of-type{
  font-weight: 600;
}

/* 약관 서식 */
.sign_up .tp_container .tp_textbox * {
  text-align: left !important;
  font-size: 18px;
  line-height: 26px;
}

.sign_up .tp_container .tp_textbox h3 {
  display: block;
  margin-top: 24px;
  margin-bottom: 12px;
  font-weight: 700;
}

.sign_up .tp_container .tp_textbox > p strong {
  display: block;
}

.sign_up .tp_container .tp_textbox h3 span{
  text-align: left;
  font-size: 20px;
  font-weight: 700;
  line-height: 26px;
}

.sign_up .tp_container .tp_textbox > p strong{
  text-align: left;
  font-size: 18px;
  font-weight: 700;
}

.sign_up .tp_container .tp_textbox ul{
  margin-top: 10px;
}

.sign_up .tp_container .tp_textbox .table{
  width: 100%;
  border-top: 1px solid #dcdcdc;
  margin: 10px auto 5px;
}

.sign_up .tp_container .under-lines{
  display: inline;
  border-bottom: 1px solid #000;
  font-weight: 800;
}

.sign_up .tp_container .tp_textbox table {
  width: 100%;
}

.sign_up .tp_container .tp_textbox .table *{
  text-align: center !important;
  line-height: 1.5 !important;
  vertical-align: middle;
  font-size: 14px !important;
  word-break: keep-all;
}

.sign_up .tp_container .tp_textbox .table td:has(strong) {
  background: #f5f5f5;
}

.sign_up .tp_container .tp_textbox .table td{
  padding: 10px 5px;
  border-bottom: 1px solid #dcdcdc;
  font-size: 14px;
}

.sign_up .tp_container .tp_textbox .table td ~ td{
  border-left: 1px solid #dcdcdc;
}

.sign_up .tp_container .tp_textbox .table td strong{
  font-size: 15px !important;
  font-weight: 700;
}

.sign_up .tp_container .tp_textbox .table td p{
  font-size: 14px;
}

.sign_up .tp_container .tp_textbox i{
  font-size: 11px;
  transform: translateY(-2px);
  display: inline-block;
}

.sign_up .tp_container .tp_textbox li,
.sign_up .tp_container .tp_textbox li strong,
.sign_up .tp_container .tp_textbox li span{
  font-size: 16px;
  color: #000;
}

/* 이미지 썸네일 수정 */
.thumb-wrap{
  position: absolute;
  width: auto;
  height: 100%;
  border-radius: 2px;
  overflow: hidden;
  top: 0; left: 0;
}

.product_list:not(.list_view) .thumb-wrap{
  top: 0; left: 50%;
  transform: translateX(-50%);
}

/* 상품 목록의 리스트 보기에서만 오버레이 영역을 실제 이미지 크기에 맞춘다. */
.list_contents .product_list.list_view .product_card .thumnail .tumb-wrap {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: max-content;
  max-width: 100%;
  height: auto;
  transform: translateX(-50%);
}

.list_contents .product_list.list_view .product_card .thumnail .tumb-wrap > img {
  position: static !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  display: block !important;
  width: auto !important;
  height: 100% !important;
  max-width: none !important;
  transform: none !important;
}

/* 회원탈퇴 개인정보 약관 서식 */
#privacyPolicyContent * {
  text-align: left !important;
  font-size: 18px;
  line-height: 26px;
}

#privacyPolicyContent h3 {
  display: block;
  margin-top: 24px;
  margin-bottom: 12px;
  font-weight: 700;
}

#privacyPolicyContent > p strong {
  display: block;
}

#privacyPolicyContent h3 span {
  text-align: left;
  font-size: 20px;
  font-weight: 700;
  line-height: 26px;
}

#privacyPolicyContent > p strong {
  text-align: left;
  font-size: 18px;
  font-weight: 700;
}

#privacyPolicyContent ul {
  margin-top: 10px;
}

#privacyPolicyContent .table {
  width: 100%;
  border-top: 1px solid #dcdcdc;
  margin: 10px auto 5px;
}

#privacyPolicyContent table {
  width: 100%;
}

#privacyPolicyContent .table * {
  text-align: center !important;
  line-height: 1.5 !important;
  vertical-align: middle;
  font-size: 14px !important;
  word-break: keep-all;
}

#privacyPolicyContent .table td:has(strong) {
  background: #f5f5f5;
}

#privacyPolicyContent .table td {
  padding: 10px 5px;
  border-bottom: 1px solid #dcdcdc;
  font-size: 14px;
}

#privacyPolicyContent .table td ~ td {
  border-left: 1px solid #dcdcdc;
}

#privacyPolicyContent .table td strong {
  font-size: 15px !important;
  font-weight: 700;
}

#privacyPolicyContent .table td p {
  font-size: 14px;
}

#privacyPolicyContent i {
  font-size: 11px;
  transform: translateY(-2px);
  display: inline-block;
}

#privacyPolicyContent li,
#privacyPolicyContent li strong,
#privacyPolicyContent li span {
  font-size: 16px;
  color: #000;
}

#privacyPolicyContent mark,
.policy_box mark,
.sign_up .tp_container .tp_textbox mark {
  background: transparent;
}

.sign_up .tp_container .tp_textbox > p mark strong {
  display: inline-block;
  border-bottom: 1px solid #000;
}

.channel-order-table{
  margin-top: 48px;
}

/* 제휴상품 상세 페이지 */
.channel_detail_wrap {
  max-width: 1160px;
  margin: 0 auto;
  padding: 57px 30px 110px;
  box-sizing: border-box;
}

.channel_detail_top {
  display: grid;
  grid-template-columns: minmax(280px, 440px) minmax(0, 1fr);
  gap: 56px;
  align-items: stretch;
  padding-bottom: 72px;
  max-width: 860px;
  margin-inline: auto;
}

.channel_detail_thumbnail {
  position: relative;
  overflow: hidden;
  border-radius: 2px;
  background: #f5f5f5;
}

.channel_detail_thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.channel_detail_thumbnail .sale_end {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.52);
  color: #fff;
  font-size: 20px;
  font-weight: 700;
}

.channel_detail_summary {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.channel_detail_badge {
  align-self: flex-start;
  margin-bottom: 14px;
  padding: 5px 10px;
  border: 1px solid #d0d2d9;
  border-radius: 4px;
  color: #5e606b;
  font-size: 12px;
  font-weight: 600;
}

.channel_detail_title {
  margin: 0;
  color: #1b1b1f;
  font-size: clamp(22px, 2.3vw, 32px);
  font-weight: 700;
  line-height: 1.35;
  word-break: keep-all;
}

.channel_detail_place {
  margin: 12px 0 30px;
  color: #5e606b;
  font-size: 15px;
  line-height: 1.6;
  word-break: keep-all;
}

.channel_summary_table {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid #1b1b1f;
  margin-top: 28px;
}

.channel_summary_table th,
.channel_summary_table td {
  padding: 14px 0;
  border-bottom: 1px solid #e6e6e6;
  text-align: left;
  font-size: 15px;
  line-height: 1.55;
  vertical-align: top;
}

.channel_summary_table th {
  width: 104px;
  color: #1b1b1f;
  font-weight: 600;
  white-space: nowrap;
}

.channel_summary_table td {
  color: #5e606b;
}

.channel_price_box {
  width: 100%;
}

.channel_price_toggle {
  display: inline-flex;
  align-items: center;
  padding: 0;
  border: 0;
  background: none;
  color: #1b1b1f;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}

.channel_price_toggle span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.channel_price_toggle img {
  width: 6px;
  height: auto;
  transition: transform 0.2s ease;
}

.channel_price_toggle[aria-expanded="true"] img {
  transform: rotate(90deg);
}

.channel_summary_table .channel_price_list {
  display: none;
  width: 100%;
  margin-top: 10px;
  border-collapse: collapse;
}

.channel_summary_table .channel_price_list.open {
  display: table;
}

.channel_summary_table .channel_price_list th,
.channel_summary_table .channel_price_list td {
  padding: 5px 0;
  border-bottom: 0;
  font-size: 14px;
}

.channel_summary_table .channel_price_list th {
  width: 1%;
  padding-right: 16px;
  color: #5e606b;
  font-weight: 400;
}

.channel_summary_table .channel_price_list td {
  color: #1b1b1f;
}

.channel_summary_table .channel_price_list strong {
  font-weight: 700;
}

.channel_buy_area {
  margin-top: auto;
  padding-top: 30px;
}

.channel_buy_btn {
  display: flex;
  width: 100%;
  min-height: 56px;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  background: #d0d2d9;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  box-sizing: border-box;
  cursor: not-allowed;
}

.channel_buy_btn_active {
  background: #e60012;
  cursor: pointer;
}

.channel_detail_body {
  max-width: 860px;
  margin: 0 auto;
}

.channel_detail_tab_buttons {
  display: flex;
  overflow-x: auto;
  scrollbar-width: none;
}

.channel_detail_tab_buttons::-webkit-scrollbar {
  display: none;
}

.channel_detail_tab_button {
  width: 100%;
  padding: 10px 0;
  border: 0;
  border-bottom: 1px solid #cdcdcd;
  background: transparent;
  color: #757575;
  font-size: clamp(14px, 1vw, 16px);
  font-weight: 600;
  line-height: clamp(18px, 2vw, 26px);
  white-space: nowrap;
  cursor: pointer;
}

.channel_detail_tab_button.tab_active {
  border-bottom: 2px solid #000;
  color: #000;
  font-weight: 700;
}

.channel_detail_tab_panel {
  display: none;
  padding-top: 50px;
}

.channel_detail_tab_panel.tab_active {
  display: block;
}

.channel_detail_section {
  margin-top: 56px;
}

.channel_detail_section:first-child {
  margin-top: 0;
}

.channel_detail_section h3 {
  /* margin: 0 0 20px;
  padding-bottom: 14px;
  border-bottom: 2px solid #1b1b1f;
  color: #1b1b1f;
  font-size: 20px;
  font-weight: 700; */
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.channel_detail_gallery img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto 12px;
}

.channel_schedule_table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.channel_schedule_table th,
.channel_schedule_table td {
  padding: 14px 12px;
  border-bottom: 1px solid #e6e6e6;
  text-align: left;
  line-height: 1.5;
}

.channel_schedule_table th {
  width: 32%;
  font-weight: 600;
}

.channel_not_found {
  padding: 100px 0;
  text-align: center;
  color: #999;
}

.channel_detail_html {
  overflow-wrap: anywhere;
  color: #3f4148;
  line-height: 1.7;
}

.channel_detail_html img {
  max-width: 100%;
  height: auto;
}

@media (max-width: 767px) {
  .channel_detail_wrap {
    padding: 20px 15px 70px;
  }

  .channel_detail_top {
    display: block;
    padding-bottom: 42px;
  }

  .channel_detail_thumbnail {
    margin-bottom: 24px;
    border-radius: 6px;
  }

  .channel_detail_badge {
    margin-bottom: 10px;
  }

  .channel_detail_title {
    font-size: 22px;
  }

  .channel_detail_place {
    margin: 8px 0 22px;
    font-size: 14px;
  }

  .channel_summary_table{
    margin-top: 22px;
  }

  .channel_summary_table th,
  .channel_summary_table td {
    padding: 12px 0;
    font-size: 14px;
  }

  .channel_summary_table th {
    width: 84px;
  }

  .channel_buy_area {
    padding-top: 24px;
  }

  .channel_buy_btn {
    min-height: 52px;
  }

  .channel_detail_section {
    margin-top: 42px;
  }

  .channel_detail_tab_panel {
    padding-top: 32px;
  }

  .channel_detail_tab_button {
    width: 100%;
    padding-right: 16px;
    padding-left: 16px;
  }

  .channel_detail_section h3 {
    margin-bottom: 14px;
    font-size: 18px;
  }

  .channel_schedule_table th,
  .channel_schedule_table td {
    padding: 12px 6px;
  }
}

.channel_summary_table .summary_type{
  width: 25%;
}

.channel_summary_table .summary_desc{
  width: 75%;
}

@media (min-width:550px) and (max-width: 900px){
  .channel_summary_table .summary_type,
  .channel_summary_table .summary_desc{
    width: 100%;
  }

  .channel_summary_table tr{
    display: flex;
    flex-direction: column;
    width: 100%;
  }

  .channel_summary_table th,
  .channel_summary_table td {
    display: block;
    width: 100%;
  }
}

/* 제휴상품 결제 페이지 */
.cko_wrap {
  max-width: 640px;
  margin: 0 auto;
  padding: 32px 16px 100px;
}

.cko_title {
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: 700;
}

.cko_section {
  margin: 24px 0;
}

.cko_section h3 {
  margin-bottom: 10px;
  font-size: 15px;
  font-weight: 700;
}

.cko_opt_wrap{
  border: 1px solid #ebecf0;
  padding: 8px;
  box-sizing: border-box;
}

.cko_option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  padding: 12px;
  border-radius: 8px;
  accent-color: #d41d1d;
}

.cko_option input[type="radio"] {
  margin-right: 8px;
}

.cko_qty {
  display: flex;
  align-items: center;
  gap: 10px;
}

.cko_qty input,
.cko_field input {
  padding: 12px 10.5px;
  border: 1px solid #ebecf0;
  border-radius: 6px;
  outline: none;
  box-sizing: border-box;
  font-size: 14px;
}

.cko_qty input:focus,
.cko_field input:focus {
  border-color: #737680;
}

.cko_qty input {
  width: 60px;
  text-align: center;
}

.cko_field {
  margin-bottom: 18px;
}

.cko_field label {
  display: block;
  margin-bottom: 8px;
  color: #737680;
  font-size: 14px;
  font-weight: 500;
}

.cko_field input {
  width: 100%;
}

.cko_field_notice {
  margin-top: 6px;
  color: #999;
  font-size: 12px;
  line-height: 1.5;
}

.cko_amount {
  margin: 16px 0;
  text-align: right;
  font-size: 18px;
  font-weight: 700;
}

.cko_submit {
  width: 100%;
  padding: 16px;
  border: none;
  border-radius: 8px;
  background: #d41d1d;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
}

.cko_not_found {
  padding: 100px 0;
  text-align: center;
  color: #999;
}

/* 일반 상품 결제 완료 페이지 */
.payment_info_box .cancel-fee-policy-title{
  margin-top: 16px;
}

.mp_page{
  --mp-red: #d41d1d;
  --mp-black: #000;
  --mp-white: #fff;
  --mp-bg-grey: #f8f8f8;
  --mp-line-grey: #e6e6e6;
  --mp-line-grey2: #f0f0f0;
  --mp-text-main: #1b1b1f;
  --mp-text-sub: #828282;
  min-height: 100vh;
  background: var(--mp-bg-grey);
  box-sizing: border-box;
  font-family: 'Pretendard', 'pretendard', -apple-system, BlinkMacSystemFont, sans-serif;
}

.mp_page *{
  box-sizing: border-box;
}

.mp_page .mp_nav{
  position: sticky;
  z-index: 20;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 50px;
  padding: 0 8px;
  background: var(--mp-white);
}

.mp_page .mp_nav_back{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}

.mp_page .mp_nav_back img{
  width: 32px;
  height: 32px;
}

.mp_page .mp_nav_title{
  color: var(--mp-black);
  font-size: 20px;
  font-weight: 600;
  line-height: 28px;
}

.mp_page .mp_nav_step{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  font-size: 15px;
  line-height: 20px;
}

.mp_page .mp_nav_step .mp_cur{
  color: var(--mp-black);
  font-weight: 700;
}

.mp_page .mp_nav_step .mp_sep,
.mp_page .mp_nav_step .mp_tot{
  color: #b4b4b4;
  font-weight: 400;
}

.mp_page .mp_scroll{
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px 16px 100px;
}

.mp_page .mp_card{
  overflow: hidden;
  border: 1px solid var(--mp-line-grey);
  border-radius: 2px;
  background: var(--mp-white);
}

.mp_page .mp_card_header{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  padding: 20px;
  border: 0;
  outline: 0;
  background: none;
  box-shadow: none;
  appearance: none;
  gap: 12px;
  color: inherit;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
}

.mp_page .mp_card_header_text{
  display: block;
  flex: 1;
  min-width: 0;
}

.mp_page .mp_card_header_title{
  display: block;
  color: var(--mp-black);
  font-size: 17px;
  font-weight: 700;
  line-height: 24px;
}

.mp_page .mp_card_header_sub{
  display: block;
  overflow: hidden;
  margin-top: 6px;
  color: var(--mp-text-sub);
  font-size: 12px;
  line-height: 18px;
  letter-spacing: -0.6px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mp_page .mp_card_header_sub a,
.mp_page .mp_card_header_sub span,
.mp_page .mp_card_header_sub strong{
  display: inline !important;
  color: var(--mp-text-sub);
  text-decoration: none;
  white-space: nowrap !important;
}

.mp_page .mp_card_header_sub strong{
  font-weight: 700;
}

.mp_page .mp_chevron{
  width: 13px;
  height: 7px;
  margin-top: 9px;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.mp_page .mp_card_header[aria-expanded='true'] .mp_chevron{
  transform: rotate(180deg);
}

.mp_page .mp_card_body{
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 0 20px 24px;
}

.mp_page .mp_card_body.mp_hidden{
  display: none;
}

.mp_page .mp_divider{
  height: 1px;
  margin: 0 -20px 12px;
  background: var(--mp-line-grey2);
}

.mp_page .mp_info_table{
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 10px;
}

.mp_page .mp_info_row{
  display: grid;
  align-items: start;
  grid-template-columns: 72px 1fr;
  gap: 4px 12px;
  font-size: 14px;
  line-height: 20px;
}

.mp_page .mp_info_row > span:first-child{
  color: var(--mp-text-sub);
  font-weight: 400;
  text-align: left;
  white-space: nowrap;
}

.mp_page .mp_info_row > span:last-child{
  color: var(--mp-text-main);
  font-weight: 400;
  text-align: left;
  word-break: break-all;
}

.mp_page #seatSummary{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.mp_page #seatSummary .seat-summary-line{
  display: block;
  line-height: 1.4;
  text-align: left;
}

.mp_page #seatSummary .seat-summary-grade{
  font-weight: 700;
}

.mp_page #seatSummary .seat-summary-count{
  font-weight: 400;
}

.mp_page .mp_cancel_fee_btn{
  align-self: flex-end;
  margin-top: 4px;
  padding: 8px 14px;
  border: 1px solid var(--mp-line-grey);
  border-radius: 4px;
  background: var(--mp-white);
  color: #3c63ee;
  font-family: inherit;
  font-size: 13px;
  cursor: pointer;
}

.mp_page .mp_grid_table{
  display: flex;
  flex-direction: column;
}

.mp_page .mp_grid_row{
  display: grid;
  align-items: center;
  min-height: 44px;
  padding: 12px 0;
  grid-template-columns: 96px 1fr;
}

.mp_page .cancel-fee-policy-table .mp_grid_row{
  grid-template-columns: 148px 1fr;
}


.mp_page .mp_grid_row + .mp_grid_row{
  border-top: 1px solid var(--mp-line-grey2);
}

.mp_page .mp_grid_row > span:first-child{
  color: var(--mp-text-sub);
  font-size: 14px;
  white-space: nowrap;
}

.mp_page .mp_grid_row > span:last-child{
  color: var(--mp-text-main);
  font-size: 14px;
  word-break: break-all;
}

.mp_page .mp_bottom_cta{
  position: fixed;
  z-index: 100;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 20px 16px;
  background: var(--mp-white);
  box-shadow: 0 -1px 4px rgba(0, 0, 0, 0.06);
}

.mp_page .mp_pay_btn{
  width: 100%;
  height: 48px;
  border: 0;
  border-radius: 2px;
  background: var(--mp-red);
  color: var(--mp-white);
  font-family: inherit;
  font-size: 18px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: -0.2px;
  cursor: pointer;
}

.mp_page .mp_pay_btn:disabled{
  background: #EBECF0;
  color: #5E606B;
  cursor: not-allowed;
}
