/* 메인 페이지 레이아웃 스타일 - PC 고정 사이즈 */

/* 전체 컨테이너 */
.main-container {
    display: block;
    width: 1280px;
    margin: 0 auto;
    background: #ffffff;
}

/* 상단 헤더 블록 (전체 폭) */
.main-header-top {
    width: 1280px;
    min-height: 360px;
    margin-bottom: 15px;
    display: block;
    box-sizing: border-box;
    padding: 0;
}

/* 헤드라인 스킨이 들어갈 때 배경 제거 */
.main-header-top .hl1-container {
    background: transparent;
}

.main-header-top .headline_area {
    background: white;
}

/* 2단 레이아웃 래퍼 */
.main-two-column {
    display: flex;
    gap: 20px;
}

/* 메인 콘텐츠 영역 (좌측) */
.main-content {
    width: 940px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

/* 사이드바 (우측 고정 320px) */
.main-sidebar {
    width: 320px;
    padding: 0;
    padding-left: 20px;
    border-left: 1px solid #d0d0d0;
    box-sizing: border-box;
}

.sidebar-content {
    width: 100%;
    box-sizing: border-box;
}

/* 공통 콘텐츠 블록 */
.content-block {
    background: #f5f5f5;
    border: 2px solid #d0d0d0;
    padding: 30px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    font-size: 14px;
    box-sizing: border-box;
}

/* 섹션 공통 스타일 */
section {
    margin-bottom: 0;
}

/* 가로 영역 섹션 - 유동적 높이 */
.section-horizontal {
    width: 100%;
    min-height: auto;
}

/* section-1은 컨텐츠에 따라 유동적으로 */
.section-1 {
    height: auto !important;
    min-height: auto !important;
}

.section-1 .content-block {
    height: auto !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}

.section-horizontal .content-block {
    height: auto;
    min-height: 150px; /* 최소 높이만 설정 */
}

/* 2열 레이아웃 섹션 - 유동적 높이 */
.section-two-col {
    display: flex;
    gap: 15px;
    min-height: 350px; /* 고정 높이 대신 최소 높이 */
}

/* 큰 블록 컬럼 */
.col-large {
    flex: 2;
    height: auto; /* 유동적 높이 */
}

.col-large .content-block {
    height: 100%;
    min-height: 350px;
}

/* section-2의 큰 블록은 topnews 전용 */
.section-2 .col-large .content-block {
    display: block !important;
    align-items: initial !important;
    justify-content: initial !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    height: auto !important;
    min-height: auto !important;
}

/* 작은 블록 컬럼 */
.col-small {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 15px;
    height: auto; /* 유동적 높이 */
}

.col-small .content-block {
    flex: 1;
    height: auto;
    min-height: 167px; /* (350-15)/2 */
}

/* 3열 레이아웃 (섹션 6) - 유동적 높이 */
.section-three-col {
    display: flex;
    gap: 15px;
    min-height: 200px; /* 고정 높이 대신 최소 높이 */
}

.section-three-col .content-block {
    flex: 1;
    height: auto;
    min-height: 200px;
}

/* 2:1 비율 레이아웃 (섹션 7) - 유동적 높이 */
.section-split {
    display: flex;
    gap: 15px;
    min-height: 200px; /* 고정 높이 대신 최소 높이 */
}

.col-two-third {
    flex: 2;
    height: auto; /* 유동적 높이 */
}

.col-one-third {
    flex: 1;
    height: auto; /* 유동적 높이 */
}

.section-split .content-block {
    height: auto;
    min-height: 200px;
}

/* PC 고정 레이아웃 - 반응형 없음 */

/* 메인 섹션 타이틀 */
.main_section_title {
    font-size: 17px;
    font-weight: 700;
    color: #000;
    margin-bottom: 15px;
    letter-spacing: -0.5px;
    line-height: 1;
}

.main_section_title a {
    color: #000;
    text-decoration: none;
}

.main_section_title a:hover {
    opacity: 0.7;
}

/* 디버그/개발용 - 섹션별 구분 */
.content-block::before,
.sidebar-content::before,
.main-header-top::before {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #999;
    text-align: center;
}