@charset "utf-8";
/**
 * 그누 + 프리뷰 헤더 + g5-legacy 레이어 병행 시에만 로드.
 *
 * theme/head.php 구조:
 *   #wrapper > #sub_tit > #container
 *     [선택] #container_title
 *     #contentWrap > #subWrap > .rightContent > #container[style=margin-top:70px] > #subtitle ...
 *
 * 레이아웃: #subtitle 상단 여백, content #ctt/#ctt2 보조, inner 70px 제거 등.
 */

body.bsk-preview-gnuboard-hf:not(.bsk-preview-embed-main) #wrapper {
  min-width: 0 !important;
  box-sizing: border-box !important;
  /* skin/search/basic 등 #wrapper { padding-top: 20px } 보정 */
  padding-top: 0 !important;
  /* 푸터는 전폭 — 스킨 #wrapper max-width 등은 무시하고 래퍼만 전폭 */
  width: 100% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/*
 * 푸터 제외 본문 블록만 헤더 .bsk-max-w-inner(1250px)와 동일 폭으로 제한.
 * (#wrapper 직계 #sub_tit, #container — footer 는 제외)
 */
body.bsk-preview-gnuboard-hf:not(.bsk-preview-embed-main) #wrapper > #sub_tit,
body.bsk-preview-gnuboard-hf:not(.bsk-preview-embed-main) #wrapper > #container {
  max-width: 1250px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* float 검색폼(#sch_res_detail 등) 아래로 푸터가 밀리지 않게 */
body.bsk-preview-gnuboard-hf:not(.bsk-preview-embed-main) #wrapper > footer {
  clear: both;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

/*
 * theme/bskorea/skin/search/basic/style.css 등에서 전역 #hd { display:none } 로
 * 구 레이아웃용 헤더를 숨김 — 프리뷰 통합 헤더(#hd)는 반드시 표시.
 */
body.bsk-preview-gnuboard-hf:not(.bsk-preview-embed-main) #hd {
  display: block !important;
}

/* 본문 제목 블록 — 프리뷰 헤더와 본문 사이 간격 (+10px) */
body.bsk-preview-gnuboard-hf:not(.bsk-preview-embed-main) #subtitle {
  margin-top: calc(1.75rem + 10px) !important;
}

/* 본문 래퍼 하단 — 푸터·다음 블록과 간격 */
body.bsk-preview-gnuboard-hf:not(.bsk-preview-embed-main) #wrapper > #container #contentWrap,
body.bsk-preview-gnuboard-hf:not(.bsk-preview-embed-main) #contentWrap {
  padding-bottom: 2rem !important;
  box-sizing: border-box;
}

/* 내용관리(content): flex 조합에서 min-height:100% 완화 + 자식 header 절대배치 기준 */
body.bsk-preview-gnuboard-hf:not(.bsk-preview-embed-main) #wrapper > #container #ctt,
body.bsk-preview-gnuboard-hf:not(.bsk-preview-embed-main) #wrapper > #container #ctt2 {
  min-height: 0 !important;
  box-sizing: border-box;
  position: relative;
}

/* skin과 동일 목적: 레이아웃용 header 블록 시각 숨김 */
body.bsk-preview-gnuboard-hf:not(.bsk-preview-embed-main) #wrapper > #container #ctt > header,
body.bsk-preview-gnuboard-hf:not(.bsk-preview-embed-main) #wrapper > #container #ctt2 > header {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

body.bsk-preview-gnuboard-hf:not(.bsk-preview-embed-main) #wrapper > #container #ctt header h1,
body.bsk-preview-gnuboard-hf:not(.bsk-preview-embed-main) #wrapper > #container #ctt2 header h1 {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

/* 본문 #subtitle 이 있으면 테마 #sub_tit(중복 제목) 숨김 */
body.bsk-preview-gnuboard-hf:not(.bsk-preview-embed-main) #wrapper:has(> #container #subtitle) > #sub_tit {
  display: none !important;
}

/* theme 가 넣는 숨김용 #container_title + 본문 #subtitle 이 같이 있을 때 스크린리더용 블록만 남고 시각적 중복 제거 */
body.bsk-preview-gnuboard-hf:not(.bsk-preview-embed-main) #wrapper > #container:has(#contentWrap #subtitle) > #container_title {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* inner #container (구 헤더 70px 여백) — #contentWrap 은 #container_title 뒤에 올 수 있음 */
body.bsk-preview-gnuboard-hf:not(.bsk-preview-embed-main) #wrapper > #container #contentWrap #subWrap .rightContent > #container {
  margin-top: 0 !important;
}

body.bsk-preview-gnuboard-hf:not(.bsk-preview-embed-main) #wrapper > #container #subWrap .rightContent > #container {
  margin-top: 0 !important;
}

/* #wrapper 없이(비정상 마크업) #contentWrap 만 있는 경우 대비 */
body.bsk-preview-gnuboard-hf:not(.bsk-preview-embed-main) #contentWrap #subWrap .rightContent > #container {
  margin-top: 0 !important;
}

body.bsk-preview-gnuboard-hf:not(.bsk-preview-embed-main) #wrapper:not(:has(> #container #subtitle)) #sub_tit #ctn_title {
  padding-top: 1.25rem !important;
  padding-bottom: 1rem !important;
  text-align: left !important;
  font-size: 1.5rem !important;
  line-height: 1.3 !important;
}

body.bsk-preview-gnuboard-hf:not(.bsk-preview-embed-main) #wrapper:not(:has(> #container #subtitle)) #sub_tit {
  margin-bottom: 12px !important;
  background: none !important;
}

body.bsk-preview-gnuboard-hf:not(.bsk-preview-embed-main) #wrapper .top_menus_wrap,
body.bsk-preview-gnuboard-hf:not(.bsk-preview-embed-main) #wrapper .top_sub_menu_container {
  position: relative;
}

/* ---------- 프리뷰 헤더 검색: 구 default_renew / jQuery UI 와 동일 두께로 맞춤 ---------- */
#bsk-preview-chrome-root .bsk-header-search-wrap {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}

#bsk-preview-chrome-root #bsk-search-input {
  -webkit-appearance: none !important;
  appearance: none !important;
  box-sizing: border-box !important;
  width: 286px !important;
  max-width: 100% !important;
  height: 46px !important;
  margin: 0 !important;
  padding: 0 38px 0 20px !important;
  border: 1px solid var(--color-brand-navy, #003366) !important;
  border-radius: 23px !important;
  background-color: #ffffff !important;
  background-image: none !important;
  font-family: var(--font-sans, Pretendard, "Noto Sans KR", sans-serif) !important;
  font-size: 16px !important;
  line-height: 46px !important;
  color: var(--color-text, #333333) !important;
  box-shadow: none !important;
  outline: none !important;
  vertical-align: middle !important;
}

#bsk-preview-chrome-root #bsk-search-input::placeholder {
  color: var(--color-muted, #7e899b) !important;
  opacity: 0.85 !important;
}

#bsk-preview-chrome-root #bsk-search-input:focus {
  outline: none !important;
  box-shadow: 0 0 0 1px var(--color-brand-navy, #003366) !important;
  border-color: var(--color-brand-navy, #003366) !important;
}

/* 메인·구 head_search_form 보다 작게 — 비메인에서 커 보이던 영역 축소 */
#bsk-preview-chrome-root #bsk-search-btn {
  position: absolute !important;
  right: 10px !important;
  top: 50% !important;
  left: auto !important;
  transform: translateY(-50%) !important;
  width: 30px !important;
  height: 30px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 30px !important;
  max-height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 9999px !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  color: #333333 !important;
  font-family: inherit !important;
  font-size: 0 !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

#bsk-preview-chrome-root #bsk-search-btn .fa-solid {
  font-size: 0.95rem !important;
  line-height: 1 !important;
}

#bsk-preview-chrome-root #bsk-search-btn:hover {
  opacity: 0.82;
}

#bsk-preview-chrome-root #bsk-search-btn:focus,
#bsk-preview-chrome-root #bsk-search-btn:focus-visible {
  outline: 2px solid var(--color-brand-navy, #003366) !important;
  outline-offset: 1px !important;
}
