
/* ================================================================
   전체 레이아웃 컨테이너
   ================================================================ */
.ast-page-builder-template .site-content > .ast-container {
    max-width: 1200px !important;
    padding: 0 !important;
	width: 100% !important;
}
.ast-container{ max-width: 1200px !important;}
.ast-footer-copyright.ast-builder-layout-element {
    max-width: 1200px !important;
    padding: 5px 5px 5px 5px  !important;
	align : center !important;
	background-color : #ededed !important;
}
.site-below-footer-wrap[data-section="section-below-footer-builder"] .ast-builder-grid-row, .site-below-footer-wrap[data-section="section-below-footer-builder"] .site-footer-section{max-width: 1200px !important;}
/* ================================================================
   [최종 완성본] IRAG 커스텀 헤더 - PC/모바일 최적화 통합본
   ================================================================ */

/* 1. PC 및 공통 설정 */
#irag-portal-wrapper, 
div#irag-portal-wrapper,
#irag-portal-wrapper header {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 2147483647 !important;
    background: #ffffff !important;
    transform: none !important;
}

body.admin-bar #irag-portal-wrapper { top: 32px !important; }
body { padding-top: 180px !important; margin: 0 !important; }

.irag-inner {
    max-width: 1200px !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 5px !important;
}

/* 2. 레이아웃 디자인 */
.irag-top-bar { background: #f8f9fa !important; padding: 3px 0 !important; border-bottom: 1px solid #eee; }
.irag-mid-bar { padding: 25px 0 !important; }
.irag-brand-box { display: flex !important; align-items: baseline !important; gap: 30px !important; padding-left:30px; }
.irag-logo-text { list-style: none; font-size: 38px !important; font-weight: 900; color: #0092ff !important; margin: 0 !important; }
.irag-slogan { font-size: 25px !important; color: #7c00ff !important; font-weight: 600 !important; white-space: nowrap !important; }
.irag-slogan-ai { font-size: 25px !important; color: #ff0025 !important; font-weight: 500 !important; white-space: nowrap !important; }

/* 3. 검색창 디자인 (PC) */
.irag-search-box form { display: flex !important; border: 2px solid #002c5f !important; border-radius: 4px; overflow: hidden; }
.irag-search-box input { border: none !important; padding: 10px 15px; width: 250px; outline: none; }
.irag-search-box button { background: #002c5f !important; color: #fff !important; border: none; padding: 0 20px; cursor: pointer; }

/* 4. 메인 메뉴 바 */
.irag-nav-bar { background: #002c5f !important; position: relative !important; }
.irag-primary-menu { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex !important; }
.irag-primary-menu > li { position: relative !important; }

.irag-primary-menu > li > a { 
    display: block !important; 
    padding: 15px 30px !important; 
    color: #fff !important; 
    text-decoration: none !important; 
    font-size: 18px !important; 
    font-weight: 500; 
}

/* 5. PC 전용 드롭다운 및 호버 (769px 이상) */
@media screen and (min-width: 769px) {
    .irag-dropdown { 
        display: none !important; 
        position: absolute !important; 
        top: 100% !important; 
        left: 0 !important; 
        background: #ffffff !important; 
        min-width: 220px !important; 
        box-shadow: 0 10px 25px rgba(0,0,0,0.15) !important; 
        padding: 10px 0 !important; 
        z-index: 99999 !important; 
        border-top: 5px solid #00aaff !important; 
        margin: 0 !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .irag-primary-menu > li:hover .irag-dropdown { 
        display: block !important; 
    }

    .irag-dropdown li a { 
        color: #333 !important; 
        background: #ffffff !important;
        padding: 12px 25px !important;
        display: block !important;
    }

    .irag-dropdown li a:hover { 
        background: #f4f7ff !important; 
        color: #0046ff !important; 
    }
}

/* 6. 모바일 최적화 (768px 이하) */
@media screen and (max-width: 768px) {
    body { padding-top: 130px !important; }
    .irag-slogan, .irag-slogan-ai { display: none !important; }
    .irag-logo-text {font-size: 22px !important; font-weight: 900 !important; color:#ffffff !important; background-color: #ffffff !important; padding: 0px 5px 0px 5px !important; letter-spacing: -0.2px}
    .irag-mid-bar { background: #3d69e2 !important;}
	.irag-inner {margin: 0px 15px 0px 5px !important; }

    /* 모바일 돋보기 */
    .irag-search-box {margin-right: 10px !important; }
    .irag-search-box input { display: none !important; width:100px !important;}
    .irag-search-box form { border: none !important; }
    .irag-search-box button { background: transparent !important; color: #fff !important; font-size: 22px !important; padding: 0 !important; width: 30px; }
    .irag-search-box button::before { content: "\1F50D"; }
    .irag-search-box button { text-indent: -9999px; }
    .irag-search-box button::before { text-indent: 0; float: left; }
    
    /* 햄버거 버튼 */
    .irag-mobile-menu-toggle {
        display: flex !important; flex-direction: column; justify-content: space-around;
        width: 30px; height: 22px; background: transparent; border: none; padding: 0;
    }
    .irag-mobile-menu-toggle span { width: 100%; height: 3px; background: #ffffff; border-radius: 5px; }

    /* 모바일 네비게이션 바 */
    .irag-nav-bar { 
        display: none; 
        position: absolute !important; 
        top: 100% !important;
        left: 0 !important;
        width: 240px !important; 
        background: #4b87e0 !important; 
        max-height: none !important; 
        overflow: visible !important;
        border-bottom: 1px solid rgba(255,255,255,0.1); 
        padding: 0 !important;
        margin: 0 !important;
    }
    
    .irag-primary-menu { 
        flex-direction: column !important; 
        height:auto; padding: 0 !important; margin: 0 !important; 
    }
    .irag-primary-menu > li { border-bottom: 1px dotted #fff; width: 100% !important; }
    .irag-primary-menu > li > a { padding: 12px 15px !important; color: #fff !important; display: block; }

    /* 모바일 2차 메뉴(드롭다운) */
    .irag-dropdown { 
        position: static !important; 
        display: none; 
        width: 100% !important; 
        background: #f9f9f9 !important; 
        padding: 0 !important; 
        margin: 0 !important;
        list-style: none !important;
    }

    .irag-dropdown li { margin: 0 !important; padding: 0 !important; line-height: 0 !important; border: none !important; }

    .irag-dropdown li a { 
        color: #333 !important; 
        padding: 8px 10px !important; /* 모바일 전용 촘촘한 높이 */
        display: block !important; 
        line-height: 1.2 !important; 
        border-bottom: 1px solid #eee !important; 
        font-size: 16px !important; 
        text-align: left !important;
        min-height: 0 !important;
    }
	
	.ast-container {
		padding: 0px !important; margin: 0 !important;
	}
  #tahefobu-header.tahefobu-ready	 { display: none  !important;}
  #kboard-default-document .kboard-content .content-view
	 { padding: 0px !important; margin: 0 !important;
		}
}

/* 7. 불필요한 요소 제거 */
.site-header, .ast-mobile-header-wrap, #masthead, .turbo-header-template, #tahefobu-header { display: none !important; }
/* ================================================================
   KBOARD css/*
   ================================================================ */
/* KBOARD body, button, input, select, textarea 등*/
body, button, input, select, textarea, .ast-button, .ast-custom-button
 { font-size: 1.1rem !important;
  line-height: 180%; !important;
 }

 /* 본문 끝  Powered by KBoard, Edit 제거 */
.kboard-default-poweredby
 {
    display: none !important;
}
 /* kboard의 보드제목 추천,인기.최신 배경색 */
.kboard-default-widget-list .kboard-widget-button-wrap
 {
    margin: 0 !important;
    padding: 0 0px 0px 0px !important;
    border: 1px !important;
    background-color: #e1dfdf !important;
    overflow: hidden !important;
}
/* 각게시판 중 Kboard 의 글목록 제목 폰트 설정 */
#kboard-default-list .kboard-list table a {
	font-size: 1.1rem !important;
}
/* 부트스트랩 또는 테마의 그리드 시스템 충돌 해결 */
/* 푸터 내부의 col-1 클래스에 대한 강력한 재정의 */
.secondary-footer .col-1 {
    width: 100% !important; /* 전체 너비 강제 */
    max-width: 100% !important; /* 최대 너비도 전체로 강제 */
    flex: none !important; /* Flexbox의 flex-grow, flex-shrink, flex-basis 속성 제거 */
    float: none !important; /* float 속성 제거 */
    margin-left: auto !important; /* 왼쪽 마진 자동 */
    margin-right: auto !important; /* 오른쪽 마진 자동 */
    text-align: center !important; /* 내부 텍스트 가운데 정렬 */
    padding-left: 0 !important; /* 좌우 패딩 제거 (필요시) */
    padding-right: 0 !important; /* 좌우 패딩 제거 (필요시) */
}

/* 웹사이트 제목위 빈공간 */
element.style {
    display: block !important;
    height: 0 !important;
}
/* 각게시판 중 Kboard 의 구분.. 번호, 제목, 작성자, 작성일 등 바의 배경색 */
#kboard-default-latest table thead
	 {
		background-color:#e4e4e4 !important;
		font-size: 1.0rem !important;
		font-weight: 400 !important;
	}
#kboard-default-list .kboard-list thead
 {  border: 0;
    background-color: #f2f2f2 !important;
    transition-duration: 0.3s;
}
#kboard-default-list .kboard-list table tr{
	  padding-top: 0px !important;
  padding-bottom: 0px !important;
  line-height: 16px !important;
}
/* -------------------------------------------------------------------------- */
/* KBOARD HEADING TAG STYLES (H2, H3, H4) - ID 선택자로 우선순위 최대화 */
/* -------------------------------------------------------------------------- */
/* H1 스타일 정의: 본문의 제목 */
#kboard-default-document .kboard-title h1{
    padding: 10px 0px 10px 20px !important;
    border-left: 8px solid #7a5605 !important;
	background-color: #fcf7eb !important;
    font-weight: bold;
    font-size: 28px!important;
	margin: 10px 0px 10px 20px !important; 
}
/* 좋아요, 싫어요, 인쇄 정의 */
#kboard-default-document .kboard-document-action {padding: 10px 22px 10px 22px; !important;}

/* H1 스타일 정의: 본문의 카테고리별 제목 */
#kboard-document h1,
.kboard-document-wrap h1 {
    /* 폰트/굵기/색상 */
    font-size: 24px !important;             /* 조금 더 크게 */
    font-weight: 600 !important;            /* 굵게 */
    color: #2c3e50 !important;              /* 진한 다크 블루 */
	width: auto !important;
    
    /* 배경 및 강조 */
    border-left: 8px solid #3498db !important; /* 왼쪽 파란색 강조선 두께 증가 */
    background-color: #ecf0f1 !important;   /* 아주 연한 회색 배경 */
    
    /* 여백 및 모양 */
    padding: 8px 0 8px 15px !important;     /* 상하 여백과 좌측 간격 증가 */
    margin: 0px 0 0px 0 !important;       /* 위 아래 여백 증가 */
    border-radius: 4px !important;          /* 둥근 모서리 */
}

/* H2 스타일 정의: 주요 제목 */
#kboard-document h2,
.kboard-document-wrap h2 {
    /* 폰트/굵기/색상 */
    font-size: 22px !important;             /* 조금 더 크게 */
    font-weight: 600 !important;            /* 굵게 */
    color: #2c3e50 !important;              /* 진한 다크 블루 */
	width: auto !important;
    
    /* 배경 및 강조 */
    border-left: 4px solid #3498db !important; /* 왼쪽 파란색 강조선 두께 증가 */
    background-color: #edefef !important;   /* 아주 연한 회색 배경 */
    
    /* 여백 및 모양 */
    padding: 5px 15px 5px 15px !important;     /* 상하 여백과 좌측 간격 증가 */
    margin: 10px 10 5px 10 !important;       /* 위 아래 여백 증가 */
    border-radius: 4px !important;          /* 둥근 모서리 */
	display: table !important;
}

#kboard-document h3,
.kboard-document-wrap h3 {
    display: table !important;              /* 글자 크기만큼만 너비를 가짐 */
    font-size: 22px !important;
    font-weight: 600 !important;
    color: #505151 !important;
    border-bottom: 2px solid #bdc3c7 !important; /* 이제 글자 밑에만 생깁니다 */
    padding-bottom: 5px !important;
    margin: 15px 0 10px 0 !important;
}

/* H4 스타일 정의: 세부 항목 (H3보다 한 단계 작게) */
#kboard-document h4,
.kboard-document-wrap h4 {
    display: table !important;
    font-size: 20px !important;             /* H3보다 작은 폰트 크기 */
    font-weight: 500 !important;            /* 굵기는 유지하여 가독성 확보 */
    color: #2d2d2d !important;              /* 더 연한 회색 */
    border-bottom: 1px solid #bdc3c7 !important; /* 이제 글자 밑에만 생깁니다 */
    padding-bottom: 4px !important;         /* 아주 작은 아래 여백 */
    margin: 15px 0 10px 0 !important;        /* 위 아래 여백 */
}

/* 본문 컨테이너 조절 */
#kboard-default-document .kboard-content .content-view
 {
    margin: 0px 10px 0px 10px !important;
    padding: 0px 10px 0px 10px !important;
    word-break: break-all !important;
}
/* 작성자, 작성일, 날짜 컨테이너 조절 */
#kboard-default-document .kboard-detail {
    padding: 5px 5px 0px 5px !important;
	margin: 0px 0px 10px 20px !important;
	width: auto !important;
}
#kboard-default-document .kboard-detail .detail-attr {
    padding: 0px 0px 0px 0px !important;
	margin: 0px 0px 0px 0px !important;
}

/* -------------------------------------------------------------------------- */
/* ast-breadcrumbs
/* -------------------------------------------------------------------------- */
/* 테마의 (0,1,0) display: none !important 를 압도하는 명시도 설정 */
html body .ast-breadcrumbs, 
html body .ast-breadcrumbs-wrapper, 
html body .ast-breadcrumbs-inner {
    display: inline-block !important; /* block이 아닌 inline-block으로 최소 공간 차지 */
    visibility: visible !important;
    opacity: 1 !important;
    background-color: #f4f3f2 !important;
    padding: 2px 2px 2px 2px !important;
    margin: 0 !important;
    width: auto !important;
    text-align: left !important;
}

/* 내부 글자 강제 노출 */
html body .ast-breadcrumbs-inner *,
html body .trail-items li,
html body .trail-items li a span {
    color: #565656 !important; /* 선명한 회색 */
    font-size: 1.1rem !important;
    font-weight: 500 !important;
    display: inline-block !important;
    visibility: visible !important;
}

@media (min-width: 1200px) {
    .ast-plain-container.ast-no-sidebar #primary
 {
        margin-top: 10px;
        margin-bottom: 10px;
    }
}
