/* 전체 컨테이너 */
.section-content {
    width: 100%;
    margin: 0 auto;
    /* 배경색을 두고 싶다면
    background-color: #fafafa; 
    */
}

/* 서브 비주얼 영역 (배너) */
.sub_visual {
    width: 100%;
    height: 550px;
    background-color: #333;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    align-items: center;
    text-align: left;
    color: #fff;
    padding-top: 20px;
    position: relative;
    overflow: hidden;
}

.sub_visual .bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    margin: 0px;
}

.sub_visual .visual-title h1 {
    font-size: 65px;
    color: #fff;
    margin-bottom: 10px;
}
.sub_visual .visual-title p {
    font-size: 17px;
    color: #fff;
    opacity: 0.8;
    line-height: 1.65;
    word-break: keep-all;
}

/* 배경 이미지를 덮어주는 레이어 (반투명 효과 등) */
.sub_visual .cover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(/theme/miraei/img/sub_visual_cover.png) center bottom no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    min-width: 1200px;
    opacity: .6;
    z-index: 1;
    margin: 0px;
}

/* 내부 컨텐츠 감싸는 박스 */
.sub_visual .visual-inner {
    position: relative;
    z-index: 2; /* bg-cover 위에 표시 */
    max-width: 1200px; /* 넓이 제한 (원하는 값) */
    padding: 40px 20px; 
    margin: 0 auto;
}

.max-inner {
    max-width: 1600px;
    width: 100%;
    padding: 0 20px;
    margin: 0 auto;
    z-index: 10;
}

.sub-header {
    width: 100%;
    position: absolute;
    bottom: 55%;
    left: 0;
    z-index: 10;
}

.sub-header ul.sub-position {
    display: flex;
    flex-wrap: wrap;
}

.sub-header ul.sub-position > li.home a {
    display: flex;
}
.sub-header ul.sub-position > li.home {
    padding-left: 0;
    width: 50px;
}
.sub-header ul.sub-position > li {
    display: flex;
    position: relative;
    align-items: center;
    padding: 0 30px 10px;
    cursor: pointer;
    width: calc(50% - 25px);
    max-width: 240px;
    font-size: 17px;
    color: #fff;
}
.sub-header ul.sub-position > li::before {
    content: "";
    width: 1px;
    height: 15px;
    background-color: rgba(255, 255, 255, 0.3);
    position: absolute;
    left: 0;
}
.sub-header ul.sub-position > li::after {
    content: "";
    width: 13px;
    height: 8px;
    background: url(https://miraei.w-websoft.co.kr/theme/miraei/img/sub/arrow.png) no-repeat;
    display: block;
    position: absolute;
    right: 20px;
}

.sub-header ul.sub-position li ul.sub-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    padding: 20px 30px;
    width: 100%;
    z-index: 2;
    background-color: #000;
    display: none;
}

.sub-header ul.sub-position li ul.sub-dropdown li {
    padding: 5px 0;
}
.sub-header ul.sub-position li ul.sub-dropdown li a {
    color: #fff;
    font-size: 16px;
    display: block;
    line-height: 1.65;
    opacity: 0.8;
}

.sub-header ul.sub-position > li.home {padding-left: 0;width: 50px;}
.sub-header ul.sub-position > li.home a {display: flex;}
.sub-header ul.sub-position > li.home::after, .sub-header ul.sub-position li.home::before {display: none;}

@media (min-width: 767px) and (max-width: 1920px) {
    .sub-header {
        bottom: 45% !important;
    }
}

/* 반응형 추가 (선택 사항) */
@media (max-width: 768px) {
    .sub_visual {
        min-height: 200px;
    }
    .sub_visual .visual-title {
        font-size: 1.5rem;
    }
    .sub_visual .visual-desc {
        font-size: 0.9rem;
    }
}

.top500 {top:200px !important;}


.file-prev {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 120px;
    height: 120px;
    border: 1px solid #ddd;
    background-color: #f8f8f8;
    overflow: hidden;
}

.upload-prev {
    width: 100%;
    height: 100%;
    object-fit: cover;
    cursor: pointer;
    transition: transform 0.2s;
}

.upload-prev:hover {
    transform: scale(1.05);
}

.sub_visual .bg{
    background-size: <?php echo $page_ext['bg_size']; ?>;
    background-position: <?php echo $page_ext['bg_position']; ?>;
}

#head-edit-form .menu-select select {border: 1px solid #dadada; text-align: left;  line-height: 2.2; border-radius: 5px;}

/* 전체 라벨 스타일 */
.checkbox-label {
    font-size: 16px;
    color: #333;
    font-weight: 500;
    margin-right: 10px;
}

/* 체크박스 부모 컨테이너 */
.checkbox-wrapper {
    display: flex;
    align-items: center;
    cursor: pointer;
}

/* 실제 체크박스 스타일 */
.checkbox-wrapper input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin: 0;
    opacity: 1;
    cursor: pointer;
    position: relative;
    z-index: 2; /* 체크박스를 눌러야 반응하도록 */
}

/* 커스텀 체크박스 */
.custom-checkbox {
    width: 20px;
    height: 20px;
    border: 2px solid #c4c4c4;
    border-radius: 4px;
    background: #fff;
    display: inline-block;
    transition: all 0.3s ease;
    position: relative;
    margin-left: -22px; /* 실제 체크박스 위에 커스텀 체크박스가 겹쳐서 보이게 함 */
    z-index: 1;
}

/* 체크 시 스타일 변경 */
.checkbox-wrapper input[type="checkbox"]:checked + .custom-checkbox {
    background-color: #ff4500;
    border-color: #ff4500;
}

/* 체크 시 ✔ 아이콘 추가 */
.checkbox-wrapper input[type="checkbox"]:checked + .custom-checkbox::after {
    content: "✔";
    color: white;
    font-size: 14px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-weight: bold;
}


/* 파일 업로드 전체 컨테이너 */
.filebox-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

/* 미리보기 이미지 박스 */
.image-preview-box {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 140px;
    height: 140px;
    border: 2px solid #ddd;
    background-color: #f5f5f5;
    border-radius: 10px;
    overflow: hidden;
}

/* 미리보기 이미지 */
.image-preview {
    width: 100%;
    height: 100%;
    object-fit: cover;
    cursor: pointer;
    transition: transform 0.2s ease-in-out;
}

#head-edit-form .line label.upimg {color:#fff;}

.image-preview:hover {
    transform: scale(1.05);
}

/* 파일 버튼 컨트롤 */
.file-controls {
    display: flex;
    gap: 10px;
    align-items: center;
	flex-wrap: wrap;
}

.delete-file-btn,.select-file-btn {color:#fff !important;}
/* 파일 선택 버튼 */
.select-file-btn {
    background: #007bff;
    color: #fff;
    padding: 10px 14px;
    font-size: 14px;
    border-radius: 5px;
    cursor: pointer;
    transition: background 0.2s;
    display: inline-block;
}

.select-file-btn:hover {
    background: #0056b3;
}

/* 삭제 버튼 */
.delete-file-btn {
    background: #dc3545;
    color: white;
    border: none;
    padding: 10px 14px;
    font-size: 14px;
    border-radius: 5px;
    cursor: pointer;
    transition: background 0.2s;
}

.delete-file-btn:hover {
    background: #b52a37;
}

/* 반응형 대응 */
@media (max-width: 768px) {
    .file-controls {
        flex-direction: column;
        align-items: flex-start;
    }
    .select-file-btn, .delete-file-btn {
        width: 100%;
        text-align: center;
    }
}