/* 모달 검은색 배경 */
.modal{display: block; position: fixed; z-index: 100; left: 0; top: 0; bottom:0; 
    max-width:100%; width:100%;  height: auto;  background-color: hsla(0,0%,0%,0.4); padding-left:16px; padding-right:16px;    z-index: 9999999;}
    .popup_m.modal{width:100vw !important; height: 100vh !important; padding: 0 !important; margin: 0 !important; display: none !important;} /* 팝업 모달은 기본적으로 숨김 */
    .modal-wrap {border-radius: 10px;position: relative; width: auto; margin:auto; height: auto;
    overflow: hidden;top:50%; transform: translateY(-50%); background-color:#fff; z-index: 101;}

/* 기본알람창 크기 */
.modal-wrap.modal-xss{max-width:400px;}
.modal-wrap.modal-xs{max-width: 520px;}
.modal-wrap.modal-smm{max-width: 600px;}
.modal-wrap.modal-sm{max-width: 760px;}
.modal-wrap.modal-md{max-width: 1024px;}
.modal-wrap.modal-lg{max-width: 1200px;}
    

    
    .modal-container{width: 100%; margin:auto; z-index:200;
    position: relative;
    /* display: -ms-flexbox; display: flex; -ms-flex-direction: column;  flex-direction: column;  pointer-events: auto; */

    outline: 0; }
    
    /* 2020-03-19 */
    /* 메인 팝업(popup_m)만 padding 0 적용 */
    .popup_m .modal-bd.bd{margin-left:0 !important; margin-right:0 !important; padding:0 !important;}
    /* 일반 모달은 padding 유지 */
    .modal:not(.popup_m) .modal-bd.bd{margin-left:0 !important; margin-right:0 !important; padding:20px !important;}
    .modal-bd.bd .modal-container-inner .txt{word-break: keep-all;text-align: center;}
    #modal_content{font-size: 20px; line-height: 24px;}
    .modal ul.btn-container > li{display: inline-block; /* width:20%; */margin-top:16px;}
    .modal ul.btn-container > li a{display: block;}
    /* .modal ul.btn-container > li i{width:100%; height:100%; } */
    .modal ul.btn-container > li .img{position:relative;display: block}
    .modal ul.btn-container > li .img img{padding:5px; transform:scale(0.9); transition: transform 0.3s;}
    .modal ul.btn-container > li .img::before{content:''; display: block; width:100%; height:100%; background-color: #f5f5f5; position:absolute; z-index: -1;border-radius: 20px;}
    .modal ul.btn-container > li .img:hover img{transform:scale(1);}
    
    .modal ul.btn-container > li:last-child{margin-right:-4px;}
    .modal ul.btn-container > li .fa{position:absolute; right:15px; top:15px;font-size:1.25rem; color:#333}

    
    .modal ul.btn-container > li .btn{min-width: 128px; font-size:0.9em; height:46px;}
    
    /* 모달 닫기 */
    .modal-close{position: absolute; right:16px; top:16px; font-size: 1.35rem; line-height:1; cursor: pointer; display: block; z-index: 102;}
    
    .modal-container .modal-out-tit{padding-bottom:16px;  font-weight:500; font-size:1.25rem;text-align: center;}
    .sear_produ .modal-container .modal-out-tit{ border-bottom: 2px solid #222;margin-bottom:20px;}
    

    .modal-container{padding:20px 20px 20px;}
    .modal-container .example .img{padding-bottom:6px;}
    .modal-container .example .text{line-height: 1.5; padding-bottom:12px;}
    .modal-container .example .text .content{word-break: break-all;white-space: normal;}


    
    .board_content{padding-bottom:24px;}
    .board_content label{display: block; padding-bottom:8px;}
    .file_update{width:100%; border:1px solid #dedede; background:#fff; height:32px; vertical-align: middle;}
    
    .modal-container input[type=button]{padding-left:16px; padding-right:16px; cursor: pointer;}
    
    .modal-container .table_btn{text-align:center; padding-top:0;}
    .modal-container .table_btn ul li{text-align:center;display:inline-block; margin:0 3px;}
    
    .guide_text{font-size:13px; padding-top:12px;}
    
    .fileBox ul{margin:0 -8px;}
    .fileBox ul li{float:left; padding:0 8px; width:65%;}
    .fileBox ul li:last-child{width:35%;}
    .fileBox {width:100%;}
    .fileBox .fileName {width:100%; height:30px;line-height:30px; border:none; background:rgba(255,255,255,0); border-bottom:1px solid #d1d1d1; vertical-align:middle}
    .fileBox .btn_file {border:1px solid #d1d1d1; border-radius: 4px; background:#fff; height:30px;font-size:0.8em;line-height:30px;text-align:center;vertical-align:middle}
    .fileBox input[type="file"] {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
    
    .modal_table{display: table; margin:0 auto;} 
    
    .modal_img_container{text-align: center;}
    .modal_img_container img{width:100%;}
    .wi_select_common {
    width: 123px;
    height: 45px;
    padding: 0 18px;
    vertical-align: middle;
    background: url(https://s3.ap-northeast-2.amazonaws.com/lbplatform/images/timing/152711839681325.png) no-repeat 87% 50%;
    background-color: #fff;
    -webkit-appearance: none;
    }
    
    
    .simple_input{ text-align: center; padding-top:12px;}
    .simple_input:first-child{padding-top:0;}
    .simple_input ul li{display:inline-block;}
    .wi_btn_common{height: 45px; background: #888889; color: #fff; padding:0 16px;}
    
    
.modal_img{max-height:100vh;}
.modal input{border:1px solid #ddd;padding:10px;border-radius: 4px;outline: none;}
.modal input#check_password{width:70%;margin:8px 0 0;margin:8px auto 0;}
.modal .input_box{text-align: center;}

/*모달버튼*/
.modal_but{display: flex;justify-content: center;}
.modal_but button{width: 100%;}
.modal_but button+button{margin-left: 10px;}
.modal .button.modal_but button{padding:12px 50px;border-radius: 4px; font-size: 1rem;   width: 100%;}

.modal .button.modal_but {margin-top: 30px;}
.no_padding .button.modal_but button{width: 50%;padding:12px 50px;}


  /* commu_qna_password_modal */
  .modal-sm.password_modal {width: 40%;    border-radius: 20px;}
.password_modal .modal-out-tit{text-align: center;}
.password_modal .txt{text-align: center;}

.password_modal .input_box{width:60%;margin:0 auto;display:flex;align-items: center;justify-content: center;margin-top:20px;}
.password_modal .input_box .password{margin-right:20px;width:20%}
.password_modal .input_box input{border:1px solid #ddd; width:80%;padding:10px;}
.password_modal .button{display: flex;margin-top:30px; width:80%;margin:30px auto 0 auto}
.password_modal .button button{width:50%; background-color: #bbb;}
.password_modal .button button:first-child{padding:10px 0; background-color: #000;color:#fff;margin-right:20px;}



  /* shop_view_next */
  .modal-sm.shop_view_next {width: 30%;    border-radius: 20px;}
.shop_view_next{text-align: center;}
.shop_view_next .button{display: flex;margin-top:30px; width:80%;margin:30px auto 0 auto}
.shop_view_next .button button{width:50%; background-color: #fff; border:1px solid #ddd;}
.shop_view_next .button button:first-child{padding:15px 0; background-color: #71bf44;color:#fff;border-color: #71bf44;}
.shop_view_next .button button:nth-child(2){margin-left:20px;}




select{outline: 0;}




  /* popup_m */
.modal.popup_m { 
    background-color: rgba(90, 88, 88, 0.5) !important; /* #5A5858, opacity 0.5 */ 
    height: 100vh !important; 
    position: fixed !important; 
    top: 0 !important; 
    left: 0 !important; 
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important; 
    max-width: 100vw !important;
    padding: 0 !important;
    margin: 0 !important;
    z-index: 9999 !important;
    display: none !important; /* 기본적으로 숨김 */
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}
/* dis-none 클래스가 있으면 확실히 숨김 */
.modal.popup_m.dis-none,
.popup_m.modal.dis-none {
    display: none !important;
}
/* show 클래스가 있고 dis-none이 없을 때만 표시 */
.modal.popup_m.show:not(.dis-none),
.popup_m.modal.show:not(.dis-none) {
    display: flex !important;
}
.modal.popup_m > div{box-shadow: none;}
.modal.popup_m .modal-wrap{
    margin: auto !important; 
    position: relative !important;
    max-width: 500px !important;
    width: auto !important;
    transform: none !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    bottom: auto !important;
    flex-shrink: 0;
    padding-top: 20px; /* X 버튼 공간 확보 (잘리지 않도록 여유 공간) */
    padding-bottom: 40px; /* 하단 체크박스 공간 확보 */
    overflow: visible; /* X 버튼이 잘리지 않도록 */
    background-color: transparent !important; /* 배경 투명 (기본 흰색 배경 제거) */
}

/* X 닫기 버튼: 팝업 정중앙 위쪽 (이미지와 별개로 배치) */
.popup_m .popup-close-top {
    position: absolute;
    top: 0; /* 팝업 위쪽에 배치 */
    left: 0;
    right: 0;
    width: 100%;
    display: flex;
    justify-content: center; /* 수평 중앙 정렬 */
    align-items: center;
    z-index: 10;
    pointer-events: none; /* 배경은 클릭 불가 */
    overflow: visible; /* 버튼이 잘리지 않도록 */
}

.popup_m .popup-close-top .close-x-button {
    width: 32px;
    height: 32px;
    background-color: transparent; /* 배경 투명 */
    color: #fff; /* 흰색 X */
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 2px solid #fff; /* 흰색 선 원 */
    font-size: 20px; /* X 크기 조정 */
    font-weight: 500;
    cursor: pointer;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    line-height: 1;
    box-shadow: none; /* 그림자 제거 */
    flex-shrink: 0;
    pointer-events: auto; /* 버튼만 클릭 가능 */
    position: relative;
    top: -16px; /* 팝업 위로 살짝 올림 */
}

/* Not opened today: 팝업 하단 중앙, 배경 투명 */
.popup_m .popup-close-bottom {
    position: absolute;
    bottom: -50px; /* 이미지와 겹치지 않도록 더 아래로 이동 */
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
    background-color: transparent !important; /* 배경 투명 강제 */
    padding: 0;
    z-index: 10;
    pointer-events: auto; /* 클릭 가능하도록 */
}

.popup_m .popup-close-bottom .d-block {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background-color: transparent !important; /* 배경 투명 강제 */
    padding: 0;
}

.popup_m .popup-close-bottom .d-block input[type="checkbox"] {
    display: none;
}

.popup_m .popup-close-bottom .d-block input[type="checkbox"] + label {
    display: inline-block;
    width: 18px;
    height: 18px;
    background: transparent;
    border: 2px solid #fff;
    cursor: pointer;
    border-radius: 0;
    flex-shrink: 0;
}

.popup_m .popup-close-bottom .d-block input[type="checkbox"]:checked + label {
    background: url(https://s3.ap-northeast-2.amazonaws.com/lbcontents/images/COMMON/160251780348104.png) no-repeat center/20px 20px;
    border: 2px solid #fff;
}

.popup_m .popup-close-bottom .checkbox_mark {
    font-size: 20px;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 500;
    color: #fff;
    line-height: 1;
}

.popup_m .modal-container{
    padding:0;
    position: relative; /* 하단 체크박스 absolute 포지셔닝을 위해 */
    background-color: transparent !important; /* 배경 투명 강제 */
}

/* modal-bd 배경 투명 */
.popup_m .modal-bd {
    background-color: transparent !important;
}

/* modal-container-inner 배경 투명 */
.popup_m .modal-container-inner {
    background-color: transparent !important;
}

.popup_m .tabSet{
	margin-bottom:0; /* 하단 여백 제거 */
    background-color: transparent !important; /* 배경 투명 */
}
.popup_m .tabSet ul.tabs{display: flex;margin-bottom:-8px;margin-top:0;}
.popup_m .tabSet ul.tabs  li{
    width:100%; padding-right:0; padding-left:0;
	}
    .popup_m .tabSet ul.tabs  li:last-child{padding-right:0;}
    .popup_m .tabSet ul.tabs li a{
			color:#888; text-align: center;
			background:#fff;padding:10px 0;
            border:1px solid #bbb; font-size:12px;display: flex;
            justify-content: center;
		}
.popup_m .tabSet ul.tabs li a.on{background:#fff; border-color:#be3434;	color:#be3434;		}
.popup_m .panels{
    background: transparent !important; /* 배경 투명 */
    /* min-height:180px; */
    margin-top:0;
    position: relative; /* 이미지 영역 */
    z-index: 1; /* X 버튼보다 낮은 z-index */
    padding-top: 20px; /* X 버튼 공간 확보 */
    padding-bottom: 0; /* 하단 패딩 제거 */
}
.popup_m .panel{
    overflow: hidden;
    font-size:14px;
    color:#4d4d4d;
    display:none;
    background-color: transparent !important; /* 배경 투명 */
}
.popup_m .panel i {
    display: block;
    height: auto; /* height:100%에서 auto로 변경 */
    background-color: transparent !important; /* 배경 투명 */
    width: 100%; /* 너비 명시 */
}
.popup_m .panel i img{
    width: 100% !important; /* 너비 명시 */
    height: auto !important; /* 높이 자동 */
    display: block !important; /* 블록 요소로 표시 */
    background-color: transparent !important; /* 배경 투명 */
    object-fit: contain; /* 이미지 비율 유지 */
}

	/* 체크박스 디자인 (피그마 스펙 반영) */
    .popup_m .d-block{
        display: flex; 
        align-items: center;
        justify-content: center;
        gap: 5px;
    }
    .popup_m .d-block input[type="checkbox"] {
        display: none;
    }
    .popup_m .d-block input[type="checkbox"] + label {
        display: inline-block; 
        width: 18px; 
        height: 18px; 
        background: rgba(255, 255, 255, 0);
        border: 2px solid #fff;
        cursor: pointer; 
        border-radius: 0;
        margin-right: 5px;
        flex-shrink: 0;
    }
    .popup_m .d-block:after {
        display: block; 
        clear: both; 
        content: "";
    }
    .popup_m .d-block input[type="checkbox"]:checked + label {
        background: url(https://s3.ap-northeast-2.amazonaws.com/lbcontents/images/COMMON/160251780348104.png) no-repeat center/18px 18px; 
        border: 2px solid #fff;
    }
    .popup_m .checkbox_mark {
        font-size: 20px;
        font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
        font-weight: 500;
        color: #fff;
        line-height: normal;
    }
    
    

/* cal_mo */
.cal_mo .modal-sm.shop_view_next{min-width: 600px;}
.cal_mo .modal-container{}
.cal_mo .input_txt{margin-top:20px;}
.cal_mo .call {width:80%;margin:5px auto 0 ;}
.cal_mo .call input{width:calc(100% - 120px);border:1px solid #ddd;padding:10px;}
.cal_mo .call button{width:120px;background-color: #000;color:#fff;padding:10px;border:none;    border-radius: 30px; margin-left: 10px;}


/* sear_produ */
.sear_produ .modal-wrap{height: 530px;;}
.sear_produ .modal-wrap .btn-container{overflow-y:scroll ;height: 390px;}
.sear_produ .btn-container li{margin-bottom:16px;margin-top:0 !important;}







/* ********************************************* *
* 1400px max
* ********************************************* */
@media (max-width:1400px){
    .modal-sm.password_modal {width: 60%;}
    .password_modal .input_box { width: 75%;}
    .password_modal .input_box .password {width: 23%;}
    .modal-sm.shop_view_next {width: 50%;}
}

/********************************************* *
* height 800px max
* ********************************************* */
@media (max-width:800px){
    .modal-sm.shop_view_next {width: 70%;}

    .cupon_modal .shopping_basket .in_body ul{display: inherit;}
    .cupon_modal .shopping_basket .table_body .how{width:100%;}
    .cupon_modal .shopping_basket .table_body .p-name{width:100%;}
    .cupon_modal .shopping_basket .table_body .but {position: absolute; right: 0; top: 50%;transform: translateY(-50%);}



}
/* ********************************************* *
* 768px max
* ********************************************* */
    @media (max-width:768px){
        .modal-sm.password_modal {width: 90%;}
        .password_modal .button button:first-child {margin-right: 10px;}
        .popup_m .tabSet ul.tabs li a {font-size: 12px;}

        .popup_m .panels {margin-top:0;}

    .modal.popup_m .modal-wrap {
        width: 90% !important;
        margin: 0 auto;
        position: relative;
        top: auto !important;
        right: auto !important;
        left: auto !important;
        transform: none !important;
    }
    
.modal.popup_m { 
    background-color: rgba(90, 88, 88, 0.5) !important; /* #5A5858, opacity 0.5 */
    width: 100vw !important;
    height: 100vh !important;
    max-width: 100vw !important;
    padding: 0 !important;
    margin: 0 !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    justify-content: center !important;
    align-items: center !important;
}
.popup_m.modal{width:100% !important; height: 100%;position:fixed; top:0; display: none !important;} /* 팝업 모달은 기본적으로 숨김 */
.modal.popup_m .modal-wrap{
    position: relative;
    margin: 0 auto;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    transform: none !important;
}
  


.cal_mo .modal-sm.shop_view_next{min-width: 100%;}

.sear_produ .btn-container li.col-xs-6 {width: 33.3%;}
.sear_produ .modal-wrap {height: 497px;}



}

    /* ********************************************* *
    * width 800px max
    * ********************************************* */
    @media (max-width:640px){

    .modal-container { padding: 20px;     }

    }
    
    

/* ********************************************* *
* 480px max
* ********************************************* */
    @media (max-width:480px){
        .password_modal .input_box { width: 100%;}
    .password_modal .input_box .password {width: 25%;}
    .password_modal .button {width: 100%;}
    .modal-sm.shop_view_next {width: 90%;}

    .modal.popup_m .modal-wrap {
        width: 90% !important;
        margin: 0 auto;
        position: relative;
        top: auto !important;
        right: auto !important;
        left: auto !important;
        transform: none !important;
    }
    
.sear_produ .btn-container li.col-xs-6 {width: 50%;}
.sear_produ .modal-wrap {height: 497px;}
.popup_m .panel { height: auto;}
    
}

/* ********************************************* *
* 350px max
* ********************************************* */
    @media (max-width:1024px){

        .modal-sm.cupon_modal {
            width: 80%;}


    }
    /* ********************************************* *
    * 500px max
    * ********************************************* */
        @media (max-width:500px){
            .cal_mo .call button{width:100px;}
            .cal_mo .call input{width: calc(100% - 100px);}
            .cal_mo .call {width: 100%;}


            .cupon_modal .shopping_basket .table_body .but {position: inherit; right: 0; top: auto;transform: none;width: 100%;}
            .cupon_modal .shopping_basket .table_body .but button {margin-top:5px;padding: 5px 0;color:#333;}
            .cupon_modal .shopping_basket .table_body .how {font-size: 0.9rem; opacity: 0.7;margin-top:2px;}
            .modal-sm.cupon_modal {border-radius: 10px;width: 90%;}
            .modal-container .modal-out-tit {font-size: 1.125em;}


            

    .modal-container { padding: 20px;         padding-top: 30px;}
    .modal-close {   right: 13px;top: 13px; font-size: 1.15rem; color: #666;}

        }

    /* ********************************************* *
    * 350px max
    * ********************************************* */
        @media (max-width:350px){
    
            .modal-container {padding: 39px 18px 32px; }
            .password_modal .input_box .password {margin-right: 10px;  width: 30%; }
            .secession .but button {padding: 10px 0; }
            .password_modal .button button:first-child { padding: 8px 0;}
            .popup_m .panel {height: auto;}
            .modal.popup_m .modal-wrap{
                margin: 0 auto;
                position: relative;
                top: auto !important;
                right: auto !important;
                left: auto !important;
                transform: none !important;
            }
        }