/* 상위 레이아웃 및 폰트 설정 */
.info-mes1 {
    display: block !important;
    max-width: 1000px !important;
    margin: 0 auto !important;
    padding: 40px 40px !important;
    background-color: #ffffff !important;
    color: #000000 !important;
    font-family: Pretendard, sans-serif !important;
    font-size: medium !important;
    font-style: normal !important;
    font-weight: 400 !important;
    letter-spacing: -0.5px !important;
    text-align: left !important;
    box-sizing: border-box !important;
}

/* 1단계: 최상단 메인 타이틀 영역 (새로운 가이드 서식 통일) */
.info-mes1 .page-header {
    margin-bottom: 40px !important;
    padding-bottom: 20px !important;
    position: relative !important;
    display: block !important;
}

/* 하단에 생기는 60px 짜리 검은색 두꺼운 바 */
.info-mes1 .page-header::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 60px !important;
    height: 4px !important;
    background-color: #111111 !important;
}

/* 메인 타이틀 폰트 스타일 (46px, 두께 800) */
.info-mes1 .page-title {
    font-size: 46px !important;
    font-weight: 800 !important;
    color: #111111 !important;
    line-height: 1.1 !important;
    letter-spacing: -1.5px !important;
    margin: 0 !important;
}

/* 미디어 쿼리 - 1024px 이하 모바일/태블릿 통합 대응 */
@media (max-width: 1024px) {
    .info-mes1 .page-title {
        font-size: 32px !important; /* 모바일에서는 32px로 자연스럽게 축소 */
    }
}

/* 분류 블록 간격 */
.info-mes1 .program-section {
    margin-bottom: 70px !important;
}

/* 2단계: 분류별 소제목 서식 (학점취득 / Future Insight 기존 크기 유지 및 확실한 볼드) */
.info-mes1 .section-title {
    margin: 0px !important;
    padding: 0px 0px 15px 0px !important;
    font-size: 24px !important;
    font-weight: 700 !important; /* 확실한 볼드 */
    color: #000000 !important;
    letter-spacing: -0.5px !important;
}

/* 라인 박스 상단 검은 선 */
.cont_line_box {
    box-sizing: border-box !important;
    margin: 0px !important;
    padding: 0px !important;
    border-top: 3px solid #000000 !important;
    word-break: keep-all !important;
}

/* 개별 리스트 블록 (Flex Layout) */
.info-mes1 .box {
    box-sizing: border-box !important;
    margin: 0px !important;
    padding: 40px 0px !important;
    border-bottom: 1px solid #e0e0e0 !important;
    word-break: keep-all !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    background-color: #ffffff !important;
}

/* 이미지 랩 설정 */
.info-mes1 .img_wrap {
    box-sizing: border-box !important;
    margin: 0px 50px 0px 0px !important;
    padding: 0px !important;
    border: 0px !important;
    word-break: keep-all !important;
    overflow: hidden !important;
    width: calc(34% - 22px) !important;
    height: 340px !important;
    border-radius: 20px !important;
}
.info-mes1 .img_wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* 텍스트 컨테이너 */
.info-mes1 .text_wrap {
    box-sizing: border-box !important;
    margin: 0px !important;
    padding: 0px !important;
    border: 0px !important;
    word-break: keep-all !important;
    width: calc(66% - 28px) !important;
}

/* 3단계: 개별 프로그램명 타이틀 (기존 서식 완벽 복원) */
.info-mes1 .h5_title {
    box-sizing: border-box !important;
    margin: 0px !important;
    padding: 0px 0px 22px !important;
    border: 0px !important;
    font-family: Pretendard, sans-serif !important;
    font-weight: 700 !important; /* 볼드 유지 */
    letter-spacing: -0.5px !important;
    font-size: 24px !important; /* 기존 크기 유지 */
    line-height: 32px !important;
    color: #000000 !important;
    word-break: keep-all !important;
    max-width: 100% !important;
}

/* 한 줄 요약 문단 서식 */
.info-mes1 .con-p {
    box-sizing: border-box !important;
    margin: 0px 0px 15px 0px !important;
    padding: 0px !important;
    border: 0px !important;
    word-break: keep-all !important;
    font-size: 16px !important;
    font-weight: 400 !important; /* 일반 본문 강도 */
    letter-spacing: -0.4px !important;
    line-height: 26px !important;
    color: #666666 !important;
}

/* 리스트 스타일 */
.info-mes1 .text_wrap ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.info-mes1 .text_wrap ul li {
    box-sizing: border-box !important;
    margin: 6px 0px 0px !important;
    padding: 0px !important;
    border: 0px !important;
    word-break: keep-all !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 26px !important;
    display: flex !important;
    align-items: flex-start !important;
}

/* 리스트 좌측 항목명 (참여 자격 등) */
.info-mes1 .text_wrap .tit {
    box-sizing: border-box !important;
    margin: 0px !important;
    padding: 0px !important;
    border: 0px !important;
    word-break: keep-all !important;
    width: 95px !important;
    min-width: 95px !important;
    font-weight: 600 !important; /* 중간 볼드 */
    color: #000000 !important;
    font-size: 18px !important;
    display: inline-block !important;
}

/* 리스트 우측 세부 내용 */
.info-mes1 .text_wrap .con {
    box-sizing: border-box !important;
    margin: 0px !important;
    padding: 0px !important;
    border: 0px !important;
    word-break: keep-all !important;
    flex: 1 1 0% !important;
    text-indent: 0px !important;
    font-weight: 400 !important;
    color: #555555 !important;
}

/* 핑크색 안내 문구 */
.info-mes1 .mark-p {
    box-sizing: border-box !important;
    margin: 15px 0px 0px 95px !important;
    padding: 0px !important;
    border: 0px !important;
    word-break: keep-all !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    color: #c8005f !important;
    line-height: 25px !important;
}
.info-mes1 .mark-p a {
    color: #c8005f !important;
    text-decoration: underline !important;
    font-weight: 700 !important;
}