@charset "utf-8";
/* ==========================================================================
   salt 테마 지원 스타일시트
   대부분의 디자인은 Tailwind CDN 유틸리티 클래스로 처리하며, 이 파일은
   유틸리티만으로 표현하기 어려운 아주 작은 부분만 보완합니다.
   ========================================================================== */

/* 게시글 본문(에디터로 작성한 내용)의 기본 태그 스타일 — Tailwind는 원본 태그를
   자동으로 꾸며주지 않으므로 최소한의 가독성만 보정합니다. */
#bo_v_con, .gs-desc { line-height: 1.85; }
#bo_v_con ul, .gs-desc ul { list-style: disc; padding-left: 20px; margin: 10px 0; }
#bo_v_con ol, .gs-desc ol { list-style: decimal; padding-left: 22px; margin: 10px 0; }
#bo_v_con li, .gs-desc li { margin-bottom: 4px; }
#bo_v_con a, .gs-desc a { color: #11314C; text-decoration: underline; }
#bo_v_con img, .gs-desc img { max-width: 100%; height: auto; border-radius: 12px; }

/* 목록 검색 오버레이 : Tailwind의 hidden 유틸리티로 열고 닫습니다 */
.bo_sch_bg { background: rgba(10,20,32,.45); }

/* 상세보기/댓글 더보기 팝업 그림자 (Tailwind shadow 유틸이 안 닿는 절대위치 요소) */
.more_opt { box-shadow: 0 10px 30px rgba(10,20,32,.18); }

/* ==========================================================================
   회원가입/로그인/아이디,비밀번호 찾기 등 그누보드 "코어" 페이지 보정
   이 테마는 게시판(목록/보기/글쓰기)과 메인 화면만 Tailwind 클래스로 직접
   꾸몄고, register.php 등 코어 화면은 그누보드가 만드는 원본 HTML을 그대로
   씁니다. Tailwind CDN의 reset(preflight)이 브라우저 기본 스타일까지 지워
   버려서 이 원본 HTML이 더 휑하게 보이는 문제를 아래 규칙으로 보정합니다.

   안전장치: 아래 선택자는 전부 :not([class]) 를 붙인 태그 선택자입니다.
   테마가 직접 만든 화면(게시판, 메인, 회원 화면 전체)은 모든
   table/input/select/textarea/button에 class를 지정해 두었으므로
   (실제로 전수 확인함) 이 규칙은 class가 없는, 즉 그누보드 코어가
   그대로 출력한 요소에만 적용되고 테마 자체 디자인은 절대 건드리지
   않습니다.

   주의: frm_input / btn_submit / btn_confirm 같은 그누보드 레거시
   클래스명을 직접 겨냥하는 선택자는 절대 추가하지 마세요 — 테마의
   회원 화면(skin/member/basic)이 같은 클래스명을 Tailwind 클래스와
   함께 쓰고 있어서, 그런 규칙은 의도치 않게 테마 자체 버튼/입력창
   스타일을 덮어써 버립니다 (실제로 이 문제로 버튼이 깨진 적 있음). */

table:not([class]) {
  width: 100%;
  border-collapse: collapse;
  margin: 10px 0 20px;
  font-size: 14px;
}
table:not([class]) caption { display: none; }
th:not([class]), td:not([class]) {
  border: 1px solid #e2e8f0;
  padding: 10px 12px;
  text-align: left;
  vertical-align: middle;
}
th:not([class]) {
  background: #f7fafc;
  color: #11314C;
  font-weight: 600;
  white-space: nowrap;
}

input:not([class])[type="text"], input:not([class])[type="password"],
input:not([class])[type="email"], input:not([class])[type="tel"],
input:not([class])[type="number"], input:not([class])[type="search"],
input:not([class])[type="date"], input:not([class])[type="url"],
select:not([class]), textarea:not([class]) {
  font-family: inherit;
  font-size: 15px;
  padding: 10px 12px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #fff;
  box-sizing: border-box;
}
input:not([class]):focus, select:not([class]):focus, textarea:not([class]):focus {
  outline: none;
  border-color: #11314C;
  box-shadow: 0 0 0 2px rgba(17,49,76,.15);
}

input[type="checkbox"], input[type="radio"] {
  width: 16px;
  height: 16px;
  margin-right: 6px;
  vertical-align: middle;
  accent-color: #C8973F;
}

label { cursor: pointer; }

button:not([class]),
input:not([class])[type="submit"],
input:not([class])[type="button"] {
  display: inline-block;
  padding: 10px 22px;
  border-radius: 8px;
  border: 1px solid #11314C;
  background: #11314C;
  color: #fff;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  text-decoration: none;
  transition: opacity .15s;
}
button:not([class]):hover,
input:not([class])[type="submit"]:hover {
  opacity: .9;
}

/* 캡차 줄바꿈 보정 */
#captcha { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; max-width: 100%; }
