.modal-open {
    overflow:hidden;
}

.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
}
.modal-overlay.active {
    display: flex;
}
.modal-container {
    background:var(--color-textbox);
    border-radius:12px;
    width:500px;
    overflow-y: auto;
    position: relative;
    -webkit-overflow-scrolling: touch;
    padding-top:24px;
}
.modal-container * {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.modal-close {
    position: absolute;    
    top:24px;
    right:15px;
    background: none;
    border: none;
    cursor: pointer;
    color: #666;    
    line-height: 1;
    width:20px;
    height:20px;
}
.modal-close span {
    display:block;
    position:relative;
    width:100%;
    height:100%;
    background-color: var(--text-basic-color);
    forced-color-adjust: none;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center center;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center center;
    mask-size: contain;
    -webkit-mask-image:url('/design/images/icon/icon_close.svg');
    mask-image:url('/design/images/icon/icon_close.svg');
}

.modal-header {
    position: relative;
    margin-bottom:24px;
    padding-right:32px;
    padding-left:24px;
}
.modal-title {
    color:var(--text-basic-color);    
    font-weight: 700;
    font-size:32px;    
    text-align:center;
}
.modal-content {
    padding-right:24px;
    padding-left:24px;
    padding-bottom:24px;
    font-size:16px;
    color:var(--text-sub-color);
}
.modal-footer {
    padding-right:24px;
    padding-left:24px;
    padding-bottom:24px;
}
.modal-btn-area {
    display:flex;
    gap:16px;
}
.modal-btn-area .btn {
    flex:1;
}

/* 모달 크기 변형 */
.modal-large {
    max-width: 800px !important;
    width: 90% !important;
}
.modal-small {
    max-width: 400px !important;
    width: 90% !important;
}
.modal-fullscreen {
    max-width: 100% !important;
    width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    border-radius: 0 !important;
}
.modal-fullscreen .modal-content {
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.fullscreen-content {
    flex: 1;
    overflow-y: auto;
    padding: 20px 0;
}


/* 모달 스크롤 콘텐츠 */
.modal-scroll-content {
    max-height: 300px;
    overflow-y: auto;
    padding:24px;
    background: #f8f9fa;
    border-radius: 8px;
    margin-top:24px;
}
.modal-sch-box {margin-bottom:16px;}
.modal-sch-box .board-filter__form {width:100%;}
.modal-sch-box .board-filter__form .board-filter__content {max-width:100%;}
.modal-sch-box .board-filter__form .frm-input {
    height:34px;
    font-size:14px;
    line-height:34px;
}

.modal-info-icon {text-align:center;}
.modal-info-icon img {
    display:inline-block;
    width:60px;
    height:60px;
}
.modal-info-text {
    margin-top:20px;
    font-size:20px;
    font-weight:700;
    color:var(--text-basic-color);
    text-align:center;
}
.modal-frm-box {
    margin-top:20px;
    margin-bottom:20px;
}
.modal-frm-box .frm-input {
    width:100%;
    height:50px;
    line-height:50px;
}

.modal-info-btn-area {
    margin-top:20px;
    text-align:center;
}
.modal-info-btn-area .b-btn {
    min-width:120px;
}
.modal-text {
    margin-top: 14px;
    font-size: 16px;
    color:var(--text-sub-color);
    text-align:center;
}
.modal-text b {
    font-weight:700;
    text-decoration: underline;
}
.modal-complete-point {
    border: 2px solid #e33030;
    border-radius: 6px;
    text-align: center;
    margin-top: 15px;
    margin-bottom:15px;
    font-size: 16px;
    font-weight: bold;
}
.modal-complete-point b {
    position: relative;
    top: 1px;
    font-size: 20px;
    color: #e33030;
    margin-left: 8px;
}

.tag-request-box {
    width:100%;
}
.tag-request-box textarea.frm-input {
    width:100%;
    resize:none;
}