.visual-num{position: absolute; bottom:2rem; right: 2rem; font-size: 1rem; color: #fff; background-color: rgba(0,0,0,0.6); border-radius: 100px; padding:.4rem 1rem; }
#map-area iframe{width: 100% !important; height:100% !important; margin-bottom: 1rem;}
dt.required:after {padding-right: 4px; content: "*"; display: inline-block; color:#ef4444; }

.view-visual div.box:after {background: transparent;}

/*.like_heart_box{*/
/*    position: absolute;*/
/*    top:2.4rem;*/
/*    right:2.4rem;*/
/*}*/
/*.like_heart_box:after{*/
/*    content:"";*/
/*    display: block;*/
/*    width:2.5rem;*/
/*    height:2.5rem;*/
/*    background: #fff;*/
/*    padding:10px;*/
/*    border-radius:50%;*/
/*    position: absolute;*/
/*    top:50%;*/
/*    left:50%;*/
/*    transform: translate(-50%, -50%);*/
/*}*/
/*.like_heart_box button{*/
/*    z-index: 1;*/
/*}*/
/*.like_heart_box i{*/
/*    color: #999;*/
/*    font-size:2.5rem;*/
/*    line-height:3.0rem;*/
/*}*/
/*.like_heart_box i.like_i{*/
/*    color:#ff2c2c !important;*/
/*}*/

.image-modal {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.95);
    z-index: 9999;
}
.image-modal.open { display: flex; }

.modal-swiper {
    width: 100vw;
    height: 100vh;
}

.modal-swiper img {
    width: 100%;
    height: 100%;
    object-fit: contain; /* 비율 유지 + 짤림 방지 */
    background: #000;
}

.close-btn {
    position: absolute;
    top: env(safe-area-inset-top, 10px);
    right: 10px;
    z-index: 10000;
    font-size: 30px;
    color: #fff;
    background: none;
    border: none;
    cursor: pointer;
}

/* 배경 스크롤 잠금 */
body.modal-open {
    overflow: hidden;
}