/* complexbanner-goverment-refactored 컴포넌트 수정 스타일 */

/* 콘텐츠 서브 래퍼 - 마크다운 섹션 구분용 */
.conts-sub-wrap {
    gap: var(--spacer-6);
    display: flex;
    flex-flow: column;
}

/* 리스트 스타일 - _lists.scss에서 가져옴 */
.info-list > li {
    position: relative;
    padding-left: var(--spacer-3);
    color: var(--gray-70);
}

.info-list > li::before {
    position: absolute;
    top: 0;
    left: 0;
}

.info-list > li + li {
    margin-top: var(--spacer-4);
}

/* 불릿 리스트 (decimal 클래스) */
.info-list.decimal > li::before {
    content: "\2022"; /* bullet */
}

/* 대시 리스트 */
.info-list.dash > li::before {
    content: "\002D"; /* hyphen-minus */
}

/* 순서 있는 리스트 */
.info-list.ordered > li {
    padding-left: var(--spacer-6);
}

.info-list.ordered > li .num {
    position: absolute;
    top: 0;
    left: 0;
}

.info-list.ordered > li::before {
    display: none;
}

/* 중첩 리스트 */
.info-list > li > .info-list {
    margin-top: var(--spacer-3);
}

.info-list > li > .info-list > li {
    padding-left: var(--spacer-4);
}

.info-list > li > .info-list > li + li {
    margin-top: var(--spacer-2);
}

/* 3단계 중첩 */
.info-list > li > .info-list > li > .info-list {
    font-size: var(--fz-body-sm);
}

.info-list > li > .info-list > li > .info-list > li {
    padding-left: var(--spacer-3);
}

/* 테이블 스타일 - _tables.scss에서 가져옴 */
.tbl-wrap .tbl.data th,
.tbl-wrap .tbl.data td {
    padding: var(--spacer-1) var(--spacer-4);
    border-bottom: 1px solid;
    line-height: 1.5;
    vertical-align: middle;
}

.tbl-wrap .tbl.data thead th {
    height: var(--spacer-10);
    background-color: var(--secondary-5);
    border-bottom: 1px solid var(--secondary-30);
    font-size: var(--fz-body-sm);
    color: var(--gray-90);
    font-weight: 700;
    text-align: left;
}

.tbl-wrap .tbl.data tbody th,
.tbl-wrap .tbl.data tbody td {
    height: var(--spacer-14);
    padding-top: 1.3rem;
    padding-bottom: 1.4rem;
    background-color: var(--white);
    border-bottom: 1px solid var(--gray-30);
    font-size: var(--fz-body-md);
    color: var(--gray-90);
    font-weight: 400;
    text-align: left;
}

.tbl-wrap .tbl.row {
    border-top: 1px solid var(--secondary-30);
}

.tbl-wrap.scroll {
    overflow-x: auto;
    overflow-y: hidden;
}

.tbl-wrap.scroll .tbl th,
.tbl-wrap.scroll .tbl td {
    white-space: nowrap;
}

/* 기본 테이블 스타일 (tbl col data 클래스용) */
.tbl-wrap .tbl {
    width: 100%;
    border-collapse: collapse;
}

.tbl-wrap .tbl.col.data {
    width: 100%;
}

.tbl-wrap .tbl caption {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.tbl-wrap .tbl th,
.tbl-wrap .tbl td {
    padding: var(--spacer-3) var(--spacer-4);
    border-top: 1px solid var(--gray-30);
    border-bottom: 1px solid var(--gray-30);
    border-left: none;
    border-right: none;
    text-align: left;
    vertical-align: middle;
}

.tbl-wrap .tbl thead th {
    background-color: var(--gray-10);
    font-weight: 700;
    color: var(--gray-90);
    border-bottom: 1px solid var(--gray-30);
}

.tbl-wrap .tbl tbody th[scope="row"] {
    background-color: var(--gray-5);
    font-weight: 600;
    text-align: left;
}

.tbl-wrap .tbl tbody td {
    background-color: var(--white);
    color: var(--gray-70);
}

/* 테이블 상단 테두리 제거 */
.tbl-wrap .tbl thead tr:first-child th {
    border-top: none;
}

/* 테이블 하단 테두리 */
.tbl-wrap .tbl tbody tr:last-child th,
.tbl-wrap .tbl tbody tr:last-child td {
    border-bottom: 1px solid var(--gray-30);
}

/* 우측 정렬 클래스 */
.tbl-wrap .tbl .ar {
    text-align: right;
}

/* 중앙 정렬 클래스 */
.tbl-wrap .tbl .ac {
    text-align: center;
}

/* 모바일 대응 */
@media screen and (max-width: 768px) {
    .tbl-wrap.mob-scroll {
        width: 100%;
    }
    
    .tbl-wrap.mob-scroll th,
    .tbl-wrap.mob-scroll td {
        white-space: nowrap;
    }
}

/* 자세히보기 버튼 호버 효과 제거 및 텍스트 좌측 정렬 */
.btn.sm.btn-txt.ico-more {
    justify-content: start !important;
}

.btn.sm.btn-txt.ico-more:hover {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

/* p.c-btn 내부의 span 버튼도 동일하게 적용 */
.c-btn .btn.sm.btn-txt.ico-more {
    justify-content: start !important;
}

.c-btn .btn.sm.btn-txt.ico-more:hover {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

/* 좌측 메뉴 활성화 상태 스타일 */
.left-menu .lnb-list .sub-ul li a.subm.active,
.left-menu .lnb-list .li > a.subm.active {
    background-color: var(--secondary-5) !important;
    color: var(--primary-70) !important;
    font-weight: 600 !important;
}

/* 4depth 메뉴 활성화 상태 */
.left-menu .lnb-list .acco-body .sub-ul li a.subm.active {
    background-color: var(--secondary-5) !important;
    color: var(--primary-70) !important;
    font-weight: 600 !important;
}

/* Component styles removed - using original government component styles only */

/* Markdown 콘텐츠 스타일 */
.markdown-content {
    line-height: 1.8;
    color: var(--gray-70);
    font-size: var(--fz-body-md);
}

/* 제목 스타일 */
.markdown-content .sec-tit {
    color: var(--gray-90);
    font-weight: 700;
    line-height: 1.4;
    margin-top: var(--spacer-8);
    margin-bottom: var(--spacer-4);
}

.markdown-content h1.sec-tit {
    font-size: 2.8rem;
    margin-top: var(--spacer-14);
    margin-bottom: var(--spacer-5);
    padding-bottom: var(--spacer-2);
    border-bottom: 2px solid var(--gray-30);
}

.markdown-content h2.sec-tit {
    font-size: 2.2rem;
    margin-top: var(--spacer-14);
    margin-bottom: var(--spacer-4);
}

.markdown-content h3.sec-tit {
    font-size: 1.8rem;
    margin-top: var(--spacer-12);
    margin-bottom: var(--spacer-3);
}

.markdown-content h4.sec-tit {
    font-size: 1.6rem;
    margin-top: var(--spacer-10);
    margin-bottom: var(--spacer-3);
}

.markdown-content h5.sec-tit,
.markdown-content h6.sec-tit {
    font-size: 1.4rem;
    margin-top: var(--spacer-6);
    margin-bottom: var(--spacer-2);
}

/* 첫 번째 제목은 상단 여백 제거 */
.markdown-content > *:first-child.sec-tit {
    margin-top: 0;
}

/* 문단 스타일 */
.markdown-content p.conts-desc {
    color: var(--gray-70);
    font-size: var(--fz-body-md);
    line-height: 1.8;
    margin-bottom: var(--spacer-4);
}

.markdown-content p.conts-desc:last-child {
    margin-bottom: 0;
}

/* 연속된 문단 사이 간격 */
.markdown-content p.conts-desc + p.conts-desc {
    margin-top: var(--spacer-4);
}

/* 제목 다음 문단은 간격 줄이기 */
.markdown-content .sec-tit + p.conts-desc {
    margin-top: 0;
}

/* 리스트 스타일 - info-list 사용 */
.markdown-content ul.info-list {
    margin: 0;
    padding-left: 0;
}

.markdown-content ul.info-list li {
    line-height: 1.8;
    color: var(--gray-70);
}

/* 순서 있는 리스트 - info-list ordered 사용 */
.markdown-content ol.info-list.ordered {
    margin: var(--spacer-4) 0;
    padding-left: 0;
    counter-reset: item;
}

.markdown-content ol.info-list.ordered li {
    line-height: 1.8;
    color: var(--gray-70);
    counter-increment: item;
}

.markdown-content ol.info-list.ordered li::before {
    content: counter(item) ".";
    margin-right: var(--spacer-2);
    font-weight: 600;
}

/* 블록쿼트 스타일 */
.markdown-content blockquote {
    margin: var(--spacer-4) 0;
    padding: var(--spacer-3) var(--spacer-4);
    background-color: var(--gray-5);
    border-left: 4px solid var(--primary-50);
    color: var(--gray-80);
    font-style: italic;
}

/* 코드 블록 스타일 */
.markdown-content pre {
    margin: var(--spacer-4) 0;
    padding: var(--spacer-4);
    background-color: var(--gray-10);
    border: 1px solid var(--gray-30);
    border-radius: var(--radius-sm);
    overflow-x: auto;
}

.markdown-content pre code {
    display: block;
    font-family: 'Courier New', monospace;
    font-size: var(--fz-body-sm);
    line-height: 1.6;
    color: var(--gray-90);
}

/* 인라인 코드 스타일 */
.markdown-content code {
    padding: 2px 6px;
    background-color: var(--gray-10);
    border: 1px solid var(--gray-20);
    border-radius: 3px;
    font-family: 'Courier New', monospace;
    font-size: 0.9em;
    color: var(--primary-70);
}

.markdown-content pre code {
    padding: 0;
    background-color: transparent;
    border: none;
    color: var(--gray-90);
}

/* 수평선 스타일 */
.markdown-content hr {
    margin: var(--spacer-6) 0;
    border: none;
    border-top: 1px solid var(--gray-30);
}

/* 테이블 여백 */
.markdown-content .tbl-wrap {
    margin-top: var(--spacer-5);
    margin-bottom: var(--spacer-8);
}

/* 헬퍼 박스 여백 */
.markdown-content .helper-box {
    margin: var(--spacer-5) 0;
}

/* 링크 스타일 */
.markdown-content a {
    color: var(--primary-60);
    text-decoration: underline;
    transition: color 0.2s;
}

.markdown-content a:hover {
    color: var(--primary-80);
    text-decoration: none;
}

/* 강조 스타일 */
.markdown-content strong {
    font-weight: 700;
    color: var(--gray-90);
}

.markdown-content em {
    font-style: italic;
}

/* 섹션 간 간격 */
.markdown-content > * + * {
    margin-top: var(--spacer-3);
}

.markdown-content > .sec-tit + * {
    margin-top: var(--spacer-2);
}

.markdown-content > .tbl-wrap + *,
.markdown-content > .helper-box + *,
.markdown-content > pre + *,
.markdown-content > blockquote + * {
    margin-top: var(--spacer-5);
}

/* 모바일 좌우 패딩 */
@media screen and (max-width: 768px) {
    .conts-head,
    .conts-body {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}
